le-kit 0.3.5 → 0.5.0

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 (235) hide show
  1. package/LLM_CONTEXT.md +1377 -0
  2. package/dist/cjs/{index-BPF04Jvb.js → index-BzadfLTc.js} +6 -3
  3. package/dist/cjs/index-BzadfLTc.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +2 -2
  5. package/dist/cjs/le-bar_16.cjs.entry.js +21 -21
  6. package/dist/cjs/le-box.cjs.entry.js +5 -5
  7. package/dist/cjs/le-card.cjs.entry.js +5 -5
  8. package/dist/cjs/le-code-input.cjs.entry.js +181 -0
  9. package/dist/cjs/le-combobox.cjs.entry.js +2 -2
  10. package/dist/cjs/le-header-placeholder.cjs.entry.js +2 -2
  11. package/dist/cjs/le-kit.cjs.js +2 -2
  12. package/dist/cjs/le-multiselect.cjs.entry.js +4 -4
  13. package/dist/cjs/le-number-input.cjs.entry.js +3 -3
  14. package/dist/cjs/le-round-progress.cjs.entry.js +2 -2
  15. package/dist/cjs/le-segmented-control.cjs.entry.js +2 -2
  16. package/dist/cjs/le-side-panel-toggle.cjs.entry.js +229 -0
  17. package/dist/cjs/le-side-panel.cjs.entry.js +546 -0
  18. package/dist/cjs/le-stack.cjs.entry.js +3 -3
  19. package/dist/cjs/le-tab-bar.cjs.entry.js +2 -2
  20. package/dist/cjs/le-tab-panel.cjs.entry.js +3 -3
  21. package/dist/cjs/le-tab.cjs.entry.js +3 -3
  22. package/dist/cjs/le-tabs.cjs.entry.js +4 -4
  23. package/dist/cjs/le-tag.cjs.entry.js +2 -2
  24. package/dist/cjs/le-text.cjs.entry.js +8 -8
  25. package/dist/cjs/le-turntable.cjs.entry.js +2 -2
  26. package/dist/cjs/loader.cjs.js +2 -2
  27. package/dist/cjs/{utils-BYsLPHN1.js → utils-Dxx9WhWK.js} +3 -3
  28. package/dist/cjs/{utils-BYsLPHN1.js.map → utils-Dxx9WhWK.js.map} +1 -1
  29. package/dist/collection/collection-manifest.json +3 -0
  30. package/dist/collection/components/le-box/le-box.js +3 -3
  31. package/dist/collection/components/le-box/le-box.js.map +1 -1
  32. package/dist/collection/components/le-button/le-button.css +2 -2
  33. package/dist/collection/components/le-button/le-button.js +1 -1
  34. package/dist/collection/components/le-card/le-card.js +3 -3
  35. package/dist/collection/components/le-card/le-card.js.map +1 -1
  36. package/dist/collection/components/le-checkbox/le-checkbox.js +1 -1
  37. package/dist/collection/components/le-code-input/le-code-input.css +106 -0
  38. package/dist/collection/components/le-code-input/le-code-input.js +466 -0
  39. package/dist/collection/components/le-code-input/le-code-input.js.map +1 -0
  40. package/dist/collection/components/le-collapse/le-collapse.js +1 -1
  41. package/dist/collection/components/le-combobox/le-combobox.js +1 -1
  42. package/dist/collection/components/le-current-heading/le-current-heading.js +1 -1
  43. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +1 -1
  44. package/dist/collection/components/le-header/le-header.js +2 -2
  45. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +1 -1
  46. package/dist/collection/components/le-icon/le-icon.js +1 -1
  47. package/dist/collection/components/le-multiselect/le-multiselect.js +3 -3
  48. package/dist/collection/components/le-navigation/le-navigation.css +10 -4
  49. package/dist/collection/components/le-number-input/le-number-input.js +1 -1
  50. package/dist/collection/components/le-popover/le-popover.js +3 -3
  51. package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
  52. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +1 -1
  53. package/dist/collection/components/le-segmented-control/le-segmented-control.js +1 -1
  54. package/dist/collection/components/le-select/le-select.js +2 -2
  55. package/dist/collection/components/le-side-panel/le-side-panel.css +193 -0
  56. package/dist/collection/components/le-side-panel/le-side-panel.js +953 -0
  57. package/dist/collection/components/le-side-panel/le-side-panel.js.map +1 -0
  58. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js +610 -0
  59. package/dist/collection/components/le-side-panel-toggle/le-side-panel-toggle.js.map +1 -0
  60. package/dist/collection/components/le-slot/le-slot.js +1 -1
  61. package/dist/collection/components/le-stack/le-stack.js +1 -1
  62. package/dist/collection/components/le-string-input/le-string-input.js +2 -2
  63. package/dist/collection/components/le-tab/le-tab.js +1 -1
  64. package/dist/collection/components/le-tab-bar/le-tab-bar.js +1 -1
  65. package/dist/collection/components/le-tab-panel/le-tab-panel.js +2 -2
  66. package/dist/collection/components/le-tabs/le-tabs.js +2 -2
  67. package/dist/collection/components/le-tag/le-tag.js +1 -1
  68. package/dist/collection/components/le-text/le-text.js +7 -7
  69. package/dist/collection/components/le-text/le-text.js.map +1 -1
  70. package/dist/collection/components/le-turntable/le-turntable.js +1 -1
  71. package/dist/collection/dist/components/assets/custom-elements.json +5288 -3895
  72. package/dist/collection/dist/components/assets/icons/side-panel.json +61 -0
  73. package/dist/collection/dist/themes/dark.css +1 -0
  74. package/dist/collection/dist/themes/default.css +1 -0
  75. package/dist/collection/dist/themes/gradient.css +1 -0
  76. package/dist/collection/dist/themes/minimal.css +1 -0
  77. package/dist/collection/dist/themes/warm.css +1 -0
  78. package/dist/components/assets/custom-elements.json +5288 -3895
  79. package/dist/components/assets/icons/side-panel.json +61 -0
  80. package/dist/components/index.js.map +1 -1
  81. package/dist/components/le-box.js +3 -3
  82. package/dist/components/le-box.js.map +1 -1
  83. package/dist/components/le-button2.js +8 -8
  84. package/dist/components/le-button2.js.map +1 -1
  85. package/dist/components/le-card.js +3 -3
  86. package/dist/components/le-card.js.map +1 -1
  87. package/dist/components/le-code-input.d.ts +11 -0
  88. package/dist/components/le-code-input.js +265 -0
  89. package/dist/components/le-code-input.js.map +1 -0
  90. package/dist/components/le-collapse2.js +1 -1
  91. package/dist/components/le-combobox.js +1 -1
  92. package/dist/components/le-current-heading.js +1 -1
  93. package/dist/components/le-dropdown-base2.js +1 -1
  94. package/dist/components/le-header-placeholder.js +1 -1
  95. package/dist/components/le-header.js +2 -2
  96. package/dist/components/le-icon2.js +1 -1
  97. package/dist/components/le-multiselect.js +3 -3
  98. package/dist/components/le-navigation.js +1 -1
  99. package/dist/components/le-navigation.js.map +1 -1
  100. package/dist/components/le-number-input.js +1 -1
  101. package/dist/components/le-popover2.js +3 -3
  102. package/dist/components/le-round-progress.js +1 -1
  103. package/dist/components/le-scroll-progress.js +1 -1
  104. package/dist/components/le-segmented-control.js +1 -1
  105. package/dist/components/le-side-panel-toggle.d.ts +11 -0
  106. package/dist/components/le-side-panel-toggle.js +9 -0
  107. package/dist/components/le-side-panel-toggle.js.map +1 -0
  108. package/dist/components/le-side-panel-toggle2.js +311 -0
  109. package/dist/components/le-side-panel-toggle2.js.map +1 -0
  110. package/dist/components/le-side-panel.d.ts +11 -0
  111. package/dist/components/le-side-panel.js +660 -0
  112. package/dist/components/le-side-panel.js.map +1 -0
  113. package/dist/components/le-stack.js +1 -1
  114. package/dist/components/le-tab-bar.js +1 -1
  115. package/dist/components/le-tab-panel.js +2 -2
  116. package/dist/components/le-tab2.js +1 -1
  117. package/dist/components/le-tabs.js +2 -2
  118. package/dist/components/le-tag2.js +1 -1
  119. package/dist/components/le-text.js +6 -6
  120. package/dist/components/le-text.js.map +1 -1
  121. package/dist/components/le-turntable.js +1 -1
  122. package/dist/docs.json +4829 -3121
  123. package/dist/esm/{index-C-Chwj1b.js → index-DFTm5BqT.js} +7 -4
  124. package/dist/esm/index-DFTm5BqT.js.map +1 -0
  125. package/dist/esm/index.js +2 -2
  126. package/dist/esm/le-bar_16.entry.js +21 -21
  127. package/dist/esm/le-box.entry.js +5 -5
  128. package/dist/esm/le-box.entry.js.map +1 -1
  129. package/dist/esm/le-card.entry.js +5 -5
  130. package/dist/esm/le-card.entry.js.map +1 -1
  131. package/dist/esm/le-code-input.entry.js +179 -0
  132. package/dist/esm/le-code-input.entry.js.map +1 -0
  133. package/dist/esm/le-combobox.entry.js +2 -2
  134. package/dist/esm/le-header-placeholder.entry.js +2 -2
  135. package/dist/esm/le-kit.js +3 -3
  136. package/dist/esm/le-multiselect.entry.js +4 -4
  137. package/dist/esm/le-number-input.entry.js +3 -3
  138. package/dist/esm/le-round-progress.entry.js +2 -2
  139. package/dist/esm/le-segmented-control.entry.js +2 -2
  140. package/dist/esm/le-side-panel-toggle.entry.js +227 -0
  141. package/dist/esm/le-side-panel-toggle.entry.js.map +1 -0
  142. package/dist/esm/le-side-panel.entry.js +544 -0
  143. package/dist/esm/le-side-panel.entry.js.map +1 -0
  144. package/dist/esm/le-stack.entry.js +3 -3
  145. package/dist/esm/le-tab-bar.entry.js +2 -2
  146. package/dist/esm/le-tab-panel.entry.js +3 -3
  147. package/dist/esm/le-tab.entry.js +3 -3
  148. package/dist/esm/le-tabs.entry.js +4 -4
  149. package/dist/esm/le-tag.entry.js +2 -2
  150. package/dist/esm/le-text.entry.js +8 -8
  151. package/dist/esm/le-text.entry.js.map +1 -1
  152. package/dist/esm/le-turntable.entry.js +2 -2
  153. package/dist/esm/loader.js +3 -3
  154. package/dist/esm/{utils-B3alHV04.js → utils-DZYCZLrF.js} +3 -3
  155. package/dist/esm/{utils-B3alHV04.js.map → utils-DZYCZLrF.js.map} +1 -1
  156. package/dist/le-kit/dist/components/assets/custom-elements.json +5288 -3895
  157. package/dist/le-kit/dist/components/assets/icons/side-panel.json +61 -0
  158. package/dist/le-kit/dist/themes/dark.css +1 -0
  159. package/dist/le-kit/dist/themes/default.css +1 -0
  160. package/dist/le-kit/dist/themes/gradient.css +1 -0
  161. package/dist/le-kit/dist/themes/minimal.css +1 -0
  162. package/dist/le-kit/dist/themes/warm.css +1 -0
  163. package/dist/le-kit/index.esm.js +1 -1
  164. package/dist/le-kit/le-kit.css +1 -1
  165. package/dist/le-kit/le-kit.esm.js +1 -1
  166. package/dist/le-kit/p-221d379a.entry.js +2 -0
  167. package/dist/le-kit/p-221d379a.entry.js.map +1 -0
  168. package/dist/le-kit/p-24112ca3.entry.js +2 -0
  169. package/dist/le-kit/{p-e1846fc2.entry.js.map → p-24112ca3.entry.js.map} +1 -1
  170. package/dist/le-kit/p-2c6d080d.entry.js +2 -0
  171. package/dist/le-kit/{p-3ceede4e.entry.js.map → p-2c6d080d.entry.js.map} +1 -1
  172. package/dist/le-kit/{p-ea71f22c.entry.js → p-46276e77.entry.js} +2 -2
  173. package/dist/le-kit/p-46276e77.entry.js.map +1 -0
  174. package/dist/le-kit/p-516c8531.entry.js +2 -0
  175. package/dist/le-kit/p-6b69f9a2.entry.js +2 -0
  176. package/dist/le-kit/{p-f8034500.entry.js.map → p-6b69f9a2.entry.js.map} +1 -1
  177. package/dist/le-kit/p-6d14306f.entry.js +2 -0
  178. package/dist/le-kit/{p-06d2d79c.entry.js.map → p-6d14306f.entry.js.map} +1 -1
  179. package/dist/le-kit/{p-2230ecd7.entry.js → p-7bcdf2d4.entry.js} +2 -2
  180. package/dist/le-kit/{p-3d22aeb2.entry.js → p-7cf1e23c.entry.js} +2 -2
  181. package/dist/le-kit/{p-e6b2cf9a.entry.js → p-85f2fd4d.entry.js} +2 -2
  182. package/dist/le-kit/p-98242429.entry.js +2 -0
  183. package/dist/le-kit/p-98242429.entry.js.map +1 -0
  184. package/dist/le-kit/{p-DFr88Szp.js → p-D8RYDS9p.js} +2 -2
  185. package/dist/le-kit/{p-DFr88Szp.js.map → p-D8RYDS9p.js.map} +1 -1
  186. package/dist/le-kit/{p-C-Chwj1b.js → p-DFTm5BqT.js} +3 -3
  187. package/dist/le-kit/p-DFTm5BqT.js.map +1 -0
  188. package/dist/le-kit/{p-68d836a3.entry.js → p-ab6c1def.entry.js} +2 -2
  189. package/dist/le-kit/{p-3d873cdb.entry.js → p-ae4ead64.entry.js} +2 -2
  190. package/dist/le-kit/{p-d161946c.entry.js → p-b05d4511.entry.js} +2 -2
  191. package/dist/le-kit/{p-923828fe.entry.js → p-b6ac02ff.entry.js} +2 -2
  192. package/dist/le-kit/p-c24769e2.entry.js +2 -0
  193. package/dist/le-kit/{p-33c2168a.entry.js.map → p-c24769e2.entry.js.map} +1 -1
  194. package/dist/le-kit/{p-be2a7276.entry.js → p-dc0445ad.entry.js} +2 -2
  195. package/dist/le-kit/p-eb5286f2.entry.js +2 -0
  196. package/dist/le-kit/p-eb5286f2.entry.js.map +1 -0
  197. package/dist/le-kit/p-eb710c8e.entry.js +2 -0
  198. package/dist/le-kit/p-eb710c8e.entry.js.map +1 -0
  199. package/dist/le-kit/{p-5d72c894.entry.js → p-f78b1ee6.entry.js} +2 -2
  200. package/dist/le-kit/p-f78b1ee6.entry.js.map +1 -0
  201. package/dist/themes/dark.css +1 -0
  202. package/dist/themes/default.css +1 -0
  203. package/dist/themes/gradient.css +1 -0
  204. package/dist/themes/minimal.css +1 -0
  205. package/dist/themes/warm.css +1 -0
  206. package/dist/types/components/le-code-input/le-code-input.d.ts +102 -0
  207. package/dist/types/components/le-side-panel/le-side-panel.d.ts +100 -0
  208. package/dist/types/components/le-side-panel-toggle/le-side-panel-toggle.d.ts +48 -0
  209. package/dist/types/components.d.ts +519 -2
  210. package/package.json +7 -5
  211. package/dist/cjs/index-BPF04Jvb.js.map +0 -1
  212. package/dist/esm/index-C-Chwj1b.js.map +0 -1
  213. package/dist/le-kit/p-05ccab91.entry.js +0 -2
  214. package/dist/le-kit/p-05ccab91.entry.js.map +0 -1
  215. package/dist/le-kit/p-06d2d79c.entry.js +0 -2
  216. package/dist/le-kit/p-33c2168a.entry.js +0 -2
  217. package/dist/le-kit/p-3ceede4e.entry.js +0 -2
  218. package/dist/le-kit/p-4a45ff67.entry.js +0 -2
  219. package/dist/le-kit/p-5d72c894.entry.js.map +0 -1
  220. package/dist/le-kit/p-C-Chwj1b.js.map +0 -1
  221. package/dist/le-kit/p-e1846fc2.entry.js +0 -2
  222. package/dist/le-kit/p-ea71f22c.entry.js.map +0 -1
  223. package/dist/le-kit/p-f8034500.entry.js +0 -2
  224. /package/dist/collection/components/le-box/{le-box.default.css → le-box.css} +0 -0
  225. /package/dist/collection/components/le-card/{le-card.default.css → le-card.css} +0 -0
  226. /package/dist/collection/components/le-text/{le-text.default.css → le-text.css} +0 -0
  227. /package/dist/le-kit/{p-4a45ff67.entry.js.map → p-516c8531.entry.js.map} +0 -0
  228. /package/dist/le-kit/{p-2230ecd7.entry.js.map → p-7bcdf2d4.entry.js.map} +0 -0
  229. /package/dist/le-kit/{p-3d22aeb2.entry.js.map → p-7cf1e23c.entry.js.map} +0 -0
  230. /package/dist/le-kit/{p-e6b2cf9a.entry.js.map → p-85f2fd4d.entry.js.map} +0 -0
  231. /package/dist/le-kit/{p-68d836a3.entry.js.map → p-ab6c1def.entry.js.map} +0 -0
  232. /package/dist/le-kit/{p-3d873cdb.entry.js.map → p-ae4ead64.entry.js.map} +0 -0
  233. /package/dist/le-kit/{p-d161946c.entry.js.map → p-b05d4511.entry.js.map} +0 -0
  234. /package/dist/le-kit/{p-923828fe.entry.js.map → p-b6ac02ff.entry.js.map} +0 -0
  235. /package/dist/le-kit/{p-be2a7276.entry.js.map → p-dc0445ad.entry.js.map} +0 -0
