luxen-ui 0.6.2 → 0.8.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 (270) hide show
  1. package/bin/cli.mjs +54 -10
  2. package/cdn/chunks/decorate.js +1 -1
  3. package/cdn/chunks/floating-ui.dom.js +2 -0
  4. package/cdn/chunks/floating-ui.dom.js.map +1 -0
  5. package/cdn/chunks/lit-html.js +3 -0
  6. package/cdn/chunks/lit-html.js.map +1 -0
  7. package/cdn/chunks/lit.js +1 -2
  8. package/cdn/chunks/lit.js.map +1 -1
  9. package/cdn/chunks/module.js +717 -0
  10. package/cdn/chunks/module.js.map +1 -0
  11. package/cdn/chunks/native.js +2 -0
  12. package/cdn/chunks/native.js.map +1 -0
  13. package/cdn/chunks/static-html.js +2 -0
  14. package/cdn/chunks/static-html.js.map +1 -0
  15. package/cdn/custom-elements.json +1412 -12629
  16. package/cdn/elements/avatar/avatar.d.ts +5 -0
  17. package/cdn/elements/avatar/avatar.d.ts.map +1 -1
  18. package/cdn/elements/avatar/avatar.js +5 -5
  19. package/cdn/elements/avatar/avatar.js.map +1 -1
  20. package/cdn/elements/button/button.meta.d.ts +33 -0
  21. package/cdn/elements/button/button.meta.d.ts.map +1 -0
  22. package/cdn/elements/button/button.meta.js +0 -0
  23. package/cdn/elements/carousel/carousel.d.ts +6 -0
  24. package/cdn/elements/carousel/carousel.d.ts.map +1 -1
  25. package/cdn/elements/carousel/carousel.js +1 -1
  26. package/cdn/elements/carousel/carousel.js.map +1 -1
  27. package/cdn/elements/carousel-item/carousel-item.d.ts +2 -0
  28. package/cdn/elements/carousel-item/carousel-item.d.ts.map +1 -1
  29. package/cdn/elements/carousel-item/carousel-item.js +1 -1
  30. package/cdn/elements/carousel-item/carousel-item.js.map +1 -1
  31. package/cdn/elements/close-button/close-button.meta.d.ts +24 -0
  32. package/cdn/elements/close-button/close-button.meta.d.ts.map +1 -0
  33. package/cdn/elements/close-button/close-button.meta.js +0 -0
  34. package/cdn/elements/dialog/dialog.d.ts +12 -6
  35. package/cdn/elements/dialog/dialog.d.ts.map +1 -1
  36. package/cdn/elements/dialog/dialog.js +8 -5
  37. package/cdn/elements/dialog/dialog.js.map +1 -1
  38. package/cdn/elements/dialog/dialog.styles.js +1 -1
  39. package/cdn/elements/dialog/dialog.styles.js.map +1 -1
  40. package/cdn/elements/disclosure/disclosure.meta.d.ts +28 -0
  41. package/cdn/elements/disclosure/disclosure.meta.d.ts.map +1 -0
  42. package/cdn/elements/disclosure/disclosure.meta.js +0 -0
  43. package/cdn/elements/divider/divider.d.ts +1 -1
  44. package/cdn/elements/divider/divider.js.map +1 -1
  45. package/cdn/elements/drawer/drawer.d.ts +5 -0
  46. package/cdn/elements/drawer/drawer.d.ts.map +1 -1
  47. package/cdn/elements/drawer/drawer.js +1 -1
  48. package/cdn/elements/drawer/drawer.js.map +1 -1
  49. package/cdn/elements/dropdown/dropdown.d.ts +2 -0
  50. package/cdn/elements/dropdown/dropdown.d.ts.map +1 -1
  51. package/cdn/elements/dropdown/dropdown.js +1 -1
  52. package/cdn/elements/dropdown/dropdown.js.map +1 -1
  53. package/cdn/elements/dropdown-item/dropdown-item.d.ts +2 -0
  54. package/cdn/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  55. package/cdn/elements/dropdown-item/dropdown-item.js +1 -1
  56. package/cdn/elements/dropdown-item/dropdown-item.js.map +1 -1
  57. package/cdn/elements/icon/icon.js +1 -1
  58. package/cdn/elements/icon/icon.js.map +1 -1
  59. package/cdn/elements/input-otp/input-otp.d.ts +2 -0
  60. package/cdn/elements/input-otp/input-otp.d.ts.map +1 -1
  61. package/cdn/elements/input-otp/input-otp.js.map +1 -1
  62. package/cdn/elements/input-stepper/input-stepper.d.ts +2 -0
  63. package/cdn/elements/input-stepper/input-stepper.d.ts.map +1 -1
  64. package/cdn/elements/input-stepper/input-stepper.js +1 -1
  65. package/cdn/elements/input-stepper/input-stepper.js.map +1 -1
  66. package/cdn/elements/kbd/kbd.meta.d.ts +14 -0
  67. package/cdn/elements/kbd/kbd.meta.d.ts.map +1 -0
  68. package/cdn/elements/kbd/kbd.meta.js +0 -0
  69. package/cdn/elements/popover/popover.js +1 -1
  70. package/cdn/elements/popover/popover.js.map +1 -1
  71. package/cdn/elements/progress/progress.meta.d.ts +22 -0
  72. package/cdn/elements/progress/progress.meta.d.ts.map +1 -0
  73. package/cdn/elements/progress/progress.meta.js +0 -0
  74. package/cdn/elements/prose-editor/index.d.ts +2 -0
  75. package/cdn/elements/prose-editor/index.d.ts.map +1 -0
  76. package/cdn/elements/prose-editor/index.js +2 -0
  77. package/cdn/elements/prose-editor/index.js.map +1 -0
  78. package/cdn/elements/prose-editor/prose-editor.d.ts +113 -0
  79. package/cdn/elements/prose-editor/prose-editor.d.ts.map +1 -0
  80. package/cdn/elements/prose-editor/prose-editor.js +180 -0
  81. package/cdn/elements/prose-editor/prose-editor.js.map +1 -0
  82. package/cdn/elements/rating/rating.d.ts +2 -0
  83. package/cdn/elements/rating/rating.d.ts.map +1 -1
  84. package/cdn/elements/rating/rating.js +1 -1
  85. package/cdn/elements/rating/rating.js.map +1 -1
  86. package/cdn/elements/select/select.meta.d.ts +28 -0
  87. package/cdn/elements/select/select.meta.d.ts.map +1 -0
  88. package/cdn/elements/select/select.meta.js +0 -0
  89. package/cdn/elements/skeleton/skeleton.d.ts +3 -0
  90. package/cdn/elements/skeleton/skeleton.d.ts.map +1 -1
  91. package/cdn/elements/skeleton/skeleton.js.map +1 -1
  92. package/cdn/elements/spinner/spinner.js +1 -1
  93. package/cdn/elements/spinner/spinner.js.map +1 -1
  94. package/cdn/elements/sticky-bar/sticky-bar.js +1 -1
  95. package/cdn/elements/sticky-bar/sticky-bar.js.map +1 -1
  96. package/cdn/elements/stories-viewer/stories-viewer.d.ts +1 -1
  97. package/cdn/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
  98. package/cdn/elements/stories-viewer/stories-viewer.js +26 -26
  99. package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -1
  100. package/cdn/elements/story/story.d.ts +10 -1
  101. package/cdn/elements/story/story.d.ts.map +1 -1
  102. package/cdn/elements/story/story.js +20 -20
  103. package/cdn/elements/story/story.js.map +1 -1
  104. package/cdn/elements/toast/toast.d.ts +5 -0
  105. package/cdn/elements/toast/toast.d.ts.map +1 -1
  106. package/cdn/elements/toast/toast.js.map +1 -1
  107. package/cdn/elements/tooltip/tooltip.js +1 -1
  108. package/cdn/elements/tooltip/tooltip.js.map +1 -1
  109. package/cdn/elements/tree/tree.d.ts +2 -0
  110. package/cdn/elements/tree/tree.d.ts.map +1 -1
  111. package/cdn/elements/tree/tree.js +1 -1
  112. package/cdn/elements/tree/tree.js.map +1 -1
  113. package/cdn/elements/tree-item/tree-item.d.ts +2 -0
  114. package/cdn/elements/tree-item/tree-item.d.ts.map +1 -1
  115. package/cdn/elements/tree-item/tree-item.js +1 -1
  116. package/cdn/elements/tree-item/tree-item.js.map +1 -1
  117. package/cdn/registry.d.ts +1 -1
  118. package/cdn/registry.d.ts.map +1 -1
  119. package/cdn/registry.js.map +1 -1
  120. package/cdn/shared/controllers/has-slot-controller.d.ts +37 -0
  121. package/cdn/shared/controllers/has-slot-controller.d.ts.map +1 -0
  122. package/cdn/shared/controllers/has-slot-controller.js +2 -0
  123. package/cdn/shared/controllers/has-slot-controller.js.map +1 -0
  124. package/cdn/shared/controllers/popover.js +1 -1
  125. package/cdn/shared/controllers/popover.js.map +1 -1
  126. package/cdn/shared/styles/host.styles.js +1 -1
  127. package/cdn/standalone.css +132 -1
  128. package/cdn/standalone.js +25743 -191
  129. package/cdn/standalone.js.map +1 -1
  130. package/cdn/static-tag.d.ts +17 -0
  131. package/cdn/static-tag.d.ts.map +1 -0
  132. package/cdn/static-tag.js +2 -0
  133. package/cdn/static-tag.js.map +1 -0
  134. package/cdn/styles/elements/prose-editor.css +129 -0
  135. package/cdn/styles/elements/toast.css +1 -1
  136. package/dist/css/elements/prose-editor.css +129 -0
  137. package/dist/css/elements/toast.css +1 -1
  138. package/dist/custom-elements.json +1412 -12629
  139. package/dist/elements/avatar/avatar.d.ts +5 -0
  140. package/dist/elements/avatar/avatar.d.ts.map +1 -1
  141. package/dist/elements/avatar/avatar.js +5 -0
  142. package/dist/elements/button/button.meta.d.ts +33 -0
  143. package/dist/elements/button/button.meta.d.ts.map +1 -0
  144. package/dist/elements/button/button.meta.js +44 -0
  145. package/dist/elements/carousel/carousel.d.ts +6 -0
  146. package/dist/elements/carousel/carousel.d.ts.map +1 -1
  147. package/dist/elements/carousel/carousel.js +6 -0
  148. package/dist/elements/carousel-item/carousel-item.d.ts +2 -0
  149. package/dist/elements/carousel-item/carousel-item.d.ts.map +1 -1
  150. package/dist/elements/carousel-item/carousel-item.js +2 -0
  151. package/dist/elements/close-button/close-button.meta.d.ts +24 -0
  152. package/dist/elements/close-button/close-button.meta.d.ts.map +1 -0
  153. package/dist/elements/close-button/close-button.meta.js +30 -0
  154. package/dist/elements/dialog/dialog.css +15 -0
  155. package/dist/elements/dialog/dialog.d.ts +12 -6
  156. package/dist/elements/dialog/dialog.d.ts.map +1 -1
  157. package/dist/elements/dialog/dialog.js +21 -7
  158. package/dist/elements/disclosure/disclosure.meta.d.ts +28 -0
  159. package/dist/elements/disclosure/disclosure.meta.d.ts.map +1 -0
  160. package/dist/elements/disclosure/disclosure.meta.js +34 -0
  161. package/dist/elements/divider/divider.d.ts +1 -1
  162. package/dist/elements/divider/divider.js +1 -1
  163. package/dist/elements/drawer/drawer.d.ts +5 -0
  164. package/dist/elements/drawer/drawer.d.ts.map +1 -1
  165. package/dist/elements/drawer/drawer.js +5 -0
  166. package/dist/elements/dropdown/dropdown.d.ts +2 -0
  167. package/dist/elements/dropdown/dropdown.d.ts.map +1 -1
  168. package/dist/elements/dropdown/dropdown.js +2 -0
  169. package/dist/elements/dropdown-item/dropdown-item.d.ts +2 -0
  170. package/dist/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
  171. package/dist/elements/dropdown-item/dropdown-item.js +2 -0
  172. package/dist/elements/input-otp/input-otp.d.ts +2 -0
  173. package/dist/elements/input-otp/input-otp.d.ts.map +1 -1
  174. package/dist/elements/input-otp/input-otp.js +2 -0
  175. package/dist/elements/input-stepper/input-stepper.d.ts +2 -0
  176. package/dist/elements/input-stepper/input-stepper.d.ts.map +1 -1
  177. package/dist/elements/input-stepper/input-stepper.js +5 -1
  178. package/dist/elements/kbd/kbd.meta.d.ts +14 -0
  179. package/dist/elements/kbd/kbd.meta.d.ts.map +1 -0
  180. package/dist/elements/kbd/kbd.meta.js +20 -0
  181. package/dist/elements/progress/progress.meta.d.ts +22 -0
  182. package/dist/elements/progress/progress.meta.d.ts.map +1 -0
  183. package/dist/elements/progress/progress.meta.js +28 -0
  184. package/dist/elements/prose-editor/index.d.ts +2 -0
  185. package/dist/elements/prose-editor/index.d.ts.map +1 -0
  186. package/dist/elements/prose-editor/index.js +4 -0
  187. package/dist/elements/prose-editor/prose-editor.css +133 -0
  188. package/dist/elements/prose-editor/prose-editor.d.ts +114 -0
  189. package/dist/elements/prose-editor/prose-editor.d.ts.map +1 -0
  190. package/dist/elements/prose-editor/prose-editor.js +481 -0
  191. package/dist/elements/rating/rating.d.ts +2 -0
  192. package/dist/elements/rating/rating.d.ts.map +1 -1
  193. package/dist/elements/rating/rating.js +2 -0
  194. package/dist/elements/select/select.meta.d.ts +28 -0
  195. package/dist/elements/select/select.meta.d.ts.map +1 -0
  196. package/dist/elements/select/select.meta.js +34 -0
  197. package/dist/elements/skeleton/skeleton.d.ts +3 -0
  198. package/dist/elements/skeleton/skeleton.d.ts.map +1 -1
  199. package/dist/elements/skeleton/skeleton.js +3 -0
  200. package/dist/elements/stories-viewer/stories-viewer.d.ts +1 -1
  201. package/dist/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
  202. package/dist/elements/stories-viewer/stories-viewer.js +23 -19
  203. package/dist/elements/story/story.d.ts +10 -1
  204. package/dist/elements/story/story.d.ts.map +1 -1
  205. package/dist/elements/story/story.js +29 -17
  206. package/dist/elements/toast/toast.d.ts +5 -0
  207. package/dist/elements/toast/toast.d.ts.map +1 -1
  208. package/dist/elements/toast/toast.js +5 -0
  209. package/dist/elements/tree/tree.d.ts +2 -0
  210. package/dist/elements/tree/tree.d.ts.map +1 -1
  211. package/dist/elements/tree/tree.js +2 -0
  212. package/dist/elements/tree-item/tree-item.d.ts +2 -0
  213. package/dist/elements/tree-item/tree-item.d.ts.map +1 -1
  214. package/dist/elements/tree-item/tree-item.js +2 -0
  215. package/dist/metadata/avatar.json +83 -0
  216. package/dist/metadata/badge.json +59 -0
  217. package/dist/metadata/button.json +138 -0
  218. package/dist/metadata/carousel-item.json +32 -0
  219. package/dist/metadata/carousel.json +388 -0
  220. package/dist/metadata/close-button.json +90 -0
  221. package/dist/metadata/dialog.json +163 -0
  222. package/dist/metadata/disclosure.json +88 -0
  223. package/dist/metadata/divider.json +65 -0
  224. package/dist/metadata/drawer.json +176 -0
  225. package/dist/metadata/dropdown-item.json +85 -0
  226. package/dist/metadata/dropdown.json +157 -0
  227. package/dist/metadata/icon.json +49 -0
  228. package/dist/metadata/index.json +4062 -0
  229. package/dist/metadata/input-otp.json +86 -0
  230. package/dist/metadata/input-stepper.json +122 -0
  231. package/dist/metadata/kbd.json +37 -0
  232. package/dist/metadata/popover.json +157 -0
  233. package/dist/metadata/progress.json +71 -0
  234. package/dist/metadata/prose-editor.json +365 -0
  235. package/dist/metadata/rating.json +126 -0
  236. package/dist/metadata/select.json +82 -0
  237. package/dist/metadata/skeleton.json +56 -0
  238. package/dist/metadata/spinner.json +47 -0
  239. package/dist/metadata/sticky-bar.json +93 -0
  240. package/dist/metadata/stories-viewer.json +316 -0
  241. package/dist/metadata/stories.json +109 -0
  242. package/dist/metadata/story.json +148 -0
  243. package/dist/metadata/tabs.json +74 -0
  244. package/dist/metadata/toast.json +122 -0
  245. package/dist/metadata/tooltip.json +144 -0
  246. package/dist/metadata/tree-item.json +199 -0
  247. package/dist/metadata/tree.json +130 -0
  248. package/dist/registry.d.ts +1 -1
  249. package/dist/registry.d.ts.map +1 -1
  250. package/dist/shared/controllers/has-slot-controller.d.ts +37 -0
  251. package/dist/shared/controllers/has-slot-controller.d.ts.map +1 -0
  252. package/dist/shared/controllers/has-slot-controller.js +66 -0
  253. package/dist/static-tag.d.ts +17 -0
  254. package/dist/static-tag.d.ts.map +1 -0
  255. package/dist/static-tag.js +22 -0
  256. package/dist/templates/elements/avatar.md +21 -24
  257. package/dist/templates/elements/badge.md +9 -15
  258. package/dist/templates/elements/button.md +31 -41
  259. package/dist/templates/elements/close-button.md +24 -36
  260. package/dist/templates/elements/dialog.md +73 -54
  261. package/dist/templates/elements/drawer.md +39 -52
  262. package/dist/templates/elements/progress.md +13 -23
  263. package/dist/templates/elements/prose-editor.md +211 -0
  264. package/dist/templates/elements/select.md +20 -31
  265. package/dist/templates/elements/sticky-bar.md +16 -60
  266. package/dist/templates/elements/toast.md +33 -53
  267. package/dist/templates/elements/tree.md +39 -67
  268. package/elements.json +46 -1
  269. package/package.json +13 -3
  270. package/templates/SKILL.md.tpl +5 -1
