├── .gitignore ├── LICENSE ├── MComponents.ExampleApp ├── Components │ ├── App.razor │ ├── Routes.razor │ └── _Imports.razor ├── Data │ ├── GridDataAdapter.cs │ ├── QueryExpressionVisitor.cs │ ├── WeatherForecast.cs │ ├── WeatherForecastService.cs │ ├── WeatherForecastType.cs │ └── WeatherStation.cs ├── MComponents.ExampleApp.csproj ├── Pages │ ├── Counter.razor │ ├── Error.razor │ ├── FetchData.razor │ ├── FetchDataDataAdapter.razor │ ├── FileUpload.razor │ ├── Index.razor │ ├── InputTest.razor │ └── QueryBuilder.razor ├── Program.cs ├── Service │ ├── FileUploadService.cs │ └── UploadedFile.cs ├── Shared │ ├── MainLayout.razor │ └── NavMenu.razor ├── _Imports.razor ├── appsettings.Development.json ├── appsettings.json └── wwwroot │ ├── css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ │ ├── css │ │ │ └── open-iconic-bootstrap.min.css │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.svg │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ └── site.css │ └── favicon.ico ├── MComponents.Shared ├── Attributes │ ├── DateAttribute.cs │ ├── DateTimeAttribute.cs │ ├── FirstCharUpperAttribute.cs │ ├── FirstCharUpperTrim.cs │ ├── HiddenAttribute.cs │ ├── MInputCheckbox.cs │ ├── MInputSwitchAttribute.cs │ ├── PasswordAttribute.cs │ ├── ReadOnlyAttribute.cs │ ├── ReplaceWhitespacesAttribute.cs │ ├── RestrictValuesAttribute.cs │ ├── RowAttribute.cs │ ├── TextAreaAttribute.cs │ ├── TimeAttribute.cs │ ├── TrimAttribute.cs │ └── UtcInternalDisplayUserTimezone.cs ├── Localization │ └── LocalizedStringAttribute.cs └── MComponents.Shared.csproj ├── MComponents.sln ├── MComponents ├── BoundingBox.cs ├── DataAdapter │ └── CreateIfNeededDataAdapter.cs ├── EnumExtensions.cs ├── ExportData │ ├── ExcelExportHelper.cs │ ├── ExcelHelper.cs │ ├── ExcelImportHelper.cs │ └── SharedStringTableWrapper.cs ├── Extensions.cs ├── FileUtil.cs ├── Files │ ├── FileComplexPropertyField.cs │ ├── FileHelper.cs │ ├── IFile.cs │ ├── IFileUploadService.cs │ ├── MFileList.razor │ ├── MFileThumbnail.razor │ ├── MInputFile.razor │ ├── MInputFileSimple.razor │ └── ProgressableStreamContent.cs ├── Helper │ ├── FilterBuilder.cs │ └── SorterBuilder.cs ├── ICancelableEvent.cs ├── IIdentifyable.cs ├── JsInterop │ └── PositionInfo.cs ├── LocalizationHelper.cs ├── MAccordion │ ├── MAccordion.cs │ └── MAccordionCard.cs ├── MBadge │ └── MBadge.razor ├── MCards │ └── MCards.razor ├── MComponents.csproj ├── MComponentsRoot.razor ├── MForm │ ├── EventArgs │ │ ├── MFormContainerAfterAllFormsSubmittedArgs.cs │ │ ├── MFormContainerContextSubmitArgs.cs │ │ ├── MFormSubmitArgs.cs │ │ └── MFormValueChangedArgs.cs │ ├── IMComplexField.cs │ ├── IMField.cs │ ├── IMFieldGenerator.cs │ ├── IMForm.cs │ ├── IMPropertyField.cs │ ├── InputElements │ │ ├── InputDateTime.cs │ │ ├── InputGuid.cs │ │ ├── InputNumberOnInput.razor │ │ ├── InputTextOnInput.razor │ │ ├── InputTime.cs │ │ ├── InputType.cs │ │ ├── MInputCheckbox.cs │ │ └── MInputSwitch.cs │ ├── MComplexPropertyField.cs │ ├── MComplexPropertyFieldContext.cs │ ├── MField.cs │ ├── MFieldComponent.cs │ ├── MFieldEmpty.cs │ ├── MFieldGenerator.cs │ ├── MFieldGeneratorContext.cs │ ├── MFieldRow.cs │ ├── MForm.cs │ ├── MFormContainer.cs │ ├── MFormContainerContext.cs │ └── MFormGridContext.cs ├── MGrid │ ├── Enums │ │ ├── MGridAction.cs │ │ ├── MGridInitialState.cs │ │ └── ToolbarItem.cs │ ├── EventArgs │ │ ├── AfterAddArgs.cs │ │ ├── AfterDeleteArgs.cs │ │ ├── AfterEditArgs.cs │ │ ├── BeginAddArgs.cs │ │ ├── BeginDeleteArgs.cs │ │ ├── BeginEditArgs.cs │ │ ├── BeginRowSelectArgs.cs │ │ └── RowEventArgs.cs │ ├── GridState │ │ ├── MGridFilterState.cs │ │ ├── MGridSorterState.cs │ │ ├── MGridState.cs │ │ └── MGridStateService.cs │ ├── IMGrid.cs │ ├── IMGridColumn.cs │ ├── IMGridColumnGenerator.cs │ ├── IMGridComplexEditableColumn.cs │ ├── IMGridComplexExport.cs │ ├── IMGridCustomComparer.cs │ ├── IMGridDataAdapter.cs │ ├── IMGridEditFieldGenerator.cs │ ├── IMGridObjectFormatter.cs │ ├── IMGridPropertyColumn.cs │ ├── IMGridSortableColumn.cs │ ├── IMRegister.cs │ ├── MGrid.cs │ ├── MGridActionColumn.cs │ ├── MGridColumn.cs │ ├── MGridColumns.cs │ ├── MGridComplexColumn.cs │ ├── MGridComplexPropertyColumn.cs │ ├── MGridDefaultObjectFormatter.cs │ ├── MGridEvents.cs │ ├── MGridGroupByAnonymousTypeHelper.cs │ ├── MGridGroupByColumn.cs │ ├── MGridGroupByHelper.cs │ ├── MGridGroupByHelperKeyInfo.cs │ ├── MGridGrouping.cs │ ├── MGridPager.cs │ ├── MPager.razor │ ├── MSortDirection.cs │ └── Settings │ │ ├── IMGridFormatterFactoryProvider.cs │ │ └── MGridSettings.cs ├── MLoading │ └── MSpinner.razor ├── MPaint │ └── MPaint.razor ├── MPopup │ └── MPopup.razor ├── MProgressbar │ └── MProgressbar.razor ├── MQueryBuilder │ ├── IMComplexQueryBuilderField.cs │ ├── IMQueryBuilder.cs │ ├── IMQueryBuilderField.cs │ ├── MInputValue.cs │ ├── MQueryBuilder.razor │ ├── MQueryBuilderComplexField.razor │ ├── MQueryBuilderCondition.cs │ ├── MQueryBuilderConditionOperator.cs │ ├── MQueryBuilderConditionRow.razor │ ├── MQueryBuilderField.razor │ ├── MQueryBuilderFormTemplateContext.cs │ ├── MQueryBuilderGroup.razor │ ├── MQueryBuilderHelper.cs │ ├── MQueryBuilderRuleGroup.cs │ └── MQueryBuilderRuleGroupOperator.cs ├── MScrollAnchor │ └── MScrollAnchor.razor ├── MSelect │ ├── EventArgs │ │ └── SelectionChangedArgs.cs │ ├── IMSelect.cs │ ├── MSelect.cs │ ├── MSelectOption.cs │ └── MSelectOptions.cs ├── MSeparator │ └── MSeparator.razor ├── MToaster │ ├── CommonToastOptions.cs │ ├── Defaults.cs │ ├── IToaster.cs │ ├── State.cs │ ├── Toast.cs │ ├── ToastContainer.razor │ ├── ToastContainer.razor.cs │ ├── ToastElement.razor │ ├── ToastElement.razor.cs │ ├── ToastIconClasses.cs │ ├── ToastOptions.cs │ ├── ToastState.cs │ ├── ToastType.cs │ ├── Toaster.cs │ └── ToasterConfiguration.cs ├── MTooltip │ ├── MTooltip.razor │ ├── TooltipContainer.razor │ └── TooltipReference.cs ├── MWizard │ ├── EventArgs │ │ ├── StepChangedArgs.cs │ │ └── SubmitEventArgs.cs │ ├── IMWizard.cs │ ├── MWizard.razor │ ├── MWizard.razor.cs │ ├── MWizardFinishButton.razor │ ├── MWizardNextButton.razor │ ├── MWizardPrevButton.razor │ ├── MWizardStep.cs │ └── MWizardStepContext.cs ├── Navigation.cs ├── Notifications │ ├── IMNotificationService.cs │ ├── Notification.cs │ └── Notificator.cs ├── PropertyInfo │ ├── FakePropertyInfo.cs │ ├── IMPropertyInfo.cs │ ├── IMPropertyInfoExtensions.cs │ ├── MEmptyPropertyInfo.cs │ ├── MPropertyExpandoInfo.cs │ └── MPropertyInfo.cs ├── ReflectionHelper.cs ├── RenderHelper.cs ├── RenderHelperInputLocalized.cs ├── Resources │ ├── MComponentsLocalization.Designer.cs │ ├── MComponentsLocalization.de.resx │ ├── MComponentsLocalization.fr.resx │ └── MComponentsLocalization.resx ├── Services │ ├── DefaultTimezoneService.cs │ ├── ITimezoneService.cs │ ├── MComponentSettings.cs │ ├── MLocalStorageService.cs │ └── TooltipService.cs ├── StringLocalizer.cs ├── Tabs │ ├── MTab.cs │ └── MTabs.razor ├── UserMessageException.cs ├── _Imports.razor ├── compilerconfig.json ├── compilerconfig.json.defaults └── wwwroot │ ├── css │ ├── flags.scss │ ├── fontawesome.css │ ├── mcomponents-black.css │ ├── mcomponents-black.min.css │ ├── mcomponents-black.scss │ ├── mcomponents-dark.css │ ├── mcomponents-dark.min.css │ ├── mcomponents-dark.scss │ ├── mcomponents-green.css │ ├── mcomponents-green.min.css │ ├── mcomponents-green.scss │ ├── mcomponents-main.scss │ ├── mcomponents.css │ ├── mcomponents.min.css │ └── mcomponents.scss │ ├── images │ ├── flags │ │ ├── 1x1 │ │ │ ├── ac.svg │ │ │ ├── ad.svg │ │ │ ├── ae.svg │ │ │ ├── af.svg │ │ │ ├── ag.svg │ │ │ ├── ai.svg │ │ │ ├── al.svg │ │ │ ├── am.svg │ │ │ ├── ao.svg │ │ │ ├── aq.svg │ │ │ ├── ar.svg │ │ │ ├── as.svg │ │ │ ├── at.svg │ │ │ ├── au.svg │ │ │ ├── aw.svg │ │ │ ├── ax.svg │ │ │ ├── az.svg │ │ │ ├── ba.svg │ │ │ ├── bb.svg │ │ │ ├── bd.svg │ │ │ ├── be.svg │ │ │ ├── bf.svg │ │ │ ├── bg.svg │ │ │ ├── bh.svg │ │ │ ├── bi.svg │ │ │ ├── bj.svg │ │ │ ├── bl.svg │ │ │ ├── bm.svg │ │ │ ├── bn.svg │ │ │ ├── bo.svg │ │ │ ├── bq.svg │ │ │ ├── br.svg │ │ │ ├── bs.svg │ │ │ ├── bt.svg │ │ │ ├── bv.svg │ │ │ ├── bw.svg │ │ │ ├── by.svg │ │ │ ├── bz.svg │ │ │ ├── ca.svg │ │ │ ├── cc.svg │ │ │ ├── cd.svg │ │ │ ├── cefta.svg │ │ │ ├── cf.svg │ │ │ ├── cg.svg │ │ │ ├── ch.svg │ │ │ ├── ci.svg │ │ │ ├── ck.svg │ │ │ ├── cl.svg │ │ │ ├── cm.svg │ │ │ ├── cn.svg │ │ │ ├── co.svg │ │ │ ├── cp.svg │ │ │ ├── cr.svg │ │ │ ├── cu.svg │ │ │ ├── cv.svg │ │ │ ├── cw.svg │ │ │ ├── cx.svg │ │ │ ├── cy.svg │ │ │ ├── cz.svg │ │ │ ├── de.svg │ │ │ ├── dg.svg │ │ │ ├── dj.svg │ │ │ ├── dk.svg │ │ │ ├── dm.svg │ │ │ ├── do.svg │ │ │ ├── dz.svg │ │ │ ├── ea.svg │ │ │ ├── ec.svg │ │ │ ├── ee.svg │ │ │ ├── eg.svg │ │ │ ├── eh.svg │ │ │ ├── er.svg │ │ │ ├── es-ct.svg │ │ │ ├── es-ga.svg │ │ │ ├── es-pv.svg │ │ │ ├── es.svg │ │ │ ├── et.svg │ │ │ ├── eu.svg │ │ │ ├── fi.svg │ │ │ ├── fj.svg │ │ │ ├── fk.svg │ │ │ ├── fm.svg │ │ │ ├── fo.svg │ │ │ ├── fr.svg │ │ │ ├── ga.svg │ │ │ ├── gb-eng.svg │ │ │ ├── gb-nir.svg │ │ │ ├── gb-sct.svg │ │ │ ├── gb-wls.svg │ │ │ ├── gb.svg │ │ │ ├── gd.svg │ │ │ ├── ge.svg │ │ │ ├── gf.svg │ │ │ ├── gg.svg │ │ │ ├── gh.svg │ │ │ ├── gi.svg │ │ │ ├── gl.svg │ │ │ ├── gm.svg │ │ │ ├── gn.svg │ │ │ ├── gp.svg │ │ │ ├── gq.svg │ │ │ ├── gr.svg │ │ │ ├── gs.svg │ │ │ ├── gt.svg │ │ │ ├── gu.svg │ │ │ ├── gw.svg │ │ │ ├── gy.svg │ │ │ ├── hk.svg │ │ │ ├── hm.svg │ │ │ ├── hn.svg │ │ │ ├── hr.svg │ │ │ ├── ht.svg │ │ │ ├── hu.svg │ │ │ ├── ic.svg │ │ │ ├── id.svg │ │ │ ├── ie.svg │ │ │ ├── il.svg │ │ │ ├── im.svg │ │ │ ├── in.svg │ │ │ ├── io.svg │ │ │ ├── iq.svg │ │ │ ├── ir.svg │ │ │ ├── is.svg │ │ │ ├── it.svg │ │ │ ├── je.svg │ │ │ ├── jm.svg │ │ │ ├── jo.svg │ │ │ ├── jp.svg │ │ │ ├── ke.svg │ │ │ ├── kg.svg │ │ │ ├── kh.svg │ │ │ ├── ki.svg │ │ │ ├── km.svg │ │ │ ├── kn.svg │ │ │ ├── kp.svg │ │ │ ├── kr.svg │ │ │ ├── kw.svg │ │ │ ├── ky.svg │ │ │ ├── kz.svg │ │ │ ├── la.svg │ │ │ ├── lb.svg │ │ │ ├── lc.svg │ │ │ ├── li.svg │ │ │ ├── lk.svg │ │ │ ├── lr.svg │ │ │ ├── ls.svg │ │ │ ├── lt.svg │ │ │ ├── lu.svg │ │ │ ├── lv.svg │ │ │ ├── ly.svg │ │ │ ├── ma.svg │ │ │ ├── mc.svg │ │ │ ├── md.svg │ │ │ ├── me.svg │ │ │ ├── mf.svg │ │ │ ├── mg.svg │ │ │ ├── mh.svg │ │ │ ├── mk.svg │ │ │ ├── ml.svg │ │ │ ├── mm.svg │ │ │ ├── mn.svg │ │ │ ├── mo.svg │ │ │ ├── mp.svg │ │ │ ├── mq.svg │ │ │ ├── mr.svg │ │ │ ├── ms.svg │ │ │ ├── mt.svg │ │ │ ├── mu.svg │ │ │ ├── mv.svg │ │ │ ├── mw.svg │ │ │ ├── mx.svg │ │ │ ├── my.svg │ │ │ ├── mz.svg │ │ │ ├── na.svg │ │ │ ├── nc.svg │ │ │ ├── ne.svg │ │ │ ├── nf.svg │ │ │ ├── ng.svg │ │ │ ├── ni.svg │ │ │ ├── nl.svg │ │ │ ├── no.svg │ │ │ ├── np.svg │ │ │ ├── nr.svg │ │ │ ├── nu.svg │ │ │ ├── nz.svg │ │ │ ├── om.svg │ │ │ ├── pa.svg │ │ │ ├── pe.svg │ │ │ ├── pf.svg │ │ │ ├── pg.svg │ │ │ ├── ph.svg │ │ │ ├── pk.svg │ │ │ ├── pl.svg │ │ │ ├── pm.svg │ │ │ ├── pn.svg │ │ │ ├── pr.svg │ │ │ ├── ps.svg │ │ │ ├── pt.svg │ │ │ ├── pw.svg │ │ │ ├── py.svg │ │ │ ├── qa.svg │ │ │ ├── re.svg │ │ │ ├── ro.svg │ │ │ ├── rs.svg │ │ │ ├── ru.svg │ │ │ ├── rw.svg │ │ │ ├── sa.svg │ │ │ ├── sb.svg │ │ │ ├── sc.svg │ │ │ ├── sd.svg │ │ │ ├── se.svg │ │ │ ├── sg.svg │ │ │ ├── sh.svg │ │ │ ├── si.svg │ │ │ ├── sj.svg │ │ │ ├── sk.svg │ │ │ ├── sl.svg │ │ │ ├── sm.svg │ │ │ ├── sn.svg │ │ │ ├── so.svg │ │ │ ├── sr.svg │ │ │ ├── ss.svg │ │ │ ├── st.svg │ │ │ ├── sv.svg │ │ │ ├── sx.svg │ │ │ ├── sy.svg │ │ │ ├── sz.svg │ │ │ ├── ta.svg │ │ │ ├── tc.svg │ │ │ ├── td.svg │ │ │ ├── tf.svg │ │ │ ├── tg.svg │ │ │ ├── th.svg │ │ │ ├── tj.svg │ │ │ ├── tk.svg │ │ │ ├── tl.svg │ │ │ ├── tm.svg │ │ │ ├── tn.svg │ │ │ ├── to.svg │ │ │ ├── tr.svg │ │ │ ├── tt.svg │ │ │ ├── tv.svg │ │ │ ├── tw.svg │ │ │ ├── tz.svg │ │ │ ├── ua.svg │ │ │ ├── ug.svg │ │ │ ├── um.svg │ │ │ ├── un.svg │ │ │ ├── us.svg │ │ │ ├── uy.svg │ │ │ ├── uz.svg │ │ │ ├── va.svg │ │ │ ├── vc.svg │ │ │ ├── ve.svg │ │ │ ├── vg.svg │ │ │ ├── vi.svg │ │ │ ├── vn.svg │ │ │ ├── vu.svg │ │ │ ├── wf.svg │ │ │ ├── ws.svg │ │ │ ├── xk.svg │ │ │ ├── xx.svg │ │ │ ├── ye.svg │ │ │ ├── yt.svg │ │ │ ├── za.svg │ │ │ ├── zm.svg │ │ │ └── zw.svg │ │ └── 4x3 │ │ │ ├── ac.svg │ │ │ ├── ad.svg │ │ │ ├── ae.svg │ │ │ ├── af.svg │ │ │ ├── ag.svg │ │ │ ├── ai.svg │ │ │ ├── al.svg │ │ │ ├── am.svg │ │ │ ├── ao.svg │ │ │ ├── aq.svg │ │ │ ├── ar.svg │ │ │ ├── as.svg │ │ │ ├── at.svg │ │ │ ├── au.svg │ │ │ ├── aw.svg │ │ │ ├── ax.svg │ │ │ ├── az.svg │ │ │ ├── ba.svg │ │ │ ├── bb.svg │ │ │ ├── bd.svg │ │ │ ├── be.svg │ │ │ ├── bf.svg │ │ │ ├── bg.svg │ │ │ ├── bh.svg │ │ │ ├── bi.svg │ │ │ ├── bj.svg │ │ │ ├── bl.svg │ │ │ ├── bm.svg │ │ │ ├── bn.svg │ │ │ ├── bo.svg │ │ │ ├── bq.svg │ │ │ ├── br.svg │ │ │ ├── bs.svg │ │ │ ├── bt.svg │ │ │ ├── bv.svg │ │ │ ├── bw.svg │ │ │ ├── by.svg │ │ │ ├── bz.svg │ │ │ ├── ca.svg │ │ │ ├── cc.svg │ │ │ ├── cd.svg │ │ │ ├── cefta.svg │ │ │ ├── cf.svg │ │ │ ├── cg.svg │ │ │ ├── ch.svg │ │ │ ├── ci.svg │ │ │ ├── ck.svg │ │ │ ├── cl.svg │ │ │ ├── cm.svg │ │ │ ├── cn.svg │ │ │ ├── co.svg │ │ │ ├── cp.svg │ │ │ ├── cr.svg │ │ │ ├── cu.svg │ │ │ ├── cv.svg │ │ │ ├── cw.svg │ │ │ ├── cx.svg │ │ │ ├── cy.svg │ │ │ ├── cz.svg │ │ │ ├── de.svg │ │ │ ├── dg.svg │ │ │ ├── dj.svg │ │ │ ├── dk.svg │ │ │ ├── dm.svg │ │ │ ├── do.svg │ │ │ ├── dz.svg │ │ │ ├── ea.svg │ │ │ ├── ec.svg │ │ │ ├── ee.svg │ │ │ ├── eg.svg │ │ │ ├── eh.svg │ │ │ ├── er.svg │ │ │ ├── es-ct.svg │ │ │ ├── es-ga.svg │ │ │ ├── es-pv.svg │ │ │ ├── es.svg │ │ │ ├── et.svg │ │ │ ├── eu.svg │ │ │ ├── fi.svg │ │ │ ├── fj.svg │ │ │ ├── fk.svg │ │ │ ├── fm.svg │ │ │ ├── fo.svg │ │ │ ├── fr.svg │ │ │ ├── ga.svg │ │ │ ├── gb-eng.svg │ │ │ ├── gb-nir.svg │ │ │ ├── gb-sct.svg │ │ │ ├── gb-wls.svg │ │ │ ├── gb.svg │ │ │ ├── gd.svg │ │ │ ├── ge.svg │ │ │ ├── gf.svg │ │ │ ├── gg.svg │ │ │ ├── gh.svg │ │ │ ├── gi.svg │ │ │ ├── gl.svg │ │ │ ├── gm.svg │ │ │ ├── gn.svg │ │ │ ├── gp.svg │ │ │ ├── gq.svg │ │ │ ├── gr.svg │ │ │ ├── gs.svg │ │ │ ├── gt.svg │ │ │ ├── gu.svg │ │ │ ├── gw.svg │ │ │ ├── gy.svg │ │ │ ├── hk.svg │ │ │ ├── hm.svg │ │ │ ├── hn.svg │ │ │ ├── hr.svg │ │ │ ├── ht.svg │ │ │ ├── hu.svg │ │ │ ├── ic.svg │ │ │ ├── id.svg │ │ │ ├── ie.svg │ │ │ ├── il.svg │ │ │ ├── im.svg │ │ │ ├── in.svg │ │ │ ├── io.svg │ │ │ ├── iq.svg │ │ │ ├── ir.svg │ │ │ ├── is.svg │ │ │ ├── it.svg │ │ │ ├── je.svg │ │ │ ├── jm.svg │ │ │ ├── jo.svg │ │ │ ├── jp.svg │ │ │ ├── ke.svg │ │ │ ├── kg.svg │ │ │ ├── kh.svg │ │ │ ├── ki.svg │ │ │ ├── km.svg │ │ │ ├── kn.svg │ │ │ ├── kp.svg │ │ │ ├── kr.svg │ │ │ ├── kw.svg │ │ │ ├── ky.svg │ │ │ ├── kz.svg │ │ │ ├── la.svg │ │ │ ├── lb.svg │ │ │ ├── lc.svg │ │ │ ├── li.svg │ │ │ ├── lk.svg │ │ │ ├── lr.svg │ │ │ ├── ls.svg │ │ │ ├── lt.svg │ │ │ ├── lu.svg │ │ │ ├── lv.svg │ │ │ ├── ly.svg │ │ │ ├── ma.svg │ │ │ ├── mc.svg │ │ │ ├── md.svg │ │ │ ├── me.svg │ │ │ ├── mf.svg │ │ │ ├── mg.svg │ │ │ ├── mh.svg │ │ │ ├── mk.svg │ │ │ ├── ml.svg │ │ │ ├── mm.svg │ │ │ ├── mn.svg │ │ │ ├── mo.svg │ │ │ ├── mp.svg │ │ │ ├── mq.svg │ │ │ ├── mr.svg │ │ │ ├── ms.svg │ │ │ ├── mt.svg │ │ │ ├── mu.svg │ │ │ ├── mv.svg │ │ │ ├── mw.svg │ │ │ ├── mx.svg │ │ │ ├── my.svg │ │ │ ├── mz.svg │ │ │ ├── na.svg │ │ │ ├── nc.svg │ │ │ ├── ne.svg │ │ │ ├── nf.svg │ │ │ ├── ng.svg │ │ │ ├── ni.svg │ │ │ ├── nl.svg │ │ │ ├── no.svg │ │ │ ├── np.svg │ │ │ ├── nr.svg │ │ │ ├── nu.svg │ │ │ ├── nz.svg │ │ │ ├── om.svg │ │ │ ├── pa.svg │ │ │ ├── pe.svg │ │ │ ├── pf.svg │ │ │ ├── pg.svg │ │ │ ├── ph.svg │ │ │ ├── pk.svg │ │ │ ├── pl.svg │ │ │ ├── pm.svg │ │ │ ├── pn.svg │ │ │ ├── pr.svg │ │ │ ├── ps.svg │ │ │ ├── pt.svg │ │ │ ├── pw.svg │ │ │ ├── py.svg │ │ │ ├── qa.svg │ │ │ ├── re.svg │ │ │ ├── ro.svg │ │ │ ├── rs.svg │ │ │ ├── ru.svg │ │ │ ├── rw.svg │ │ │ ├── sa.svg │ │ │ ├── sb.svg │ │ │ ├── sc.svg │ │ │ ├── sd.svg │ │ │ ├── se.svg │ │ │ ├── sg.svg │ │ │ ├── sh.svg │ │ │ ├── si.svg │ │ │ ├── sj.svg │ │ │ ├── sk.svg │ │ │ ├── sl.svg │ │ │ ├── sm.svg │ │ │ ├── sn.svg │ │ │ ├── so.svg │ │ │ ├── sr.svg │ │ │ ├── ss.svg │ │ │ ├── st.svg │ │ │ ├── sv.svg │ │ │ ├── sx.svg │ │ │ ├── sy.svg │ │ │ ├── sz.svg │ │ │ ├── ta.svg │ │ │ ├── tc.svg │ │ │ ├── td.svg │ │ │ ├── tf.svg │ │ │ ├── tg.svg │ │ │ ├── th.svg │ │ │ ├── tj.svg │ │ │ ├── tk.svg │ │ │ ├── tl.svg │ │ │ ├── tm.svg │ │ │ ├── tn.svg │ │ │ ├── to.svg │ │ │ ├── tr.svg │ │ │ ├── tt.svg │ │ │ ├── tv.svg │ │ │ ├── tw.svg │ │ │ ├── tz.svg │ │ │ ├── ua.svg │ │ │ ├── ug.svg │ │ │ ├── um.svg │ │ │ ├── un.svg │ │ │ ├── us.svg │ │ │ ├── uy.svg │ │ │ ├── uz.svg │ │ │ ├── va.svg │ │ │ ├── vc.svg │ │ │ ├── ve.svg │ │ │ ├── vg.svg │ │ │ ├── vi.svg │ │ │ ├── vn.svg │ │ │ ├── vu.svg │ │ │ ├── wf.svg │ │ │ ├── ws.svg │ │ │ ├── xk.svg │ │ │ ├── xx.svg │ │ │ ├── ye.svg │ │ │ ├── yt.svg │ │ │ ├── za.svg │ │ │ ├── zm.svg │ │ │ └── zw.svg │ └── sign_background.svg │ ├── js │ └── mcomponents.js │ └── webfonts │ ├── fa-regular-400.woff2 │ └── fa-solid-900.woff2 ├── README.md ├── Screenshots ├── MGrid.PNG ├── MSelect.png └── MWizard.PNG └── azure-pipelines.yml /MComponents.ExampleApp/Components/Routes.razor: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 |

