@ship-ui/core 0.19.5 → 0.22.2

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.
Files changed (153) hide show
  1. package/README.md +3 -0
  2. package/assets/mcp/components.json +66 -4243
  3. package/bin/mcp/index.js +6027 -273
  4. package/bin/ship-fg-scanner +0 -0
  5. package/bin/ship-fg.mjs +14 -12
  6. package/bin/src/subset.ts +3 -1
  7. package/fesm2022/ship-ui-core-sh-form-field-experimental.mjs +42 -0
  8. package/fesm2022/ship-ui-core-sh-form-field-experimental.mjs.map +1 -0
  9. package/fesm2022/ship-ui-core-ship-accordion.mjs +127 -0
  10. package/fesm2022/ship-ui-core-ship-accordion.mjs.map +1 -0
  11. package/fesm2022/ship-ui-core-ship-alert.mjs +305 -0
  12. package/fesm2022/ship-ui-core-ship-alert.mjs.map +1 -0
  13. package/fesm2022/ship-ui-core-ship-blueprint.mjs +1156 -0
  14. package/fesm2022/ship-ui-core-ship-blueprint.mjs.map +1 -0
  15. package/fesm2022/ship-ui-core-ship-button-group.mjs +41 -0
  16. package/fesm2022/ship-ui-core-ship-button-group.mjs.map +1 -0
  17. package/fesm2022/ship-ui-core-ship-button.mjs +38 -0
  18. package/fesm2022/ship-ui-core-ship-button.mjs.map +1 -0
  19. package/fesm2022/ship-ui-core-ship-card.mjs +35 -0
  20. package/fesm2022/ship-ui-core-ship-card.mjs.map +1 -0
  21. package/fesm2022/ship-ui-core-ship-checkbox.mjs +113 -0
  22. package/fesm2022/ship-ui-core-ship-checkbox.mjs.map +1 -0
  23. package/fesm2022/ship-ui-core-ship-chip.mjs +44 -0
  24. package/fesm2022/ship-ui-core-ship-chip.mjs.map +1 -0
  25. package/fesm2022/ship-ui-core-ship-color-picker.mjs +947 -0
  26. package/fesm2022/ship-ui-core-ship-color-picker.mjs.map +1 -0
  27. package/fesm2022/ship-ui-core-ship-datepicker.mjs +951 -0
  28. package/fesm2022/ship-ui-core-ship-datepicker.mjs.map +1 -0
  29. package/fesm2022/ship-ui-core-ship-dialog.mjs +263 -0
  30. package/fesm2022/ship-ui-core-ship-dialog.mjs.map +1 -0
  31. package/fesm2022/ship-ui-core-ship-divider.mjs +22 -0
  32. package/fesm2022/ship-ui-core-ship-divider.mjs.map +1 -0
  33. package/fesm2022/ship-ui-core-ship-event-card.mjs +50 -0
  34. package/fesm2022/ship-ui-core-ship-event-card.mjs.map +1 -0
  35. package/fesm2022/ship-ui-core-ship-file-upload.mjs +112 -0
  36. package/fesm2022/ship-ui-core-ship-file-upload.mjs.map +1 -0
  37. package/fesm2022/ship-ui-core-ship-form-field.mjs +310 -0
  38. package/fesm2022/ship-ui-core-ship-form-field.mjs.map +1 -0
  39. package/fesm2022/ship-ui-core-ship-icon.mjs +81 -0
  40. package/fesm2022/ship-ui-core-ship-icon.mjs.map +1 -0
  41. package/fesm2022/ship-ui-core-ship-list.mjs +22 -0
  42. package/fesm2022/ship-ui-core-ship-list.mjs.map +1 -0
  43. package/fesm2022/ship-ui-core-ship-menu.mjs +545 -0
  44. package/fesm2022/ship-ui-core-ship-menu.mjs.map +1 -0
  45. package/fesm2022/ship-ui-core-ship-popover.mjs +286 -0
  46. package/fesm2022/ship-ui-core-ship-popover.mjs.map +1 -0
  47. package/fesm2022/ship-ui-core-ship-progress-bar.mjs +37 -0
  48. package/fesm2022/ship-ui-core-ship-progress-bar.mjs.map +1 -0
  49. package/fesm2022/ship-ui-core-ship-radio.mjs +102 -0
  50. package/fesm2022/ship-ui-core-ship-radio.mjs.map +1 -0
  51. package/fesm2022/ship-ui-core-ship-range-slider.mjs +277 -0
  52. package/fesm2022/ship-ui-core-ship-range-slider.mjs.map +1 -0
  53. package/fesm2022/ship-ui-core-ship-select.mjs +971 -0
  54. package/fesm2022/ship-ui-core-ship-select.mjs.map +1 -0
  55. package/fesm2022/ship-ui-core-ship-sidenav.mjs +248 -0
  56. package/fesm2022/ship-ui-core-ship-sidenav.mjs.map +1 -0
  57. package/fesm2022/ship-ui-core-ship-sortable.mjs +485 -0
  58. package/fesm2022/ship-ui-core-ship-sortable.mjs.map +1 -0
  59. package/fesm2022/ship-ui-core-ship-spinner.mjs +28 -0
  60. package/fesm2022/ship-ui-core-ship-spinner.mjs.map +1 -0
  61. package/fesm2022/ship-ui-core-ship-stepper.mjs +76 -0
  62. package/fesm2022/ship-ui-core-ship-stepper.mjs.map +1 -0
  63. package/fesm2022/ship-ui-core-ship-table-filter-bar.mjs +28 -0
  64. package/fesm2022/ship-ui-core-ship-table-filter-bar.mjs.map +1 -0
  65. package/fesm2022/ship-ui-core-ship-table.mjs +442 -0
  66. package/fesm2022/ship-ui-core-ship-table.mjs.map +1 -0
  67. package/fesm2022/ship-ui-core-ship-tabs.mjs +38 -0
  68. package/fesm2022/ship-ui-core-ship-tabs.mjs.map +1 -0
  69. package/fesm2022/ship-ui-core-ship-theme-toggle.mjs +119 -0
  70. package/fesm2022/ship-ui-core-ship-theme-toggle.mjs.map +1 -0
  71. package/fesm2022/ship-ui-core-ship-toggle-card.mjs +75 -0
  72. package/fesm2022/ship-ui-core-ship-toggle-card.mjs.map +1 -0
  73. package/fesm2022/ship-ui-core-ship-toggle.mjs +105 -0
  74. package/fesm2022/ship-ui-core-ship-toggle.mjs.map +1 -0
  75. package/fesm2022/ship-ui-core-ship-virtual-scroll.mjs +186 -0
  76. package/fesm2022/ship-ui-core-ship-virtual-scroll.mjs.map +1 -0
  77. package/fesm2022/ship-ui-core.mjs +880 -8782
  78. package/fesm2022/ship-ui-core.mjs.map +1 -1
  79. package/package.json +147 -3
  80. package/styles/core.scss +43 -0
  81. package/styles/helpers.scss +2 -0
  82. package/styles/index.scss +12 -123
  83. package/types/ship-ui-core-sh-form-field-experimental.d.ts +11 -0
  84. package/types/ship-ui-core-ship-accordion.d.ts +19 -0
  85. package/types/ship-ui-core-ship-alert.d.ts +68 -0
  86. package/types/ship-ui-core-ship-blueprint.d.ts +112 -0
  87. package/types/ship-ui-core-ship-button-group.d.ts +15 -0
  88. package/types/ship-ui-core-ship-button.d.ts +13 -0
  89. package/types/ship-ui-core-ship-card.d.ts +11 -0
  90. package/types/ship-ui-core-ship-checkbox.d.ts +22 -0
  91. package/types/ship-ui-core-ship-chip.d.ts +15 -0
  92. package/types/ship-ui-core-ship-color-picker.d.ts +105 -0
  93. package/types/ship-ui-core-ship-datepicker.d.ts +96 -0
  94. package/types/ship-ui-core-ship-dialog.d.ts +76 -0
  95. package/types/ship-ui-core-ship-divider.d.ts +8 -0
  96. package/types/ship-ui-core-ship-event-card.d.ts +11 -0
  97. package/types/ship-ui-core-ship-file-upload.d.ts +20 -0
  98. package/types/ship-ui-core-ship-form-field.d.ts +32 -0
  99. package/types/ship-ui-core-ship-icon.d.ts +18 -0
  100. package/types/ship-ui-core-ship-list.d.ts +8 -0
  101. package/types/ship-ui-core-ship-menu.d.ts +49 -0
  102. package/types/ship-ui-core-ship-popover.d.ts +40 -0
  103. package/types/ship-ui-core-ship-progress-bar.d.ts +14 -0
  104. package/types/ship-ui-core-ship-radio.d.ts +22 -0
  105. package/types/ship-ui-core-ship-range-slider.d.ts +31 -0
  106. package/types/ship-ui-core-ship-select.d.ts +81 -0
  107. package/types/ship-ui-core-ship-sidenav.d.ts +36 -0
  108. package/types/ship-ui-core-ship-sortable.d.ts +72 -0
  109. package/types/ship-ui-core-ship-spinner.d.ts +10 -0
  110. package/types/ship-ui-core-ship-stepper.d.ts +13 -0
  111. package/types/ship-ui-core-ship-table-filter-bar.d.ts +8 -0
  112. package/types/ship-ui-core-ship-table.d.ts +69 -0
  113. package/types/ship-ui-core-ship-tabs.d.ts +14 -0
  114. package/types/ship-ui-core-ship-theme-toggle.d.ts +28 -0
  115. package/types/ship-ui-core-ship-toggle-card.d.ts +15 -0
  116. package/types/ship-ui-core-ship-toggle.d.ts +21 -0
  117. package/types/ship-ui-core-ship-virtual-scroll.d.ts +22 -0
  118. package/types/ship-ui-core.d.ts +88 -1070
  119. package/styles/components/ship-accordion.scss +0 -113
  120. package/styles/components/ship-alert-container.scss +0 -49
  121. package/styles/components/ship-alert.scss +0 -177
  122. package/styles/components/ship-blueprint.scss +0 -242
  123. package/styles/components/ship-button-group.scss +0 -165
  124. package/styles/components/ship-button.scss +0 -141
  125. package/styles/components/ship-card.scss +0 -57
  126. package/styles/components/ship-checkbox.scss +0 -116
  127. package/styles/components/ship-chip.scss +0 -104
  128. package/styles/components/ship-color-picker.scss +0 -150
  129. package/styles/components/ship-datepicker.scss +0 -317
  130. package/styles/components/ship-dialog.scss +0 -152
  131. package/styles/components/ship-divider.scss +0 -27
  132. package/styles/components/ship-event-card.scss +0 -51
  133. package/styles/components/ship-file-upload.scss +0 -47
  134. package/styles/components/ship-form-field.scss +0 -408
  135. package/styles/components/ship-icon.scss +0 -54
  136. package/styles/components/ship-list.scss +0 -165
  137. package/styles/components/ship-menu.scss +0 -237
  138. package/styles/components/ship-popover.scss +0 -205
  139. package/styles/components/ship-progress-bar.scss +0 -173
  140. package/styles/components/ship-radio.scss +0 -113
  141. package/styles/components/ship-range-slider.scss +0 -421
  142. package/styles/components/ship-select.scss +0 -153
  143. package/styles/components/ship-sidenav.scss +0 -195
  144. package/styles/components/ship-sortable.scss +0 -45
  145. package/styles/components/ship-spinner.scss +0 -53
  146. package/styles/components/ship-stepper.scss +0 -158
  147. package/styles/components/ship-table.scss +0 -443
  148. package/styles/components/ship-tabs.scss +0 -125
  149. package/styles/components/ship-theme-toggle.scss +0 -41
  150. package/styles/components/ship-toggle-card.scss +0 -69
  151. package/styles/components/ship-toggle.scss +0 -255
  152. package/styles/components/ship-tooltip.scss +0 -151
  153. package/styles/components/ship-virtual-scroll.scss +0 -12