@@ -0,0 +1,48 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export type LeSidePanelToggleAction = 'toggle' | 'open' | 'close';
3
+ export type LeSidePanelRequestToggleDetail = {
4
+ panelId?: string;
5
+ action: LeSidePanelToggleAction;
6
+ };
7
+ export declare class LeSidePanelToggle {
8
+ el: HTMLElement;
9
+ /** Optional id used to target a specific panel. */
10
+ panelId?: string;
11
+ /** Action to emit. Default toggles the panel. */
12
+ action: LeSidePanelToggleAction;
13
+ /** Optional keyboard shortcut like `Mod+B` or `Alt+N`. */
14
+ shortcut?: string;
15
+ /** Disables the toggle. */
16
+ disabled: boolean;
17
+ mode: 'default' | 'admin';
18
+ variant: 'solid' | 'outlined' | 'clear' | 'system';
19
+ color: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
20
+ size: 'small' | 'medium' | 'large';
21
+ selected: boolean;
22
+ fullWidth: boolean;
23
+ iconOnly?: string | Node;
24
+ iconStart?: string | Node;
25
+ iconEnd?: string | Node;
26
+ type: 'button' | 'submit' | 'reset';
27
+ href?: string;
28
+ target?: string;
29
+ align: 'start' | 'center' | 'space-between' | 'end';
30
+ leSidePanelRequestToggle: EventEmitter<LeSidePanelRequestToggleDetail>;
31
+ private shortcutSpec?;
32
+ private expanded;
33
+ private buttonEl?;
34
+ private forwardedNodes?;
35
+ protected onShortcutChanged(): void;
36
+ connectedCallback(): void;
37
+ componentDidLoad(): void;
38
+ componentDidRender(): void;
39
+ disconnectedCallback(): void;
40
+ private syncShortcutListener;
41
+ private getResolvedPanelId;
42
+ private emitRequest;
43
+ private onDocumentKeyDown;
44
+ private onPanelStateChange;
45
+ private syncForwardedNodesIntoButton;
46
+ private syncAriaExpanded;
47
+ render(): any;
48
+ }
@@ -10,11 +10,15 @@ import { LeMultiOptionSelectDetail, LeOption, LeOptionSelectDetail, LeOptionValu
10
10
  import { LeNavigationItemSelectDetail, LeNavigationItemToggleDetail } from "./components/le-navigation/le-navigation";
11
11
  import { LeKitMode } from "./global/app";
12
12
  import { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
13
+ import { LeSidePanelNarrowBehavior, LeSidePanelSide } from "./components/le-side-panel/le-side-panel";
14
+ import { LeSidePanelRequestToggleDetail, LeSidePanelToggleAction } from "./components/le-side-panel-toggle/le-side-panel-toggle";
13
15
  export { LeBarOverflowChangeDetail } from "./components/le-bar/le-bar";
14
16
  export { LeMultiOptionSelectDetail, LeOption, LeOptionSelectDetail, LeOptionValue } from "./types/options";
15
17
  export { LeNavigationItemSelectDetail, LeNavigationItemToggleDetail } from "./components/le-navigation/le-navigation";
16
18
  export { LeKitMode } from "./global/app";
17
19
  export { PopupPosition, PopupResult, PopupType } from "./components/le-popup/le-popup";
20
+ export { LeSidePanelNarrowBehavior, LeSidePanelSide } from "./components/le-side-panel/le-side-panel";
21
+ export { LeSidePanelRequestToggleDetail, LeSidePanelToggleAction } from "./components/le-side-panel-toggle/le-side-panel-toggle";
18
22
  export namespace Components {
19
23
  /**
20
24
  * A flexible bar component that handles overflow gracefully.
@@ -320,6 +324,65 @@ export namespace Components {
320
324
  */
321
325
  "value": string;
322
326
  }
327
+ /**
328
+ * A one-time code input component with individual frames for each character.
329
+ * Supports standard copy/paste and range selection behaviors.
330
+ * @cssprop --le-code-box-size - Size of each character box (default: 40px width, 48px height)
331
+ * @cssprop --le-input-bg - Input background color
332
+ * @cssprop --le-input-color - Input text color
333
+ * @cssprop --le-input-border - Input border style
334
+ * @cssprop --le-input-border-focus - Input border style when focused
335
+ * @cssprop --le-input-border-error - Input border style when invalid
336
+ * @cssprop --le-input-radius - Input border radius
337
+ */
338
+ interface LeCodeInput {
339
+ /**
340
+ * Description text displayed below the input in case there is a more complex markup, it can be provided via slot as well
341
+ */
342
+ "description"?: string;
343
+ /**
344
+ * Whether the input is disabled
345
+ * @default false
346
+ */
347
+ "disabled": boolean;
348
+ /**
349
+ * Internal validation state (can be set externally manually or via simple check)
350
+ * @default false
351
+ */
352
+ "error": boolean;
353
+ /**
354
+ * External ID for linking with external systems
355
+ */
356
+ "externalId": string;
357
+ /**
358
+ * Label for the input
359
+ */
360
+ "label": string;
361
+ /**
362
+ * Length of the code (number of characters)
363
+ * @default 6
364
+ */
365
+ "length": number;
366
+ /**
367
+ * The name of the input
368
+ */
369
+ "name": string;
370
+ /**
371
+ * Whether the input is read-only
372
+ * @default false
373
+ */
374
+ "readonly": boolean;
375
+ /**
376
+ * The type of code (numeric or alphanumeric) This affects the keyboard layout on mobile devices.
377
+ * @default 'text'
378
+ */
379
+ "type": 'text' | 'number';
380
+ /**
381
+ * The value of the input
382
+ * @default ''
383
+ */
384
+ "value": string;
385
+ }
323
386
  /**
324
387
  * Animated show/hide wrapper.
325
388
  * Supports height collapse (auto->0) and/or fading.
@@ -1252,6 +1315,134 @@ export namespace Components {
1252
1315
  */
1253
1316
  "variant": 'default' | 'outlined' | 'solid';
1254
1317
  }
1318
+ interface LeSidePanel {
1319
+ /**
1320
+ * When crossing to narrow mode, automatically hide the panel (open=false).
1321
+ * @default true
1322
+ */
1323
+ "autoHideOnNarrow": boolean;
1324
+ /**
1325
+ * When crossing to wide mode, automatically show the panel (collapsed=false).
1326
+ * @default true
1327
+ */
1328
+ "autoShowOnWide": boolean;
1329
+ /**
1330
+ * Width breakpoint (in px or a CSS var like `--le-breakpoint-md`) below which the panel enters "narrow" mode.
1331
+ */
1332
+ "collapseAt"?: string;
1333
+ /**
1334
+ * Panel collapsed state for wide mode (fully hidden).
1335
+ * @default false
1336
+ */
1337
+ "collapsed": boolean;
1338
+ /**
1339
+ * Maximum allowed width when resizable.
1340
+ * @default 420
1341
+ */
1342
+ "maxPanelWidth": number;
1343
+ /**
1344
+ * Minimum allowed width when resizable.
1345
+ * @default 220
1346
+ */
1347
+ "minPanelWidth": number;
1348
+ /**
1349
+ * Behavior when in narrow mode.
1350
+ * @default 'overlay'
1351
+ */
1352
+ "narrowBehavior": LeSidePanelNarrowBehavior;
1353
+ /**
1354
+ * Panel open state for narrow mode. - overlay: controls modal drawer visibility - push: controls whether panel is shown (non-modal)
1355
+ * @default false
1356
+ */
1357
+ "open": boolean;
1358
+ /**
1359
+ * Optional id used to match toggle requests. If set, the panel only responds to toggle events with the same `panelId`.
1360
+ */
1361
+ "panelId"?: string;
1362
+ /**
1363
+ * Accessible label for the panel navigation region.
1364
+ * @default 'Navigation'
1365
+ */
1366
+ "panelLabel": string;
1367
+ /**
1368
+ * Default panel width in pixels.
1369
+ * @default 280
1370
+ */
1371
+ "panelWidth": number;
1372
+ /**
1373
+ * When set, panel width + collapsed state are persisted in localStorage.
1374
+ */
1375
+ "persistKey"?: string;
1376
+ /**
1377
+ * Allows users to resize the panel by dragging its edge.
1378
+ * @default false
1379
+ */
1380
+ "resizable": boolean;
1381
+ /**
1382
+ * Show a close button inside the panel (primarily used in narrow overlay mode).
1383
+ * @default true
1384
+ */
1385
+ "showCloseButton": boolean;
1386
+ /**
1387
+ * Which side the panel is attached to.
1388
+ * @default 'start'
1389
+ */
1390
+ "side": LeSidePanelSide;
1391
+ }
1392
+ interface LeSidePanelToggle {
1393
+ /**
1394
+ * Action to emit. Default toggles the panel.
1395
+ * @default 'toggle'
1396
+ */
1397
+ "action": LeSidePanelToggleAction;
1398
+ /**
1399
+ * @default 'center'
1400
+ */
1401
+ "align": 'start' | 'center' | 'space-between' | 'end';
1402
+ /**
1403
+ * @default 'primary'
1404
+ */
1405
+ "color": 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
1406
+ /**
1407
+ * Disables the toggle.
1408
+ * @default false
1409
+ */
1410
+ "disabled": boolean;
1411
+ /**
1412
+ * @default false
1413
+ */
1414
+ "fullWidth": boolean;
1415
+ "href"?: string;
1416
+ "iconEnd"?: string | Node;
1417
+ "iconOnly"?: string | Node;
1418
+ "iconStart"?: string | Node;
1419
+ "mode": 'default' | 'admin';
1420
+ /**
1421
+ * Optional id used to target a specific panel.
1422
+ */
1423
+ "panelId"?: string;
1424
+ /**
1425
+ * @default false
1426
+ */
1427
+ "selected": boolean;
1428
+ /**
1429
+ * Optional keyboard shortcut like `Mod+B` or `Alt+N`.
1430
+ */
1431
+ "shortcut"?: string;
1432
+ /**
1433
+ * @default 'medium'
1434
+ */
1435
+ "size": 'small' | 'medium' | 'large';
1436
+ "target"?: string;
1437
+ /**
1438
+ * @default 'button'
1439
+ */
1440
+ "type": 'button' | 'submit' | 'reset';
1441
+ /**
1442
+ * @default 'solid'
1443
+ */
1444
+ "variant": 'solid' | 'outlined' | 'clear' | 'system';
1445
+ }
1255
1446
  /**
1256
1447
  * Slot placeholder component for admin/CMS mode.
1257
1448
  * This component renders a visual placeholder for slots when in admin mode,
@@ -1821,7 +2012,17 @@ export namespace Components {
1821
2012
  * @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
1822
2013
  * @default 'p'
1823
2014
  */
1824
- "variant": 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'code' | 'quote' | 'label' | 'small';
2015
+ "variant": | 'p'
2016
+ | 'h1'
2017
+ | 'h2'
2018
+ | 'h3'
2019
+ | 'h4'
2020
+ | 'h5'
2021
+ | 'h6'
2022
+ | 'code'
2023
+ | 'quote'
2024
+ | 'label'
2025
+ | 'small';
1825
2026
  }
