@ship-ui/core 0.17.23 → 0.18.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,7 +1,7 @@
1
1
  {
2
2
  "name": "@ship-ui/core",
3
3
  "license": "MIT",
4
- "version": "0.17.23",
4
+ "version": "0.18.1",
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=20",
7
7
  "@angular/core": ">=20",
@@ -38,6 +38,10 @@ $shipButtonGroup: true !default;
38
38
  border-radius: p2r(6);
39
39
  border: 0;
40
40
 
41
+ &:focus-visible {
42
+ outline-offset: -2px;
43
+ }
44
+
41
45
  @supports not (anchor-name: --anchor) {
42
46
  --btng-item-bg: var(--base-3);
43
47
  }
@@ -86,6 +90,11 @@ $shipButtonGroup: true !default;
86
90
  transform 125ms linear;
87
91
  transform: scale(1);
88
92
 
93
+ &:focus-visible {
94
+ outline: 2px solid var(--primary-8);
95
+ outline-offset: -4px;
96
+ }
97
+
89
98
  &:active {
90
99
  transform: scale(0.96);
91
100
  }
@@ -18,20 +18,34 @@ $shipCheckbox: true !default;
18
18
  position: relative;
19
19
  border: 0;
20
20
 
21
- .label {
22
- &:empty {
23
- display: none;
21
+ &:focus-visible > .box,
22
+ &:has(input:focus-visible) > .box {
23
+ outline: 2px solid var(--primary-8);
24
+ outline-offset: 2px;
25
+ }
26
+
27
+ > input.internal-input,
28
+ .label > input {
29
+ appearance: none;
30
+ position: absolute;
31
+ inset: 0;
32
+ cursor: pointer;
33
+ z-index: 0;
34
+ margin: 0;
35
+
36
+ &:focus,
37
+ &:focus-visible {
38
+ outline: none;
24
39
  }
40
+ }
25
41
 
26
- > input {
27
- appearance: none;
28
- position: absolute;
29
- inset: 0;
30
- cursor: pointer;
42
+ &:has(.label > input) > input.internal-input {
43
+ display: none;
44
+ }
31
45
 
32
- &:focus {
33
- outline: none;
34
- }
46
+ .label {
47
+ &:empty {
48
+ display: none;
35
49
  }
36
50
  }
37
51
 
@@ -66,18 +80,9 @@ $shipCheckbox: true !default;
66
80
 
67
81
  &.raised,
68
82
  &.flat {
69
- &:has(input) {
70
- &:not(:has(input:checked)) .box {
71
- background: transparent;
72
- border: 1px solid var(--box-bc);
73
- }
74
- }
75
-
76
- &:not(:has(input)) {
77
- .box:not(.active) {
78
- background: transparent;
79
- border: 1px solid var(--box-bc);
80
- }
83
+ &:not(:has(input:checked)):not(.active) .box {
84
+ background: transparent;
85
+ border: 1px solid var(--box-bc);
81
86
  }
82
87
  }
83
88
 
@@ -185,6 +185,12 @@ $shipFormFieldShadow: false !default;
185
185
  min-width: var(--ff-mw);
186
186
  width: 100%;
187
187
 
188
+ &:has(textarea:focus-visible),
189
+ &:has(input:focus-visible) {
190
+ outline: 2px solid var(--primary-8);
191
+ outline-offset: 2px;
192
+ }
193
+
188
194
  sh-popover,
189
195
  .input {
190
196
  flex: 1 0;
@@ -80,6 +80,11 @@ $shipList: true !default;
80
80
  outline: none;
81
81
  }
82
82
 
83
+ &:focus-visible {
84
+ outline: 2px solid var(--primary-8);
85
+ outline-offset: 2px;
86
+ }
87
+
83
88
  [suffix] {
84
89
  margin-left: auto;
85
90
  color: var(--base-8);
@@ -3,6 +3,7 @@
3
3
  $shipRadio: true !default;
4
4
 
5
5
  @if $shipRadio == true {
6
+ .sh-radio,
6
7
  sh-radio {
7
8
  --radiod-c: var(--base-8);
8
9
  --radiod-o: 0;
@@ -15,17 +16,28 @@ $shipRadio: true !default;
15
16
  user-select: none;
16
17
  position: relative;
17
18
 
19
+ &:focus-visible > .radio,
20
+ &:has(input:focus-visible) > .radio {
21
+ outline: 2px solid var(--primary-8);
22
+ outline-offset: 2px;
23
+ }
24
+
18
25
  > input {
19
26
  appearance: none;
20
27
  position: absolute;
21
28
  inset: 0;
22
29
  cursor: pointer;
23
30
 
24
- &:focus {
31
+ &:focus,
32
+ &:focus-visible {
25
33
  outline: none;
26
34
  }
27
35
  }
28
36
 
37
+ &:has(> input:not(.internal-input)) > input.internal-input {
38
+ display: none;
39
+ }
40
+
29
41
  &:has(input[disabled]),
30
42
  &[disabled]:not([disabled='false']) {
31
43
  opacity: 0.5;
@@ -91,18 +103,9 @@ $shipRadio: true !default;
91
103
 
92
104
  &.raised,
93
105
  &.flat {
94
- &:has(input) {
95
- &:not(:has(input:checked)) .radio {
96
- background: transparent;
97
- border: 1px solid var(--radio-bc);
98
- }
99
- }
100
-
101
- &:not(:has(input)) {
102
- .radio:not(.active) {
103
- background: transparent;
104
- border: 1px solid var(--radio-bc);
105
- }
106
+ &:not(:has(input:checked)):not(.active) .radio {
107
+ background: transparent;
108
+ border: 1px solid var(--radio-bc);
106
109
  }
107
110
  }
108
111
  }
@@ -211,6 +211,11 @@ $shipSheet: true !default;
211
211
  }
212
212
  }
213
213
 
214
+ &:focus-visible {
215
+ outline: 2px solid var(--primary-8);
216
+ outline-offset: 2px;
217
+ }
218
+
214
219
  // &.experimental-border {
215
220
  // --sheet-bc: transparent;
216
221
 
@@ -58,7 +58,9 @@ $shipStepper: true !default;
58
58
  }
59
59
 
60
60
  button,
61
- [step] {
61
+ [routerLinkActive],
62
+ [step],
63
+ [value] {
62
64
  flex: 2 0;
63
65
  display: flex;
64
66
  flex-direction: column;
@@ -69,6 +71,13 @@ $shipStepper: true !default;
69
71
  color: var(--base-8);
70
72
  cursor: pointer;
71
73
  user-select: none;
74
+ outline: none;
75
+
76
+ &:focus-visible .sh-radio {
77
+ outline: 2px solid var(--primary-8);
78
+ outline-offset: 2px;
79
+ border-radius: 50%;
80
+ }
72
81
 
73
82
  &:first-child {
74
83
  align-items: flex-start;
@@ -81,13 +90,15 @@ $shipStepper: true !default;
81
90
  text-align: end;
82
91
  }
83
92
 
84
- &:not(.active) sh-radio {
93
+ &:not(.active) .sh-radio {
85
94
  z-index: 10;
86
95
  }
87
96
 
88
97
  &:has(~ button.active),
89
- &:has(~ [step].active) {
90
- sh-radio {
98
+ &:has(~ [step].active),
99
+ &:has(~ [routerLinkActive].active),
100
+ &:has(~ [value].active) {
101
+ .sh-radio {
91
102
  --radiod-o: 1;
92
103
 
93
104
  .radio {
@@ -97,7 +108,7 @@ $shipStepper: true !default;
97
108
  }
98
109
  }
99
110
 
100
- sh-radio {
111
+ .sh-radio {
101
112
  .radio {
102
113
  --radiod-c: var(--step-radio-cbg);
103
114
 
@@ -110,7 +121,7 @@ $shipStepper: true !default;
110
121
  color: var(--step-active-c);
111
122
  outline: none;
112
123
 
113
- sh-radio {
124
+ .sh-radio {
114
125
  z-index: 0;
115
126
  --radiod-o: 1;
116
127
 
@@ -18,7 +18,8 @@ $shipTabs: true !default;
18
18
  position: relative;
19
19
 
20
20
  button,
21
- [tab] {
21
+ [tab],
22
+ [value] {
22
23
  display: flex;
23
24
  align-items: center;
24
25
  gap: p2r(8);
@@ -35,12 +36,14 @@ $shipTabs: true !default;
35
36
  transition: transform 125ms linear;
36
37
  transform: scale(1);
37
38
 
38
- &:active {
39
- transform: scale(0.98);
39
+ &:focus-visible {
40
+ outline: 2px solid var(--primary-8);
41
+ outline-offset: -2px;
42
+ border-radius: var(--shape-1);
40
43
  }
41
44
 
42
- &:focus {
43
- outline: none;
45
+ &:active {
46
+ transform: scale(0.98);
44
47
  }
45
48
 
46
49
  &:hover {
@@ -16,6 +16,12 @@ $shipToggle: true !default;
16
16
  user-select: none;
17
17
  position: relative;
18
18
 
19
+ &:focus-visible > .box,
20
+ &:has(input:focus-visible) > .box {
21
+ outline: 2px solid var(--primary-8);
22
+ outline-offset: 2px;
23
+ }
24
+
19
25
  label {
20
26
  display: flex;
21
27
  align-items: center;
@@ -27,6 +33,7 @@ $shipToggle: true !default;
27
33
  .box {
28
34
  display: block;
29
35
  width: p2r(34);
36
+ min-width: p2r(34);
30
37
  height: p2r(20);
31
38
  cursor: pointer;
32
39
  position: relative;
@@ -42,6 +49,16 @@ $shipToggle: true !default;
42
49
  inset: 0;
43
50
  cursor: pointer;
44
51
  z-index: 0;
52
+ margin: 0;
53
+
54
+ &:focus,
55
+ &:focus-visible {
56
+ outline: none;
57
+ }
58
+ }
59
+
60
+ &:has(> input:not(.internal-input)) > input.internal-input {
61
+ display: none;
45
62
  }
46
63
 
47
64
  &:has(input[disabled]),
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ElementRef, QueryList, OutputEmitterRef, InputSignal, ComponentRef, OutputRefSubscription, Type, AfterViewInit, OnDestroy, AfterContentInit, TemplateRef, WritableSignal, InjectionToken } from '@angular/core';
2
+ import { ElementRef, QueryList, TemplateRef, Type, OutputEmitterRef, InputSignal, ComponentRef, EmbeddedViewRef, OutputRefSubscription, AfterViewInit, OnDestroy, AfterContentInit, WritableSignal, InjectionToken } from '@angular/core';
3
3
  import { NgModel } from '@angular/forms';
4
4
 
5
5
  type ShipColor = 'primary' | 'accent' | 'warn' | 'error' | 'success' | (string & {});
@@ -110,10 +110,16 @@ declare class ShipDialog {
110
110
  }
111
111
 
112
112
  type Exact<T, U> = U extends T ? (keyof U extends keyof T ? U : never) : never;
113
- type ComponentDataType<T> = T extends {
113
+ type ComponentDataType<T> = T extends TemplateRef<infer C> ? C extends {
114
+ $implicit: infer K;
115
+ } ? K : void : T extends Type<infer I> ? I extends {
114
116
  data: InputSignal<infer K>;
115
- } ? K : void;
116
- type ComponentClosedType<T> = T extends {
117
+ } ? K : void : void;
118
+ type ComponentClosedType<T> = T extends TemplateRef<infer C> ? C extends {
119
+ close: (res?: infer U) => void;
120
+ } ? U : undefined : T extends Type<infer I> ? I extends {
121
+ closed: OutputEmitterRef<infer U>;
122
+ } ? U : undefined : T extends {
117
123
  closed: OutputEmitterRef<infer U>;
118
124
  } ? U : undefined;
119
125
  interface ShipDialogServiceOptions<TData = any, TResult = undefined> extends ShipDialogOptions {
@@ -122,23 +128,22 @@ interface ShipDialogServiceOptions<TData = any, TResult = undefined> extends Shi
122
128
  }
123
129
  type ShipDialogInstance<T> = {
124
130
  component: T;
125
- close: (res?: ComponentClosedType<T> | undefined) => void;
126
- closed: OutputEmitterRef<ComponentClosedType<T> | undefined>;
131
+ close: (res?: ComponentClosedType<T>) => void;
132
+ closed: OutputEmitterRef<ComponentClosedType<T>>;
133
+ };
134
+ type ShipDialogTemplateInstance<T> = {
135
+ component: undefined;
136
+ close: (res?: ComponentClosedType<T>) => void;
137
+ closed: OutputEmitterRef<ComponentClosedType<T>>;
127
138
  };
128
139
  declare class ShipDialogService {
129
140
  #private;
130
141
  compRef: ComponentRef<ShipDialog> | null;
131
142
  insertedCompRef: ComponentRef<unknown> | null;
143
+ insertedTemplateRef: EmbeddedViewRef<unknown> | null;
132
144
  closedFieldSub: OutputRefSubscription | null;
133
145
  compClosedSub: OutputRefSubscription | null;
134
- open<T extends {
135
- data?: InputSignal<any>;
136
- closed?: OutputEmitterRef<any>;
137
- } | {
138
- data?: InputSignal<any>;
139
- } | {
140
- closed?: OutputEmitterRef<any>;
141
- } | {}, K = ComponentDataType<T>, U = ComponentClosedType<T>, _Options extends ShipDialogServiceOptions<K, U | undefined> = ShipDialogServiceOptions<K, U | undefined>>(component: Type<T>, options?: _Options): ShipDialogInstance<T>;
146
+ open<T extends TemplateRef<any> | Type<any>, K = ComponentDataType<T>, U = ComponentClosedType<T>, _Options extends ShipDialogServiceOptions<K, U> = ShipDialogServiceOptions<K, U>>(componentOrTemplate: T, options?: _Options): T extends TemplateRef<any> ? ShipDialogTemplateInstance<T> : T extends Type<infer I> ? ShipDialogInstance<I> : never;
142
147
  ngOnDestroy(): void;
143
148
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipDialogService, never>;
144
149
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ShipDialogService>;
@@ -242,11 +247,25 @@ declare class ShipBlueprint implements AfterViewInit, OnDestroy {
242
247
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipBlueprint, "sh-blueprint", never, { "forceUnique": { "alias": "forceUnique"; "required": false; "isSignal": true; }; "autoLayout": { "alias": "autoLayout"; "required": false; "isSignal": true; }; "gridSize": { "alias": "gridSize"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "gridColor": { "alias": "gridColor"; "required": false; "isSignal": true; }; "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; }, { "nodes": "nodesChange"; }, never, ["*"], true, never>;
243
248
  }
244
249
 
245
- declare class ShipButtonGroup {
250
+ declare abstract class ShipSelectionGroup<T = any> {
251
+ protected readonly itemSelector: string;
252
+ protected readonly activeClass: string;
253
+ protected readonly hostElement: any;
254
+ protected items: _angular_core.Signal<HTMLElement[]>;
255
+ readonly value: _angular_core.ModelSignal<T | null>;
256
+ constructor(itemSelector: string, activeClass: string);
257
+ protected onClick(target: EventTarget | null): void;
258
+ protected onKeyDown(event: KeyboardEvent): void;
259
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSelectionGroup<any>, never>;
260
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSelectionGroup<any>, never, never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
261
+ }
262
+
263
+ declare class ShipButtonGroup extends ShipSelectionGroup<string> {
246
264
  id: string;
247
265
  color: _angular_core.InputSignal<ShipColor | null>;
248
266
  variant: _angular_core.InputSignal<ShipButtonGroupVariant | null>;
249
267
  size: _angular_core.InputSignal<ShipSize | null>;
268
+ constructor();
250
269
  hostClasses: _angular_core.Signal<string>;
251
270
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipButtonGroup, never>;
252
271
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipButtonGroup, "sh-button-group", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -271,13 +290,21 @@ declare class ShipCard {
271
290
  }
272
291
 
273
292
  declare class ShipCheckbox {
293
+ private readonly _elementRef;
294
+ internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
295
+ projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
296
+ checked: _angular_core.ModelSignal<boolean>;
274
297
  currentClassList: _angular_core.Signal<string>;
275
298
  color: _angular_core.InputSignal<ShipColor | null>;
276
299
  variant: _angular_core.InputSignal<ShipSheetVariant | null>;
277
300
  readonly: _angular_core.InputSignal<boolean>;
301
+ disabled: _angular_core.InputSignal<boolean>;
302
+ noInternalInput: _angular_core.InputSignal<boolean>;
303
+ protected onInternalInputChange(event: Event): void;
278
304
  hostClasses: _angular_core.Signal<string>;
305
+ protected onEnter(event: Event): void;
279
306
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipCheckbox, never>;
280
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipCheckbox, "sh-checkbox", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
307
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipCheckbox, "sh-checkbox", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "noInternalInput": { "alias": "noInternalInput"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
281
308
  }
282
309
 
283
310
  declare class ShipChip {
@@ -572,13 +599,21 @@ declare class ShipProgressBar {
572
599
  }
573
600
 
574
601
  declare class ShipRadio {
602
+ private readonly _elementRef;
603
+ internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
604
+ projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
605
+ checked: _angular_core.ModelSignal<boolean>;
575
606
  currentClassList: _angular_core.Signal<string>;
576
607
  color: _angular_core.InputSignal<ShipColor | null>;
577
608
  variant: _angular_core.InputSignal<ShipSheetVariant | null>;
578
609
  readonly: _angular_core.InputSignal<boolean>;
610
+ disabled: _angular_core.InputSignal<boolean>;
611
+ noInternalInput: _angular_core.InputSignal<boolean>;
612
+ protected onInternalInputChange(event: Event): void;
579
613
  hostClasses: _angular_core.Signal<string>;
614
+ protected onEnter(event: Event): void;
580
615
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipRadio, never>;
581
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipRadio, "sh-radio", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
616
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipRadio, "sh-radio", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "noInternalInput": { "alias": "noInternalInput"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
582
617
  }
583
618
 
584
619
  declare class ShipRangeSlider {
@@ -748,8 +783,9 @@ declare class ShipSpinner {
748
783
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipSpinner, "sh-spinner", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
749
784
  }
750
785
 
751
- declare class ShipStepper {
786
+ declare class ShipStepper extends ShipSelectionGroup<string> {
752
787
  color: _angular_core.InputSignal<ShipColor | null>;
788
+ constructor();
753
789
  hostClasses: _angular_core.Signal<string>;
754
790
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipStepper, never>;
755
791
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipStepper, "sh-stepper", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -819,10 +855,11 @@ declare class ShipTable {
819
855
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipTable, "sh-table", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "sortByColumn": { "alias": "sortByColumn"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "dataChange": "dataChange"; "sortByColumn": "sortByColumnChange"; }, never, ["[actionbar]", "th", "[thead]", "*", "[table-no-rows]"], true, never>;
820
856
  }
821
857
 
822
- declare class ShipTabs {
858
+ declare class ShipTabs extends ShipSelectionGroup<string> {
823
859
  id: string;
824
860
  color: _angular_core.InputSignal<ShipColor | null>;
825
861
  variant: _angular_core.InputSignal<ShipSheetVariant | null>;
862
+ constructor();
826
863
  hostClasses: _angular_core.Signal<string>;
827
864
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipTabs, never>;
828
865
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipTabs, "sh-tabs", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -852,12 +889,20 @@ declare class ShipToggleCard {
852
889
  }
853
890
 
854
891
  declare class ShipToggle {
892
+ private readonly _elementRef;
893
+ internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
894
+ projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
895
+ checked: _angular_core.ModelSignal<boolean>;
855
896
  color: _angular_core.InputSignal<ShipColor | null>;
856
897
  variant: _angular_core.InputSignal<ShipSheetVariant | null>;
857
898
  readonly: _angular_core.InputSignal<boolean>;
899
+ disabled: _angular_core.InputSignal<boolean>;
900
+ noInternalInput: _angular_core.InputSignal<boolean>;
901
+ protected onInternalInputChange(event: Event): void;
858
902
  hostClasses: _angular_core.Signal<string>;
903
+ protected onEnter(event: Event): void;
859
904
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipToggle, never>;
860
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipToggle, "sh-toggle", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
905
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipToggle, "sh-toggle", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "noInternalInput": { "alias": "noInternalInput"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
861
906
  }
862
907
 
863
908
  declare class ShipVirtualScroll {
@@ -984,4 +1029,4 @@ interface ShipConfig {
984
1029
  }
985
1030
 
986
1031
  export { GridSortable, SHIP_CONFIG, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, 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, moveIndex, watchHostClass };
987
- export type { AfterDropResponse, BlueprintNode, ComponentClosedType, ComponentDataType, Coordinates, Exact, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipButtonGroupVariant, ShipButtonSize, ShipCardVariant, ShipChipConfig, ShipColor, ShipComponentConfig, ShipConfig, ShipDialogInstance, ShipDialogOptions, ShipDialogServiceOptions, ShipIconSize, ShipPopoverOptions, ShipProgressBarMode, ShipSheetVariant, ShipSidenavType, ShipSize, ShipTableVariant, ShipTypeVariant, ShipVariant };
1032
+ export type { AfterDropResponse, BlueprintNode, ComponentClosedType, ComponentDataType, Coordinates, Exact, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipButtonGroupVariant, ShipButtonSize, ShipCardVariant, ShipChipConfig, ShipColor, ShipComponentConfig, ShipConfig, ShipDialogInstance, ShipDialogOptions, ShipDialogServiceOptions, ShipDialogTemplateInstance, ShipIconSize, ShipPopoverOptions, ShipProgressBarMode, ShipSheetVariant, ShipSidenavType, ShipSize, ShipTableVariant, ShipTypeVariant, ShipVariant };