le-kit 0.1.10 → 0.1.12

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 (219) hide show
  1. package/custom-elements.json +970 -970
  2. package/dist/{core/cjs/index-D7B9TPh8.js → cjs/index-o1DRKw1g.js} +11 -4
  3. package/dist/cjs/index-o1DRKw1g.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +3 -3
  5. package/dist/cjs/le-box.cjs.entry.js +2 -2
  6. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +1 -1
  7. package/dist/cjs/le-button_6.cjs.entry.js +11 -5
  8. package/dist/cjs/le-card.cjs.entry.js +2 -2
  9. package/dist/cjs/le-kit.cjs.js +1 -1
  10. package/dist/cjs/le-number-input.cjs.entry.js +2 -2
  11. package/dist/cjs/le-popup.cjs.entry.js +1 -1
  12. package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
  13. package/dist/cjs/le-stack.cjs.entry.js +2 -2
  14. package/dist/cjs/le-text.cjs.entry.js +2 -2
  15. package/dist/cjs/le-turntable.cjs.entry.js +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/{utils-DrsoID-a.js → utils-DqhadIxH.js} +3 -3
  18. package/dist/cjs/{utils-DrsoID-a.js.map → utils-DqhadIxH.js.map} +1 -1
  19. package/dist/collection/assets/custom-elements.json +4305 -0
  20. package/dist/collection/components/le-component/le-component.js +5 -2
  21. package/dist/collection/components/le-component/le-component.js.map +1 -1
  22. package/dist/collection/components/le-slot/le-slot.js +6 -3
  23. package/dist/collection/components/le-slot/le-slot.js.map +1 -1
  24. package/dist/collection/global/app.js +1 -1
  25. package/dist/collection/global/app.js.map +1 -1
  26. package/dist/collection/index.js +1 -1
  27. package/dist/collection/index.js.map +1 -1
  28. package/dist/collection/themes/base.css +89 -0
  29. package/dist/collection/themes/dark.css +100 -0
  30. package/dist/collection/themes/default.css +108 -0
  31. package/dist/collection/themes/gradient.css +100 -0
  32. package/dist/collection/themes/index.css +413 -0
  33. package/dist/collection/themes/minimal.css +100 -0
  34. package/dist/collection/themes/warm.css +100 -0
  35. package/dist/{cjs/index-D7B9TPh8.js → core/cjs/index-BsRb_UTe.js} +4 -4
  36. package/dist/core/cjs/index-BsRb_UTe.js.map +1 -0
  37. package/dist/core/cjs/index.cjs.js +3 -3
  38. package/dist/core/cjs/le-box.cjs.entry.js +2 -2
  39. package/dist/core/cjs/le-button.cjs.entry.js +2 -2
  40. package/dist/core/cjs/le-card.cjs.entry.js +2 -2
  41. package/dist/core/cjs/le-checkbox.cjs.entry.js +2 -2
  42. package/dist/core/cjs/le-kit.cjs.js +1 -1
  43. package/dist/core/cjs/le-number-input.cjs.entry.js +2 -2
  44. package/dist/core/cjs/le-popover.cjs.entry.js +1 -1
  45. package/dist/core/cjs/le-popup.cjs.entry.js +1 -1
  46. package/dist/core/cjs/le-round-progress.cjs.entry.js +1 -1
  47. package/dist/core/cjs/le-stack.cjs.entry.js +2 -2
  48. package/dist/core/cjs/le-string-input.cjs.entry.js +2 -2
  49. package/dist/core/cjs/le-text.cjs.entry.js +2 -2
  50. package/dist/core/cjs/le-turntable.cjs.entry.js +1 -1
  51. package/dist/core/cjs/loader.cjs.js +1 -1
  52. package/dist/core/cjs/{utils-DrsoID-a.js → utils-nsP8_w8_.js} +3 -3
  53. package/dist/core/cjs/{utils-DrsoID-a.js.map → utils-nsP8_w8_.js.map} +1 -1
  54. package/dist/core/collection/global/app.js +1 -1
  55. package/dist/core/collection/global/app.js.map +1 -1
  56. package/dist/core/collection/index.js +1 -1
  57. package/dist/core/collection/index.js.map +1 -1
  58. package/dist/{esm/index-PS-3Rz-c.js → core/esm/index-CJ-z5Zj1.js} +4 -4
  59. package/dist/core/esm/index-CJ-z5Zj1.js.map +1 -0
  60. package/dist/core/esm/index.js +2 -2
  61. package/dist/core/esm/le-box.entry.js +2 -2
  62. package/dist/core/esm/le-button.entry.js +2 -2
  63. package/dist/core/esm/le-card.entry.js +2 -2
  64. package/dist/core/esm/le-checkbox.entry.js +2 -2
  65. package/dist/core/esm/le-kit.js +2 -2
  66. package/dist/core/esm/le-number-input.entry.js +2 -2
  67. package/dist/core/esm/le-popover.entry.js +1 -1
  68. package/dist/core/esm/le-popup.entry.js +1 -1
  69. package/dist/core/esm/le-round-progress.entry.js +1 -1
  70. package/dist/core/esm/le-stack.entry.js +2 -2
  71. package/dist/core/esm/le-string-input.entry.js +2 -2
  72. package/dist/core/esm/le-text.entry.js +2 -2
  73. package/dist/core/esm/le-turntable.entry.js +1 -1
  74. package/dist/core/esm/loader.js +2 -2
  75. package/dist/core/esm/{utils-lgjSfQP0.js → utils-Bxmld82M.js} +3 -3
  76. package/dist/core/esm/{utils-lgjSfQP0.js.map → utils-Bxmld82M.js.map} +1 -1
  77. package/dist/core/le-kit/index.esm.js +1 -1
  78. package/dist/core/le-kit/le-kit.esm.js +1 -1
  79. package/dist/core/le-kit/{p-a5f1e539.entry.js → p-0308bd1f.entry.js} +2 -2
  80. package/dist/core/le-kit/{p-1c5262eb.entry.js → p-257495cc.entry.js} +2 -2
  81. package/dist/core/le-kit/{p-32c08678.entry.js → p-2ac4789a.entry.js} +2 -2
  82. package/dist/core/le-kit/{p-4bf51acc.entry.js → p-45eace7c.entry.js} +2 -2
  83. package/dist/core/le-kit/{p-fd665f35.entry.js → p-556086ca.entry.js} +2 -2
  84. package/dist/core/le-kit/{p-dcf1343d.entry.js → p-5ef81068.entry.js} +2 -2
  85. package/dist/core/le-kit/{p-a24b042d.entry.js → p-66d35f48.entry.js} +2 -2
  86. package/dist/core/le-kit/{p-4a9a9805.entry.js → p-73682c5e.entry.js} +2 -2
  87. package/dist/{le-kit/p-PS-3Rz-c.js → core/le-kit/p-CJ-z5Zj1.js} +1 -1
  88. package/dist/core/le-kit/p-CJ-z5Zj1.js.map +1 -0
  89. package/dist/core/le-kit/{p-DN2JVY-7.js → p-Drz36PDp.js} +2 -2
  90. package/dist/core/le-kit/{p-DN2JVY-7.js.map → p-Drz36PDp.js.map} +1 -1
  91. package/dist/core/le-kit/{p-bbc9e13e.entry.js → p-aa6e906f.entry.js} +2 -2
  92. package/dist/core/le-kit/{p-38e7ec05.entry.js → p-d75214f9.entry.js} +2 -2
  93. package/dist/core/le-kit/{p-9ee92c29.entry.js → p-df552906.entry.js} +2 -2
  94. package/dist/core/le-kit/{p-c4223c60.entry.js → p-e0861e82.entry.js} +2 -2
  95. package/dist/core/types/global/app.d.ts +1 -1
  96. package/dist/core/types/index.d.ts +1 -1
  97. package/dist/docs.json +1 -1
  98. package/dist/{core/esm/index-PS-3Rz-c.js → esm/index-CwNQ1GTa.js} +10 -4
  99. package/dist/esm/index-CwNQ1GTa.js.map +1 -0
  100. package/dist/esm/index.js +2 -2
  101. package/dist/esm/le-box.entry.js +2 -2
  102. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +1 -1
  103. package/dist/esm/le-button_6.entry.js +11 -5
  104. package/dist/esm/le-card.entry.js +2 -2
  105. package/dist/esm/le-kit.js +2 -2
  106. package/dist/esm/le-number-input.entry.js +2 -2
  107. package/dist/esm/le-popup.entry.js +1 -1
  108. package/dist/esm/le-round-progress.entry.js +1 -1
  109. package/dist/esm/le-stack.entry.js +2 -2
  110. package/dist/esm/le-text.entry.js +2 -2
  111. package/dist/esm/le-turntable.entry.js +1 -1
  112. package/dist/esm/loader.js +2 -2
  113. package/dist/esm/{utils-lgjSfQP0.js → utils-Cf7fMI0j.js} +3 -3
  114. package/dist/esm/{utils-lgjSfQP0.js.map → utils-Cf7fMI0j.js.map} +1 -1
  115. package/dist/le-kit/assets/custom-elements.json +4305 -0
  116. package/dist/le-kit/index.esm.js +1 -1
  117. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +1 -1
  118. package/dist/le-kit/le-kit.esm.js +1 -1
  119. package/dist/le-kit/{p-935bb2d4.entry.js → p-08dbcc25.entry.js} +2 -2
  120. package/dist/le-kit/{p-d8157b06.entry.js → p-5dc35729.entry.js} +2 -2
  121. package/dist/le-kit/{p-34102cef.entry.js → p-64374730.entry.js} +2 -2
  122. package/dist/le-kit/{p-27710b5b.entry.js → p-79ec6f7c.entry.js} +2 -2
  123. package/dist/le-kit/{p-ccabc638.entry.js → p-8daf3c7f.entry.js} +2 -2
  124. package/dist/le-kit/p-9c69235d.entry.js +2 -0
  125. package/dist/le-kit/p-9c69235d.entry.js.map +1 -0
  126. package/dist/{core/le-kit/p-PS-3Rz-c.js → le-kit/p-CwNQ1GTa.js} +2 -2
  127. package/dist/le-kit/p-CwNQ1GTa.js.map +1 -0
  128. package/dist/le-kit/{p-e8c2ca0e.entry.js → p-ad398acd.entry.js} +2 -2
  129. package/dist/le-kit/{p-9d3dc4e5.entry.js → p-b8122ad6.entry.js} +2 -2
  130. package/dist/le-kit/{p-56a80e6d.entry.js → p-f9008505.entry.js} +2 -2
  131. package/dist/le-kit/{p-DN2JVY-7.js → p-y3FECAx9.js} +2 -2
  132. package/dist/le-kit/{p-DN2JVY-7.js.map → p-y3FECAx9.js.map} +1 -1
  133. package/dist/le-kit/themes/base.css +89 -0
  134. package/dist/le-kit/themes/dark.css +100 -0
  135. package/dist/le-kit/themes/default.css +108 -0
  136. package/dist/le-kit/themes/gradient.css +100 -0
  137. package/dist/le-kit/themes/index.css +413 -0
  138. package/dist/le-kit/themes/minimal.css +100 -0
  139. package/dist/le-kit/themes/warm.css +100 -0
  140. package/dist/types/global/app.d.ts +1 -1
  141. package/dist/types/index.d.ts +1 -1
  142. package/package.json +2 -2
  143. package/dist/cjs/index-D7B9TPh8.js.map +0 -1
  144. package/dist/components/index.d.ts +0 -64
  145. package/dist/components/index.js +0 -127
  146. package/dist/components/index.js.map +0 -1
  147. package/dist/components/le-box.d.ts +0 -11
  148. package/dist/components/le-box.js +0 -256
  149. package/dist/components/le-box.js.map +0 -1
  150. package/dist/components/le-button.d.ts +0 -11
  151. package/dist/components/le-button.js +0 -9
  152. package/dist/components/le-button.js.map +0 -1
  153. package/dist/components/le-button2.js +0 -1446
  154. package/dist/components/le-button2.js.map +0 -1
  155. package/dist/components/le-card.d.ts +0 -11
  156. package/dist/components/le-card.js +0 -83
  157. package/dist/components/le-card.js.map +0 -1
  158. package/dist/components/le-checkbox.d.ts +0 -11
  159. package/dist/components/le-checkbox.js +0 -9
  160. package/dist/components/le-checkbox.js.map +0 -1
  161. package/dist/components/le-component.d.ts +0 -11
  162. package/dist/components/le-component.js +0 -9
  163. package/dist/components/le-component.js.map +0 -1
  164. package/dist/components/le-number-input.d.ts +0 -11
  165. package/dist/components/le-number-input.js +0 -271
  166. package/dist/components/le-number-input.js.map +0 -1
  167. package/dist/components/le-popover.d.ts +0 -11
  168. package/dist/components/le-popover.js +0 -9
  169. package/dist/components/le-popover.js.map +0 -1
  170. package/dist/components/le-popover2.js +0 -382
  171. package/dist/components/le-popover2.js.map +0 -1
  172. package/dist/components/le-popup.d.ts +0 -11
  173. package/dist/components/le-popup.js +0 -279
  174. package/dist/components/le-popup.js.map +0 -1
  175. package/dist/components/le-round-progress.d.ts +0 -11
  176. package/dist/components/le-round-progress.js +0 -135
  177. package/dist/components/le-round-progress.js.map +0 -1
  178. package/dist/components/le-slot.d.ts +0 -11
  179. package/dist/components/le-slot.js +0 -9
  180. package/dist/components/le-slot.js.map +0 -1
  181. package/dist/components/le-stack.d.ts +0 -11
  182. package/dist/components/le-stack.js +0 -198
  183. package/dist/components/le-stack.js.map +0 -1
  184. package/dist/components/le-string-input.d.ts +0 -11
  185. package/dist/components/le-string-input.js +0 -9
  186. package/dist/components/le-string-input.js.map +0 -1
  187. package/dist/components/le-text.d.ts +0 -11
  188. package/dist/components/le-text.js +0 -398
  189. package/dist/components/le-text.js.map +0 -1
  190. package/dist/components/le-turntable.d.ts +0 -11
  191. package/dist/components/le-turntable.js +0 -164
  192. package/dist/components/le-turntable.js.map +0 -1
  193. package/dist/core/cjs/index-D7B9TPh8.js.map +0 -1
  194. package/dist/core/esm/index-PS-3Rz-c.js.map +0 -1
  195. package/dist/core/le-kit/p-PS-3Rz-c.js.map +0 -1
  196. package/dist/esm/index-PS-3Rz-c.js.map +0 -1
  197. package/dist/le-kit/p-615ea10f.entry.js +0 -2
  198. package/dist/le-kit/p-615ea10f.entry.js.map +0 -1
  199. package/dist/le-kit/p-PS-3Rz-c.js.map +0 -1
  200. /package/dist/core/le-kit/{p-a5f1e539.entry.js.map → p-0308bd1f.entry.js.map} +0 -0
  201. /package/dist/core/le-kit/{p-1c5262eb.entry.js.map → p-257495cc.entry.js.map} +0 -0
  202. /package/dist/core/le-kit/{p-32c08678.entry.js.map → p-2ac4789a.entry.js.map} +0 -0
  203. /package/dist/core/le-kit/{p-4bf51acc.entry.js.map → p-45eace7c.entry.js.map} +0 -0
  204. /package/dist/core/le-kit/{p-fd665f35.entry.js.map → p-556086ca.entry.js.map} +0 -0
  205. /package/dist/core/le-kit/{p-dcf1343d.entry.js.map → p-5ef81068.entry.js.map} +0 -0
  206. /package/dist/core/le-kit/{p-a24b042d.entry.js.map → p-66d35f48.entry.js.map} +0 -0
  207. /package/dist/core/le-kit/{p-4a9a9805.entry.js.map → p-73682c5e.entry.js.map} +0 -0
  208. /package/dist/core/le-kit/{p-bbc9e13e.entry.js.map → p-aa6e906f.entry.js.map} +0 -0
  209. /package/dist/core/le-kit/{p-38e7ec05.entry.js.map → p-d75214f9.entry.js.map} +0 -0
  210. /package/dist/core/le-kit/{p-9ee92c29.entry.js.map → p-df552906.entry.js.map} +0 -0
  211. /package/dist/core/le-kit/{p-c4223c60.entry.js.map → p-e0861e82.entry.js.map} +0 -0
  212. /package/dist/le-kit/{p-935bb2d4.entry.js.map → p-08dbcc25.entry.js.map} +0 -0
  213. /package/dist/le-kit/{p-d8157b06.entry.js.map → p-5dc35729.entry.js.map} +0 -0
  214. /package/dist/le-kit/{p-34102cef.entry.js.map → p-64374730.entry.js.map} +0 -0
  215. /package/dist/le-kit/{p-27710b5b.entry.js.map → p-79ec6f7c.entry.js.map} +0 -0
  216. /package/dist/le-kit/{p-ccabc638.entry.js.map → p-8daf3c7f.entry.js.map} +0 -0
  217. /package/dist/le-kit/{p-e8c2ca0e.entry.js.map → p-ad398acd.entry.js.map} +0 -0
  218. /package/dist/le-kit/{p-9d3dc4e5.entry.js.map → p-b8122ad6.entry.js.map} +0 -0
  219. /package/dist/le-kit/{p-56a80e6d.entry.js.map → p-f9008505.entry.js.map} +0 -0
