@sekiui/elements 0.0.88 → 0.1.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.
Files changed (211) hide show
  1. package/dist/cdn/p-C9-yH6MD.js +33 -0
  2. package/dist/cdn/p-CQQRfw1L.js +18 -0
  3. package/dist/cdn/seki-carousel-dots.js +7 -3
  4. package/dist/cdn/seki-carousel-next.js +8 -6
  5. package/dist/cdn/seki-carousel-previous.js +8 -6
  6. package/dist/cdn/seki-carousel.js +15 -1
  7. package/dist/cdn/seki-date-picker.js +71 -36
  8. package/dist/cdn/seki-drawer.js +76 -32
  9. package/dist/cdn/seki-hover-card-content.js +2 -2
  10. package/dist/cdn/seki-hover-card-trigger.js +3 -3
  11. package/dist/cdn/seki-hover-card.js +59 -4
  12. package/dist/cdn/seki-resizable-handle.js +11 -2
  13. package/dist/cdn/seki-resizable-panel-group.js +9 -3
  14. package/dist/cdn/seki-resizable-panel.js +42 -20
  15. package/dist/cdn/seki-select-content.js +21 -13
  16. package/dist/cdn/seki-select-group.js +3 -4
  17. package/dist/cdn/seki-select-option.js +33 -15
  18. package/dist/cdn/seki-select-trigger.js +6 -4
  19. package/dist/cdn/seki-select.js +2 -2
  20. package/dist/cdn/seki-sheet.js +71 -30
  21. package/dist/cdn/seki-sidebar-footer.js +3 -1
  22. package/dist/cdn/seki-sidebar-header.js +3 -1
  23. package/dist/cdn/seki-sidebar-menu-button.js +3 -1
  24. package/dist/cdn/seki-sidebar-rail.js +3 -1
  25. package/dist/cdn/seki-sidebar-trigger.js +6 -1
  26. package/dist/cdn/seki-sidebar.js +5 -2
  27. package/dist/cdn/seki-tooltip.js +47 -2
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/cjs/option-id-wIa73qWK.js +20 -0
  30. package/dist/cjs/seki-carousel-dots.cjs.entry.js +7 -3
  31. package/dist/cjs/seki-carousel-next.cjs.entry.js +8 -6
  32. package/dist/cjs/seki-carousel-previous.cjs.entry.js +8 -6
  33. package/dist/cjs/seki-carousel.cjs.entry.js +15 -1
  34. package/dist/cjs/seki-date-picker.cjs.entry.js +64 -32
  35. package/dist/cjs/seki-drawer.cjs.entry.js +67 -27
  36. package/dist/cjs/seki-hover-card-content.cjs.entry.js +2 -2
  37. package/dist/cjs/seki-hover-card-trigger.cjs.entry.js +3 -3
  38. package/dist/cjs/seki-hover-card.cjs.entry.js +53 -3
  39. package/dist/cjs/seki-resizable-handle.cjs.entry.js +11 -2
  40. package/dist/cjs/seki-resizable-panel-group.cjs.entry.js +9 -3
  41. package/dist/cjs/seki-resizable-panel.cjs.entry.js +42 -20
  42. package/dist/cjs/seki-select-content.cjs.entry.js +20 -11
  43. package/dist/cjs/seki-select-group.cjs.entry.js +2 -2
  44. package/dist/cjs/seki-select-option.cjs.entry.js +32 -13
  45. package/dist/cjs/seki-select-trigger.cjs.entry.js +5 -2
  46. package/dist/cjs/seki-select.cjs.entry.js +2 -2
  47. package/dist/cjs/seki-sheet.cjs.entry.js +62 -25
  48. package/dist/cjs/seki-sidebar-footer.cjs.entry.js +3 -1
  49. package/dist/cjs/seki-sidebar-header.cjs.entry.js +3 -1
  50. package/dist/cjs/seki-sidebar-menu-button.cjs.entry.js +3 -1
  51. package/dist/cjs/seki-sidebar-rail.cjs.entry.js +3 -1
  52. package/dist/cjs/seki-sidebar-trigger.cjs.entry.js +6 -1
  53. package/dist/cjs/seki-sidebar.cjs.entry.js +5 -2
  54. package/dist/cjs/seki-tooltip.cjs.entry.js +43 -2
  55. package/dist/cjs/sekiui.cjs.js +1 -1
  56. package/dist/cjs/when-defined-B2Lkz6uR.js +36 -0
  57. package/dist/collection/components/carousel/seki-carousel-dots.js +7 -3
  58. package/dist/collection/components/carousel/seki-carousel-next.js +8 -6
  59. package/dist/collection/components/carousel/seki-carousel-previous.js +8 -6
  60. package/dist/collection/components/carousel/seki-carousel.js +15 -1
  61. package/dist/collection/components/date-picker/seki-date-picker.js +124 -36
  62. package/dist/collection/components/drawer/seki-drawer.js +132 -31
  63. package/dist/collection/components/hover-card/seki-hover-card-content.js +2 -2
  64. package/dist/collection/components/hover-card/seki-hover-card-trigger.js +3 -3
  65. package/dist/collection/components/hover-card/seki-hover-card.js +142 -6
  66. package/dist/collection/components/resizable/seki-resizable-handle.js +11 -2
  67. package/dist/collection/components/resizable/seki-resizable-panel-group.js +23 -3
  68. package/dist/collection/components/resizable/seki-resizable-panel.js +42 -20
  69. package/dist/collection/components/select/seki-select.js +6 -12
  70. package/dist/collection/components/select-content/seki-select-content.css +8 -0
  71. package/dist/collection/components/select-content/seki-select-content.js +20 -11
  72. package/dist/collection/components/select-group/seki-select-group.js +2 -2
  73. package/dist/collection/components/select-option/seki-select-option.js +32 -13
  74. package/dist/collection/components/select-trigger/seki-select-trigger.js +5 -2
  75. package/dist/collection/components/sheet/seki-sheet.js +127 -29
  76. package/dist/collection/components/sidebar/seki-sidebar-footer.js +3 -1
  77. package/dist/collection/components/sidebar/seki-sidebar-header.js +3 -1
  78. package/dist/collection/components/sidebar/seki-sidebar-menu-button.js +3 -1
  79. package/dist/collection/components/sidebar/seki-sidebar-rail.js +3 -1
  80. package/dist/collection/components/sidebar/seki-sidebar-trigger.js +6 -1
  81. package/dist/collection/components/sidebar/seki-sidebar.js +5 -2
  82. package/dist/collection/components/tooltip/seki-tooltip.js +92 -2
  83. package/dist/collection/utils/select/index.js +1 -0
  84. package/dist/collection/utils/select/option-id.js +16 -0
  85. package/dist/collection/utils/when-defined.js +31 -0
  86. package/dist/components/p-C9-yH6MD.js +33 -0
  87. package/dist/components/p-CQQRfw1L.js +18 -0
  88. package/dist/components/seki-carousel-dots.js +7 -3
  89. package/dist/components/seki-carousel-next.js +8 -6
  90. package/dist/components/seki-carousel-previous.js +8 -6
  91. package/dist/components/seki-carousel.js +15 -1
  92. package/dist/components/seki-date-picker.js +71 -36
  93. package/dist/components/seki-drawer.js +76 -32
  94. package/dist/components/seki-hover-card-content.js +2 -2
  95. package/dist/components/seki-hover-card-trigger.js +3 -3
  96. package/dist/components/seki-hover-card.js +59 -4
  97. package/dist/components/seki-resizable-handle.js +11 -2
  98. package/dist/components/seki-resizable-panel-group.js +9 -3
  99. package/dist/components/seki-resizable-panel.js +42 -20
  100. package/dist/components/seki-select-content.js +21 -13
  101. package/dist/components/seki-select-group.js +3 -4
  102. package/dist/components/seki-select-option.js +33 -15
  103. package/dist/components/seki-select-trigger.js +6 -4
  104. package/dist/components/seki-select.js +2 -2
  105. package/dist/components/seki-sheet.js +71 -30
  106. package/dist/components/seki-sidebar-footer.js +3 -1
  107. package/dist/components/seki-sidebar-header.js +3 -1
  108. package/dist/components/seki-sidebar-menu-button.js +3 -1
  109. package/dist/components/seki-sidebar-rail.js +3 -1
  110. package/dist/components/seki-sidebar-trigger.js +6 -1
  111. package/dist/components/seki-sidebar.js +5 -2
  112. package/dist/components/seki-tooltip.js +47 -2
  113. package/dist/esm/loader.js +1 -1
  114. package/dist/esm/option-id-CQQRfw1L.js +18 -0
  115. package/dist/esm/seki-carousel-dots.entry.js +7 -3
  116. package/dist/esm/seki-carousel-next.entry.js +8 -6
  117. package/dist/esm/seki-carousel-previous.entry.js +8 -6
  118. package/dist/esm/seki-carousel.entry.js +15 -1
  119. package/dist/esm/seki-date-picker.entry.js +64 -32
  120. package/dist/esm/seki-drawer.entry.js +67 -27
  121. package/dist/esm/seki-hover-card-content.entry.js +2 -2
  122. package/dist/esm/seki-hover-card-trigger.entry.js +3 -3
  123. package/dist/esm/seki-hover-card.entry.js +53 -3
  124. package/dist/esm/seki-resizable-handle.entry.js +11 -2
  125. package/dist/esm/seki-resizable-panel-group.entry.js +9 -3
  126. package/dist/esm/seki-resizable-panel.entry.js +42 -20
  127. package/dist/esm/seki-select-content.entry.js +20 -11
  128. package/dist/esm/seki-select-group.entry.js +2 -2
  129. package/dist/esm/seki-select-option.entry.js +32 -13
  130. package/dist/esm/seki-select-trigger.entry.js +5 -2
  131. package/dist/esm/seki-select.entry.js +2 -2
  132. package/dist/esm/seki-sheet.entry.js +62 -25
  133. package/dist/esm/seki-sidebar-footer.entry.js +3 -1
  134. package/dist/esm/seki-sidebar-header.entry.js +3 -1
  135. package/dist/esm/seki-sidebar-menu-button.entry.js +3 -1
  136. package/dist/esm/seki-sidebar-rail.entry.js +3 -1
  137. package/dist/esm/seki-sidebar-trigger.entry.js +6 -1
  138. package/dist/esm/seki-sidebar.entry.js +5 -2
  139. package/dist/esm/seki-tooltip.entry.js +43 -2
  140. package/dist/esm/sekiui.js +1 -1
  141. package/dist/esm/when-defined-C9-yH6MD.js +33 -0
  142. package/dist/sekiui/p-02f1728e.entry.js +1 -0
  143. package/dist/sekiui/p-05b33a61.entry.js +1 -0
  144. package/dist/sekiui/p-12e36a4f.entry.js +1 -0
  145. package/dist/sekiui/p-1cd6b3e6.entry.js +1 -0
  146. package/dist/sekiui/p-1e24698b.entry.js +1 -0
  147. package/dist/sekiui/p-26bb17cb.entry.js +1 -0
  148. package/dist/sekiui/p-26d433ff.entry.js +1 -0
  149. package/dist/sekiui/p-26f96e2d.entry.js +1 -0
  150. package/dist/sekiui/p-29b22c0f.entry.js +1 -0
  151. package/dist/sekiui/p-30fafcc6.entry.js +1 -0
  152. package/dist/sekiui/p-3de5878b.entry.js +1 -0
  153. package/dist/sekiui/p-649dbdf0.entry.js +1 -0
  154. package/dist/sekiui/p-71656184.entry.js +1 -0
  155. package/dist/sekiui/p-7926c04a.entry.js +1 -0
  156. package/dist/sekiui/p-9f4149b9.entry.js +1 -0
  157. package/dist/sekiui/p-C9-yH6MD.js +1 -0
  158. package/dist/sekiui/p-CQQRfw1L.js +1 -0
  159. package/dist/sekiui/p-ae87ca35.entry.js +1 -0
  160. package/dist/sekiui/p-b82c2267.entry.js +1 -0
  161. package/dist/sekiui/p-bf151423.entry.js +1 -0
  162. package/dist/sekiui/{p-219c8350.entry.js → p-c0f21b6a.entry.js} +1 -1
  163. package/dist/sekiui/p-c3ef507f.entry.js +1 -0
  164. package/dist/sekiui/p-d10a186d.entry.js +1 -0
  165. package/dist/sekiui/p-d1c72c91.entry.js +1 -0
  166. package/dist/sekiui/p-d1d3ae40.entry.js +1 -0
  167. package/dist/sekiui/p-fba3fa73.entry.js +1 -0
  168. package/dist/sekiui/p-fe3e661d.entry.js +1 -0
  169. package/dist/sekiui/sekiui.esm.js +1 -1
  170. package/dist/types/components/carousel/seki-carousel.d.ts +1 -0
  171. package/dist/types/components/date-picker/seki-date-picker.d.ts +21 -5
  172. package/dist/types/components/drawer/seki-drawer.d.ts +22 -6
  173. package/dist/types/components/hover-card/seki-hover-card.d.ts +24 -4
  174. package/dist/types/components/resizable/seki-resizable-handle.d.ts +1 -0
  175. package/dist/types/components/resizable/seki-resizable-panel-group.d.ts +6 -0
  176. package/dist/types/components/resizable/seki-resizable-panel.d.ts +9 -0
  177. package/dist/types/components/select/seki-select.d.ts +3 -3
  178. package/dist/types/components/select-content/seki-select-content.d.ts +8 -5
  179. package/dist/types/components/select-option/seki-select-option.d.ts +6 -4
  180. package/dist/types/components/sheet/seki-sheet.d.ts +22 -6
  181. package/dist/types/components/tooltip/seki-tooltip.d.ts +13 -0
  182. package/dist/types/components.d.ts +145 -17
  183. package/dist/types/utils/select/index.d.ts +1 -0
  184. package/dist/types/utils/select/option-id.d.ts +14 -0
  185. package/dist/types/utils/select/types.d.ts +0 -7
  186. package/dist/types/utils/when-defined.d.ts +19 -0
  187. package/package.json +3 -1
  188. package/dist/sekiui/p-01f26bec.entry.js +0 -1
  189. package/dist/sekiui/p-117b6f5a.entry.js +0 -1
  190. package/dist/sekiui/p-1250cad1.entry.js +0 -1
  191. package/dist/sekiui/p-1866201e.entry.js +0 -1
  192. package/dist/sekiui/p-2e18933c.entry.js +0 -1
  193. package/dist/sekiui/p-2e2e7d0b.entry.js +0 -1
  194. package/dist/sekiui/p-346cc18f.entry.js +0 -1
  195. package/dist/sekiui/p-6311a4d8.entry.js +0 -1
  196. package/dist/sekiui/p-69843ed8.entry.js +0 -1
  197. package/dist/sekiui/p-779764c0.entry.js +0 -1
  198. package/dist/sekiui/p-786c153b.entry.js +0 -1
  199. package/dist/sekiui/p-87bcbb66.entry.js +0 -1
  200. package/dist/sekiui/p-88dd3e1f.entry.js +0 -1
  201. package/dist/sekiui/p-944c70a1.entry.js +0 -1
  202. package/dist/sekiui/p-9820cd16.entry.js +0 -1
  203. package/dist/sekiui/p-9abfa3a5.entry.js +0 -1
  204. package/dist/sekiui/p-ac7bd611.entry.js +0 -1
  205. package/dist/sekiui/p-b45e11d8.entry.js +0 -1
  206. package/dist/sekiui/p-c62c4ad7.entry.js +0 -1
  207. package/dist/sekiui/p-caa51bdf.entry.js +0 -1
  208. package/dist/sekiui/p-ce986fde.entry.js +0 -1
  209. package/dist/sekiui/p-e45e6992.entry.js +0 -1
  210. package/dist/sekiui/p-ede4bb0c.entry.js +0 -1
  211. package/dist/sekiui/p-f4abd9a2.entry.js +0 -1