@@ -4,10 +4,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, nothing, unsafeCSS } from 'lit';
7
+ import { nothing, unsafeCSS } from 'lit';
8
+ import { html } from 'lit/static-html.js';
8
9
  import { property, query, state } from 'lit/decorators.js';
9
10
  import { map } from 'lit/directives/map.js';
10
11
  import { LuxenElement } from '../../shared/luxen-element.js';
12
+ import { staticTag } from '../../static-tag.js';
11
13
  import hostStyles from '../../shared/styles/host.styles.js';
12
14
  import rawStyles from './stories-viewer.css?inline';
13
15
  const styles = unsafeCSS(rawStyles);
@@ -509,6 +511,8 @@ export class LuxenStoriesViewer extends LuxenElement {
509
511
  const chapterStarts = this._chapterStarts.length
510
512
  ? this._chapterStarts
511
513
  : (currentStory?.getChapterStarts() ?? [0]);
514
+ const iconTag = staticTag('icon');
515
+ const spinnerTag = staticTag('spinner');
512
516
  return html `
513
517
  <dialog
514
518
  part="dialog"
@@ -551,20 +555,20 @@ export class LuxenStoriesViewer extends LuxenElement {
551
555
  <slot name="header">
552
556
  ${currentStory?.poster
553
557
  ? html `<img
554
- class="header-thumb"
555
- src=${currentStory.poster}
556
- alt=""
557
- />`
558
+ class="header-thumb"
559
+ src=${currentStory.poster}
560
+ alt=""
561
+ />`
558
562
  : nothing}