@@ -743,139 +743,6 @@
743
743
  }
744
744
  ]
745
745
  },
746
- {
747
- "kind": "javascript-module",
748
- "path": "src/components/le-card/le-card.tsx",
749
- "declarations": [
750
- {
751
- "kind": "class",
752
- "description": "A flexible card component with header, content, and footer slots.\n\nThe card uses le-slot wrappers for each slot area. In admin mode,\nle-slot shows placeholders for CMS editing. In default mode,\nle-slot acts as a transparent passthrough.",
753
- "name": "LeCard",
754
- "cssProperties": [
755
- {
756
- "description": "Card background color",
757
- "name": "--le-card-bg"
758
- },
759
- {
760
- "description": "Card border radius",
761
- "name": "--le-card-border-radius"
762
- },
763
- {
764
- "description": "Card box shadow",
765
- "name": "--le-card-shadow"
766
- },
767
- {
768
- "description": "Card content padding",
769
- "name": "--le-card-padding"
770
- }
771
- ],
772
- "cssParts": [
773
- {
774
- "description": "The main card container",
775
- "name": "card"
776
- },
777
- {
778
- "description": "The card header section",
779
- "name": "header"
780
- },
781
- {
782
- "description": "The card content section",
783
- "name": "content"
784
- },
785
- {
786
- "description": "The card footer section",
787
- "name": "footer"
788
- }
789
- ],
790
- "slots": [
791
- {
792
- "description": "Card header content (title, actions)",
793
- "name": "header"
794
- },
795
- {
796
- "description": "Default slot for main card content",
797
- "name": ""
798
- },
799
- {
800
- "description": "Card footer content (buttons, links)",
801
- "name": "footer"
802
- }
803
- ],
804
- "members": [
805
- {
806
- "kind": "field",
807
- "name": "el",
808
- "type": {
809
- "text": "HTMLElement"
810
- }
811
- },
812
- {
813
- "kind": "field",
814
- "name": "variant",
815
- "type": {
816
- "text": "'default' | 'outlined' | 'elevated'"
817
- },
818
- "default": "'default'",
819
- "description": "Card variant style"
820
- },
821
- {
822
- "kind": "field",
823
- "name": "interactive",
824
- "type": {
825
- "text": "boolean"
826
- },
827
- "default": "false",
828
- "description": "Whether the card is interactive (clickable)"
829
- },
830
- {
831
- "kind": "method",
832
- "name": "render"
833
- }
834
- ],
835
- "attributes": [
836
- {
837
- "name": "variant",
838
- "fieldName": "variant",
839
- "default": "'default'",
840
- "description": "Card variant style",
841
- "type": {
842
- "text": "'default' | 'outlined' | 'elevated'"
843
- }
844
- },
845
- {
846
- "name": "interactive",
847
- "fieldName": "interactive",
848
- "default": "false",
849
- "description": "Whether the card is interactive (clickable)",
850
- "type": {
851
- "text": "boolean"
852
- }
853
- }
854
- ],
855
- "tagName": "le-card",
856
- "events": [],
857
- "customElement": true
858
- }
859
- ],
860
- "exports": [
861
- {
862
- "kind": "js",
863
- "name": "LeCard",
864
- "declaration": {
865
- "name": "LeCard",
866
- "module": "src/components/le-card/le-card.tsx"
867
- }
868
- },
869
- {
870
- "kind": "custom-element-definition",
871
- "name": "le-card",
872
- "declaration": {
873
- "name": "LeCard",
874
- "module": "src/components/le-card/le-card.tsx"
875
- }
876
- }
877
- ]
878
- },
879
746
  {
880
747
  "kind": "javascript-module",
881
748
  "path": "src/components/le-component/le-component.tsx",
@@ -1177,38 +1044,60 @@
1177
1044
  },
