@flusys/ng-ui 6.3.0 → 6.4.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flusys/ng-ui",
3
- "version": "6.3.0",
3
+ "version": "6.4.1",
4
4
  "description": "FLUSYS native UI component library ",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -1,13 +1,28 @@
1
1
  @custom-variant dark (&:where(.app-dark, .app-dark *));
2
2
 
3
3
  @theme inline {
4
- /* ─── Border radius (preset-driven) ─────────────────────── */
4
+ /* ─── Border radius (preset-driven) ─────────────────────────────────────────
5
+ Every rounded-* step resolves from the active preset. The mapping is offset
6
+ by one deliberately — Tailwind's `rounded-lg`, the app's most-used control
7
+ radius, lands on the preset's *medium* semantic step, not its large one —
8
+ and the far ends are covered too, so no rounded-* utility is left holding a
9
+ fixed Tailwind default that would look identical under every preset. */
5
10
  --radius-border: var(--content-border-radius);
11
+ --radius-xs: var(--f-radius-xs);
6
12
  --radius-sm: var(--f-border-radius-sm);
7
13
  --radius-md: var(--f-border-radius-sm);
8
14
  --radius-lg: var(--f-border-radius-md);
9
15
  --radius-xl: var(--f-border-radius-lg);
10
16
  --radius-2xl: var(--f-border-radius-xl);
17
+ --radius-3xl: var(--f-radius-3xl);
18
+ --radius-4xl: var(--f-radius-4xl);
19
+
20
+ /* ─── Line weight (preset-driven) ───────────────────────────────────────────
21
+ Tailwind resolves a bare `border` / `divide-*` against this key, so routing
22
+ it through the preset is what lets a heavy-linework preset thicken every
23
+ border in the app without touching a single component. Explicit widths —
24
+ `border-2` and friends — are unaffected. */
25
+ --default-border-width: var(--f-border-width, 1px);
11
26
 
12
27
  /* ─── Shadows (preset-driven) ───────────────────────────── */
13
28
  --shadow-sm: var(--f-shadow-sm);
@@ -83,3 +98,111 @@
83
98
  outline-offset: var(--f-focus-ring-offset);
84
99
  outline-color: var(--f-focus-ring-color);
85
100
  }
101
+
102
+ /* ── Control density and shape (preset-driven) ──────────────────────────────
103
+ Form fields and buttons used to hard-code their padding and radius as fixed
104
+ Tailwind classes, which meant a preset could recolour the UI but never change
105
+ how dense or how sharp it felt — the difference that actually reads as a
106
+ different design language. These utilities put both under the preset's
107
+ control; the small and large steps are derived from the base so a preset
108
+ only has to state one value per axis. */
109
+
110
+ @utility f-field {
111
+ padding-inline: var(--f-field-padding-x);
112
+ padding-block: var(--f-field-padding-y);
113
+ border-radius: var(--f-field-border-radius);
114
+ font-weight: var(--f-field-font-weight);
115
+ }
116
+
117
+ @utility f-field-sm {
118
+ padding-inline: calc(var(--f-field-padding-x) - 0.125rem);
119
+ padding-block: calc(var(--f-field-padding-y) - 0.125rem);
120
+ border-radius: var(--f-field-border-radius);
121
+ font-weight: var(--f-field-font-weight);
122
+ }
123
+
124
+ @utility f-field-lg {
125
+ padding-inline: calc(var(--f-field-padding-x) + 0.25rem);
126
+ padding-block: calc(var(--f-field-padding-y) + 0.25rem);
127
+ border-radius: var(--f-field-border-radius);
128
+ font-weight: var(--f-field-font-weight);
129
+ }
130
+
131
+ /* Multi-value triggers (multiselect, treeselect, cascadeselect) whose chips
132
+ already supply most of the row height, so they take one step less block padding
133
+ than a plain field while keeping the same inline padding and shape. */
134
+ @utility f-field-compact {
135
+ padding-inline: var(--f-field-padding-x);
136
+ padding-block: calc(var(--f-field-padding-y) - 0.125rem);
137
+ border-radius: var(--f-field-border-radius);
138
+ font-weight: var(--f-field-font-weight);
139
+ }
140
+
141
+ /* Shape only — for the parts of a composite field (a select trigger's panel, a
142
+ segmented control's ends) that inherit the field radius but set their own box. */
143
+ @utility f-field-shape {
144
+ border-radius: var(--f-field-border-radius);
145
+ }
146
+
147
+ @utility f-btn {
148
+ padding-inline: var(--f-button-padding-x);
149
+ padding-block: var(--f-button-padding-y);
150
+ border-radius: var(--f-button-border-radius);
151
+ font-weight: var(--f-button-font-weight);
152
+ letter-spacing: var(--f-button-letter-spacing);
153
+ }
154
+
155
+ @utility f-btn-sm {
156
+ padding-inline: calc(var(--f-button-padding-x) - 0.25rem);
157
+ padding-block: calc(var(--f-button-padding-y) - 0.125rem);
158
+ border-radius: var(--f-button-border-radius);
159
+ font-weight: var(--f-button-font-weight);
160
+ letter-spacing: var(--f-button-letter-spacing);
161
+ }
162
+
163
+ @utility f-btn-lg {
164
+ padding-inline: calc(var(--f-button-padding-x) + 0.25rem);
165
+ padding-block: calc(var(--f-button-padding-y) + 0.25rem);
166
+ border-radius: var(--f-button-border-radius);
167
+ font-weight: var(--f-button-font-weight);
168
+ letter-spacing: var(--f-button-letter-spacing);
169
+ }
170
+
171
+ /* Icon-only buttons stay square: one padding on every side. */
172
+ @utility f-btn-icon {
173
+ padding: var(--f-button-padding-y);
174
+ border-radius: var(--f-button-border-radius);
175
+ font-weight: var(--f-button-font-weight);
176
+ letter-spacing: var(--f-button-letter-spacing);
177
+ }
178
+
179
+ @utility f-btn-icon-sm {
180
+ padding: calc(var(--f-button-padding-y) - 0.125rem);
181
+ border-radius: var(--f-button-border-radius);
182
+ font-weight: var(--f-button-font-weight);
183
+ letter-spacing: var(--f-button-letter-spacing);
184
+ }
185
+
186
+ @utility f-btn-icon-lg {
187
+ padding: calc(var(--f-button-padding-y) + 0.25rem);
188
+ border-radius: var(--f-button-border-radius);
189
+ font-weight: var(--f-button-font-weight);
190
+ letter-spacing: var(--f-button-letter-spacing);
191
+ }
192
+
193
+ /* A pill button keeps its shape in every preset — only the padding follows. */
194
+ @utility f-btn-round {
195
+ border-radius: 9999px;
196
+ }
197
+
198
+ /* Floating panels — dropdown lists, popovers, dialogs. */
199
+ @utility f-overlay {
200
+ border-radius: var(--f-overlay-border-radius);
201
+ box-shadow: var(--f-overlay-shadow);
202
+ }
203
+
204
+ /* An inline panel that shares the overlay's shape but sits in the page, so it
205
+ takes no elevation of its own — an inline datepicker, for one. */
206
+ @utility f-overlay-shape {
207
+ border-radius: var(--f-overlay-border-radius);
208
+ }
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, OnDestroy, OnInit, AfterViewInit, ElementRef, InjectionToken, Type, Injector, EnvironmentProviders } from '@angular/core';
2
+ import { TemplateRef, OnDestroy, AfterViewInit, ElementRef, OnInit, InjectionToken, Type, Injector, EnvironmentProviders } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
5
  import * as rxjs from 'rxjs';