559
563
  ${currentStory?.label
560
564
  ? html `<div class="header-text">
561
- <div
562
- part="header-label"
563
- class="header-label"
564
- >
565
- ${currentStory.label}
566
- </div>
567
- </div>`
565
+ <div
566
+ part="header-label"
567
+ class="header-label"
568
+ >
569
+ ${currentStory.label}
570
+ </div>
571
+ </div>`
568
572
  : nothing}
569
573
  </slot>
570
574
  </header>
@@ -582,7 +586,7 @@ export class LuxenStoriesViewer extends LuxenElement {
582
586
  aria-label="Close"
583
587
  @click=${() => this.close()}
584
588
  >
585
- <l-icon name="mdi:close"></l-icon>
589
+ <${iconTag} name="mdi:close"></${iconTag}>
586
590
  </button>
587
591
  </slot>
588
592
  <button
@@ -593,7 +597,7 @@ export class LuxenStoriesViewer extends LuxenElement {
593
597
  aria-pressed=${this._paused ? 'true' : 'false'}
594
598
  @click=${() => (this._paused ? this.play() : this.pause())}
595
599
  >
596
- <l-icon name=${this._paused ? 'mdi:play' : 'mdi:pause'}></l-icon>
600
+ <${iconTag} name=${this._paused ? 'mdi:play' : 'mdi:pause'}></${iconTag}>
597
601
  </button>
598
602
  <button
599
603
  type="button"
@@ -606,7 +610,7 @@ export class LuxenStoriesViewer extends LuxenElement {
606
610
  this.emit('mute-change', { detail: { muted: this.muted } });
607
611
  }}
608
612
  >
609
- <l-icon name=${this.muted ? 'mdi:volume-off' : 'mdi:volume-high'}></l-icon>
613
+ <${iconTag} name=${this.muted ? 'mdi:volume-off' : 'mdi:volume-high'}></${iconTag}>
610
614
  </button>
611
615
  </div>
612
616
 
@@ -618,13 +622,13 @@ export class LuxenStoriesViewer extends LuxenElement {
618
622
  ?muted=${this.muted}
619
623
  ></video>
620
624
 
621
- <l-spinner
625
+ <${spinnerTag}
622
626
  part="spinner"
623
627
  class="spinner"
624
628
  aria-label="Loading"
625
629
  data-no-gesture
626
630
  data-state=${this._loading ? 'loading' : 'idle'}
627
- ></l-spinner>
631
+ ></${spinnerTag}>
628
632
 
629
633
  <!-- Tap zones: invisible overlays that translate clicks into previous/next.
630
634
  Sit BELOW header / overlay / chevron buttons in z-order, above the video. -->
@@ -666,7 +670,7 @@ export class LuxenStoriesViewer extends LuxenElement {
666
670
  aria-label="Previous story"
667
671
  @click=${() => this.previousStory()}
668
672
  >
669
- <l-icon name="mdi:chevron-left"></l-icon>
673
+ <${iconTag} name="mdi:chevron-left"></${iconTag}>
670
674
  </button>`}