1178
1045
  {
1179
1046
  "kind": "javascript-module",
1180
- "path": "src/components/le-checkbox/le-checkbox.tsx",
1047
+ "path": "src/components/le-card/le-card.tsx",
1181
1048
  "declarations": [
1182
1049
  {
1183
1050
  "kind": "class",
1184
- "description": "A checkbox component with support for labels, descriptions, and external IDs.",
1185
- "name": "LeCheckbox",
1051
+ "description": "A flexible card component with header, content, and footer slots.\n\nThe card uses le-slot wrappers for each slot area. In admin mode,\nle-slot shows placeholders for CMS editing. In default mode,\nle-slot acts as a transparent passthrough.",
1052
+ "name": "LeCard",
1186
1053
  "cssProperties": [
1187
1054
  {
1188
- "description": "Size of the checkbox input",
1189
- "name": "--le-checkbox-size"
1055
+ "description": "Card background color",
1056
+ "name": "--le-card-bg"
1190
1057
  },
1191
1058
  {
1192
- "description": "Color of the checkbox when checked",
1193
- "name": "--le-checkbox-color"
1059
+ "description": "Card border radius",
1060
+ "name": "--le-card-border-radius"
1194
1061
  },
1195
1062
  {
1196
- "description": "Color of the label text",
1197
- "name": "--le-checkbox-label-color"
1063
+ "description": "Card box shadow",
1064
+ "name": "--le-card-shadow"
1198
1065
  },
1199
1066
  {
1200
- "description": "Color of the description text",
1201
- "name": "--le-checkbox-desc-color"
1067
+ "description": "Card content padding",
1068
+ "name": "--le-card-padding"
1069
+ }
1070
+ ],
1071
+ "cssParts": [
1072
+ {
1073
+ "description": "The main card container",
1074
+ "name": "card"
1075
+ },
1076
+ {
1077
+ "description": "The card header section",
1078
+ "name": "header"
1079
+ },
1080
+ {
1081
+ "description": "The card content section",
1082
+ "name": "content"
1083
+ },
1084
+ {
1085
+ "description": "The card footer section",
1086
+ "name": "footer"
1202
1087
  }
1203
1088
  ],
1204
1089
  "slots": [
1205
1090
  {
1206
- "description": "The label text for the checkbox",
1091
+ "description": "Card header content (title, actions)",
1092
+ "name": "header"
1093
+ },
1094
+ {
1095
+ "description": "Default slot for main card content",
1207
1096
  "name": ""
1208
1097
  },
1209
1098
  {
1210
- "description": "Additional description text displayed below the label",
1211
- "name": "description"
1099
+ "description": "Card footer content (buttons, links)",
1100
+ "name": "footer"
1212
1101
  }
1213
1102
  ],
1214
1103
  "members": [
@@ -1221,50 +1110,21 @@
1221
1110
  },
1222
1111
  {
1223
1112
  "kind": "field",
1224
- "name": "checked",
1113
+ "name": "variant",
1225
1114
  "type": {
1226
- "text": "boolean"
1115
+ "text": "'default' | 'outlined' | 'elevated'"
1227
1116
  },
1228
- "default": "false",
1229
- "description": "Whether the checkbox is checked"
1117
+ "default": "'default'",
1118
+ "description": "Card variant style"
1230
1119
  },
1231
1120
  {
1232
1121
  "kind": "field",
1233
- "name": "disabled",
1122
+ "name": "interactive",
1234
1123
  "type": {
1235
1124
  "text": "boolean"
1236
1125
  },
1237
1126
  "default": "false",
1238
- "description": "Whether the checkbox is disabled"
1239
- },
1240
- {
1241
- "kind": "field",
1242
- "name": "name",
1243
- "type": {
1244
- "text": "string"
1245
- },
1246
- "description": "The name of the checkbox input"
1247
- },
1248
- {
1249
- "kind": "field",
1250
- "name": "value",
1251
- "type": {
1252
- "text": "string"
1253
- },
1254
- "description": "The value of the checkbox input"
1255
- },
1256
- {
1257
- "kind": "field",
1258
- "name": "externalId",
1259
- "type": {
1260
- "text": "string"
1261
- },
1262
- "description": "External ID for linking with external systems (e.g. database ID, PDF form field ID)"
1263
- },
1264
- {
1265
- "kind": "field",
1266
- "name": "handleChange",
1267
- "privacy": "private"
1127
+ "description": "Whether the card is interactive (clickable)"
1268
1128
  },
1269
1129
  {
1270
1130
  "kind": "method",
@@ -1273,38 +1133,178 @@
1273
1133
  ],
1274
1134
  "attributes": [
1275
1135
  {
1276
- "name": "checked",
1277
- "fieldName": "checked",
1278
- "default": "false",
1279
- "description": "Whether the checkbox is checked",
1136
+ "name": "variant",
1137
+ "fieldName": "variant",
1138
+ "default": "'default'",
1139
+ "description": "Card variant style",
1280
1140
  "type": {
1281
- "text": "boolean"
1141
+ "text": "'default' | 'outlined' | 'elevated'"
1282
1142
  }
1283
1143
  },
1284
1144
  {
1285
- "name": "disabled",
1286
- "fieldName": "disabled",
1145
+ "name": "interactive",
1146
+ "fieldName": "interactive",
1287
1147
  "default": "false",
1288
- "description": "Whether the checkbox is disabled",
1148
+ "description": "Whether the card is interactive (clickable)",
1289
1149
  "type": {
1290
1150
  "text": "boolean"
1291
1151
  }
1292
- },
1293
- {
1294
- "name": "name",
1295
- "fieldName": "name",
1296
- "description": "The name of the checkbox input",
1297
- "type": {
1298
- "text": "string"
1299
- }
1300
- },
1301
- {
1302
- "name": "value",
1303
- "fieldName": "value",
1304
- "description": "The value of the checkbox input",
1305
- "type": {
1306
- "text": "string"
1307
- }
1152
+ }
1153
+ ],
1154
+ "tagName": "le-card",
1155
+ "events": [],
1156
+ "customElement": true
1157
+ }
1158
+ ],
1159
+ "exports": [
1160
+ {
1161
+ "kind": "js",
1162
+ "name": "LeCard",
1163
+ "declaration": {
1164
+ "name": "LeCard",
1165
+ "module": "src/components/le-card/le-card.tsx"
1166
+ }
1167
+ },
1168
+ {
1169
+ "kind": "custom-element-definition",
1170
+ "name": "le-card",
1171
+ "declaration": {
1172
+ "name": "LeCard",
1173
+ "module": "src/components/le-card/le-card.tsx"
1174
+ }
1175
+ }
1176
+ ]
1177
+ },
1178
+ {
1179
+ "kind": "javascript-module",
1180
+ "path": "src/components/le-checkbox/le-checkbox.tsx",
1181
+ "declarations": [
1182
+ {
1183
+ "kind": "class",
1184
+ "description": "A checkbox component with support for labels, descriptions, and external IDs.",
1185
+ "name": "LeCheckbox",
1186
+ "cssProperties": [
1187
+ {
1188
+ "description": "Size of the checkbox input",
1189
+ "name": "--le-checkbox-size"
1190
+ },
1191
+ {
1192
+ "description": "Color of the checkbox when checked",
1193
+ "name": "--le-checkbox-color"
1194
+ },
1195
+ {
1196
+ "description": "Color of the label text",
1197
+ "name": "--le-checkbox-label-color"
1198
+ },
1199
+ {
1200
+ "description": "Color of the description text",
1201
+ "name": "--le-checkbox-desc-color"
1202
+ }
1203
+ ],
1204
+ "slots": [
1205
+ {
1206
+ "description": "The label text for the checkbox",
1207
+ "name": ""
1208
+ },
1209
+ {
1210
+ "description": "Additional description text displayed below the label",
1211
+ "name": "description"
1212
+ }
1213
+ ],
1214
+ "members": [
1215
+ {
1216
+ "kind": "field",
1217
+ "name": "el",
1218
+ "type": {
1219
+ "text": "HTMLElement"
1220
+ }
1221
+ },
1222
+ {
1223
+ "kind": "field",
1224
+ "name": "checked",
1225
+ "type": {
1226
+ "text": "boolean"
1227
+ },
1228
+ "default": "false",
1229
+ "description": "Whether the checkbox is checked"
1230
+ },
1231
+ {
1232
+ "kind": "field",
1233
+ "name": "disabled",
1234
+ "type": {
1235
+ "text": "boolean"
1236
+ },
1237
+ "default": "false",
1238
+ "description": "Whether the checkbox is disabled"
1239
+ },
1240
+ {
1241
+ "kind": "field",
1242
+ "name": "name",
1243
+ "type": {
1244
+ "text": "string"
1245
+ },
1246
+ "description": "The name of the checkbox input"
1247
+ },
1248
+ {
1249
+ "kind": "field",
1250
+ "name": "value",
1251
+ "type": {
1252
+ "text": "string"
1253
+ },
1254
+ "description": "The value of the checkbox input"
1255
+ },
1256
+ {
1257
+ "kind": "field",
1258
+ "name": "externalId",
1259
+ "type": {
1260
+ "text": "string"
1261
+ },
1262
+ "description": "External ID for linking with external systems (e.g. database ID, PDF form field ID)"
1263
+ },
1264
+ {
1265
+ "kind": "field",
1266
+ "name": "handleChange",
1267
+ "privacy": "private"
1268
+ },
1269
+ {
1270
+ "kind": "method",
1271
+ "name": "render"
1272
+ }
1273
+ ],
1274
+ "attributes": [
1275
+ {
1276
+ "name": "checked",
1277
+ "fieldName": "checked",
1278
+ "default": "false",
1279
+ "description": "Whether the checkbox is checked",
1280
+ "type": {
1281
+ "text": "boolean"
1282
+ }
1283
+ },
1284
+ {
1285
+ "name": "disabled",
1286
+ "fieldName": "disabled",
1287
+ "default": "false",
1288
+ "description": "Whether the checkbox is disabled",
1289
+ "type": {
1290
+ "text": "boolean"
1291
+ }
1292
+ },
1293
+ {
1294
+ "name": "name",
1295
+ "fieldName": "name",
1296
+ "description": "The name of the checkbox input",
1297
+ "type": {
1298
+ "text": "string"
1299
+ }
1300
+ },
1301
+ {
1302
+ "name": "value",
1303
+ "fieldName": "value",
1304
+ "description": "The value of the checkbox input",
1305
+ "type": {
1306
+ "text": "string"
1307
+ }
1308
1308
  },
1309
1309
  {
1310
1310
  "name": "external-id",
@@ -1743,26 +1743,12 @@
1743
1743
  },
1744
1744
  {
1745
1745
  "kind": "javascript-module",
1746
- "path": "src/components/le-popup/le-popup.tsx",
1746
+ "path": "src/components/le-round-progress/le-round-progress.tsx",
1747
1747
  "declarations": [
1748
1748
  {
1749
1749
  "kind": "class",
1750
- "description": "A flexible popup/dialog component for alerts, confirms, prompts, and custom content.\n\nUses the native HTML <dialog> element for proper modal behavior, accessibility,\nand focus management. Can be used declaratively in HTML or programmatically \nvia leAlert(), leConfirm(), lePrompt().",
1751
- "name": "LePopup",
1752
- "slots": [
1753
- {
1754
- "description": "Default slot for custom body content",
1755
- "name": ""
1756
- },
1757
- {
1758
- "description": "Custom header content (replaces title)",
1759
- "name": "header"
1760
- },
1761
- {
1762
- "description": "Custom footer content (replaces default buttons)",
1763
- "name": "footer"
1764
- }
1765
- ],
1750
+ "description": "",
1751
+ "name": "LeRoundProgress",
1766
1752
  "members": [
1767
1753
  {
1768
1754
  "kind": "field",
@@ -1773,68 +1759,247 @@
1773
1759
  },
1774
1760
  {
1775
1761
  "kind": "field",
1776
- "name": "open",
1762
+ "name": "value",
1777
1763
  "type": {
1778
- "text": "boolean"
1764
+ "text": "number"
1779
1765
  },
1780
- "default": "false",
1781
- "description": "Whether the popup is currently visible"
1766
+ "default": "0"
1782
1767
  },
1783
1768
  {
1784
- "kind": "field",
1785
- "name": "type",
1786
- "type": {
1787
- "text": "PopupType"
1788
- },
1789
- "default": "'alert'",
1790
- "description": "Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom"
1769
+ "kind": "method",
1770
+ "name": "updateValue",
1771
+ "parameters": [
1772
+ {
1773
+ "name": "newValue",
1774
+ "type": {
1775
+ "text": "string"
1776
+ }
1777
+ }
1778
+ ]
1791
1779
  },
1792
1780
  {
1793
1781
  "kind": "field",
1794
- "name": "popupTitle",
1782
+ "name": "padding",
1795
1783
  "type": {
1796
- "text": "string | undefined"
1784
+ "text": "number"
1797
1785
  },
1798
- "description": "Optional title for the popup header"
1786
+ "default": "0"
1799
1787
  },
1800
1788
  {
1801
- "kind": "field",
1802
- "name": "message",
1803
- "type": {
1804
- "text": "string | undefined"
1805
- },
1806
- "description": "Message text to display (for alert/confirm/prompt types)"
1789
+ "kind": "method",
1790
+ "name": "updatePadding",
1791
+ "parameters": [
1792
+ {
1793
+ "name": "newValue",
1794
+ "type": {
1795
+ "text": "string"
1796
+ }
1797
+ }
1798
+ ]
1807
1799
  },
1808
1800
  {
1809
1801
  "kind": "field",
1810
- "name": "modal",
1802
+ "name": "paths",
1811
1803
  "type": {
1812
- "text": "boolean"
1813
- },
1814
- "default": "true",
1815
- "description": "Whether the popup is modal (blocks interaction with page behind)"
1804
+ "text": "string"
1805
+ }
1816
1806
  },
1817
1807
  {
1818
- "kind": "field",
1819
- "name": "position",
1820
- "type": {
1821
- "text": "PopupPosition"
1822
- },
1823
- "default": "'center'",
1824
- "description": "Position of the popup on screen"
1808
+ "kind": "method",
1809
+ "name": "updateProgressBackgrounds",
1810
+ "parameters": [
1811
+ {
1812
+ "name": "newValue",
1813
+ "type": {
1814
+ "text": "string"
1815
+ }
1816
+ }
1817
+ ]
1825
1818
  },
1826
1819
  {
1827
1820
  "kind": "field",
1828
- "name": "confirmText",
1821
+ "name": "progressPaths",
1829
1822
  "type": {
1830
- "text": "string"
1831
- },
1832
- "default": "'OK'",
1833
- "description": "Text for the confirm/OK button"
1823
+ "text": "any[]"
1824
+ }
1834
1825
  },
1835
1826
  {
1836
1827
  "kind": "field",
1837
- "name": "cancelText",
1828
+ "name": "params",
1829
+ "type": {
1830
+ "text": "{\n width: number;\n diameter: number;\n circumference: number;\n }"
1831
+ }
1832
+ },
1833
+ {
1834
+ "kind": "method",
1835
+ "name": "calcParams"
1836
+ },
1837
+ {
1838
+ "kind": "method",
1839
+ "name": "getViewBox",
1840
+ "description": "Returns the viewPath attribute value for the SVG\nbased on the width of the parent element"
1841
+ },
1842
+ {
1843
+ "kind": "method",
1844
+ "name": "getPath",
1845
+ "description": "Returns the circular path for the progress stroke\nand additional paths in the background"
1846
+ },
1847
+ {
1848
+ "kind": "method",
1849
+ "name": "getStrokeDashArray"
1850
+ },
1851
+ {
1852
+ "kind": "method",
1853
+ "name": "getPaths"
1854
+ },
1855
+ {
1856
+ "kind": "method",
1857
+ "name": "render"
1858
+ }
1859
+ ],
1860
+ "attributes": [
1861
+ {
1862
+ "name": "value",
1863
+ "fieldName": "value",
1864
+ "default": "0",
1865
+ "type": {
1866
+ "text": "number"
1867
+ }
1868
+ },
1869
+ {
1870
+ "name": "padding",
1871
+ "fieldName": "padding",
1872
+ "default": "0",
1873
+ "type": {
1874
+ "text": "number"
1875
+ }
1876
+ },
1877
+ {
1878
+ "name": "paths",
1879
+ "fieldName": "paths",
1880
+ "type": {
1881
+ "text": "string"
1882
+ }
1883
+ }
1884
+ ],
1885
+ "tagName": "le-round-progress",
1886
+ "events": [],
1887
+ "customElement": true
1888
+ }
1889
+ ],
1890
+ "exports": [
1891
+ {
1892
+ "kind": "js",
1893
+ "name": "LeRoundProgress",
1894
+ "declaration": {
1895
+ "name": "LeRoundProgress",
1896
+ "module": "src/components/le-round-progress/le-round-progress.tsx"
1897
+ }
1898
+ },
1899
+ {
1900
+ "kind": "custom-element-definition",
1901
+ "name": "le-round-progress",
1902
+ "declaration": {
1903
+ "name": "LeRoundProgress",
1904
+ "module": "src/components/le-round-progress/le-round-progress.tsx"
1905
+ }
1906
+ }
1907
+ ]
1908
+ },
1909
+ {
1910
+ "kind": "javascript-module",
1911
+ "path": "src/components/le-popup/le-popup.tsx",
1912
+ "declarations": [
1913
+ {
1914
+ "kind": "class",
1915
+ "description": "A flexible popup/dialog component for alerts, confirms, prompts, and custom content.\n\nUses the native HTML <dialog> element for proper modal behavior, accessibility,\nand focus management. Can be used declaratively in HTML or programmatically \nvia leAlert(), leConfirm(), lePrompt().",
1916
+ "name": "LePopup",
1917
+ "slots": [
1918
+ {
1919
+ "description": "Default slot for custom body content",
1920
+ "name": ""
1921
+ },
1922
+ {
1923
+ "description": "Custom header content (replaces title)",
1924
+ "name": "header"
1925
+ },
1926
+ {
1927
+ "description": "Custom footer content (replaces default buttons)",
1928
+ "name": "footer"
1929
+ }
1930
+ ],
1931
+ "members": [
1932
+ {
1933
+ "kind": "field",
1934
+ "name": "el",
1935
+ "type": {
1936
+ "text": "HTMLElement"
1937
+ }
1938
+ },
1939
+ {
1940
+ "kind": "field",
1941
+ "name": "open",
1942
+ "type": {
1943
+ "text": "boolean"
1944
+ },
1945
+ "default": "false",
1946
+ "description": "Whether the popup is currently visible"
1947
+ },
1948
+ {
1949
+ "kind": "field",
1950
+ "name": "type",
1951
+ "type": {
1952
+ "text": "PopupType"
1953
+ },
1954
+ "default": "'alert'",
1955
+ "description": "Type of popup: alert (OK only), confirm (OK/Cancel), prompt (input + OK/Cancel), custom"
1956
+ },
1957
+ {
1958
+ "kind": "field",
1959
+ "name": "popupTitle",
1960
+ "type": {
1961
+ "text": "string | undefined"
1962
+ },
1963
+ "description": "Optional title for the popup header"
1964
+ },
1965
+ {
1966
+ "kind": "field",
1967
+ "name": "message",
1968
+ "type": {
1969
+ "text": "string | undefined"
1970
+ },
1971
+ "description": "Message text to display (for alert/confirm/prompt types)"
1972
+ },
1973
+ {
1974
+ "kind": "field",
1975
+ "name": "modal",
1976
+ "type": {
1977
+ "text": "boolean"
1978
+ },
1979
+ "default": "true",
1980
+ "description": "Whether the popup is modal (blocks interaction with page behind)"
1981
+ },
1982
+ {
1983
+ "kind": "field",
1984
+ "name": "position",
1985
+ "type": {
1986
+ "text": "PopupPosition"
1987
+ },
1988
+ "default": "'center'",
1989
+ "description": "Position of the popup on screen"
1990
+ },
1991
+ {
1992
+ "kind": "field",
1993
+ "name": "confirmText",
1994
+ "type": {
1995
+ "text": "string"
1996
+ },
1997
+ "default": "'OK'",
1998
+ "description": "Text for the confirm/OK button"
1999
+ },
2000
+ {
2001
+ "kind": "field",
2002
+ "name": "cancelText",
1838
2003
  "type": {
1839
2004
  "text": "string"
1840
2005
  },
@@ -2147,16 +2312,54 @@
2147
2312
  },
2148
2313
  {
2149
2314
  "kind": "javascript-module",
2150
- "path": "src/components/le-slot/le-slot.tsx",
2315
+ "path": "src/components/le-number-input/le-number-input.tsx",
2151
2316
  "declarations": [
2152
2317
  {
2153
2318
  "kind": "class",
2154
- "description": "Slot placeholder component for admin/CMS mode.\n\nThis component renders a visual placeholder for slots when in admin mode,\nallowing CMS systems to show available drop zones for content or inline editing.\n\nIn non-admin mode, this component renders nothing and acts as a passthrough.",
2155
- "name": "LeSlot",
2319
+ "description": "A number input component with validation, keyboard controls, and custom spinners.",
2320
+ "name": "LeNumberInput",
2321
+ "cssProperties": [
2322
+ {
2323
+ "description": "Input background color",
2324
+ "name": "--le-input-bg"
2325
+ },
2326
+ {
2327
+ "description": "Input text color",
2328
+ "name": "--le-input-color"
2329
+ },
2330
+ {
2331
+ "description": "Input border style",
2332
+ "name": "--le-input-border"
2333
+ },
2334
+ {
2335
+ "description": "Input border style when focused",
2336
+ "name": "--le-input-border-focus"
2337
+ },
2338
+ {
2339
+ "description": "Input border style when invalid",
2340
+ "name": "--le-input-border-error"
2341
+ },
2342
+ {
2343
+ "description": "Input border radius",
2344
+ "name": "--le-input-radius"
2345
+ },
2346
+ {
2347
+ "description": "Input padding",
2348
+ "name": "--le-input-padding"
2349
+ }
2350
+ ],
2156
2351
  "slots": [
2157
2352
  {
2158
- "description": "Default slot for placeholder content or drop zone UI",
2353
+ "description": "The label text for the input",
2159
2354
  "name": ""
2355
+ },
2356
+ {
2357
+ "description": "Additional description text displayed below the input",
2358
+ "name": "description"
2359
+ },
2360
+ {
2361
+ "description": "Icon to display at the start of the input",
2362
+ "name": "icon-start"
2160
2363
  }
2161
2364
  ],
2162
2365
  "members": [
@@ -2169,12 +2372,11 @@
2169
2372
  },
2170
2373
  {
2171
2374
  "kind": "field",
2172
- "name": "type",
2375
+ "name": "value",
2173
2376
  "type": {
2174
- "text": "'slot' | 'text' | 'textarea'"
2377
+ "text": "number"
2175
2378
  },
2176
- "default": "'slot'",
2177
- "description": "The type of slot content.\n- `slot`: Default, shows a dropzone for components (default)\n- `text`: Shows a single-line text input\n- `textarea`: Shows a multi-line text area"
2379
+ "description": "The value of the input"
2178
2380
  },
2179
2381
  {
2180
2382
  "kind": "field",
@@ -2182,267 +2384,200 @@
2182
2384
  "type": {
2183
2385
  "text": "string"
2184
2386
  },
2185
- "default": "''",
2186
- "description": "The name of the slot this placeholder represents.\nShould match the slot name in the parent component."
2387
+ "description": "The name of the input"
2187
2388
  },
2188
2389
  {
2189
2390
  "kind": "field",
2190
2391
  "name": "label",
2191
2392
  "type": {
2192
- "text": "string | undefined"
2393
+ "text": "string"
2193
2394
  },
2194
- "description": "Label to display in admin mode.\nIf not provided, the slot name will be used."
2395
+ "description": "Label for the input"
2195
2396
  },
2196
2397
  {
2197
2398
  "kind": "field",
2198
- "name": "description",
2399
+ "name": "placeholder",
2199
2400
  "type": {
2200
- "text": "string | undefined"
2401
+ "text": "string"
2201
2402
  },
2202
- "description": "Description of what content this slot accepts.\nShown in admin mode to guide content editors."
2403
+ "description": "Placeholder text"
2203
2404
  },
2204
2405
  {
2205
2406
  "kind": "field",
2206
- "name": "allowedComponents",
2407
+ "name": "min",
2207
2408
  "type": {
2208
- "text": "string | undefined"
2409
+ "text": "number | undefined"
2209
2410
  },
2210
- "description": "Comma-separated list of allowed component tags for this slot.\nUsed by CMS to filter available components."
2411
+ "description": "Minimum allowed value"
2211
2412
  },
2212
2413
  {
2213
2414
  "kind": "field",
2214
- "name": "multiple",
2415
+ "name": "max",
2215
2416
  "type": {
2216
- "text": "boolean"
2417
+ "text": "number | undefined"
2217
2418
  },
2218
- "default": "true",
2219
- "description": "Whether multiple components can be dropped in this slot."
2419
+ "description": "Maximum allowed value"
2220
2420
  },
2221
2421
  {
2222
2422
  "kind": "field",
2223
- "name": "required",
2423
+ "name": "step",
2224
2424
  "type": {
2225
- "text": "boolean"
2226
- },
2227
- "default": "false",
2228
- "description": "Whether this slot is required to have content."
2229
- },
2230
- {
2231
- "kind": "field",
2232
- "name": "placeholder",
2233
- "type": {
2234
- "text": "string | undefined"
2425
+ "text": "number"
2235
2426
  },
2236
- "description": "Placeholder text for text/textarea inputs in admin mode."
2427
+ "default": "1",
2428
+ "description": "Step value for increment/decrement"
2237
2429
  },
2238
2430
  {
2239
2431
  "kind": "field",
2240
- "name": "tag",
2432
+ "name": "required",
2241
2433
  "type": {
2242
- "text": "string | undefined"
2434
+ "text": "boolean"
2243
2435
  },
2244
- "description": "The HTML tag to create when there's no slotted element.\nUsed with type=\"text\" or type=\"textarea\" to auto-create elements."
2436
+ "default": "false",
2437
+ "description": "Whether the input is required"
2245
2438
  },
2246
2439
  {
2247
2440
  "kind": "field",
2248
- "name": "slotStyle",
2441
+ "name": "disabled",
2249
2442
  "type": {
2250
- "text": "string | undefined"
2443
+ "text": "boolean"
2251
2444
  },
2252
- "description": "CSS styles for the slot dropzone container.\nUseful for layouts - e.g., \"flex-direction: row\" for horizontal stacks.\nOnly applies in admin mode for type=\"slot\"."
2445
+ "default": "false",
2446
+ "description": "Whether the input is disabled"
2253
2447
  },
2254
2448
  {
2255
2449
  "kind": "field",
2256
- "name": "adminMode",
2450
+ "name": "readonly",
2257
2451
  "type": {
2258
2452
  "text": "boolean"
2259
2453
  },
2260
- "privacy": "private",
2261
2454
  "default": "false",
2262
- "description": "Internal state to track admin mode"
2455
+ "description": "Whether the input is read-only"
2263
2456
  },
2264
2457
  {
2265
2458
  "kind": "field",
2266
- "name": "textValue",
2459
+ "name": "iconStart",
2267
2460
  "type": {
2268
- "text": "string"
2461
+ "text": "string | undefined"
2269
2462
  },
2270
- "privacy": "private",
2271
- "default": "''",
2272
- "description": "Internal state for text input value (synced from slot content)"
2463
+ "description": "Icon for the start icon"
2273
2464
  },
2274
2465
  {
2275
2466
  "kind": "field",
2276
- "name": "isValidHtml",
2467
+ "name": "showSpinners",
2277
2468
  "type": {
2278
2469
  "text": "boolean"
2279
2470
  },
2280
- "privacy": "private",
2281
2471
  "default": "true",
2282
- "description": "Whether the current textValue contains valid HTML"
2472
+ "description": "Whether to show the spinner controls"
2283
2473
  },
2284
2474
  {
2285
2475
  "kind": "field",
2286
- "name": "availableComponents",
2476
+ "name": "externalId",
2287
2477
  "type": {
2288
- "text": "ComponentInfo[]"
2478
+ "text": "string"
2289
2479
  },
2290
- "privacy": "private",
2291
- "default": "[]",
2292
- "description": "Available components loaded from Custom Elements Manifest"
2480
+ "description": "External ID for linking with external systems"
2293
2481
  },
2294
2482
  {
2295
2483
  "kind": "field",
2296
- "name": "pickerOpen",
2484
+ "name": "isValid",
2297
2485
  "type": {
2298
2486
  "text": "boolean"
2299
2487
  },
2300
2488
  "privacy": "private",
2301
- "default": "false",
2302
- "description": "Whether the component picker popover is open"
2489
+ "default": "true",
2490
+ "description": "Internal validation state"
2303
2491
  },
2304
2492
  {
2305
2493
  "kind": "field",
2306
- "name": "slotRef",
2494
+ "name": "validationMessage",
2307
2495
  "type": {
2308
- "text": "HTMLSlotElement | undefined"
2496
+ "text": "string"
2309
2497
  },
2310
2498
  "privacy": "private",
2311
- "description": "Reference to the slot element to access assignedNodes"
2499
+ "default": "''"
2312
2500
  },
2313
2501
  {
2314
- "kind": "field",
2315
- "name": "slottedElement",
2316
- "type": {
2317
- "text": "Element | undefined"
2318
- },
2319
- "privacy": "private",
2320
- "description": "The original slotted element (e.g., <h3 slot=\"header\">)"
2502
+ "kind": "method",
2503
+ "name": "valueChanged"
2321
2504
  },
2322
2505
  {
2323
- "kind": "field",
2324
- "name": "disconnectModeObserver",
2325
- "type": {
2326
- "text": "() => void | undefined"
2327
- },
2506
+ "kind": "method",
2507
+ "name": "validate",
2328
2508
  "privacy": "private"
2329
2509
  },
2330
2510
  {
2331
- "kind": "field",
2332
- "name": "isUpdating",
2333
- "type": {
2334
- "text": "boolean"
2335
- },
2336
- "privacy": "private",
2337
- "default": "false",
2338
- "description": "Flag to prevent re-reading content right after we updated it"
2511
+ "kind": "method",
2512
+ "name": "emitChange",
2513
+ "privacy": "private"
2339
2514
  },
2340
2515
  {
2341
2516
  "kind": "method",
2342
- "name": "readSlottedContent",
2343
- "privacy": "private",
2344
- "description": "Read content from slotted elements via assignedNodes()"
2517
+ "name": "emitInput",
2518
+ "privacy": "private"
2345
2519
  },
2346
2520
  {
2347
2521
  "kind": "method",
2348
- "name": "validateHtml",
2522
+ "name": "updateValue",
2349
2523
  "privacy": "private",
2350
- "return": {
2351
- "type": {
2352
- "text": "boolean"
2353
- }
2354
- },
2355
2524
  "parameters": [
2356
2525
  {
2357
- "name": "html",
2526
+ "name": "newValue",
2358
2527
  "type": {
2359
- "text": "string"
2528
+ "text": "number"
2360
2529
  }
2361
2530
  }
2362
- ],
2363
- "description": "Validates if a string contains valid HTML"
2531
+ ]
2364
2532
  },
2365
2533
  {
2366
2534
  "kind": "field",
2367
- "name": "handleTextInput",
2535
+ "name": "handleInput",
2368
2536
  "privacy": "private"
2369
2537
  },
2370
2538
  {
2371
- "kind": "method",
2372
- "name": "createSlottedElement",
2373
- "privacy": "private",
2374
- "description": "Create a new slotted element when none exists.\nThe element is appended to the host component's light DOM."
2539
+ "kind": "field",
2540
+ "name": "handleChange",
2541
+ "privacy": "private"
2375
2542
  },
2376
2543
  {
2377
- "kind": "method",
2378
- "name": "loadAvailableComponents",
2379
- "privacy": "private",
2380
- "description": "Load available components from Custom Elements Manifest"
2544
+ "kind": "field",
2545
+ "name": "handleKeyDown",
2546
+ "privacy": "private"
2381
2547
  },
2382
2548
  {
2383
- "kind": "method",
2384
- "name": "formatComponentName",
2385
- "privacy": "private",
2386
- "return": {
2387
- "type": {
2388
- "text": "string"
2389
- }
2390
- },
2391
- "parameters": [
2392
- {
2393
- "name": "tagName",
2394
- "type": {
2395
- "text": "string"
2396
- }
2397
- }
2398
- ],
2399
- "description": "Format a tag name into a display name\ne.g., 'le-card' -> 'Card'"
2549
+ "kind": "field",
2550
+ "name": "handleWheel",
2551
+ "privacy": "private"
2400
2552
  },
2401
2553
  {
2402
- "kind": "method",
2403
- "name": "addComponent",
2404
- "privacy": "private",
2405
- "parameters": [
2406
- {
2407
- "name": "tagName",
2408
- "type": {
2409
- "text": "string"
2410
- }
2411
- }
2412
- ],
2413
- "description": "Add a new component to the slot"
2554
+ "kind": "field",
2555
+ "name": "increment",
2556
+ "privacy": "private"
2414
2557
  },
2415
2558
  {
2416
2559
  "kind": "field",
2417
- "name": "handleSlotChange",
2418
- "privacy": "private",
2419
- "description": "Handle slot change event to re-read content when nodes are assigned"
2560
+ "name": "decrement",
2561
+ "privacy": "private"
2420
2562
  },
2421
2563
  {
2422
2564
  "kind": "method",
2423
2565
  "name": "render"
2424
- },
2425
- {
2426
- "kind": "method",
2427
- "name": "renderContent",
2428
- "privacy": "private"
2429
2566
  }
2430
2567
  ],
2431
2568
  "attributes": [
2432
2569
  {
2433
- "name": "type",
2434
- "fieldName": "type",
2435
- "default": "'slot'",
2436
- "description": "The type of slot content.\n- `slot`: Default, shows a dropzone for components (default)\n- `text`: Shows a single-line text input\n- `textarea`: Shows a multi-line text area",
2570
+ "name": "value",
2571
+ "fieldName": "value",
2572
+ "description": "The value of the input",
2437
2573
  "type": {
2438
- "text": "'slot' | 'text' | 'textarea'"
2574
+ "text": "number"
2439
2575
  }
2440
2576
  },
2441
2577
  {
2442
2578
  "name": "name",
2443
2579
  "fieldName": "name",
2444
- "default": "''",
2445
- "description": "The name of the slot this placeholder represents.\nShould match the slot name in the parent component.",
2580
+ "description": "The name of the input",
2446
2581
  "type": {
2447
2582
  "text": "string"
2448
2583
  }
@@ -2450,78 +2585,112 @@
2450
2585
  {
2451
2586
  "name": "label",
2452
2587
  "fieldName": "label",
2453
- "description": "Label to display in admin mode.\nIf not provided, the slot name will be used.",
2588
+ "description": "Label for the input",
2454
2589
  "type": {
2455
2590
  "text": "string"
2456
2591
  }
2457
2592
  },
2458
2593
  {
2459
- "name": "description",
2460
- "fieldName": "description",
2461
- "description": "Description of what content this slot accepts.\nShown in admin mode to guide content editors.",
2594
+ "name": "placeholder",
2595
+ "fieldName": "placeholder",
2596
+ "description": "Placeholder text",
2462
2597
  "type": {
2463
2598
  "text": "string"
2464
2599
  }
2465
2600
  },
2466
2601
  {
2467
- "name": "allowed-components",
2468
- "fieldName": "allowedComponents",
2469
- "description": "Comma-separated list of allowed component tags for this slot.\nUsed by CMS to filter available components.",
2602
+ "name": "min",
2603
+ "fieldName": "min",
2604
+ "description": "Minimum allowed value",
2470
2605
  "type": {
2471
- "text": "string"
2606
+ "text": "number"
2472
2607
  }
2473
2608
  },
2474
2609
  {
2475
- "name": "multiple",
2476
- "fieldName": "multiple",
2477
- "default": "true",
2478
- "description": "Whether multiple components can be dropped in this slot.",
2610
+ "name": "max",
2611
+ "fieldName": "max",
2612
+ "description": "Maximum allowed value",
2479
2613
  "type": {
2480
- "text": "boolean"
2614
+ "text": "number"
2615
+ }
2616
+ },
2617
+ {
2618
+ "name": "step",
2619
+ "fieldName": "step",
2620
+ "default": "1",
2621
+ "description": "Step value for increment/decrement",
2622
+ "type": {
2623
+ "text": "number"
2481
2624
  }
2482
2625
  },
2483
2626
  {
2484
2627
  "name": "required",
2485
2628
  "fieldName": "required",
2486
2629
  "default": "false",
2487
- "description": "Whether this slot is required to have content.",
2630
+ "description": "Whether the input is required",
2488
2631
  "type": {
2489
2632
  "text": "boolean"
2490
2633
  }
2491
2634
  },
2492
2635
  {
2493
- "name": "placeholder",
2494
- "fieldName": "placeholder",
2495
- "description": "Placeholder text for text/textarea inputs in admin mode.",
2636
+ "name": "disabled",
2637
+ "fieldName": "disabled",
2638
+ "default": "false",
2639
+ "description": "Whether the input is disabled",
2496
2640
  "type": {
2497
- "text": "string"
2641
+ "text": "boolean"
2498
2642
  }
2499
2643
  },
2500
2644
  {
2501
- "name": "tag",
2502
- "fieldName": "tag",
2503
- "description": "The HTML tag to create when there's no slotted element.\nUsed with type=\"text\" or type=\"textarea\" to auto-create elements.",
2645
+ "name": "readonly",
2646
+ "fieldName": "readonly",
2647
+ "default": "false",
2648
+ "description": "Whether the input is read-only",
2504
2649
  "type": {
2505
- "text": "string"
2650
+ "text": "boolean"
2506
2651
  }
2507
2652
  },
2508
2653
  {
2509
- "name": "slot-style",
2510
- "fieldName": "slotStyle",
2511
- "description": "CSS styles for the slot dropzone container.\nUseful for layouts - e.g., \"flex-direction: row\" for horizontal stacks.\nOnly applies in admin mode for type=\"slot\".",
2654
+ "name": "icon-start",
2655
+ "fieldName": "iconStart",
2656
+ "description": "Icon for the start icon",
2512
2657
  "type": {
2513
2658
  "text": "string"
2514
2659
  }
2515
- }
2516
- ],
2517
- "tagName": "le-slot",
2518
- "events": [
2660
+ },
2519
2661
  {
2520
- "name": "leSlotChange",
2662
+ "name": "show-spinners",
2663
+ "fieldName": "showSpinners",
2664
+ "default": "true",
2665
+ "description": "Whether to show the spinner controls",
2521
2666
  "type": {
2522
- "text": "EventEmitter<{ name: string; value: string; isValid: boolean }>"
2667
+ "text": "boolean"
2668
+ }
2669
+ },
2670
+ {
2671
+ "name": "external-id",
2672
+ "fieldName": "externalId",
2673
+ "description": "External ID for linking with external systems",
2674
+ "type": {
2675
+ "text": "string"
2676
+ }
2677
+ }
2678
+ ],
2679
+ "tagName": "le-number-input",
2680
+ "events": [
2681
+ {
2682
+ "name": "leChange",
2683
+ "type": {
2684
+ "text": "EventEmitter<{ value: number; name: string; externalId: string; isValid: boolean }>"
2523
2685
  },
2524
- "description": "Emitted when text content changes in admin mode.\nThe event detail contains the new text value and validity."
2686
+ "description": "Emitted when the value changes (on blur or Enter)"
2687
+ },
2688
+ {
2689
+ "name": "leInput",
2690
+ "type": {
2691
+ "text": "EventEmitter<{ value: number; name: string; externalId: string; isValid: boolean }>"
2692
+ },
2693
+ "description": "Emitted when the input value changes (on keystroke/spin)"
2525
2694
  }
2526
2695
  ],
2527
2696
  "customElement": true
@@ -2530,45 +2699,33 @@
2530
2699
  "exports": [
2531
2700
  {
2532
2701
  "kind": "js",
2533
- "name": "LeSlot",
2702
+ "name": "LeNumberInput",
2534
2703
  "declaration": {
2535
- "name": "LeSlot",
2536
- "module": "src/components/le-slot/le-slot.tsx"
2704
+ "name": "LeNumberInput",
2705
+ "module": "src/components/le-number-input/le-number-input.tsx"
2537
2706
  }
2538
2707
  },
2539
2708
  {
2540
2709
  "kind": "custom-element-definition",
2541
- "name": "le-slot",
2710
+ "name": "le-number-input",
2542
2711
  "declaration": {
2543
- "name": "LeSlot",
2544
- "module": "src/components/le-slot/le-slot.tsx"
2712
+ "name": "LeNumberInput",
2713
+ "module": "src/components/le-number-input/le-number-input.tsx"
2545
2714
  }
2546
2715
  }
2547
2716
  ]
2548
2717
  },
2549
2718
  {
2550
2719
  "kind": "javascript-module",
2551
- "path": "src/components/le-stack/le-stack.tsx",
2720
+ "path": "src/components/le-slot/le-slot.tsx",
2552
2721
  "declarations": [
2553
2722
  {
2554
2723
  "kind": "class",
2555
- "description": "A flexible stack layout component using CSS flexbox.\n\n`le-stack` arranges its children in a row (horizontal) or column (vertical)\nwith configurable spacing, alignment, and wrapping behavior. Perfect for\ncreating responsive layouts.",
2556
- "name": "LeStack",
2557
- "cssProperties": [
2558
- {
2559
- "description": "Gap between items (defaults to var(--le-space-md))",
2560
- "name": "--le-stack-gap"
2561
- }
2562
- ],
2563
- "cssParts": [
2564
- {
2565
- "description": "The main stack container",
2566
- "name": "stack"
2567
- }
2568
- ],
2724
+ "description": "Slot placeholder component for admin/CMS mode.\n\nThis component renders a visual placeholder for slots when in admin mode,\nallowing CMS systems to show available drop zones for content or inline editing.\n\nIn non-admin mode, this component renders nothing and acts as a passthrough.",
2725
+ "name": "LeSlot",
2569
2726
  "slots": [
2570
2727
  {
2571
- "description": "Default slot for stack items (le-box components recommended)",
2728
+ "description": "Default slot for placeholder content or drop zone UI",
2572
2729
  "name": ""
2573
2730
  }
2574
2731
  ],
@@ -2582,317 +2739,407 @@
2582
2739
  },
2583
2740
  {
2584
2741
  "kind": "field",
2585
- "name": "direction",
2742
+ "name": "type",
2586
2743
  "type": {
2587
- "text": "'horizontal' | 'vertical'"
2744
+ "text": "'slot' | 'text' | 'textarea'"
2588
2745
  },
2589
- "default": "'horizontal'",
2590
- "description": "Direction of the stack layout"
2746
+ "default": "'slot'",
2747
+ "description": "The type of slot content.\n- `slot`: Default, shows a dropzone for components (default)\n- `text`: Shows a single-line text input\n- `textarea`: Shows a multi-line text area"
2591
2748
  },
2592
2749
  {
2593
2750
  "kind": "field",
2594
- "name": "gap",
2751
+ "name": "name",
2752
+ "type": {
2753
+ "text": "string"
2754
+ },
2755
+ "default": "''",
2756
+ "description": "The name of the slot this placeholder represents.\nShould match the slot name in the parent component."
2757
+ },
2758
+ {
2759
+ "kind": "field",
2760
+ "name": "label",
2595
2761
  "type": {
2596
2762
  "text": "string | undefined"
2597
2763
  },
2598
- "description": "Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')"
2764
+ "description": "Label to display in admin mode.\nIf not provided, the slot name will be used."
2599
2765
  },
2600
2766
  {
2601
2767
  "kind": "field",
2602
- "name": "align",
2768
+ "name": "description",
2603
2769
  "type": {
2604
- "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
2770
+ "text": "string | undefined"
2605
2771
  },
2606
- "default": "'stretch'",
2607
- "description": "Alignment of items on the cross axis"
2772
+ "description": "Description of what content this slot accepts.\nShown in admin mode to guide content editors."
2608
2773
  },
2609
2774
  {
2610
2775
  "kind": "field",
2611
- "name": "justify",
2776
+ "name": "allowedComponents",
2612
2777
  "type": {
2613
- "text": "'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly'"
2778
+ "text": "string | undefined"
2614
2779
  },
2615
- "default": "'start'",
2616
- "description": "Distribution of items on the main axis"
2780
+ "description": "Comma-separated list of allowed component tags for this slot.\nUsed by CMS to filter available components."
2617
2781
  },
2618
2782
  {
2619
2783
  "kind": "field",
2620
- "name": "wrap",
2784
+ "name": "multiple",
2785
+ "type": {
2786
+ "text": "boolean"
2787
+ },
2788
+ "default": "true",
2789
+ "description": "Whether multiple components can be dropped in this slot."
2790
+ },
2791
+ {
2792
+ "kind": "field",
2793
+ "name": "required",
2621
2794
  "type": {
2622
2795
  "text": "boolean"
2623
2796
  },
2624
2797
  "default": "false",
2625
- "description": "Whether items should wrap to multiple lines"
2798
+ "description": "Whether this slot is required to have content."
2626
2799
  },
2627
2800
  {
2628
2801
  "kind": "field",
2629
- "name": "alignContent",
2802
+ "name": "placeholder",
2630
2803
  "type": {
2631
- "text": "'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around'"
2804
+ "text": "string | undefined"
2632
2805
  },
2633
- "default": "'stretch'",
2634
- "description": "Alignment of wrapped lines (only applies when wrap is true)"
2806
+ "description": "Placeholder text for text/textarea inputs in admin mode."
2635
2807
  },
2636
2808
  {
2637
2809
  "kind": "field",
2638
- "name": "reverse",
2810
+ "name": "tag",
2811
+ "type": {
2812
+ "text": "string | undefined"
2813
+ },
2814
+ "description": "The HTML tag to create when there's no slotted element.\nUsed with type=\"text\" or type=\"textarea\" to auto-create elements."
2815
+ },
2816
+ {
2817
+ "kind": "field",
2818
+ "name": "slotStyle",
2819
+ "type": {
2820
+ "text": "string | undefined"
2821
+ },
2822
+ "description": "CSS styles for the slot dropzone container.\nUseful for layouts - e.g., \"flex-direction: row\" for horizontal stacks.\nOnly applies in admin mode for type=\"slot\"."
2823
+ },
2824
+ {
2825
+ "kind": "field",
2826
+ "name": "adminMode",
2639
2827
  "type": {
2640
2828
  "text": "boolean"
2641
2829
  },
2830
+ "privacy": "private",
2642
2831
  "default": "false",
2643
- "description": "Whether to reverse the order of items"
2832
+ "description": "Internal state to track admin mode"
2644
2833
  },
2645
2834
  {
2646
2835
  "kind": "field",
2647
- "name": "maxItems",
2836
+ "name": "textValue",
2648
2837
  "type": {
2649
- "text": "number | undefined"
2838
+ "text": "string"
2650
2839
  },
2651
- "description": "Maximum number of items allowed in the stack (for CMS validation)"
2840
+ "privacy": "private",
2841
+ "default": "''",
2842
+ "description": "Internal state for text input value (synced from slot content)"
2652
2843
  },
2653
2844
  {
2654
2845
  "kind": "field",
2655
- "name": "fullWidth",
2846
+ "name": "isValidHtml",
2656
2847
  "type": {
2657
2848
  "text": "boolean"
2658
2849
  },
2659
- "default": "false",
2660
- "description": "Whether the stack should take full width of its container"
2850
+ "privacy": "private",
2851
+ "default": "true",
2852
+ "description": "Whether the current textValue contains valid HTML"
2661
2853
  },
2662
2854
  {
2663
2855
  "kind": "field",
2664
- "name": "fullHeight",
2856
+ "name": "availableComponents",
2857
+ "type": {
2858
+ "text": "ComponentInfo[]"
2859
+ },
2860
+ "privacy": "private",
2861
+ "default": "[]",
2862
+ "description": "Available components loaded from Custom Elements Manifest"
2863
+ },
2864
+ {
2865
+ "kind": "field",
2866
+ "name": "pickerOpen",
2665
2867
  "type": {
2666
2868
  "text": "boolean"
2667
2869
  },
2870
+ "privacy": "private",
2668
2871
  "default": "false",
2669
- "description": "Whether the stack should take full height of its container"
2872
+ "description": "Whether the component picker popover is open"
2670
2873
  },
2671
2874
  {
2672
2875
  "kind": "field",
2673
- "name": "padding",
2876
+ "name": "slotRef",
2674
2877
  "type": {
2675
- "text": "string | undefined"
2878
+ "text": "HTMLSlotElement | undefined"
2676
2879
  },
2677
- "description": "Padding inside the stack container (CSS value)"
2880
+ "privacy": "private",
2881
+ "description": "Reference to the slot element to access assignedNodes"
2882
+ },
2883
+ {
2884
+ "kind": "field",
2885
+ "name": "slottedElement",
2886
+ "type": {
2887
+ "text": "Element | undefined"
2888
+ },
2889
+ "privacy": "private",
2890
+ "description": "The original slotted element (e.g., <h3 slot=\"header\">)"
2891
+ },
2892
+ {
2893
+ "kind": "field",
2894
+ "name": "disconnectModeObserver",
2895
+ "type": {
2896
+ "text": "() => void | undefined"
2897
+ },
2898
+ "privacy": "private"
2899
+ },
2900
+ {
2901
+ "kind": "field",
2902
+ "name": "isUpdating",
2903
+ "type": {
2904
+ "text": "boolean"
2905
+ },
2906
+ "privacy": "private",
2907
+ "default": "false",
2908
+ "description": "Flag to prevent re-reading content right after we updated it"
2678
2909
  },
2679
2910
  {
2680
2911
  "kind": "method",
2681
- "name": "getFlexDirection",
2912
+ "name": "readSlottedContent",
2682
2913
  "privacy": "private",
2683
- "return": {
2684
- "type": {
2685
- "text": "string"
2686
- }
2687
- }
2914
+ "description": "Read content from slotted elements via assignedNodes()"
2688
2915
  },
2689
2916
  {
2690
2917
  "kind": "method",
2691
- "name": "getAlignItems",
2918
+ "name": "validateHtml",
2692
2919
  "privacy": "private",
2693
2920
  "return": {
2694
2921
  "type": {
2695
- "text": "string"
2922
+ "text": "boolean"
2696
2923
  }
2697
- }
2924
+ },
2925
+ "parameters": [
2926
+ {
2927
+ "name": "html",
2928
+ "type": {
2929
+ "text": "string"
2930
+ }
2931
+ }
2932
+ ],
2933
+ "description": "Validates if a string contains valid HTML"
2934
+ },
2935
+ {
2936
+ "kind": "field",
2937
+ "name": "handleTextInput",
2938
+ "privacy": "private"
2698
2939
  },
2699
2940
  {
2700
2941
  "kind": "method",
2701
- "name": "getJustifyContent",
2942
+ "name": "createSlottedElement",
2702
2943
  "privacy": "private",
2703
- "return": {
2704
- "type": {
2705
- "text": "string"
2706
- }
2707
- }
2944
+ "description": "Create a new slotted element when none exists.\nThe element is appended to the host component's light DOM."
2708
2945
  },
2709
2946
  {
2710
2947
  "kind": "method",
2711
- "name": "getAlignContent",
2948
+ "name": "loadAvailableComponents",
2949
+ "privacy": "private",
2950
+ "description": "Load available components from Custom Elements Manifest"
2951
+ },
2952
+ {
2953
+ "kind": "method",
2954
+ "name": "formatComponentName",
2712
2955
  "privacy": "private",
2713
2956
  "return": {
2714
2957
  "type": {
2715
2958
  "text": "string"
2716
2959
  }
2717
- }
2960
+ },
2961
+ "parameters": [
2962
+ {
2963
+ "name": "tagName",
2964
+ "type": {
2965
+ "text": "string"
2966
+ }
2967
+ }
2968
+ ],
2969
+ "description": "Format a tag name into a display name\ne.g., 'le-card' -> 'Card'"
2718
2970
  },
2719
2971
  {
2720
2972
  "kind": "method",
2721
- "name": "render"
2722
- }
2973
+ "name": "addComponent",
2974
+ "privacy": "private",
2975
+ "parameters": [
2976
+ {
2977
+ "name": "tagName",
2978
+ "type": {
2979
+ "text": "string"
2980
+ }
2981
+ }
2982
+ ],
2983
+ "description": "Add a new component to the slot"
2984
+ },
2985
+ {
2986
+ "kind": "field",
2987
+ "name": "handleSlotChange",
2988
+ "privacy": "private",
2989
+ "description": "Handle slot change event to re-read content when nodes are assigned"
2990
+ },
2991
+ {
2992
+ "kind": "method",
2993
+ "name": "render"
2994
+ },
2995
+ {
2996
+ "kind": "method",
2997
+ "name": "renderContent",
2998
+ "privacy": "private"
2999
+ }
2723
3000
  ],
2724
3001
  "attributes": [
2725
3002
  {
2726
- "name": "direction",
2727
- "fieldName": "direction",
2728
- "default": "'horizontal'",
2729
- "description": "Direction of the stack layout",
3003
+ "name": "type",
3004
+ "fieldName": "type",
3005
+ "default": "'slot'",
3006
+ "description": "The type of slot content.\n- `slot`: Default, shows a dropzone for components (default)\n- `text`: Shows a single-line text input\n- `textarea`: Shows a multi-line text area",
2730
3007
  "type": {
2731
- "text": "'horizontal' | 'vertical'"
3008
+ "text": "'slot' | 'text' | 'textarea'"
2732
3009
  }
2733
3010
  },
2734
3011
  {
2735
- "name": "gap",
2736
- "fieldName": "gap",
2737
- "description": "Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')",
3012
+ "name": "name",
3013
+ "fieldName": "name",
3014
+ "default": "''",
3015
+ "description": "The name of the slot this placeholder represents.\nShould match the slot name in the parent component.",
2738
3016
  "type": {
2739
3017
  "text": "string"
2740
3018
  }
2741
3019
  },
2742
3020
  {
2743
- "name": "align",
2744
- "fieldName": "align",
2745
- "default": "'stretch'",
2746
- "description": "Alignment of items on the cross axis",
3021
+ "name": "label",
3022
+ "fieldName": "label",
3023
+ "description": "Label to display in admin mode.\nIf not provided, the slot name will be used.",
2747
3024
  "type": {
2748
- "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
3025
+ "text": "string"
2749
3026
  }
2750
3027
  },
2751
3028
  {
2752
- "name": "justify",
2753
- "fieldName": "justify",
2754
- "default": "'start'",
2755
- "description": "Distribution of items on the main axis",
3029
+ "name": "description",
3030
+ "fieldName": "description",
3031
+ "description": "Description of what content this slot accepts.\nShown in admin mode to guide content editors.",
2756
3032
  "type": {
2757
- "text": "'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly'"
3033
+ "text": "string"
2758
3034
  }
2759
3035
  },
2760
3036
  {
2761
- "name": "wrap",
2762
- "fieldName": "wrap",
2763
- "default": "false",
2764
- "description": "Whether items should wrap to multiple lines",
3037
+ "name": "allowed-components",
3038
+ "fieldName": "allowedComponents",
3039
+ "description": "Comma-separated list of allowed component tags for this slot.\nUsed by CMS to filter available components.",
2765
3040
  "type": {
2766
- "text": "boolean"
3041
+ "text": "string"
2767
3042
  }
2768
3043
  },
2769
3044
  {
2770
- "name": "align-content",
2771
- "fieldName": "alignContent",
2772
- "default": "'stretch'",
2773
- "description": "Alignment of wrapped lines (only applies when wrap is true)",
3045
+ "name": "multiple",
3046
+ "fieldName": "multiple",
3047
+ "default": "true",
3048
+ "description": "Whether multiple components can be dropped in this slot.",
2774
3049
  "type": {
2775
- "text": "'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around'"
3050
+ "text": "boolean"
2776
3051
  }
2777
3052
  },
2778
3053
  {
2779
- "name": "reverse",
2780
- "fieldName": "reverse",
3054
+ "name": "required",
3055
+ "fieldName": "required",
2781
3056
  "default": "false",
2782
- "description": "Whether to reverse the order of items",
3057
+ "description": "Whether this slot is required to have content.",
2783
3058
  "type": {
2784
3059
  "text": "boolean"
2785
3060
  }
2786
3061
  },
2787
3062
  {
2788
- "name": "max-items",
2789
- "fieldName": "maxItems",
2790
- "description": "Maximum number of items allowed in the stack (for CMS validation)",
3063
+ "name": "placeholder",
3064
+ "fieldName": "placeholder",
3065
+ "description": "Placeholder text for text/textarea inputs in admin mode.",
2791
3066
  "type": {
2792
- "text": "number"
3067
+ "text": "string"
2793
3068
  }
2794
3069
  },
2795
3070
  {
2796
- "name": "full-width",
2797
- "fieldName": "fullWidth",
2798
- "default": "false",
2799
- "description": "Whether the stack should take full width of its container",
3071
+ "name": "tag",
3072
+ "fieldName": "tag",
3073
+ "description": "The HTML tag to create when there's no slotted element.\nUsed with type=\"text\" or type=\"textarea\" to auto-create elements.",
2800
3074
  "type": {
2801
- "text": "boolean"
3075
+ "text": "string"
2802
3076
  }
2803
3077
  },
2804
3078
  {
2805
- "name": "full-height",
2806
- "fieldName": "fullHeight",
2807
- "default": "false",
2808
- "description": "Whether the stack should take full height of its container",
3079
+ "name": "slot-style",
3080
+ "fieldName": "slotStyle",
3081
+ "description": "CSS styles for the slot dropzone container.\nUseful for layouts - e.g., \"flex-direction: row\" for horizontal stacks.\nOnly applies in admin mode for type=\"slot\".",
2809
3082
  "type": {
2810
- "text": "boolean"
3083
+ "text": "string"
2811
3084
  }
2812
- },
3085
+ }
3086
+ ],
3087
+ "tagName": "le-slot",
3088
+ "events": [
2813
3089
  {
2814
- "name": "padding",
2815
- "fieldName": "padding",
2816
- "description": "Padding inside the stack container (CSS value)",
3090
+ "name": "leSlotChange",
2817
3091
  "type": {
2818
- "text": "string"
2819
- }
3092
+ "text": "EventEmitter<{ name: string; value: string; isValid: boolean }>"
3093
+ },
3094
+ "description": "Emitted when text content changes in admin mode.\nThe event detail contains the new text value and validity."
2820
3095
  }
2821
3096
  ],
2822
- "tagName": "le-stack",
2823
- "events": [],
2824
3097
  "customElement": true
2825
3098
  }
2826
3099
  ],