Sorry, there's nothing at this address.

9 |
10 |
11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/Components/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using System.Net.Http.Json 3 | @using Microsoft.AspNetCore.Components.Forms 4 | @using Microsoft.AspNetCore.Components.Routing 5 | @using Microsoft.AspNetCore.Components.Web 6 | @using static Microsoft.AspNetCore.Components.Web.RenderMode 7 | @using Microsoft.AspNetCore.Components.Web.Virtualization 8 | @using Microsoft.JSInterop 9 | @using MComponents.ExampleApp 10 | @using MComponents.ExampleApp.Components 11 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/Data/WeatherForecastType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace MComponents.ExampleApp.Data 7 | { 8 | public enum WeatherForecastType 9 | { 10 | Standard, 11 | Epic 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/MComponents.ExampleApp.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net9.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/Pages/Error.razor: -------------------------------------------------------------------------------- 1 | @page "/error" 2 | 3 | 4 |

Error.

5 |

An error occurred while processing your request.

6 | 7 |

Development Mode

8 |

9 | Swapping to Development environment will display more detailed information about the error that occurred. 10 |

11 |

12 | The Development environment shouldn't be enabled for deployed applications. 13 | It can result in displaying sensitive information from exceptions to end users. 14 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 15 | and restarting the app. 16 |

-------------------------------------------------------------------------------- /MComponents.ExampleApp/Pages/FileUpload.razor: -------------------------------------------------------------------------------- 1 | @page "/fileupload" 2 | @using MComponents.Files 3 | 4 |

FileUpload

5 | 6 | 7 | 8 |
Simple
9 | 10 | 11 | 12 |
Single
13 | 14 | 15 | 16 |
Multi
17 | 18 | 19 |
20 | 21 | @code { 22 | 23 | protected EditContext mEditContext = new EditContext(string.Empty); 24 | 25 | 26 | public IFile SingleFile { get; set; } 27 | public ICollection MultipleFiles { get; set; } = new List(); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/Pages/InputTest.razor: -------------------------------------------------------------------------------- 1 | @page "/inputtext" 2 | 3 | 4 | 5 | 6 | 7 | @Text 8 | 9 | @code { 10 | 11 | public string Text { get; set; } 12 | 13 | protected EditContext mEditContext = new EditContext(string.Empty); 14 | } 15 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/Service/UploadedFile.cs: -------------------------------------------------------------------------------- 1 | using MComponents.Files; 2 | 3 | namespace MComponents.ExampleApp.Service 4 | { 5 | public class UploadedFile : IFile 6 | { 7 | public string FileName { get; set; } 8 | 9 | public string Url { get; set; } 10 | 11 | public long Size { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/Shared/MainLayout.razor: -------------------------------------------------------------------------------- 1 | @inherits LayoutComponentBase 2 | 3 | 6 | 7 |
8 |
9 | About 10 |
11 | 12 |
13 | @Body 14 |
15 |
16 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.JSInterop 8 | @using MComponents.ExampleApp 9 | @using MComponents.ExampleApp.Shared 10 | @using MComponents 11 | @using MComponents.MGrid 12 | @using MComponents.MSelect 13 | @using MComponents.MForm 14 | @using MComponents.Tabs 15 | @using MComponents.MPopup 16 | @using MComponents.MTooltip -------------------------------------------------------------------------------- /MComponents.ExampleApp/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents.ExampleApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /MComponents.ExampleApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents.ExampleApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/DateAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class DateAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/DateTimeAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class DateTimeAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/FirstCharUpperAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace MComponents.Shared.Attributes 6 | { 7 | public class FirstCharUpperAttribute : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/FirstCharUpperTrim.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace MComponents.Shared.Attributes 6 | { 7 | public class FirstCharUpperTrim : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/HiddenAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class HiddenAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/MInputCheckbox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class MInputCheckboxAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/MInputSwitchAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class MInputSwitchAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/PasswordAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class PasswordAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/ReadOnlyAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class ReadOnlyAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/ReplaceWhitespacesAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace MComponents.Shared.Attributes 6 | { 7 | public class ReplaceWhitespacesAttribute : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/RestrictValuesAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class RestrictValuesAttribute : Attribute 6 | { 7 | public object[] AllowedValues { get; protected set; } 8 | 9 | public RestrictValuesAttribute(params object[] pAllowedValues) 10 | { 11 | AllowedValues = pAllowedValues; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/RowAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class RowAttribute : Attribute 6 | { 7 | public int RowId { get; protected set; } 8 | 9 | public RowAttribute(int pRowId) 10 | { 11 | RowId = pRowId; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/TextAreaAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class TextAreaAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/TimeAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Attributes 4 | { 5 | public class TimeAttribute : Attribute 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/TrimAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace MComponents.Shared.Attributes 6 | { 7 | public class TrimAttribute : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.Shared/Attributes/UtcInternalDisplayUserTimezone.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace MComponents.Shared.Attributes 6 | { 7 | public class UtcInternalDisplayUserTimezone : Attribute 8 | { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents.Shared/Localization/LocalizedStringAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Shared.Localization 4 | { 5 | [AttributeUsage(AttributeTargets.Property)] 6 | public class LocalizedStringAttribute : Attribute 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents.Shared/MComponents.Shared.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netstandard2.1 5 | true 6 | manureini 7 | MComponents 8 | MIT 9 | https://github.com/manureini/MComponents/ 10 | Another blazor component library 11 | Blazor Components 12 | 1.0.7 13 | 1.0.7 14 | 1.0.7 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /MComponents/BoundingBox.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents 2 | { 3 | public class BoundingBox 4 | { 5 | public double Width; 6 | public double Height; 7 | 8 | public double Top; 9 | public double Left; 10 | 11 | public double BorderTop; 12 | public double BorderRight; 13 | 14 | public double BorderSpace; 15 | 16 | public string BorderCollapse; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MComponents/ExportData/SharedStringTableWrapper.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.ExportData 2 | { 3 | public class SharedStringTableWrapper 4 | { 5 | public object SharedStringTable { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/FileUtil.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.JSInterop; 2 | using System.IO; 3 | using System.IO.Pipes; 4 | using System.Threading.Tasks; 5 | 6 | namespace MComponents 7 | { 8 | public static class FileUtil 9 | { 10 | public static async Task SaveAs(IJSRuntime pJsRuntime, string pFilename, Stream pStream) 11 | { 12 | using var streamRef = new DotNetStreamReference(stream: pStream); 13 | await pJsRuntime.InvokeVoidAsync("mcomponents.saveAsFile", pFilename, streamRef); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MComponents/Files/IFile.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.Files 2 | { 3 | public interface IFile 4 | { 5 | public string FileName { get; } 6 | 7 | public string Url { get; } 8 | 9 | public long Size { get; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/Files/IFileUploadService.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.Forms; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Threading; 5 | using System.Threading.Tasks; 6 | 7 | namespace MComponents.Files 8 | { 9 | public interface IFileUploadService 10 | { 11 | public Task UploadFile(IBrowserFile pFile, IDictionary pAdditionalHeaders, Action pOnProgressChanged, CancellationToken pCancellationToken); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents/ICancelableEvent.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents 2 | { 3 | interface ICancelableEvent 4 | { 5 | bool Cancelled { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/IIdentifyable.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents 2 | { 3 | public interface IIdentifyable 4 | { 5 | string Identifier { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/JsInterop/PositionInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.JsInterop 2 | { 3 | public class PositionInfo 4 | { 5 | public double top { get; set; } 6 | 7 | public double left { get; set; } 8 | 9 | public double? right { get; set; } 10 | 11 | public double? bottom { get; set; } 12 | 13 | public double? abstop { get; set; } 14 | 15 | public double? absleft { get; set; } 16 | 17 | public double? absright { get; set; } 18 | 19 | public double? absbottom { get; set; } 20 | 21 | public double? height { get; set; } 22 | 23 | public double? width { get; set; } 24 | 25 | public double? x { get; set; } 26 | 27 | public double? y { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /MComponents/MBadge/MBadge.razor: -------------------------------------------------------------------------------- 1 | @ChildContent 2 | 3 | @code { 4 | 5 | [Parameter] 6 | public RenderFragment ChildContent { get; set; } 7 | 8 | } -------------------------------------------------------------------------------- /MComponents/MComponentsRoot.razor: -------------------------------------------------------------------------------- 1 | @using MComponents.MToaster 2 | @using MComponents.MTooltip 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/MForm/EventArgs/MFormContainerAfterAllFormsSubmittedArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MForm 2 | { 3 | public class MFormContainerAfterAllFormsSubmittedArgs 4 | { 5 | internal MFormContainerAfterAllFormsSubmittedArgs() 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MForm/EventArgs/MFormContainerContextSubmitArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.MForm 4 | { 5 | public class MFormContainerContextSubmitArgs : EventArgs 6 | { 7 | public bool UserInterated { get; set; } 8 | 9 | internal MFormContainerContextSubmitArgs() 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents/MForm/EventArgs/MFormSubmitArgs.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.Forms; 2 | using System.Collections.Generic; 3 | 4 | namespace MComponents 5 | { 6 | public class MFormSubmitArgs 7 | { 8 | public EditContext EditContext { get; protected set; } 9 | 10 | public IDictionary ChangedValues { get; protected set; } 11 | 12 | public object Model { get; protected set; } 13 | 14 | public bool UserInteracted { get; protected set; } 15 | 16 | public MFormSubmitArgs(EditContext pContext, IDictionary pValues, object pModel, bool pUserInteracted) 17 | { 18 | EditContext = pContext; 19 | ChangedValues = pValues; 20 | Model = pModel; 21 | UserInteracted = pUserInteracted; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MComponents/MForm/IMComplexField.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MForm 2 | { 3 | public interface IMComplexField 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /MComponents/MForm/IMField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace MComponents.MForm 5 | { 6 | public interface IMField : IDisposable 7 | { 8 | Attribute[] Attributes { get; set; } 9 | 10 | IReadOnlyDictionary AdditionalAttributes { get; set; } 11 | 12 | MFieldRow FieldRow { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MComponents/MForm/IMFieldGenerator.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | 3 | namespace MComponents.MForm 4 | { 5 | public interface IMFieldGenerator : IMField 6 | { 7 | RenderFragment Template { get; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MForm/IMPropertyField.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | 4 | namespace MComponents.MForm 5 | { 6 | public interface IMPropertyField : IMField 7 | { 8 | string Property { get; set; } 9 | 10 | Type PropertyType { get; set; } 11 | 12 | RenderFragment TemplateAfterLabel { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /MComponents/MForm/InputElements/InputNumberOnInput.razor: -------------------------------------------------------------------------------- 1 | @inherits InputNumber 2 | 3 | @typeparam T 4 | 5 | 9 | 10 | 11 | @code { 12 | 13 | public override async Task SetParametersAsync(ParameterView parameters) 14 | { 15 | await base.SetParametersAsync(parameters); 16 | 17 | if (ValueExpression != null) 18 | { 19 | FieldIdentifier = FieldIdentifier.Create(ValueExpression); 20 | } 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /MComponents/MForm/InputElements/InputTextOnInput.razor: -------------------------------------------------------------------------------- 1 | @inherits InputText 2 | 3 | 7 | 8 | @code { 9 | 10 | public override async Task SetParametersAsync(ParameterView parameters) 11 | { 12 | await base.SetParametersAsync(parameters); 13 | 14 | if (ValueExpression != null) 15 | { 16 | FieldIdentifier = FieldIdentifier.Create(ValueExpression); 17 | } 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /MComponents/MForm/InputElements/MInputSwitch.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.Forms; 2 | using Microsoft.AspNetCore.Components.Rendering; 3 | 4 | namespace MComponents.InputElements 5 | { 6 | public class MInputSwitch : InputCheckbox 7 | { 8 | protected override void BuildRenderTree(RenderTreeBuilder builder) 9 | { 10 | builder.OpenElement(10, "span"); 11 | builder.AddAttribute(11, "class", "m-form-control m-switch m-switch--icon"); 12 | 13 | builder.OpenElement(13, "label"); 14 | 15 | base.BuildRenderTree(builder); 16 | 17 | builder.OpenElement(17, "span"); 18 | builder.AddAttribute(18, "class", "fa"); 19 | builder.CloseElement(); //span 20 | 21 | builder.CloseElement(); //label 22 | 23 | builder.CloseElement(); //span 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /MComponents/MForm/MComplexPropertyField.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | 4 | namespace MComponents.MForm 5 | { 6 | public class MComplexPropertyField : MField, IMComplexField 7 | { 8 | [Parameter] 9 | public RenderFragment> Template { get; set; } 10 | 11 | public override Type PropertyType 12 | { 13 | get 14 | { 15 | return typeof(TProperty); 16 | } 17 | set 18 | { 19 | // throw new InvalidOperationException("Can't set type for Complex Field"); 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MComponents/MForm/MComplexPropertyFieldContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | using System.Linq.Expressions; 4 | 5 | namespace MComponents.MForm 6 | { 7 | public class MComplexPropertyFieldContext 8 | { 9 | public dynamic Row { get; set; } 10 | 11 | public TProperty Value { get; set; } 12 | 13 | public EventCallback ValueChanged { get; set; } 14 | 15 | public Expression> ValueExpression { get; set; } 16 | 17 | public string InputId { get; set; } 18 | 19 | public string FormId { get; set; } 20 | 21 | public IMForm Form { get; set; } 22 | 23 | public MFormGridContext MFormGridContext { get; set; } 24 | 25 | public bool IsReadOnly { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MComponents/MForm/MFieldComponent.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace MComponents.MForm 6 | { 7 | public sealed class MFieldComponent : IMField 8 | { 9 | public Attribute[] Attributes { get; set; } 10 | 11 | public IReadOnlyDictionary AdditionalAttributes { get; set; } 12 | 13 | public Type CompnentType { get; set; } 14 | 15 | [CascadingParameter] 16 | public MFieldRow FieldRow { get; set; } 17 | 18 | public void Dispose() 19 | { 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MComponents/MForm/MFieldEmpty.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace MComponents.MForm 5 | { 6 | internal class MFieldEmpty : IMField 7 | { 8 | public Attribute[] Attributes { get; set; } 9 | public IReadOnlyDictionary AdditionalAttributes { get; set; } = new Dictionary(); 10 | public MFieldRow FieldRow { get; set; } 11 | 12 | public void Dispose() 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MComponents/MForm/MFieldGeneratorContext.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MForm 2 | { 3 | public class MFieldGeneratorContext 4 | { 5 | public IMForm Form { get; internal set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MForm/MFormGridContext.cs: -------------------------------------------------------------------------------- 1 | using MComponents.MGrid; 2 | 3 | namespace MComponents.MForm 4 | { 5 | public class MFormGridContext 6 | { 7 | public MGridAction Action { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MGrid/Enums/MGridAction.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public enum MGridAction 4 | { 5 | Unknown, 6 | 7 | Add, 8 | 9 | Edit, 10 | 11 | FilterRow 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents/MGrid/Enums/MGridInitialState.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public enum MGridInitialState 4 | { 5 | Default, 6 | AddNewRow 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents/MGrid/Enums/ToolbarItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | [Flags] 6 | public enum ToolbarItem 7 | { 8 | None = 0, 9 | Add = 1, 10 | Edit = 2, 11 | Delete = 4 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/AfterAddArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class AfterAddArgs : RowEventArgs 4 | { 5 | public MFormSubmitArgs FormSubmitArgs { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/AfterDeleteArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class AfterDeleteArgs : RowEventArgs 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/AfterEditArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class AfterEditArgs : RowEventArgs 4 | { 5 | public MFormSubmitArgs FormSubmitArgs { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/BeginAddArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class BeginAddArgs : RowEventArgs, ICancelableEvent 4 | { 5 | public bool Cancelled { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/BeginDeleteArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class BeginDeleteArgs : RowEventArgs, ICancelableEvent 4 | { 5 | public bool Cancelled { get; set; } 6 | public bool UseDeleteConfirmationWithAlert { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/BeginEditArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class BeginEditArgs : RowEventArgs, ICancelableEvent 4 | { 5 | public bool Cancelled { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/BeginRowSelectArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class BeginRowSelectArgs : RowEventArgs, ICancelableEvent 4 | { 5 | public bool Cancelled { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MGrid/EventArgs/RowEventArgs.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.Web; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | public abstract class RowEventArgs 6 | { 7 | public T Row { get; set; } 8 | 9 | public MouseEventArgs MouseEventArgs { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/MGrid/GridState/MGridFilterState.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class MGridFilterState 4 | { 5 | public string ColumnIdentifier { get; set; } 6 | 7 | public object Value { get; set; } 8 | 9 | public string ReferencedId { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/MGrid/GridState/MGridSorterState.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class MGridSorterState 4 | { 5 | public string ColumnIdentifier { get; set; } 6 | 7 | public MSortDirection Direction { get; set; } 8 | 9 | public int Index { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/MGrid/GridState/MGridState.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class MGridState 4 | { 5 | public long? Page { get; set; } 6 | 7 | public int? PageSize { get; set; } 8 | 9 | public bool IsFilterRowVisible { get; set; } 10 | 11 | public string SelectedRow { get; set; } 12 | 13 | public MGridFilterState[] FilterState { get; set; } 14 | 15 | public MGridSorterState[] SorterState { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridColumn.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | public interface IMGridColumn : IIdentifyable 6 | { 7 | IReadOnlyDictionary AdditionalAttributes { get; } 8 | 9 | string HeaderText { get; set; } 10 | 11 | bool EnableFilter { get; } 12 | 13 | bool ShouldRenderColumn { get; } 14 | 15 | bool VisibleInExport { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridColumnGenerator.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | public interface IMGridColumnGenerator : IMGridColumn 6 | { 7 | RenderFragment GenerateContent(T pModel); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridComplexEditableColumn.cs: -------------------------------------------------------------------------------- 1 | using MComponents.MForm; 2 | using Microsoft.AspNetCore.Components; 3 | 4 | namespace MComponents.MGrid 5 | { 6 | public interface IMGridComplexEditableColumn 7 | { 8 | RenderFragment> FormTemplate { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridComplexExport.cs: -------------------------------------------------------------------------------- 1 | using MComponents.ExportData; 2 | using System.Collections.Generic; 3 | 4 | namespace MComponents.MGrid 5 | { 6 | public interface IMGridComplexExport 7 | { 8 | object GenerateExportCell(SharedStringTableWrapper pSharedStringTablePart, Dictionary pSstCache, T pModel); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridCustomComparer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | public interface IMGridCustomComparer 6 | { 7 | 8 | } 9 | 10 | public interface IMGridCustomComparer : IMGridCustomComparer 11 | { 12 | IComparer Comparer { get; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridDataAdapter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Threading.Tasks; 4 | 5 | namespace MComponents.MGrid 6 | { 7 | public interface IMGridDataAdapter 8 | { 9 | Task> GetData(IQueryable pQueryable); 10 | 11 | Task GetDataCount(IQueryable pQueryable); 12 | 13 | Task GetTotalDataCount(); 14 | 15 | Task Add(T pNewValue); 16 | 17 | Task Remove(T pValue); 18 | 19 | Task Update(T pValue); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridEditFieldGenerator.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | public interface IMGridEditFieldGenerator 6 | { 7 | RenderFragment EditFieldTemplate(bool pIsFilterRow); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridObjectFormatter.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components.Rendering; 2 | using Microsoft.Extensions.Localization; 3 | 4 | namespace MComponents.MGrid 5 | { 6 | public interface IMGridObjectFormatter 7 | { 8 | IStringLocalizer L { get; set; } 9 | 10 | string FormatPropertyColumnValue(IMGridPropertyColumn pColumn, IMPropertyInfo pPropertyInfo, T pRow); 11 | 12 | void AppendToTableRow(RenderTreeBuilder pBuilder, ref string pCssClass, T pRow, bool pSelected); 13 | 14 | void AppendToTableRowData(RenderTreeBuilder pBuilder, IMGridColumn pColumn, T pRow); 15 | 16 | void AddRowMetadata(T pRow, object pValue); 17 | 18 | void RemoveRowMetadata(T pRow); 19 | 20 | void ClearRowMetadata(); 21 | } 22 | } -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridPropertyColumn.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.MGrid 4 | { 5 | public interface IMGridPropertyColumn : IMGridColumn 6 | { 7 | string Property { get; set; } 8 | 9 | Type PropertyType { get; set; } 10 | 11 | Attribute[] Attributes { get; set; } 12 | 13 | bool ExtendAttributes { get; set; } 14 | 15 | string StringFormat { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMGridSortableColumn.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public interface IMGridSortableColumn 4 | { 5 | MSortDirection SortDirection { get; } 6 | 7 | int SortIndex { get; } 8 | 9 | bool EnableSorting { get; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/MGrid/IMRegister.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public interface IMRegister 4 | { 5 | void RegisterColumn(IMGridColumn pColumn); 6 | 7 | void RegisterPagerSettings(MGridPager pPager); 8 | } 9 | } -------------------------------------------------------------------------------- /MComponents/MGrid/MGridColumns.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using Microsoft.AspNetCore.Components.Rendering; 3 | 4 | namespace MComponents.MGrid 5 | { 6 | public class MGridColumns : ComponentBase 7 | { 8 | protected override void BuildRenderTree(RenderTreeBuilder pBuilder) 9 | { 10 | pBuilder.AddContent(0, ChildContent); 11 | } 12 | 13 | [Parameter] 14 | public RenderFragment ChildContent { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MComponents/MGrid/MGridGroupByHelperKeyInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public class MGridGroupByHelperKeyInfo 4 | { 5 | public object DynamicKeyObj { get; set; } 6 | 7 | public long Offset { get; set; } 8 | 9 | public long Take { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/MGrid/MGridGrouping.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace MComponents.MGrid 6 | { 7 | public class MGridGrouping : IGrouping 8 | { 9 | public object Key { get; set; } 10 | 11 | protected T[] Values { get; set; } 12 | 13 | public MGridGrouping(object pKey, T[] pValues) 14 | { 15 | Key = pKey; 16 | Values = pValues; 17 | } 18 | 19 | public IEnumerator GetEnumerator() 20 | { 21 | return ((IEnumerable)Values).GetEnumerator(); 22 | } 23 | 24 | IEnumerator IEnumerable.GetEnumerator() 25 | { 26 | return Values.GetEnumerator(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /MComponents/MGrid/MSortDirection.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents 2 | { 3 | public enum MSortDirection 4 | { 5 | None, 6 | Ascending, 7 | Descending 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MGrid/Settings/IMGridFormatterFactoryProvider.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MGrid 2 | { 3 | public interface IMGridFormatterFactoryProvider 4 | { 5 | public IMGridObjectFormatter GetFormatter(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MLoading/MSpinner.razor: -------------------------------------------------------------------------------- 1 | 
-------------------------------------------------------------------------------- /MComponents/MProgressbar/MProgressbar.razor: -------------------------------------------------------------------------------- 1 | 
2 | 3 |
4 | 5 | @code { 6 | 7 | [Parameter] 8 | public int Percentage { get; set; } = 0; 9 | 10 | [Parameter] 11 | public string CssClass { get; set; } 12 | 13 | private int mPpercentage = 50; 14 | 15 | protected override void OnParametersSet() 16 | { 17 | mPpercentage = Percentage > 100 ? 100 : Percentage < 0 ? 0 : Percentage; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/IMComplexQueryBuilderField.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace MComponents.MQueryBuilder 9 | { 10 | public interface IMComplexQueryBuilderField 11 | { 12 | public int ParameterCount { get; } 13 | public bool HasFormTemplate { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/IMQueryBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MComponents.MQueryBuilder 8 | { 9 | public interface IMQueryBuilder 10 | { 11 | Type ModelType { get; } 12 | 13 | List Fields { get; } 14 | 15 | void RegisterField(IMQueryBuilderField pField); 16 | 17 | void RemoveCondition(MQueryBuilderJsonCondition pCondition); 18 | 19 | void RemoveRuleGroup(MQueryBuilderRuleGroup pRuleGroup); 20 | 21 | Task InvokeRulesChanged(); 22 | 23 | void InvokeStateHasChanged(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/IMQueryBuilderField.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace MComponents.MQueryBuilder 9 | { 10 | public interface IMQueryBuilderField 11 | { 12 | string RuleName { get; } 13 | string Title { get; } 14 | Type PropertyType { get; } 15 | MQueryBuilderConditionOperator[] AllowedOperators { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/MQueryBuilderCondition.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace MComponents.MQueryBuilder 9 | { 10 | public class MQueryBuilderJsonCondition 11 | { 12 | public string RuleName { get; set; } 13 | 14 | public MQueryBuilderConditionOperator? Operator { get; set; } 15 | 16 | public object[] Values { get; set; } 17 | 18 | public string[] ValuesTypeNames { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/MQueryBuilderField.razor: -------------------------------------------------------------------------------- 1 | @implements IMQueryBuilderField 2 | 3 | @code { 4 | 5 | [Parameter] 6 | public string RuleName { get; set; } 7 | 8 | [Parameter] 9 | public string Title { get; set; } 10 | 11 | [Parameter] 12 | public Type PropertyType { get; set; } 13 | 14 | [Parameter] 15 | public MQueryBuilderConditionOperator[] AllowedOperators { get; set; } 16 | 17 | private IMQueryBuilder mQueryBuilder; 18 | 19 | [CascadingParameter] 20 | public IMQueryBuilder QueryBuilder 21 | { 22 | get 23 | { 24 | return mQueryBuilder; 25 | } 26 | set 27 | { 28 | if (value != mQueryBuilder) 29 | { 30 | mQueryBuilder = value; 31 | mQueryBuilder.RegisterField(this); 32 | } 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/MQueryBuilderFormTemplateContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Linq.Expressions; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace MComponents.MQueryBuilder 10 | { 11 | public class MQueryBuilderFormTemplateContext 12 | { 13 | public TProperty Value { get; set; } 14 | 15 | public EventCallback ValueChanged { get; set; } 16 | 17 | public Expression> ValueExpression { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/MQueryBuilderRuleGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MComponents.MQueryBuilder 8 | { 9 | public class MQueryBuilderRuleGroup 10 | { 11 | public MQueryBuilderRuleGroupOperator Operator { get; set; } 12 | 13 | public List Conditions { get; set; } = new(); 14 | 15 | public List ChildGroups { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MComponents/MQueryBuilder/MQueryBuilderRuleGroupOperator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MComponents.MQueryBuilder 8 | { 9 | public enum MQueryBuilderRuleGroupOperator 10 | { 11 | And, 12 | Or 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MComponents/MScrollAnchor/MScrollAnchor.razor: -------------------------------------------------------------------------------- 1 | @inject IJSRuntime JsRuntime 2 | @inject Navigation Navigation 3 | 4 | 5 | 6 | @code { 7 | 8 | [Parameter] 9 | public string Id { get; set; } 10 | 11 | protected override void OnAfterRender(bool firstRender) 12 | { 13 | if (firstRender) 14 | { 15 | var fragment = new Uri(Navigation.Uri).Fragment; 16 | 17 | if (fragment == Id) 18 | { 19 | _ = Task.Run(async () => 20 | { 21 | await Task.Delay(500); 22 | _ = JsRuntime.InvokeVoidAsync("mcomponents.scrollTo", Id); 23 | }); 24 | } 25 | } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /MComponents/MSelect/EventArgs/SelectionChangedArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MSelect 2 | { 3 | public class SelectionChangedArgs 4 | { 5 | public T NewValue { get; set; } 6 | 7 | public T OldValue { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MSelect/IMSelect.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MSelect 2 | { 3 | public interface IMSelect 4 | { 5 | void RegisterOption(MSelectOption pOption); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MSelect/MSelectOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using Microsoft.AspNetCore.Components.Rendering; 3 | 4 | namespace MComponents.MGrid 5 | { 6 | public class MSelectOptions : ComponentBase 7 | { 8 | protected override void BuildRenderTree(RenderTreeBuilder pBuilder) 9 | { 10 | pBuilder.AddContent(0, ChildContent); 11 | } 12 | 13 | [Parameter] 14 | public RenderFragment ChildContent { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MComponents/MSeparator/MSeparator.razor: -------------------------------------------------------------------------------- 1 | 
2 | @ChildContent 3 |
4 | 5 | @code { 6 | 7 | [Parameter] 8 | public RenderFragment ChildContent { get; set; } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /MComponents/MToaster/ToastContainer.razor: -------------------------------------------------------------------------------- 1 | @inherits ToastContainerModel 2 | 3 |
4 | @foreach (var toast in Toasts) 5 | { 6 | 7 | } 8 |
-------------------------------------------------------------------------------- /MComponents/MToaster/ToastState.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MToaster 2 | { 3 | internal enum ToastState 4 | { 5 | Init, 6 | Showing, 7 | Hiding, 8 | Visible, 9 | MouseOver 10 | } 11 | 12 | internal static class ToastStateExtensions 13 | { 14 | public static bool IsShowing(this ToastState state) => state == ToastState.Showing; 15 | public static bool IsVisible(this ToastState state) => state == ToastState.Visible; 16 | public static bool IsHiding(this ToastState state) => state == ToastState.Hiding; 17 | } 18 | } -------------------------------------------------------------------------------- /MComponents/MToaster/ToastType.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MToaster 2 | { 3 | public enum ToastType 4 | { 5 | Info, 6 | Success, 7 | Warning, 8 | Error 9 | } 10 | } -------------------------------------------------------------------------------- /MComponents/MTooltip/TooltipReference.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | using System; 3 | 4 | namespace MComponents.MTooltip 5 | { 6 | internal class TooltipReference 7 | { 8 | public Guid Id { get; set; } 9 | public string Text { get; set; } 10 | public RenderFragment Content { get; set; } 11 | public string CssClass { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MComponents/MWizard/EventArgs/StepChangedArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MWizard 2 | { 3 | public class StepChangedArgs : ICancelableEvent 4 | { 5 | public int OldStepIndex { get; set; } 6 | 7 | public int NewStepIndex { get; set; } 8 | 9 | public MWizardStep OldStep { get; set; } 10 | 11 | public MWizardStep NewStep { get; set; } 12 | 13 | public bool UserInteract { get; set; } 14 | 15 | public bool Cancelled { get; set; } 16 | 17 | public bool DelayStepTransition { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MComponents/MWizard/EventArgs/SubmitEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MWizard 2 | { 3 | public class SubmitEventArgs 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/MWizard/IMWizard.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MWizard 2 | { 3 | public interface IMWizard 4 | { 5 | void RegisterStep(MWizardStep pStep); 6 | 7 | void InvokeStateHasChanged(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/MWizard/MWizardFinishButton.razor: -------------------------------------------------------------------------------- 1 | @if (Wizard != null && !Wizard.FreezeCurrentStep) 2 | { 3 | 6 | } 7 | 8 | @code { 9 | [Parameter] 10 | public string Caption { get; set; } = "Save"; 11 | 12 | [Parameter(CaptureUnmatchedValues = true)] 13 | public Dictionary AdditionalAttributes { get; set; } 14 | 15 | [CascadingParameter] 16 | public MWizard Wizard { get; set; } 17 | 18 | } -------------------------------------------------------------------------------- /MComponents/MWizard/MWizardNextButton.razor: -------------------------------------------------------------------------------- 1 |  2 | @if (Wizard != null && !Wizard.FreezeCurrentStep) 3 | { 4 | 7 | } 8 | 9 | @code { 10 | 11 | [Parameter(CaptureUnmatchedValues = true)] 12 | public Dictionary AdditionalAttributes { get; set; } 13 | 14 | [CascadingParameter] 15 | public MWizard Wizard { get; set; } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /MComponents/MWizard/MWizardPrevButton.razor: -------------------------------------------------------------------------------- 1 | @if (Wizard != null && !Wizard.FreezeCurrentStep) 2 | { 3 | 6 | } 7 | 8 | @code { 9 | 10 | [Parameter(CaptureUnmatchedValues = true)] 11 | public Dictionary AdditionalAttributes { get; set; } 12 | 13 | [CascadingParameter] 14 | public MWizard Wizard { get; set; } 15 | } -------------------------------------------------------------------------------- /MComponents/MWizard/MWizardStepContext.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.MWizard 2 | { 3 | public class MWizardStepContext 4 | { 5 | public virtual MWizardStep CurrentStep { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/Notifications/IMNotificationService.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.Notifications 2 | { 3 | public interface IMNotificationService 4 | { 5 | void ShowNotification(Notification pNotification); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MComponents/Notifications/Notification.cs: -------------------------------------------------------------------------------- 1 | namespace MComponents.Notifications 2 | { 3 | public class Notification 4 | { 5 | public string Text { get; set; } 6 | 7 | public bool IsError { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MComponents/Notifications/Notificator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Notifications 4 | { 5 | public static class Notificator 6 | { 7 | internal static void InvokeNotification(IServiceProvider pServiceProvider, bool pIsError, string pLocalizedText) 8 | { 9 | var notificationService = (IMNotificationService)pServiceProvider.GetService(typeof(IMNotificationService)); 10 | 11 | if (notificationService == null) 12 | return; 13 | 14 | notificationService.ShowNotification(new Notification() 15 | { 16 | IsError = pIsError, 17 | Text = pLocalizedText 18 | }); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MComponents/PropertyInfo/IMPropertyInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace MComponents 5 | { 6 | public interface IMPropertyInfo 7 | { 8 | string Name { get; } 9 | 10 | Type PropertyType { get; set; } 11 | 12 | void SetAttributes(Attribute[] pAttributes); 13 | 14 | T GetCustomAttribute() where T : Attribute; 15 | 16 | IEnumerable GetAttributes(); 17 | 18 | object GetValue(object pModel); 19 | 20 | void SetValue(object pModel, object value); 21 | 22 | IMPropertyInfo Parent { get; } 23 | 24 | object GetPropertyHolder(object pModel); 25 | 26 | bool IsReadOnly { get; } 27 | } 28 | } -------------------------------------------------------------------------------- /MComponents/Services/DefaultTimezoneService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MComponents.Services 8 | { 9 | public class DefaultTimezoneService : ITimezoneService 10 | { 11 | public DateTime ToLocalTime(DateTime pUtcDateTime) 12 | { 13 | return pUtcDateTime.ToLocalTime(); 14 | } 15 | 16 | public DateTime ToUtcTime(DateTime pLocalDateTime) 17 | { 18 | return pLocalDateTime.ToUniversalTime(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MComponents/Services/ITimezoneService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents.Services 4 | { 5 | public interface ITimezoneService 6 | { 7 | public DateTime ToLocalTime(DateTime pUtcDateTime); 8 | public DateTime ToUtcTime(DateTime pLocalDateTime); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MComponents/UserMessageException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MComponents 4 | { 5 | public class UserMessageException : Exception 6 | { 7 | public UserMessageException(string pMessage) : base(pMessage) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MComponents/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | 3 | @using Microsoft.JSInterop 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components 7 | @using Microsoft.AspNetCore.Components.Web 8 | 9 | @using Microsoft.Extensions.Localization 10 | 11 | @using MComponents 12 | @using MComponents.Services; 13 | 14 | @inject IStringLocalizer L -------------------------------------------------------------------------------- /MComponents/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/css/mcomponents.css", 4 | "inputFile": "wwwroot/css/mcomponents.scss" 5 | }, 6 | { 7 | "outputFile": "wwwroot/css/mcomponents-black.css", 8 | "inputFile": "wwwroot/css/mcomponents-black.scss" 9 | }, 10 | { 11 | "outputFile": "wwwroot/css/mcomponents-green.css", 12 | "inputFile": "wwwroot/css/mcomponents-green.scss" 13 | }, 14 | { 15 | "outputFile": "wwwroot/css/mcomponents-dark.css", 16 | "inputFile": "wwwroot/css/mcomponents-dark.scss" 17 | } 18 | ] -------------------------------------------------------------------------------- /MComponents/wwwroot/css/mcomponents-green.scss: -------------------------------------------------------------------------------- 1 | $white: white; 2 | $primary: #0e7027; 3 | $success: #0e7027; 4 | $failure: #FF3C3C; 5 | $disabled: #f0f1f3; 6 | 7 | $text_color: #212529; 8 | $gray: #ebedf2; 9 | $dark: #1f1c1c; 10 | 11 | $secondary: #595d6e; 12 | 13 | $padding: 0.65rem; 14 | $borderRadius: 0.25rem; 15 | 16 | @import 'mcomponents-main.scss'; 17 | -------------------------------------------------------------------------------- /MComponents/wwwroot/css/mcomponents.scss: -------------------------------------------------------------------------------- 1 | $white: #ffffff; 2 | $primary: #5867dd; 3 | $success: #28a745; 4 | $failure: #FF3C3C; 5 | $disabled: #f0f1f3; 6 | 7 | $text_color: #212529; 8 | $gray: #ebedf2; 9 | $dark: #1f1c1c; 10 | 11 | $secondary: #595d6e; 12 | 13 | 14 | $padding: 0.65rem; 15 | $borderRadius: 0.25rem; 16 | 17 | @import 'mcomponents-main.scss'; -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ae.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/am.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/at.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ax.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/az.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/be.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/bw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ci.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/co.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/cz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/dj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/dz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ee.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/eh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/es-ct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/es-pv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/fm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/fo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/fr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ga.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gb-eng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gb-sct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/gy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/hu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/id.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ie.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/is.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/it.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/jm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/jo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/jp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/kw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/la.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/lc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/lr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/lt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/lu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/lv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ly.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ma.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ml.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/mv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ne.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/nl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/no.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/nr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/pa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/pk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/pm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/pr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ps.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/pw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/qa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/re.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ru.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/rw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/se.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/so.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/sy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/td.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/th.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/to.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/tz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ua.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/vc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/vn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/wf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ws.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/xx.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/ye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/1x1/yt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ae.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/am.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/at.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ax.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/az.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/be.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/bw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ci.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/co.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/cz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/dj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/dz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ee.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/eh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/es-ct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/es-pv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/fm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/fo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/fr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ga.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gb-eng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gb-sct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/gy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/hu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/id.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ie.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/is.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/it.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/jm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/jo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/jp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/kp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/kw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/la.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/lc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/lr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/lt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/lu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/lv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ly.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ma.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ml.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/mv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ne.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/nl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/no.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/nr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/pa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/pk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/pm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/pr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ps.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/pw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/qa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/re.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ru.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/rw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/se.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/so.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/sy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/td.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/th.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/to.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/tz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ua.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/vc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/vn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/wf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ws.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/xx.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/ye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/images/flags/4x3/yt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MComponents/wwwroot/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents/wwwroot/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /MComponents/wwwroot/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/MComponents/wwwroot/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /Screenshots/MGrid.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/Screenshots/MGrid.PNG -------------------------------------------------------------------------------- /Screenshots/MSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/Screenshots/MSelect.png -------------------------------------------------------------------------------- /Screenshots/MWizard.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manureini/MComponents/a71b52cf60b486feb773af2fc89fb8e01c56ab9f/Screenshots/MWizard.PNG --------------------------------------------------------------------------------