@ship-ui/core 0.22.14 → 0.22.16

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 (73) hide show
  1. package/README.md +46 -0
  2. package/assets/mcp/components.json +605 -4
  3. package/bin/src/scanner.zig +9 -18
  4. package/fesm2022/ship-ui-core-sh-form-field-experimental.mjs +17 -2
  5. package/fesm2022/ship-ui-core-sh-form-field-experimental.mjs.map +1 -1
  6. package/fesm2022/ship-ui-core-ship-a11y-keybindings.mjs +442 -0
  7. package/fesm2022/ship-ui-core-ship-a11y-keybindings.mjs.map +1 -0
  8. package/fesm2022/ship-ui-core-ship-accordion.mjs +1 -0
  9. package/fesm2022/ship-ui-core-ship-accordion.mjs.map +1 -1
  10. package/fesm2022/ship-ui-core-ship-alert.mjs +3 -2
  11. package/fesm2022/ship-ui-core-ship-alert.mjs.map +1 -1
  12. package/fesm2022/ship-ui-core-ship-blueprint.mjs +23 -10
  13. package/fesm2022/ship-ui-core-ship-blueprint.mjs.map +1 -1
  14. package/fesm2022/ship-ui-core-ship-checkbox.mjs +16 -14
  15. package/fesm2022/ship-ui-core-ship-checkbox.mjs.map +1 -1
  16. package/fesm2022/ship-ui-core-ship-color-picker.mjs +3 -1
  17. package/fesm2022/ship-ui-core-ship-color-picker.mjs.map +1 -1
  18. package/fesm2022/ship-ui-core-ship-datepicker.mjs +67 -33
  19. package/fesm2022/ship-ui-core-ship-datepicker.mjs.map +1 -1
  20. package/fesm2022/ship-ui-core-ship-dialog.mjs +14 -5
  21. package/fesm2022/ship-ui-core-ship-dialog.mjs.map +1 -1
  22. package/fesm2022/ship-ui-core-ship-divider.mjs +4 -2
  23. package/fesm2022/ship-ui-core-ship-divider.mjs.map +1 -1
  24. package/fesm2022/ship-ui-core-ship-editor.mjs +2673 -0
  25. package/fesm2022/ship-ui-core-ship-editor.mjs.map +1 -0
  26. package/fesm2022/ship-ui-core-ship-icon.mjs +2 -2
  27. package/fesm2022/ship-ui-core-ship-icon.mjs.map +1 -1
  28. package/fesm2022/ship-ui-core-ship-list.mjs +4 -2
  29. package/fesm2022/ship-ui-core-ship-list.mjs.map +1 -1
  30. package/fesm2022/ship-ui-core-ship-menu.mjs +8 -5
  31. package/fesm2022/ship-ui-core-ship-menu.mjs.map +1 -1
  32. package/fesm2022/ship-ui-core-ship-popover.mjs +14 -5
  33. package/fesm2022/ship-ui-core-ship-popover.mjs.map +1 -1
  34. package/fesm2022/ship-ui-core-ship-progress-bar.mjs +5 -1
  35. package/fesm2022/ship-ui-core-ship-progress-bar.mjs.map +1 -1
  36. package/fesm2022/ship-ui-core-ship-radio.mjs +16 -14
  37. package/fesm2022/ship-ui-core-ship-radio.mjs.map +1 -1
  38. package/fesm2022/ship-ui-core-ship-select.mjs +9 -9
  39. package/fesm2022/ship-ui-core-ship-select.mjs.map +1 -1
  40. package/fesm2022/ship-ui-core-ship-sidenav.mjs +2 -2
  41. package/fesm2022/ship-ui-core-ship-sidenav.mjs.map +1 -1
  42. package/fesm2022/ship-ui-core-ship-spinner.mjs +3 -1
  43. package/fesm2022/ship-ui-core-ship-spinner.mjs.map +1 -1
  44. package/fesm2022/ship-ui-core-ship-spotlight.mjs +77 -24
  45. package/fesm2022/ship-ui-core-ship-spotlight.mjs.map +1 -1
  46. package/fesm2022/ship-ui-core-ship-table.mjs +517 -138
  47. package/fesm2022/ship-ui-core-ship-table.mjs.map +1 -1
  48. package/fesm2022/ship-ui-core-ship-theme-toggle.mjs +2 -2
  49. package/fesm2022/ship-ui-core-ship-theme-toggle.mjs.map +1 -1
  50. package/fesm2022/ship-ui-core-ship-toggle-card.mjs +24 -3
  51. package/fesm2022/ship-ui-core-ship-toggle-card.mjs.map +1 -1
  52. package/fesm2022/ship-ui-core-ship-toggle.mjs +16 -14
  53. package/fesm2022/ship-ui-core-ship-toggle.mjs.map +1 -1
  54. package/fesm2022/ship-ui-core-ship-tree.mjs +2 -2
  55. package/fesm2022/ship-ui-core-ship-tree.mjs.map +1 -1
  56. package/fesm2022/ship-ui-core-ship-virtual-scroll.mjs +2 -2
  57. package/fesm2022/ship-ui-core-ship-virtual-scroll.mjs.map +1 -1
  58. package/fesm2022/ship-ui-core.mjs +36 -23
  59. package/fesm2022/ship-ui-core.mjs.map +1 -1
  60. package/package.json +33 -2
  61. package/types/ship-ui-core-sh-form-field-experimental.d.ts +2 -0
  62. package/types/ship-ui-core-ship-a11y-keybindings.d.ts +102 -0
  63. package/types/ship-ui-core-ship-blueprint.d.ts +2 -1
  64. package/types/ship-ui-core-ship-checkbox.d.ts +2 -1
  65. package/types/ship-ui-core-ship-datepicker.d.ts +2 -0
  66. package/types/ship-ui-core-ship-editor.d.ts +168 -0
  67. package/types/ship-ui-core-ship-radio.d.ts +2 -1
  68. package/types/ship-ui-core-ship-spotlight.d.ts +1 -1
  69. package/types/ship-ui-core-ship-table.d.ts +13 -1
  70. package/types/ship-ui-core-ship-toggle-card.d.ts +1 -0
  71. package/types/ship-ui-core-ship-toggle.d.ts +2 -1
  72. package/types/ship-ui-core.d.ts +3 -0
  73. package/bin/ship-fg-scanner +0 -0