@@ -18,10 +18,19 @@ import { EventEmitter } from '../../stencil-public-runtime';
18
18
  */
19
19
  export declare class SekiDrawer {
20
20
  el: HTMLElement;
21
+ /**
22
+ * Controlled open state. Also readable/writable as the `open` attribute, so
23
+ * `<seki-drawer open>` renders open with no script involved.
24
+ */
25
+ open: boolean;
26
+ /**
27
+ * Initial open state for uncontrolled usage
28
+ */
29
+ defaultOpen: boolean;
21
30
  /**
22
31
  * Internal state for drawer open/closed
23
32
  */
24
- isOpen: boolean;
33
+ _isOpen: boolean;
25
34
  /**
26
35
  * Current snap point (0-1)
27
36
  */
@@ -40,24 +49,31 @@ export declare class SekiDrawer {
40
49
  drawerSnap: EventEmitter<{
41
50
  point: number;
42
51
  }>;
52
+ /**
53
+ * Emitted whenever the open state changes. Matches the dialog/popover/collapsible
54
+ * event shape so a consumer can listen to one event name across every overlay.
55
+ */
56
+ sekiOpenChange: EventEmitter<boolean>;
57
+ componentWillLoad(): void;
58
+ componentDidLoad(): void;
59
+ handleOpenPropChange(newValue: boolean): void;
43
60
  /**
44
61
  * Opens the drawer
45
62
  */
46
- open(): Promise<void>;
63
+ openDrawer(): Promise<void>;
47
64
  /**
48
65
  * Closes the drawer
49
66
  */
50
- close(): Promise<void>;
51
- private updateContext;
52
- componentDidLoad(): void;
67
+ closeDrawer(): Promise<void>;
53
68
  /**
54
69
  * Toggles the drawer
55
70
  */
56
- toggle(): Promise<void>;
71
+ toggleDrawer(): Promise<void>;
57
72
  /**
58
73
  * Snaps to a specific point (0-1)
59
74
  */
60
75
  snapTo(point: number): Promise<void>;
76
+ private updateContext;
61
77
  handleTriggerClick(): void;
62
78
  handleRequestClose(): void;
63
79
  handleRequestSnap(event: CustomEvent<{
@@ -76,17 +76,29 @@ export declare class SekiHoverCard {
76
76
  * @default false
77
77
  */
78
78
  disabled: boolean;
79
+ /**
80
+ * Controlled open state. Reflects to the `open` attribute, so
81
+ * `<seki-hover-card open>` renders open with no script involved.
82
+ * @default false
83
+ */
84
+ open: boolean;
85
+ /**
86
+ * Initial open state for uncontrolled usage
87
+ * @default false
88
+ */
89
+ defaultOpen: boolean;
79
90
  /**
80
91
  * Internal open state
81
92
  */
82
93
  _isOpen: boolean;
94
+ componentWillLoad(): void;
95
+ openChanged(newValue: boolean): void;
83
96
  disabledChanged(newValue: boolean): void;
84
97
  /**
85
- * Emitted when open state changes
98
+ * Emitted when open state changes. `detail` is the new open state as a
99
+ * bare boolean, matching every other `sekiOpenChange` in the library.
86
100
  */
87
- sekiOpenChange: EventEmitter<{
88
- open: boolean;
89
- }>;
101
+ sekiOpenChange: EventEmitter<boolean>;
90
102
  private openTimer;
91
103
  private closeTimer;
92
104
  private scrollHandler;
@@ -112,6 +124,14 @@ export declare class SekiHoverCard {
112
124
  * Set the open state and emit change event
113
125
  */
114
126
  private setOpen;
127
+ /**
128
+ * Open the hover card immediately, skipping `openDelay`
129
+ */
130
+ openHoverCard(): Promise<void>;
131
+ /**
132
+ * Close the hover card immediately, skipping `closeDelay`
133
+ */
134
+ closeHoverCard(): Promise<void>;
115
135
  /**
116
136
  * Close the hover card immediately and focus the trigger
117
137
  */
@@ -18,6 +18,7 @@ export declare class SekiResizableHandle {
18
18
  _direction: 'horizontal' | 'vertical';
19
19
  private startPosition;
20
20
  private groupElement;
21
+ private contextSubscription;
21
22
  private handleDirectionChange;
22
23
  private getContext;
23
24
  componentWillLoad(): void;
@@ -31,6 +31,12 @@ export declare class SekiResizablePanelGroup {
31
31
  * Internal event for direction changes
32
32
  */
33
33
  sekiDirectionChange: EventEmitter<'horizontal' | 'vertical'>;
34
+ /**
35
+ * Internal: fired whenever `_resizableContext` is (re)published so panels and
36
+ * handles that mounted before this group was defined can register late.
37
+ * See utils/context-bridge.ts — no payload by design.
38
+ */
39
+ contextChange: EventEmitter<void>;
34
40
  /**
35
41
  * Context for child components
36
42
  */
@@ -44,7 +44,16 @@ export declare class SekiResizablePanel {
44
44
  * Emitted when panel expands
45
45
  */
46
46
  sekiExpand: EventEmitter<void>;
47
+ private hasRegistered;
48
+ private contextSubscription;
47
49
  private handleLayoutChange;
50
+ /**
51
+ * The group publishes its context when *it* loads, which in the per-tag
52
+ * custom-elements build can be after this panel's componentWillLoad. Register
53
+ * whenever the context is (re)published; the group ignores duplicates.
54
+ */
55
+ private handleParentContextChange;
56
+ private registerWithGroup;
48
57
  private getContext;
49
58
  componentWillLoad(): void;
50
59
  componentDidLoad(): void;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { SelectValue, SelectChangeEventDetail, SelectOpenChangeEventDetail, SelectValidateEventDetail, SelectOption, SelectPlacement } from '../../utils/select';
2
+ import type { SelectValue, SelectChangeEventDetail, SelectValidateEventDetail, SelectOption, SelectPlacement } from '../../utils/select';
3
3
  /**
4
4
  * @slot - Content containing seki-select-trigger and seki-select-content
5
5
  */
@@ -38,8 +38,8 @@ export declare class SekiSelect {
38
38
  maxHeight: string;
39
39
  /** Emitted when selected value changes */
40
40
  sekiChange: EventEmitter<SelectChangeEventDetail>;
41
- /** Emitted when dropdown open state changes */
42
- sekiOpenChange: EventEmitter<SelectOpenChangeEventDetail>;
41
+ /** Emitted when dropdown open state changes; `detail` is the new open state as a bare boolean */
42
+ sekiOpenChange: EventEmitter<boolean>;
43
43
  /** Emitted when validation state changes */
44
44
  sekiValidate: EventEmitter<SelectValidateEventDetail>;
45
45
  /**
@@ -15,11 +15,14 @@ export declare class SekiSelectContent {
15
15
  /**
16
16
  * Accessible name for the listbox.
17
17
  *
18
- * It cannot borrow the trigger's name via aria-labelledby: the trigger's
19
- * combobox and this listbox live in separate shadow roots, and IDREFs do not
20
- * resolve across tree scopes. So the name is mirrored down as a literal
21
- * string instead. An aria-labelledby on the <seki-select> host *can* be
22
- * resolved here, because the host and its label sit in the same tree.
18
+ * As of #300, seki-select-trigger and this listbox render in the same real
19
+ * DOM tree scope (scoped, non-shadow mode), so an aria-labelledby pointing
20
+ * back at the trigger's combobox would technically resolve now. Kept as a
21
+ * mirrored literal string anyway — simpler and more robust than a live
22
+ * cross-component id reference, and it avoids coupling this component's
23
+ * accessible name to the trigger's specific DOM shape. An aria-labelledby
24
+ * on the <seki-select> host *can* still be resolved here, because the host
25
+ * and its label sit in the same tree (unchanged).
23
26
  */
24
27
  private getAccessibleName;
25
28
  render(): any;
@@ -26,15 +26,17 @@ export declare class SekiSelectOption {
26
26
  connectedCallback(): void;
27
27
  disconnectedCallback(): void;
28
28
  /**
29
- * Refresh aria-selected/data-selected/data-focused directly on the shadow
30
- * DOM whenever the parent's value/focus state changes post-mount. This is
31
- * applied imperatively rather than through a Stencil @State bump + render()
29
+ * Refresh aria-selected/data-selected/data-focused directly on the
30
+ * rendered DOM whenever the parent's value/focus state changes post-mount.
31
+ * This is applied imperatively rather than through a Stencil @State bump +
32
+ * render()
32
33
  * — a component that reads a parent's state via closest() + an
33
34
  * addEventListener callback and relies on render() re-invoking to reflect
34
35
  * it is a confirmed-unreliable shape in this codebase (#244). Mutating the
35
- * shadow DOM directly here side-steps that entirely.
36
+ * DOM directly here side-steps that entirely.
36
37
  */
37
38
  private handleParentContextChange;
39
+ private refreshOptionId;
38
40
  private registerWithParent;
39
41
  private handleOptionClick;
40
42
  private handleOptionFocus;
@@ -19,10 +19,19 @@ import { EventEmitter } from '../../stencil-public-runtime';
19
19
  */
20
20
  export declare class SekiSheet {
21
21
  el: HTMLElement;
22
+ /**
23
+ * Controlled open state. Also readable/writable as the `open` attribute, so
24
+ * `<seki-sheet open>` renders open with no script involved.
25
+ */
26
+ open: boolean;
27
+ /**
28
+ * Initial open state for uncontrolled usage
29
+ */
30
+ defaultOpen: boolean;
22
31
  /**
23
32
  * Internal state for sheet open/closed
24
33
  */
25
- isOpen: boolean;
34
+ _isOpen: boolean;
26
35
  /**
27
36
  * Emitted when the sheet opens
28
37
  */
@@ -31,20 +40,27 @@ export declare class SekiSheet {
31
40
  * Emitted when the sheet closes
32
41
  */
33
42
  sheetClose: EventEmitter<void>;
43
+ /**
44
+ * Emitted whenever the open state changes. Matches the dialog/popover/collapsible
45
+ * event shape so a consumer can listen to one event name across every overlay.
46
+ */
47
+ sekiOpenChange: EventEmitter<boolean>;
48
+ componentWillLoad(): void;
49
+ componentDidLoad(): void;
50
+ handleOpenPropChange(newValue: boolean): void;
34
51
  /**
35
52
  * Opens the sheet
36
53
  */
37
- open(): Promise<void>;
54
+ openSheet(): Promise<void>;
38
55
  /**
39
56
  * Closes the sheet
40
57
  */
41
- close(): Promise<void>;
42
- private updateContext;
43
- componentDidLoad(): void;
58
+ closeSheet(): Promise<void>;
44
59
  /**
45
60
  * Toggles the sheet
46
61
  */
47
- toggle(): Promise<void>;
62
+ toggleSheet(): Promise<void>;
63
+ private updateContext;
48
64
  handleTriggerClick(): void;
49
65
  handleCloseSheet(): void;
50
66
  handleKeydown(ev: KeyboardEvent): void;
@@ -52,6 +52,17 @@ export declare class SekiTooltip {
52
52
  * @min 0
53
53
  */
54
54
  offset: number;
55
+ /**
56
+ * Controlled open state. Reflects to the `open` attribute, so
57
+ * `<seki-tooltip open>` renders visible with no script involved.
58
+ * @default false
59
+ */
60
+ open: boolean;
61
+ /**
62
+ * Initial open state for uncontrolled usage
63
+ * @default false
64
+ */
65
+ defaultOpen: boolean;
55
66
  /**
56
67
  * Internal state: whether tooltip is currently visible
57
68
  */
@@ -142,7 +153,9 @@ export declare class SekiTooltip {
142
153
  * Remove event listeners from trigger
143
154
  */
144
155
  private detachTriggerListeners;
156
+ componentWillLoad(): void;
145
157
  componentDidLoad(): void;
158
+ openChanged(newValue: boolean): void;
146
159
  connectedCallback(): void;
147
160
  disconnectedCallback(): void;
148
161
  render(): any;
@@ -34,7 +34,7 @@ import { ScrollerEdgeDetail, ScrollerVisibilityDetail } from "./components/messa
34
34
  import { NavigationMenuContext } from "./components/navigation-menu/seki-navigation-menu";
35
35
  import { PopoverAlign, PopoverSide } from "./components/popover/seki-popover";
36
36
  import { PopoverAlign as PopoverAlign1, PopoverSide as PopoverSide1 } from "./components/popover/seki-popover";
37
- import { SelectChangeEventDetail, SelectOpenChangeEventDetail, SelectPlacement, SelectValidateEventDetail, SelectValue } from "./utils/select";
37
+ import { SelectChangeEventDetail, SelectPlacement, SelectValidateEventDetail, SelectValue } from "./utils/select";
38
38
  import { SeparatorOrientation } from "./components/separator/seki-separator.interface";
39
39
  import { SheetSide } from "./components/sheet/seki-sheet-content";
40
40
  import { SidebarStateChangeDetail } from "./components/sidebar/seki-sidebar-provider";
@@ -74,7 +74,7 @@ export { ScrollerEdgeDetail, ScrollerVisibilityDetail } from "./components/messa
74
74
  export { NavigationMenuContext } from "./components/navigation-menu/seki-navigation-menu";
75
75
  export { PopoverAlign, PopoverSide } from "./components/popover/seki-popover";
76
76
  export { PopoverAlign as PopoverAlign1, PopoverSide as PopoverSide1 } from "./components/popover/seki-popover";
77
- export { SelectChangeEventDetail, SelectOpenChangeEventDetail, SelectPlacement, SelectValidateEventDetail, SelectValue } from "./utils/select";
77
+ export { SelectChangeEventDetail, SelectPlacement, SelectValidateEventDetail, SelectValue } from "./utils/select";
78
78
  export { SeparatorOrientation } from "./components/separator/seki-separator.interface";
79
79
  export { SheetSide } from "./components/sheet/seki-sheet-content";
80
80
  export { SidebarStateChangeDetail } from "./components/sidebar/seki-sidebar-provider";
@@ -1552,7 +1552,12 @@ export namespace Components {
1552
1552
  /**
1553
1553
  * Close the date picker popover
1554
1554
  */
1555
- "close": () => Promise<void>;
1555
+ "closeDatePicker": () => Promise<void>;
1556
+ /**
1557
+ * Initial open state for uncontrolled usage
1558
+ * @default false
1559
+ */
1560
+ "defaultOpen": boolean;
1556
1561
  /**
1557
1562
  * Whether the date picker is disabled
1558
1563
  * @default false
@@ -1580,10 +1585,15 @@ export namespace Components {
1580
1585
  * Form field name
1581
1586
  */
1582
1587
  "name"?: string;
1588
+ /**
1589
+ * Controlled open state of the popover. Also readable/writable as the `open` attribute, so `<seki-date-picker open>` renders open with no script involved.
1590
+ * @default false
1591
+ */
1592
+ "open": boolean;
1583
1593
  /**
1584
1594
  * Open the date picker popover
1585
1595
  */
1586
- "open": () => Promise<void>;
1596
+ "openDatePicker": () => Promise<void>;
1587
1597
  /**
1588
1598
  * Placeholder text when no date is selected
1589
1599
  * @default 'Pick a date'
@@ -1605,7 +1615,7 @@ export namespace Components {
1605
1615
  /**
1606
1616
  * Toggle the date picker popover
1607
1617
  */
1608
- "toggle": () => Promise<void>;
1618
+ "toggleDatePicker": () => Promise<void>;
1609
1619
  /**
1610
1620
  * Currently selected date (for single mode)
1611
1621
  */
@@ -1722,11 +1732,21 @@ export namespace Components {
1722
1732
  /**
1723
1733
  * Closes the drawer
1724
1734
  */
1725
- "close": () => Promise<void>;
1735
+ "closeDrawer": () => Promise<void>;
1736
+ /**
1737
+ * Initial open state for uncontrolled usage
1738
+ * @default false
1739
+ */
1740
+ "defaultOpen": boolean;
1741
+ /**
1742
+ * Controlled open state. Also readable/writable as the `open` attribute, so `<seki-drawer open>` renders open with no script involved.
1743
+ * @default false
1744
+ */
1745
+ "open": boolean;
1726
1746
  /**
1727
1747
  * Opens the drawer
1728
1748
  */
1729
- "open": () => Promise<void>;
1749
+ "openDrawer": () => Promise<void>;
1730
1750
  /**
1731
1751
  * Snaps to a specific point (0-1)
1732
1752
  */
@@ -1734,7 +1754,7 @@ export namespace Components {
1734
1754
  /**
1735
1755
  * Toggles the drawer
1736
1756
  */
1737
- "toggle": () => Promise<void>;
1757
+ "toggleDrawer": () => Promise<void>;
1738
1758
  }
1739
1759
  /**
1740
1760
  * seki-drawer-content: Container for drawer content with gesture support
@@ -2038,16 +2058,34 @@ export namespace Components {
2038
2058
  * @default 300
2039
2059
  */
2040
2060
  "closeDelay": number;
2061
+ /**
2062
+ * Close the hover card immediately, skipping `closeDelay`
2063
+ */
2064
+ "closeHoverCard": () => Promise<void>;
2065
+ /**
2066
+ * Initial open state for uncontrolled usage
2067
+ * @default false
2068
+ */
2069
+ "defaultOpen": boolean;
2041
2070
  /**
2042
2071
  * Disable hover card interactions
2043
2072
  * @default false
2044
2073
  */
2045
2074
  "disabled": boolean;
2075
+ /**
2076
+ * Controlled open state. Reflects to the `open` attribute, so `<seki-hover-card open>` renders open with no script involved.
2077
+ * @default false
2078
+ */
2079
+ "open": boolean;
2046
2080
  /**
2047
2081
  * Milliseconds to delay before opening the hover card
2048
2082
  * @default 200
2049
2083
  */
2050
2084
  "openDelay": number;
2085
+ /**
2086
+ * Open the hover card immediately, skipping `openDelay`
2087
+ */
2088
+ "openHoverCard": () => Promise<void>;
2051
2089
  /**
2052
2090
  * Preferred side for hover card content placement
2053
2091
  * @default 'bottom'
@@ -3541,15 +3579,25 @@ export namespace Components {
3541
3579
  /**
3542
3580
  * Closes the sheet
3543
3581
  */
3544
- "close": () => Promise<void>;
3582
+ "closeSheet": () => Promise<void>;
3583
+ /**
3584
+ * Initial open state for uncontrolled usage
3585
+ * @default false
3586
+ */
3587
+ "defaultOpen": boolean;
3588
+ /**
3589
+ * Controlled open state. Also readable/writable as the `open` attribute, so `<seki-sheet open>` renders open with no script involved.
3590
+ * @default false
3591
+ */
3592
+ "open": boolean;
3545
3593
  /**
3546
3594
  * Opens the sheet
3547
3595
  */
3548
- "open": () => Promise<void>;
3596
+ "openSheet": () => Promise<void>;
3549
3597
  /**
3550
3598
  * Toggles the sheet
3551
3599
  */
3552
- "toggle": () => Promise<void>;
3600
+ "toggleSheet": () => Promise<void>;
3553
3601
  }
3554
3602
  /**
3555
3603
  * seki-sheet-close: Close button for the sheet
@@ -4244,6 +4292,11 @@ export namespace Components {
4244
4292
  * ```
4245
4293
  */
4246
4294
  interface SekiTooltip {
4295
+ /**
4296
+ * Initial open state for uncontrolled usage
4297
+ * @default false
4298
+ */
4299
+ "defaultOpen": boolean;
4247
4300
  /**
4248
4301
  * Milliseconds to delay before showing tooltip on hover
4249
4302
  * @default 0
@@ -4267,6 +4320,11 @@ export namespace Components {
4267
4320
  * @min 0
4268
4321
  */
4269
4322
  "offset": number;
4323
+ /**
4324
+ * Controlled open state. Reflects to the `open` attribute, so `<seki-tooltip open>` renders visible with no script involved.
4325
+ * @default false
4326
+ */
4327
+ "open": boolean;
4270
4328
  /**
4271
4329
  * Show tooltip programmatically
4272
4330
  * @returns Promise resolves when tooltip is visible
@@ -5693,6 +5751,7 @@ declare global {
5693
5751
  "sekiChange": Date | DateRange1;
5694
5752
  "sekiOpen": void;
5695
5753
  "sekiClose": void;
5754
+ "sekiOpenChange": boolean;
5696
5755
  }
5697
5756
  /**
5698
5757
  * seki-date-picker: A date picker component with popover calendar
@@ -5867,6 +5926,7 @@ declare global {
5867
5926
  "drawerOpen": void;
5868
5927
  "drawerClose": void;
5869
5928
  "drawerSnap": { point: number };
5929
+ "sekiOpenChange": boolean;
5870
5930
  }
5871
5931
  /**
5872
5932
  * seki-drawer: Mobile-friendly drawer component with swipe gestures
@@ -6143,7 +6203,7 @@ declare global {
6143
6203
  new (): HTMLSekiFieldsetElement;
6144
6204
  };
6145
6205
  interface HTMLSekiHoverCardElementEventMap {
6146
- "sekiOpenChange": { open: boolean };
6206
+ "sekiOpenChange": boolean;
6147
6207
  }
6148
6208
  /**
6149
6209
  * Hover Card Container Component
@@ -7200,6 +7260,7 @@ declare global {
7200
7260
  interface HTMLSekiResizablePanelGroupElementEventMap {
7201
7261
  "sekiLayoutChange": number[];
7202
7262
  "sekiDirectionChange": 'horizontal' | 'vertical';
7263
+ "sekiContextChange": void;
7203
7264
  }
7204
7265
  /**
7205
7266
  * Resizable panel group - container that manages layout direction and coordinates panel sizes
@@ -7257,7 +7318,7 @@ declare global {
7257
7318
  };
7258
7319
  interface HTMLSekiSelectElementEventMap {
7259
7320
  "sekiChange": SelectChangeEventDetail;
7260
- "sekiOpenChange": SelectOpenChangeEventDetail;
7321
+ "sekiOpenChange": boolean;
7261
7322
  "sekiValidate": SelectValidateEventDetail;
7262
7323
  "sekiContextChange": void;
7263
7324
  }
@@ -7326,6 +7387,7 @@ declare global {
7326
7387
  interface HTMLSekiSheetElementEventMap {
7327
7388
  "sheetOpen": void;
7328
7389
  "sheetClose": void;
7390
+ "sekiOpenChange": boolean;
7329
7391
  }
7330
7392
  /**
7331
7393
  * seki-sheet: Root sheet component (slide-out panel)
@@ -9687,6 +9749,11 @@ declare namespace LocalJSX {
9687
9749
  * ARIA label for accessibility
9688
9750
  */
9689
9751
  "ariaLabel"?: string;
9752
+ /**
9753
+ * Initial open state for uncontrolled usage
9754
+ * @default false
9755
+ */
9756
+ "defaultOpen"?: boolean;
9690
9757
  /**
9691
9758
  * Whether the date picker is disabled
9692
9759
  * @default false
@@ -9726,6 +9793,15 @@ declare namespace LocalJSX {
9726
9793
  * Emitted when the popover opens
9727
9794
  */
9728
9795
  "onSekiOpen"?: (event: SekiDatePickerCustomEvent<void>) => void;
9796
+ /**
9797
+ * Emitted whenever the open state changes. Matches the dialog/popover/collapsible event shape so a consumer can listen to one event name across every overlay.
9798
+ */
9799
+ "onSekiOpenChange"?: (event: SekiDatePickerCustomEvent<boolean>) => void;
9800
+ /**
9801
+ * Controlled open state of the popover. Also readable/writable as the `open` attribute, so `<seki-date-picker open>` renders open with no script involved.
9802
+ * @default false
9803
+ */
9804
+ "open"?: boolean;
9729
9805
  /**
9730
9806
  * Placeholder text when no date is selected
9731
9807
  * @default 'Pick a date'
@@ -9857,6 +9933,11 @@ declare namespace LocalJSX {
9857
9933
  * </seki-drawer>
9858
9934
  */
9859
9935
  interface SekiDrawer {
9936
+ /**
9937
+ * Initial open state for uncontrolled usage
9938
+ * @default false
9939
+ */
9940
+ "defaultOpen"?: boolean;
9860
9941
  /**
9861
9942
  * Emitted when the drawer closes
9862
9943
  */
@@ -9869,6 +9950,15 @@ declare namespace LocalJSX {
9869
9950
  * Emitted when the drawer snaps to a point
9870
9951
  */
9871
9952
  "onDrawerSnap"?: (event: SekiDrawerCustomEvent<{ point: number }>) => void;
9953
+ /**
9954
+ * Emitted whenever the open state changes. Matches the dialog/popover/collapsible event shape so a consumer can listen to one event name across every overlay.
9955
+ */
9956
+ "onSekiOpenChange"?: (event: SekiDrawerCustomEvent<boolean>) => void;
9957
+ /**
9958
+ * Controlled open state. Also readable/writable as the `open` attribute, so `<seki-drawer open>` renders open with no script involved.
9959
+ * @default false
9960
+ */
9961
+ "open"?: boolean;
9872
9962
  }
9873
9963
  /**
9874
9964
  * seki-drawer-content: Container for drawer content with gesture support
@@ -10185,15 +10275,25 @@ declare namespace LocalJSX {
10185
10275
  * @default 300
10186
10276
  */
10187
10277
  "closeDelay"?: number;
10278
+ /**
10279
+ * Initial open state for uncontrolled usage
10280
+ * @default false
10281
+ */
10282
+ "defaultOpen"?: boolean;
10188
10283
  /**
10189
10284
  * Disable hover card interactions
10190
10285
  * @default false
10191
10286
  */
10192
10287
  "disabled"?: boolean;
10193
10288
  /**
10194
- * Emitted when open state changes
10289
+ * Emitted when open state changes. `detail` is the new open state as a bare boolean, matching every other `sekiOpenChange` in the library.
10195
10290
  */
10196
- "onSekiOpenChange"?: (event: SekiHoverCardCustomEvent<{ open: boolean }>) => void;
10291
+ "onSekiOpenChange"?: (event: SekiHoverCardCustomEvent<boolean>) => void;
10292
+ /**
10293
+ * Controlled open state. Reflects to the `open` attribute, so `<seki-hover-card open>` renders open with no script involved.
10294
+ * @default false
10295
+ */
10296
+ "open"?: boolean;
10197
10297
  /**
10198
10298
  * Milliseconds to delay before opening the hover card
10199
10299
  * @default 200
@@ -11555,6 +11655,10 @@ declare namespace LocalJSX {
11555
11655
  * @default false
11556
11656
  */
11557
11657
  "disabled"?: boolean;
11658
+ /**
11659
+ * Internal: fired whenever `_resizableContext` is (re)published so panels and handles that mounted before this group was defined can register late. See utils/context-bridge.ts — no payload by design.
11660
+ */
11661
+ "onSekiContextChange"?: (event: SekiResizablePanelGroupCustomEvent<void>) => void;
11558
11662
  /**
11559
11663
  * Internal event for direction changes
11560
11664
  */
@@ -11656,9 +11760,9 @@ declare namespace LocalJSX {
11656
11760
  */
11657
11761
  "onSekiContextChange"?: (event: SekiSelectCustomEvent<void>) => void;
11658
11762
  /**
11659
- * Emitted when dropdown open state changes
11763
+ * Emitted when dropdown open state changes; `detail` is the new open state as a bare boolean
11660
11764
  */
11661
- "onSekiOpenChange"?: (event: SekiSelectCustomEvent<SelectOpenChangeEventDetail>) => void;
11765
+ "onSekiOpenChange"?: (event: SekiSelectCustomEvent<boolean>) => void;
11662
11766
  /**
11663
11767
  * Emitted when validation state changes
11664
11768
  */
@@ -11755,6 +11859,15 @@ declare namespace LocalJSX {
11755
11859
  * </seki-sheet>
11756
11860
  */
11757
11861
  interface SekiSheet {
11862
+ /**
11863
+ * Initial open state for uncontrolled usage
11864
+ * @default false
11865
+ */
11866
+ "defaultOpen"?: boolean;
11867
+ /**
11868
+ * Emitted whenever the open state changes. Matches the dialog/popover/collapsible event shape so a consumer can listen to one event name across every overlay.
11869
+ */
11870
+ "onSekiOpenChange"?: (event: SekiSheetCustomEvent<boolean>) => void;
11758
11871
  /**
11759
11872
  * Emitted when the sheet closes
11760
11873
  */
@@ -11763,6 +11876,11 @@ declare namespace LocalJSX {
11763
11876
  * Emitted when the sheet opens
11764
11877
  */
11765
11878
  "onSheetOpen"?: (event: SekiSheetCustomEvent<void>) => void;
11879
+ /**
11880
+ * Controlled open state. Also readable/writable as the `open` attribute, so `<seki-sheet open>` renders open with no script involved.
11881
+ * @default false
11882
+ */
11883
+ "open"?: boolean;
11766
11884
  }
11767
11885
  /**
11768
11886
  * seki-sheet-close: Close button for the sheet
@@ -12517,6 +12635,11 @@ declare namespace LocalJSX {
12517
12635
  * ```
12518
12636
  */
12519
12637
  interface SekiTooltip {
12638
+ /**
12639
+ * Initial open state for uncontrolled usage
12640
+ * @default false
12641
+ */
12642
+ "defaultOpen"?: boolean;
12520
12643
  /**
12521
12644
  * Milliseconds to delay before showing tooltip on hover
12522
12645
  * @default 0
@@ -12547,6 +12670,11 @@ declare namespace LocalJSX {
12547
12670
  * Event emitted when tooltip becomes visible
12548
12671
  */
12549
12672
  "onShowTooltip"?: (event: SekiTooltipCustomEvent<TooltipShowDetail>) => void;
12673
+ /**
12674
+ * Controlled open state. Reflects to the `open` attribute, so `<seki-tooltip open>` renders visible with no script involved.
12675
+ * @default false
12676
+ */
12677
+ "open"?: boolean;
12550
12678
  /**
12551
12679
  * Preferred positioning side for tooltip 'auto' uses intelligent repositioning based on viewport space
12552
12680
  * @default 'auto'
@@ -4,3 +4,4 @@
4
4
  */
5
5
  export * from './types';
6
6
  export * from './select-context';
7
+ export * from './option-id';