@@ -828,15 +828,12 @@ declare class InputNumberComponent implements ControlValueAccessor {
828
828
 
829
829
  type InputVariant = 'outlined' | 'filled';
830
830
  type InputSize = 'small' | 'large' | null;
831
- declare class InputTextDirective implements OnInit {
831
+ declare class InputTextDirective {
832
832
  readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
833
833
  readonly touched: _angular_core.InputSignal<boolean>;
834
834
  readonly variant: _angular_core.InputSignal<InputVariant>;
835
835
  readonly size: _angular_core.InputSignal<InputSize>;
836
836
  readonly fluid: _angular_core.InputSignalWithTransform<boolean, unknown>;
837
- private readonly _el;
838
- private readonly _iconLeft;
839
- ngOnInit(): void;
840
837
  readonly classes: _angular_core.Signal<string>;
841
838
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputTextDirective, never>;
842
839
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputTextDirective, "[fInputText]", never, { "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fluid": { "alias": "fluid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -4375,10 +4372,13 @@ interface SelectButtonTokens {
4375
4372
  }
4376
4373
  interface ThemePreset {
4377
4374
  name: PresetName;
4378
- borderRadius: string;
4375
+ radiusXs: string;
4379
4376
  borderRadiusSm: string;
4377
+ borderRadius: string;
4380
4378
  borderRadiusLg: string;
4381
4379
  borderRadiusXl: string;
4380
+ radius3xl: string;
4381
+ radius4xl: string;
4382
4382
  borderWidth: string;
4383
4383
  shadowSm: string;
4384
4384
  shadow: string;
@@ -4389,9 +4389,19 @@ interface ThemePreset {
4389
4389
  focusRingWidth: string;
4390
4390
  focusRingStyle: string;
4391
4391
  focusRingOffset: string;
4392
- buttonFontWeight: string;
4393
4392
  highlightVariant: 'tint' | 'solid';
4394
4393
  strongBorders: boolean;
4394
+ fieldPaddingX: string;
4395
+ fieldPaddingY: string;
4396
+ fieldBorderRadius: string;
4397
+ fieldFontWeight: string;
4398
+ buttonPaddingX: string;
4399
+ buttonPaddingY: string;
4400
+ buttonBorderRadius: string;
4401
+ buttonFontWeight: string;
4402
+ buttonLetterSpacing: string;
4403
+ overlayBorderRadius: string;
4404
+ overlayShadow: string;
4395
4405
  selectButton: SelectButtonTokens;
4396
4406
  cardBorderRadius: string;
4397
4407
  cardPadding: string;
@@ -4408,8 +4418,8 @@ interface ThemePreset {
4408
4418
  signaturePrimary: string;
4409
4419
  }
4410
4420
  declare const AURA_PRESET: ThemePreset;
4411
- declare const NORA_PRESET: ThemePreset;
4412
4421
  declare const LARA_PRESET: ThemePreset;
4422
+ declare const NORA_PRESET: ThemePreset;
4413
4423
  declare const PRESETS: Record<PresetName, ThemePreset>;
4414
4424
  declare const PRESET_NAMES: PresetName[];
4415
4425