le-kit 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/dist/{core/cjs/index-B0mg71He.js → cjs/index-CHzu3ydp.js} +10 -3
  2. package/dist/cjs/index-CHzu3ydp.js.map +1 -0
  3. package/dist/{core/cjs → cjs}/index.cjs.js +4 -3
  4. package/dist/cjs/index.cjs.js.map +1 -0
  5. package/dist/{core/cjs → cjs}/le-box.cjs.entry.js +3 -3
  6. package/dist/cjs/le-box.entry.cjs.js.map +1 -0
  7. package/dist/cjs/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.cjs.js.map +1 -0
  8. package/dist/cjs/le-button_13.cjs.entry.js +2579 -0
  9. package/dist/cjs/le-card.cjs.entry.js +29 -0
  10. package/dist/cjs/le-card.entry.cjs.js.map +1 -0
  11. package/dist/cjs/le-combobox.cjs.entry.js +237 -0
  12. package/dist/cjs/le-combobox.entry.cjs.js.map +1 -0
  13. package/dist/cjs/le-header-placeholder.cjs.entry.js +18 -0
  14. package/dist/cjs/le-header-placeholder.entry.cjs.js.map +1 -0
  15. package/dist/cjs/le-kit.cjs.js +25 -0
  16. package/dist/cjs/le-multiselect.cjs.entry.js +306 -0
  17. package/dist/cjs/le-multiselect.entry.cjs.js.map +1 -0
  18. package/dist/{core/cjs → cjs}/le-number-input.cjs.entry.js +3 -3
  19. package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
  20. package/dist/{core/cjs → cjs}/le-round-progress.cjs.entry.js +2 -2
  21. package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-segmented-control.cjs.entry.js +245 -0
  23. package/dist/cjs/le-segmented-control.entry.cjs.js.map +1 -0
  24. package/dist/{core/cjs → cjs}/le-stack.cjs.entry.js +4 -4
  25. package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
  26. package/dist/cjs/le-tab-bar.cjs.entry.js +242 -0
  27. package/dist/cjs/le-tab-bar.entry.cjs.js.map +1 -0
  28. package/dist/cjs/le-tab-panel.cjs.entry.js +100 -0
  29. package/dist/cjs/le-tab-panel.entry.cjs.js.map +1 -0
  30. package/dist/cjs/le-tab.cjs.entry.js +133 -0
  31. package/dist/cjs/le-tab.entry.cjs.js.map +1 -0
  32. package/dist/cjs/le-tabs.cjs.entry.js +307 -0
  33. package/dist/cjs/le-tabs.entry.cjs.js.map +1 -0
  34. package/dist/cjs/le-tag.cjs.entry.js +68 -0
  35. package/dist/cjs/le-tag.entry.cjs.js.map +1 -0
  36. package/dist/{core/cjs → cjs}/le-text.cjs.entry.js +3 -3
  37. package/dist/cjs/le-text.entry.cjs.js.map +1 -0
  38. package/dist/{core/cjs → cjs}/le-turntable.cjs.entry.js +2 -2
  39. package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
  40. package/dist/cjs/loader.cjs.js +13 -0
  41. package/dist/{core/cjs/utils-jdqP71LP.js → cjs/utils-CYOKcOW8.js} +3 -3
  42. package/dist/cjs/utils-CYOKcOW8.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +41 -0
  44. package/dist/{core/collection → collection}/components/le-box/le-box.js +1 -1
  45. package/dist/collection/components/le-box/le-box.js.map +1 -0
  46. package/dist/{core/collection/components/le-button/le-button.default.css → collection/components/le-button/le-button.css} +65 -38
  47. package/dist/{core/collection → collection}/components/le-button/le-button.js +106 -16
  48. package/dist/collection/components/le-button/le-button.js.map +1 -0
  49. package/dist/{core/collection → collection}/components/le-card/le-card.default.css +6 -6
  50. package/dist/{core/collection → collection}/components/le-card/le-card.js +2 -2
  51. package/dist/collection/components/le-card/le-card.js.map +1 -0
  52. package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.js +2 -2
  53. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
  54. package/dist/collection/components/le-collapse/le-collapse.css +31 -0
  55. package/dist/collection/components/le-collapse/le-collapse.js +188 -0
  56. package/dist/collection/components/le-collapse/le-collapse.js.map +1 -0
  57. package/dist/collection/components/le-combobox/le-combobox.css +144 -0
  58. package/dist/collection/components/le-combobox/le-combobox.js +659 -0
  59. package/dist/collection/components/le-combobox/le-combobox.js.map +1 -0
  60. package/dist/collection/components/le-component/le-component.css +189 -0
  61. package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +137 -17
  62. package/dist/collection/components/le-component/le-component.js.map +1 -0
  63. package/dist/collection/components/le-current-heading/le-current-heading.css +12 -0
  64. package/dist/collection/components/le-current-heading/le-current-heading.js +130 -0
  65. package/dist/collection/components/le-current-heading/le-current-heading.js.map +1 -0
  66. package/dist/collection/components/le-dropdown-base/le-dropdown-base.css +167 -0
  67. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js +761 -0
  68. package/dist/collection/components/le-dropdown-base/le-dropdown-base.js.map +1 -0
  69. package/dist/collection/components/le-header/le-header.css +120 -0
  70. package/dist/collection/components/le-header/le-header.js +508 -0
  71. package/dist/collection/components/le-header/le-header.js.map +1 -0
  72. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js +21 -0
  73. package/dist/collection/components/le-header-placeholder/le-header-placeholder.js.map +1 -0
  74. package/dist/collection/components/le-multiselect/le-multiselect.css +163 -0
  75. package/dist/collection/components/le-multiselect/le-multiselect.js +734 -0
  76. package/dist/collection/components/le-multiselect/le-multiselect.js.map +1 -0
  77. package/dist/{core/collection → collection}/components/le-number-input/le-number-input.js +2 -2
  78. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
  79. package/dist/{core/collection → collection}/components/le-popover/le-popover.css +20 -0
  80. package/dist/{core/collection → collection}/components/le-popover/le-popover.js +180 -20
  81. package/dist/collection/components/le-popover/le-popover.js.map +1 -0
  82. package/dist/{core/collection → collection}/components/le-popup/le-popup.api.js +2 -1
  83. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
  84. package/dist/{core/collection → collection}/components/le-popup/le-popup.js +49 -19
  85. package/dist/collection/components/le-popup/le-popup.js.map +1 -0
  86. package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.js +1 -1
  87. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  88. package/dist/collection/components/le-scroll-progress/le-scroll-progress.css +29 -0
  89. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +186 -0
  90. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js.map +1 -0
  91. package/dist/collection/components/le-segmented-control/le-segmented-control.css +78 -0
  92. package/dist/collection/components/le-segmented-control/le-segmented-control.js +445 -0
  93. package/dist/collection/components/le-segmented-control/le-segmented-control.js.map +1 -0
  94. package/dist/collection/components/le-select/le-select.css +121 -0
  95. package/dist/collection/components/le-select/le-select.js +578 -0
  96. package/dist/collection/components/le-select/le-select.js.map +1 -0
  97. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  98. package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +268 -17
  99. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  100. package/dist/{core/collection → collection}/components/le-stack/le-stack.js +2 -2
  101. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  102. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.css +1 -1
  103. package/dist/{core/collection → collection}/components/le-string-input/le-string-input.js +60 -6
  104. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  105. package/dist/collection/components/le-tab/le-tab.css +289 -0
  106. package/dist/collection/components/le-tab/le-tab.js +565 -0
  107. package/dist/collection/components/le-tab/le-tab.js.map +1 -0
  108. package/dist/collection/components/le-tab-bar/le-tab-bar.css +89 -0
  109. package/dist/collection/components/le-tab-bar/le-tab-bar.js +467 -0
  110. package/dist/collection/components/le-tab-bar/le-tab-bar.js.map +1 -0
  111. package/dist/collection/components/le-tab-panel/le-tab-panel.css +30 -0
  112. package/dist/collection/components/le-tab-panel/le-tab-panel.js +302 -0
  113. package/dist/collection/components/le-tab-panel/le-tab-panel.js.map +1 -0
  114. package/dist/collection/components/le-tabs/le-tabs.css +146 -0
  115. package/dist/collection/components/le-tabs/le-tabs.js +588 -0
  116. package/dist/collection/components/le-tabs/le-tabs.js.map +1 -0
  117. package/dist/collection/components/le-tag/le-tag.css +139 -0
  118. package/dist/collection/components/le-tag/le-tag.js +266 -0
  119. package/dist/collection/components/le-tag/le-tag.js.map +1 -0
  120. package/dist/{core/collection → collection}/components/le-text/le-text.js +1 -1
  121. package/dist/collection/components/le-text/le-text.js.map +1 -0
  122. package/dist/{core/collection → collection}/components/le-turntable/le-turntable.js +1 -1
  123. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  124. package/dist/collection/dist/components/assets/.gitkeep +1 -0
  125. package/dist/collection/dist/components/assets/custom-elements.json +9234 -0
  126. package/dist/collection/dist/components/themes/base.css +89 -0
  127. package/dist/collection/dist/components/themes/dark.css +103 -0
  128. package/dist/collection/dist/components/themes/default.css +111 -0
  129. package/dist/collection/dist/components/themes/gradient.css +103 -0
  130. package/dist/collection/dist/components/themes/index.css +76 -0
  131. package/dist/collection/dist/components/themes/minimal.css +103 -0
  132. package/dist/collection/dist/components/themes/warm.css +103 -0
  133. package/dist/collection/global/app.js.map +1 -0
  134. package/dist/collection/index.js.map +1 -0
  135. package/dist/collection/types/blocks.js.map +1 -0
  136. package/dist/collection/types/options.js.map +1 -0
  137. package/dist/collection/utils/utils.js.map +1 -0
  138. package/dist/components/assets/.gitkeep +1 -0
  139. package/dist/components/assets/custom-elements.json +9234 -0
  140. package/dist/components/index.js +11 -0
  141. package/dist/components/index.js.map +1 -0
  142. package/dist/{core/components → components}/le-box.js +22 -6
  143. package/dist/components/le-box.js.map +1 -0
  144. package/dist/{core/components → components}/le-button.js +1 -1
  145. package/dist/{core/components → components}/le-button2.js +671 -35
  146. package/dist/components/le-button2.js.map +1 -0
  147. package/dist/{core/components → components}/le-card.js +22 -6
  148. package/dist/components/le-card.js.map +1 -0
  149. package/dist/{core/components → components}/le-checkbox.js +1 -1
  150. package/dist/components/le-collapse.d.ts +11 -0
  151. package/dist/components/le-collapse.js +144 -0
  152. package/dist/components/le-collapse.js.map +1 -0
  153. package/dist/components/le-combobox.d.ts +11 -0
  154. package/dist/components/le-combobox.js +326 -0
  155. package/dist/components/le-combobox.js.map +1 -0
  156. package/dist/{core/components → components}/le-component.js +1 -1
  157. package/dist/components/le-current-heading.d.ts +11 -0
  158. package/dist/components/le-current-heading.js +93 -0
  159. package/dist/components/le-current-heading.js.map +1 -0
  160. package/dist/components/le-dropdown-base.d.ts +11 -0
  161. package/dist/components/le-dropdown-base.js +9 -0
  162. package/dist/components/le-dropdown-base.js.map +1 -0
  163. package/dist/components/le-dropdown-base2.js +393 -0
  164. package/dist/components/le-dropdown-base2.js.map +1 -0
  165. package/dist/components/le-header-placeholder.d.ts +11 -0
  166. package/dist/components/le-header-placeholder.js +37 -0
  167. package/dist/components/le-header-placeholder.js.map +1 -0
  168. package/dist/components/le-header.d.ts +11 -0
  169. package/dist/components/le-header.js +347 -0
  170. package/dist/components/le-header.js.map +1 -0
  171. package/dist/components/le-multiselect.d.ts +11 -0
  172. package/dist/components/le-multiselect.js +405 -0
  173. package/dist/components/le-multiselect.js.map +1 -0
  174. package/dist/{core/components → components}/le-number-input.js +23 -7
  175. package/dist/components/le-number-input.js.map +1 -0
  176. package/dist/{core/components → components}/le-popover2.js +143 -21
  177. package/dist/components/le-popover2.js.map +1 -0
  178. package/dist/{core/components/index.js → components/le-popup.api.js} +5 -12
  179. package/dist/components/le-popup.api.js.map +1 -0
  180. package/dist/components/le-popup.js +9 -0
  181. package/dist/components/le-popup.js.map +1 -0
  182. package/dist/{core/components → components}/le-round-progress.js +1 -1
  183. package/dist/components/le-scroll-progress.d.ts +11 -0
  184. package/dist/components/le-scroll-progress.js +142 -0
  185. package/dist/components/le-scroll-progress.js.map +1 -0
  186. package/dist/components/le-segmented-control.d.ts +11 -0
  187. package/dist/components/le-segmented-control.js +331 -0
  188. package/dist/components/le-segmented-control.js.map +1 -0
  189. package/dist/components/le-select.d.ts +11 -0
  190. package/dist/components/le-select.js +9 -0
  191. package/dist/components/le-select.js.map +1 -0
  192. package/dist/{core/components → components}/le-slot.js +1 -1
  193. package/dist/{core/components → components}/le-stack.js +23 -7
  194. package/dist/components/le-stack.js.map +1 -0
  195. package/dist/{core/components → components}/le-string-input.js +1 -1
  196. package/dist/components/le-tab-bar.d.ts +11 -0
  197. package/dist/components/le-tab-bar.js +330 -0
  198. package/dist/components/le-tab-bar.js.map +1 -0
  199. package/dist/components/le-tab-panel.d.ts +11 -0
  200. package/dist/components/le-tab-panel.js +182 -0
  201. package/dist/components/le-tab-panel.js.map +1 -0
  202. package/dist/components/le-tab.d.ts +11 -0
  203. package/dist/components/le-tab.js +9 -0
  204. package/dist/components/le-tab.js.map +1 -0
  205. package/dist/components/le-tab2.js +217 -0
  206. package/dist/components/le-tab2.js.map +1 -0
  207. package/dist/components/le-tabs.d.ts +11 -0
  208. package/dist/components/le-tabs.js +397 -0
  209. package/dist/components/le-tabs.js.map +1 -0
  210. package/dist/components/le-tag.d.ts +11 -0
  211. package/dist/components/le-tag.js +9 -0
  212. package/dist/components/le-tag.js.map +1 -0
  213. package/dist/components/le-tag2.js +141 -0
  214. package/dist/components/le-tag2.js.map +1 -0
  215. package/dist/{core/components → components}/le-text.js +22 -6
  216. package/dist/components/le-text.js.map +1 -0
  217. package/dist/{core/components → components}/le-turntable.js +1 -1
  218. package/dist/components/themes/base.css +4 -4
  219. package/dist/components/themes/dark.css +4 -1
  220. package/dist/components/themes/default.css +4 -1
  221. package/dist/components/themes/gradient.css +4 -1
  222. package/dist/components/themes/index.css +4 -341
  223. package/dist/components/themes/minimal.css +4 -1
  224. package/dist/components/themes/warm.css +4 -1
  225. package/dist/docs.d.ts +443 -0
  226. package/dist/docs.json +11547 -0
  227. package/dist/{core/esm/index-SKsXnjWI.js → esm/index-hmBwv43R.js} +10 -4
  228. package/dist/esm/index-hmBwv43R.js.map +1 -0
  229. package/dist/{core/esm → esm}/index.js +4 -3
  230. package/dist/esm/index.js.map +1 -0
  231. package/dist/{le-kit → esm}/le-box.entry.js +3 -3
  232. package/dist/esm/le-box.entry.js.map +1 -0
  233. package/dist/esm/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.js.map +1 -0
  234. package/dist/esm/le-button_13.entry.js +2565 -0
  235. package/dist/{le-kit → esm}/le-card.entry.js +3 -3
  236. package/dist/esm/le-card.entry.js.map +1 -0
  237. package/dist/esm/le-combobox.entry.js +235 -0
  238. package/dist/esm/le-combobox.entry.js.map +1 -0
  239. package/dist/esm/le-header-placeholder.entry.js +16 -0
  240. package/dist/esm/le-header-placeholder.entry.js.map +1 -0
  241. package/dist/esm/le-kit.js +21 -0
  242. package/dist/esm/le-multiselect.entry.js +304 -0
  243. package/dist/esm/le-multiselect.entry.js.map +1 -0
  244. package/dist/{le-kit → esm}/le-number-input.entry.js +6 -6
  245. package/dist/esm/le-number-input.entry.js.map +1 -0
  246. package/dist/{core/esm → esm}/le-round-progress.entry.js +2 -2
  247. package/dist/esm/le-round-progress.entry.js.map +1 -0
  248. package/dist/esm/le-segmented-control.entry.js +243 -0
  249. package/dist/esm/le-segmented-control.entry.js.map +1 -0
  250. package/dist/{le-kit → esm}/le-stack.entry.js +4 -4
  251. package/dist/esm/le-stack.entry.js.map +1 -0
  252. package/dist/esm/le-tab-bar.entry.js +240 -0
  253. package/dist/esm/le-tab-bar.entry.js.map +1 -0
  254. package/dist/esm/le-tab-panel.entry.js +98 -0
  255. package/dist/esm/le-tab-panel.entry.js.map +1 -0
  256. package/dist/esm/le-tab.entry.js +131 -0
  257. package/dist/esm/le-tab.entry.js.map +1 -0
  258. package/dist/esm/le-tabs.entry.js +305 -0
  259. package/dist/esm/le-tabs.entry.js.map +1 -0
  260. package/dist/esm/le-tag.entry.js +66 -0
  261. package/dist/esm/le-tag.entry.js.map +1 -0
  262. package/dist/{le-kit → esm}/le-text.entry.js +3 -3
  263. package/dist/esm/le-text.entry.js.map +1 -0
  264. package/dist/{core/esm → esm}/le-turntable.entry.js +2 -2
  265. package/dist/esm/le-turntable.entry.js.map +1 -0
  266. package/dist/esm/loader.js +11 -0
  267. package/dist/{le-kit/utils-cwSNy7ZS.js → esm/utils-DRTFlnxz.js} +3 -3
  268. package/dist/{le-kit/utils-cwSNy7ZS.js.map → esm/utils-DRTFlnxz.js.map} +1 -1
  269. package/dist/le-kit/dist/components/assets/.gitkeep +1 -0
  270. package/dist/le-kit/dist/components/assets/custom-elements.json +9234 -0
  271. package/dist/le-kit/dist/components/themes/base.css +4 -4
  272. package/dist/le-kit/dist/components/themes/dark.css +4 -1
  273. package/dist/le-kit/dist/components/themes/default.css +4 -1
  274. package/dist/le-kit/dist/components/themes/gradient.css +4 -1
  275. package/dist/le-kit/dist/components/themes/index.css +4 -341
  276. package/dist/le-kit/dist/components/themes/minimal.css +4 -1
  277. package/dist/le-kit/dist/components/themes/warm.css +4 -1
  278. package/dist/le-kit/index.esm.js +2 -116
  279. package/dist/le-kit/index.esm.js.map +1 -1
  280. package/dist/le-kit/le-button.le-checkbox.le-collapse.le-component.le-current-heading.le-dropdown-base.le-header.le-popover.le-popup.le-scroll-progress.le-select.le-slot.le-string-input.entry.esm.js.map +1 -0
  281. package/dist/le-kit/le-combobox.entry.esm.js.map +1 -0
  282. package/dist/le-kit/le-header-placeholder.entry.esm.js.map +1 -0
  283. package/dist/le-kit/le-kit.css +1 -1010
  284. package/dist/le-kit/le-kit.esm.js +2 -48
  285. package/dist/le-kit/le-kit.esm.js.map +1 -1
  286. package/dist/le-kit/le-multiselect.entry.esm.js.map +1 -0
  287. package/dist/le-kit/le-segmented-control.entry.esm.js.map +1 -0
  288. package/dist/le-kit/le-tab-bar.entry.esm.js.map +1 -0
  289. package/dist/le-kit/le-tab-panel.entry.esm.js.map +1 -0
  290. package/dist/le-kit/le-tab.entry.esm.js.map +1 -0
  291. package/dist/le-kit/le-tabs.entry.esm.js.map +1 -0
  292. package/dist/le-kit/le-tag.entry.esm.js.map +1 -0
  293. package/dist/le-kit/p-13a4dc1d.entry.js +2 -0
  294. package/dist/le-kit/p-13a4dc1d.entry.js.map +1 -0
  295. package/dist/{core/le-kit/p-55f70091.entry.js → le-kit/p-1a9e65d0.entry.js} +2 -2
  296. package/dist/le-kit/p-1a9e65d0.entry.js.map +1 -0
  297. package/dist/le-kit/p-2708dc65.entry.js +2 -0
  298. package/dist/le-kit/p-2708dc65.entry.js.map +1 -0
  299. package/dist/le-kit/p-2b96a5bd.entry.js +2 -0
  300. package/dist/le-kit/p-2b96a5bd.entry.js.map +1 -0
  301. package/dist/le-kit/p-32cbb683.entry.js +2 -0
  302. package/dist/le-kit/p-32cbb683.entry.js.map +1 -0
  303. package/dist/le-kit/p-476e1886.entry.js +2 -0
  304. package/dist/le-kit/p-476e1886.entry.js.map +1 -0
  305. package/dist/le-kit/p-67d702f9.entry.js +2 -0
  306. package/dist/le-kit/p-67d702f9.entry.js.map +1 -0
  307. package/dist/{core/le-kit/p-6e414a5c.entry.js → le-kit/p-6884e3e8.entry.js} +2 -2
  308. package/dist/le-kit/p-6884e3e8.entry.js.map +1 -0
  309. package/dist/le-kit/p-704ad5e0.entry.js +2 -0
  310. package/dist/le-kit/p-704ad5e0.entry.js.map +1 -0
  311. package/dist/le-kit/p-88f9aa40.entry.js +2 -0
  312. package/dist/le-kit/p-88f9aa40.entry.js.map +1 -0
  313. package/dist/le-kit/p-8dd8a487.entry.js +2 -0
  314. package/dist/le-kit/p-8dd8a487.entry.js.map +1 -0
  315. package/dist/le-kit/p-97b7658a.entry.js +2 -0
  316. package/dist/le-kit/p-97b7658a.entry.js.map +1 -0
  317. package/dist/le-kit/p-c0925e92.entry.js +2 -0
  318. package/dist/le-kit/p-c0925e92.entry.js.map +1 -0
  319. package/dist/le-kit/p-c2494a0d.entry.js +2 -0
  320. package/dist/le-kit/p-c2494a0d.entry.js.map +1 -0
  321. package/dist/le-kit/p-ded51018.entry.js +2 -0
  322. package/dist/le-kit/p-ded51018.entry.js.map +1 -0
  323. package/dist/{core/le-kit/p-a9d05ef6.entry.js → le-kit/p-e3db7974.entry.js} +2 -2
  324. package/dist/le-kit/p-e3db7974.entry.js.map +1 -0
  325. package/dist/{core/le-kit/p-4f133e72.entry.js → le-kit/p-f9b03aec.entry.js} +2 -2
  326. package/dist/le-kit/p-f9b03aec.entry.js.map +1 -0
  327. package/dist/le-kit/p-hmBwv43R.js +3 -0
  328. package/dist/le-kit/p-hmBwv43R.js.map +1 -0
  329. package/dist/le-kit/p-txKmCJHv.js +2 -0
  330. package/dist/le-kit/p-txKmCJHv.js.map +1 -0
  331. package/dist/themes/base.css +89 -0
  332. package/dist/themes/dark.css +103 -0
  333. package/dist/themes/default.css +111 -0
  334. package/dist/themes/gradient.css +103 -0
  335. package/dist/themes/index.css +76 -0
  336. package/dist/themes/minimal.css +103 -0
  337. package/dist/themes/warm.css +103 -0
  338. package/dist/types/components/le-button/le-button.d.ts +19 -4
  339. package/dist/types/components/le-collapse/le-collapse.d.ts +41 -0
  340. package/dist/types/components/le-combobox/le-combobox.d.ts +128 -0
  341. package/dist/types/components/le-current-heading/le-current-heading.d.ts +25 -0
  342. package/dist/types/components/le-dropdown-base/le-dropdown-base.d.ts +118 -0
  343. package/dist/types/components/le-header/le-header.d.ts +115 -0
  344. package/dist/types/components/le-header-placeholder/le-header-placeholder.d.ts +13 -0
  345. package/dist/types/components/le-multiselect/le-multiselect.d.ts +143 -0
  346. package/dist/types/components/le-popover/le-popover.d.ts +22 -2
  347. package/dist/types/components/le-popup/le-popup.d.ts +5 -0
  348. package/dist/types/components/le-scroll-progress/le-scroll-progress.d.ts +40 -0
  349. package/dist/types/components/le-segmented-control/le-segmented-control.d.ts +82 -0
  350. package/dist/types/components/le-select/le-select.d.ts +125 -0
  351. package/dist/types/components/le-string-input/le-string-input.d.ts +8 -0
  352. package/dist/types/components/le-tab/le-tab.d.ts +116 -0
  353. package/dist/types/components/le-tab-bar/le-tab-bar.d.ts +88 -0
  354. package/dist/types/components/le-tab-panel/le-tab-panel.d.ts +75 -0
  355. package/dist/types/components/le-tabs/le-tabs.d.ts +108 -0
  356. package/dist/types/components/le-tag/le-tag.d.ts +78 -0
  357. package/dist/types/components.d.ts +3061 -273
  358. package/dist/types/types/options.d.ts +9 -0
  359. package/package.json +3 -18
  360. package/dist/core/cjs/index-B0mg71He.js.map +0 -1
  361. package/dist/core/cjs/index.cjs.js.map +0 -1
  362. package/dist/core/cjs/le-box.entry.cjs.js.map +0 -1
  363. package/dist/core/cjs/le-button.cjs.entry.js +0 -92
  364. package/dist/core/cjs/le-button.entry.cjs.js.map +0 -1
  365. package/dist/core/cjs/le-card.cjs.entry.js +0 -29
  366. package/dist/core/cjs/le-card.entry.cjs.js.map +0 -1
  367. package/dist/core/cjs/le-checkbox.cjs.entry.js +0 -61
  368. package/dist/core/cjs/le-checkbox.entry.cjs.js.map +0 -1
  369. package/dist/core/cjs/le-kit.cjs.js +0 -25
  370. package/dist/core/cjs/le-number-input.entry.cjs.js.map +0 -1
  371. package/dist/core/cjs/le-popover.cjs.entry.js +0 -348
  372. package/dist/core/cjs/le-popover.entry.cjs.js.map +0 -1
  373. package/dist/core/cjs/le-popup.cjs.entry.js +0 -212
  374. package/dist/core/cjs/le-popup.entry.cjs.js.map +0 -1
  375. package/dist/core/cjs/le-round-progress.entry.cjs.js.map +0 -1
  376. package/dist/core/cjs/le-stack.entry.cjs.js.map +0 -1
  377. package/dist/core/cjs/le-string-input.cjs.entry.js +0 -95
  378. package/dist/core/cjs/le-string-input.entry.cjs.js.map +0 -1
  379. package/dist/core/cjs/le-text.entry.cjs.js.map +0 -1
  380. package/dist/core/cjs/le-turntable.entry.cjs.js.map +0 -1
  381. package/dist/core/cjs/loader.cjs.js +0 -13
  382. package/dist/core/cjs/utils-jdqP71LP.js.map +0 -1
  383. package/dist/core/collection/collection-manifest.json +0 -24
  384. package/dist/core/collection/components/le-box/le-box.js.map +0 -1
  385. package/dist/core/collection/components/le-button/le-button.js.map +0 -1
  386. package/dist/core/collection/components/le-card/le-card.js.map +0 -1
  387. package/dist/core/collection/components/le-checkbox/le-checkbox.js.map +0 -1
  388. package/dist/core/collection/components/le-number-input/le-number-input.js.map +0 -1
  389. package/dist/core/collection/components/le-popover/le-popover.js.map +0 -1
  390. package/dist/core/collection/components/le-popup/le-popup.api.js.map +0 -1
  391. package/dist/core/collection/components/le-popup/le-popup.js.map +0 -1
  392. package/dist/core/collection/components/le-round-progress/le-round-progress.js.map +0 -1
  393. package/dist/core/collection/components/le-stack/le-stack.js.map +0 -1
  394. package/dist/core/collection/components/le-string-input/le-string-input.js.map +0 -1
  395. package/dist/core/collection/components/le-text/le-text.js.map +0 -1
  396. package/dist/core/collection/components/le-turntable/le-turntable.js.map +0 -1
  397. package/dist/core/collection/global/app.js.map +0 -1
  398. package/dist/core/collection/index.js.map +0 -1
  399. package/dist/core/collection/types/blocks.js.map +0 -1
  400. package/dist/core/collection/types/options.js.map +0 -1
  401. package/dist/core/collection/utils/utils.js.map +0 -1
  402. package/dist/core/components/index.d.ts +0 -33
  403. package/dist/core/components/index.js.map +0 -1
  404. package/dist/core/components/le-box.d.ts +0 -11
  405. package/dist/core/components/le-box.js.map +0 -1
  406. package/dist/core/components/le-button.d.ts +0 -11
  407. package/dist/core/components/le-button2.js.map +0 -1
  408. package/dist/core/components/le-card.d.ts +0 -11
  409. package/dist/core/components/le-card.js.map +0 -1
  410. package/dist/core/components/le-checkbox.d.ts +0 -11
  411. package/dist/core/components/le-component.d.ts +0 -11
  412. package/dist/core/components/le-number-input.d.ts +0 -11
  413. package/dist/core/components/le-number-input.js.map +0 -1
  414. package/dist/core/components/le-popover.d.ts +0 -11
  415. package/dist/core/components/le-popover2.js.map +0 -1
  416. package/dist/core/components/le-popup.d.ts +0 -11
  417. package/dist/core/components/le-popup.js +0 -279
  418. package/dist/core/components/le-popup.js.map +0 -1
  419. package/dist/core/components/le-round-progress.d.ts +0 -11
  420. package/dist/core/components/le-slot.d.ts +0 -11
  421. package/dist/core/components/le-stack.d.ts +0 -11
  422. package/dist/core/components/le-stack.js.map +0 -1
  423. package/dist/core/components/le-string-input.d.ts +0 -11
  424. package/dist/core/components/le-text.d.ts +0 -11
  425. package/dist/core/components/le-text.js.map +0 -1
  426. package/dist/core/components/le-turntable.d.ts +0 -11
  427. package/dist/core/esm/index-SKsXnjWI.js.map +0 -1
  428. package/dist/core/esm/index.js.map +0 -1
  429. package/dist/core/esm/le-box.entry.js +0 -182
  430. package/dist/core/esm/le-box.entry.js.map +0 -1
  431. package/dist/core/esm/le-button.entry.js +0 -90
  432. package/dist/core/esm/le-button.entry.js.map +0 -1
  433. package/dist/core/esm/le-card.entry.js +0 -27
  434. package/dist/core/esm/le-card.entry.js.map +0 -1
  435. package/dist/core/esm/le-checkbox.entry.js +0 -59
  436. package/dist/core/esm/le-checkbox.entry.js.map +0 -1
  437. package/dist/core/esm/le-kit.js +0 -21
  438. package/dist/core/esm/le-number-input.entry.js +0 -200
  439. package/dist/core/esm/le-number-input.entry.js.map +0 -1
  440. package/dist/core/esm/le-popover.entry.js +0 -346
  441. package/dist/core/esm/le-popover.entry.js.map +0 -1
  442. package/dist/core/esm/le-popup.entry.js +0 -210
  443. package/dist/core/esm/le-popup.entry.js.map +0 -1
  444. package/dist/core/esm/le-round-progress.entry.js.map +0 -1
  445. package/dist/core/esm/le-stack.entry.js +0 -133
  446. package/dist/core/esm/le-stack.entry.js.map +0 -1
  447. package/dist/core/esm/le-string-input.entry.js +0 -93
  448. package/dist/core/esm/le-string-input.entry.js.map +0 -1
  449. package/dist/core/esm/le-text.entry.js +0 -333
  450. package/dist/core/esm/le-text.entry.js.map +0 -1
  451. package/dist/core/esm/le-turntable.entry.js.map +0 -1
  452. package/dist/core/esm/loader.js +0 -11
  453. package/dist/core/esm/utils-DZdP1JiG.js +0 -146
  454. package/dist/core/esm/utils-DZdP1JiG.js.map +0 -1
  455. package/dist/core/le-kit/index.esm.js +0 -2
  456. package/dist/core/le-kit/index.esm.js.map +0 -1
  457. package/dist/core/le-kit/le-box.entry.esm.js.map +0 -1
  458. package/dist/core/le-kit/le-button.entry.esm.js.map +0 -1
  459. package/dist/core/le-kit/le-card.entry.esm.js.map +0 -1
  460. package/dist/core/le-kit/le-checkbox.entry.esm.js.map +0 -1
  461. package/dist/core/le-kit/le-kit.css +0 -1
  462. package/dist/core/le-kit/le-kit.esm.js +0 -2
  463. package/dist/core/le-kit/le-kit.esm.js.map +0 -1
  464. package/dist/core/le-kit/le-number-input.entry.esm.js.map +0 -1
  465. package/dist/core/le-kit/le-popover.entry.esm.js.map +0 -1
  466. package/dist/core/le-kit/le-popup.entry.esm.js.map +0 -1
  467. package/dist/core/le-kit/le-round-progress.entry.esm.js.map +0 -1
  468. package/dist/core/le-kit/le-stack.entry.esm.js.map +0 -1
  469. package/dist/core/le-kit/le-string-input.entry.esm.js.map +0 -1
  470. package/dist/core/le-kit/le-text.entry.esm.js.map +0 -1
  471. package/dist/core/le-kit/le-turntable.entry.esm.js.map +0 -1
  472. package/dist/core/le-kit/loader.esm.js.map +0 -1
  473. package/dist/core/le-kit/p--VxUdzYV.js +0 -2
  474. package/dist/core/le-kit/p--VxUdzYV.js.map +0 -1
  475. package/dist/core/le-kit/p-189cb775.entry.js +0 -2
  476. package/dist/core/le-kit/p-189cb775.entry.js.map +0 -1
  477. package/dist/core/le-kit/p-35c1d413.entry.js +0 -2
  478. package/dist/core/le-kit/p-35c1d413.entry.js.map +0 -1
  479. package/dist/core/le-kit/p-4f133e72.entry.js.map +0 -1
  480. package/dist/core/le-kit/p-55f70091.entry.js.map +0 -1
  481. package/dist/core/le-kit/p-5fd7b23a.entry.js +0 -2
  482. package/dist/core/le-kit/p-5fd7b23a.entry.js.map +0 -1
  483. package/dist/core/le-kit/p-6e414a5c.entry.js.map +0 -1
  484. package/dist/core/le-kit/p-7b121ca7.entry.js +0 -2
  485. package/dist/core/le-kit/p-7b121ca7.entry.js.map +0 -1
  486. package/dist/core/le-kit/p-8c81fa95.entry.js +0 -2
  487. package/dist/core/le-kit/p-8c81fa95.entry.js.map +0 -1
  488. package/dist/core/le-kit/p-9aa81442.entry.js +0 -2
  489. package/dist/core/le-kit/p-9aa81442.entry.js.map +0 -1
  490. package/dist/core/le-kit/p-SKsXnjWI.js +0 -3
  491. package/dist/core/le-kit/p-SKsXnjWI.js.map +0 -1
  492. package/dist/core/le-kit/p-a9d05ef6.entry.js.map +0 -1
  493. package/dist/core/le-kit/p-b2bd2a80.entry.js +0 -2
  494. package/dist/core/le-kit/p-b2bd2a80.entry.js.map +0 -1
  495. package/dist/core/le-kit/p-ccac9611.entry.js +0 -2
  496. package/dist/core/le-kit/p-ccac9611.entry.js.map +0 -1
  497. package/dist/core/loader/cdn.js +0 -1
  498. package/dist/core/loader/index.cjs.js +0 -1
  499. package/dist/core/loader/index.d.ts +0 -24
  500. package/dist/core/loader/index.es2017.js +0 -1
  501. package/dist/core/loader/index.js +0 -2
  502. package/dist/core/types/components/le-box/le-box.d.ts +0 -111
  503. package/dist/core/types/components/le-button/le-button.d.ts +0 -78
  504. package/dist/core/types/components/le-card/le-card.d.ts +0 -37
  505. package/dist/core/types/components/le-checkbox/le-checkbox.d.ts +0 -46
  506. package/dist/core/types/components/le-number-input/le-number-input.d.ts +0 -106
  507. package/dist/core/types/components/le-popover/le-popover.d.ts +0 -109
  508. package/dist/core/types/components/le-popup/le-popup.api.d.ts +0 -73
  509. package/dist/core/types/components/le-popup/le-popup.d.ts +0 -122
  510. package/dist/core/types/components/le-round-progress/le-round-progress.d.ts +0 -37
  511. package/dist/core/types/components/le-stack/le-stack.d.ts +0 -73
  512. package/dist/core/types/components/le-string-input/le-string-input.d.ts +0 -83
  513. package/dist/core/types/components/le-text/le-text.d.ts +0 -141
  514. package/dist/core/types/components/le-turntable/le-turntable.d.ts +0 -55
  515. package/dist/core/types/components.d.ts +0 -1752
  516. package/dist/core/types/global/app.d.ts +0 -73
  517. package/dist/core/types/index.d.ts +0 -15
  518. package/dist/core/types/stencil-public-runtime.d.ts +0 -1756
  519. package/dist/core/types/types/blocks.d.ts +0 -136
  520. package/dist/core/types/types/options.d.ts +0 -124
  521. package/dist/core/types/utils/utils.d.ts +0 -54
  522. package/dist/le-kit/assets/custom-elements.json +0 -4305
  523. package/dist/le-kit/index-CAY3Hk_i.js +0 -4559
  524. package/dist/le-kit/index-CAY3Hk_i.js.map +0 -1
  525. package/dist/le-kit/le-button.entry.esm.js.map +0 -1
  526. package/dist/le-kit/le-button.entry.js +0 -90
  527. package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
  528. package/dist/le-kit/le-checkbox.entry.js +0 -59
  529. package/dist/le-kit/le-component.entry.esm.js.map +0 -1
  530. package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
  531. package/dist/le-kit/le-popover.entry.js +0 -346
  532. package/dist/le-kit/le-popup.entry.esm.js.map +0 -1
  533. package/dist/le-kit/le-popup.entry.js +0 -210
  534. package/dist/le-kit/le-round-progress.entry.js +0 -104
  535. package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
  536. package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
  537. package/dist/le-kit/le-string-input.entry.js +0 -93
  538. package/dist/le-kit/le-turntable.entry.js +0 -137
  539. /package/dist/{core/cjs → cjs}/le-kit.cjs.js.map +0 -0
  540. /package/dist/{core/cjs → cjs}/loader.cjs.js.map +0 -0
  541. /package/dist/{core/collection → collection}/components/le-box/le-box.default.css +0 -0
  542. /package/dist/{core/collection → collection}/components/le-checkbox/le-checkbox.css +0 -0
  543. /package/dist/{core/collection → collection}/components/le-number-input/le-number-input.css +0 -0
  544. /package/dist/{core/collection → collection}/components/le-popup/le-popup.css +0 -0
  545. /package/dist/{core/collection → collection}/components/le-round-progress/le-round-progress.css +0 -0
  546. /package/dist/{core/collection → collection}/components/le-stack/le-stack.default.css +0 -0
  547. /package/dist/{core/collection → collection}/components/le-text/le-text.default.css +0 -0
  548. /package/dist/{core/collection → collection}/components/le-turntable/le-turntable.css +0 -0
  549. /package/dist/{core/collection → collection}/global/app.js +0 -0
  550. /package/dist/{core/collection → collection}/index.js +0 -0
  551. /package/dist/{core/collection → collection}/types/blocks.js +0 -0
  552. /package/dist/{core/collection → collection}/types/options.js +0 -0
  553. /package/dist/{core/collection → collection}/utils/utils.js +0 -0
  554. /package/dist/{core/components → components}/le-button.js.map +0 -0
  555. /package/dist/{core/components → components}/le-checkbox.js.map +0 -0
  556. /package/dist/{core/components → components}/le-component.js.map +0 -0
  557. /package/dist/{core/components → components}/le-popover.js +0 -0
  558. /package/dist/{core/components → components}/le-popover.js.map +0 -0
  559. /package/dist/{core/components → components}/le-round-progress.js.map +0 -0
  560. /package/dist/{core/components → components}/le-slot.js.map +0 -0
  561. /package/dist/{core/components → components}/le-string-input.js.map +0 -0
  562. /package/dist/{core/components → components}/le-turntable.js.map +0 -0
  563. /package/dist/{core/components → components}/utils.js +0 -0
  564. /package/dist/{core/components → components}/utils.js.map +0 -0
  565. /package/dist/{core/esm → esm}/le-kit.js.map +0 -0
  566. /package/dist/{core/esm → esm}/loader.js.map +0 -0
  567. /package/dist/{core/index.cjs.js → index.cjs.js} +0 -0
  568. /package/dist/{core/index.js → index.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"le-dropdown-base.js","sourceRoot":"","sources":["../../../src/components/le-dropdown-base/le-dropdown-base.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Method,\n Element,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { LeOption, LeOptionValue, LeOptionSelectDetail } from '../../types/options';\nimport { generateId } from '../../utils/utils';\n\n/**\n * Internal dropdown base component that provides shared functionality\n * for select, combobox, and multiselect components.\n *\n * Wraps le-popover for positioning and provides:\n * - Option list rendering with groups\n * - Keyboard navigation (↑↓, Enter, Escape, Home/End)\n * - Option filtering support\n * - Single and multi-select modes\n *\n * @cmsInternal true\n * @cmsCategory System\n *\n * @slot trigger - The element that triggers the dropdown\n */\n@Component({\n tag: 'le-dropdown-base',\n styleUrl: 'le-dropdown-base.css',\n shadow: true,\n})\nexport class LeDropdownBase {\n @Element() el: HTMLElement;\n\n /**\n * The options to display in the dropdown.\n */\n @Prop() options: LeOption[] = [];\n\n /**\n * Current value(s) - single value or array for multiselect.\n */\n @Prop() value?: LeOptionValue | LeOptionValue[];\n\n /**\n * Whether multiple selection is allowed.\n */\n @Prop() multiple: boolean = false;\n\n /**\n * Whether the dropdown is open.\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether the dropdown is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Filter function for options.\n * Return true to include the option.\n */\n @Prop() filterFn?: (option: LeOption, query: string) => boolean;\n\n /**\n * Current filter query string.\n */\n @Prop() filterQuery: string = '';\n\n /**\n * Placeholder text when no options match filter.\n */\n @Prop() emptyText: string = 'No options';\n\n /**\n * Whether to show checkboxes for multiselect mode.\n */\n @Prop() showCheckboxes: boolean = true;\n\n /**\n * Maximum height of the dropdown list.\n */\n @Prop() maxHeight: string = '300px';\n\n /**\n * Width of the dropdown. If not set, matches trigger width.\n */\n @Prop() width?: string;\n\n /**\n * Sets the dropdown to full width of the trigger.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Whether to close the dropdown when clicking outside.\n * (used to support combobox with input focus)\n */\n @Prop() closeOnClickOutside: boolean = true;\n\n /**\n * Emitted when an option is selected.\n */\n @Event() leOptionSelect: EventEmitter<LeOptionSelectDetail>;\n\n /**\n * Emitted when the dropdown opens.\n */\n @Event() leDropdownOpen: EventEmitter<void>;\n\n /**\n * Emitted when the dropdown closes.\n */\n @Event() leDropdownClose: EventEmitter<void>;\n\n @State() private focusedIndex: number = -1;\n @State() private filteredOptions: LeOption[] = [];\n\n private popoverEl?: HTMLLePopoverElement;\n private listEl?: HTMLElement;\n private triggerWidth: number = 0;\n\n @Watch('options')\n @Watch('filterQuery')\n handleOptionsChange() {\n this.updateFilteredOptions();\n }\n\n componentWillLoad() {\n this.updateFilteredOptions();\n }\n\n private updateFilteredOptions() {\n // Remember previously focused option\n const focusedOption = this.filteredOptions[this.focusedIndex];\n\n if (!this.filterQuery || !this.filterFn) {\n this.filteredOptions = this.options;\n } else {\n this.filteredOptions = this.options.filter(opt => this.filterFn!(opt, this.filterQuery));\n }\n\n // try to maintain focus on same option if still present\n if (focusedOption) {\n const newIndex = this.filteredOptions.indexOf(focusedOption);\n this.focusedIndex = newIndex >= 0 ? newIndex : this.getInitialFocusIndex();\n } else {\n this.focusedIndex = -1;\n }\n }\n\n private getSelectableOptions(): LeOption[] {\n return this.filteredOptions.filter(opt => !opt.disabled);\n }\n\n private isSelected(option: LeOption): boolean {\n const optValue = option.value ?? option.label;\n if (this.multiple && Array.isArray(this.value)) {\n setTimeout(() => {\n this.popoverEl?.updatePosition();\n }, 50);\n return this.value.includes(optValue);\n }\n return this.value === optValue;\n }\n\n private handleOptionClick(option: LeOption, e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n\n if (option.disabled) return;\n\n this.leOptionSelect.emit({\n value: option.value ?? option.label,\n option,\n });\n\n // Close dropdown for single select\n if (!this.multiple) {\n this.hide();\n }\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (!this.open) return;\n\n const optionCount = this.filteredOptions.length;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n // check for the next non-disabled option and focus\n let nextIndex = this.focusedIndex < optionCount - 1 ? this.focusedIndex + 1 : 0;\n while (this.filteredOptions[nextIndex].disabled) {\n nextIndex = ++nextIndex < optionCount ? nextIndex : 0;\n }\n this.focusedIndex = nextIndex;\n this.scrollToFocused();\n break;\n\n case 'ArrowUp':\n e.preventDefault();\n // check for the previous non-disabled option and focus\n let prevIndex = this.focusedIndex > 0 ? this.focusedIndex - 1 : optionCount - 1;\n while (this.filteredOptions[prevIndex].disabled) {\n prevIndex = --prevIndex >= 0 ? prevIndex : optionCount - 1;\n }\n this.focusedIndex = prevIndex;\n this.scrollToFocused();\n break;\n\n case 'Home':\n e.preventDefault();\n // check for the first non-disabled option and focus\n let firstIndex = 0;\n while (this.filteredOptions[firstIndex].disabled) {\n firstIndex++;\n if (firstIndex >= optionCount) {\n firstIndex = -1;\n break;\n }\n }\n this.focusedIndex = firstIndex;\n this.scrollToFocused();\n break;\n\n case 'End':\n e.preventDefault();\n // check for the last non-disabled option and focus\n let lastIndex = optionCount - 1;\n while (this.filteredOptions[lastIndex].disabled) {\n lastIndex--;\n if (lastIndex < 0) {\n lastIndex = -1;\n break;\n }\n }\n this.focusedIndex = lastIndex;\n this.scrollToFocused();\n break;\n\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (this.focusedIndex >= 0 && this.focusedIndex < optionCount) {\n const option = this.filteredOptions[this.focusedIndex];\n if (!option || option.disabled) return;\n this.leOptionSelect.emit({\n value: option.value ?? option.label,\n option,\n });\n if (!this.multiple) {\n this.hide();\n }\n }\n break;\n\n case 'Escape':\n e.preventDefault();\n this.hide();\n break;\n\n case 'Tab':\n this.hide();\n break;\n }\n };\n\n private scrollToFocused() {\n if (!this.listEl || this.focusedIndex < 0) return;\n\n const focusedEl = this.listEl.querySelector(\n `[data-index=\"${this.focusedIndex}\"]`,\n ) as HTMLElement;\n if (focusedEl) {\n focusedEl.scrollIntoView({ block: 'nearest' });\n }\n }\n\n private handlePopoverOpen = () => {\n this.open = true;\n this.focusedIndex = this.getInitialFocusIndex();\n this.leDropdownOpen.emit();\n\n // Add keyboard listener\n document.addEventListener('keydown', this.handleKeyDown);\n };\n\n private handlePopoverClose = () => {\n this.open = false;\n this.focusedIndex = -1;\n this.leDropdownClose.emit();\n\n // Remove keyboard listener\n document.removeEventListener('keydown', this.handleKeyDown);\n };\n\n private getInitialFocusIndex(): number {\n // Focus on first selected option, or first option\n const selectableOptions = this.getSelectableOptions();\n const selectedIndex = selectableOptions.findIndex(opt => this.isSelected(opt));\n return selectedIndex >= 0 ? selectedIndex : 0;\n }\n\n /**\n * Opens the dropdown.\n */\n @Method()\n async show() {\n if (this.disabled) return;\n\n // Capture trigger width for matching dropdown width\n const trigger = this.el.querySelector('[slot=\"trigger\"]') as HTMLElement;\n if (trigger) {\n this.triggerWidth = trigger.offsetWidth;\n }\n\n await this.popoverEl?.show();\n }\n\n /**\n * Closes the dropdown.\n */\n @Method()\n async hide() {\n await this.popoverEl?.hide();\n }\n\n /**\n * Toggles the dropdown.\n */\n @Method()\n async toggle() {\n if (this.open) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n private renderIcon(icon: string | undefined, className: string) {\n if (!icon) return null;\n\n if (icon.startsWith('http') || icon.startsWith('/')) {\n return <img class={className} src={icon} alt=\"\" />;\n }\n\n return <span class={className}>{icon}</span>;\n }\n\n private renderOption(option: LeOption, index: number) {\n const isSelected = this.isSelected(option);\n const isFocused = index === this.focusedIndex;\n const optionId = option.id || generateId();\n\n return (\n <div\n class={{\n 'dropdown-option': true,\n 'is-selected': isSelected,\n 'is-focused': isFocused,\n 'is-disabled': !!option.disabled,\n }}\n role=\"option\"\n id={optionId}\n aria-selected={isSelected ? 'true' : 'false'}\n aria-disabled={option.disabled ? 'true' : undefined}\n data-index={index}\n onClick={e => this.handleOptionClick(option, e)}\n onMouseEnter={() => {\n if (!option.disabled) {\n this.focusedIndex = index;\n }\n }}\n >\n {this.renderIcon(option.iconStart, 'option-icon-start')}\n <div class=\"option-content\">\n <span class=\"option-label\">{option.label}</span>\n {option.description && <span class=\"option-description\">{option.description}</span>}\n </div>\n {this.renderIcon(option.iconEnd, 'option-icon-end')}\n {(!this.multiple || this.showCheckboxes) && isSelected && (\n <span class=\"option-check\">\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <path d=\"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z\" />\n </svg>\n </span>\n )}\n </div>\n );\n }\n\n private renderOptions() {\n if (this.filteredOptions.length === 0) {\n return <div class=\"dropdown-empty\">{this.emptyText}</div>;\n }\n\n // Group options if they have group property\n const grouped = new Map<string, LeOption[]>();\n const ungrouped: LeOption[] = [];\n\n this.filteredOptions.forEach(opt => {\n if (opt.group) {\n const group = grouped.get(opt.group) || [];\n group.push(opt);\n grouped.set(opt.group, group);\n } else {\n ungrouped.push(opt);\n }\n });\n\n // Build flat list with group headers for index tracking\n let globalIndex = 0;\n const elements: any[] = [];\n\n // Render ungrouped options first\n ungrouped.forEach(opt => {\n if (opt.separator === 'before') {\n elements.push(<div class=\"dropdown-separator\" role=\"separator\" />);\n }\n elements.push(this.renderOption(opt, globalIndex++));\n if (opt.separator === 'after') {\n elements.push(<div class=\"dropdown-separator\" role=\"separator\" />);\n }\n });\n\n // Render grouped options\n grouped.forEach((options, groupLabel) => {\n elements.push(\n <div class=\"dropdown-group-header\" role=\"presentation\">\n {groupLabel}\n </div>,\n );\n options.forEach(opt => {\n elements.push(this.renderOption(opt, globalIndex++));\n });\n });\n\n return elements;\n }\n\n render() {\n const dropdownWidth = this.width || (this.triggerWidth ? `${this.triggerWidth}px` : undefined);\n\n return (\n <Host>\n <le-popover\n ref={el => (this.popoverEl = el)}\n position=\"bottom\"\n align=\"start\"\n showClose={false}\n closeOnClickOutside={this.closeOnClickOutside}\n closeOnEscape={true}\n offset={4}\n width={dropdownWidth}\n minWidth=\"150px\"\n trigger-full-width={this.fullWidth}\n onLePopoverOpen={this.handlePopoverOpen}\n onLePopoverClose={this.handlePopoverClose}\n >\n <slot name=\"trigger\" slot=\"trigger\" />\n <slot name=\"header\" />\n <div\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-multiselectable={this.multiple ? 'true' : undefined}\n ref={el => (this.listEl = el)}\n style={{ maxHeight: this.maxHeight }}\n >\n {this.renderOptions()}\n </div>\n </le-popover>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,120 @@
1
+ :host {
2
+ display: block;
3
+ width: 100%;
4
+
5
+ /* Container styles */
6
+ /* Offset from the top of the page (e.g. if page has top padding or another fixed bar). */
7
+ --le-header-top-offset: 0;
8
+
9
+ --le-header-bg: var(--le-color-surface);
10
+ --le-header-max-width: var(--le-header-max-width, auto);
11
+ --le-header-margin: 0 auto;
12
+ --le-header-border: 1px solid var(--le-color-border);
13
+ --le-header-border-radius: 0px;
14
+ --le-header-shadow: var(--le-header-shadow, none);
15
+
16
+ /* Content styles */
17
+ --le-header-color: var(--le-color-text);
18
+ --le-header-content-max-width: 800px;
19
+ --le-header-padding-x: var(--le-space-md);
20
+ --le-header-padding-y: var(--le-space-sm);
21
+ --le-header-gap: var(--le-space-sm);
22
+
23
+ --le-header-transition: var(--le-transition-normal);
24
+ --le-header-z: 1000;
25
+ }
26
+
27
+ .header {
28
+ width: 100%;
29
+ max-width: var(--le-header-max-width);
30
+ margin: var(--le-header-margin);
31
+ background: var(--le-header-bg);
32
+ color: var(--le-header-color);
33
+ border-bottom: var(--le-header-border);
34
+ border-radius: var(--le-header-border-radius);
35
+ box-shadow: var(--le-header-shadow);
36
+ }
37
+
38
+ :host(.is-fixed) {
39
+ position: fixed;
40
+ top: var(--le-header-top-offset);
41
+ left: 0;
42
+ right: 0;
43
+ z-index: var(--le-header-z);
44
+ }
45
+
46
+ :host(.is-sticky) {
47
+ position: sticky;
48
+ top: var(--le-header-top-offset);
49
+ z-index: var(--le-header-z);
50
+ }
51
+
52
+ :host(.is-static) {
53
+ position: relative;
54
+ }
55
+
56
+ .inner {
57
+ max-width: var(--le-header-content-max-width);
58
+ margin: 0 auto;
59
+ padding: var(--le-header-padding-y) var(--le-header-padding-x);
60
+ }
61
+
62
+ .row {
63
+ display: grid;
64
+ grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
65
+ align-items: center;
66
+ gap: var(--le-header-gap);
67
+ transition:
68
+ height var(--le-header-transition),
69
+ padding var(--le-header-transition),
70
+ transform var(--le-header-transition);
71
+ }
72
+
73
+ :host(.is-shrunk) .row {
74
+ height: var(--le-header-height-condensed);
75
+ }
76
+
77
+ /* reveal behavior (sticky only) */
78
+ :host(.is-sticky.is-hidden) {
79
+ transform: translateY(-150%);
80
+ transition: transform var(--le-header-transition);
81
+ }
82
+
83
+ :host(.is-sticky.is-revealed) {
84
+ transform: translateY(0);
85
+ transition: transform var(--le-header-transition);
86
+ }
87
+
88
+ .start,
89
+ .title,
90
+ .end {
91
+ min-width: 0;
92
+ display: flex;
93
+ align-items: center;
94
+ }
95
+
96
+ .start {
97
+ justify-content: flex-start;
98
+ }
99
+
100
+ .end {
101
+ justify-content: flex-end;
102
+ }
103
+
104
+ .title {
105
+ justify-content: center;
106
+ text-align: center;
107
+ }
108
+
109
+ .title-slot ::slotted(*) {
110
+ white-space: nowrap;
111
+ overflow: hidden;
112
+ text-overflow: ellipsis;
113
+ }
114
+
115
+ .compact-title {
116
+ font: inherit;
117
+ white-space: nowrap;
118
+ overflow: hidden;
119
+ text-overflow: ellipsis;
120
+ }
@@ -0,0 +1,508 @@
1
+ import { h, Host, } from "@stencil/core";
2
+ import { classnames } from "../../utils/utils";
3
+ /**
4
+ * A functional page header with scroll-aware behaviors.
5
+ *
6
+ * Features:
7
+ * - Static (default), sticky, or fixed positioning
8
+ * - Optional shrink-on-scroll behavior via `shrink-offset`
9
+ * - Optional reveal-on-scroll-up via `reveal-on-scroll` (sticky only)
10
+ *
11
+ * Slots:
12
+ * - `start`: left side (logo/back button)
13
+ * - `title`: centered/primary title content
14
+ * - `end`: right side actions
15
+ * - default: extra content row (e.g., tabs/search) rendered below main row
16
+ *
17
+ * @slot start - Start area content
18
+ * @slot title - Title content
19
+ * @slot end - End area content
20
+ * @slot - Optional secondary row content
21
+ *
22
+ * @cssprop --le-header-bg - Background (color/gradient)
23
+ * @cssprop --le-header-color - Text color
24
+ * @cssprop --le-header-border - Border (e.g. 1px solid ...)
25
+ * @cssprop --le-header-shadow - Shadow/elevation
26
+ * @cssprop --le-header-max-width - Inner content max width
27
+ * @cssprop --le-header-padding-x - Horizontal padding
28
+ * @cssprop --le-header-padding-y - Vertical padding
29
+ * @cssprop --le-header-gap - Gap between zones
30
+ * @cssprop --le-header-height - Base height (main row)
31
+ * @cssprop --le-header-height-condensed - Condensed height when shrunk
32
+ * @cssprop --le-header-transition - Transition timing
33
+ * @cssprop --le-header-z - Z-index (fixed mode)
34
+ *
35
+ * @csspart header - The header container
36
+ * @csspart inner - Inner max-width container
37
+ * @csspart row - Main row
38
+ * @csspart start - Start zone
39
+ * @csspart title - Title zone
40
+ * @csspart end - End zone
41
+ * @csspart secondary - Secondary row
42
+ *
43
+ * @cmsEditable true
44
+ * @cmsCategory Layout
45
+ */
46
+ export class LeHeader {
47
+ el;
48
+ /** Force static positioning (default). Ignored if `sticky` or `fixed` are true. */
49
+ isStatic = false;
50
+ /** Sticky positioning (in-flow). Ignored if `fixed` is true. */
51
+ sticky = false;
52
+ /** Fixed positioning (out-of-flow). Takes precedence over `sticky`/`static`. */
53
+ fixed = false;
54
+ /**
55
+ * Sticky-only reveal behavior (hide on scroll down, show on scroll up).
56
+ * - missing/false: disabled
57
+ * - true/empty attribute: enabled with default threshold (16)
58
+ * - number (as string): enabled and used as threshold
59
+ */
60
+ revealOnScroll;
61
+ /**
62
+ * Shrink trigger.
63
+ * - missing/0: disabled
64
+ * - number (px): shrink when scrollY >= that value (but never before header height)
65
+ * - css var name (e.g. --foo): shrink when scrollY >= resolved var value
66
+ * - selector (e.g. .page-title): shrink when that element scrolls out of view above the viewport
67
+ */
68
+ shrinkOffset;
69
+ /**
70
+ * If true, expand the header when hovered
71
+ */
72
+ expandOnHover = false;
73
+ /** Emits whenever scroll-driven state changes. */
74
+ leHeaderState;
75
+ /** Emits when the header shrinks/expands (only on change). */
76
+ leHeaderShrinkChange;
77
+ /** Emits when the header hides/shows (only on change). */
78
+ leHeaderVisibilityChange;
79
+ revealed = true;
80
+ shrunk = false;
81
+ placeholderHeight = null;
82
+ hoverActive = false;
83
+ disconnectModeObserver;
84
+ rafId = null;
85
+ measureRafId = null;
86
+ lastY = 0;
87
+ lastEmittedDirection = 'down';
88
+ headerEl;
89
+ shrinkSelectorEl;
90
+ setShrunk(next, y) {
91
+ if (next === this.shrunk)
92
+ return;
93
+ this.shrunk = next;
94
+ this.leHeaderShrinkChange.emit({ shrunk: this.shrunk, y });
95
+ }
96
+ componentDidLoad() {
97
+ if (typeof window === 'undefined')
98
+ return;
99
+ this.lastY = window.scrollY || 0;
100
+ this.scheduleMeasure(true);
101
+ this.scheduleUpdate(true);
102
+ }
103
+ disconnectedCallback() {
104
+ this.disconnectModeObserver?.();
105
+ if (this.rafId != null) {
106
+ cancelAnimationFrame(this.rafId);
107
+ this.rafId = null;
108
+ }
109
+ if (this.measureRafId != null) {
110
+ cancelAnimationFrame(this.measureRafId);
111
+ this.measureRafId = null;
112
+ }
113
+ }
114
+ onBehaviorPropsChange() {
115
+ this.scheduleUpdate(true);
116
+ this.scheduleMeasure(true);
117
+ }
118
+ onWindowScroll() {
119
+ this.scheduleUpdate();
120
+ }
121
+ onWindowResize() {
122
+ this.scheduleMeasure(true);
123
+ this.scheduleUpdate(true);
124
+ }
125
+ getPosition() {
126
+ if (this.fixed)
127
+ return 'fixed';
128
+ if (this.sticky)
129
+ return 'sticky';
130
+ return 'static';
131
+ }
132
+ parseRevealThreshold() {
133
+ // Only applies in sticky mode.
134
+ if (!this.sticky || this.fixed)
135
+ return null;
136
+ if (this.revealOnScroll == null)
137
+ return null;
138
+ const raw = String(this.revealOnScroll).trim();
139
+ if (raw === '' || raw === 'true')
140
+ return 16;
141
+ if (raw === 'false')
142
+ return null;
143
+ const n = Number(raw);
144
+ return Number.isFinite(n) ? Math.max(0, n) : 16;
145
+ }
146
+ resolveShrinkStartPx() {
147
+ const raw = (this.shrinkOffset ?? '').trim();
148
+ if (!raw || raw === '0')
149
+ return null;
150
+ // Numeric
151
+ const numeric = Number(raw);
152
+ if (Number.isFinite(numeric))
153
+ return Math.max(0, numeric);
154
+ // CSS variable name
155
+ if (raw.startsWith('--')) {
156
+ const value = getComputedStyle(document.documentElement).getPropertyValue(raw).trim();
157
+ const v = Number(value.replace('px', '').trim());
158
+ return Number.isFinite(v) ? Math.max(0, v) : null;
159
+ }
160
+ // Selector
161
+ try {
162
+ const el = document.querySelector(raw);
163
+ this.shrinkSelectorEl = el;
164
+ return null;
165
+ }
166
+ catch {
167
+ this.shrinkSelectorEl = null;
168
+ return null;
169
+ }
170
+ }
171
+ scheduleUpdate(force = false) {
172
+ if (this.rafId != null) {
173
+ if (!force)
174
+ return;
175
+ cancelAnimationFrame(this.rafId);
176
+ this.rafId = null;
177
+ }
178
+ this.rafId = requestAnimationFrame(() => {
179
+ this.rafId = null;
180
+ this.updateFromScroll();
181
+ });
182
+ }
183
+ scheduleMeasure(force = false) {
184
+ if (this.measureRafId != null && !force)
185
+ return;
186
+ this.measureRafId = requestAnimationFrame(() => {
187
+ this.measureRafId = null;
188
+ this.measurePlaceholderHeight();
189
+ });
190
+ }
191
+ measurePlaceholderHeight() {
192
+ // Measure the rendered header height once (and on resize/mode change).
193
+ // This intentionally ignores scroll/shrink behavior; it should reserve the full header height.
194
+ if (!this.headerEl)
195
+ return;
196
+ const next = Math.ceil(this.headerEl.getBoundingClientRect().height);
197
+ if (!Number.isFinite(next) || next <= 0)
198
+ return;
199
+ if (next !== this.placeholderHeight) {
200
+ this.placeholderHeight = next;
201
+ // Publish to global root so placeholders anywhere can read it.
202
+ if (typeof document !== 'undefined') {
203
+ document.documentElement.style.setProperty('--le-header-height', `${next}px`);
204
+ }
205
+ }
206
+ }
207
+ updateFromScroll() {
208
+ const y = typeof window !== 'undefined' ? window.scrollY || 0 : 0;
209
+ const delta = y - this.lastY;
210
+ const direction = delta < 0 ? 'up' : 'down';
211
+ // Shrink behavior
212
+ let computedShrunk = false;
213
+ const headerHeight = Math.max(0, this.placeholderHeight ?? 0);
214
+ const shrinkStartPx = typeof window !== 'undefined' ? this.resolveShrinkStartPx() : null;
215
+ if (this.shrinkSelectorEl) {
216
+ const rect = this.shrinkSelectorEl.getBoundingClientRect();
217
+ computedShrunk = rect.bottom <= 0;
218
+ }
219
+ else if (shrinkStartPx != null) {
220
+ const effectiveStart = Math.max(shrinkStartPx, headerHeight);
221
+ computedShrunk = y >= effectiveStart;
222
+ }
223
+ // Hover override: when enabled and hovered, force expanded.
224
+ const nextShrunk = this.expandOnHover && this.hoverActive ? false : computedShrunk;
225
+ this.setShrunk(nextShrunk, y);
226
+ // Reveal-on-scroll (sticky-only)
227
+ const revealThreshold = this.parseRevealThreshold();
228
+ if (revealThreshold != null) {
229
+ // Always show the header near the top of the page.
230
+ const topLock = Math.max(0, this.placeholderHeight ?? 0);
231
+ if (y <= topLock) {
232
+ if (!this.revealed) {
233
+ this.revealed = true;
234
+ this.leHeaderVisibilityChange.emit({ visible: true, y });
235
+ }
236
+ }
237
+ else if (Math.abs(delta) >= revealThreshold) {
238
+ const nextRevealed = direction === 'up' || y <= 0;
239
+ if (nextRevealed !== this.revealed) {
240
+ this.revealed = nextRevealed;
241
+ this.leHeaderVisibilityChange.emit({ visible: this.revealed, y });
242
+ }
243
+ this.lastEmittedDirection = direction;
244
+ }
245
+ }
246
+ else {
247
+ if (!this.revealed) {
248
+ this.revealed = true;
249
+ this.leHeaderVisibilityChange.emit({ visible: true, y });
250
+ }
251
+ }
252
+ this.lastY = y;
253
+ this.leHeaderState.emit({
254
+ y,
255
+ direction: this.lastEmittedDirection,
256
+ revealed: this.revealed,
257
+ shrunk: this.shrunk,
258
+ });
259
+ }
260
+ render() {
261
+ const position = this.getPosition();
262
+ const hostClass = classnames('le-header', {
263
+ 'header-is-shrunk': this.shrunk,
264
+ 'is-fixed': position === 'fixed',
265
+ 'is-sticky': position === 'sticky',
266
+ 'is-static': position === 'static',
267
+ 'is-revealed': this.revealed,
268
+ 'is-hidden': !this.revealed,
269
+ 'is-shrunk': this.shrunk,
270
+ });
271
+ return (h(Host, { key: '3fc823975a0ebcae3cb799bf94e35a289813cd35', class: hostClass, onMouseEnter: () => {
272
+ if (!this.expandOnHover)
273
+ return;
274
+ this.hoverActive = true;
275
+ this.scheduleUpdate(true);
276
+ }, onMouseLeave: () => {
277
+ if (!this.expandOnHover)
278
+ return;
279
+ this.hoverActive = false;
280
+ this.scheduleUpdate(true);
281
+ } }, h("le-component", { key: 'bb8e3c5717112e427fd86a6af4231b33147769e7', component: "le-header" }, h("header", { key: 'da96d6a1eb91a85ea8050870895fcd13bdb28391', class: "header", part: "header", role: "banner", ref: el => (this.headerEl = el) }, h("div", { key: '04386a3d535189012655ee352822812349d386d7', class: "inner", part: "inner" }, h("div", { key: '4b1fc43ca08e981f3dc810a23c14e6ed3200a1de', class: "row", part: "row" }, h("div", { key: '8fad255865a0d2e2662f3ad1030d48f8586ae8c7', class: "start", part: "start" }, h("le-slot", { key: '702eeebfe3133dae44e5268848ce5cac81f3b306', name: "start", label: "Start", description: "Logo / back button / nav", "allowed-components": "le-button,le-text,le-tag,le-box,le-stack" }, h("slot", { key: 'bdd3478abbdcd46143ce8a79d096baab84d12588', name: "start" }))), h("div", { key: 'e5b7d3d42e28d80b2df89a3ab365a29b39544f14', class: "title", part: "title" }, h("le-slot", { key: 'b5a68c8baaf05769ea838ca0482fa1db52b03b3a', name: "title", label: "Title", description: "Header title", type: "text", tag: "span" }, h("span", { key: '91763f968886e052a637959253863e583da51b76', class: "title-slot", part: "title" }, h("slot", { key: '060be7c91cca50c26db56cd15ad5d38962c8003f', name: "title" })))), h("div", { key: '938222741cbe15e531ff355185c4f599a3d26147', class: "end", part: "end" }, h("le-slot", { key: '8e1c91426dc87f1bdcb98d33b7da4cc6988781cf', name: "end", label: "End", description: "Actions", "allowed-components": "le-button,le-text,le-tag,le-box,le-stack" }, h("slot", { key: '67e4bda7e7c754dda5a7d9505a9b451f2487f47b', name: "end" })))), h("div", { key: '84dfedd30ec9bd49b668b2e1676ce3712b9d2faf', class: "secondary", part: "secondary" }, h("le-slot", { key: '95c56a8e3dbaaf284b03d72f1d9ec01d24c148d2', name: "", label: "Secondary", description: "Secondary row content", "allowed-components": "le-tabs,le-tab-bar,le-select,le-combobox,le-text,le-stack,le-box" }, h("slot", { key: '240df8fc23a9bc4e7aa294c52b229c7abf7c427d' }))))))));
282
+ }
283
+ static get is() { return "le-header"; }
284
+ static get encapsulation() { return "shadow"; }
285
+ static get originalStyleUrls() {
286
+ return {
287
+ "$": ["le-header.css"]
288
+ };
289
+ }
290
+ static get styleUrls() {
291
+ return {
292
+ "$": ["le-header.css"]
293
+ };
294
+ }
295
+ static get properties() {
296
+ return {
297
+ "isStatic": {
298
+ "type": "boolean",
299
+ "mutable": false,
300
+ "complexType": {
301
+ "original": "boolean",
302
+ "resolved": "boolean",
303
+ "references": {}
304
+ },
305
+ "required": false,
306
+ "optional": false,
307
+ "docs": {
308
+ "tags": [],
309
+ "text": "Force static positioning (default). Ignored if `sticky` or `fixed` are true."
310
+ },
311
+ "getter": false,
312
+ "setter": false,
313
+ "reflect": true,
314
+ "attribute": "static",
315
+ "defaultValue": "false"
316
+ },
317
+ "sticky": {
318
+ "type": "boolean",
319
+ "mutable": false,
320
+ "complexType": {
321
+ "original": "boolean",
322
+ "resolved": "boolean",
323
+ "references": {}
324
+ },
325
+ "required": false,
326
+ "optional": false,
327
+ "docs": {
328
+ "tags": [],
329
+ "text": "Sticky positioning (in-flow). Ignored if `fixed` is true."
330
+ },
331
+ "getter": false,
332
+ "setter": false,
333
+ "reflect": true,
334
+ "attribute": "sticky",
335
+ "defaultValue": "false"
336
+ },
337
+ "fixed": {
338
+ "type": "boolean",
339
+ "mutable": false,
340
+ "complexType": {
341
+ "original": "boolean",
342
+ "resolved": "boolean",
343
+ "references": {}
344
+ },
345
+ "required": false,
346
+ "optional": false,
347
+ "docs": {
348
+ "tags": [],
349
+ "text": "Fixed positioning (out-of-flow). Takes precedence over `sticky`/`static`."
350
+ },
351
+ "getter": false,
352
+ "setter": false,
353
+ "reflect": true,
354
+ "attribute": "fixed",
355
+ "defaultValue": "false"
356
+ },
357
+ "revealOnScroll": {
358
+ "type": "string",
359
+ "mutable": false,
360
+ "complexType": {
361
+ "original": "string",
362
+ "resolved": "string",
363
+ "references": {}
364
+ },
365
+ "required": false,
366
+ "optional": true,
367
+ "docs": {
368
+ "tags": [],
369
+ "text": "Sticky-only reveal behavior (hide on scroll down, show on scroll up).\n- missing/false: disabled\n- true/empty attribute: enabled with default threshold (16)\n- number (as string): enabled and used as threshold"
370
+ },
371
+ "getter": false,
372
+ "setter": false,
373
+ "reflect": true,
374
+ "attribute": "reveal-on-scroll"
375
+ },
376
+ "shrinkOffset": {
377
+ "type": "string",
378
+ "mutable": false,
379
+ "complexType": {
380
+ "original": "string",
381
+ "resolved": "string",
382
+ "references": {}
383
+ },
384
+ "required": false,
385
+ "optional": true,
386
+ "docs": {
387
+ "tags": [],
388
+ "text": "Shrink trigger.\n- missing/0: disabled\n- number (px): shrink when scrollY >= that value (but never before header height)\n- css var name (e.g. --foo): shrink when scrollY >= resolved var value\n- selector (e.g. .page-title): shrink when that element scrolls out of view above the viewport"
389
+ },
390
+ "getter": false,
391
+ "setter": false,
392
+ "reflect": true,
393
+ "attribute": "shrink-offset"
394
+ },
395
+ "expandOnHover": {
396
+ "type": "boolean",
397
+ "mutable": false,
398
+ "complexType": {
399
+ "original": "boolean",
400
+ "resolved": "boolean",
401
+ "references": {}
402
+ },
403
+ "required": false,
404
+ "optional": false,
405
+ "docs": {
406
+ "tags": [],
407
+ "text": "If true, expand the header when hovered"
408
+ },
409
+ "getter": false,
410
+ "setter": false,
411
+ "reflect": true,
412
+ "attribute": "expand-on-hover",
413
+ "defaultValue": "false"
414
+ }
415
+ };
416
+ }
417
+ static get states() {
418
+ return {
419
+ "revealed": {},
420
+ "shrunk": {},
421
+ "placeholderHeight": {},
422
+ "hoverActive": {}
423
+ };
424
+ }
425
+ static get events() {
426
+ return [{
427
+ "method": "leHeaderState",
428
+ "name": "leHeaderState",
429
+ "bubbles": true,
430
+ "cancelable": true,
431
+ "composed": true,
432
+ "docs": {
433
+ "tags": [],
434
+ "text": "Emits whenever scroll-driven state changes."
435
+ },
436
+ "complexType": {
437
+ "original": "{\n y: number;\n direction: 'up' | 'down';\n revealed: boolean;\n shrunk: boolean;\n }",
438
+ "resolved": "{ y: number; direction: \"up\" | \"down\"; revealed: boolean; shrunk: boolean; }",
439
+ "references": {}
440
+ }
441
+ }, {
442
+ "method": "leHeaderShrinkChange",
443
+ "name": "leHeaderShrinkChange",
444
+ "bubbles": true,
445
+ "cancelable": true,
446
+ "composed": true,
447
+ "docs": {
448
+ "tags": [],
449
+ "text": "Emits when the header shrinks/expands (only on change)."
450
+ },
451
+ "complexType": {
452
+ "original": "{ shrunk: boolean; y: number }",
453
+ "resolved": "{ shrunk: boolean; y: number; }",
454
+ "references": {}
455
+ }
456
+ }, {
457
+ "method": "leHeaderVisibilityChange",
458
+ "name": "leHeaderVisibilityChange",
459
+ "bubbles": true,
460
+ "cancelable": true,
461
+ "composed": true,
462
+ "docs": {
463
+ "tags": [],
464
+ "text": "Emits when the header hides/shows (only on change)."
465
+ },
466
+ "complexType": {
467
+ "original": "{ visible: boolean; y: number }",
468
+ "resolved": "{ visible: boolean; y: number; }",
469
+ "references": {}
470
+ }
471
+ }];
472
+ }
473
+ static get elementRef() { return "el"; }
474
+ static get watchers() {
475
+ return [{
476
+ "propName": "revealOnScroll",
477
+ "methodName": "onBehaviorPropsChange"
478
+ }, {
479
+ "propName": "shrinkOffset",
480
+ "methodName": "onBehaviorPropsChange"
481
+ }, {
482
+ "propName": "fixed",
483
+ "methodName": "onBehaviorPropsChange"
484
+ }, {
485
+ "propName": "sticky",
486
+ "methodName": "onBehaviorPropsChange"
487
+ }, {
488
+ "propName": "isStatic",
489
+ "methodName": "onBehaviorPropsChange"
490
+ }];
491
+ }
492
+ static get listeners() {
493
+ return [{
494
+ "name": "scroll",
495
+ "method": "onWindowScroll",
496
+ "target": "window",
497
+ "capture": false,
498
+ "passive": true
499
+ }, {
500
+ "name": "resize",
501
+ "method": "onWindowResize",
502
+ "target": "window",
503
+ "capture": false,
504
+ "passive": true
505
+ }];
506
+ }
507
+ }
508
+ //# sourceMappingURL=le-header.js.map