671
675
  ${isLastStory
672
676
  ? nothing
@@ -677,7 +681,7 @@ export class LuxenStoriesViewer extends LuxenElement {
677
681
  aria-label="Next story"
678
682
  @click=${() => this.nextStory()}
679
683
  >
680
- <l-icon name="mdi:chevron-right"></l-icon>
684
+ <${iconTag} name="mdi:chevron-right"></${iconTag}>
681
685
  </button>`}
682
686
  </dialog>
683
687
  `;
@@ -9,6 +9,15 @@ import { LuxenElement } from '../../shared/luxen-element.js';
9
9
  * @slot cta - Overlay surfaced by the viewer when this story is active (e.g. product card, link).
10
10
  * @slot header - Header overlay (e.g. avatar + author).
11
11
  *
12
+ * @cssproperty --pulse-color - Color of the attention pulse ring (only with the `pulse` attribute).
13
+ * @cssproperty --pulse-scale - Peak scale of the pulse animation. Default `1.2`.
14
+ * @cssproperty --pulse-duration - Duration of one pulse cycle. Default `1.6s`.
15
+ *
16
+ * @cssClass .l-story-trigger - The clickable thumbnail button wrapper.
17
+ * @cssClass .l-story-thumb - The poster/video thumbnail frame (ring + offset).
18
+ * @cssClass .l-story-play - The centered play-icon overlay.
19
+ * @cssClass .l-story-label - The caption text below the thumbnail.
20
+ *
12
21
  * @customElement l-story
13
22
  */
14
23
  export declare class LuxenStory extends LuxenElement {
@@ -38,6 +47,6 @@ export declare class LuxenStory extends LuxenElement {
38
47
  connectedCallback(): void;
39
48
  updated(changed: Map<string, unknown>): void;
40
49
  disconnectedCallback(): void;
41
- render(): import("lit").TemplateResult<1>;
50
+ render(): import("lit").TemplateResult;
42
51
  }
43
52
  //# sourceMappingURL=story.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/html/elements/story/story.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,qBAAa,UAAW,SAAQ,YAAY;IACjC,gBAAgB;IAIzB,iBAAiB;IAEjB,GAAG,SAAM;IAET,mEAAmE;IAEnE,MAAM,SAAM;IAEZ,0QAA0Q;IAE1Q,OAAO,SAAM;IAEb,qHAAqH;IAErH,KAAK,SAAM;IAEX,4FAA4F;IAE5F,QAAQ,SAAK;IAEb,iEAAiE;IAEjE,IAAI,UAAS;IAEb,mGAAmG;IAEnG,KAAK,UAAS;IAEd,oKAAoK;IAEpK,QAAQ,SAAM;IAEd,mDAAmD;IAEnD,MAAM,SAAM;IAEZ,gHAAgH;IAChH,gBAAgB,IAAI,MAAM,EAAE;IAWE,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEvE,OAAO,CAAC,GAAG,CAAC,CAAuB;IAE1B,iBAAiB;IAOjB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAwBrC,oBAAoB;IAKpB,MAAM;CAwChB"}
1
+ {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/html/elements/story/story.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,UAAW,SAAQ,YAAY;IACjC,gBAAgB;IAIzB,iBAAiB;IAEjB,GAAG,SAAM;IAET,mEAAmE;IAEnE,MAAM,SAAM;IAEZ,0QAA0Q;IAE1Q,OAAO,SAAM;IAEb,qHAAqH;IAErH,KAAK,SAAM;IAEX,4FAA4F;IAE5F,QAAQ,SAAK;IAEb,iEAAiE;IAEjE,IAAI,UAAS;IAEb,mGAAmG;IAEnG,KAAK,UAAS;IAEd,oKAAoK;IAEpK,QAAQ,SAAM;IAEd,mDAAmD;IAEnD,MAAM,SAAM;IAEZ,gHAAgH;IAChH,gBAAgB,IAAI,MAAM,EAAE;IAWE,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEvE,OAAO,CAAC,GAAG,CAAC,CAAuB;IAE1B,iBAAiB;IAOjB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAwBrC,oBAAoB;IAKpB,MAAM;CA2ChB"}
@@ -4,9 +4,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { html, nothing } from 'lit';
7
+ import { nothing } from 'lit';
8
+ import { html } from 'lit/static-html.js';
8
9
  import { property, query } from 'lit/decorators.js';
9
10
  import { LuxenElement } from '../../shared/luxen-element.js';
11
+ import { staticTag } from '../../static-tag.js';
10
12
  /**
11
13
  * @summary A single story declaration inside an `<l-stories>` row.
12
14
  *
@@ -17,6 +19,15 @@ import { LuxenElement } from '../../shared/luxen-element.js';
17
19
  * @slot cta - Overlay surfaced by the viewer when this story is active (e.g. product card, link).
18
20
  * @slot header - Header overlay (e.g. avatar + author).
19
21
  *
22
+ * @cssproperty --pulse-color - Color of the attention pulse ring (only with the `pulse` attribute).
23
+ * @cssproperty --pulse-scale - Peak scale of the pulse animation. Default `1.2`.
24
+ * @cssproperty --pulse-duration - Duration of one pulse cycle. Default `1.6s`.
25
+ *
26
+ * @cssClass .l-story-trigger - The clickable thumbnail button wrapper.
27
+ * @cssClass .l-story-thumb - The poster/video thumbnail frame (ring + offset).
28
+ * @cssClass .l-story-play - The centered play-icon overlay.
29
+ * @cssClass .l-story-label - The caption text below the thumbnail.
30
+ *
20
31
  * @customElement l-story
21
32
  */
22
33
  export class LuxenStory extends LuxenElement {
@@ -89,6 +100,7 @@ export class LuxenStory extends LuxenElement {
89
100
  this._io = undefined;
90
101
  }
91
102
  render() {
103
+ const iconTag = staticTag('icon');
92
104
  return html `
93
105
  <button
94
106
  type="button"
@@ -99,29 +111,29 @@ export class LuxenStory extends LuxenElement {
99
111
  <span class="l-story-thumb">
100
112
  ${this.preview
101
113
  ? html `<video
102
- data-preview
103
- src=${this.preview}
104
- poster=${this.poster || nothing}
105
- muted
106
- loop
107
- playsinline
108
- autoplay
109
- preload="auto"
110
- aria-hidden="true"
111
- ></video>`
114
+ data-preview
115
+ src=${this.preview}
116
+ poster=${this.poster || nothing}
117
+ muted
118
+ loop
119
+ playsinline
120
+ autoplay
121
+ preload="auto"
122
+ aria-hidden="true"
123
+ ></video>`
112
124
  : this.poster
113
125
  ? html `<img
114
- src=${this.poster}
115
- alt=""
116
- loading="lazy"
117
- decoding="async"
118
- />`
126
+ src=${this.poster}
127
+ alt=""
128
+ loading="lazy"
129
+ decoding="async"
130
+ />`
119
131
  : nothing}
120
132
  <span
121
133
  class="l-story-play"
122
134
  aria-hidden="true"
123
135
  >
124
- <l-icon name="mdi:play"></l-icon>
136
+ <${iconTag} name="mdi:play"></${iconTag}>
125
137
  </span>
126
138
  </span>
127
139
  ${this.label ? html `<span class="l-story-label">${this.label}</span>` : nothing}
@@ -42,6 +42,11 @@ export type ToastOptions = (ToastOptionsBase & {
42
42
  * @cssproperty --width - Width of the toast stack.
43
43
  * @cssproperty --show-duration - Duration of the show animation.
44
44
  * @cssproperty --hide-duration - Duration of the hide animation.
45
+ *
46
+ * @cssClass .l-toast-accent - The left accent bar, colored by variant.
47
+ * @cssClass .l-toast-icon - The leading icon, colored by variant (replaces the accent bar).
48
+ * @cssClass .l-toast-content - The content column wrapping the heading and message.
49
+ * @cssClass .l-toast-timer - The countdown progress bar (for timed toasts).
45
50
  */
46
51
  export declare class Toast extends LuxenElement {
47
52
  /** Use light DOM — no Shadow DOM. */
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/html/elements/toast/toast.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO;QACf,4EAA4E;QAC5E,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KACjE;CACF;AAED,yEAAyE;AACzE,qBAAa,SAAU,SAAQ,WAAW;CAAG;AAE7C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErE,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,YAAY,GACZ,SAAS,GACT,cAAc,GACd,eAAe,GACf,YAAY,CAAC;AAEjB,UAAU,gBAAgB;IACxB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB,CAAC,gBAAgB,GAAG;IAAsC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACvF,CAAC,gBAAgB,GAAG;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,sDAAsD,CAAC,IAAI,EAAE,MAAM,CAAC;CACrE,CAAC,CAAC;AASP;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,qCAAqC;IAC5B,gBAAgB;IAIzB,iDAAiD;IACpB,SAAS,EAAE,cAAc,CAAa;IAEnE,2EAA2E;IAChC,QAAQ,SAAQ;IAE3D,+EAA+E;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC;IAEpD,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe,CAAS;IAEvB,iBAAiB;IAWjB,oBAAoB;IAM7B,4CAA4C;IAC5C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAqLzC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,mBAAmB,CAQzB;IAIF,OAAO,CAAC,UAAU,CAShB;CACH;AAkBD,qFAAqF;AACrF,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAExD"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/html/elements/toast/toast.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO;QACf,4EAA4E;QAC5E,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KACjE;CACF;AAED,yEAAyE;AACzE,qBAAa,SAAU,SAAQ,WAAW;CAAG;AAE7C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErE,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,YAAY,GACZ,SAAS,GACT,cAAc,GACd,eAAe,GACf,YAAY,CAAC;AAEjB,UAAU,gBAAgB;IACxB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB,CAAC,gBAAgB,GAAG;IAAsC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACvF,CAAC,gBAAgB,GAAG;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,sDAAsD,CAAC,IAAI,EAAE,MAAM,CAAC;CACrE,CAAC,CAAC;AASP;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,qCAAqC;IAC5B,gBAAgB;IAIzB,iDAAiD;IACpB,SAAS,EAAE,cAAc,CAAa;IAEnE,2EAA2E;IAChC,QAAQ,SAAQ;IAE3D,+EAA+E;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC;IAEpD,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe,CAAS;IAEvB,iBAAiB;IAWjB,oBAAoB;IAM7B,4CAA4C;IAC5C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAqLzC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAgDlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,mBAAmB,CAQzB;IAIF,OAAO,CAAC,UAAU,CAShB;CACH;AAkBD,qFAAqF;AACrF,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAExD"}
@@ -26,6 +26,11 @@ export class ToastItem extends HTMLElement {
26
26
  * @cssproperty --width - Width of the toast stack.
27
27
  * @cssproperty --show-duration - Duration of the show animation.
28
28
  * @cssproperty --hide-duration - Duration of the hide animation.
29
+ *
30
+ * @cssClass .l-toast-accent - The left accent bar, colored by variant.
31
+ * @cssClass .l-toast-icon - The leading icon, colored by variant (replaces the accent bar).
32
+ * @cssClass .l-toast-content - The content column wrapping the heading and message.
33
+ * @cssClass .l-toast-timer - The countdown progress bar (for timed toasts).
29
34
  */
30
35
  export class Toast extends LuxenElement {
31
36
  constructor() {
@@ -19,6 +19,8 @@ export type TreeSelection = 'single' | 'multiple' | 'leaf' | 'none';
19
19
  * @cssproperty --item-gap - Horizontal gap between chevron, prefix, label and suffix on the row; also drives the content slot left indent. Default `0.375rem`.
20
20
  *
21
21
  * @event selection-change - Fired when the selected items change. Detail: `{ selection: TreeItem[] }`.
22
+ *
23
+ * @customElement l-tree
22
24
  */
23
25
  export declare class Tree extends LuxenElement {
24
26
  static styles: import("lit").CSSResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;OAMG;IAEH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAY;IAE7C;;;;OAIG;IAEH,QAAQ,CAAC,WAAW,UAAS;IAEpB,iBAAiB;IAUjB,oBAAoB;IAMpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAQ9C,yEAAyE;IACzE,WAAW,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,QAAQ,EAAE;IAOxD,wCAAwC;IACxC,YAAY,IAAI,QAAQ,EAAE;IAI1B,4CAA4C;IAC5C,SAAS;IAMT,4BAA4B;IAC5B,WAAW;IAQX,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc;IAUtB,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,oBAAoB;IAS5B,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,QAAQ,CAqDd;IAEF,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU,CAMhB;IAEF,OAAO,CAAC,UAAU,CAqEhB;IAEO,MAAM;CAehB"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;OAMG;IAEH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAY;IAE7C;;;;OAIG;IAEH,QAAQ,CAAC,WAAW,UAAS;IAEpB,iBAAiB;IAUjB,oBAAoB;IAMpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAQ9C,yEAAyE;IACzE,WAAW,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,QAAQ,EAAE;IAOxD,wCAAwC;IACxC,YAAY,IAAI,QAAQ,EAAE;IAI1B,4CAA4C;IAC5C,SAAS;IAMT,4BAA4B;IAC5B,WAAW;IAQX,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,cAAc;IAUtB,2DAA2D;IAC3D,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,oBAAoB;IAS5B,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,QAAQ,CAqDd;IAEF,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU,CAMhB;IAEF,OAAO,CAAC,UAAU,CAqEhB;IAEO,MAAM;CAehB"}
@@ -40,6 +40,8 @@ const styles = unsafeCSS(rawStyles);
40
40
  * @cssproperty --item-gap - Horizontal gap between chevron, prefix, label and suffix on the row; also drives the content slot left indent. Default `0.375rem`.
41
41
  *
42
42
  * @event selection-change - Fired when the selected items change. Detail: `{ selection: TreeItem[] }`.
43
+ *
44
+ * @customElement l-tree
43
45
  */
44
46
  export class Tree extends LuxenElement {
45
47
  constructor() {
@@ -25,6 +25,8 @@ import { LuxenElement } from '../../shared/luxen-element.js';
25
25
  * @event expand - Fired when the item is expanded.
26
26
  * @event collapse - Fired when the item is collapsed.
27
27
  * @event lazy-load - Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.
28
+ *
29
+ * @customElement l-tree-item
28
30
  */
29
31
  export declare class TreeItem extends LuxenElement {
30
32
  static styles: import("lit").CSSResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"tree-item.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree-item/tree-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAO7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,yEAAyE;IAEzE,QAAQ,CAAC,aAAa,UAAS;IAE/B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,8EAA8E;IAE9E,QAAQ,CAAC,IAAI,UAAS;IAEtB,+DAA+D;IAE/D,QAAQ,CAAC,OAAO,UAAS;IAEzB,sDAAsD;IACtD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAG9B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,OAAO,CAAC,aAAa,CAAS;IAE9B,mEAAmE;IACnE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,OAAO,CAAC,MAAM,CAAK;IAEnB,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IACD,OAAO,CAAC,YAAY,CAAS;IAE7B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,QAAQ,EAAE;IAO7D,4DAA4D;IAC5D,MAAM,IAAI,OAAO;IAIjB,2CAA2C;IAC3C,YAAY,IAAI,MAAM;IAUb,iBAAiB;IAQjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAe9C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAmBrB,+EAA+E;IAC/E,MAAM;IASN,OAAO,CAAC,iBAAiB,CAUvB;IAEO,MAAM;CAwFhB"}
1
+ {"version":3,"file":"tree-item.d.ts","sourceRoot":"","sources":["../../../src/html/elements/tree-item/tree-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAO7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAgB,MAAM,4BAAwB;IAE9C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,yEAAyE;IAEzE,QAAQ,CAAC,aAAa,UAAS;IAE/B,oCAAoC;IAEpC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,8EAA8E;IAE9E,QAAQ,CAAC,IAAI,UAAS;IAEtB,+DAA+D;IAE/D,QAAQ,CAAC,OAAO,UAAS;IAEzB,sDAAsD;IACtD,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAG9B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,OAAO,CAAC,aAAa,CAAS;IAE9B,mEAAmE;IACnE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAGtB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,OAAO,CAAC,MAAM,CAAK;IAEnB,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IACD,OAAO,CAAC,YAAY,CAAS;IAE7B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,eAAsB,EAAE;;KAAK,GAAG,QAAQ,EAAE;IAO7D,4DAA4D;IAC5D,MAAM,IAAI,OAAO;IAIjB,2CAA2C;IAC3C,YAAY,IAAI,MAAM;IAUb,iBAAiB;IAQjB,oBAAoB;IAKpB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAe9C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAmBrB,+EAA+E;IAC/E,MAAM;IASN,OAAO,CAAC,iBAAiB,CAUvB;IAEO,MAAM;CAwFhB"}
@@ -48,6 +48,8 @@ const styles = unsafeCSS(rawStyles);
48
48
  * @event expand - Fired when the item is expanded.
49
49
  * @event collapse - Fired when the item is collapsed.
50
50
  * @event lazy-load - Fired when a lazy item is expanded for the first time. Consumers should append children and set `lazy=false`.
51
+ *
52
+ * @customElement l-tree-item
51
53
  */
52
54
  export class TreeItem extends LuxenElement {
53
55
  constructor() {
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "avatar",
3
+ "displayName": "Avatar",
4
+ "type": "shadow",
5
+ "isCustomElement": true,
6
+ "tag": "l-avatar",
7
+ "nativeTag": null,
8
+ "selector": "l-avatar",
9
+ "summary": "An avatar component for displaying user images, initials, or a default icon.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": "luxen-ui/css/avatar",
14
+ "js": "luxen-ui/avatar"
15
+ },
16
+ "properties": [
17
+ {
18
+ "name": "src",
19
+ "attribute": "src",
20
+ "type": "string",
21
+ "default": "''",
22
+ "reflects": false,
23
+ "description": ""
24
+ },
25
+ {
26
+ "name": "name",
27
+ "attribute": "name",
28
+ "type": "string",
29
+ "default": "''",
30
+ "reflects": false,
31
+ "description": ""
32
+ },
33
+ {
34
+ "name": "size",
35
+ "attribute": "size",
36
+ "type": "string",
37
+ "default": "'md'",
38
+ "reflects": true,
39
+ "description": ""
40
+ },
41
+ {
42
+ "name": "badge",
43
+ "attribute": "badge",
44
+ "type": "number",
45
+ "default": "0",
46
+ "reflects": false,
47
+ "description": ""
48
+ },
49
+ {
50
+ "name": "interactive",
51
+ "attribute": "interactive",
52
+ "type": "boolean",
53
+ "default": "false",
54
+ "reflects": true,
55
+ "description": ""
56
+ }
57
+ ],
58
+ "attributes": [],
59
+ "events": [],
60
+ "methods": [],
61
+ "slots": [],
62
+ "cssClasses": [
63
+ {
64
+ "name": ".l-avatar-group",
65
+ "description": "Flex wrapper that overlaps a row of stacked avatars."
66
+ }
67
+ ],
68
+ "cssParts": [],
69
+ "cssProperties": [
70
+ {
71
+ "name": "--color",
72
+ "default": null,
73
+ "description": "Background fill color for initials and the default icon."
74
+ },
75
+ {
76
+ "name": "--appearance",
77
+ "default": null,
78
+ "description": "Set to `circle` for a fully circular avatar (default is a rounded square)."
79
+ }
80
+ ],
81
+ "commands": [],
82
+ "examples": []
83
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "badge",
3
+ "displayName": "Badge",
4
+ "type": "custom",
5
+ "isCustomElement": true,
6
+ "tag": "l-badge",
7
+ "nativeTag": null,
8
+ "selector": "l-badge",
9
+ "summary": "A badge component for displaying small status indicators.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": "luxen-ui/css/badge",
14
+ "js": "luxen-ui/badge"
15
+ },
16
+ "properties": [
17
+ {
18
+ "name": "variant",
19
+ "attribute": "variant",
20
+ "type": "BadgeVariant | undefined",
21
+ "default": null,
22
+ "reflects": true,
23
+ "description": "Style variant: `info`, `success`, `warning`, `danger`, or `neutral` (default)"
24
+ },
25
+ {
26
+ "name": "pill",
27
+ "attribute": "pill",
28
+ "type": "boolean",
29
+ "default": "false",
30
+ "reflects": true,
31
+ "description": "Display as pill shape"
32
+ },
33
+ {
34
+ "name": "size",
35
+ "attribute": "size",
36
+ "type": "BadgeSize | undefined",
37
+ "default": null,
38
+ "reflects": true,
39
+ "description": "Badge size: `sm`, `lg`. Default is md."
40
+ },
41
+ {
42
+ "name": "appearance",
43
+ "attribute": "appearance",
44
+ "type": "BadgeAppearance | undefined",
45
+ "default": null,
46
+ "reflects": true,
47
+ "description": "Visual appearance: `filled`, `filled-outlined`, `accent`. Default is outlined."
48
+ }
49
+ ],
50
+ "attributes": [],
51
+ "events": [],
52
+ "methods": [],
53
+ "slots": [],
54
+ "cssClasses": [],
55
+ "cssParts": [],
56
+ "cssProperties": [],
57
+ "commands": [],
58
+ "examples": []
59
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "name": "button",
3
+ "displayName": "Button",
4
+ "type": "native",
5
+ "isCustomElement": false,
6
+ "tag": null,
7
+ "nativeTag": "button",
8
+ "selector": ".l-button",
9
+ "summary": "Buttons trigger actions such as submitting forms, confirming dialogs, or navigating.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": "luxen-ui/css/button",
14
+ "js": null
15
+ },
16
+ "properties": [],
17
+ "attributes": [
18
+ {
19
+ "name": "disabled",
20
+ "data": false,
21
+ "values": [],
22
+ "description": "Disables the button."
23
+ },
24
+ {
25
+ "name": "command",
26
+ "data": false,
27
+ "values": [],
28
+ "description": "Invoker command (`show-modal`, `close`, `show-popover`, etc.)."
29
+ },
30
+ {
31
+ "name": "commandfor",
32
+ "data": false,
33
+ "values": [],
34
+ "description": "ID of the target element for `command`."
35
+ },
36
+ {
37
+ "name": "data-variant",
38
+ "data": true,
39
+ "values": [
40
+ "primary",
41
+ "destructive"
42
+ ],
43
+ "description": "Visual variant. Default is the secondary style."
44
+ },
45
+ {
46
+ "name": "data-size",
47
+ "data": true,
48
+ "values": [
49
+ "sm",
50
+ "lg",
51
+ "xl"
52
+ ],
53
+ "description": "Control size. Default is md."
54
+ },
55
+ {
56
+ "name": "data-icon-only",
57
+ "data": true,
58
+ "values": [],
59
+ "description": "Icon-only mode (square button, width equals height). Auto-detected for a single icon child."
60
+ },
61
+ {
62
+ "name": "data-press-effect",
63
+ "data": true,
64
+ "values": [],
65
+ "description": "Press effect (scale + translate on active)."
66
+ }
67
+ ],
68
+ "events": [],
69
+ "methods": [],
70
+ "slots": [],
71
+ "cssClasses": [
72
+ {
73
+ "name": ".l-button",
74
+ "description": "Base button style."
75
+ }
76
+ ],
77
+ "cssParts": [],
78
+ "cssProperties": [
79
+ {
80
+ "name": "--height",
81
+ "default": "32px",
82
+ "description": "Button height (md size)."
83
+ },
84
+ {
85
+ "name": "--padding-inline",
86
+ "default": "0.625rem",
87
+ "description": "Horizontal padding."
88
+ },
89
+ {
90
+ "name": "--background-color",
91
+ "default": null,
92
+ "description": "Background color."
93
+ },
94
+ {
95
+ "name": "--background-color-hover",
96
+ "default": null,
97
+ "description": "Background color on hover."
98
+ },
99
+ {
100
+ "name": "--background-color-active",
101
+ "default": null,
102
+ "description": "Background color on press."
103
+ },
104
+ {
105
+ "name": "--text-color",
106
+ "default": null,
107
+ "description": "Text color."
108
+ },
109
+ {
110
+ "name": "--text-color-hover",
111
+ "default": null,
112
+ "description": "Text color on hover."
113
+ },
114
+ {
115
+ "name": "--border-color",
116
+ "default": null,
117
+ "description": "Border color."
118
+ },
119
+ {
120
+ "name": "--border-color-hover",
121
+ "default": null,
122
+ "description": "Border color on hover."
123
+ },
124
+ {
125
+ "name": "--font-size",
126
+ "default": null,
127
+ "description": "Font size."
128
+ }
129
+ ],
130
+ "commands": [],
131
+ "examples": [
132
+ {
133
+ "title": "Primary",
134
+ "language": "html",
135
+ "code": "<button class=\"l-button\" data-variant=\"primary\">Save</button>"
136
+ }
137
+ ]
138
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "carousel-item",
3
+ "displayName": "Carousel item",
4
+ "type": "custom",
5
+ "isCustomElement": true,
6
+ "tag": "l-carousel-item",
7
+ "nativeTag": null,
8
+ "selector": "l-carousel-item",
9
+ "summary": "A single slide inside an `<l-carousel>`.",
10
+ "status": "stable",
11
+ "appearances": [],
12
+ "import": {
13
+ "css": null,
14
+ "js": "luxen-ui/carousel-item"
15
+ },
16
+ "properties": [],
17
+ "attributes": [],
18
+ "events": [],
19
+ "methods": [],
20
+ "slots": [],
21
+ "cssClasses": [],
22
+ "cssParts": [],
23
+ "cssProperties": [
24
+ {
25
+ "name": "--aspect-ratio",
26
+ "default": null,
27
+ "description": "Aspect ratio of the slide."
28
+ }
29
+ ],
30
+ "commands": [],
31
+ "examples": []
32
+ }