1826
2027
  interface LeTurntable {
1827
2028
  /**
@@ -1846,6 +2047,10 @@ export interface LeCheckboxCustomEvent<T> extends CustomEvent<T> {
1846
2047
  detail: T;
1847
2048
  target: HTMLLeCheckboxElement;
1848
2049
  }
2050
+ export interface LeCodeInputCustomEvent<T> extends CustomEvent<T> {
2051
+ detail: T;
2052
+ target: HTMLLeCodeInputElement;
2053
+ }
1849
2054
  export interface LeComboboxCustomEvent<T> extends CustomEvent<T> {
1850
2055
  detail: T;
1851
2056
  target: HTMLLeComboboxElement;
@@ -1886,6 +2091,14 @@ export interface LeSelectCustomEvent<T> extends CustomEvent<T> {
1886
2091
  detail: T;
1887
2092
  target: HTMLLeSelectElement;
1888
2093
  }
2094
+ export interface LeSidePanelCustomEvent<T> extends CustomEvent<T> {
2095
+ detail: T;
2096
+ target: HTMLLeSidePanelElement;
2097
+ }
2098
+ export interface LeSidePanelToggleCustomEvent<T> extends CustomEvent<T> {
2099
+ detail: T;
2100
+ target: HTMLLeSidePanelToggleElement;
2101
+ }
1889
2102
  export interface LeSlotCustomEvent<T> extends CustomEvent<T> {
1890
2103
  detail: T;
1891
2104
  target: HTMLLeSlotElement;
@@ -2038,6 +2251,37 @@ declare global {
2038
2251
  prototype: HTMLLeCheckboxElement;
2039
2252
  new (): HTMLLeCheckboxElement;
2040
2253
  };
2254
+ interface HTMLLeCodeInputElementEventMap {
2255
+ "leChange": { value: string; name: string; externalId: string };
2256
+ "leInput": { value: string; name: string; externalId: string };
2257
+ "leFocus": void;
2258
+ "leBlur": void;
2259
+ }
2260
+ /**
2261
+ * A one-time code input component with individual frames for each character.
2262
+ * Supports standard copy/paste and range selection behaviors.
2263
+ * @cssprop --le-code-box-size - Size of each character box (default: 40px width, 48px height)
2264
+ * @cssprop --le-input-bg - Input background color
2265
+ * @cssprop --le-input-color - Input text color
2266
+ * @cssprop --le-input-border - Input border style
2267
+ * @cssprop --le-input-border-focus - Input border style when focused
2268
+ * @cssprop --le-input-border-error - Input border style when invalid
2269
+ * @cssprop --le-input-radius - Input border radius
2270
+ */
2271
+ interface HTMLLeCodeInputElement extends Components.LeCodeInput, HTMLStencilElement {
2272
+ addEventListener<K extends keyof HTMLLeCodeInputElementEventMap>(type: K, listener: (this: HTMLLeCodeInputElement, ev: LeCodeInputCustomEvent<HTMLLeCodeInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2273
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2274
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2275
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2276
+ removeEventListener<K extends keyof HTMLLeCodeInputElementEventMap>(type: K, listener: (this: HTMLLeCodeInputElement, ev: LeCodeInputCustomEvent<HTMLLeCodeInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2277
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2278
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2279
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2280
+ }
2281
+ var HTMLLeCodeInputElement: {
2282
+ prototype: HTMLLeCodeInputElement;
2283
+ new (): HTMLLeCodeInputElement;
2284
+ };
2041
2285
  /**
2042
2286
  * Animated show/hide wrapper.
2043
2287
  * Supports height collapse (auto->0) and/or fading.
@@ -2507,6 +2751,42 @@ declare global {
2507
2751
  prototype: HTMLLeSelectElement;
2508
2752
  new (): HTMLLeSelectElement;
2509
2753
  };
2754
+ interface HTMLLeSidePanelElementEventMap {
2755
+ "leSidePanelOpenChange": { open: boolean; panelId?: string };
2756
+ "leSidePanelCollapsedChange": { collapsed: boolean; panelId?: string };
2757
+ "leSidePanelWidthChange": { width: number; panelId?: string };
2758
+ }
2759
+ interface HTMLLeSidePanelElement extends Components.LeSidePanel, HTMLStencilElement {
2760
+ addEventListener<K extends keyof HTMLLeSidePanelElementEventMap>(type: K, listener: (this: HTMLLeSidePanelElement, ev: LeSidePanelCustomEvent<HTMLLeSidePanelElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2761
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2762
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2763
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2764
+ removeEventListener<K extends keyof HTMLLeSidePanelElementEventMap>(type: K, listener: (this: HTMLLeSidePanelElement, ev: LeSidePanelCustomEvent<HTMLLeSidePanelElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2765
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2766
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2767
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2768
+ }
2769
+ var HTMLLeSidePanelElement: {
2770
+ prototype: HTMLLeSidePanelElement;
2771
+ new (): HTMLLeSidePanelElement;
2772
+ };
2773
+ interface HTMLLeSidePanelToggleElementEventMap {
2774
+ "leSidePanelRequestToggle": LeSidePanelRequestToggleDetail;
2775
+ }
2776
+ interface HTMLLeSidePanelToggleElement extends Components.LeSidePanelToggle, HTMLStencilElement {
2777
+ addEventListener<K extends keyof HTMLLeSidePanelToggleElementEventMap>(type: K, listener: (this: HTMLLeSidePanelToggleElement, ev: LeSidePanelToggleCustomEvent<HTMLLeSidePanelToggleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2778
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2779
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2780
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2781
+ removeEventListener<K extends keyof HTMLLeSidePanelToggleElementEventMap>(type: K, listener: (this: HTMLLeSidePanelToggleElement, ev: LeSidePanelToggleCustomEvent<HTMLLeSidePanelToggleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2782
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2783
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2784
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2785
+ }
2786
+ var HTMLLeSidePanelToggleElement: {
2787
+ prototype: HTMLLeSidePanelToggleElement;
2788
+ new (): HTMLLeSidePanelToggleElement;
2789
+ };
2510
2790
  interface HTMLLeSlotElementEventMap {
2511
2791
  "leSlotChange": { name: string; value: string; isValid: boolean };
2512
2792
  }
@@ -2776,6 +3056,7 @@ declare global {
2776
3056
  "le-button": HTMLLeButtonElement;
2777
3057
  "le-card": HTMLLeCardElement;
2778
3058
  "le-checkbox": HTMLLeCheckboxElement;
3059
+ "le-code-input": HTMLLeCodeInputElement;
2779
3060
  "le-collapse": HTMLLeCollapseElement;
2780
3061
  "le-combobox": HTMLLeComboboxElement;
2781
3062
  "le-component": HTMLLeComponentElement;
@@ -2793,6 +3074,8 @@ declare global {
2793
3074
  "le-scroll-progress": HTMLLeScrollProgressElement;
2794
3075
  "le-segmented-control": HTMLLeSegmentedControlElement;
2795
3076
  "le-select": HTMLLeSelectElement;
3077
+ "le-side-panel": HTMLLeSidePanelElement;
3078
+ "le-side-panel-toggle": HTMLLeSidePanelToggleElement;
2796
3079
  "le-slot": HTMLLeSlotElement;
2797
3080
  "le-stack": HTMLLeStackElement;
2798
3081
  "le-string-input": HTMLLeStringInputElement;
@@ -3118,6 +3401,81 @@ declare namespace LocalJSX {
3118
3401
  */
3119
3402
  "value"?: string;
3120
3403
  }
3404
+ /**
3405
+ * A one-time code input component with individual frames for each character.
3406
+ * Supports standard copy/paste and range selection behaviors.
3407
+ * @cssprop --le-code-box-size - Size of each character box (default: 40px width, 48px height)
3408
+ * @cssprop --le-input-bg - Input background color
3409
+ * @cssprop --le-input-color - Input text color
3410
+ * @cssprop --le-input-border - Input border style
3411
+ * @cssprop --le-input-border-focus - Input border style when focused
3412
+ * @cssprop --le-input-border-error - Input border style when invalid
3413
+ * @cssprop --le-input-radius - Input border radius
3414
+ */
3415
+ interface LeCodeInput {
3416
+ /**
3417
+ * Description text displayed below the input in case there is a more complex markup, it can be provided via slot as well
3418
+ */
3419
+ "description"?: string;
3420
+ /**
3421
+ * Whether the input is disabled
3422
+ * @default false
3423
+ */
3424
+ "disabled"?: boolean;
3425
+ /**
3426
+ * Internal validation state (can be set externally manually or via simple check)
3427
+ * @default false
3428
+ */
3429
+ "error"?: boolean;
3430
+ /**
3431
+ * External ID for linking with external systems
3432
+ */
3433
+ "externalId"?: string;
3434
+ /**
3435
+ * Label for the input
3436
+ */
3437
+ "label"?: string;
3438
+ /**
3439
+ * Length of the code (number of characters)
3440
+ * @default 6
3441
+ */
3442
+ "length"?: number;
3443
+ /**
3444
+ * The name of the input
3445
+ */
3446
+ "name"?: string;
3447
+ /**
3448
+ * Emitted when the input is blurred
3449
+ */
3450
+ "onLeBlur"?: (event: LeCodeInputCustomEvent<void>) => void;
3451
+ /**
3452
+ * Emitted when the value changes (on blur or Enter)
3453
+ */
3454
+ "onLeChange"?: (event: LeCodeInputCustomEvent<{ value: string; name: string; externalId: string }>) => void;
3455
+ /**
3456
+ * Emitted when the input is focused
3457
+ */
3458
+ "onLeFocus"?: (event: LeCodeInputCustomEvent<void>) => void;
3459
+ /**
3460
+ * Emitted when the input value changes (on keystroke)
3461
+ */
3462
+ "onLeInput"?: (event: LeCodeInputCustomEvent<{ value: string; name: string; externalId: string }>) => void;
3463
+ /**
3464
+ * Whether the input is read-only
3465
+ * @default false
3466
+ */
3467
+ "readonly"?: boolean;
3468
+ /**
3469
+ * The type of code (numeric or alphanumeric) This affects the keyboard layout on mobile devices.
3470
+ * @default 'text'
3471
+ */
3472
+ "type"?: 'text' | 'number';
3473
+ /**
3474
+ * The value of the input
3475
+ * @default ''
3476
+ */
3477
+ "value"?: string;
3478
+ }
3121
3479
  /**
3122
3480
  * Animated show/hide wrapper.
3123
3481
  * Supports height collapse (auto->0) and/or fading.
@@ -4095,6 +4453,138 @@ declare namespace LocalJSX {
4095
4453
  */
4096
4454
  "variant"?: 'default' | 'outlined' | 'solid';
4097
4455
  }
4456
+ interface LeSidePanel {
4457
+ /**
4458
+ * When crossing to narrow mode, automatically hide the panel (open=false).
4459
+ * @default true
4460
+ */
4461
+ "autoHideOnNarrow"?: boolean;
4462
+ /**
4463
+ * When crossing to wide mode, automatically show the panel (collapsed=false).
4464
+ * @default true
4465
+ */
4466
+ "autoShowOnWide"?: boolean;
4467
+ /**
4468
+ * Width breakpoint (in px or a CSS var like `--le-breakpoint-md`) below which the panel enters "narrow" mode.
4469
+ */
4470
+ "collapseAt"?: string;
4471
+ /**
4472
+ * Panel collapsed state for wide mode (fully hidden).
4473
+ * @default false
4474
+ */
4475
+ "collapsed"?: boolean;
4476
+ /**
4477
+ * Maximum allowed width when resizable.
4478
+ * @default 420
4479
+ */
4480
+ "maxPanelWidth"?: number;
4481
+ /**
4482
+ * Minimum allowed width when resizable.
4483
+ * @default 220
4484
+ */
4485
+ "minPanelWidth"?: number;
4486
+ /**
4487
+ * Behavior when in narrow mode.
4488
+ * @default 'overlay'
4489
+ */
4490
+ "narrowBehavior"?: LeSidePanelNarrowBehavior;
4491
+ "onLeSidePanelCollapsedChange"?: (event: LeSidePanelCustomEvent<{ collapsed: boolean; panelId?: string }>) => void;
4492
+ "onLeSidePanelOpenChange"?: (event: LeSidePanelCustomEvent<{ open: boolean; panelId?: string }>) => void;
4493
+ "onLeSidePanelWidthChange"?: (event: LeSidePanelCustomEvent<{ width: number; panelId?: string }>) => void;
4494
+ /**
4495
+ * Panel open state for narrow mode. - overlay: controls modal drawer visibility - push: controls whether panel is shown (non-modal)
4496
+ * @default false
4497
+ */
4498
+ "open"?: boolean;
4499
+ /**
4500
+ * Optional id used to match toggle requests. If set, the panel only responds to toggle events with the same `panelId`.
4501
+ */
4502
+ "panelId"?: string;
4503
+ /**
4504
+ * Accessible label for the panel navigation region.
4505
+ * @default 'Navigation'
4506
+ */
4507
+ "panelLabel"?: string;
4508
+ /**
4509
+ * Default panel width in pixels.
4510
+ * @default 280
4511
+ */
4512
+ "panelWidth"?: number;
4513
+ /**
4514
+ * When set, panel width + collapsed state are persisted in localStorage.
4515
+ */
4516
+ "persistKey"?: string;
4517
+ /**
4518
+ * Allows users to resize the panel by dragging its edge.
4519
+ * @default false
4520
+ */
4521
+ "resizable"?: boolean;
4522
+ /**
4523
+ * Show a close button inside the panel (primarily used in narrow overlay mode).
4524
+ * @default true
4525
+ */
4526
+ "showCloseButton"?: boolean;
4527
+ /**
4528
+ * Which side the panel is attached to.
4529
+ * @default 'start'
4530
+ */
4531
+ "side"?: LeSidePanelSide;
4532
+ }
4533
+ interface LeSidePanelToggle {
4534
+ /**
4535
+ * Action to emit. Default toggles the panel.
4536
+ * @default 'toggle'
4537
+ */
4538
+ "action"?: LeSidePanelToggleAction;
4539
+ /**
4540
+ * @default 'center'
4541
+ */
4542
+ "align"?: 'start' | 'center' | 'space-between' | 'end';
4543
+ /**
4544
+ * @default 'primary'
4545
+ */
4546
+ "color"?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
4547
+ /**
4548
+ * Disables the toggle.
4549
+ * @default false
4550
+ */
4551
+ "disabled"?: boolean;
4552
+ /**
4553
+ * @default false
4554
+ */
4555
+ "fullWidth"?: boolean;
4556
+ "href"?: string;
4557
+ "iconEnd"?: string | Node;
4558
+ "iconOnly"?: string | Node;
4559
+ "iconStart"?: string | Node;
4560
+ "mode"?: 'default' | 'admin';
4561
+ "onLeSidePanelRequestToggle"?: (event: LeSidePanelToggleCustomEvent<LeSidePanelRequestToggleDetail>) => void;
4562
+ /**
4563
+ * Optional id used to target a specific panel.
4564
+ */
4565
+ "panelId"?: string;
4566
+ /**
4567
+ * @default false
4568
+ */
4569
+ "selected"?: boolean;
4570
+ /**
4571
+ * Optional keyboard shortcut like `Mod+B` or `Alt+N`.
4572
+ */
4573
+ "shortcut"?: string;
4574
+ /**
4575
+ * @default 'medium'
4576
+ */
4577
+ "size"?: 'small' | 'medium' | 'large';
4578
+ "target"?: string;
4579
+ /**
4580
+ * @default 'button'
4581
+ */
4582
+ "type"?: 'button' | 'submit' | 'reset';
4583
+ /**
4584
+ * @default 'solid'
4585
+ */
4586
+ "variant"?: 'solid' | 'outlined' | 'clear' | 'system';
4587
+ }
4098
4588
  /**
4099
4589
  * Slot placeholder component for admin/CMS mode.
4100
4590
  * This component renders a visual placeholder for slots when in admin mode,
@@ -4684,7 +5174,17 @@ declare namespace LocalJSX {
4684
5174
  * @allowedValues p | h1 | h2 | h3 | h4 | h5 | h6 | code | quote | label | small
4685
5175
  * @default 'p'
4686
5176
  */
4687
- "variant"?: 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'code' | 'quote' | 'label' | 'small';
5177
+ "variant"?: | 'p'
5178
+ | 'h1'
5179
+ | 'h2'
5180
+ | 'h3'
5181
+ | 'h4'
5182
+ | 'h5'
5183
+ | 'h6'
5184
+ | 'code'
5185
+ | 'quote'
5186
+ | 'label'
5187
+ | 'small';
4688
5188
  }
4689
5189
  interface LeTurntable {
4690
5190
  /**
@@ -4702,6 +5202,7 @@ declare namespace LocalJSX {
4702
5202
  "le-button": LeButton;
4703
5203
  "le-card": LeCard;
4704
5204
  "le-checkbox": LeCheckbox;
5205
+ "le-code-input": LeCodeInput;
4705
5206
  "le-collapse": LeCollapse;
4706
5207
  "le-combobox": LeCombobox;
4707
5208
  "le-component": LeComponent;
@@ -4719,6 +5220,8 @@ declare namespace LocalJSX {
4719
5220
  "le-scroll-progress": LeScrollProgress;
4720
5221
  "le-segmented-control": LeSegmentedControl;
4721
5222
  "le-select": LeSelect;
5223
+ "le-side-panel": LeSidePanel;
5224
+ "le-side-panel-toggle": LeSidePanelToggle;
4722
5225
  "le-slot": LeSlot;
4723
5226
  "le-stack": LeStack;
4724
5227
  "le-string-input": LeStringInput;
@@ -4804,6 +5307,18 @@ declare module "@stencil/core" {
4804
5307
  * @cssprop --le-checkbox-desc-color - Color of the description text
4805
5308
  */
4806
5309
  "le-checkbox": LocalJSX.LeCheckbox & JSXBase.HTMLAttributes<HTMLLeCheckboxElement>;
5310
+ /**
5311
+ * A one-time code input component with individual frames for each character.
5312
+ * Supports standard copy/paste and range selection behaviors.
5313
+ * @cssprop --le-code-box-size - Size of each character box (default: 40px width, 48px height)
5314
+ * @cssprop --le-input-bg - Input background color
5315
+ * @cssprop --le-input-color - Input text color
5316
+ * @cssprop --le-input-border - Input border style
5317
+ * @cssprop --le-input-border-focus - Input border style when focused
5318
+ * @cssprop --le-input-border-error - Input border style when invalid
5319
+ * @cssprop --le-input-radius - Input border radius
5320
+ */
5321
+ "le-code-input": LocalJSX.LeCodeInput & JSXBase.HTMLAttributes<HTMLLeCodeInputElement>;
4807
5322
  /**
4808
5323
  * Animated show/hide wrapper.
4809
5324
  * Supports height collapse (auto->0) and/or fading.
@@ -5056,6 +5571,8 @@ declare module "@stencil/core" {
5056
5571
  * ```
5057
5572
  */
5058
5573
  "le-select": LocalJSX.LeSelect & JSXBase.HTMLAttributes<HTMLLeSelectElement>;
5574
+ "le-side-panel": LocalJSX.LeSidePanel & JSXBase.HTMLAttributes<HTMLLeSidePanelElement>;
5575
+ "le-side-panel-toggle": LocalJSX.LeSidePanelToggle & JSXBase.HTMLAttributes<HTMLLeSidePanelToggleElement>;
5059
5576
  /**
5060
5577
  * Slot placeholder component for admin/CMS mode.
5061
5578
  * This component renders a visual placeholder for slots when in admin mode,