2827
3100
  "exports": [
2828
3101
  {
2829
3102
  "kind": "js",
2830
- "name": "LeStack",
3103
+ "name": "LeSlot",
2831
3104
  "declaration": {
2832
- "name": "LeStack",
2833
- "module": "src/components/le-stack/le-stack.tsx"
3105
+ "name": "LeSlot",
3106
+ "module": "src/components/le-slot/le-slot.tsx"
2834
3107
  }
2835
3108
  },
2836
3109
  {
2837
3110
  "kind": "custom-element-definition",
2838
- "name": "le-stack",
3111
+ "name": "le-slot",
2839
3112
  "declaration": {
2840
- "name": "LeStack",
2841
- "module": "src/components/le-stack/le-stack.tsx"
3113
+ "name": "LeSlot",
3114
+ "module": "src/components/le-slot/le-slot.tsx"
2842
3115
  }
2843
3116
  }
2844
3117
  ]
2845
3118
  },
2846
3119
  {
2847
3120
  "kind": "javascript-module",
2848
- "path": "src/components/le-number-input/le-number-input.tsx",
3121
+ "path": "src/components/le-stack/le-stack.tsx",
2849
3122
  "declarations": [
2850
3123
  {
2851
3124
  "kind": "class",
2852
- "description": "A number input component with validation, keyboard controls, and custom spinners.",
2853
- "name": "LeNumberInput",
3125
+ "description": "A flexible stack layout component using CSS flexbox.\n\n`le-stack` arranges its children in a row (horizontal) or column (vertical)\nwith configurable spacing, alignment, and wrapping behavior. Perfect for\ncreating responsive layouts.",
3126
+ "name": "LeStack",
2854
3127
  "cssProperties": [
2855
3128
  {
2856
- "description": "Input background color",
2857
- "name": "--le-input-bg"
2858
- },
2859
- {
2860
- "description": "Input text color",
2861
- "name": "--le-input-color"
2862
- },
2863
- {
2864
- "description": "Input border style",
2865
- "name": "--le-input-border"
2866
- },
2867
- {
2868
- "description": "Input border style when focused",
2869
- "name": "--le-input-border-focus"
2870
- },
2871
- {
2872
- "description": "Input border style when invalid",
2873
- "name": "--le-input-border-error"
2874
- },
2875
- {
2876
- "description": "Input border radius",
2877
- "name": "--le-input-radius"
2878
- },
3129
+ "description": "Gap between items (defaults to var(--le-space-md))",
3130
+ "name": "--le-stack-gap"
3131
+ }
3132
+ ],
3133
+ "cssParts": [
2879
3134
  {
2880
- "description": "Input padding",
2881
- "name": "--le-input-padding"
3135
+ "description": "The main stack container",
3136
+ "name": "stack"
2882
3137
  }
2883
3138
  ],
2884
3139
  "slots": [
2885
3140
  {
2886
- "description": "The label text for the input",
3141
+ "description": "Default slot for stack items (le-box components recommended)",
2887
3142
  "name": ""
2888
- },
2889
- {
2890
- "description": "Additional description text displayed below the input",
2891
- "name": "description"
2892
- },
2893
- {
2894
- "description": "Icon to display at the start of the input",
2895
- "name": "icon-start"
2896
3143
  }
2897
3144
  ],
2898
3145
  "members": [
@@ -2905,193 +3152,139 @@
2905
3152
  },
2906
3153
  {
2907
3154
  "kind": "field",
2908
- "name": "value",
3155
+ "name": "direction",
2909
3156
  "type": {
2910
- "text": "number"
3157
+ "text": "'horizontal' | 'vertical'"
2911
3158
  },
2912
- "description": "The value of the input"
3159
+ "default": "'horizontal'",
3160
+ "description": "Direction of the stack layout"
2913
3161
  },
2914
3162
  {
2915
3163
  "kind": "field",
2916
- "name": "name",
3164
+ "name": "gap",
2917
3165
  "type": {
2918
- "text": "string"
3166
+ "text": "string | undefined"
2919
3167
  },
2920
- "description": "The name of the input"
3168
+ "description": "Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')"
2921
3169
  },
2922
3170
  {
2923
3171
  "kind": "field",
2924
- "name": "label",
3172
+ "name": "align",
2925
3173
  "type": {
2926
- "text": "string"
3174
+ "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
2927
3175
  },
2928
- "description": "Label for the input"
3176
+ "default": "'stretch'",
3177
+ "description": "Alignment of items on the cross axis"
2929
3178
  },
2930
3179
  {
2931
3180
  "kind": "field",
2932
- "name": "placeholder",
3181
+ "name": "justify",
2933
3182
  "type": {
2934
- "text": "string"
3183
+ "text": "'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly'"
2935
3184
  },
2936
- "description": "Placeholder text"
3185
+ "default": "'start'",
3186
+ "description": "Distribution of items on the main axis"
2937
3187
  },
2938
3188
  {
2939
3189
  "kind": "field",
2940
- "name": "min",
3190
+ "name": "wrap",
2941
3191
  "type": {
2942
- "text": "number | undefined"
3192
+ "text": "boolean"
2943
3193
  },
2944
- "description": "Minimum allowed value"
3194
+ "default": "false",
3195
+ "description": "Whether items should wrap to multiple lines"
2945
3196
  },
2946
3197
  {
2947
3198
  "kind": "field",
2948
- "name": "max",
3199
+ "name": "alignContent",
2949
3200
  "type": {
2950
- "text": "number | undefined"
3201
+ "text": "'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around'"
2951
3202
  },
2952
- "description": "Maximum allowed value"
3203
+ "default": "'stretch'",
3204
+ "description": "Alignment of wrapped lines (only applies when wrap is true)"
2953
3205
  },
2954
3206
  {
2955
3207
  "kind": "field",
2956
- "name": "step",
3208
+ "name": "reverse",
2957
3209
  "type": {
2958
- "text": "number"
3210
+ "text": "boolean"
2959
3211
  },
2960
- "default": "1",
2961
- "description": "Step value for increment/decrement"
3212
+ "default": "false",
3213
+ "description": "Whether to reverse the order of items"
2962
3214
  },
2963
3215
  {
2964
3216
  "kind": "field",
2965
- "name": "required",
3217
+ "name": "maxItems",
2966
3218
  "type": {
2967
- "text": "boolean"
3219
+ "text": "number | undefined"
2968
3220
  },
2969
- "default": "false",
2970
- "description": "Whether the input is required"
3221
+ "description": "Maximum number of items allowed in the stack (for CMS validation)"
2971
3222
  },
2972
3223
  {
2973
3224
  "kind": "field",
2974
- "name": "disabled",
3225
+ "name": "fullWidth",
2975
3226
  "type": {
2976
3227
  "text": "boolean"
2977
3228
  },
2978
3229
  "default": "false",
2979
- "description": "Whether the input is disabled"
3230
+ "description": "Whether the stack should take full width of its container"
2980
3231
  },
2981
3232
  {
2982
3233
  "kind": "field",
2983
- "name": "readonly",
3234
+ "name": "fullHeight",
2984
3235
  "type": {
2985
3236
  "text": "boolean"
2986
3237
  },
2987
3238
  "default": "false",
2988
- "description": "Whether the input is read-only"
3239
+ "description": "Whether the stack should take full height of its container"
2989
3240
  },
2990
3241
  {
2991
3242
  "kind": "field",
2992
- "name": "iconStart",
3243
+ "name": "padding",
2993
3244
  "type": {
2994
3245
  "text": "string | undefined"
2995
3246
  },
2996
- "description": "Icon for the start icon"
2997
- },
2998
- {
2999
- "kind": "field",
3000
- "name": "showSpinners",
3001
- "type": {
3002
- "text": "boolean"
3003
- },
3004
- "default": "true",
3005
- "description": "Whether to show the spinner controls"
3006
- },
3007
- {
3008
- "kind": "field",
3009
- "name": "externalId",
3010
- "type": {
3011
- "text": "string"
3012
- },
3013
- "description": "External ID for linking with external systems"
3014
- },
3015
- {
3016
- "kind": "field",
3017
- "name": "isValid",
3018
- "type": {
3019
- "text": "boolean"
3020
- },
3021
- "privacy": "private",
3022
- "default": "true",
3023
- "description": "Internal validation state"
3024
- },
3025
- {
3026
- "kind": "field",
3027
- "name": "validationMessage",
3028
- "type": {
3029
- "text": "string"
3030
- },
3031
- "privacy": "private",
3032
- "default": "''"
3033
- },
3034
- {
3035
- "kind": "method",
3036
- "name": "valueChanged"
3247
+ "description": "Padding inside the stack container (CSS value)"
3037
3248
  },
3038
3249
  {
3039
3250
  "kind": "method",
3040
- "name": "validate",
3041
- "privacy": "private"
3251
+ "name": "getFlexDirection",
3252
+ "privacy": "private",
3253
+ "return": {
3254
+ "type": {
3255
+ "text": "string"
3256
+ }
3257
+ }
3042
3258
  },
3043
3259
  {
3044
3260
  "kind": "method",
3045
- "name": "emitChange",
3046
- "privacy": "private"
3261
+ "name": "getAlignItems",
3262
+ "privacy": "private",
3263
+ "return": {
3264
+ "type": {
3265
+ "text": "string"
3266
+ }
3267
+ }
3047
3268
  },
3048
3269
  {
3049
3270
  "kind": "method",
3050
- "name": "emitInput",
3051
- "privacy": "private"
3271
+ "name": "getJustifyContent",
3272
+ "privacy": "private",
3273
+ "return": {
3274
+ "type": {
3275
+ "text": "string"
3276
+ }
3277
+ }
3052
3278
  },
3053
3279
  {
3054
3280
  "kind": "method",
3055
- "name": "updateValue",
3281
+ "name": "getAlignContent",
3056
3282
  "privacy": "private",
3057
- "parameters": [
3058
- {
3059
- "name": "newValue",
3060
- "type": {
3061
- "text": "number"
3062
- }
3283
+ "return": {
3284
+ "type": {
3285
+ "text": "string"
3063
3286
  }
3064
- ]
3065
- },
3066
- {
3067
- "kind": "field",
3068
- "name": "handleInput",
3069
- "privacy": "private"
3070
- },
3071
- {
3072
- "kind": "field",
3073
- "name": "handleChange",
3074
- "privacy": "private"
3075
- },
3076
- {
3077
- "kind": "field",
3078
- "name": "handleKeyDown",
3079
- "privacy": "private"
3080
- },
3081
- {
3082
- "kind": "field",
3083
- "name": "handleWheel",
3084
- "privacy": "private"
3085
- },
3086
- {
3087
- "kind": "field",
3088
- "name": "increment",
3089
- "privacy": "private"
3090
- },
3091
- {
3092
- "kind": "field",
3093
- "name": "decrement",
3094
- "privacy": "private"
3287
+ }
3095
3288
  },
3096
3289
  {
3097
3290
  "kind": "method",
@@ -3100,296 +3293,103 @@
3100
3293
  ],
3101
3294
  "attributes": [
3102
3295
  {
3103
- "name": "value",
3104
- "fieldName": "value",
3105
- "description": "The value of the input",
3106
- "type": {
3107
- "text": "number"
3108
- }
3109
- },
3110
- {
3111
- "name": "name",
3112
- "fieldName": "name",
3113
- "description": "The name of the input",
3114
- "type": {
3115
- "text": "string"
3116
- }
3117
- },
3118
- {
3119
- "name": "label",
3120
- "fieldName": "label",
3121
- "description": "Label for the input",
3296
+ "name": "direction",
3297
+ "fieldName": "direction",
3298
+ "default": "'horizontal'",
3299
+ "description": "Direction of the stack layout",
3122
3300
  "type": {
3123
- "text": "string"
3301
+ "text": "'horizontal' | 'vertical'"
3124
3302
  }
3125
3303
  },
3126
3304
  {
3127
- "name": "placeholder",
3128
- "fieldName": "placeholder",
3129
- "description": "Placeholder text",
3305
+ "name": "gap",
3306
+ "fieldName": "gap",
3307
+ "description": "Gap between items (CSS value like '8px', '1rem', 'var(--le-space-md)')",
3130
3308
  "type": {
3131
3309
  "text": "string"
3132
3310
  }
3133
3311
  },
3134
3312
  {
3135
- "name": "min",
3136
- "fieldName": "min",
3137
- "description": "Minimum allowed value",
3138
- "type": {
3139
- "text": "number"
3140
- }
3141
- },
3142
- {
3143
- "name": "max",
3144
- "fieldName": "max",
3145
- "description": "Maximum allowed value",
3313
+ "name": "align",
3314
+ "fieldName": "align",
3315
+ "default": "'stretch'",
3316
+ "description": "Alignment of items on the cross axis",
3146
3317
  "type": {
3147
- "text": "number"
3318
+ "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
3148
3319
  }
3149
3320
  },
3150
3321
  {
3151
- "name": "step",
3152
- "fieldName": "step",
3153
- "default": "1",
3154
- "description": "Step value for increment/decrement",
3322
+ "name": "justify",
3323
+ "fieldName": "justify",
3324
+ "default": "'start'",
3325
+ "description": "Distribution of items on the main axis",
3155
3326
  "type": {
3156
- "text": "number"
3327
+ "text": "'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly'"
3157
3328
  }
3158
3329
  },
3159
3330
  {
3160
- "name": "required",
3161
- "fieldName": "required",
3331
+ "name": "wrap",
3332
+ "fieldName": "wrap",
3162
3333
  "default": "false",
3163
- "description": "Whether the input is required",
3334
+ "description": "Whether items should wrap to multiple lines",
3164
3335
  "type": {
3165
3336
  "text": "boolean"
3166
3337
  }
3167
3338
  },
3168
3339
  {
3169
- "name": "disabled",
3170
- "fieldName": "disabled",
3171
- "default": "false",
3172
- "description": "Whether the input is disabled",
3340
+ "name": "align-content",
3341
+ "fieldName": "alignContent",
3342
+ "default": "'stretch'",
3343
+ "description": "Alignment of wrapped lines (only applies when wrap is true)",
3173
3344
  "type": {
3174
- "text": "boolean"
3345
+ "text": "'start' | 'center' | 'end' | 'stretch' | 'space-between' | 'space-around'"
3175
3346
  }
3176
3347
  },
3177
3348
  {
3178
- "name": "readonly",
3179
- "fieldName": "readonly",
3349
+ "name": "reverse",
3350
+ "fieldName": "reverse",
3180
3351
  "default": "false",
3181
- "description": "Whether the input is read-only",
3182
- "type": {
3183
- "text": "boolean"
3184
- }
3185
- },
3186
- {
3187
- "name": "icon-start",
3188
- "fieldName": "iconStart",
3189
- "description": "Icon for the start icon",
3190
- "type": {
3191
- "text": "string"
3192
- }
3193
- },
3194
- {
3195
- "name": "show-spinners",
3196
- "fieldName": "showSpinners",
3197
- "default": "true",
3198
- "description": "Whether to show the spinner controls",
3352
+ "description": "Whether to reverse the order of items",
3199
3353
  "type": {
3200
3354
  "text": "boolean"
3201
3355
  }
3202
3356
  },
3203
3357
  {
3204
- "name": "external-id",
3205
- "fieldName": "externalId",
3206
- "description": "External ID for linking with external systems",
3207
- "type": {
3208
- "text": "string"
3209
- }
3210
- }
3211
- ],
3212
- "tagName": "le-number-input",
3213
- "events": [
3214
- {
3215
- "name": "leChange",
3216
- "type": {
3217
- "text": "EventEmitter<{ value: number; name: string; externalId: string; isValid: boolean }>"
3218
- },
3219
- "description": "Emitted when the value changes (on blur or Enter)"
3220
- },
3221
- {
3222
- "name": "leInput",
3223
- "type": {
3224
- "text": "EventEmitter<{ value: number; name: string; externalId: string; isValid: boolean }>"
3225
- },
3226
- "description": "Emitted when the input value changes (on keystroke/spin)"
3227
- }
3228
- ],
3229
- "customElement": true
3230
- }
3231
- ],
3232
- "exports": [
3233
- {
3234
- "kind": "js",
3235
- "name": "LeNumberInput",
3236
- "declaration": {
3237
- "name": "LeNumberInput",
3238
- "module": "src/components/le-number-input/le-number-input.tsx"
3239
- }
3240
- },
3241
- {
3242
- "kind": "custom-element-definition",
3243
- "name": "le-number-input",
3244
- "declaration": {
3245
- "name": "LeNumberInput",
3246
- "module": "src/components/le-number-input/le-number-input.tsx"
3247
- }
3248
- }
3249
- ]
3250
- },
3251
- {
3252
- "kind": "javascript-module",
3253
- "path": "src/components/le-round-progress/le-round-progress.tsx",
3254
- "declarations": [
3255
- {
3256
- "kind": "class",
3257
- "description": "",
3258
- "name": "LeRoundProgress",
3259
- "members": [
3260
- {
3261
- "kind": "field",
3262
- "name": "el",
3263
- "type": {
3264
- "text": "HTMLElement"
3265
- }
3266
- },
3267
- {
3268
- "kind": "field",
3269
- "name": "value",
3270
- "type": {
3271
- "text": "number"
3272
- },
3273
- "default": "0"
3274
- },
3275
- {
3276
- "kind": "method",
3277
- "name": "updateValue",
3278
- "parameters": [
3279
- {
3280
- "name": "newValue",
3281
- "type": {
3282
- "text": "string"
3283
- }
3284
- }
3285
- ]
3286
- },
3287
- {
3288
- "kind": "field",
3289
- "name": "padding",
3358
+ "name": "max-items",
3359
+ "fieldName": "maxItems",
3360
+ "description": "Maximum number of items allowed in the stack (for CMS validation)",
3290
3361
  "type": {
3291
3362
  "text": "number"
3292
- },
3293
- "default": "0"
3294
- },
3295
- {
3296
- "kind": "method",
3297
- "name": "updatePadding",
3298
- "parameters": [
3299
- {
3300
- "name": "newValue",
3301
- "type": {
3302
- "text": "string"
3303
- }
3304
- }
3305
- ]
3306
- },
3307
- {
3308
- "kind": "field",
3309
- "name": "paths",
3310
- "type": {
3311
- "text": "string"
3312
3363
  }
3313
3364
  },
3314
3365
  {
3315
- "kind": "method",
3316
- "name": "updateProgressBackgrounds",
3317
- "parameters": [
3318
- {
3319
- "name": "newValue",
3320
- "type": {
3321
- "text": "string"
3322
- }
3323
- }
3324
- ]
3325
- },
3326
- {
3327
- "kind": "field",
3328
- "name": "progressPaths",
3329
- "type": {
3330
- "text": "any[]"
3331
- }
3332
- },
3333
- {
3334
- "kind": "field",
3335
- "name": "params",
3366
+ "name": "full-width",
3367
+ "fieldName": "fullWidth",
3368
+ "default": "false",
3369
+ "description": "Whether the stack should take full width of its container",
3336
3370
  "type": {
3337
- "text": "{\n width: number;\n diameter: number;\n circumference: number;\n }"
3371
+ "text": "boolean"
3338
3372
  }
3339
3373
  },
3340
3374
  {
3341
- "kind": "method",
3342
- "name": "calcParams"
3343
- },
3344
- {
3345
- "kind": "method",
3346
- "name": "getViewBox",
3347
- "description": "Returns the viewPath attribute value for the SVG\nbased on the width of the parent element"
3348
- },
3349
- {
3350
- "kind": "method",
3351
- "name": "getPath",
3352
- "description": "Returns the circular path for the progress stroke\nand additional paths in the background"
3353
- },
3354
- {
3355
- "kind": "method",
3356
- "name": "getStrokeDashArray"
3357
- },
3358
- {
3359
- "kind": "method",
3360
- "name": "getPaths"
3361
- },
3362
- {
3363
- "kind": "method",
3364
- "name": "render"
3365
- }
3366
- ],
3367
- "attributes": [
3368
- {
3369
- "name": "value",
3370
- "fieldName": "value",
3371
- "default": "0",
3375
+ "name": "full-height",
3376
+ "fieldName": "fullHeight",
3377
+ "default": "false",
3378
+ "description": "Whether the stack should take full height of its container",
3372
3379
  "type": {
3373
- "text": "number"
3380
+ "text": "boolean"
3374
3381
  }
3375
3382
  },
3376
3383
  {
3377
3384
  "name": "padding",
3378
3385
  "fieldName": "padding",
3379
- "default": "0",
3380
- "type": {
3381
- "text": "number"
3382
- }
3383
- },
3384
- {
3385
- "name": "paths",
3386
- "fieldName": "paths",
3386
+ "description": "Padding inside the stack container (CSS value)",
3387
3387
  "type": {
3388
3388
  "text": "string"
3389
3389
  }
3390
3390
  }
3391
3391
  ],
3392
- "tagName": "le-round-progress",
3392
+ "tagName": "le-stack",
3393
3393
  "events": [],
3394
3394
  "customElement": true
3395
3395
  }
@@ -3397,18 +3397,18 @@
3397
3397
  "exports": [
3398
3398
  {
3399
3399
  "kind": "js",
3400
- "name": "LeRoundProgress",
3400
+ "name": "LeStack",
3401
3401
  "declaration": {
3402
- "name": "LeRoundProgress",
3403
- "module": "src/components/le-round-progress/le-round-progress.tsx"
3402
+ "name": "LeStack",
3403
+ "module": "src/components/le-stack/le-stack.tsx"
3404
3404
  }
3405
3405
  },
3406
3406
  {
3407
3407
  "kind": "custom-element-definition",
3408
- "name": "le-round-progress",
3408
+ "name": "le-stack",
3409
3409
  "declaration": {
3410
- "name": "LeRoundProgress",
3411
- "module": "src/components/le-round-progress/le-round-progress.tsx"
3410
+ "name": "LeStack",
3411
+ "module": "src/components/le-stack/le-stack.tsx"
3412
3412
  }
3413
3413
  }
3414
3414
  ]