@ngstarter-ui/components 21.0.48 → 21.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/component-registry.json +78 -27
- package/fesm2022/ngstarter-ui-components-country-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-data-view.mjs +70 -10
- package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-builder.mjs +273 -31
- package/fesm2022/ngstarter-ui-components-form-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-option.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-option.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-pdf-viewer.mjs +3 -3
- package/fesm2022/ngstarter-ui-components-pdf-viewer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-select.mjs +474 -27
- package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tabs.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-tabs.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-toolbar.mjs +9 -6
- package/fesm2022/ngstarter-ui-components-toolbar.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_common.scss +1 -1
- package/styles/_tokens.scss +7 -1
- package/types/ngstarter-ui-components-data-view.d.ts +23 -11
- package/types/ngstarter-ui-components-form-builder.d.ts +63 -14
- package/types/ngstarter-ui-components-select.d.ts +112 -3
- package/types/ngstarter-ui-components-toolbar.d.ts +5 -2
|
@@ -3080,6 +3080,7 @@
|
|
|
3080
3080
|
"Data view pinning pagination",
|
|
3081
3081
|
"Data view refresh",
|
|
3082
3082
|
"Data view resizable columns",
|
|
3083
|
+
"Data view row click selection",
|
|
3083
3084
|
"Data view server side empty state",
|
|
3084
3085
|
"Data view server side",
|
|
3085
3086
|
"Data view sticky columns",
|
|
@@ -3142,10 +3143,12 @@
|
|
|
3142
3143
|
"DataViewPinAlign",
|
|
3143
3144
|
"DataViewRowModelType",
|
|
3144
3145
|
"DataViewRowSelectionEvent",
|
|
3146
|
+
"DataViewRowSelectionEventSource",
|
|
3145
3147
|
"DataViewState",
|
|
3146
3148
|
"provideDataView"
|
|
3147
3149
|
],
|
|
3148
3150
|
"inputs": [
|
|
3151
|
+
"allowSingleRowSelectionByClick",
|
|
3149
3152
|
"autoHeight",
|
|
3150
3153
|
"bodyScroll",
|
|
3151
3154
|
"bufferRows",
|
|
@@ -4185,13 +4188,13 @@
|
|
|
4185
4188
|
"name": "file-type-gallery-example",
|
|
4186
4189
|
"title": "File type gallery",
|
|
4187
4190
|
"file": "projects/docs/src/app/components/file-type/_examples/file-type-gallery-example/file-type-gallery-example.html",
|
|
4188
|
-
"source": "<div class=\"grid grid-cols-3 gap-4 sm:grid-cols-4 md:grid-cols-5\">\n @for (type of types(); track type) {\n <div class=\"flex flex-col items-center gap-2 rounded-lg border border-
|
|
4191
|
+
"source": "<div class=\"grid grid-cols-3 gap-4 sm:grid-cols-4 md:grid-cols-5\">\n @for (type of types(); track type) {\n <div class=\"flex flex-col items-center gap-2 rounded-lg border border-border p-4\">\n <ngs-file-type [extension]=\"type\" class=\"size-16\"/>\n <div class=\"text-xs uppercase text-secondary\">{{ type }}</div>\n </div>\n }\n</div>"
|
|
4189
4192
|
},
|
|
4190
4193
|
{
|
|
4191
4194
|
"name": "file-type-mime-example",
|
|
4192
4195
|
"title": "File type mime",
|
|
4193
4196
|
"file": "projects/docs/src/app/components/file-type/_examples/file-type-mime-example/file-type-mime-example.html",
|
|
4194
|
-
"source": "<div class=\"grid gap-4 sm:grid-cols-2\">\n @for (file of files(); track file.name) {\n <div class=\"flex items-center gap-4 rounded-lg border border-
|
|
4197
|
+
"source": "<div class=\"grid gap-4 sm:grid-cols-2\">\n @for (file of files(); track file.name) {\n <div class=\"flex items-center gap-4 rounded-lg border border-border p-4\">\n <ngs-file-type [mimeType]=\"file.mimeType\" [fallback]=\"file.fallback\" class=\"size-12\"/>\n <div class=\"min-w-0\">\n <div class=\"truncate text-sm\">{{ file.name }}</div>\n <div class=\"truncate text-xs text-secondary\">{{ file.mimeType }}</div>\n </div>\n </div>\n }\n</div>"
|
|
4195
4198
|
}
|
|
4196
4199
|
],
|
|
4197
4200
|
"previewAsset": "projects/components/file-type/preview.svg",
|
|
@@ -4373,7 +4376,7 @@
|
|
|
4373
4376
|
"Static blocks are represented as fields with kind: \"static\". The built-in spacer block uses type: \"spacer\", width: 12, and settings.height with one of 8, 16, 24, 32, 48, or 64.",
|
|
4374
4377
|
"Use width as a 12-column span. Default fields are 12 columns unless a narrower width is set. Nested children in group are sorted and rendered inside that group container.",
|
|
4375
4378
|
"Option fields use options entries { label: string; value: any; selected?: boolean }. For select, multiple controls array values; clearable enables the clear action. For radio, settings.orientation is \"vertical\" by default and can be \"horizontal\". Hidden fields use type: \"hidden\" and render as native <input type=\"hidden\"> controls included in raw form values. Date and time fields include type: \"date\" for a single date, type: \"time\" for HH:mm time values, and type: \"date-range\" for a DateRange-like value with start/end dates. Upload fields use type: \"upload\", multiple for File[] values, and settings.accept for comma-separated MIME types such as \"*/*\" or \"image/*,application/pdf\". Upload handling can be provided with [uploadCallback] on ngs-form-builder/ngs-form-renderer or globally through provideFormBuilder({ uploadCallback }). The callback receives { field, control, event, files, fileList, multiple } and may return sync/async value stored in the form control.",
|
|
4376
|
-
"Use <ngs-form-renderer> from @ngstarter-ui/components/form-builder to render a saved FormBuilderSchema as a runtime form. The Angular class export is
|
|
4379
|
+
"Use <ngs-form-renderer> from @ngstarter-ui/components/form-builder to render a saved FormBuilderSchema as a runtime form. The Angular class export is FormRenderer.",
|
|
4377
4380
|
"Register custom placeholders through provideFormBuilder({ fields/items/settings }) using formBuilderField(), formBuilderItem(), and formBuilderSettings(). Custom field definitions can provide defaults, renderer, settings, validators, acceptsChildren, group, icon, and kind."
|
|
4378
4381
|
],
|
|
4379
4382
|
"exampleTopics": [
|
|
@@ -4426,6 +4429,7 @@
|
|
|
4426
4429
|
"FORM_BUILDER_LAYOUT_BASE_SETTINGS_SCHEMA",
|
|
4427
4430
|
"FORM_BUILDER_LAYOUT_CONTAINER_BASE_SETTINGS_SCHEMA",
|
|
4428
4431
|
"FORM_BUILDER_SECTION_BASE_SETTINGS_SCHEMA",
|
|
4432
|
+
"FORM_BUILDER_SELECT_DATA_SOURCES",
|
|
4429
4433
|
"FORM_BUILDER_SETTINGS",
|
|
4430
4434
|
"FORM_BUILDER_STATIC_BASE_SETTINGS_SCHEMA",
|
|
4431
4435
|
"FORM_BUILDER_UPLOAD_CALLBACK",
|
|
@@ -4444,10 +4448,12 @@
|
|
|
4444
4448
|
"FormBuilderItemKind",
|
|
4445
4449
|
"FormBuilderLayoutItem",
|
|
4446
4450
|
"FormBuilderOption",
|
|
4447
|
-
"FormBuilderRenderer",
|
|
4448
4451
|
"FormBuilderSchema",
|
|
4449
4452
|
"FormBuilderSection",
|
|
4450
4453
|
"FormBuilderSectionSettingsContext",
|
|
4454
|
+
"FormBuilderSelectDataSourceDefinition",
|
|
4455
|
+
"FormBuilderSelectDataSourceOptions",
|
|
4456
|
+
"FormBuilderSelectOptionsSource",
|
|
4451
4457
|
"formBuilderSettings",
|
|
4452
4458
|
"FormBuilderSettingsConfig",
|
|
4453
4459
|
"FormBuilderSettingsContext",
|
|
@@ -4458,12 +4464,16 @@
|
|
|
4458
4464
|
"FormBuilderUploadCallback",
|
|
4459
4465
|
"FormBuilderUploadContext",
|
|
4460
4466
|
"FormBuilderValidationRule",
|
|
4467
|
+
"FormRenderer",
|
|
4461
4468
|
"provideFormBuilder",
|
|
4462
4469
|
"provideFormBuilderField",
|
|
4463
4470
|
"provideFormBuilderFields",
|
|
4471
|
+
"provideFormBuilderSelectDataSource",
|
|
4472
|
+
"provideFormBuilderSelectDataSources",
|
|
4464
4473
|
"validatorsFromRules"
|
|
4465
4474
|
],
|
|
4466
4475
|
"inputs": [
|
|
4476
|
+
"canvasDropPlaceholderDelay",
|
|
4467
4477
|
"control",
|
|
4468
4478
|
"definitions",
|
|
4469
4479
|
"editableCanvas",
|
|
@@ -4486,6 +4496,7 @@
|
|
|
4486
4496
|
],
|
|
4487
4497
|
"cssTokens": [
|
|
4488
4498
|
"--ngs-card-padding",
|
|
4499
|
+
"--ngs-color-border",
|
|
4489
4500
|
"--ngs-color-danger",
|
|
4490
4501
|
"--ngs-color-on-primary-container",
|
|
4491
4502
|
"--ngs-color-on-surface",
|
|
@@ -4494,7 +4505,6 @@
|
|
|
4494
4505
|
"--ngs-color-primary",
|
|
4495
4506
|
"--ngs-color-primary-container",
|
|
4496
4507
|
"--ngs-color-surface",
|
|
4497
|
-
"--ngs-color-surface-container-low",
|
|
4498
4508
|
"--ngs-color-surface-container-lowest",
|
|
4499
4509
|
"--ngs-field-radius",
|
|
4500
4510
|
"--ngs-font-size-base",
|
|
@@ -4502,6 +4512,7 @@
|
|
|
4502
4512
|
"--ngs-font-size-sm",
|
|
4503
4513
|
"--ngs-font-size-xs",
|
|
4504
4514
|
"--ngs-line-height-base",
|
|
4515
|
+
"--ngs-radius-current",
|
|
4505
4516
|
"--ngs-radius-lg",
|
|
4506
4517
|
"--ngs-radius-md",
|
|
4507
4518
|
"--ngs-radius-sm",
|
|
@@ -5720,13 +5731,13 @@
|
|
|
5720
5731
|
"Layout with nested layouts example",
|
|
5721
5732
|
"Layout with nested layouts"
|
|
5722
5733
|
],
|
|
5723
|
-
"minimalExample": "<div class=\"h-[300px] border border-muted\">\n <ngs-layout>\n <ngs-layout-sidebar>\n <div class=\"p-6 border-r border-e-muted h-full w-[240px]\">Sidebar</div>\n </ngs-layout-sidebar>\n <ngs-layout-content class=\"p-6\">\n Body\n </ngs-layout-content>\n <ngs-layout-aside>\n <div class=\"p-6 border-
|
|
5734
|
+
"minimalExample": "<div class=\"h-[300px] border border-muted\">\n <ngs-layout>\n <ngs-layout-sidebar>\n <div class=\"p-6 border-r border-e-muted h-full w-[240px]\">Sidebar</div>\n </ngs-layout-sidebar>\n <ngs-layout-content class=\"p-6\">\n Body\n </ngs-layout-content>\n <ngs-layout-aside>\n <div class=\"p-6 border-s border-s-muted h-full w-[200px]\">Aside</div>\n </ngs-layout-aside>\n </ngs-layout>\n</div>",
|
|
5724
5735
|
"exampleFiles": [
|
|
5725
5736
|
{
|
|
5726
5737
|
"name": "layout-aside-example",
|
|
5727
5738
|
"title": "Layout aside",
|
|
5728
5739
|
"file": "projects/docs/src/app/components/layout/_examples/layout-aside-example/layout-aside-example.html",
|
|
5729
|
-
"source": "<div class=\"h-[300px] border border-muted\">\n <ngs-layout>\n <ngs-layout-sidebar>\n <div class=\"p-6 border-r border-e-muted h-full w-[240px]\">Sidebar</div>\n </ngs-layout-sidebar>\n <ngs-layout-content class=\"p-6\">\n Body\n </ngs-layout-content>\n <ngs-layout-aside>\n <div class=\"p-6 border-
|
|
5740
|
+
"source": "<div class=\"h-[300px] border border-muted\">\n <ngs-layout>\n <ngs-layout-sidebar>\n <div class=\"p-6 border-r border-e-muted h-full w-[240px]\">Sidebar</div>\n </ngs-layout-sidebar>\n <ngs-layout-content class=\"p-6\">\n Body\n </ngs-layout-content>\n <ngs-layout-aside>\n <div class=\"p-6 border-s border-s-muted h-full w-[200px]\">Aside</div>\n </ngs-layout-aside>\n </ngs-layout>\n</div>"
|
|
5730
5741
|
},
|
|
5731
5742
|
{
|
|
5732
5743
|
"name": "layout-footer-example",
|
|
@@ -6024,6 +6035,7 @@
|
|
|
6024
6035
|
"Menu With Icons",
|
|
6025
6036
|
"Menu Divider",
|
|
6026
6037
|
"Menu Heading",
|
|
6038
|
+
"Data Driven Menu",
|
|
6027
6039
|
"Menu Header & Footer",
|
|
6028
6040
|
"Nested Menu",
|
|
6029
6041
|
"Menu Positioning",
|
|
@@ -6046,10 +6058,10 @@
|
|
|
6046
6058
|
"source": "<div class=\"w-[300px] h-[300px] p-10 rounded-2xl text-center border border-muted flex items-center justify-center\"\n [ngsContextMenuTriggerFor]=\"contextMenu\">\n Right click here to trigger a context menu\n</div>\n<ngs-menu #contextMenu>\n <button ngs-menu-item>\n <ngs-icon name=\"fluent:cut-24-regular\"/>\n Cut\n </button>\n <button ngs-menu-item>\n <ngs-icon name=\"fluent:copy-24-regular\"/>\n Copy\n </button>\n <button ngs-menu-item>\n <ngs-icon name=\"fluent:clipboard-text-24-regular\"/>\n Paste\n </button>\n <button ngs-menu-item>\n <ngs-icon name=\"fluent:print-24-regular\"/>\n Print\n </button>\n</ngs-menu>"
|
|
6047
6059
|
},
|
|
6048
6060
|
{
|
|
6049
|
-
"name": "
|
|
6050
|
-
"title": "
|
|
6051
|
-
"file": "projects/docs/src/app/components/menu/_examples/
|
|
6052
|
-
"source": "<
|
|
6061
|
+
"name": "data-driven-menu-example",
|
|
6062
|
+
"title": "Data driven menu",
|
|
6063
|
+
"file": "projects/docs/src/app/components/menu/_examples/data-driven-menu-example/data-driven-menu-example.html",
|
|
6064
|
+
"source": "<div class=\"flex flex-col items-start gap-3\">\n <button ngsButton [ngsMenuTriggerFor]=\"projectMenu\">\n Project actions\n </button>\n <span class=\"text-sm text-neutral-600\">{{ selectedAction() }}</span>\n</div>\n<ngs-menu #projectMenu=\"ngsMenu\">\n @for (action of actions; track action.id) {\n <button ngs-menu-item [disabled]=\"action.disabled ?? false\" (click)=\"selectAction(action)\">\n <ngs-icon [name]=\"action.icon\"/>\n <span>{{ action.label }}</span>\n </button>\n }\n</ngs-menu>"
|
|
6053
6065
|
}
|
|
6054
6066
|
],
|
|
6055
6067
|
"previewAsset": "projects/components/menu/preview.svg",
|
|
@@ -8002,10 +8014,12 @@
|
|
|
8002
8014
|
"Multiple Selection",
|
|
8003
8015
|
"Customizing the trigger label",
|
|
8004
8016
|
"Select with search feature",
|
|
8017
|
+
"Async Data Source",
|
|
8005
8018
|
"Get set value",
|
|
8006
8019
|
"Resetting value",
|
|
8007
8020
|
"Custom trigger",
|
|
8008
|
-
"Select search"
|
|
8021
|
+
"Select search",
|
|
8022
|
+
"Async data source select"
|
|
8009
8023
|
],
|
|
8010
8024
|
"minimalExample": "<p>Basic ngs-select</p>\n<ngs-form-field class=\"w-1/2\">\n <ngs-label>Favorite food</ngs-label>\n <ngs-select>\n @for (food of foods; track food) {\n <ngs-option [value]=\"food.value\">{{food.viewValue}}</ngs-option>\n }\n </ngs-select>\n</ngs-form-field>",
|
|
8011
8025
|
"exampleFiles": [
|
|
@@ -8015,22 +8029,24 @@
|
|
|
8015
8029
|
"file": "projects/docs/src/app/forms/select/_examples/basic-select-example/basic-select-example.html",
|
|
8016
8030
|
"source": "<p>Basic ngs-select</p>\n<ngs-form-field class=\"w-1/2\">\n <ngs-label>Favorite food</ngs-label>\n <ngs-select>\n @for (food of foods; track food) {\n <ngs-option [value]=\"food.value\">{{food.viewValue}}</ngs-option>\n }\n </ngs-select>\n</ngs-form-field>"
|
|
8017
8031
|
},
|
|
8032
|
+
{
|
|
8033
|
+
"name": "async-data-source-select-example",
|
|
8034
|
+
"title": "Async data source select",
|
|
8035
|
+
"file": "projects/docs/src/app/forms/select/_examples/async-data-source-select-example/async-data-source-select-example.html",
|
|
8036
|
+
"source": "<ngs-form-field class=\"w-full max-w-md\">\n <ngs-label>Owner</ngs-label>\n <ngs-select\n [formControl]=\"owner\"\n [dataSource]=\"usersDataSource\"\n placeholder=\"Assign owner\"\n searchable\n clearable\n [pageSize]=\"20\"\n [searchDebounce]=\"150\">\n <ng-template ngsOptionContentDef let-user let-label=\"label\">\n <span class=\"flex min-w-0 flex-col\">\n <span class=\"truncate\">{{ user.name }}</span>\n <span class=\"truncate text-xs text-neutral-500\">{{ user.team }} - {{ label }}</span>\n </span>\n </ng-template>\n <ng-template ngsSelectValueDef let-user>\n {{ user.name }} - {{ user.team }}\n </ng-template>\n </ngs-select>\n</ngs-form-field>"
|
|
8037
|
+
},
|
|
8018
8038
|
{
|
|
8019
8039
|
"name": "clearable-select-example",
|
|
8020
8040
|
"title": "Clearable select",
|
|
8021
8041
|
"file": "projects/docs/src/app/forms/select/_examples/clearable-select-example/clearable-select-example.html",
|
|
8022
8042
|
"source": "<ngs-form-field class=\"w-1/2\">\n <ngs-label>Status</ngs-label>\n <ngs-select [formControl]=\"status()\" clearable>\n @for (statusOption of statuses(); track statusOption.value) {\n <ngs-option [value]=\"statusOption.value\">{{ statusOption.label }}</ngs-option>\n }\n </ngs-select>\n</ngs-form-field>"
|
|
8023
|
-
},
|
|
8024
|
-
{
|
|
8025
|
-
"name": "custom-trigger-example",
|
|
8026
|
-
"title": "Custom trigger",
|
|
8027
|
-
"file": "projects/docs/src/app/forms/select/_examples/custom-trigger-example/custom-trigger-example.html",
|
|
8028
|
-
"source": "<ngs-form-field class=\"w-1/2\">\n <ngs-label>Toppings</ngs-label>\n <ngs-select [formControl]=\"toppings\" multiple>\n <ngs-select-trigger>\n {{ toppings.value?.[0] || '' }}\n @if ((toppings.value?.length || 0) > 1) {\n <span class=\"opacity-75 text-sm\">\n (+{{ (toppings.value?.length || 0) - 1 }} {{ toppings.value?.length === 2 ? 'other' : 'others' }})\n </span>\n }\n </ngs-select-trigger>\n @for (topping of toppingList; track topping) {\n <ngs-option [value]=\"topping\">{{topping}}</ngs-option>\n }\n </ngs-select>\n</ngs-form-field>"
|
|
8029
8043
|
}
|
|
8030
8044
|
],
|
|
8031
8045
|
"previewAsset": "projects/components/select/preview.svg",
|
|
8032
8046
|
"selectors": [
|
|
8033
8047
|
"ng-template[ngsFilterTriggerValue]",
|
|
8048
|
+
"ng-template[ngsOptionContentDef]",
|
|
8049
|
+
"ng-template[ngsSelectValueDef]",
|
|
8034
8050
|
"ngs-filter-trigger",
|
|
8035
8051
|
"ngs-select",
|
|
8036
8052
|
"ngs-select-body",
|
|
@@ -8046,21 +8062,35 @@
|
|
|
8046
8062
|
"SELECT",
|
|
8047
8063
|
"SelectBody",
|
|
8048
8064
|
"SelectChange",
|
|
8065
|
+
"SelectDataSource",
|
|
8066
|
+
"SelectDataSourceOption",
|
|
8067
|
+
"SelectDataSourceRequest",
|
|
8068
|
+
"SelectDataSourceResult",
|
|
8049
8069
|
"SelectFooter",
|
|
8050
8070
|
"SelectHeader",
|
|
8051
|
-
"
|
|
8071
|
+
"SelectOptionContentContext",
|
|
8072
|
+
"SelectOptionContentDef",
|
|
8073
|
+
"SelectTrigger",
|
|
8074
|
+
"SelectValueContext",
|
|
8075
|
+
"SelectValueDef"
|
|
8052
8076
|
],
|
|
8053
8077
|
"inputs": [
|
|
8054
8078
|
"aria-describedby",
|
|
8055
8079
|
"aria-label",
|
|
8056
8080
|
"clearable",
|
|
8081
|
+
"dataSource",
|
|
8057
8082
|
"disabled",
|
|
8058
8083
|
"hideCheckIcon",
|
|
8059
8084
|
"id",
|
|
8085
|
+
"loadOnOpen",
|
|
8060
8086
|
"maxCount",
|
|
8087
|
+
"minSearchLength",
|
|
8061
8088
|
"multiple",
|
|
8089
|
+
"pageSize",
|
|
8062
8090
|
"placeholder",
|
|
8063
8091
|
"required",
|
|
8092
|
+
"searchable",
|
|
8093
|
+
"searchDebounce",
|
|
8064
8094
|
"showZero",
|
|
8065
8095
|
"tabIndex",
|
|
8066
8096
|
"value"
|
|
@@ -8076,7 +8106,10 @@
|
|
|
8076
8106
|
"--ngs-color-on-surface",
|
|
8077
8107
|
"--ngs-color-on-surface-variant",
|
|
8078
8108
|
"--ngs-color-outline",
|
|
8109
|
+
"--ngs-color-outline-variant",
|
|
8079
8110
|
"--ngs-color-primary",
|
|
8111
|
+
"--ngs-color-surface-container-high",
|
|
8112
|
+
"--ngs-color-surface-container-lowest",
|
|
8080
8113
|
"--ngs-dropdown-bg",
|
|
8081
8114
|
"--ngs-dropdown-border",
|
|
8082
8115
|
"--ngs-dropdown-item-gap",
|
|
@@ -8101,6 +8134,7 @@
|
|
|
8101
8134
|
"--ngs-filter-trigger-gap",
|
|
8102
8135
|
"--ngs-filter-trigger-value-color",
|
|
8103
8136
|
"--ngs-filter-trigger-value-font-weight",
|
|
8137
|
+
"--ngs-font-size-sm",
|
|
8104
8138
|
"--ngs-select-arrow-color",
|
|
8105
8139
|
"--ngs-select-arrow-container-width",
|
|
8106
8140
|
"--ngs-select-arrow-size",
|
|
@@ -8118,6 +8152,18 @@
|
|
|
8118
8152
|
"--ngs-select-panel-max-height",
|
|
8119
8153
|
"--ngs-select-panel-shadow",
|
|
8120
8154
|
"--ngs-select-placeholder-color",
|
|
8155
|
+
"--ngs-select-search-bg",
|
|
8156
|
+
"--ngs-select-search-border",
|
|
8157
|
+
"--ngs-select-search-color",
|
|
8158
|
+
"--ngs-select-search-focus-border-color",
|
|
8159
|
+
"--ngs-select-search-font-size",
|
|
8160
|
+
"--ngs-select-search-height",
|
|
8161
|
+
"--ngs-select-search-padding-inline",
|
|
8162
|
+
"--ngs-select-state-action-color",
|
|
8163
|
+
"--ngs-select-state-color",
|
|
8164
|
+
"--ngs-select-state-font-size",
|
|
8165
|
+
"--ngs-select-state-min-height",
|
|
8166
|
+
"--ngs-select-state-padding",
|
|
8121
8167
|
"--ngs-select-trigger-gap"
|
|
8122
8168
|
],
|
|
8123
8169
|
"example": "<ngs-select [value]=\"value\">...</ngs-select>"
|
|
@@ -9426,7 +9472,7 @@
|
|
|
9426
9472
|
"name": "tab-panel-with-panels-inside-example",
|
|
9427
9473
|
"title": "Tab panel with panels inside",
|
|
9428
9474
|
"file": "projects/docs/src/app/navigation/tab-panel/_examples/tab-panel-with-panels-inside-example/tab-panel-with-panels-inside-example.html",
|
|
9429
|
-
"source": "<div class=\"flex gap-10\">\n <ngs-tab-panel activeItemId=\"home\" class=\"h-[500px]\">\n <ngs-tab-panel-content>\n <ngs-tab-panel-nav>\n <ngs-tab-panel-item for=\"home\">\n <ngs-icon name=\"fluent:home-24-regular\" ngsTabPanelItemIcon/>\n <ngs-tab-panel-item-text>Home</ngs-tab-panel-item-text>\n </ngs-tab-panel-item>\n <ngs-tab-panel-item for=\"code\">\n <ngs-icon name=\"fluent:code-24-regular\" ngsTabPanelItemIcon/>\n <ngs-tab-panel-item-text>Code</ngs-tab-panel-item-text>\n </ngs-tab-panel-item>\n </ngs-tab-panel-nav>\n </ngs-tab-panel-content>\n <ngs-tab-panel-aside class=\"bg-surface-container-low rounded-xl\">\n <ng-template ngsTabPanelAsideContent=\"home\">\n <ngs-panel>\n <ngs-panel-header class=\"border-b border-b-
|
|
9475
|
+
"source": "<div class=\"flex gap-10\">\n <ngs-tab-panel activeItemId=\"home\" class=\"h-[500px]\">\n <ngs-tab-panel-content>\n <ngs-tab-panel-nav>\n <ngs-tab-panel-item for=\"home\">\n <ngs-icon name=\"fluent:home-24-regular\" ngsTabPanelItemIcon/>\n <ngs-tab-panel-item-text>Home</ngs-tab-panel-item-text>\n </ngs-tab-panel-item>\n <ngs-tab-panel-item for=\"code\">\n <ngs-icon name=\"fluent:code-24-regular\" ngsTabPanelItemIcon/>\n <ngs-tab-panel-item-text>Code</ngs-tab-panel-item-text>\n </ngs-tab-panel-item>\n </ngs-tab-panel-nav>\n </ngs-tab-panel-content>\n <ngs-tab-panel-aside class=\"bg-surface-container-low rounded-xl\">\n <ng-template ngsTabPanelAsideContent=\"home\">\n <ngs-panel>\n <ngs-panel-header class=\"border-b border-b-border flex items-center px-4\">Home Header</ngs-panel-header>\n <ngs-panel-content class=\"p-4\">\n <div class=\"h-[1000px]\">Home Content</div>\n </ngs-panel-content>\n <ngs-panel-footer class=\"border-t border-t-border flex items-center px-4\">Footer</ngs-panel-footer>\n </ngs-panel>\n </ng-template>\n <ng-template ngsTabPanelAsideContent=\"code\">\n <ngs-panel>\n <ngs-panel-header class=\"border-b border-b-border flex items-center px-4\">Code Header</ngs-panel-header>\n <ngs-panel-content class=\"p-4\">\n <div class=\"h-[1000px]\">Code Content</div>\n </ngs-panel-content>\n <ngs-panel-footer class=\"border-t border-t-border flex items-center px-4\">Footer</ngs-panel-footer>\n </ngs-panel>\n </ng-\n..."
|
|
9430
9476
|
}
|
|
9431
9477
|
],
|
|
9432
9478
|
"previewAsset": "projects/components/tab-panel/preview.svg",
|
|
@@ -9731,12 +9777,12 @@
|
|
|
9731
9777
|
"--ngs-color-border",
|
|
9732
9778
|
"--ngs-color-on-surface-variant",
|
|
9733
9779
|
"--ngs-color-primary",
|
|
9734
|
-
"--ngs-color-subtle",
|
|
9735
9780
|
"--ngs-color-surface-container-high",
|
|
9736
9781
|
"--ngs-tab-content-padding",
|
|
9737
9782
|
"--ngs-tab-group-animation-duration",
|
|
9738
9783
|
"--ngs-tab-group-header-border-bottom",
|
|
9739
9784
|
"--ngs-tab-group-header-border-top",
|
|
9785
|
+
"--ngs-tab-group-header-height",
|
|
9740
9786
|
"--ngs-tab-group-pagination-control-after-border-left",
|
|
9741
9787
|
"--ngs-tab-group-pagination-control-before-border-right",
|
|
9742
9788
|
"--ngs-tab-label-active-border-bottom",
|
|
@@ -10300,25 +10346,25 @@
|
|
|
10300
10346
|
"Toolbar overflow",
|
|
10301
10347
|
"Toolbar nav"
|
|
10302
10348
|
],
|
|
10303
|
-
"minimalExample": "<ngs-toolbar>\n <ngs-toolbar-title>My App</ngs-toolbar-title>\n <ngs-toolbar-spacer/>\n <button>Login</button>\n</ngs-toolbar>",
|
|
10349
|
+
"minimalExample": "<ngs-toolbar>\n <ngs-toolbar-title appearance=\"large\">My App</ngs-toolbar-title>\n <ngs-toolbar-spacer/>\n <button>Login</button>\n</ngs-toolbar>",
|
|
10304
10350
|
"exampleFiles": [
|
|
10305
10351
|
{
|
|
10306
10352
|
"name": "basic-toolbar-example",
|
|
10307
10353
|
"title": "Basic toolbar",
|
|
10308
10354
|
"file": "projects/docs/src/app/components/toolbar/_examples/basic-toolbar-example/basic-toolbar-example.html",
|
|
10309
|
-
"source": "<ngs-toolbar>\n <ngs-toolbar-title>My App</ngs-toolbar-title>\n <ngs-toolbar-spacer/>\n <button>Login</button>\n</ngs-toolbar>"
|
|
10355
|
+
"source": "<ngs-toolbar>\n <ngs-toolbar-title appearance=\"large\">My App</ngs-toolbar-title>\n <ngs-toolbar-spacer/>\n <button>Login</button>\n</ngs-toolbar>"
|
|
10310
10356
|
},
|
|
10311
10357
|
{
|
|
10312
10358
|
"name": "multi-row-toolbar-example",
|
|
10313
10359
|
"title": "Multi row toolbar",
|
|
10314
10360
|
"file": "projects/docs/src/app/components/toolbar/_examples/multi-row-toolbar-example/multi-row-toolbar-example.html",
|
|
10315
|
-
"source": "<ngs-toolbar>\n <ngs-toolbar-row>\n <ngs-toolbar-title>Multi-row Toolbar</ngs-toolbar-title>\n <ngs-toolbar-spacer></ngs-toolbar-spacer>\n <ngs-toolbar-item>Menu</ngs-toolbar-item>\n </ngs-toolbar-row>\n <ngs-toolbar-row>\n <ngs-toolbar-item>Second row content</ngs-toolbar-item>\n </ngs-toolbar-row>\n</ngs-toolbar>"
|
|
10361
|
+
"source": "<ngs-toolbar>\n <ngs-toolbar-row>\n <ngs-toolbar-title appearance=\"large\">Multi-row Toolbar</ngs-toolbar-title>\n <ngs-toolbar-spacer></ngs-toolbar-spacer>\n <ngs-toolbar-item>Menu</ngs-toolbar-item>\n </ngs-toolbar-row>\n <ngs-toolbar-row>\n <ngs-toolbar-item>Second row content</ngs-toolbar-item>\n </ngs-toolbar-row>\n</ngs-toolbar>"
|
|
10316
10362
|
},
|
|
10317
10363
|
{
|
|
10318
10364
|
"name": "toolbar-nav-example",
|
|
10319
10365
|
"title": "Toolbar nav",
|
|
10320
10366
|
"file": "projects/docs/src/app/components/toolbar/_examples/toolbar-nav-example/toolbar-nav-example.html",
|
|
10321
|
-
"source": "<ngs-toolbar>\n <ngs-toolbar-title>Nav Example</ngs-toolbar-title>\n <ngs-toolbar-nav>\n <ngs-toolbar-nav-link [active]=\"true\">Home</ngs-toolbar-nav-link>\n <ngs-toolbar-nav-link>About</ngs-toolbar-nav-link>\n <ngs-toolbar-nav-link>Contact</ngs-toolbar-nav-link>\n </ngs-toolbar-nav>\n <ngs-toolbar-spacer />\n <ngs-toolbar-nav>\n <a ngs-toolbar-nav-link [routerLink]=\"['/dashboard']\">Dashboard</a>\n </ngs-toolbar-nav>\n</ngs-toolbar>"
|
|
10367
|
+
"source": "<ngs-toolbar>\n <ngs-toolbar-title appearance=\"large\">Nav Example</ngs-toolbar-title>\n <ngs-toolbar-nav>\n <ngs-toolbar-nav-link [active]=\"true\">Home</ngs-toolbar-nav-link>\n <ngs-toolbar-nav-link>About</ngs-toolbar-nav-link>\n <ngs-toolbar-nav-link>Contact</ngs-toolbar-nav-link>\n </ngs-toolbar-nav>\n <ngs-toolbar-spacer />\n <ngs-toolbar-nav>\n <a ngs-toolbar-nav-link [routerLink]=\"['/dashboard']\">Dashboard</a>\n </ngs-toolbar-nav>\n</ngs-toolbar>"
|
|
10322
10368
|
}
|
|
10323
10369
|
],
|
|
10324
10370
|
"previewAsset": "projects/components/toolbar/preview.svg",
|
|
@@ -10342,10 +10388,12 @@
|
|
|
10342
10388
|
"ToolbarRow",
|
|
10343
10389
|
"ToolbarSpacer",
|
|
10344
10390
|
"ToolbarSubtitle",
|
|
10345
|
-
"ToolbarTitle"
|
|
10391
|
+
"ToolbarTitle",
|
|
10392
|
+
"ToolbarTitleAppearance"
|
|
10346
10393
|
],
|
|
10347
10394
|
"inputs": [
|
|
10348
10395
|
"active",
|
|
10396
|
+
"appearance",
|
|
10349
10397
|
"hidden"
|
|
10350
10398
|
],
|
|
10351
10399
|
"outputs": [],
|
|
@@ -10360,6 +10408,7 @@
|
|
|
10360
10408
|
"--ngs-nav-item-hover-color",
|
|
10361
10409
|
"--ngs-nav-item-padding",
|
|
10362
10410
|
"--ngs-nav-item-radius",
|
|
10411
|
+
"--ngs-toolbar-gap",
|
|
10363
10412
|
"--ngs-toolbar-nav-link-active-color",
|
|
10364
10413
|
"--ngs-toolbar-nav-link-color",
|
|
10365
10414
|
"--ngs-toolbar-nav-link-font-size",
|
|
@@ -10369,7 +10418,9 @@
|
|
|
10369
10418
|
"--ngs-toolbar-nav-link-radius",
|
|
10370
10419
|
"--ngs-toolbar-subtitle-color",
|
|
10371
10420
|
"--ngs-toolbar-subtitle-font-size",
|
|
10372
|
-
"--ngs-toolbar-subtitle-weight"
|
|
10421
|
+
"--ngs-toolbar-subtitle-weight",
|
|
10422
|
+
"--ngs-toolbar-title-font-size",
|
|
10423
|
+
"--ngs-toolbar-title-font-weight"
|
|
10373
10424
|
],
|
|
10374
10425
|
"example": null
|
|
10375
10426
|
},
|
|
@@ -557,7 +557,7 @@ class CountrySelect {
|
|
|
557
557
|
provide: FormFieldControl,
|
|
558
558
|
useExisting: forwardRef(() => CountrySelect),
|
|
559
559
|
},
|
|
560
|
-
], viewQueries: [{ propertyName: "ngsSelect", first: true, predicate: ["ngsSelect"], descendants: true, isSignal: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }], exportAs: ["ngsCountrySelect"], ngImport: i0, template: "<ngs-select\n #ngsSelect\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\"\n [id]=\"id + '-select'\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequiredSignal()\"\n [disabled]=\"isDisabledSignal()\"\n [multiple]=\"multiple()\"\n [hideCheckIcon]=\"hideCheckIcon()\"\n [clearable]=\"clearable()\"\n [aria-label]=\"ariaLabel()\"\n [tabIndex]=\"tabIndex()\"\n [aria-describedby]=\"ariaDescribedby()\">\n <ngs-select-trigger class=\"select-trigger\">\n @let selectedCountries = selectedCountryDisplays();\n @if (selectedCountries.length === 1) {\n @let selectedCountry = selectedCountries[0];\n <span class=\"ngs-select-trigger-content\">\n <span class=\"flag-icon\" aria-hidden=\"true\">{{ selectedCountry.flag }}</span>\n <span class=\"ngs-select-trigger-text\">\n {{ selectedCountry.name }}\n @if (showCountryCode()) {\n <span class=\"code\">({{ selectedCountry.code }})</span>\n }\n </span>\n </span>\n } @else if (selectedCountries.length > 1) {\n <span class=\"ngs-select-trigger-content\">\n <span class=\"ngs-select-trigger-text\">\n {{ selectedCountriesText() }}\n </span>\n </span>\n }\n\n </ngs-select-trigger>\n\n <ngs-select-header>\n <div class=\"sticky top-0 z-1 bg-surface-container-lowest\">\n <input #searchInput\n type=\"text\"\n placeholder=\"Search...\"\n autocomplete=\"off\"\n [ngModel]=\"searchTerm()\"\n (ngModelChange)=\"onCountrySearch($event)\"\n class=\"w-full text-sm focus:outline-none border-b border-surface-container-high focus:border-b-primary h-14 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-1 top-1/2 -translate-y-1/2\">\n <button\n ngsIconButton\n (click)=\"clearSearch($event)\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <ngs-icon name=\"fluent:dismiss-24-regular\"/>\n </button>\n </div>\n }\n </div>\n </ngs-select-header>\n\n @for (country of visibleCountries(); track country.code) {\n <ngs-option [value]=\"country.code\">\n <div class=\"flex items-center gap-2\">\n <span class=\"select-option-icon text-2xl\" aria-hidden=\"true\">{{ country.flag }}</span>\n <span class=\"select-option-text\">\n {{ country.name }}\n @if (showCountryCode()) {\n <span class=\"code\">({{ country.code }})</span>\n }\n </span>\n </div>\n </ngs-option>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Country not found</span>.\n </div>\n }\n }\n\n @if (visibleCountryCount() < filteredCountries().length) {\n <div class=\"select-loading\">\n Loading more countries...\n </div>\n }\n</ngs-select>\n", styles: [":host{display:block}:host .flag-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;font-size:22px;line-height:1}:host .select-option-content{display:flex;align-items:center;gap:var(--ngs-dropdown-item-gap);min-width:0;width:100%;height:100%;overflow:hidden;white-space:nowrap}:host .select-option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .code{text-transform:uppercase;color:var(--ngs-color-neutral-500)}:host .select-loading{padding:calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 4);color:var(--ngs-color-on-surface-variant);font-size:var(--ngs-font-size-sm)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Option, selector: "ngs-option", inputs: ["value", "data", "disabled", "selected"], outputs: ["onSelectionChange"], exportAs: ["ngsOption"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "component", type: Select, selector: "ngs-select", inputs: ["id", "placeholder", "disabled", "required", "multiple", "hideCheckIcon", "clearable", "aria-label", "tabIndex", "aria-describedby", "value"], outputs: ["selectionChange", "opened", "closed", "valueChange"], exportAs: ["ngsSelect"] }, { kind: "directive", type: SelectTrigger, selector: "ngs-select-trigger" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: Button, selector: " button[ngsButton], button[ngsIconButton], a[ngsButton], a[ngsIconButton] ", inputs: ["ngsButton", "ngsIconButton", "loading", "disabled", "disabledInteractive", "disableRipple", "reverse", "fullWidth", "hideTextOnMobile"], exportAs: ["ngsButton"] }, { kind: "component", type: SelectHeader, selector: "ngs-select-header" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
560
|
+
], viewQueries: [{ propertyName: "ngsSelect", first: true, predicate: ["ngsSelect"], descendants: true, isSignal: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }], exportAs: ["ngsCountrySelect"], ngImport: i0, template: "<ngs-select\n #ngsSelect\n [value]=\"value\"\n (selectionChange)=\"onSelectionChange($event)\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\"\n [id]=\"id + '-select'\"\n [placeholder]=\"placeholder\"\n [required]=\"isRequiredSignal()\"\n [disabled]=\"isDisabledSignal()\"\n [multiple]=\"multiple()\"\n [hideCheckIcon]=\"hideCheckIcon()\"\n [clearable]=\"clearable()\"\n [aria-label]=\"ariaLabel()\"\n [tabIndex]=\"tabIndex()\"\n [aria-describedby]=\"ariaDescribedby()\">\n <ngs-select-trigger class=\"select-trigger\">\n @let selectedCountries = selectedCountryDisplays();\n @if (selectedCountries.length === 1) {\n @let selectedCountry = selectedCountries[0];\n <span class=\"ngs-select-trigger-content\">\n <span class=\"flag-icon\" aria-hidden=\"true\">{{ selectedCountry.flag }}</span>\n <span class=\"ngs-select-trigger-text\">\n {{ selectedCountry.name }}\n @if (showCountryCode()) {\n <span class=\"code\">({{ selectedCountry.code }})</span>\n }\n </span>\n </span>\n } @else if (selectedCountries.length > 1) {\n <span class=\"ngs-select-trigger-content\">\n <span class=\"ngs-select-trigger-text\">\n {{ selectedCountriesText() }}\n </span>\n </span>\n }\n\n </ngs-select-trigger>\n\n <ngs-select-header>\n <div class=\"sticky top-0 z-1 bg-surface-container-lowest\">\n <input #searchInput\n type=\"text\"\n placeholder=\"Search...\"\n autocomplete=\"off\"\n [ngModel]=\"searchTerm()\"\n (ngModelChange)=\"onCountrySearch($event)\"\n class=\"w-full text-sm focus:outline-none border-b border-surface-container-high focus:border-b-primary h-14 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-1 top-1/2 -translate-y-1/2\">\n <button\n ngsIconButton\n (click)=\"clearSearch($event)\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <ngs-icon name=\"fluent:dismiss-24-regular\"/>\n </button>\n </div>\n }\n </div>\n </ngs-select-header>\n\n @for (country of visibleCountries(); track country.code) {\n <ngs-option [value]=\"country.code\">\n <div class=\"flex items-center gap-2\">\n <span class=\"select-option-icon text-2xl\" aria-hidden=\"true\">{{ country.flag }}</span>\n <span class=\"select-option-text\">\n {{ country.name }}\n @if (showCountryCode()) {\n <span class=\"code\">({{ country.code }})</span>\n }\n </span>\n </div>\n </ngs-option>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Country not found</span>.\n </div>\n }\n }\n\n @if (visibleCountryCount() < filteredCountries().length) {\n <div class=\"select-loading\">\n Loading more countries...\n </div>\n }\n</ngs-select>\n", styles: [":host{display:block}:host .flag-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;font-size:22px;line-height:1}:host .select-option-content{display:flex;align-items:center;gap:var(--ngs-dropdown-item-gap);min-width:0;width:100%;height:100%;overflow:hidden;white-space:nowrap}:host .select-option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .code{text-transform:uppercase;color:var(--ngs-color-neutral-500)}:host .select-loading{padding:calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 4);color:var(--ngs-color-on-surface-variant);font-size:var(--ngs-font-size-sm)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: Option, selector: "ngs-option", inputs: ["value", "data", "disabled", "selected"], outputs: ["onSelectionChange"], exportAs: ["ngsOption"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "component", type: Select, selector: "ngs-select", inputs: ["id", "placeholder", "disabled", "required", "multiple", "hideCheckIcon", "clearable", "dataSource", "pageSize", "searchable", "searchDebounce", "minSearchLength", "loadOnOpen", "aria-label", "tabIndex", "aria-describedby", "value"], outputs: ["selectionChange", "opened", "closed", "valueChange"], exportAs: ["ngsSelect"] }, { kind: "directive", type: SelectTrigger, selector: "ngs-select-trigger" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: Button, selector: " button[ngsButton], button[ngsIconButton], a[ngsButton], a[ngsIconButton] ", inputs: ["ngsButton", "ngsIconButton", "loading", "disabled", "disabledInteractive", "disableRipple", "reverse", "fullWidth", "hideTextOnMobile"], exportAs: ["ngsButton"] }, { kind: "component", type: SelectHeader, selector: "ngs-select-header" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
561
561
|
}
|
|
562
562
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CountrySelect, decorators: [{
|
|
563
563
|
type: Component,
|