@ngstarter-ui/components 1.0.44 → 1.0.46

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/README.md CHANGED
@@ -0,0 +1,213 @@
1
+ # NgStarter UI
2
+
3
+ NgStarter UI is an Angular component kit for admin panels and product dashboards. The
4
+ component package is published as `@ngstarter-ui/components` and is organized around
5
+ secondary entry points such as `@ngstarter-ui/components/button`,
6
+ `@ngstarter-ui/components/dialog`, and `@ngstarter-ui/components/table`.
7
+
8
+ ## Installation
9
+
10
+ For a new Angular 21 project, create the app with SCSS and add NgStarter UI:
11
+
12
+ ```bash
13
+ npx @angular/cli@21 new project-name --style=scss
14
+ cd project-name
15
+ npx ng add @ngstarter-ui/components
16
+ ```
17
+
18
+ For an existing Angular 21 app, run the same schematic from your project root:
19
+
20
+ ```bash
21
+ npx ng add @ngstarter-ui/components
22
+ ```
23
+
24
+ NgStarter components are standalone Angular components. Import each component from its
25
+ secondary entry point:
26
+
27
+ ```ts
28
+ import { Button } from '@ngstarter-ui/components/button';
29
+ import { Dialog } from '@ngstarter-ui/components/dialog';
30
+ import { Input } from '@ngstarter-ui/components/input';
31
+ ```
32
+
33
+ ## Theming
34
+
35
+ Import one theme stylesheet once in your app styles:
36
+
37
+ ```scss
38
+ @use '@ngstarter-ui/components/styles/themes/default';
39
+ ```
40
+
41
+ Other presets are available for faster admin styling:
42
+
43
+ ```scss
44
+ @use '@ngstarter-ui/components/styles/themes/enterprise';
45
+ @use '@ngstarter-ui/components/styles/themes/modern';
46
+ @use '@ngstarter-ui/components/styles/themes/compact';
47
+ ```
48
+
49
+ Themes are driven by `--ngs-*` design tokens. The main layers are:
50
+
51
+ - primitive tokens: spacing, radius, font sizes, shadows
52
+ - semantic tokens: `--ngs-color-primary`, `--ngs-color-surface`, `--ngs-color-danger`
53
+ - component tokens: `--ngs-button-height`, `--ngs-field-radius`, `--ngs-table-row-height`
54
+
55
+ You can switch theme, density, radius, and color scheme at runtime:
56
+
57
+ ```ts
58
+ import { provideNgsTheme } from '@ngstarter-ui/components/core';
59
+
60
+ export const appConfig = {
61
+ providers: [
62
+ provideNgsTheme({
63
+ theme: 'enterprise',
64
+ colorScheme: 'auto',
65
+ density: 'compact',
66
+ radius: 'small',
67
+ primaryColor: '#155eef',
68
+ }),
69
+ ],
70
+ };
71
+ ```
72
+
73
+ For user preferences or tenant branding, inject `ThemeManagerService`:
74
+
75
+ ```ts
76
+ themeManager.setTheme('modern');
77
+ themeManager.setDensity('spacious');
78
+ themeManager.setRadius('large');
79
+ themeManager.setPrimaryColor('#7c3aed');
80
+ themeManager.changeColorScheme('dark');
81
+ ```
82
+
83
+ The same values can be controlled with document attributes:
84
+
85
+ ```html
86
+ <html data-ngs-theme="enterprise" data-ngs-density="compact" data-ngs-radius="small">
87
+ ```
88
+
89
+ ## Component Demos
90
+
91
+ The documentation site includes live demos and API examples for each component:
92
+
93
+ - [Documentation](https://ngstarter.com)
94
+ - [Installation](https://ngstarter.com/installation)
95
+ - [AI component registry](https://ngstarter.com/ai/component-registry.json)
96
+
97
+ ### Forms
98
+
99
+ - [Autocomplete](https://ngstarter.com/forms/autocomplete)
100
+ - [Button](https://ngstarter.com/forms/buttons)
101
+ - [Button Toggle](https://ngstarter.com/forms/button-toggle)
102
+ - [Checkbox](https://ngstarter.com/forms/checkbox)
103
+ - [Country Select](https://ngstarter.com/forms/country)
104
+ - [Currency Select](https://ngstarter.com/forms/currency-select)
105
+ - [Date Format Select](https://ngstarter.com/forms/date-format-select)
106
+ - [Form Renderer](https://ngstarter.com/forms/form-renderer)
107
+ - [Inline Text Edit](https://ngstarter.com/forms/inline-text-edit)
108
+ - [Input](https://ngstarter.com/forms/input)
109
+ - [Input Mask](https://ngstarter.com/forms/input-mask)
110
+ - [Input Validator](https://ngstarter.com/forms/input-validator)
111
+ - [Number Input](https://ngstarter.com/forms/number-input)
112
+ - [Password Strength](https://ngstarter.com/forms/password-strength)
113
+ - [Phone Input](https://ngstarter.com/forms/phone-input)
114
+ - [Pin Input](https://ngstarter.com/forms/pin-input)
115
+ - [Radio](https://ngstarter.com/forms/radio)
116
+ - [Segmented](https://ngstarter.com/forms/segmented)
117
+ - [Select](https://ngstarter.com/forms/select)
118
+ - [Slide Toggle](https://ngstarter.com/forms/slide-toggle)
119
+ - [Timezone Select](https://ngstarter.com/forms/timezone)
120
+
121
+ ### Navigation
122
+
123
+ - [Breadcrumbs](https://ngstarter.com/navigation/breadcrumbs)
124
+ - [Navigation](https://ngstarter.com/navigation/navigation)
125
+ - [Rail Navigation](https://ngstarter.com/navigation/rail-nav)
126
+ - [Sidebar](https://ngstarter.com/navigation/sidebar)
127
+ - [Side Panel](https://ngstarter.com/navigation/side-panel)
128
+ - [Tab Panel](https://ngstarter.com/navigation/tab-panel)
129
+
130
+ ### Data, Layout, And Libraries
131
+
132
+ - [Content Editor](https://ngstarter.com/libraries/content-editor)
133
+ - [Data View](https://ngstarter.com/libraries/data-view)
134
+ - [Image Designer](https://ngstarter.com/libraries/image-designer)
135
+ - [Kanban Board](https://ngstarter.com/libraries/kanban-board)
136
+ - [Micro Charts](https://ngstarter.com/micro-charts)
137
+ - [Video Player](https://ngstarter.com/libraries/video-player)
138
+ - [Visual Builder](https://ngstarter.com/libraries/visual-builder)
139
+
140
+ ### Components
141
+
142
+ - [Action Required](https://ngstarter.com/components/action-required)
143
+ - [Alert](https://ngstarter.com/components/alert)
144
+ - [Announcement](https://ngstarter.com/components/announcement)
145
+ - [Avatar](https://ngstarter.com/components/avatar)
146
+ - [Badge](https://ngstarter.com/components/badge)
147
+ - [Block Loader](https://ngstarter.com/components/block-loader)
148
+ - [Bottom Sheet](https://ngstarter.com/components/bottom-sheet)
149
+ - [Card](https://ngstarter.com/components/card)
150
+ - [Card Overlay](https://ngstarter.com/components/card-overlay)
151
+ - [Carousel](https://ngstarter.com/components/carousel)
152
+ - [Chips](https://ngstarter.com/components/chips)
153
+ - [Code Highlighter](https://ngstarter.com/components/code-highlighter)
154
+ - [Color Picker](https://ngstarter.com/components/color-picker)
155
+ - [Color Switcher](https://ngstarter.com/components/color-switcher)
156
+ - [Command Bar](https://ngstarter.com/components/command-bar)
157
+ - [Comment Editor](https://ngstarter.com/components/comment-editor)
158
+ - [Comparison Slider](https://ngstarter.com/components/comparison-slider)
159
+ - [Confirm](https://ngstarter.com/components/confirm)
160
+ - [Content Fade](https://ngstarter.com/components/content-fade)
161
+ - [Cookie Popup](https://ngstarter.com/components/cookie-popup)
162
+ - [Crop](https://ngstarter.com/components/crop)
163
+ - [Datepicker](https://ngstarter.com/components/datepicker)
164
+ - [Dialog](https://ngstarter.com/components/dialog)
165
+ - [Divider](https://ngstarter.com/components/divider)
166
+ - [Drawer](https://ngstarter.com/components/drawer)
167
+ - [Emoji Picker](https://ngstarter.com/components/emoji-picker)
168
+ - [Empty State](https://ngstarter.com/components/empty-state)
169
+ - [Expand](https://ngstarter.com/components/expand)
170
+ - [Expansion Panel](https://ngstarter.com/components/expansion-panel)
171
+ - [Filter Builder](https://ngstarter.com/components/filter-builder)
172
+ - [Gauge](https://ngstarter.com/components/gauge)
173
+ - [Grid](https://ngstarter.com/components/grid)
174
+ - [Guided Tour](https://ngstarter.com/components/guided-tour)
175
+ - [Icon](https://ngstarter.com/components/icon)
176
+ - [Image Placeholder](https://ngstarter.com/components/image-placeholder)
177
+ - [Image Resizer](https://ngstarter.com/components/image-resizer)
178
+ - [Image Viewer](https://ngstarter.com/components/image-viewer)
179
+ - [Image Zoom Viewer](https://ngstarter.com/components/image-zoom-viewer)
180
+ - [Incidents](https://ngstarter.com/components/incidents)
181
+ - [Kbd](https://ngstarter.com/components/kbd)
182
+ - [Layout](https://ngstarter.com/components/layout)
183
+ - [List](https://ngstarter.com/components/list)
184
+ - [Marquee](https://ngstarter.com/components/marquee)
185
+ - [Menu](https://ngstarter.com/components/menu)
186
+ - [Notifications](https://ngstarter.com/components/notifications)
187
+ - [Paginator](https://ngstarter.com/components/paginator)
188
+ - [Panel](https://ngstarter.com/components/panel)
189
+ - [Popover](https://ngstarter.com/components/popover)
190
+ - [Progress Bar](https://ngstarter.com/components/progress-bar)
191
+ - [Progress Spinner](https://ngstarter.com/components/progress-spinner)
192
+ - [Resizable Container](https://ngstarter.com/components/resizable-container)
193
+ - [Screen Loader](https://ngstarter.com/components/screen-loader)
194
+ - [Sidenav](https://ngstarter.com/components/sidenav)
195
+ - [Signature Pad](https://ngstarter.com/components/signature-pad)
196
+ - [Skeleton](https://ngstarter.com/components/skeleton)
197
+ - [Slider](https://ngstarter.com/components/slider)
198
+ - [Snack Bar](https://ngstarter.com/components/snackbar)
199
+ - [Split Pane](https://ngstarter.com/components/split-pane)
200
+ - [Stepper](https://ngstarter.com/components/stepper)
201
+ - [Suggestions](https://ngstarter.com/components/suggestions)
202
+ - [Table](https://ngstarter.com/components/table)
203
+ - [Tabs](https://ngstarter.com/components/tabs)
204
+ - [Text Editor](https://ngstarter.com/components/text-editor)
205
+ - [Thumbnail Maker](https://ngstarter.com/components/thumbnail-maker)
206
+ - [Tiles](https://ngstarter.com/components/tiles)
207
+ - [Timeline](https://ngstarter.com/components/timeline)
208
+ - [Timepicker](https://ngstarter.com/components/timepicker)
209
+ - [Toolbar](https://ngstarter.com/components/toolbar)
210
+ - [Tooltip](https://ngstarter.com/components/tooltip)
211
+ - [Tree](https://ngstarter.com/components/tree)
212
+ - [Upload](https://ngstarter.com/components/upload)
213
+ - [Video Viewer](https://ngstarter.com/components/video-viewer)
@@ -3936,13 +3936,16 @@
3936
3936
  "--ngs-field-error-color",
3937
3937
  "--ngs-field-font-size",
3938
3938
  "--ngs-field-height",
3939
+ "--ngs-field-infix-padding-bottom",
3940
+ "--ngs-field-infix-padding-top",
3939
3941
  "--ngs-field-input-height",
3940
3942
  "--ngs-field-label-color",
3941
3943
  "--ngs-field-label-float-font-size",
3942
3944
  "--ngs-field-line-height",
3945
+ "--ngs-field-no-label-padding-y",
3943
3946
  "--ngs-field-padding-x",
3944
3947
  "--ngs-field-radius",
3945
- "--ngs-form-field-affix-button-height",
3948
+ "--ngs-form-field-affix-gap",
3946
3949
  "--ngs-form-field-bg",
3947
3950
  "--ngs-form-field-border-color",
3948
3951
  "--ngs-form-field-border-radius",
@@ -3951,7 +3954,8 @@
3951
3954
  "--ngs-form-field-container-min-height",
3952
3955
  "--ngs-form-field-disabled-bg",
3953
3956
  "--ngs-form-field-error-color",
3954
- "--ngs-form-field-icon-button-height",
3957
+ "--ngs-form-field-icon-affix-padding-x",
3958
+ "--ngs-form-field-icon-button-affix-padding-x",
3955
3959
  "--ngs-form-field-infix-padding-bottom",
3956
3960
  "--ngs-form-field-infix-padding-top",
3957
3961
  "--ngs-form-field-input-height",
@@ -193,7 +193,7 @@ class FormField {
193
193
  provide: FORM_FIELD,
194
194
  useExisting: FormField
195
195
  }
196
- ], queries: [{ propertyName: "control", first: true, predicate: FormFieldControl, descendants: true, isSignal: true }, { propertyName: "labelChild", first: true, predicate: Label, descendants: true, isSignal: true }, { propertyName: "prefixChildren", predicate: Prefix, isSignal: true }, { propertyName: "iconPrefixChildren", predicate: IconPrefix, isSignal: true }, { propertyName: "iconButtonPrefixChildren", predicate: IconButtonPrefix, isSignal: true }, { propertyName: "textPrefixChildren", predicate: TextPrefix, isSignal: true }, { propertyName: "suffixChildren", predicate: Suffix, isSignal: true }, { propertyName: "iconSuffixChildren", predicate: IconSuffix, isSignal: true }, { propertyName: "iconButtonSuffixChildren", predicate: IconButtonSuffix, isSignal: true }, { propertyName: "textSuffixChildren", predicate: TextSuffix, isSignal: true }, { propertyName: "hintChildren", predicate: Hint, isSignal: true }, { propertyName: "errorChildren", predicate: Error, isSignal: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }], exportAs: ["ngsFormField"], ngImport: i0, template: "<div class=\"ngs-form-field-wrapper\" #wrapper>\n <div class=\"ngs-form-field-container\" #container>\n @if (prefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-prefix\">\n <ng-content select=\"[ngsPrefix]\"/>\n </div>\n }\n\n @if (iconPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-prefix\">\n <ng-content select=\"[ngsIconPrefix]\"/>\n </div>\n }\n\n @if (iconButtonPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-button-prefix\">\n <ng-content select=\"[ngsIconButtonPrefix]\"/>\n </div>\n }\n\n @if (textPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-text-affix ngs-form-field-text-prefix\">\n <ng-content select=\"[ngsTextPrefix]\"/>\n </div>\n }\n\n <div class=\"ngs-form-field-infix\">\n @if (labelChild()) {\n <label class=\"ngs-form-field-label\" [attr.for]=\"control()?.id\">\n <ng-content select=\"ngs-label\"/>\n\n @if (isRequired()) {\n <span class=\"ngs-form-field-required-marker\">*</span>\n }\n </label>\n }\n <ng-content/>\n </div>\n\n @if (textSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-text-affix ngs-form-field-text-suffix\">\n <ng-content select=\"[ngsTextSuffix]\"/>\n </div>\n }\n\n @if (iconButtonSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-button-suffix\">\n <ng-content select=\"[ngsIconButtonSuffix]\"/>\n </div>\n }\n\n @if (iconSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-suffix\">\n <ng-content select=\"[ngsIconSuffix]\"/>\n </div>\n }\n\n @if (suffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-suffix\">\n <ng-content select=\"[ngsSuffix]\"/>\n </div>\n }\n </div>\n</div>\n\n<div class=\"subscript-wrapper\">\n @if (control()?.errorState && errorChildren().length > 0) {\n <ng-content select=\"ngs-error\"/>\n } @else if (hintChildren().length > 0) {\n <div class=\"ngs-form-field-hint-wrapper\">\n <ng-content select=\"ngs-hint\"/>\n </div>\n }\n</div>\n", styles: [":host{--ngs-form-field-color: var(--ngs-field-color);--ngs-form-field-border-color: var(--ngs-field-border-color);--ngs-form-field-border-width: var(--ngs-field-border-width);--ngs-form-field-border-radius: var(--ngs-field-radius);--ngs-form-field-padding-x: var(--ngs-field-padding-x);--ngs-form-field-bg: var(--ngs-field-bg);--ngs-form-field-disabled-bg: var(--ngs-field-disabled-bg);--ngs-form-field-label-color: var(--ngs-field-label-color);--ngs-form-field-error-color: var(--ngs-field-error-color);--ngs-form-field-container-min-height: var(--ngs-field-height, var(--ngs-field-container-height));--ngs-form-field-input-height: var(--ngs-field-input-height);--ngs-form-field-infix-padding-bottom: max(.125rem, calc(var(--ngs-form-field-container-min-height) * .16));--ngs-form-field-infix-padding-top: max( 0px, calc(var(--ngs-form-field-container-min-height) - var(--ngs-form-field-input-height) - var(--ngs-form-field-infix-padding-bottom)) );--ngs-form-field-no-label-padding-y: var(--ngs-form-field-infix-padding-bottom);display:block;width:var(--ngs-form-field-width, 100%)}:host.ngs-form-field-disabled{cursor:default}:host.ngs-form-field-disabled .ngs-form-field-container{background:var(--ngs-state-disabled-bg);border-color:var(--ngs-state-disabled-border)}:host.ngs-form-field-disabled .ngs-form-field-label{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-disabled ::ng-deep input{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-focused .ngs-form-field-container{border-color:var(--ngs-field-border-focus-color);box-shadow:0 0 0 1px var(--ngs-field-border-focus-color)}:host.ngs-form-field-focused .ngs-form-field-label{color:var(--ngs-form-field-color)}:host.ngs-form-field-invalid .ngs-form-field-container{border-color:var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid.ngs-form-field-focused .ngs-form-field-container{box-shadow:0 0 0 1px var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid .ngs-form-field-label{color:var(--ngs-form-field-error-color)}:host .ngs-form-field-wrapper{display:flex;flex-direction:column;height:var(--ngs-form-field-container-min-height)}:host .ngs-form-field-container{position:relative;box-sizing:border-box;border:var(--ngs-form-field-border-width) solid var(--ngs-form-field-border-color);border-radius:var(--ngs-form-field-border-radius);background:var(--ngs-form-field-bg);padding:0 var(--ngs-form-field-padding-x);transition:border-color .2s,box-shadow .2s;height:var(--ngs-form-field-container-min-height);min-height:var(--ngs-form-field-container-min-height);display:flex;align-items:center}:host.ngs-form-field-has-icon-prefix :host .ngs-form-field-container{padding-left:calc(var(--spacing, .25rem) * 2)}:host.ngs-form-field-has-icon-button-prefix :host .ngs-form-field-container{padding-left:calc(var(--spacing, .25rem) * .5)}:host.ngs-form-field-has-icon-suffix :host .ngs-form-field-container{padding-right:calc(var(--spacing, .25rem) * 2)}:host.ngs-form-field-has-icon-button-suffix :host .ngs-form-field-container{padding-right:calc(var(--spacing, .25rem) * .5)}:host .ngs-form-field-infix{box-sizing:border-box;flex:1;position:relative;padding:var(--ngs-form-field-infix-padding-top) 0 var(--ngs-form-field-infix-padding-bottom) 0;min-width:0;height:100%;min-height:var(--ngs-form-field-container-min-height);display:flex;flex-direction:column;overflow:hidden}:host.ngs-form-field-multiline .ngs-form-field-wrapper{height:auto;min-height:var(--ngs-form-field-container-min-height)}:host.ngs-form-field-multiline .ngs-form-field-container{height:auto;min-height:var(--ngs-form-field-container-min-height);align-items:stretch}:host.ngs-form-field-multiline .ngs-form-field-infix{height:auto;min-height:calc(var(--ngs-form-field-container-min-height) - 2px);overflow:visible}:host.ngs-form-field-multiline ::ng-deep textarea.ngs-input{min-height:var(--ngs-form-field-input-height);resize:vertical}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix,:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{box-sizing:border-box;padding:var(--ngs-form-field-no-label-padding-y) 0}:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{--ngs-button-height: calc( var(--ngs-form-field-container-min-height) - var(--ngs-form-field-no-label-padding-y) - var(--ngs-form-field-no-label-padding-y) );height:100%}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix{display:flex;justify-content:center}:host .ngs-form-field-label{position:absolute;left:0;transform:translateY(-50%);top:calc(var(--ngs-form-field-container-min-height) / 2);transform-origin:left top;font-size:var(--ngs-field-font-size);color:var(--ngs-form-field-label-color);transition:transform .2s ease,font-size .2s ease,color .2s ease,top .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:flex;align-items:center;gap:.125rem;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}:host .ngs-form-field-required-marker{color:var(--ngs-form-field-error-color)}:host.ngs-form-field-should-float .ngs-form-field-label{top:4px;font-size:var(--ngs-field-label-float-font-size);transform:translateY(0)}:host ::ng-deep input{font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;resize:none;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep textarea{min-height:22px;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep textarea::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep .ngs-input,:host ::ng-deep .ngs-chip-input,:host ::ng-deep .ngs-phone-input,:host ::ng-deep .ngs-number-input,:host ::ng-deep ngs-select{width:100%;border:none!important;background:transparent!important;padding:0!important;color:inherit;outline:none!important;display:block}:host ::ng-deep .ngs-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-chip-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-phone-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-number-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep ngs-select:not(textarea):not(ngs-select):not(.ngs-chip-input){height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-input:is(ngs-select),:host ::ng-deep .ngs-chip-input:is(ngs-select),:host ::ng-deep .ngs-phone-input:is(ngs-select),:host ::ng-deep .ngs-number-input:is(ngs-select),:host ::ng-deep ngs-select:is(ngs-select){height:var(--ngs-form-field-input-height);min-height:var(--ngs-form-field-input-height);overflow:hidden}:host ::ng-deep .ngs-input::placeholder,:host ::ng-deep .ngs-chip-input::placeholder,:host ::ng-deep .ngs-phone-input::placeholder,:host ::ng-deep .ngs-number-input::placeholder,:host ::ng-deep ngs-select::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep ngs-chip-grid:empty{display:none}:host ::ng-deep ngs-chip-grid{margin:calc(var(--spacing, .25rem) * 1) 0}:host ::ng-deep .ngs-date-range-input{width:100%;border:none!important;background:transparent!important;padding:0!important;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);color:inherit;outline:none!important;display:flex;height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-date-range-input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep input{resize:none;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height)}:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input .ngs-select-placeholder{opacity:0!important;color:transparent!important}:host .ngs-form-field-affix{--ngs-button-height: var( --ngs-form-field-affix-button-height, calc(var(--ngs-form-field-container-min-height) - 2px) );display:flex;align-items:center}:host .ngs-form-field-before{margin-right:.5rem}:host .ngs-form-field-after{margin-left:.5rem}:host .ngs-form-field-icon-affix{--ngs-button-height: var( --ngs-form-field-icon-button-height, calc(var(--ngs-form-field-container-min-height) - 2px) )}:host .ngs-form-field-text-affix{color:var(--ngs-form-field-label-color);white-space:nowrap;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);padding-top:var(--ngs-form-field-infix-padding-top);padding-bottom:var(--ngs-form-field-infix-padding-bottom)}:host .subscript-wrapper{margin-top:.25rem;padding:0 .5rem;font-size:.75rem;min-height:1.375rem}:host.ngs-form-field-subscript-hidden-if-empty .subscript-wrapper:empty{display:none}:host .ngs-form-field-error{display:none}:host .ngs-form-field-hint-wrapper{display:flex;justify-content:space-between;color:var(--ngs-form-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
196
+ ], queries: [{ propertyName: "control", first: true, predicate: FormFieldControl, descendants: true, isSignal: true }, { propertyName: "labelChild", first: true, predicate: Label, descendants: true, isSignal: true }, { propertyName: "prefixChildren", predicate: Prefix, isSignal: true }, { propertyName: "iconPrefixChildren", predicate: IconPrefix, isSignal: true }, { propertyName: "iconButtonPrefixChildren", predicate: IconButtonPrefix, isSignal: true }, { propertyName: "textPrefixChildren", predicate: TextPrefix, isSignal: true }, { propertyName: "suffixChildren", predicate: Suffix, isSignal: true }, { propertyName: "iconSuffixChildren", predicate: IconSuffix, isSignal: true }, { propertyName: "iconButtonSuffixChildren", predicate: IconButtonSuffix, isSignal: true }, { propertyName: "textSuffixChildren", predicate: TextSuffix, isSignal: true }, { propertyName: "hintChildren", predicate: Hint, isSignal: true }, { propertyName: "errorChildren", predicate: Error, isSignal: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }], exportAs: ["ngsFormField"], ngImport: i0, template: "<div class=\"ngs-form-field-wrapper\" #wrapper>\n <div class=\"ngs-form-field-container\" #container>\n @if (prefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-prefix\">\n <ng-content select=\"[ngsPrefix]\"/>\n </div>\n }\n\n @if (iconPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-prefix\">\n <ng-content select=\"[ngsIconPrefix]\"/>\n </div>\n }\n\n @if (iconButtonPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-button-prefix\">\n <ng-content select=\"[ngsIconButtonPrefix]\"/>\n </div>\n }\n\n @if (textPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-text-affix ngs-form-field-text-prefix\">\n <ng-content select=\"[ngsTextPrefix]\"/>\n </div>\n }\n\n <div class=\"ngs-form-field-infix\">\n @if (labelChild()) {\n <label class=\"ngs-form-field-label\" [attr.for]=\"control()?.id\">\n <ng-content select=\"ngs-label\"/>\n\n @if (isRequired()) {\n <span class=\"ngs-form-field-required-marker\">*</span>\n }\n </label>\n }\n <ng-content/>\n </div>\n\n @if (textSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-text-affix ngs-form-field-text-suffix\">\n <ng-content select=\"[ngsTextSuffix]\"/>\n </div>\n }\n\n @if (iconButtonSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-button-suffix\">\n <ng-content select=\"[ngsIconButtonSuffix]\"/>\n </div>\n }\n\n @if (iconSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-suffix\">\n <ng-content select=\"[ngsIconSuffix]\"/>\n </div>\n }\n\n @if (suffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-suffix\">\n <ng-content select=\"[ngsSuffix]\"/>\n </div>\n }\n </div>\n</div>\n\n<div class=\"subscript-wrapper\">\n @if (control()?.errorState && errorChildren().length > 0) {\n <ng-content select=\"ngs-error\"/>\n } @else if (hintChildren().length > 0) {\n <div class=\"ngs-form-field-hint-wrapper\">\n <ng-content select=\"ngs-hint\"/>\n </div>\n }\n</div>\n", styles: [":host{--ngs-form-field-color: var(--ngs-field-color);--ngs-form-field-border-color: var(--ngs-field-border-color);--ngs-form-field-border-width: var(--ngs-field-border-width);--ngs-form-field-border-radius: var(--ngs-field-radius);--ngs-form-field-bg: var(--ngs-field-bg);--ngs-form-field-disabled-bg: var(--ngs-field-disabled-bg);--ngs-form-field-label-color: var(--ngs-field-label-color);--ngs-form-field-error-color: var(--ngs-field-error-color);--ngs-form-field-container-min-height: var(--ngs-field-height, var(--ngs-field-container-height));--ngs-form-field-padding-x: var(--ngs-field-padding-x);--ngs-form-field-input-height: var(--ngs-field-input-height);--ngs-form-field-affix-gap: calc(var(--spacing, .25rem) * 1);--ngs-form-field-icon-affix-padding-x: calc(var(--spacing, .25rem) * 2);--ngs-form-field-icon-button-affix-padding-x: calc(var(--spacing, .25rem) * 1);--ngs-form-field-infix-padding-top: var(--ngs-field-infix-padding-top);--ngs-form-field-infix-padding-bottom: var(--ngs-field-infix-padding-bottom);--ngs-form-field-no-label-padding-y: var(--ngs-field-no-label-padding-y);display:block;width:var(--ngs-form-field-width, 100%)}:host.ngs-form-field-disabled{cursor:default}:host.ngs-form-field-disabled .ngs-form-field-container{background:var(--ngs-state-disabled-bg);border-color:var(--ngs-state-disabled-border)}:host.ngs-form-field-disabled .ngs-form-field-label{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-disabled ::ng-deep input{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-focused .ngs-form-field-container{border-color:var(--ngs-field-border-focus-color);box-shadow:0 0 0 1px var(--ngs-field-border-focus-color)}:host.ngs-form-field-focused .ngs-form-field-label{color:var(--ngs-form-field-color)}:host.ngs-form-field-invalid .ngs-form-field-container{border-color:var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid.ngs-form-field-focused .ngs-form-field-container{box-shadow:0 0 0 1px var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid .ngs-form-field-label{color:var(--ngs-form-field-error-color)}:host .ngs-form-field-wrapper{display:flex;flex-direction:column;height:var(--ngs-form-field-container-min-height)}:host .ngs-form-field-container{position:relative;box-sizing:border-box;border:var(--ngs-form-field-border-width) solid var(--ngs-form-field-border-color);border-radius:var(--ngs-form-field-border-radius);background:var(--ngs-form-field-bg);padding:0 var(--ngs-form-field-padding-x);transition:border-color .2s,box-shadow .2s;height:var(--ngs-form-field-container-min-height);min-height:var(--ngs-form-field-container-min-height);display:flex;align-items:center}:host.ngs-form-field-has-icon-prefix .ngs-form-field-container{padding-left:var(--ngs-form-field-icon-affix-padding-x)}:host.ngs-form-field-has-icon-button-prefix .ngs-form-field-container{padding-left:var(--ngs-form-field-icon-button-affix-padding-x)}:host.ngs-form-field-has-icon-suffix .ngs-form-field-container{padding-right:var(--ngs-form-field-icon-affix-padding-x)}:host.ngs-form-field-has-icon-button-suffix .ngs-form-field-container{padding-right:var(--ngs-form-field-icon-button-affix-padding-x)}:host .ngs-form-field-infix{box-sizing:border-box;flex:1;position:relative;padding:var(--ngs-form-field-infix-padding-top) 0 var(--ngs-form-field-infix-padding-bottom) 0;min-width:0;height:100%;min-height:var(--ngs-form-field-container-min-height);display:flex;flex-direction:column;overflow:hidden}:host.ngs-form-field-multiline .ngs-form-field-wrapper{height:auto;min-height:var(--ngs-form-field-container-min-height)}:host.ngs-form-field-multiline .ngs-form-field-container{height:auto;min-height:var(--ngs-form-field-container-min-height);align-items:stretch}:host.ngs-form-field-multiline .ngs-form-field-infix{height:auto;min-height:calc(var(--ngs-form-field-container-min-height) - 2px);overflow:visible}:host.ngs-form-field-multiline ::ng-deep textarea.ngs-input{min-height:var(--ngs-form-field-input-height);resize:vertical}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix,:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{box-sizing:border-box;padding:var(--ngs-form-field-no-label-padding-y) 0}:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{--ngs-button-height: calc( var(--ngs-form-field-container-min-height) - var(--ngs-form-field-no-label-padding-y) - var(--ngs-form-field-no-label-padding-y) );height:100%}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix{display:flex;justify-content:center}:host .ngs-form-field-label{position:absolute;left:0;transform:translateY(-50%);top:calc(var(--ngs-form-field-container-min-height) / 2);transform-origin:left top;font-size:var(--ngs-field-font-size);color:var(--ngs-form-field-label-color);transition:transform .2s ease,font-size .2s ease,color .2s ease,top .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:flex;align-items:center;gap:.125rem;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}:host .ngs-form-field-required-marker{color:var(--ngs-form-field-error-color)}:host.ngs-form-field-should-float .ngs-form-field-label{top:4px;font-size:var(--ngs-field-label-float-font-size);transform:translateY(0)}:host ::ng-deep input{font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;resize:none;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep textarea{min-height:22px;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep textarea::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep .ngs-input,:host ::ng-deep .ngs-chip-input,:host ::ng-deep .ngs-phone-input,:host ::ng-deep .ngs-number-input,:host ::ng-deep ngs-select{width:100%;border:none!important;background:transparent!important;padding:0!important;color:inherit;outline:none!important;display:block}:host ::ng-deep .ngs-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-chip-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-phone-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-number-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep ngs-select:not(textarea):not(ngs-select):not(.ngs-chip-input){height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-input:is(ngs-select),:host ::ng-deep .ngs-chip-input:is(ngs-select),:host ::ng-deep .ngs-phone-input:is(ngs-select),:host ::ng-deep .ngs-number-input:is(ngs-select),:host ::ng-deep ngs-select:is(ngs-select){height:var(--ngs-form-field-input-height);min-height:var(--ngs-form-field-input-height);overflow:hidden}:host ::ng-deep .ngs-input::placeholder,:host ::ng-deep .ngs-chip-input::placeholder,:host ::ng-deep .ngs-phone-input::placeholder,:host ::ng-deep .ngs-number-input::placeholder,:host ::ng-deep ngs-select::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep ngs-chip-grid:empty{display:none}:host ::ng-deep ngs-chip-grid{margin:calc(var(--spacing, .25rem) * 1) 0}:host ::ng-deep .ngs-date-range-input{width:100%;border:none!important;background:transparent!important;padding:0!important;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);color:inherit;outline:none!important;display:flex;height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-date-range-input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep input{resize:none;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height)}:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input .ngs-select-placeholder{opacity:0!important;color:transparent!important}:host .ngs-form-field-affix{display:flex;align-items:center}:host .ngs-form-field-affix:empty{display:none}:host .ngs-form-field-before{margin-right:var(--ngs-form-field-affix-gap)}:host .ngs-form-field-after{margin-left:var(--ngs-form-field-affix-gap)}:host .ngs-form-field-text-affix{color:var(--ngs-form-field-label-color);white-space:nowrap;font-size:var(--ngs-field-font-size);padding-top:var(--ngs-form-field-infix-padding-top);padding-bottom:var(--ngs-form-field-infix-padding-bottom);line-height:0}:host .subscript-wrapper{margin-top:.25rem;padding:0 .5rem;font-size:.75rem;min-height:1.375rem}:host.ngs-form-field-subscript-hidden-if-empty .subscript-wrapper:empty{display:none}:host .ngs-form-field-error{display:none}:host .ngs-form-field-hint-wrapper{display:flex;justify-content:space-between;color:var(--ngs-form-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
197
197
  }
198
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: FormField, decorators: [{
199
199
  type: Component,
@@ -216,7 +216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
216
216
  '[class.ngs-form-field-has-icon-button-prefix]': 'iconButtonPrefixChildren().length > 0',
217
217
  '[class.ngs-form-field-has-icon-suffix]': 'iconSuffixChildren().length > 0',
218
218
  '[class.ngs-form-field-has-icon-button-suffix]': 'iconButtonSuffixChildren().length > 0',
219
- }, template: "<div class=\"ngs-form-field-wrapper\" #wrapper>\n <div class=\"ngs-form-field-container\" #container>\n @if (prefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-prefix\">\n <ng-content select=\"[ngsPrefix]\"/>\n </div>\n }\n\n @if (iconPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-prefix\">\n <ng-content select=\"[ngsIconPrefix]\"/>\n </div>\n }\n\n @if (iconButtonPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-button-prefix\">\n <ng-content select=\"[ngsIconButtonPrefix]\"/>\n </div>\n }\n\n @if (textPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-text-affix ngs-form-field-text-prefix\">\n <ng-content select=\"[ngsTextPrefix]\"/>\n </div>\n }\n\n <div class=\"ngs-form-field-infix\">\n @if (labelChild()) {\n <label class=\"ngs-form-field-label\" [attr.for]=\"control()?.id\">\n <ng-content select=\"ngs-label\"/>\n\n @if (isRequired()) {\n <span class=\"ngs-form-field-required-marker\">*</span>\n }\n </label>\n }\n <ng-content/>\n </div>\n\n @if (textSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-text-affix ngs-form-field-text-suffix\">\n <ng-content select=\"[ngsTextSuffix]\"/>\n </div>\n }\n\n @if (iconButtonSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-button-suffix\">\n <ng-content select=\"[ngsIconButtonSuffix]\"/>\n </div>\n }\n\n @if (iconSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-suffix\">\n <ng-content select=\"[ngsIconSuffix]\"/>\n </div>\n }\n\n @if (suffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-suffix\">\n <ng-content select=\"[ngsSuffix]\"/>\n </div>\n }\n </div>\n</div>\n\n<div class=\"subscript-wrapper\">\n @if (control()?.errorState && errorChildren().length > 0) {\n <ng-content select=\"ngs-error\"/>\n } @else if (hintChildren().length > 0) {\n <div class=\"ngs-form-field-hint-wrapper\">\n <ng-content select=\"ngs-hint\"/>\n </div>\n }\n</div>\n", styles: [":host{--ngs-form-field-color: var(--ngs-field-color);--ngs-form-field-border-color: var(--ngs-field-border-color);--ngs-form-field-border-width: var(--ngs-field-border-width);--ngs-form-field-border-radius: var(--ngs-field-radius);--ngs-form-field-padding-x: var(--ngs-field-padding-x);--ngs-form-field-bg: var(--ngs-field-bg);--ngs-form-field-disabled-bg: var(--ngs-field-disabled-bg);--ngs-form-field-label-color: var(--ngs-field-label-color);--ngs-form-field-error-color: var(--ngs-field-error-color);--ngs-form-field-container-min-height: var(--ngs-field-height, var(--ngs-field-container-height));--ngs-form-field-input-height: var(--ngs-field-input-height);--ngs-form-field-infix-padding-bottom: max(.125rem, calc(var(--ngs-form-field-container-min-height) * .16));--ngs-form-field-infix-padding-top: max( 0px, calc(var(--ngs-form-field-container-min-height) - var(--ngs-form-field-input-height) - var(--ngs-form-field-infix-padding-bottom)) );--ngs-form-field-no-label-padding-y: var(--ngs-form-field-infix-padding-bottom);display:block;width:var(--ngs-form-field-width, 100%)}:host.ngs-form-field-disabled{cursor:default}:host.ngs-form-field-disabled .ngs-form-field-container{background:var(--ngs-state-disabled-bg);border-color:var(--ngs-state-disabled-border)}:host.ngs-form-field-disabled .ngs-form-field-label{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-disabled ::ng-deep input{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-focused .ngs-form-field-container{border-color:var(--ngs-field-border-focus-color);box-shadow:0 0 0 1px var(--ngs-field-border-focus-color)}:host.ngs-form-field-focused .ngs-form-field-label{color:var(--ngs-form-field-color)}:host.ngs-form-field-invalid .ngs-form-field-container{border-color:var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid.ngs-form-field-focused .ngs-form-field-container{box-shadow:0 0 0 1px var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid .ngs-form-field-label{color:var(--ngs-form-field-error-color)}:host .ngs-form-field-wrapper{display:flex;flex-direction:column;height:var(--ngs-form-field-container-min-height)}:host .ngs-form-field-container{position:relative;box-sizing:border-box;border:var(--ngs-form-field-border-width) solid var(--ngs-form-field-border-color);border-radius:var(--ngs-form-field-border-radius);background:var(--ngs-form-field-bg);padding:0 var(--ngs-form-field-padding-x);transition:border-color .2s,box-shadow .2s;height:var(--ngs-form-field-container-min-height);min-height:var(--ngs-form-field-container-min-height);display:flex;align-items:center}:host.ngs-form-field-has-icon-prefix :host .ngs-form-field-container{padding-left:calc(var(--spacing, .25rem) * 2)}:host.ngs-form-field-has-icon-button-prefix :host .ngs-form-field-container{padding-left:calc(var(--spacing, .25rem) * .5)}:host.ngs-form-field-has-icon-suffix :host .ngs-form-field-container{padding-right:calc(var(--spacing, .25rem) * 2)}:host.ngs-form-field-has-icon-button-suffix :host .ngs-form-field-container{padding-right:calc(var(--spacing, .25rem) * .5)}:host .ngs-form-field-infix{box-sizing:border-box;flex:1;position:relative;padding:var(--ngs-form-field-infix-padding-top) 0 var(--ngs-form-field-infix-padding-bottom) 0;min-width:0;height:100%;min-height:var(--ngs-form-field-container-min-height);display:flex;flex-direction:column;overflow:hidden}:host.ngs-form-field-multiline .ngs-form-field-wrapper{height:auto;min-height:var(--ngs-form-field-container-min-height)}:host.ngs-form-field-multiline .ngs-form-field-container{height:auto;min-height:var(--ngs-form-field-container-min-height);align-items:stretch}:host.ngs-form-field-multiline .ngs-form-field-infix{height:auto;min-height:calc(var(--ngs-form-field-container-min-height) - 2px);overflow:visible}:host.ngs-form-field-multiline ::ng-deep textarea.ngs-input{min-height:var(--ngs-form-field-input-height);resize:vertical}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix,:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{box-sizing:border-box;padding:var(--ngs-form-field-no-label-padding-y) 0}:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{--ngs-button-height: calc( var(--ngs-form-field-container-min-height) - var(--ngs-form-field-no-label-padding-y) - var(--ngs-form-field-no-label-padding-y) );height:100%}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix{display:flex;justify-content:center}:host .ngs-form-field-label{position:absolute;left:0;transform:translateY(-50%);top:calc(var(--ngs-form-field-container-min-height) / 2);transform-origin:left top;font-size:var(--ngs-field-font-size);color:var(--ngs-form-field-label-color);transition:transform .2s ease,font-size .2s ease,color .2s ease,top .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:flex;align-items:center;gap:.125rem;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}:host .ngs-form-field-required-marker{color:var(--ngs-form-field-error-color)}:host.ngs-form-field-should-float .ngs-form-field-label{top:4px;font-size:var(--ngs-field-label-float-font-size);transform:translateY(0)}:host ::ng-deep input{font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;resize:none;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep textarea{min-height:22px;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep textarea::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep .ngs-input,:host ::ng-deep .ngs-chip-input,:host ::ng-deep .ngs-phone-input,:host ::ng-deep .ngs-number-input,:host ::ng-deep ngs-select{width:100%;border:none!important;background:transparent!important;padding:0!important;color:inherit;outline:none!important;display:block}:host ::ng-deep .ngs-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-chip-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-phone-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-number-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep ngs-select:not(textarea):not(ngs-select):not(.ngs-chip-input){height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-input:is(ngs-select),:host ::ng-deep .ngs-chip-input:is(ngs-select),:host ::ng-deep .ngs-phone-input:is(ngs-select),:host ::ng-deep .ngs-number-input:is(ngs-select),:host ::ng-deep ngs-select:is(ngs-select){height:var(--ngs-form-field-input-height);min-height:var(--ngs-form-field-input-height);overflow:hidden}:host ::ng-deep .ngs-input::placeholder,:host ::ng-deep .ngs-chip-input::placeholder,:host ::ng-deep .ngs-phone-input::placeholder,:host ::ng-deep .ngs-number-input::placeholder,:host ::ng-deep ngs-select::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep ngs-chip-grid:empty{display:none}:host ::ng-deep ngs-chip-grid{margin:calc(var(--spacing, .25rem) * 1) 0}:host ::ng-deep .ngs-date-range-input{width:100%;border:none!important;background:transparent!important;padding:0!important;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);color:inherit;outline:none!important;display:flex;height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-date-range-input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep input{resize:none;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height)}:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input .ngs-select-placeholder{opacity:0!important;color:transparent!important}:host .ngs-form-field-affix{--ngs-button-height: var( --ngs-form-field-affix-button-height, calc(var(--ngs-form-field-container-min-height) - 2px) );display:flex;align-items:center}:host .ngs-form-field-before{margin-right:.5rem}:host .ngs-form-field-after{margin-left:.5rem}:host .ngs-form-field-icon-affix{--ngs-button-height: var( --ngs-form-field-icon-button-height, calc(var(--ngs-form-field-container-min-height) - 2px) )}:host .ngs-form-field-text-affix{color:var(--ngs-form-field-label-color);white-space:nowrap;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);padding-top:var(--ngs-form-field-infix-padding-top);padding-bottom:var(--ngs-form-field-infix-padding-bottom)}:host .subscript-wrapper{margin-top:.25rem;padding:0 .5rem;font-size:.75rem;min-height:1.375rem}:host.ngs-form-field-subscript-hidden-if-empty .subscript-wrapper:empty{display:none}:host .ngs-form-field-error{display:none}:host .ngs-form-field-hint-wrapper{display:flex;justify-content:space-between;color:var(--ngs-form-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
219
+ }, template: "<div class=\"ngs-form-field-wrapper\" #wrapper>\n <div class=\"ngs-form-field-container\" #container>\n @if (prefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-prefix\">\n <ng-content select=\"[ngsPrefix]\"/>\n </div>\n }\n\n @if (iconPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-prefix\">\n <ng-content select=\"[ngsIconPrefix]\"/>\n </div>\n }\n\n @if (iconButtonPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-button-prefix\">\n <ng-content select=\"[ngsIconButtonPrefix]\"/>\n </div>\n }\n\n @if (textPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-text-affix ngs-form-field-text-prefix\">\n <ng-content select=\"[ngsTextPrefix]\"/>\n </div>\n }\n\n <div class=\"ngs-form-field-infix\">\n @if (labelChild()) {\n <label class=\"ngs-form-field-label\" [attr.for]=\"control()?.id\">\n <ng-content select=\"ngs-label\"/>\n\n @if (isRequired()) {\n <span class=\"ngs-form-field-required-marker\">*</span>\n }\n </label>\n }\n <ng-content/>\n </div>\n\n @if (textSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-text-affix ngs-form-field-text-suffix\">\n <ng-content select=\"[ngsTextSuffix]\"/>\n </div>\n }\n\n @if (iconButtonSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-button-suffix\">\n <ng-content select=\"[ngsIconButtonSuffix]\"/>\n </div>\n }\n\n @if (iconSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-suffix\">\n <ng-content select=\"[ngsIconSuffix]\"/>\n </div>\n }\n\n @if (suffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-suffix\">\n <ng-content select=\"[ngsSuffix]\"/>\n </div>\n }\n </div>\n</div>\n\n<div class=\"subscript-wrapper\">\n @if (control()?.errorState && errorChildren().length > 0) {\n <ng-content select=\"ngs-error\"/>\n } @else if (hintChildren().length > 0) {\n <div class=\"ngs-form-field-hint-wrapper\">\n <ng-content select=\"ngs-hint\"/>\n </div>\n }\n</div>\n", styles: [":host{--ngs-form-field-color: var(--ngs-field-color);--ngs-form-field-border-color: var(--ngs-field-border-color);--ngs-form-field-border-width: var(--ngs-field-border-width);--ngs-form-field-border-radius: var(--ngs-field-radius);--ngs-form-field-bg: var(--ngs-field-bg);--ngs-form-field-disabled-bg: var(--ngs-field-disabled-bg);--ngs-form-field-label-color: var(--ngs-field-label-color);--ngs-form-field-error-color: var(--ngs-field-error-color);--ngs-form-field-container-min-height: var(--ngs-field-height, var(--ngs-field-container-height));--ngs-form-field-padding-x: var(--ngs-field-padding-x);--ngs-form-field-input-height: var(--ngs-field-input-height);--ngs-form-field-affix-gap: calc(var(--spacing, .25rem) * 1);--ngs-form-field-icon-affix-padding-x: calc(var(--spacing, .25rem) * 2);--ngs-form-field-icon-button-affix-padding-x: calc(var(--spacing, .25rem) * 1);--ngs-form-field-infix-padding-top: var(--ngs-field-infix-padding-top);--ngs-form-field-infix-padding-bottom: var(--ngs-field-infix-padding-bottom);--ngs-form-field-no-label-padding-y: var(--ngs-field-no-label-padding-y);display:block;width:var(--ngs-form-field-width, 100%)}:host.ngs-form-field-disabled{cursor:default}:host.ngs-form-field-disabled .ngs-form-field-container{background:var(--ngs-state-disabled-bg);border-color:var(--ngs-state-disabled-border)}:host.ngs-form-field-disabled .ngs-form-field-label{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-disabled ::ng-deep input{color:var(--ngs-state-disabled-color)}:host.ngs-form-field-focused .ngs-form-field-container{border-color:var(--ngs-field-border-focus-color);box-shadow:0 0 0 1px var(--ngs-field-border-focus-color)}:host.ngs-form-field-focused .ngs-form-field-label{color:var(--ngs-form-field-color)}:host.ngs-form-field-invalid .ngs-form-field-container{border-color:var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid.ngs-form-field-focused .ngs-form-field-container{box-shadow:0 0 0 1px var(--ngs-form-field-error-color)}:host.ngs-form-field-invalid .ngs-form-field-label{color:var(--ngs-form-field-error-color)}:host .ngs-form-field-wrapper{display:flex;flex-direction:column;height:var(--ngs-form-field-container-min-height)}:host .ngs-form-field-container{position:relative;box-sizing:border-box;border:var(--ngs-form-field-border-width) solid var(--ngs-form-field-border-color);border-radius:var(--ngs-form-field-border-radius);background:var(--ngs-form-field-bg);padding:0 var(--ngs-form-field-padding-x);transition:border-color .2s,box-shadow .2s;height:var(--ngs-form-field-container-min-height);min-height:var(--ngs-form-field-container-min-height);display:flex;align-items:center}:host.ngs-form-field-has-icon-prefix .ngs-form-field-container{padding-left:var(--ngs-form-field-icon-affix-padding-x)}:host.ngs-form-field-has-icon-button-prefix .ngs-form-field-container{padding-left:var(--ngs-form-field-icon-button-affix-padding-x)}:host.ngs-form-field-has-icon-suffix .ngs-form-field-container{padding-right:var(--ngs-form-field-icon-affix-padding-x)}:host.ngs-form-field-has-icon-button-suffix .ngs-form-field-container{padding-right:var(--ngs-form-field-icon-button-affix-padding-x)}:host .ngs-form-field-infix{box-sizing:border-box;flex:1;position:relative;padding:var(--ngs-form-field-infix-padding-top) 0 var(--ngs-form-field-infix-padding-bottom) 0;min-width:0;height:100%;min-height:var(--ngs-form-field-container-min-height);display:flex;flex-direction:column;overflow:hidden}:host.ngs-form-field-multiline .ngs-form-field-wrapper{height:auto;min-height:var(--ngs-form-field-container-min-height)}:host.ngs-form-field-multiline .ngs-form-field-container{height:auto;min-height:var(--ngs-form-field-container-min-height);align-items:stretch}:host.ngs-form-field-multiline .ngs-form-field-infix{height:auto;min-height:calc(var(--ngs-form-field-container-min-height) - 2px);overflow:visible}:host.ngs-form-field-multiline ::ng-deep textarea.ngs-input{min-height:var(--ngs-form-field-input-height);resize:vertical}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix,:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{box-sizing:border-box;padding:var(--ngs-form-field-no-label-padding-y) 0}:host:not(.ngs-form-field-has-label) .ngs-form-field-affix{--ngs-button-height: calc( var(--ngs-form-field-container-min-height) - var(--ngs-form-field-no-label-padding-y) - var(--ngs-form-field-no-label-padding-y) );height:100%}:host:not(.ngs-form-field-has-label) .ngs-form-field-infix{display:flex;justify-content:center}:host .ngs-form-field-label{position:absolute;left:0;transform:translateY(-50%);top:calc(var(--ngs-form-field-container-min-height) / 2);transform-origin:left top;font-size:var(--ngs-field-font-size);color:var(--ngs-form-field-label-color);transition:transform .2s ease,font-size .2s ease,color .2s ease,top .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:flex;align-items:center;gap:.125rem;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}:host .ngs-form-field-required-marker{color:var(--ngs-form-field-error-color)}:host.ngs-form-field-should-float .ngs-form-field-label{top:4px;font-size:var(--ngs-field-label-float-font-size);transform:translateY(0)}:host ::ng-deep input{font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;resize:none;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep textarea{min-height:22px;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);outline:none!important;text-align:var(--ngs-form-field-input-text-align, start)}:host ::ng-deep textarea::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep .ngs-input,:host ::ng-deep .ngs-chip-input,:host ::ng-deep .ngs-phone-input,:host ::ng-deep .ngs-number-input,:host ::ng-deep ngs-select{width:100%;border:none!important;background:transparent!important;padding:0!important;color:inherit;outline:none!important;display:block}:host ::ng-deep .ngs-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-chip-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-phone-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep .ngs-number-input:not(textarea):not(ngs-select):not(.ngs-chip-input),:host ::ng-deep ngs-select:not(textarea):not(ngs-select):not(.ngs-chip-input){height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-input:is(ngs-select),:host ::ng-deep .ngs-chip-input:is(ngs-select),:host ::ng-deep .ngs-phone-input:is(ngs-select),:host ::ng-deep .ngs-number-input:is(ngs-select),:host ::ng-deep ngs-select:is(ngs-select){height:var(--ngs-form-field-input-height);min-height:var(--ngs-form-field-input-height);overflow:hidden}:host ::ng-deep .ngs-input::placeholder,:host ::ng-deep .ngs-chip-input::placeholder,:host ::ng-deep .ngs-phone-input::placeholder,:host ::ng-deep .ngs-number-input::placeholder,:host ::ng-deep ngs-select::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep ngs-chip-grid:empty{display:none}:host ::ng-deep ngs-chip-grid{margin:calc(var(--spacing, .25rem) * 1) 0}:host ::ng-deep .ngs-date-range-input{width:100%;border:none!important;background:transparent!important;padding:0!important;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height);color:inherit;outline:none!important;display:flex;height:var(--ngs-form-field-input-height)}:host ::ng-deep .ngs-date-range-input::placeholder{color:var(--ngs-form-field-label-color);transition:opacity .2s}:host ::ng-deep input{resize:none;font-size:var(--ngs-field-font-size);line-height:var(--ngs-field-line-height)}:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-chip-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-phone-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-number-input .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep ngs-select .ngs-select-placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input::placeholder,:host.ngs-form-field-has-label:not(.ngs-form-field-should-float) ::ng-deep .ngs-date-range-input .ngs-select-placeholder{opacity:0!important;color:transparent!important}:host .ngs-form-field-affix{display:flex;align-items:center}:host .ngs-form-field-affix:empty{display:none}:host .ngs-form-field-before{margin-right:var(--ngs-form-field-affix-gap)}:host .ngs-form-field-after{margin-left:var(--ngs-form-field-affix-gap)}:host .ngs-form-field-text-affix{color:var(--ngs-form-field-label-color);white-space:nowrap;font-size:var(--ngs-field-font-size);padding-top:var(--ngs-form-field-infix-padding-top);padding-bottom:var(--ngs-form-field-infix-padding-bottom);line-height:0}:host .subscript-wrapper{margin-top:.25rem;padding:0 .5rem;font-size:.75rem;min-height:1.375rem}:host.ngs-form-field-subscript-hidden-if-empty .subscript-wrapper:empty{display:none}:host .ngs-form-field-error{display:none}:host .ngs-form-field-hint-wrapper{display:flex;justify-content:space-between;color:var(--ngs-form-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
220
220
  }], propDecorators: { subscriptHiddenIfEmpty: [{ type: i0.Input, args: [{ isSignal: true, alias: "subscriptHiddenIfEmpty", required: false }] }], wrapper: [{ type: i0.ViewChild, args: ['wrapper', { isSignal: true }] }], container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], control: [{ type: i0.ContentChild, args: [i0.forwardRef(() => FormFieldControl), { isSignal: true }] }], labelChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Label), { isSignal: true }] }], prefixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => Prefix), { isSignal: true }] }], iconPrefixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IconPrefix), { isSignal: true }] }], iconButtonPrefixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IconButtonPrefix), { isSignal: true }] }], textPrefixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TextPrefix), { isSignal: true }] }], suffixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => Suffix), { isSignal: true }] }], iconSuffixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IconSuffix), { isSignal: true }] }], iconButtonSuffixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => IconButtonSuffix), { isSignal: true }] }], textSuffixChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TextSuffix), { isSignal: true }] }], hintChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => Hint), { isSignal: true }] }], errorChildren: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => Error), { isSignal: true }] }], _onClick: [{
221
221
  type: HostListener,
222
222
  args: ['click', ['$event']]
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-form-field.mjs","sources":["../../../projects/components/form-field/src/label/label.ts","../../../projects/components/form-field/src/label/label.html","../../../projects/components/form-field/src/form-field-control.ts","../../../projects/components/form-field/src/hint/hint.ts","../../../projects/components/form-field/src/hint/hint.html","../../../projects/components/form-field/src/error/error.ts","../../../projects/components/form-field/src/error/error.html","../../../projects/components/form-field/src/prefix-suffix/prefix-suffix.ts","../../../projects/components/form-field/src/form-field-token.ts","../../../projects/components/form-field/src/form-field/form-field.ts","../../../projects/components/form-field/src/form-field/form-field.html","../../../projects/components/form-field/src/form-field/form-field-errors.ts","../../../projects/components/form-field/ngstarter-ui-components-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-label',\n templateUrl: './label.html',\n styleUrl: './label.scss',\n host: {\n 'class': 'ngs-label',\n }\n})\nexport class Label {\n}\n","<ng-content/>\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport abstract class FormFieldControl<T> {\n abstract value: T | null;\n abstract readonly stateChanges: any;\n abstract readonly id: string;\n abstract readonly placeholder: string | undefined;\n abstract readonly ngControl: any;\n abstract readonly focused: boolean;\n abstract readonly empty: boolean;\n abstract readonly shouldLabelFloat: boolean;\n abstract readonly required: boolean;\n abstract readonly disabled: boolean;\n abstract readonly errorState: boolean;\n readonly multiline?: boolean;\n abstract focus(): void;\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-hint',\n standalone: true,\n templateUrl: './hint.html',\n styleUrl: './hint.scss',\n host: {\n 'class': 'ngs-hint',\n '[class.ngs-hint-end]': 'align() === \"end\"',\n }\n})\nexport class Hint {\n align = input<'start' | 'end'>('start');\n}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-error',\n standalone: true,\n templateUrl: './error.html',\n styleUrl: './error.scss',\n host: {\n 'class': 'ngs-error',\n 'role': 'alert',\n }\n})\nexport class Error {}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[ngsPrefix]',\n})\nexport class Prefix {}\n\n@Directive({\n selector: '[ngsTextPrefix]',\n})\nexport class TextPrefix {}\n\n@Directive({\n selector: '[ngsIconPrefix]',\n})\nexport class IconPrefix {}\n\n@Directive({\n selector: '[ngsIconButtonPrefix]',\n})\nexport class IconButtonPrefix {}\n\n@Directive({\n selector: '[ngsSuffix]',\n})\nexport class Suffix {}\n\n@Directive({\n selector: '[ngsTextSuffix]',\n})\nexport class TextSuffix {}\n\n@Directive({\n selector: '[ngsIconSuffix]',\n})\nexport class IconSuffix {}\n\n@Directive({\n selector: '[ngsIconButtonSuffix]',\n})\nexport class IconButtonSuffix {}\n","import { InjectionToken } from '@angular/core';\n\nexport const FORM_FIELD = new InjectionToken<any>('FORM_FIELD');\n","import {\n booleanAttribute,\n Component,\n contentChild,\n contentChildren,\n ElementRef,\n HostListener,\n inject,\n input,\n viewChild,\n computed,\n} from '@angular/core';\nimport { FormFieldControl } from '../form-field-control';\nimport { Label } from '../label/label';\nimport { FORM_FIELD } from '../form-field-token';\nimport { Prefix, Suffix, TextPrefix, TextSuffix, IconPrefix, IconButtonPrefix, IconSuffix, IconButtonSuffix } from '../prefix-suffix/prefix-suffix';\nimport { Hint } from '../hint/hint';\nimport { Error } from '../error/error';\n\n@Component({\n selector: 'ngs-form-field',\n exportAs: 'ngsFormField',\n templateUrl: './form-field.html',\n styleUrl: './form-field.scss',\n imports: [],\n providers: [\n {\n provide: FORM_FIELD,\n useExisting: FormField\n }\n ],\n host: {\n 'class': 'ngs-form-field',\n '[class.ngs-form-field-disabled]': 'control()?.disabled',\n '[class.ngs-form-field-invalid]': 'control()?.errorState',\n '[class.ngs-form-field-should-float]': 'shouldLabelFloat()',\n '[class.ngs-form-field-has-label]': 'labelChild()',\n '[class.ngs-form-field-empty]': 'control()?.empty',\n '[class.ngs-form-field-focused]': 'control()?.focused',\n '[class.ngs-form-field-multiline]': 'control()?.multiline',\n '[class.ngs-form-field-subscript-hidden-if-empty]': 'subscriptHiddenIfEmpty()',\n '[class.ngs-form-field-has-icon-prefix]': 'iconPrefixChildren().length > 0',\n '[class.ngs-form-field-has-icon-button-prefix]': 'iconButtonPrefixChildren().length > 0',\n '[class.ngs-form-field-has-icon-suffix]': 'iconSuffixChildren().length > 0',\n '[class.ngs-form-field-has-icon-button-suffix]': 'iconButtonSuffixChildren().length > 0',\n }\n})\nexport class FormField {\n subscriptHiddenIfEmpty = input(false, {\n transform: booleanAttribute\n });\n elementRef = inject(ElementRef);\n wrapper = viewChild.required<ElementRef>('wrapper');\n container = viewChild.required<ElementRef>('container');\n control = contentChild(FormFieldControl);\n labelChild = contentChild(Label);\n prefixChildren = contentChildren(Prefix);\n iconPrefixChildren = contentChildren(IconPrefix);\n iconButtonPrefixChildren = contentChildren(IconButtonPrefix);\n textPrefixChildren = contentChildren(TextPrefix);\n suffixChildren = contentChildren(Suffix);\n iconSuffixChildren = contentChildren(IconSuffix);\n iconButtonSuffixChildren = contentChildren(IconButtonSuffix);\n textSuffixChildren = contentChildren(TextSuffix);\n hintChildren = contentChildren(Hint);\n errorChildren = contentChildren(Error);\n isRequired = computed(() => {\n const control = this.control();\n if (!control) {\n return false;\n }\n\n if (control.required) {\n return true;\n }\n\n const ngControl = control.ngControl;\n if (ngControl && ngControl.control && ngControl.control.validator) {\n const validator = ngControl.control.validator({} as any);\n if (validator && validator['required']) {\n return true;\n }\n }\n\n return false;\n });\n\n shouldLabelFloat(): boolean {\n return !!this.control()?.shouldLabelFloat;\n }\n\n @HostListener('click', ['$event'])\n protected _onClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const wrapper = this.wrapper().nativeElement;\n const isInsideWrapper = wrapper.contains(target);\n\n if (!isInsideWrapper) {\n return;\n }\n\n const isIconButton = !!target.closest('.ngs-icon-button') || !!target.closest('[ngsIconButton]');\n const isToggle = !!target.closest('ngs-datepicker-toggle') || !!target.closest('ngs-date-range-picker');\n\n if (this.control()?.focused || isIconButton || isToggle) {\n return;\n }\n\n this.focus();\n event.stopPropagation();\n }\n\n focus(): void {\n const control = this.control();\n if (control && !control.disabled) {\n control.focus();\n }\n }\n}\n","<div class=\"ngs-form-field-wrapper\" #wrapper>\n <div class=\"ngs-form-field-container\" #container>\n @if (prefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-prefix\">\n <ng-content select=\"[ngsPrefix]\"/>\n </div>\n }\n\n @if (iconPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-prefix\">\n <ng-content select=\"[ngsIconPrefix]\"/>\n </div>\n }\n\n @if (iconButtonPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-button-prefix\">\n <ng-content select=\"[ngsIconButtonPrefix]\"/>\n </div>\n }\n\n @if (textPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-text-affix ngs-form-field-text-prefix\">\n <ng-content select=\"[ngsTextPrefix]\"/>\n </div>\n }\n\n <div class=\"ngs-form-field-infix\">\n @if (labelChild()) {\n <label class=\"ngs-form-field-label\" [attr.for]=\"control()?.id\">\n <ng-content select=\"ngs-label\"/>\n\n @if (isRequired()) {\n <span class=\"ngs-form-field-required-marker\">*</span>\n }\n </label>\n }\n <ng-content/>\n </div>\n\n @if (textSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-text-affix ngs-form-field-text-suffix\">\n <ng-content select=\"[ngsTextSuffix]\"/>\n </div>\n }\n\n @if (iconButtonSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-button-suffix\">\n <ng-content select=\"[ngsIconButtonSuffix]\"/>\n </div>\n }\n\n @if (iconSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-suffix\">\n <ng-content select=\"[ngsIconSuffix]\"/>\n </div>\n }\n\n @if (suffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-suffix\">\n <ng-content select=\"[ngsSuffix]\"/>\n </div>\n }\n </div>\n</div>\n\n<div class=\"subscript-wrapper\">\n @if (control()?.errorState && errorChildren().length > 0) {\n <ng-content select=\"ngs-error\"/>\n } @else if (hintChildren().length > 0) {\n <div class=\"ngs-form-field-hint-wrapper\">\n <ng-content select=\"ngs-hint\"/>\n </div>\n }\n</div>\n","import { InjectionToken } from '@angular/core';\n\nexport interface FormFieldDefaultOptions {\n appearance?: 'fill' | 'outline';\n color?: string;\n hideRequiredMarker?: boolean;\n floatLabel?: 'always' | 'auto';\n subscriptHiddenIfEmpty?: boolean;\n}\n\nexport const FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken<FormFieldDefaultOptions>(\n 'FORM_FIELD_DEFAULT_OPTIONS'\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngstarter-ui-components-form-field.mjs","sources":["../../../projects/components/form-field/src/label/label.ts","../../../projects/components/form-field/src/label/label.html","../../../projects/components/form-field/src/form-field-control.ts","../../../projects/components/form-field/src/hint/hint.ts","../../../projects/components/form-field/src/hint/hint.html","../../../projects/components/form-field/src/error/error.ts","../../../projects/components/form-field/src/error/error.html","../../../projects/components/form-field/src/prefix-suffix/prefix-suffix.ts","../../../projects/components/form-field/src/form-field-token.ts","../../../projects/components/form-field/src/form-field/form-field.ts","../../../projects/components/form-field/src/form-field/form-field.html","../../../projects/components/form-field/src/form-field/form-field-errors.ts","../../../projects/components/form-field/ngstarter-ui-components-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-label',\n templateUrl: './label.html',\n styleUrl: './label.scss',\n host: {\n 'class': 'ngs-label',\n }\n})\nexport class Label {\n}\n","<ng-content/>\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport abstract class FormFieldControl<T> {\n abstract value: T | null;\n abstract readonly stateChanges: any;\n abstract readonly id: string;\n abstract readonly placeholder: string | undefined;\n abstract readonly ngControl: any;\n abstract readonly focused: boolean;\n abstract readonly empty: boolean;\n abstract readonly shouldLabelFloat: boolean;\n abstract readonly required: boolean;\n abstract readonly disabled: boolean;\n abstract readonly errorState: boolean;\n readonly multiline?: boolean;\n abstract focus(): void;\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-hint',\n standalone: true,\n templateUrl: './hint.html',\n styleUrl: './hint.scss',\n host: {\n 'class': 'ngs-hint',\n '[class.ngs-hint-end]': 'align() === \"end\"',\n }\n})\nexport class Hint {\n align = input<'start' | 'end'>('start');\n}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-error',\n standalone: true,\n templateUrl: './error.html',\n styleUrl: './error.scss',\n host: {\n 'class': 'ngs-error',\n 'role': 'alert',\n }\n})\nexport class Error {}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[ngsPrefix]',\n})\nexport class Prefix {}\n\n@Directive({\n selector: '[ngsTextPrefix]',\n})\nexport class TextPrefix {}\n\n@Directive({\n selector: '[ngsIconPrefix]',\n})\nexport class IconPrefix {}\n\n@Directive({\n selector: '[ngsIconButtonPrefix]',\n})\nexport class IconButtonPrefix {}\n\n@Directive({\n selector: '[ngsSuffix]',\n})\nexport class Suffix {}\n\n@Directive({\n selector: '[ngsTextSuffix]',\n})\nexport class TextSuffix {}\n\n@Directive({\n selector: '[ngsIconSuffix]',\n})\nexport class IconSuffix {}\n\n@Directive({\n selector: '[ngsIconButtonSuffix]',\n})\nexport class IconButtonSuffix {}\n","import { InjectionToken } from '@angular/core';\n\nexport const FORM_FIELD = new InjectionToken<any>('FORM_FIELD');\n","import {\n booleanAttribute,\n Component,\n contentChild,\n contentChildren,\n ElementRef,\n HostListener,\n inject,\n input,\n viewChild,\n computed,\n} from '@angular/core';\nimport { FormFieldControl } from '../form-field-control';\nimport { Label } from '../label/label';\nimport { FORM_FIELD } from '../form-field-token';\nimport { Prefix, Suffix, TextPrefix, TextSuffix, IconPrefix, IconButtonPrefix, IconSuffix, IconButtonSuffix } from '../prefix-suffix/prefix-suffix';\nimport { Hint } from '../hint/hint';\nimport { Error } from '../error/error';\n\n@Component({\n selector: 'ngs-form-field',\n exportAs: 'ngsFormField',\n templateUrl: './form-field.html',\n styleUrl: './form-field.scss',\n imports: [],\n providers: [\n {\n provide: FORM_FIELD,\n useExisting: FormField\n }\n ],\n host: {\n 'class': 'ngs-form-field',\n '[class.ngs-form-field-disabled]': 'control()?.disabled',\n '[class.ngs-form-field-invalid]': 'control()?.errorState',\n '[class.ngs-form-field-should-float]': 'shouldLabelFloat()',\n '[class.ngs-form-field-has-label]': 'labelChild()',\n '[class.ngs-form-field-empty]': 'control()?.empty',\n '[class.ngs-form-field-focused]': 'control()?.focused',\n '[class.ngs-form-field-multiline]': 'control()?.multiline',\n '[class.ngs-form-field-subscript-hidden-if-empty]': 'subscriptHiddenIfEmpty()',\n '[class.ngs-form-field-has-icon-prefix]': 'iconPrefixChildren().length > 0',\n '[class.ngs-form-field-has-icon-button-prefix]': 'iconButtonPrefixChildren().length > 0',\n '[class.ngs-form-field-has-icon-suffix]': 'iconSuffixChildren().length > 0',\n '[class.ngs-form-field-has-icon-button-suffix]': 'iconButtonSuffixChildren().length > 0',\n }\n})\nexport class FormField {\n subscriptHiddenIfEmpty = input(false, {\n transform: booleanAttribute\n });\n elementRef = inject(ElementRef);\n wrapper = viewChild.required<ElementRef>('wrapper');\n container = viewChild.required<ElementRef>('container');\n control = contentChild(FormFieldControl);\n labelChild = contentChild(Label);\n prefixChildren = contentChildren(Prefix);\n iconPrefixChildren = contentChildren(IconPrefix);\n iconButtonPrefixChildren = contentChildren(IconButtonPrefix);\n textPrefixChildren = contentChildren(TextPrefix);\n suffixChildren = contentChildren(Suffix);\n iconSuffixChildren = contentChildren(IconSuffix);\n iconButtonSuffixChildren = contentChildren(IconButtonSuffix);\n textSuffixChildren = contentChildren(TextSuffix);\n hintChildren = contentChildren(Hint);\n errorChildren = contentChildren(Error);\n isRequired = computed(() => {\n const control = this.control();\n if (!control) {\n return false;\n }\n\n if (control.required) {\n return true;\n }\n\n const ngControl = control.ngControl;\n if (ngControl && ngControl.control && ngControl.control.validator) {\n const validator = ngControl.control.validator({} as any);\n if (validator && validator['required']) {\n return true;\n }\n }\n\n return false;\n });\n\n shouldLabelFloat(): boolean {\n return !!this.control()?.shouldLabelFloat;\n }\n\n @HostListener('click', ['$event'])\n protected _onClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const wrapper = this.wrapper().nativeElement;\n const isInsideWrapper = wrapper.contains(target);\n\n if (!isInsideWrapper) {\n return;\n }\n\n const isIconButton = !!target.closest('.ngs-icon-button') || !!target.closest('[ngsIconButton]');\n const isToggle = !!target.closest('ngs-datepicker-toggle') || !!target.closest('ngs-date-range-picker');\n\n if (this.control()?.focused || isIconButton || isToggle) {\n return;\n }\n\n this.focus();\n event.stopPropagation();\n }\n\n focus(): void {\n const control = this.control();\n if (control && !control.disabled) {\n control.focus();\n }\n }\n}\n","<div class=\"ngs-form-field-wrapper\" #wrapper>\n <div class=\"ngs-form-field-container\" #container>\n @if (prefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-prefix\">\n <ng-content select=\"[ngsPrefix]\"/>\n </div>\n }\n\n @if (iconPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-prefix\">\n <ng-content select=\"[ngsIconPrefix]\"/>\n </div>\n }\n\n @if (iconButtonPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-icon-affix ngs-form-field-icon-button-prefix\">\n <ng-content select=\"[ngsIconButtonPrefix]\"/>\n </div>\n }\n\n @if (textPrefixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-before ngs-form-field-text-affix ngs-form-field-text-prefix\">\n <ng-content select=\"[ngsTextPrefix]\"/>\n </div>\n }\n\n <div class=\"ngs-form-field-infix\">\n @if (labelChild()) {\n <label class=\"ngs-form-field-label\" [attr.for]=\"control()?.id\">\n <ng-content select=\"ngs-label\"/>\n\n @if (isRequired()) {\n <span class=\"ngs-form-field-required-marker\">*</span>\n }\n </label>\n }\n <ng-content/>\n </div>\n\n @if (textSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-text-affix ngs-form-field-text-suffix\">\n <ng-content select=\"[ngsTextSuffix]\"/>\n </div>\n }\n\n @if (iconButtonSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-button-suffix\">\n <ng-content select=\"[ngsIconButtonSuffix]\"/>\n </div>\n }\n\n @if (iconSuffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-icon-affix ngs-form-field-icon-suffix\">\n <ng-content select=\"[ngsIconSuffix]\"/>\n </div>\n }\n\n @if (suffixChildren().length > 0) {\n <div class=\"ngs-form-field-affix ngs-form-field-after ngs-form-field-suffix\">\n <ng-content select=\"[ngsSuffix]\"/>\n </div>\n }\n </div>\n</div>\n\n<div class=\"subscript-wrapper\">\n @if (control()?.errorState && errorChildren().length > 0) {\n <ng-content select=\"ngs-error\"/>\n } @else if (hintChildren().length > 0) {\n <div class=\"ngs-form-field-hint-wrapper\">\n <ng-content select=\"ngs-hint\"/>\n </div>\n }\n</div>\n","import { InjectionToken } from '@angular/core';\n\nexport interface FormFieldDefaultOptions {\n appearance?: 'fill' | 'outline';\n color?: string;\n hideRequiredMarker?: boolean;\n floatLabel?: 'always' | 'auto';\n subscriptHiddenIfEmpty?: boolean;\n}\n\nexport const FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken<FormFieldDefaultOptions>(\n 'FORM_FIELD_DEFAULT_OPTIONS'\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ngstarter-ui/components",
3
3
  "description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
4
- "version": "1.0.44",
4
+ "version": "1.0.46",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/elementarlabsdev/ngstarter.git"
@@ -160,8 +160,8 @@
160
160
  --ngs-field-container-height: 3.125rem;
161
161
  --ngs-field-infix-height: 3.125rem;
162
162
  --ngs-field-input-height: 1.25rem;
163
- --ngs-field-infix-padding-top: 1.4375rem;
164
- --ngs-field-infix-padding-bottom: 0.5rem;
163
+ --ngs-field-infix-padding-top: 1.5rem;
164
+ --ngs-field-infix-padding-bottom: 0.4375rem;
165
165
  --ngs-field-no-label-padding-y: 0.625rem;
166
166
  --ngs-field-padding-x: --spacing(3);
167
167
  --ngs-field-filled-bg: var(--ngs-color-surface-container-highest);