@@ -0,0 +1,81 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef, ElementRef } from '@angular/core';
3
+
4
+ type ValidateFreeText = (value: string) => boolean;
5
+ declare class ShipSelect {
6
+ #private;
7
+ value: _angular_core.InputSignal<string | undefined>;
8
+ label: _angular_core.InputSignal<string | undefined>;
9
+ asFreeText: _angular_core.InputSignal<boolean>;
10
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
11
+ variant: _angular_core.InputSignal<"" | "base" | "horizontal" | "auto-width" | "autosize" | null>;
12
+ size: _angular_core.InputSignal<"" | "small" | "xsmall" | null>;
13
+ optionTitle: _angular_core.InputSignal<string | null>;
14
+ freeTextTitle: _angular_core.InputSignal<string | null>;
15
+ freeTextPlaceholder: _angular_core.InputSignal<string | null>;
16
+ validateFreeText: _angular_core.InputSignal<ValidateFreeText | undefined>;
17
+ placeholder: _angular_core.InputSignal<string | undefined>;
18
+ readonly: _angular_core.ModelSignal<boolean>;
19
+ disabled: _angular_core.ModelSignal<boolean>;
20
+ hostClasses: _angular_core.Signal<string>;
21
+ lazySearch: _angular_core.InputSignal<boolean>;
22
+ inlineSearch: _angular_core.InputSignal<boolean>;
23
+ asText: _angular_core.InputSignal<boolean>;
24
+ isClearable: _angular_core.InputSignal<boolean>;
25
+ selectMultiple: _angular_core.InputSignal<boolean>;
26
+ optionTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
27
+ selectedOptionTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
28
+ placeholderTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
29
+ freeTextOptionTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
30
+ isOpen: _angular_core.ModelSignal<boolean>;
31
+ isLoading: _angular_core.ModelSignal<boolean>;
32
+ options: _angular_core.ModelSignal<unknown[]>;
33
+ selectedOptions: _angular_core.ModelSignal<unknown[]>;
34
+ cleared: _angular_core.OutputEmitterRef<void>;
35
+ onAddNewFreeTextOption: _angular_core.OutputEmitterRef<string>;
36
+ spacedSelectedOptions: _angular_core.Signal<string>;
37
+ computedFreeTextOption: _angular_core.Signal<string | Record<string, any>>;
38
+ inlineTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
39
+ optionsWrapRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
40
+ inputRefInput: _angular_core.WritableSignal<ElementRef<HTMLInputElement> | null>;
41
+ inputValue: _angular_core.WritableSignal<string>;
42
+ prevInputValue: _angular_core.WritableSignal<string | null>;
43
+ focusedOptionIndex: _angular_core.WritableSignal<number>;
44
+ _isClearable: _angular_core.Signal<boolean>;
45
+ selectClasses: _angular_core.Signal<string>;
46
+ stretch: _angular_core.Signal<boolean>;
47
+ small: _angular_core.Signal<boolean>;
48
+ placeholderText: _angular_core.Signal<string | null>;
49
+ selectedOptionValues: _angular_core.Signal<unknown[]>;
50
+ filteredOptions: _angular_core.Signal<unknown[]>;
51
+ componentId: string;
52
+ inputRefEl: _angular_core.Signal<HTMLInputElement | null | undefined>;
53
+ focusEffect: _angular_core.EffectRef;
54
+ openAbortController: AbortController | null;
55
+ isOpenEffect: _angular_core.EffectRef;
56
+ _inputValue: string;
57
+ inputValueEffect: _angular_core.EffectRef;
58
+ inputRefElEffect: _angular_core.EffectRef;
59
+ selectedLabels: _angular_core.Signal<string>;
60
+ inputState: _angular_core.Signal<"selected" | "loading" | "open-searching" | "open" | "searching" | "closed">;
61
+ hasSearch: _angular_core.Signal<boolean>;
62
+ ngOnInit(): void;
63
+ setInitInput(): void;
64
+ setSelectedOptionsFromValue(value: string): void;
65
+ setInputValueFromOptions(options: unknown[]): void;
66
+ getValue(option: unknown): unknown;
67
+ getLabel(option: unknown): unknown;
68
+ getOptionId(index: number): string;
69
+ toggleOptionByIndex(optionIndex: number, event?: MouseEvent, enterKey?: boolean): void;
70
+ removeSelectedOptionByIndex($event: MouseEvent, optionRemoveIndex: number): void;
71
+ isSelected(optionIndex: number): boolean;
72
+ open(): void;
73
+ close(): void;
74
+ clear($event?: MouseEvent): void;
75
+ updateInputElValue(): void;
76
+ ngOnDestroy(): void;
77
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSelect, never>;
78
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipSelect, "sh-select", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "asFreeText": { "alias": "asFreeText"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "optionTitle": { "alias": "optionTitle"; "required": false; "isSignal": true; }; "freeTextTitle": { "alias": "freeTextTitle"; "required": false; "isSignal": true; }; "freeTextPlaceholder": { "alias": "freeTextPlaceholder"; "required": false; "isSignal": true; }; "validateFreeText": { "alias": "validateFreeText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "lazySearch": { "alias": "lazySearch"; "required": false; "isSignal": true; }; "inlineSearch": { "alias": "inlineSearch"; "required": false; "isSignal": true; }; "asText": { "alias": "asText"; "required": false; "isSignal": true; }; "isClearable": { "alias": "isClearable"; "required": false; "isSignal": true; }; "selectMultiple": { "alias": "selectMultiple"; "required": false; "isSignal": true; }; "optionTemplate": { "alias": "optionTemplate"; "required": false; "isSignal": true; }; "selectedOptionTemplate": { "alias": "selectedOptionTemplate"; "required": false; "isSignal": true; }; "placeholderTemplate": { "alias": "placeholderTemplate"; "required": false; "isSignal": true; }; "freeTextOptionTemplate": { "alias": "freeTextOptionTemplate"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "selectedOptions": { "alias": "selectedOptions"; "required": false; "isSignal": true; }; }, { "readonly": "readonlyChange"; "disabled": "disabledChange"; "isOpen": "isOpenChange"; "isLoading": "isLoadingChange"; "options": "optionsChange"; "selectedOptions": "selectedOptionsChange"; "cleared": "cleared"; "onAddNewFreeTextOption": "onAddNewFreeTextOption"; }, ["inlineTemplate"], ["label", "[prefix]", "[boxPrefix]", "input", "textarea"], true, never>;
79
+ }
80
+
81
+ export { ShipSelect };
@@ -0,0 +1,36 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { WritableSignal, ElementRef } from '@angular/core';
3
+
4
+ type ShipSidenavType = 'overlay' | 'simple' | '';
5
+ declare function watchHostClass(className: string): WritableSignal<boolean>;
6
+ declare class ShipSidenav {
7
+ #private;
8
+ openWidth: number;
9
+ openWidthTreshold: number;
10
+ disableDrag: _angular_core.InputSignal<boolean>;
11
+ isOpen: _angular_core.ModelSignal<boolean>;
12
+ isOverlay: WritableSignal<boolean>;
13
+ dragImageElement: _angular_core.Signal<ElementRef<HTMLDivElement>>;
14
+ dragIsEnding: WritableSignal<boolean>;
15
+ dragIsOnScreen: WritableSignal<boolean>;
16
+ isDragging: WritableSignal<boolean>;
17
+ dragPositionX: WritableSignal<number>;
18
+ dragActualPositionX: _angular_core.Signal<number>;
19
+ draggingStyle: _angular_core.Signal<string | null>;
20
+ draggingEffect: _angular_core.EffectRef;
21
+ drop(e: DragEvent): void;
22
+ dragEnd(e: DragEvent): void;
23
+ dragEnter(): void;
24
+ dragLeave(): void;
25
+ dragStart(e: DragEvent): void;
26
+ drag(e: DragEvent): void;
27
+ touchStart(e: TouchEvent): void;
28
+ touchMove(e: TouchEvent): void;
29
+ touchEnd(e: TouchEvent): void;
30
+ touchCancel(e: TouchEvent): void;
31
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSidenav, never>;
32
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipSidenav, "sh-sidenav", never, { "disableDrag": { "alias": "disableDrag"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; }, never, ["[sidenav]", "[sidenav-closed-topbar]", "*"], true, never>;
33
+ }
34
+
35
+ export { ShipSidenav, watchHostClass };
36
+ export type { ShipSidenavType };
@@ -0,0 +1,72 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, OnDestroy, WritableSignal } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+
5
+ type AfterDropResponse = {
6
+ fromIndex: number;
7
+ toIndex: number;
8
+ };
9
+ type CrossDropResponse = {
10
+ previousContainer: ShipSortable;
11
+ currentContainer: ShipSortable;
12
+ previousIndex: number;
13
+ currentIndex: number;
14
+ };
15
+ type ShipDropEvent = {
16
+ previousContainer: ShipSortable;
17
+ container: ShipSortable;
18
+ previousIndex: number;
19
+ currentIndex: number;
20
+ };
21
+ interface SortableManagerConfig {
22
+ /**
23
+ * If provided, this hook is evaluated before the Signals are modified.
24
+ * Return `true`/`Observable<true>` to accept the drop, or false to reject.
25
+ */
26
+ onBeforeDrop?: (event: ShipDropEvent) => boolean | Promise<boolean> | Observable<boolean>;
27
+ }
28
+ declare function createSortableManager<T>(signals: WritableSignal<T[]> | Record<string, WritableSignal<T[]>>, config?: SortableManagerConfig): {
29
+ drop(event: ShipDropEvent): Promise<void>;
30
+ };
31
+ declare class ShipSortable implements OnInit, OnDestroy {
32
+ #private;
33
+ shSortable: _angular_core.InputSignal<any>;
34
+ sortableGroup: _angular_core.InputSignal<string | undefined>;
35
+ sortDrop: _angular_core.OutputEmitterRef<ShipDropEvent>;
36
+ afterDrop: _angular_core.OutputEmitterRef<AfterDropResponse>;
37
+ crossDrop: _angular_core.OutputEmitterRef<CrossDropResponse>;
38
+ dragStartIndex: WritableSignal<number>;
39
+ dragToIndex: WritableSignal<number>;
40
+ initialPositions: WritableSignal<{
41
+ x: number;
42
+ y: number;
43
+ width: number;
44
+ height: number;
45
+ }[]>;
46
+ dragables: WritableSignal<HTMLElement[]>;
47
+ static activeSource: ShipSortable | null;
48
+ static activeDraggedElement: HTMLElement | null;
49
+ static activeTarget: ShipSortable | null;
50
+ abortController: AbortController | null;
51
+ isDropping: boolean;
52
+ isCrossTarget: boolean;
53
+ draggingEffect: _angular_core.EffectRef;
54
+ draggablesEffect: _angular_core.EffectRef;
55
+ getIndexOfElement(element: HTMLElement): number;
56
+ dragStart(e: DragEvent): void;
57
+ ngOnInit(): void;
58
+ dragEnter(e: DragEvent): void;
59
+ dragLeave(e: DragEvent): void;
60
+ dragOver(e: DragEvent): void;
61
+ getVisualIndexOfElement(i: number): number;
62
+ drop(): void;
63
+ dragEnd(): void;
64
+ ngOnDestroy(): void;
65
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSortable, never>;
66
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSortable, "[shSortable]", never, { "shSortable": { "alias": "shSortable"; "required": false; "isSignal": true; }; "sortableGroup": { "alias": "sortableGroup"; "required": false; "isSignal": true; }; }, { "sortDrop": "sortDrop"; "afterDrop": "afterDrop"; "crossDrop": "crossDrop"; }, never, never, true, never>;
67
+ }
68
+ declare function moveIndex<T = any>(array: T[], event: Pick<ShipDropEvent, 'previousIndex' | 'currentIndex'> | Pick<AfterDropResponse, 'fromIndex' | 'toIndex'>): T[];
69
+ declare function transferArrayItem<T = any>(currentArray: T[], targetArray: T[], currentIndex: number, targetIndex: number): void;
70
+
71
+ export { ShipSortable, createSortableManager, moveIndex, transferArrayItem };
72
+ export type { AfterDropResponse, CrossDropResponse, ShipDropEvent, SortableManagerConfig };
@@ -0,0 +1,10 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class ShipSpinner {
4
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
5
+ hostClasses: _angular_core.Signal<string>;
6
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSpinner, never>;
7
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipSpinner, "sh-spinner", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
9
+
10
+ export { ShipSpinner };
@@ -0,0 +1,13 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ShipSelectionGroup } from '@ship-ui/core';
3
+
4
+ declare class ShipStepper extends ShipSelectionGroup<string> {
5
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
6
+ constructor();
7
+ updateProgress(): void;
8
+ hostClasses: _angular_core.Signal<string>;
9
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipStepper, never>;
10
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipStepper, "sh-stepper", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
11
+ }
12
+
13
+ export { ShipStepper };
@@ -0,0 +1,8 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ declare class ShipTableFilterBar {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShipTableFilterBar, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShipTableFilterBar, "sh-table-filter-bar", never, {}, {}, never, ["*"], true, never>;
6
+ }
7
+
8
+ export { ShipTableFilterBar };
@@ -0,0 +1,69 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+
4
+ declare class ShipResize {
5
+ #private;
6
+ resizable: _angular_core.InputSignal<boolean>;
7
+ minWidth: _angular_core.InputSignal<number>;
8
+ maxWidth: _angular_core.InputSignal<number | null>;
9
+ ngOnInit(): void;
10
+ onMouseMove(event: MouseEvent): void;
11
+ onMouseUp(event: MouseEvent): void;
12
+ onClick(event: MouseEvent): void;
13
+ ngOnDestroy(): void;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipResize, never>;
15
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipResize, "[shResize]", never, { "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ }
17
+ declare class ShipSort {
18
+ #private;
19
+ shSort: _angular_core.InputSignal<string | undefined>;
20
+ sortAsc: _angular_core.Signal<boolean>;
21
+ sortDesc: _angular_core.Signal<boolean>;
22
+ toggleSort(): void;
23
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSort, never>;
24
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSort, "[shSort]", never, { "shSort": { "alias": "shSort"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
25
+ }
26
+ declare class ShipStickyColumns {
27
+ #private;
28
+ shStickyColumns: _angular_core.InputSignal<(string & {}) | "start" | "end">;
29
+ ngAfterContentInit(): void;
30
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipStickyColumns, never>;
31
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipStickyColumns, "[shStickyColumns]", never, { "shStickyColumns": { "alias": "shStickyColumns"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
32
+ }
33
+ type ScrollState = -1 | 0 | 1;
34
+ declare class ShipTable {
35
+ #private;
36
+ loading: _angular_core.InputSignal<boolean>;
37
+ data: _angular_core.InputSignal<any>;
38
+ dataChange: _angular_core.OutputEmitterRef<any>;
39
+ sortByColumn: _angular_core.ModelSignal<string | null>;
40
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
41
+ variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | null>;
42
+ hostClasses: _angular_core.Signal<string>;
43
+ thead: _angular_core.Signal<ElementRef<HTMLTableSectionElement> | undefined>;
44
+ tbody: _angular_core.Signal<ElementRef<HTMLTableSectionElement> | undefined>;
45
+ columns: {
46
+ signal: _angular_core.Signal<HTMLTableColElement[]>;
47
+ destroy: () => void;
48
+ };
49
+ stickyHeaderHeight: _angular_core.WritableSignal<number>;
50
+ theadEffect: _angular_core.EffectRef;
51
+ bodyEffect: _angular_core.EffectRef;
52
+ resizing: _angular_core.WritableSignal<boolean>;
53
+ sizeTrigger: _angular_core.WritableSignal<boolean>;
54
+ scrollXState: _angular_core.WritableSignal<ScrollState>;
55
+ scrollYState: _angular_core.WritableSignal<ScrollState>;
56
+ canScrollX: _angular_core.WritableSignal<boolean>;
57
+ canScrollY: _angular_core.WritableSignal<boolean>;
58
+ columnSizes: _angular_core.Signal<string>;
59
+ updateColumnSizes(): void;
60
+ onScroll(): void;
61
+ onResize(event: Event): void;
62
+ ngAfterViewInit(): void;
63
+ e: _angular_core.EffectRef;
64
+ toggleSort(column: string): void;
65
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipTable, never>;
66
+ 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>;
67
+ }
68
+
69
+ export { ShipResize, ShipSort, ShipStickyColumns, ShipTable };
@@ -0,0 +1,14 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ShipSelectionGroup } from '@ship-ui/core';
3
+
4
+ declare class ShipTabs extends ShipSelectionGroup<string> {
5
+ id: string;
6
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
7
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
8
+ constructor();
9
+ hostClasses: _angular_core.Signal<string>;
10
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipTabs, never>;
11
+ 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>;
12
+ }
13
+
14
+ export { ShipTabs };
@@ -0,0 +1,28 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+
4
+ type ShipThemeOption = 'light' | 'dark' | null;
5
+ declare const THEME_ORDER: ShipThemeOption[];
6
+ declare const WINDOW: InjectionToken<Window>;
7
+ declare class ShipThemeState {
8
+ #private;
9
+ theme: i0.Signal<ShipThemeOption>;
10
+ darkModeEffect: i0.EffectRef;
11
+ localStorage(): Storage | null;
12
+ toggleTheme(): void;
13
+ setTheme(theme: ShipThemeOption): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShipThemeState, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<ShipThemeState>;
16
+ }
17
+
18
+ declare class ShipThemeToggle {
19
+ #private;
20
+ theme: i0.Signal<ShipThemeOption>;
21
+ toggleTheme(): void;
22
+ setTheme(theme: ShipThemeOption): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShipThemeToggle, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShipThemeToggle, "ship-theme-toggle", never, {}, {}, never, never, true, never>;
25
+ }
26
+
27
+ export { ShipThemeState, ShipThemeToggle, THEME_ORDER, WINDOW };
28
+ export type { ShipThemeOption };
@@ -0,0 +1,15 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class ShipToggleCard {
4
+ #private;
5
+ disableToggle: _angular_core.InputSignal<boolean>;
6
+ isActive: _angular_core.ModelSignal<boolean>;
7
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
8
+ variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | "type-c" | null>;
9
+ hostClasses: _angular_core.Signal<string>;
10
+ toggle(): void;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipToggleCard, never>;
12
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipToggleCard, "sh-toggle-card", never, { "disableToggle": { "alias": "disableToggle"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "isActive": "isActiveChange"; }, never, ["[title]", "*"], true, never>;
13
+ }
14
+
15
+ export { ShipToggleCard };
@@ -0,0 +1,21 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+
4
+ declare class ShipToggle {
5
+ private readonly _elementRef;
6
+ internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
7
+ projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
8
+ checked: _angular_core.ModelSignal<boolean>;
9
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
10
+ variant: _angular_core.InputSignal<"" | "simple" | "outlined" | "flat" | "raised" | null>;
11
+ readonly: _angular_core.InputSignal<boolean>;
12
+ disabled: _angular_core.InputSignal<boolean>;
13
+ noInternalInput: _angular_core.InputSignal<boolean>;
14
+ protected onInternalInputChange(event: Event): void;
15
+ hostClasses: _angular_core.Signal<string>;
16
+ protected onEnter(event: Event): void;
17
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipToggle, never>;
18
+ 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>;
19
+ }
20
+
21
+ export { ShipToggle };
@@ -0,0 +1,22 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+
4
+ declare class ShipVirtualScroll {
5
+ #private;
6
+ viewportRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
7
+ itemElements: _angular_core.Signal<readonly ElementRef<any>[]>;
8
+ bufferSize: _angular_core.WritableSignal<number>;
9
+ itemHeights: _angular_core.WritableSignal<number[]>;
10
+ startIndex: _angular_core.WritableSignal<number>;
11
+ endIndex: _angular_core.WritableSignal<number>;
12
+ translateY: _angular_core.WritableSignal<number>;
13
+ totalHeight: _angular_core.Signal<number>;
14
+ numberOfRenderedItems: _angular_core.WritableSignal<number>;
15
+ ngAfterViewInit(): void;
16
+ onScroll(): void;
17
+ ngOnDestroy(): void;
18
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipVirtualScroll, never>;
19
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipVirtualScroll, "sh-virtual-scroll", never, {}, {}, never, ["*"], true, never>;
20
+ }
21
+
22
+ export { ShipVirtualScroll };