@@ -36,6 +36,7 @@ type ValidationErrors = {
36
36
  };
37
37
  declare class ShipBlueprint implements AfterViewInit, OnDestroy {
38
38
  #private;
39
+ ariaKeyshortcuts: _angular_core.Signal<string | null>;
39
40
  asDots: _angular_core.Signal<boolean>;
40
41
  lightMode: _angular_core.Signal<boolean>;
41
42
  forceUnique: _angular_core.InputSignal<boolean>;
@@ -65,7 +66,7 @@ declare class ShipBlueprint implements AfterViewInit, OnDestroy {
65
66
  ngOnDestroy(): void;
66
67
  onMouseUp(event: MouseEvent): void;
67
68
  onClick(event: MouseEvent): void;
68
- onEscape(): void;
69
+ onDocumentKeyDown(event: KeyboardEvent): void;
69
70
  onMouseMove(event: MouseEvent): void;
70
71
  onTouchMove(event: TouchEvent): void;
71
72
  onDocumentTouchEnd(event: TouchEvent): void;
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { ElementRef } from '@angular/core';
3
3
 
4
4
  declare class ShipCheckbox {
5
+ #private;
5
6
  private readonly _elementRef;
6
7
  internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
7
8
  projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
@@ -14,7 +15,7 @@ declare class ShipCheckbox {
14
15
  noInternalInput: _angular_core.InputSignal<boolean>;
15
16
  protected onInternalInputChange(event: Event): void;
16
17
  hostClasses: _angular_core.Signal<string>;
17
- protected onEnter(event: Event): void;
18
+ protected onKeyDown(event: KeyboardEvent): void;
18
19
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipCheckbox, never>;
19
20
  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>;
20
21
  }
@@ -15,6 +15,8 @@ declare class ShipDatepicker {
15
15
  weekdayLabels: _angular_core.InputSignal<string[]>;
16
16
  daysRef: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
17
17
  currentDate: _angular_core.WritableSignal<Date>;
18
+ prevMonthShortcut: _angular_core.Signal<string | null>;
19
+ nextMonthShortcut: _angular_core.Signal<string | null>;
18
20
  monthOffsets: _angular_core.Signal<number[]>;
19
21
  selectedDateStylePosition: _angular_core.WritableSignal<{
20
22
  transform: string;
@@ -0,0 +1,168 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, OnDestroy, AfterViewInit, ElementRef } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ interface ShipEditorCommand {
6
+ id: string;
7
+ label: string;
8
+ icon: string;
9
+ description?: string;
10
+ action: (editor: ShipEditor) => void;
11
+ }
12
+ interface CaretState {
13
+ startPath: number[];
14
+ startOffset: number;
15
+ endPath: number[];
16
+ endOffset: number;
17
+ }
18
+ interface ShipEditorMark {
19
+ type: 'bold' | 'italic' | 'underline' | 'strike' | 'link' | 'code';
20
+ attrs?: {
21
+ href?: string;
22
+ target?: string;
23
+ };
24
+ }
25
+ interface ShipEditorInlineNode {
26
+ type: 'text';
27
+ text: string;
28
+ marks?: ShipEditorMark[];
29
+ }
30
+ interface ShipEditorBlock {
31
+ type: 'paragraph' | 'heading' | 'bullet-list' | 'ordered-list' | 'list-item' | 'code-block' | 'quote' | 'image' | 'hr';
32
+ attrs?: {
33
+ level?: number;
34
+ src?: string;
35
+ alt?: string;
36
+ language?: string;
37
+ align?: 'left' | 'center' | 'right';
38
+ mode?: 'content' | 'theater' | 'float' | 'custom';
39
+ size?: 'auto' | 'small' | 'medium' | 'large';
40
+ };
41
+ content?: ShipEditorInlineNode[] | ShipEditorBlock[];
42
+ }
43
+ type ShipEditorDocument = ShipEditorBlock[];
44
+ type ShipEditorValue = string | ShipEditorDocument | null;
45
+ interface ShipEditorHtmlDocument {
46
+ execCommand(commandId: string, showUI?: boolean, value?: string): boolean;
47
+ queryCommandState(commandId: string): boolean;
48
+ queryCommandEnabled(commandId: string): boolean;
49
+ }
50
+ declare class ShipEditor implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit {
51
+ #private;
52
+ editorRef: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
53
+ codeEditorRef: _angular_core.Signal<ElementRef<HTMLTextAreaElement> | undefined>;
54
+ uploadBtn: _angular_core.Signal<ElementRef<HTMLButtonElement> | undefined>;
55
+ imageInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
56
+ linkInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
57
+ value: _angular_core.ModelSignal<string | ShipEditorDocument | null>;
58
+ format: _angular_core.InputSignal<"json" | "html" | "markdown">;
59
+ placeholder: _angular_core.InputSignal<string>;
60
+ readonly: _angular_core.InputSignal<boolean>;
61
+ toolbar: _angular_core.InputSignal<boolean>;
62
+ color: _angular_core.InputSignal<"" | "primary" | "accent" | "warn" | "error" | "success" | null>;
63
+ variant: _angular_core.InputSignal<"base" | "type-b" | null>;
64
+ customCommands: _angular_core.InputSignal<ShipEditorCommand[]>;
65
+ showSlashMenu: _angular_core.WritableSignal<boolean>;
66
+ slashSearchQuery: _angular_core.WritableSignal<string>;
67
+ slashMenuTop: _angular_core.WritableSignal<number>;
68
+ slashMenuLeft: _angular_core.WritableSignal<number>;
69
+ defaultCommands: _angular_core.Signal<ShipEditorCommand[]>;
70
+ slashCommands: _angular_core.InputSignal<boolean | string[]>;
71
+ allCommands: _angular_core.Signal<ShipEditorCommand[]>;
72
+ enabledCommands: _angular_core.Signal<ShipEditorCommand[]>;
73
+ hasSlashCommands: _angular_core.Signal<boolean>;
74
+ filteredCommands: _angular_core.Signal<ShipEditorCommand[]>;
75
+ showFormats: _angular_core.InputSignal<boolean>;
76
+ showBlocks: _angular_core.InputSignal<boolean>;
77
+ showLists: _angular_core.InputSignal<boolean>;
78
+ showAlignments: _angular_core.InputSignal<boolean>;
79
+ showInsertions: _angular_core.InputSignal<boolean>;
80
+ showHistory: _angular_core.InputSignal<boolean>;
81
+ customUpload: _angular_core.InputSignal<boolean>;
82
+ imageUploadEnabled: _angular_core.InputSignal<boolean>;
83
+ imageUpload: _angular_core.OutputEmitterRef<File>;
84
+ imgToolbarTop: _angular_core.WritableSignal<number>;
85
+ imgToolbarLeft: _angular_core.WritableSignal<number>;
86
+ imgMode: _angular_core.WritableSignal<"content" | "theater" | "float" | "custom">;
87
+ imgSize: _angular_core.WritableSignal<"auto" | "small" | "medium" | "large">;
88
+ viewMode: _angular_core.WritableSignal<"code" | "design">;
89
+ isFocused: _angular_core.WritableSignal<boolean>;
90
+ showLinkModal: _angular_core.WritableSignal<boolean>;
91
+ showImageModal: _angular_core.WritableSignal<boolean>;
92
+ rawCodeValue: _angular_core.WritableSignal<string>;
93
+ showBlockMenu: _angular_core.WritableSignal<boolean>;
94
+ isBold: _angular_core.WritableSignal<boolean>;
95
+ isItalic: _angular_core.WritableSignal<boolean>;
96
+ isUnderline: _angular_core.WritableSignal<boolean>;
97
+ isStrike: _angular_core.WritableSignal<boolean>;
98
+ align: _angular_core.WritableSignal<"left" | "center" | "right">;
99
+ activeBlock: _angular_core.WritableSignal<string>;
100
+ canUndo: _angular_core.WritableSignal<boolean>;
101
+ canRedo: _angular_core.WritableSignal<boolean>;
102
+ charCount: _angular_core.WritableSignal<number>;
103
+ wordCount: _angular_core.WritableSignal<number>;
104
+ onChange: (value: ShipEditorValue) => void;
105
+ onTouched: () => void;
106
+ hostClasses: _angular_core.Signal<string>;
107
+ constructor();
108
+ ngOnInit(): void;
109
+ ngAfterViewInit(): void;
110
+ ngOnDestroy(): void;
111
+ writeValue(obj: ShipEditorValue): void;
112
+ registerOnChange(fn: (value: ShipEditorValue) => void): void;
113
+ registerOnTouched(fn: () => void): void;
114
+ setDisabledState(isDisabled: boolean): void;
115
+ protected onDOMInput(): void;
116
+ protected onDOMBlur(): void;
117
+ protected onCodeInput(event: Event): void;
118
+ protected onCodeBlur(event: Event): void;
119
+ formatText(command: string, value?: string): void;
120
+ applyInlineStyle(tag: string): void;
121
+ toggleLink(url: string): void;
122
+ setBlockType(tag: string): void;
123
+ toggleList(listType: 'ul' | 'ol'): void;
124
+ insertHorizontalRule(): void;
125
+ setAlign(direction: 'left' | 'center' | 'right'): void;
126
+ removeFormat(): void;
127
+ undo(): void;
128
+ redo(): void;
129
+ protected toggleViewMode(): void;
130
+ protected onSelectionChange(): void;
131
+ openLinkModal(): void;
132
+ protected applyLink(url: string): void;
133
+ openImageModal(): void;
134
+ protected applyImage(url: string): void;
135
+ selectedImage: _angular_core.Signal<HTMLImageElement | null>;
136
+ onComponentFocusIn(event: FocusEvent): void;
137
+ onComponentClick(event: MouseEvent): void;
138
+ onKeyDown(event: KeyboardEvent): void;
139
+ onKeyUp(event: KeyboardEvent): void;
140
+ executeCommand(cmd: ShipEditorCommand): void;
141
+ getBlockLabel(): string;
142
+ toggleBlockMenu(): void;
143
+ selectBlockType(tag: string): void;
144
+ protected onToolbarKeyDown(event: KeyboardEvent): void;
145
+ protected onToolbarFocusIn(event: FocusEvent): void;
146
+ onComponentScroll(event: Event): void;
147
+ onWindowResize(): void;
148
+ updateImgToolbarPosition(): void;
149
+ setImageMode(mode: 'content' | 'theater' | 'float' | 'custom'): void;
150
+ setImageSize(size: 'auto' | 'small' | 'medium' | 'large'): void;
151
+ deleteImage(): void;
152
+ onFileSelected(event: Event): void;
153
+ onDrop(event: DragEvent): void;
154
+ onPaste(event: ClipboardEvent): void;
155
+ insertImage(url: string): void;
156
+ getHTML(): string;
157
+ getMarkdown(): string;
158
+ getJSON(): ShipEditorDocument;
159
+ setHTML(html: string): void;
160
+ setMarkdown(md: string): void;
161
+ setJSON(json: ShipEditorDocument): void;
162
+ clear(): void;
163
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipEditor, never>;
164
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipEditor, "sh-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "customCommands": { "alias": "customCommands"; "required": false; "isSignal": true; }; "slashCommands": { "alias": "slashCommands"; "required": false; "isSignal": true; }; "showFormats": { "alias": "showFormats"; "required": false; "isSignal": true; }; "showBlocks": { "alias": "showBlocks"; "required": false; "isSignal": true; }; "showLists": { "alias": "showLists"; "required": false; "isSignal": true; }; "showAlignments": { "alias": "showAlignments"; "required": false; "isSignal": true; }; "showInsertions": { "alias": "showInsertions"; "required": false; "isSignal": true; }; "showHistory": { "alias": "showHistory"; "required": false; "isSignal": true; }; "customUpload": { "alias": "customUpload"; "required": false; "isSignal": true; }; "imageUploadEnabled": { "alias": "imageUploadEnabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "imageUpload": "imageUpload"; }, never, ["*"], true, never>;
165
+ }
166
+
167
+ export { ShipEditor };
168
+ export type { CaretState, ShipEditorBlock, ShipEditorCommand, ShipEditorDocument, ShipEditorHtmlDocument, ShipEditorInlineNode, ShipEditorMark, ShipEditorValue };
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { ElementRef } from '@angular/core';
3
3
 
4
4
  declare class ShipRadio {
5
+ #private;
5
6
  private readonly _elementRef;
6
7
  internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
7
8
  projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
@@ -14,7 +15,7 @@ declare class ShipRadio {
14
15
  noInternalInput: _angular_core.InputSignal<boolean>;
15
16
  protected onInternalInputChange(event: Event): void;
16
17
  hostClasses: _angular_core.Signal<string>;
17
- protected onEnter(event: Event): void;
18
+ protected onKeyDown(event: KeyboardEvent): void;
18
19
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipRadio, never>;
19
20
  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>;
20
21
  }
@@ -26,6 +26,7 @@ declare const SHIP_SPOTLIGHT_CONFIG: InjectionToken<ShipSpotlightConfig>;
26
26
  declare function provideShipSpotlight(config: ShipSpotlightConfig): Provider;
27
27
  declare class ShipSpotlight {
28
28
  #private;
29
+ constructor();
29
30
  inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
30
31
  resultsRef: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
31
32
  data: _angular_core.InputSignal<ShipSpotlightServiceOptions | undefined>;
@@ -47,7 +48,6 @@ declare class ShipSpotlight {
47
48
  flatIndex: number;
48
49
  }[];
49
50
  }[]>;
50
- constructor();
51
51
  validateItemsEffect: _angular_core.EffectRef;
52
52
  onSearchInput(event: Event): void;
53
53
  clearSearch(): void;
@@ -24,7 +24,9 @@ declare class ShipResize {
24
24
  minWidth: _angular_core.InputSignal<number>;
25
25
  maxWidth: _angular_core.InputSignal<number | null>;
26
26
  resizingClass: _angular_core.WritableSignal<boolean>;
27
+ constructor();
27
28
  ngOnInit(): void;
29
+ onKeyDown(event: KeyboardEvent): void;
28
30
  onMouseMove(event: MouseEvent): void;
29
31
  onMouseUp(event: MouseEvent): void;
30
32
  onClick(event: MouseEvent): void;
@@ -35,6 +37,10 @@ declare class ShipResize {
35
37
  declare class ShipSort {
36
38
  #private;
37
39
  shSort: _angular_core.InputSignal<string | undefined>;
40
+ ngOnInit(): void;
41
+ tabIndex: _angular_core.Signal<"0" | null>;
42
+ ariaKeyshortcuts: _angular_core.Signal<string | null>;
43
+ onKeyDown(event: KeyboardEvent): void;
38
44
  sortAsc: _angular_core.Signal<boolean>;
39
45
  sortDesc: _angular_core.Signal<boolean>;
40
46
  ariaSort: _angular_core.Signal<"ascending" | "descending" | "none">;
@@ -52,6 +58,8 @@ declare class ShipStickyColumns {
52
58
  type ScrollState = -1 | 0 | 1;
53
59
  declare class ShipTable {
54
60
  #private;
61
+ grid: _angular_core.InputSignal<boolean>;
62
+ role: _angular_core.Signal<"grid" | "table">;
55
63
  loading: _angular_core.InputSignal<boolean>;
56
64
  data: _angular_core.InputSignal<any>;
57
65
  dataChange: _angular_core.OutputEmitterRef<any>;
@@ -73,6 +81,7 @@ declare class ShipTable {
73
81
  stickyHeaderHeight: _angular_core.WritableSignal<number>;
74
82
  theadEffect: _angular_core.EffectRef;
75
83
  bodyEffect: _angular_core.EffectRef;
84
+ gridSetupEffect: _angular_core.EffectRef;
76
85
  resizing: _angular_core.WritableSignal<boolean>;
77
86
  sizeTrigger: _angular_core.WritableSignal<boolean>;
78
87
  scrollXState: _angular_core.WritableSignal<ScrollState>;
@@ -84,16 +93,19 @@ declare class ShipTable {
84
93
  onScroll(): void;
85
94
  onResize(event: Event): void;
86
95
  ngAfterViewInit(): void;
96
+ onFocusIn(event: FocusEvent): void;
97
+ onGridKeyDown(event: KeyboardEvent): void;
87
98
  e: _angular_core.EffectRef;
88
99
  toggleSort(column: string): void;
89
100
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipTable, never>;
90
- 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; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; }, { "dataChange": "dataChange"; "sortByColumn": "sortByColumnChange"; }, ["content"], ["[actionbar]:not([align-right])", "[actionbar][align-right]", "sh-table-content", "th", "[thead]", "*", "[table-no-rows]"], true, never>;
101
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipTable, "sh-table", never, { "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "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; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; }, { "dataChange": "dataChange"; "sortByColumn": "sortByColumnChange"; }, ["content"], ["[actionbar]:not([align-right])", "[actionbar][align-right]", "sh-table-content", "th", "[thead]", "*", "[table-no-rows]"], true, never>;
91
102
  }
92
103
  declare class ShipTableContent {
93
104
  #private;
94
105
  columns: _angular_core.InputSignal<ShipTableColumn<any>[]>;
95
106
  data: _angular_core.InputSignal<any[]>;
96
107
  sortByColumn: _angular_core.ModelSignal<string | null>;
108
+ grid: _angular_core.InputSignal<boolean>;
97
109
  thead: _angular_core.Signal<ElementRef<HTMLTableSectionElement> | undefined>;
98
110
  tbody: _angular_core.Signal<ElementRef<HTMLTableSectionElement> | undefined>;
99
111
  getValue(row: any, col: ShipTableColumn): any;
@@ -8,6 +8,7 @@ declare class ShipToggleCard {
8
8
  variant: _angular_core.InputSignal<"" | "type-a" | "type-b" | "type-c" | null>;
9
9
  hostClasses: _angular_core.Signal<string>;
10
10
  toggle(): void;
11
+ handleKeyDown(event: KeyboardEvent): void;
11
12
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipToggleCard, never>;
12
13
  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
  }
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { ElementRef } from '@angular/core';
3
3
 
4
4
  declare class ShipToggle {
5
+ #private;
5
6
  private readonly _elementRef;
6
7
  internalInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
7
8
  projectedInputs: _angular_core.Signal<HTMLInputElement[]>;
@@ -13,7 +14,7 @@ declare class ShipToggle {
13
14
  noInternalInput: _angular_core.InputSignal<boolean>;
14
15
  protected onInternalInputChange(event: Event): void;
15
16
  hostClasses: _angular_core.Signal<string>;
16
- protected onEnter(event: Event): void;
17
+ protected onKeyDown(event: KeyboardEvent): void;
17
18
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipToggle, never>;
18
19
  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
  }
@@ -218,11 +218,13 @@ interface ShipConfig {
218
218
  }
219
219
 
220
220
  declare abstract class ShipSelectionGroup<T = any> {
221
+ #private;
221
222
  protected readonly itemSelector: string;
222
223
  protected readonly activeClass: string;
223
224
  protected readonly options?: {
224
225
  hostRole?: string;
225
226
  itemRole?: string;
227
+ activeAttribute?: "aria-selected" | "aria-pressed" | "aria-checked";
226
228
  } | undefined;
227
229
  protected readonly hostElement: any;
228
230
  protected items: _angular_core.Signal<HTMLElement[]>;
@@ -232,6 +234,7 @@ declare abstract class ShipSelectionGroup<T = any> {
232
234
  constructor(itemSelector: string, activeClass: string, options?: {
233
235
  hostRole?: string;
234
236
  itemRole?: string;
237
+ activeAttribute?: "aria-selected" | "aria-pressed" | "aria-checked";
235
238
  } | undefined);
236
239
  protected onClick(target: EventTarget | null): void;
237
240
  protected onKeyDown(event: KeyboardEvent): void;
Binary file