@ship-ui/core 0.19.2 → 0.19.4

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,7 +1,7 @@
1
1
  {
2
2
  "name": "@ship-ui/core",
3
3
  "license": "MIT",
4
- "version": "0.19.2",
4
+ "version": "0.19.4",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=20",
7
7
  "@angular/core": ">=20",
@@ -30,6 +30,7 @@
30
30
  },
31
31
  "bin": {
32
32
  "ship-fg": "./bin/ship-fg.mjs",
33
+ "ship-fg-ts": "./bin/ship-fg.ts",
33
34
  "ship-mcp": "./bin/mcp/index.js"
34
35
  },
35
36
  "libraryIcons": [
@@ -11,6 +11,13 @@ $shipDatepicker: true !default;
11
11
  display: grid;
12
12
  grid-template-columns: 1fr auto auto;
13
13
  align-items: center;
14
+
15
+ &.active-start input:first-of-type {
16
+ color: var(--primary-8);
17
+ }
18
+ &.active-end input:last-of-type {
19
+ color: var(--primary-8);
20
+ }
14
21
  }
15
22
 
16
23
  [suffix] {
@@ -21,6 +28,16 @@ $shipDatepicker: true !default;
21
28
  .masked-value {
22
29
  font: var(--paragraph-30B);
23
30
  color: var(--base-8);
31
+ display: flex;
32
+ gap: p2r(4);
33
+
34
+ &.active-start .start-val {
35
+ color: var(--primary-8);
36
+ }
37
+
38
+ &.active-end .end-val {
39
+ color: var(--primary-8);
40
+ }
24
41
 
25
42
  + input + input,
26
43
  + input {
@@ -103,10 +120,12 @@ $shipDatepicker: true !default;
103
120
 
104
121
  &.as-range {
105
122
  section {
106
- .days > div {
123
+ .days > div,
124
+ .days > button {
107
125
  &.sel {
108
126
  background: var(--dp-sel-bg);
109
127
  opacity: 0.5;
128
+ border-radius: 0;
110
129
  }
111
130
 
112
131
  &.month-start,
@@ -129,7 +148,8 @@ $shipDatepicker: true !default;
129
148
  }
130
149
  }
131
150
 
132
- .month .days > div.out-of-scope {
151
+ .month .days > div.out-of-scope,
152
+ .month .days > button.out-of-scope {
133
153
  opacity: 0;
134
154
  pointer-events: none;
135
155
  }
@@ -194,7 +214,13 @@ $shipDatepicker: true !default;
194
214
  z-index: 0;
195
215
  }
196
216
 
197
- > div {
217
+ > div,
218
+ > button {
219
+ appearance: none;
220
+ background: transparent;
221
+ border: none;
222
+ padding: 0;
223
+ margin: 0;
198
224
  display: flex;
199
225
  align-items: center;
200
226
  justify-content: center;
@@ -205,6 +231,12 @@ $shipDatepicker: true !default;
205
231
  color: var(--dp-day-c);
206
232
  font: var(--dp-day-f);
207
233
  user-select: none;
234
+ border-radius: var(--dp-sel-s);
235
+
236
+ &:focus-visible {
237
+ outline: 2px solid var(--primary-10, #005fcc);
238
+ outline-offset: -2px;
239
+ }
208
240
 
209
241
  &.sel {
210
242
  color: var(--dp-sel-c);
@@ -186,6 +186,7 @@ $shipFormFieldShadow: false !default;
186
186
  min-width: var(--ff-mw);
187
187
  width: 100%;
188
188
 
189
+ &.is-open,
189
190
  &:has(textarea:focus-visible),
190
191
  &:has(input:focus-visible) {
191
192
  outline: 2px solid var(--primary-8);
@@ -1,20 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { ElementRef, QueryList, TemplateRef, OutputEmitterRef, InputSignal, ComponentRef, EmbeddedViewRef, OutputRefSubscription, Type, AfterViewInit, OnDestroy, AfterContentInit, WritableSignal, OnInit, InjectionToken } from '@angular/core';
3
- import { NgModel } from '@angular/forms';
3
+ import { NgControl } from '@angular/forms';
4
4
  import { Observable } from 'rxjs';
5
5
 
6
- type ShipColor = 'primary' | 'accent' | 'warn' | 'error' | 'success' | (string & {});
7
- type ShipSize = 'small' | 'xsmall' | (string & {});
8
- type ShipButtonSize = 'small' | 'xsmall' | (string & {});
9
- type ShipIconSize = 'small' | 'large' | (string & {});
10
- type ShipSheetVariant = 'simple' | 'outlined' | 'flat' | 'raised' | (string & {});
11
- type ShipTypeVariant = 'type-a' | 'type-b' | 'type-c' | 'type-d' | (string & {});
12
- type ShipTableVariant = 'type-a' | 'type-b' | (string & {});
13
- type ShipCardVariant = 'type-a' | 'type-b' | 'type-c' | (string & {});
14
- type ShipButtonGroupVariant = 'type-a' | 'type-b' | (string & {});
15
- type ShipFormFieldVariant = 'base' | 'horizontal' | (string & {});
16
- type ShipVariant = ShipSheetVariant | ShipTypeVariant;
17
-
18
6
  type ShipAlertItem = {
19
7
  type: ShipAlertType;
20
8
  title: string;
@@ -45,8 +33,8 @@ declare class ShipAlertService {
45
33
 
46
34
  type ShipAlertType = 'error' | 'success' | 'warn' | 'primary' | 'accent' | 'question';
47
35
  declare class ShipAlert {
48
- color: _angular_core.InputSignal<ShipColor | null>;
49
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
36
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
37
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
50
38
  hostClasses: _angular_core.Signal<string>;
51
39
  _el: ElementRef<any>;
52
40
  alertService: _angular_core.InputSignal<ShipAlertService | null>;
@@ -149,6 +137,30 @@ declare class ShipDialogService {
149
137
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ShipDialogService>;
150
138
  }
151
139
 
140
+ declare const __SHIP_COLORS: readonly ["primary", "accent", "warn", "error", "success", ""];
141
+ type ShipColor = (typeof __SHIP_COLORS)[number];
142
+ declare const __SHIP_SIZES: readonly ["small", "xsmall", ""];
143
+ type ShipSize = (typeof __SHIP_SIZES)[number];
144
+ declare const __SHIP_BUTTON_SIZES: readonly ["small", "xsmall", ""];
145
+ type ShipButtonSize = (typeof __SHIP_BUTTON_SIZES)[number];
146
+ declare const __SHIP_ICON_SIZES: readonly ["small", "large", ""];
147
+ type ShipIconSize = (typeof __SHIP_ICON_SIZES)[number];
148
+ declare const __SHIP_SHEET_VARIANTS: readonly ["simple", "outlined", "flat", "raised", ""];
149
+ type ShipSheetVariant = (typeof __SHIP_SHEET_VARIANTS)[number];
150
+ declare const __SHIP_TYPE_VARIANTS: readonly ["type-a", "type-b", "type-c", "type-d", ""];
151
+ type ShipTypeVariant = (typeof __SHIP_TYPE_VARIANTS)[number];
152
+ declare const __SHIP_TABLE_VARIANTS: readonly ["type-a", "type-b", ""];
153
+ type ShipTableVariant = (typeof __SHIP_TABLE_VARIANTS)[number];
154
+ declare const __SHIP_CARD_VARIANTS: readonly ["type-a", "type-b", "type-c", ""];
155
+ type ShipCardVariant = (typeof __SHIP_CARD_VARIANTS)[number];
156
+ declare const __SHIP_BUTTON_GROUP_VARIANTS: readonly ["type-a", "type-b", ""];
157
+ type ShipButtonGroupVariant = (typeof __SHIP_BUTTON_GROUP_VARIANTS)[number];
158
+ declare const __SHIP_FORM_FIELD_VARIANTS: readonly ["base", "horizontal", "auto-width", "autosize", ""];
159
+ type ShipFormFieldVariant = (typeof __SHIP_FORM_FIELD_VARIANTS)[number];
160
+ declare const __SHIP_RANGE_SLIDER_VARIANTS: readonly ["simple", "base", "thick", "outlined", "flat", "raised", ""];
161
+ type ShipRangeSliderVariant = (typeof __SHIP_RANGE_SLIDER_VARIANTS)[number];
162
+ type ShipVariant = ShipSheetVariant | ShipTypeVariant;
163
+
152
164
  declare class ShipAccordion {
153
165
  private selfElement;
154
166
  readonly name: _angular_core.InputSignal<string>;
@@ -265,22 +277,30 @@ declare class ShipBlueprint implements AfterViewInit, OnDestroy {
265
277
  declare abstract class ShipSelectionGroup<T = any> {
266
278
  protected readonly itemSelector: string;
267
279
  protected readonly activeClass: string;
280
+ protected readonly options?: {
281
+ hostRole?: string;
282
+ itemRole?: string;
283
+ } | undefined;
268
284
  protected readonly hostElement: any;
269
285
  protected items: _angular_core.Signal<HTMLElement[]>;
270
286
  readonly value: _angular_core.ModelSignal<T | null>;
271
287
  readonly closable: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
272
- constructor(itemSelector: string, activeClass: string);
288
+ readonly manualActivation: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
289
+ constructor(itemSelector: string, activeClass: string, options?: {
290
+ hostRole?: string;
291
+ itemRole?: string;
292
+ } | undefined);
273
293
  protected onClick(target: EventTarget | null): void;
274
294
  protected onKeyDown(event: KeyboardEvent): void;
275
295
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSelectionGroup<any>, never>;
276
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSelectionGroup<any>, never, never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
296
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSelectionGroup<any>, never, never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "manualActivation": { "alias": "manualActivation"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
277
297
  }
278
298
 
279
299
  declare class ShipButtonGroup extends ShipSelectionGroup<string> {
280
300
  id: string;
281
- color: _angular_core.InputSignal<ShipColor | null>;
282
- variant: _angular_core.InputSignal<ShipButtonGroupVariant | null>;
283
- size: _angular_core.InputSignal<ShipSize | null>;
301
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
302
+ variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | null>;
303
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
284
304
  constructor();
285
305
  hostClasses: _angular_core.Signal<string>;
286
306
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipButtonGroup, never>;
@@ -288,9 +308,9 @@ declare class ShipButtonGroup extends ShipSelectionGroup<string> {
288
308
  }
289
309
 
290
310
  declare class ShipButton {
291
- color: _angular_core.InputSignal<ShipColor | null>;
292
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
293
- size: _angular_core.InputSignal<ShipButtonSize | null>;
311
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
312
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
313
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
294
314
  readonly: _angular_core.InputSignal<boolean>;
295
315
  hostClasses: _angular_core.Signal<string>;
296
316
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipButton, never>;
@@ -298,8 +318,8 @@ declare class ShipButton {
298
318
  }
299
319
 
300
320
  declare class ShipCard {
301
- color: _angular_core.InputSignal<ShipColor | null>;
302
- variant: _angular_core.InputSignal<ShipCardVariant | null>;
321
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
322
+ variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | "type-c" | null>;
303
323
  hostClasses: _angular_core.Signal<string>;
304
324
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipCard, never>;
305
325
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipCard, "sh-card", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -311,8 +331,8 @@ declare class ShipCheckbox {
311
331
  projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
312
332
  checked: _angular_core.ModelSignal<boolean>;
313
333
  currentClassList: _angular_core.Signal<string>;
314
- color: _angular_core.InputSignal<ShipColor | null>;
315
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
334
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
335
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
316
336
  readonly: _angular_core.InputSignal<boolean>;
317
337
  disabled: _angular_core.InputSignal<boolean>;
318
338
  noInternalInput: _angular_core.InputSignal<boolean>;
@@ -324,9 +344,9 @@ declare class ShipCheckbox {
324
344
  }
325
345
 
326
346
  declare class ShipChip {
327
- color: _angular_core.InputSignal<ShipColor | null>;
328
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
329
- size: _angular_core.InputSignal<ShipSize | null>;
347
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
348
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
349
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
330
350
  sharp: _angular_core.InputSignal<boolean | undefined>;
331
351
  dynamic: _angular_core.InputSignal<boolean | undefined>;
332
352
  readonly: _angular_core.InputSignal<boolean>;
@@ -408,9 +428,9 @@ declare class ShipColorPickerInput {
408
428
  #private;
409
429
  renderingType: _angular_core.InputSignal<"hsl" | "grid" | "hue" | "rgb" | "saturation" | "alpha">;
410
430
  format: _angular_core.InputSignal<"hsl" | "rgb" | "rgba" | "hex" | "hex8" | "hsla">;
411
- color: _angular_core.InputSignal<ShipColor | null>;
412
- variant: _angular_core.InputSignal<ShipFormFieldVariant | null>;
413
- size: _angular_core.InputSignal<ShipSize | null>;
431
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
432
+ variant: _angular_core.InputSignal<"" | "base" | "horizontal" | "auto-width" | "autosize" | null>;
433
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
414
434
  readonly: _angular_core.InputSignal<boolean>;
415
435
  closed: _angular_core.OutputEmitterRef<string>;
416
436
  isOpen: _angular_core.ModelSignal<boolean>;
@@ -441,8 +461,10 @@ declare class ShipDatepicker {
441
461
  date: _angular_core.ModelSignal<Date | null>;
442
462
  endDate: _angular_core.ModelSignal<Date | null>;
443
463
  asRange: _angular_core.InputSignal<boolean>;
464
+ activeRangeSelection: _angular_core.InputSignal<"start" | "end" | null>;
444
465
  monthsToShow: _angular_core.InputSignal<number>;
445
466
  disabled: _angular_core.InputSignal<boolean>;
467
+ tabbedOut: _angular_core.OutputEmitterRef<void>;
446
468
  startOfWeek: _angular_core.InputSignal<number>;
447
469
  weekdayLabels: _angular_core.InputSignal<string[]>;
448
470
  daysRef: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
@@ -461,35 +483,44 @@ declare class ShipDatepicker {
461
483
  ngOnInit(): void;
462
484
  nextMonth(): void;
463
485
  previousMonth(): void;
464
- setDate(newDate: Date, selectedElement: HTMLDivElement): void;
486
+ setDate(newDate: Date, selectedElement: HTMLElement): void;
465
487
  isDateSelected(date: Date): string | null;
466
- setSelectedDateStylePosition(selectedElement: HTMLDivElement): void;
488
+ setSelectedDateStylePosition(selectedElement: HTMLElement): void;
467
489
  getMonthName(date: Date): string;
468
490
  getFullYear(date: Date): number;
469
491
  isCurrentMonth(date: Date, monthOffset: number): boolean;
492
+ focusedDate: _angular_core.WritableSignal<Date | null>;
493
+ isSameDay(d1: Date | null | undefined, d2: Date | null | undefined): boolean;
494
+ getAriaLabel(date: Date): string;
495
+ getTabIndex(date: Date): number;
496
+ isDateSelectedBool(date: Date): boolean;
497
+ onKeydown(event: KeyboardEvent, date: Date): void;
498
+ ensureDateVisible(date: Date): void;
499
+ focusActiveDate(): void;
500
+ onFocusOut(event: FocusEvent): void;
470
501
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipDatepicker, never>;
471
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDatepicker, "sh-datepicker", never, { "date": { "alias": "date"; "required": false; "isSignal": true; }; "endDate": { "alias": "endDate"; "required": false; "isSignal": true; }; "asRange": { "alias": "asRange"; "required": false; "isSignal": true; }; "monthsToShow": { "alias": "monthsToShow"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "startOfWeek": { "alias": "startOfWeek"; "required": false; "isSignal": true; }; "weekdayLabels": { "alias": "weekdayLabels"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "endDate": "endDateChange"; }, never, never, true, never>;
502
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDatepicker, "sh-datepicker", never, { "date": { "alias": "date"; "required": false; "isSignal": true; }; "endDate": { "alias": "endDate"; "required": false; "isSignal": true; }; "asRange": { "alias": "asRange"; "required": false; "isSignal": true; }; "activeRangeSelection": { "alias": "activeRangeSelection"; "required": false; "isSignal": true; }; "monthsToShow": { "alias": "monthsToShow"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "startOfWeek": { "alias": "startOfWeek"; "required": false; "isSignal": true; }; "weekdayLabels": { "alias": "weekdayLabels"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "endDate": "endDateChange"; "tabbedOut": "tabbedOut"; }, never, never, true, never>;
472
503
  }
473
504
 
474
505
  declare class ShipDatepickerInput {
475
506
  #private;
476
- ngModels: _angular_core.Signal<NgModel | undefined>;
507
+ ngControl: _angular_core.Signal<NgControl | undefined>;
477
508
  masking: _angular_core.InputSignal<string>;
478
509
  closed: _angular_core.OutputEmitterRef<Date | null>;
479
510
  _maskedDate: _angular_core.Signal<string | Date | null>;
480
511
  internalDate: _angular_core.WritableSignal<Date | null>;
481
512
  isOpen: _angular_core.ModelSignal<boolean>;
482
513
  currentClass: _angular_core.Signal<string>;
514
+ datepicker: _angular_core.Signal<ShipDatepicker | undefined>;
515
+ onFocusOut(event: FocusEvent): void;
483
516
  onDateChange(date: Date | null): void;
484
517
  close(): void;
485
518
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipDatepickerInput, never>;
486
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDatepickerInput, "sh-datepicker-input", never, { "masking": { "alias": "masking"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "isOpen": "isOpenChange"; }, ["ngModels"], ["label", "[prefix]", "[textPrefix]", "input", "[textSuffix]", "[suffix]"], true, never>;
519
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDatepickerInput, "sh-datepicker-input", never, { "masking": { "alias": "masking"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "isOpen": "isOpenChange"; }, ["ngControl"], ["label", "[prefix]", "[textPrefix]", "input", "[textSuffix]", "[suffix]"], true, never>;
487
520
  }
488
521
 
489
522
  declare class ShipDaterangeInput {
490
523
  #private;
491
- startDateInputs: _angular_core.Signal<readonly ElementRef<HTMLInputElement>[]>;
492
- endDateInputs: _angular_core.Signal<readonly ElementRef<HTMLInputElement>[]>;
493
524
  monthsToShow: _angular_core.InputSignal<number>;
494
525
  masking: _angular_core.InputSignal<string>;
495
526
  closed: _angular_core.OutputEmitterRef<{
@@ -498,19 +529,22 @@ declare class ShipDaterangeInput {
498
529
  }>;
499
530
  startDate: _angular_core.WritableSignal<Date | null>;
500
531
  endDate: _angular_core.WritableSignal<Date | null>;
532
+ activeInput: _angular_core.WritableSignal<"start" | "end">;
501
533
  isOpen: _angular_core.ModelSignal<boolean>;
534
+ datepicker: _angular_core.Signal<ShipDatepicker | undefined>;
502
535
  get classes(): string;
503
536
  _maskedStartDate: _angular_core.Signal<string | null>;
504
537
  _maskedEndDate: _angular_core.Signal<string | null>;
505
538
  constructor();
506
539
  private setupInput;
540
+ onFocusOut(event: FocusEvent): void;
507
541
  onStartDateChange(date: Date | null): void;
508
542
  onEndDateChange(date: Date | null): void;
509
543
  private updateInputValue;
510
544
  private dispatchInputEvent;
511
545
  close(): void;
512
546
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipDaterangeInput, never>;
513
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDaterangeInput, "sh-daterange-input", never, { "monthsToShow": { "alias": "monthsToShow"; "required": false; "isSignal": true; }; "masking": { "alias": "masking"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "isOpen": "isOpenChange"; }, ["startDateInputs", "endDateInputs"], ["label", "[prefix]", "[textPrefix]", "input", "[textSuffix]", "[suffix]"], true, never>;
547
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipDaterangeInput, "sh-daterange-input", never, { "monthsToShow": { "alias": "monthsToShow"; "required": false; "isSignal": true; }; "masking": { "alias": "masking"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "isOpen": "isOpenChange"; }, never, ["label", "[prefix]", "[textPrefix]", "input", "[textSuffix]", "[suffix]"], true, never>;
514
548
  }
515
549
 
516
550
  declare class ShipDivider {
@@ -519,8 +553,8 @@ declare class ShipDivider {
519
553
  }
520
554
 
521
555
  declare class ShipEventCard {
522
- color: _angular_core.InputSignal<ShipColor | null>;
523
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
556
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
557
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
524
558
  hostClasses: _angular_core.Signal<string>;
525
559
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipEventCard, never>;
526
560
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipEventCard, "sh-event-card", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[actions]", "button"], true, never>;
@@ -544,9 +578,9 @@ declare class ShipFileUpload {
544
578
 
545
579
  declare class ShipFormField {
546
580
  #private;
547
- color: _angular_core.InputSignal<ShipColor | null>;
548
- variant: _angular_core.InputSignal<ShipFormFieldVariant | null>;
549
- size: _angular_core.InputSignal<ShipSize | null>;
581
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
582
+ variant: _angular_core.InputSignal<"" | "base" | "horizontal" | "auto-width" | "autosize" | null>;
583
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
550
584
  readonly: _angular_core.InputSignal<boolean>;
551
585
  hostClasses: _angular_core.Signal<string>;
552
586
  onClick(): void;
@@ -557,8 +591,8 @@ declare class ShipFormField {
557
591
 
558
592
  declare class ShipIcon implements AfterContentInit {
559
593
  #private;
560
- color: _angular_core.InputSignal<ShipColor | null>;
561
- size: _angular_core.InputSignal<ShipIconSize | null>;
594
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
595
+ size: _angular_core.InputSignal<"" | "small" | "large" | null>;
562
596
  hostClasses: _angular_core.Signal<string>;
563
597
  ngAfterContentInit(): void;
564
598
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipIcon, never>;
@@ -651,8 +685,8 @@ declare class ShipPopover {
651
685
  type ShipProgressBarMode = 'determinate' | 'indeterminate';
652
686
  declare class ShipProgressBar {
653
687
  value: _angular_core.InputSignal<number | undefined>;
654
- color: _angular_core.InputSignal<ShipColor | null>;
655
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
688
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
689
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
656
690
  hostClasses: _angular_core.Signal<string>;
657
691
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipProgressBar, never>;
658
692
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipProgressBar, "sh-progress-bar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -664,8 +698,8 @@ declare class ShipRadio {
664
698
  projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
665
699
  checked: _angular_core.ModelSignal<boolean>;
666
700
  currentClassList: _angular_core.Signal<string>;
667
- color: _angular_core.InputSignal<ShipColor | null>;
668
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
701
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
702
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
669
703
  readonly: _angular_core.InputSignal<boolean>;
670
704
  disabled: _angular_core.InputSignal<boolean>;
671
705
  noInternalInput: _angular_core.InputSignal<boolean>;
@@ -685,9 +719,9 @@ declare class ShipRangeSlider {
685
719
  max: number;
686
720
  step: number;
687
721
  }>;
688
- readonly color: _angular_core.InputSignal<ShipColor | null>;
689
- readonly variant: _angular_core.InputSignal<ShipVariant | null>;
690
- readonly size: _angular_core.InputSignal<ShipSize | null>;
722
+ readonly color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
723
+ readonly variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | "base" | "thick" | null>;
724
+ readonly size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
691
725
  readonly sharp: _angular_core.InputSignal<boolean | undefined>;
692
726
  readonly alwaysShow: _angular_core.InputSignal<boolean | undefined>;
693
727
  hostClasses: _angular_core.Signal<string>;
@@ -710,9 +744,9 @@ declare class ShipSelect {
710
744
  value: _angular_core.InputSignal<string | undefined>;
711
745
  label: _angular_core.InputSignal<string | undefined>;
712
746
  asFreeText: _angular_core.InputSignal<boolean>;
713
- color: _angular_core.InputSignal<ShipColor | null>;
714
- variant: _angular_core.InputSignal<ShipFormFieldVariant | null>;
715
- size: _angular_core.InputSignal<ShipSize | null>;
747
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
748
+ variant: _angular_core.InputSignal<"" | "base" | "horizontal" | "auto-width" | "autosize" | null>;
749
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
716
750
  optionTitle: _angular_core.InputSignal<string | null>;
717
751
  freeTextTitle: _angular_core.InputSignal<string | null>;
718
752
  freeTextPlaceholder: _angular_core.InputSignal<string | null>;
@@ -736,6 +770,7 @@ declare class ShipSelect {
736
770
  selectedOptions: _angular_core.ModelSignal<unknown[]>;
737
771
  cleared: _angular_core.OutputEmitterRef<void>;
738
772
  onAddNewFreeTextOption: _angular_core.OutputEmitterRef<string>;
773
+ spacedSelectedOptions: _angular_core.Signal<string>;
739
774
  computedFreeTextOption: _angular_core.Signal<string | Record<string, any>>;
740
775
  inlineTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
741
776
  optionsWrapRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
@@ -750,6 +785,7 @@ declare class ShipSelect {
750
785
  placeholderText: _angular_core.Signal<string | null>;
751
786
  selectedOptionValues: _angular_core.Signal<unknown[]>;
752
787
  filteredOptions: _angular_core.Signal<unknown[]>;
788
+ componentId: string;
753
789
  inputRefEl: _angular_core.Signal<HTMLInputElement | null | undefined>;
754
790
  focusEffect: _angular_core.EffectRef;
755
791
  openAbortController: AbortController | null;
@@ -766,7 +802,7 @@ declare class ShipSelect {
766
802
  setInputValueFromOptions(options: unknown[]): void;
767
803
  getValue(option: unknown): unknown;
768
804
  getLabel(option: unknown): unknown;
769
- getLabelAsSlug(option: unknown): string;
805
+ getOptionId(index: number): string;
770
806
  toggleOptionByIndex(optionIndex: number, event?: MouseEvent, enterKey?: boolean): void;
771
807
  removeSelectedOptionByIndex($event: MouseEvent, optionRemoveIndex: number): void;
772
808
  isSelected(optionIndex: number): boolean;
@@ -877,14 +913,14 @@ declare function moveIndex<T = any>(array: T[], event: Pick<ShipDropEvent, 'prev
877
913
  declare function transferArrayItem<T = any>(currentArray: T[], targetArray: T[], currentIndex: number, targetIndex: number): void;
878
914
 
879
915
  declare class ShipSpinner {
880
- color: _angular_core.InputSignal<ShipColor | null>;
916
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
881
917
  hostClasses: _angular_core.Signal<string>;
882
918
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSpinner, never>;
883
919
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipSpinner, "sh-spinner", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
884
920
  }
885
921
 
886
922
  declare class ShipStepper extends ShipSelectionGroup<string> {
887
- color: _angular_core.InputSignal<ShipColor | null>;
923
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
888
924
  constructor();
889
925
  hostClasses: _angular_core.Signal<string>;
890
926
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipStepper, never>;
@@ -915,7 +951,7 @@ declare class ShipSort {
915
951
  }
916
952
  declare class ShipStickyColumns {
917
953
  #private;
918
- shStickyColumns: _angular_core.InputSignal<(string & {}) | "end" | "start">;
954
+ shStickyColumns: _angular_core.InputSignal<"start" | "end" | (string & {})>;
919
955
  ngAfterContentInit(): void;
920
956
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipStickyColumns, never>;
921
957
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipStickyColumns, "[shStickyColumns]", never, { "shStickyColumns": { "alias": "shStickyColumns"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -927,8 +963,8 @@ declare class ShipTable {
927
963
  data: _angular_core.InputSignal<any>;
928
964
  dataChange: _angular_core.OutputEmitterRef<any>;
929
965
  sortByColumn: _angular_core.ModelSignal<string | null>;
930
- color: _angular_core.InputSignal<ShipColor | null>;
931
- variant: _angular_core.InputSignal<ShipTableVariant | null>;
966
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
967
+ variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | null>;
932
968
  hostClasses: _angular_core.Signal<string>;
933
969
  thead: _angular_core.Signal<ElementRef<HTMLTableSectionElement> | undefined>;
934
970
  tbody: _angular_core.Signal<ElementRef<HTMLTableSectionElement> | undefined>;
@@ -957,8 +993,8 @@ declare class ShipTable {
957
993
 
958
994
  declare class ShipTabs extends ShipSelectionGroup<string> {
959
995
  id: string;
960
- color: _angular_core.InputSignal<ShipColor | null>;
961
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
996
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
997
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
962
998
  constructor();
963
999
  hostClasses: _angular_core.Signal<string>;
964
1000
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipTabs, never>;
@@ -980,8 +1016,8 @@ declare class ShipToggleCard {
980
1016
  #private;
981
1017
  disableToggle: _angular_core.InputSignal<boolean>;
982
1018
  isActive: _angular_core.ModelSignal<boolean | undefined>;
983
- color: _angular_core.InputSignal<ShipColor | null>;
984
- variant: _angular_core.InputSignal<ShipCardVariant | null>;
1019
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
1020
+ variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | "type-c" | null>;
985
1021
  hostClasses: _angular_core.Signal<string>;
986
1022
  toggle(): void;
987
1023
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipToggleCard, never>;
@@ -993,8 +1029,8 @@ declare class ShipToggle {
993
1029
  internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
994
1030
  projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
995
1031
  checked: _angular_core.ModelSignal<boolean>;
996
- color: _angular_core.InputSignal<ShipColor | null>;
997
- variant: _angular_core.InputSignal<ShipSheetVariant | null>;
1032
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
1033
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
998
1034
  readonly: _angular_core.InputSignal<boolean>;
999
1035
  disabled: _angular_core.InputSignal<boolean>;
1000
1036
  noInternalInput: _angular_core.InputSignal<boolean>;
@@ -1185,5 +1221,5 @@ interface ShipConfig {
1185
1221
  sidenavType?: 'overlay' | 'simple';
1186
1222
  }
1187
1223
 
1188
- export { SHIP_CONFIG, ShipAccordion, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, ShipColorPickerInput, ShipDatepicker, ShipDatepickerInput, ShipDaterangeInput, ShipDialog, ShipDialogService, ShipDivider, ShipEventCard, ShipFileDragDrop, ShipFileUpload, ShipFormField, ShipFormFieldExperimental, ShipIcon, ShipInputMask, ShipList, ShipMenu, ShipPopover, ShipPreventWheel, ShipProgressBar, ShipRadio, ShipRangeSlider, ShipResize, ShipSelect, ShipSidenav, ShipSort, ShipSortable, ShipSpinner, ShipStepper, ShipStickyColumns, ShipTable, ShipTabs, ShipThemeToggle, ShipToggle, ShipToggleCard, ShipTooltip, ShipTooltipWrapper, ShipVirtualScroll, TEST_NODES, createSortableManager, defaultThemeColors, hslToOklch, hslToRgbExact, hsvToRgbExact, moveIndex, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToHex8, transferArrayItem, watchHostClass };
1189
- export type { AfterDropResponse, BlueprintNode, ComponentClosedType, ComponentDataType, Coordinates, CrossDropResponse, Exact, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipButtonGroupVariant, ShipButtonSize, ShipCardVariant, ShipChipConfig, ShipColor, ShipComponentConfig, ShipConfig, ShipConfigColors, ShipConfigDistributions, ShipDialogInstance, ShipDialogOptions, ShipDialogServiceOptions, ShipDialogTemplateInstance, ShipDropEvent, ShipFormFieldVariant, ShipIconSize, ShipPopoverOptions, ShipProgressBarMode, ShipRangeSliderConfig, ShipSheetVariant, ShipSidenavType, ShipSize, ShipTableVariant, ShipTypeVariant, ShipVariant, SortableManagerConfig };
1224
+ export { SHIP_CONFIG, ShipAccordion, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, ShipColorPickerInput, ShipDatepicker, ShipDatepickerInput, ShipDaterangeInput, ShipDialog, ShipDialogService, ShipDivider, ShipEventCard, ShipFileDragDrop, ShipFileUpload, ShipFormField, ShipFormFieldExperimental, ShipIcon, ShipInputMask, ShipList, ShipMenu, ShipPopover, ShipPreventWheel, ShipProgressBar, ShipRadio, ShipRangeSlider, ShipResize, ShipSelect, ShipSidenav, ShipSort, ShipSortable, ShipSpinner, ShipStepper, ShipStickyColumns, ShipTable, ShipTabs, ShipThemeToggle, ShipToggle, ShipToggleCard, ShipTooltip, ShipTooltipWrapper, ShipVirtualScroll, TEST_NODES, __SHIP_BUTTON_GROUP_VARIANTS, __SHIP_BUTTON_SIZES, __SHIP_CARD_VARIANTS, __SHIP_COLORS, __SHIP_FORM_FIELD_VARIANTS, __SHIP_ICON_SIZES, __SHIP_RANGE_SLIDER_VARIANTS, __SHIP_SHEET_VARIANTS, __SHIP_SIZES, __SHIP_TABLE_VARIANTS, __SHIP_TYPE_VARIANTS, createSortableManager, defaultThemeColors, hslToOklch, hslToRgbExact, hsvToRgbExact, moveIndex, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToHex8, transferArrayItem, watchHostClass };
1225
+ export type { AfterDropResponse, BlueprintNode, ComponentClosedType, ComponentDataType, Coordinates, CrossDropResponse, Exact, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipButtonGroupVariant, ShipButtonSize, ShipCardVariant, ShipChipConfig, ShipColor, ShipComponentConfig, ShipConfig, ShipConfigColors, ShipConfigDistributions, ShipDialogInstance, ShipDialogOptions, ShipDialogServiceOptions, ShipDialogTemplateInstance, ShipDropEvent, ShipFormFieldVariant, ShipIconSize, ShipPopoverOptions, ShipProgressBarMode, ShipRangeSliderConfig, ShipRangeSliderVariant, ShipSheetVariant, ShipSidenavType, ShipSize, ShipTableVariant, ShipTypeVariant, ShipVariant, SortableManagerConfig };