@statistikzh/leu 0.24.2 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/.storybook/main.ts +18 -53
  3. package/.storybook/manager.ts +1 -4
  4. package/.storybook/preview.ts +23 -16
  5. package/.storybook/theme.ts +1 -1
  6. package/CHANGELOG.md +21 -0
  7. package/CONTRIBUTING.md +19 -8
  8. package/dist/Accordion-B04QkmHz.js +241 -0
  9. package/dist/Accordion.d.ts +44 -44
  10. package/dist/Accordion.js +2 -249
  11. package/dist/Button-BgNUxmo_.d.ts +99 -0
  12. package/dist/Button-BkhqVjug.js +564 -0
  13. package/dist/Button.d.ts +2 -85
  14. package/dist/Button.js +5 -504
  15. package/dist/ButtonGroup-B8U9fDvM.js +88 -0
  16. package/dist/ButtonGroup.d.ts +19 -19
  17. package/dist/ButtonGroup.js +6 -101
  18. package/dist/ChartWrapper-CSMFwz9e.js +158 -0
  19. package/dist/ChartWrapper.d.ts +26 -26
  20. package/dist/ChartWrapper.js +3 -163
  21. package/dist/Checkbox-Dd1QLpfn.js +198 -0
  22. package/dist/Checkbox.d.ts +35 -27
  23. package/dist/Checkbox.js +4 -157
  24. package/dist/CheckboxGroup-Bz2eWEFL.js +81 -0
  25. package/dist/CheckboxGroup.d.ts +18 -18
  26. package/dist/CheckboxGroup.js +5 -82
  27. package/dist/Chip-DLKM9P7v.d.ts +18 -0
  28. package/dist/Chip-XAQIIsXq.js +171 -0
  29. package/dist/Chip.d.ts +2 -18
  30. package/dist/Chip.js +2 -166
  31. package/dist/ChipGroup-DLqfK2kn.js +125 -0
  32. package/dist/ChipGroup-Ta8Ht4jc.d.ts +42 -0
  33. package/dist/ChipGroup.d.ts +2 -43
  34. package/dist/ChipGroup.js +3 -132
  35. package/dist/ChipLink-BAxyQO2M.d.ts +17 -0
  36. package/dist/ChipLink.d.ts +2 -18
  37. package/dist/ChipLink.js +28 -28
  38. package/dist/ChipRemovable-DBjwt0CH.d.ts +25 -0
  39. package/dist/ChipRemovable.d.ts +2 -26
  40. package/dist/ChipRemovable.js +42 -43
  41. package/dist/ChipSelectable-CMJNcE4U.d.ts +32 -0
  42. package/dist/ChipSelectable.d.ts +2 -33
  43. package/dist/ChipSelectable.js +63 -72
  44. package/dist/Dialog-DHuXR_oo.js +241 -0
  45. package/dist/Dialog.d.ts +28 -28
  46. package/dist/Dialog.js +3 -240
  47. package/dist/Dropdown-DtFTePbc.js +155 -0
  48. package/dist/Dropdown.d.ts +39 -41
  49. package/dist/Dropdown.js +9 -157
  50. package/dist/FileInput-b8sbLDPI.js +344 -0
  51. package/dist/FileInput.d.ts +56 -57
  52. package/dist/FileInput.js +7 -383
  53. package/dist/FormAssociatedMixin-Cc74LjbC.d.ts +22 -0
  54. package/dist/FormAssociatedMixin-DLPvFtbT.js +58 -0
  55. package/dist/Icon-C_yYuynf.js +186 -0
  56. package/dist/Icon-Op80LrrO.d.ts +151 -0
  57. package/dist/Icon.d.ts +2 -4
  58. package/dist/Icon.js +2 -188
  59. package/dist/Input-D2THgo7c.d.ts +169 -0
  60. package/dist/Input-DEOVocTa.js +610 -0
  61. package/dist/Input.d.ts +2 -166
  62. package/dist/Input.js +4 -626
  63. package/dist/LeuElement-BeFrgKes.js +46 -0
  64. package/dist/LeuElement-pJFU18Xm.d.ts +11 -0
  65. package/dist/Menu-BeqqtCw6.js +136 -0
  66. package/dist/Menu-CQdx1ef3.d.ts +43 -0
  67. package/dist/Menu.d.ts +2 -44
  68. package/dist/Menu.js +4 -157
  69. package/dist/MenuItem-DVg8-1Bq.js +219 -0
  70. package/dist/MenuItem-QcgnRk_7.d.ts +63 -0
  71. package/dist/MenuItem.d.ts +2 -64
  72. package/dist/MenuItem.js +3 -227
  73. package/dist/Message-BhknWvAF.js +252 -0
  74. package/dist/Message.d.ts +53 -53
  75. package/dist/Message.js +3 -267
  76. package/dist/Pagination-CqkHh-Vd.d.ts +76 -0
  77. package/dist/Pagination-DJI5MIi_.js +226 -0
  78. package/dist/Pagination.d.ts +2 -76
  79. package/dist/Pagination.js +7 -240
  80. package/dist/Placeholder-BJybFwSg.js +95 -0
  81. package/dist/Placeholder.d.ts +15 -15
  82. package/dist/Placeholder.js +2 -89
  83. package/dist/Popup-Btgm2a3D.d.ts +61 -0
  84. package/dist/Popup-DNlm_9AA.js +195 -0
  85. package/dist/Popup.d.ts +2 -62
  86. package/dist/Popup.js +2 -233
  87. package/dist/ProgressBar-B0wYj1KF.js +167 -0
  88. package/dist/ProgressBar.d.ts +21 -21
  89. package/dist/ProgressBar.js +2 -165
  90. package/dist/Radio-DMCL8c4D.js +160 -0
  91. package/dist/Radio.d.ts +22 -22
  92. package/dist/Radio.js +2 -151
  93. package/dist/RadioGroup-CM6IyBlq.js +171 -0
  94. package/dist/RadioGroup.d.ts +35 -35
  95. package/dist/RadioGroup.js +3 -182
  96. package/dist/Range-B72rtfln.js +496 -0
  97. package/dist/Range.d.ts +112 -112
  98. package/dist/Range.js +2 -586
  99. package/dist/ScrollTop-BFAqBVDR.js +130 -0
  100. package/dist/ScrollTop.d.ts +21 -21
  101. package/dist/ScrollTop.js +6 -134
  102. package/dist/Select-vxl3BvD4.js +618 -0
  103. package/dist/Select.d.ts +130 -132
  104. package/dist/Select.js +10 -675
  105. package/dist/Spinner-CrM1enM0.d.ts +14 -0
  106. package/dist/Spinner-DDTqijTO.js +56 -0
  107. package/dist/Spinner.d.ts +2 -14
  108. package/dist/Spinner.js +2 -52
  109. package/dist/Table-BgCxfBcm.js +392 -0
  110. package/dist/Table.d.ts +61 -63
  111. package/dist/Table.js +8 -427
  112. package/dist/Tag-DK2KkPIQ.js +76 -0
  113. package/dist/Tag.d.ts +8 -8
  114. package/dist/Tag.js +2 -74
  115. package/dist/VisuallyHidden-OeQvhxYn.d.ts +13 -0
  116. package/dist/VisuallyHidden-pll3amXE.js +29 -0
  117. package/dist/VisuallyHidden.d.ts +2 -13
  118. package/dist/VisuallyHidden.js +2 -25
  119. package/dist/decorate-DwpAc4D0.js +9 -0
  120. package/dist/hasSlotController-DSBCVzPD.js +38 -0
  121. package/dist/hasSlotController-DWPyZ52b.d.ts +19 -0
  122. package/dist/index.d.ts +33 -30
  123. package/dist/index.js +35 -45
  124. package/dist/leu-accordion.d.ts +7 -10
  125. package/dist/leu-accordion.js +4 -8
  126. package/dist/leu-button-group.d.ts +7 -10
  127. package/dist/leu-button-group.js +8 -12
  128. package/dist/leu-button.d.ts +7 -11
  129. package/dist/leu-button.js +7 -11
  130. package/dist/leu-chart-wrapper.d.ts +7 -12
  131. package/dist/leu-chart-wrapper.js +5 -9
  132. package/dist/leu-checkbox-group.d.ts +7 -10
  133. package/dist/leu-checkbox-group.js +7 -10
  134. package/dist/leu-checkbox.d.ts +7 -11
  135. package/dist/leu-checkbox.js +6 -8
  136. package/dist/leu-chip-group.d.ts +7 -12
  137. package/dist/leu-chip-group.js +5 -10
  138. package/dist/leu-chip-link.d.ts +7 -11
  139. package/dist/leu-chip-link.js +5 -8
  140. package/dist/leu-chip-removable.d.ts +7 -12
  141. package/dist/leu-chip-removable.js +6 -9
  142. package/dist/leu-chip-selectable.d.ts +7 -11
  143. package/dist/leu-chip-selectable.js +5 -8
  144. package/dist/leu-dialog.d.ts +7 -13
  145. package/dist/leu-dialog.js +5 -11
  146. package/dist/leu-dropdown.d.ts +7 -18
  147. package/dist/leu-dropdown.js +11 -17
  148. package/dist/leu-file-input.d.ts +7 -13
  149. package/dist/leu-file-input.js +9 -13
  150. package/dist/leu-icon.d.ts +7 -10
  151. package/dist/leu-icon.js +4 -7
  152. package/dist/leu-input.d.ts +7 -12
  153. package/dist/leu-input.js +6 -12
  154. package/dist/leu-menu-item.d.ts +7 -11
  155. package/dist/leu-menu-item.js +5 -9
  156. package/dist/leu-menu.d.ts +7 -12
  157. package/dist/leu-menu.js +6 -10
  158. package/dist/leu-message.d.ts +7 -11
  159. package/dist/leu-message.js +5 -10
  160. package/dist/leu-pagination.d.ts +7 -13
  161. package/dist/leu-pagination.js +9 -14
  162. package/dist/leu-placeholder.d.ts +7 -10
  163. package/dist/leu-placeholder.js +4 -5
  164. package/dist/leu-popup.d.ts +7 -11
  165. package/dist/leu-popup.js +4 -8
  166. package/dist/leu-progress-bar.d.ts +7 -10
  167. package/dist/leu-progress-bar.js +4 -8
  168. package/dist/leu-radio-group.d.ts +7 -10
  169. package/dist/leu-radio-group.js +5 -9
  170. package/dist/leu-radio.d.ts +7 -10
  171. package/dist/leu-radio.js +4 -7
  172. package/dist/leu-range.d.ts +7 -10
  173. package/dist/leu-range.js +4 -9
  174. package/dist/leu-scroll-top.d.ts +7 -12
  175. package/dist/leu-scroll-top.js +8 -13
  176. package/dist/leu-select.d.ts +7 -19
  177. package/dist/leu-select.js +12 -19
  178. package/dist/leu-spinner.d.ts +7 -10
  179. package/dist/leu-spinner.js +4 -5
  180. package/dist/leu-table.d.ts +7 -14
  181. package/dist/leu-table.js +10 -17
  182. package/dist/leu-tag.d.ts +7 -10
  183. package/dist/leu-tag.js +4 -7
  184. package/dist/leu-visually-hidden.d.ts +7 -10
  185. package/dist/leu-visually-hidden.js +4 -5
  186. package/dist/utils-hfk5Nwy8.js +28 -0
  187. package/dist/vscode.html-custom-data.json +7 -8
  188. package/dist/vue/index.d.ts +5 -9
  189. package/dist/web-types.json +18 -24
  190. package/eslint.config.mjs +79 -0
  191. package/package.json +44 -60
  192. package/scripts/generate-component/templates/stories/[name].stories.ts +1 -1
  193. package/src/components/accordion/Accordion.ts +1 -1
  194. package/src/components/button/Button.ts +76 -5
  195. package/src/components/button/button.css +37 -9
  196. package/src/components/button/stories/button.stories.ts +23 -0
  197. package/src/components/button/test/button.test.ts +214 -9
  198. package/src/components/button-group/ButtonGroup.ts +1 -6
  199. package/src/components/button-group/stories/button-group.stories.ts +1 -1
  200. package/src/components/chart-wrapper/ChartWrapper.ts +1 -1
  201. package/src/components/chart-wrapper/stories/chart-wrapper.stories.ts +1 -1
  202. package/src/components/checkbox/Checkbox.ts +76 -12
  203. package/src/components/checkbox/CheckboxGroup.ts +1 -1
  204. package/src/components/checkbox/checkbox.css +4 -0
  205. package/src/components/checkbox/stories/checkbox.stories.ts +26 -3
  206. package/src/components/checkbox/test/checkbox.test.ts +147 -3
  207. package/src/components/chip/Chip.ts +1 -1
  208. package/src/components/chip/ChipGroup.ts +2 -2
  209. package/src/components/chip/stories/chip-removable.stories.ts +1 -1
  210. package/src/components/chip/test/chip-removable.test.ts +2 -2
  211. package/src/components/dialog/Dialog.ts +1 -1
  212. package/src/components/dialog/stories/dialog.stories.ts +0 -2
  213. package/src/components/dropdown/Dropdown.ts +1 -1
  214. package/src/components/dropdown/stories/dropdown.stories.ts +1 -1
  215. package/src/components/file-input/FileInput.ts +18 -20
  216. package/src/components/file-input/stories/file-input.stories.ts +2 -2
  217. package/src/components/file-input/test/file-input.test.ts +14 -1
  218. package/src/components/icon/Icon.ts +1 -1
  219. package/src/components/input/Input.ts +18 -7
  220. package/src/components/input/stories/input.stories.ts +24 -21
  221. package/src/components/menu/Menu.ts +4 -4
  222. package/src/components/menu/MenuItem.ts +1 -1
  223. package/src/components/menu/stories/menu-item.stories.ts +0 -2
  224. package/src/components/message/Message.ts +1 -1
  225. package/src/components/message/stories/message.stories.ts +2 -2
  226. package/src/components/pagination/Pagination.ts +1 -1
  227. package/src/components/pagination/stories/pagination.stories.ts +3 -3
  228. package/src/components/pagination/test/pagination.test.ts +1 -1
  229. package/src/components/placeholder/Placeholder.ts +1 -1
  230. package/src/components/placeholder/stories/placeholder.stories.ts +1 -1
  231. package/src/components/popup/Popup.ts +1 -1
  232. package/src/components/progress-bar/ProgressBar.ts +1 -1
  233. package/src/components/progress-bar/stories/progress-bar.stories.ts +1 -1
  234. package/src/components/radio/Radio.ts +1 -1
  235. package/src/components/radio/RadioGroup.ts +5 -5
  236. package/src/components/range/Range.ts +1 -1
  237. package/src/components/range/stories/range.stories.ts +2 -2
  238. package/src/components/scroll-top/ScrollTop.ts +1 -1
  239. package/src/components/select/Select.ts +2 -5
  240. package/src/components/spinner/Spinner.ts +1 -1
  241. package/src/components/table/Table.ts +1 -1
  242. package/src/components/tag/Tag.ts +1 -1
  243. package/src/components/tag/stories/tag.stories.ts +1 -1
  244. package/src/components/visually-hidden/VisuallyHidden.ts +1 -1
  245. package/src/docs/contributing.mdx +1 -1
  246. package/src/docs/installation.mdx +1 -1
  247. package/src/docs/theme.mdx +1 -1
  248. package/src/docs/usage.mdx +1 -1
  249. package/src/global.d.ts +1 -1
  250. package/src/lib/LeuElement.ts +1 -1
  251. package/src/lib/mixins/FormAssociatedMixin.ts +115 -0
  252. package/src/lib/styleMap.ts +1 -1
  253. package/tsdown.config.ts +35 -0
  254. package/web-test-runner.config.mjs +20 -2
  255. package/.eslintrc.json +0 -57
  256. package/dist/Icon.d-itcQ94ym.d.ts +0 -151
  257. package/dist/LeuElement-BfXSO7MN.js +0 -42
  258. package/dist/LeuElement.d-BevHqLUu.d.ts +0 -10
  259. package/dist/_tslib-CNEFicEt.js +0 -30
  260. package/dist/components/accordion/Accordion.d.ts +0 -49
  261. package/dist/components/accordion/Accordion.d.ts.map +0 -1
  262. package/dist/components/accordion/leu-accordion.d.ts +0 -8
  263. package/dist/components/accordion/leu-accordion.d.ts.map +0 -1
  264. package/dist/components/accordion/stories/accordion.stories.d.ts +0 -26
  265. package/dist/components/accordion/stories/accordion.stories.d.ts.map +0 -1
  266. package/dist/components/accordion/test/accordion.test.d.ts +0 -2
  267. package/dist/components/accordion/test/accordion.test.d.ts.map +0 -1
  268. package/dist/components/button/Button.d.ts +0 -81
  269. package/dist/components/button/Button.d.ts.map +0 -1
  270. package/dist/components/button/leu-button.d.ts +0 -8
  271. package/dist/components/button/leu-button.d.ts.map +0 -1
  272. package/dist/components/button/stories/button.stories.d.ts +0 -19
  273. package/dist/components/button/stories/button.stories.d.ts.map +0 -1
  274. package/dist/components/button/test/button.test.d.ts +0 -3
  275. package/dist/components/button/test/button.test.d.ts.map +0 -1
  276. package/dist/components/button-group/ButtonGroup.d.ts +0 -25
  277. package/dist/components/button-group/ButtonGroup.d.ts.map +0 -1
  278. package/dist/components/button-group/leu-button-group.d.ts +0 -8
  279. package/dist/components/button-group/leu-button-group.d.ts.map +0 -1
  280. package/dist/components/button-group/stories/button-group.stories.d.ts +0 -15
  281. package/dist/components/button-group/stories/button-group.stories.d.ts.map +0 -1
  282. package/dist/components/button-group/test/button-group.test.d.ts +0 -3
  283. package/dist/components/button-group/test/button-group.test.d.ts.map +0 -1
  284. package/dist/components/chart-wrapper/ChartWrapper.d.ts +0 -34
  285. package/dist/components/chart-wrapper/ChartWrapper.d.ts.map +0 -1
  286. package/dist/components/chart-wrapper/leu-chart-wrapper.d.ts +0 -8
  287. package/dist/components/chart-wrapper/leu-chart-wrapper.d.ts.map +0 -1
  288. package/dist/components/chart-wrapper/stories/chart-wrapper.stories.d.ts +0 -47
  289. package/dist/components/chart-wrapper/stories/chart-wrapper.stories.d.ts.map +0 -1
  290. package/dist/components/chart-wrapper/test/chart-wrapper.test.d.ts +0 -2
  291. package/dist/components/chart-wrapper/test/chart-wrapper.test.d.ts.map +0 -1
  292. package/dist/components/checkbox/Checkbox.d.ts +0 -28
  293. package/dist/components/checkbox/Checkbox.d.ts.map +0 -1
  294. package/dist/components/checkbox/CheckboxGroup.d.ts +0 -22
  295. package/dist/components/checkbox/CheckboxGroup.d.ts.map +0 -1
  296. package/dist/components/checkbox/leu-checkbox-group.d.ts +0 -8
  297. package/dist/components/checkbox/leu-checkbox-group.d.ts.map +0 -1
  298. package/dist/components/checkbox/leu-checkbox.d.ts +0 -8
  299. package/dist/components/checkbox/leu-checkbox.d.ts.map +0 -1
  300. package/dist/components/checkbox/stories/checkbox-group.stories.d.ts +0 -29
  301. package/dist/components/checkbox/stories/checkbox-group.stories.d.ts.map +0 -1
  302. package/dist/components/checkbox/stories/checkbox.stories.d.ts +0 -22
  303. package/dist/components/checkbox/stories/checkbox.stories.d.ts.map +0 -1
  304. package/dist/components/checkbox/test/checkbox-group.test.d.ts +0 -3
  305. package/dist/components/checkbox/test/checkbox-group.test.d.ts.map +0 -1
  306. package/dist/components/checkbox/test/checkbox.test.d.ts +0 -2
  307. package/dist/components/checkbox/test/checkbox.test.d.ts.map +0 -1
  308. package/dist/components/chip/Chip.d.ts +0 -15
  309. package/dist/components/chip/Chip.d.ts.map +0 -1
  310. package/dist/components/chip/ChipGroup.d.ts +0 -38
  311. package/dist/components/chip/ChipGroup.d.ts.map +0 -1
  312. package/dist/components/chip/ChipLink.d.ts +0 -13
  313. package/dist/components/chip/ChipLink.d.ts.map +0 -1
  314. package/dist/components/chip/ChipRemovable.d.ts +0 -21
  315. package/dist/components/chip/ChipRemovable.d.ts.map +0 -1
  316. package/dist/components/chip/ChipSelectable.d.ts +0 -28
  317. package/dist/components/chip/ChipSelectable.d.ts.map +0 -1
  318. package/dist/components/chip/exports.d.ts +0 -5
  319. package/dist/components/chip/exports.d.ts.map +0 -1
  320. package/dist/components/chip/leu-chip-group.d.ts +0 -8
  321. package/dist/components/chip/leu-chip-group.d.ts.map +0 -1
  322. package/dist/components/chip/leu-chip-link.d.ts +0 -8
  323. package/dist/components/chip/leu-chip-link.d.ts.map +0 -1
  324. package/dist/components/chip/leu-chip-removable.d.ts +0 -8
  325. package/dist/components/chip/leu-chip-removable.d.ts.map +0 -1
  326. package/dist/components/chip/leu-chip-selectable.d.ts +0 -8
  327. package/dist/components/chip/leu-chip-selectable.d.ts.map +0 -1
  328. package/dist/components/chip/stories/chip-group.stories.d.ts +0 -40
  329. package/dist/components/chip/stories/chip-group.stories.d.ts.map +0 -1
  330. package/dist/components/chip/stories/chip-link.stories.d.ts +0 -27
  331. package/dist/components/chip/stories/chip-link.stories.d.ts.map +0 -1
  332. package/dist/components/chip/stories/chip-removable.stories.d.ts +0 -21
  333. package/dist/components/chip/stories/chip-removable.stories.d.ts.map +0 -1
  334. package/dist/components/chip/stories/chip-selectable.stories.d.ts +0 -35
  335. package/dist/components/chip/stories/chip-selectable.stories.d.ts.map +0 -1
  336. package/dist/components/chip/test/chip-group.test.d.ts +0 -4
  337. package/dist/components/chip/test/chip-group.test.d.ts.map +0 -1
  338. package/dist/components/chip/test/chip-link.test.d.ts +0 -2
  339. package/dist/components/chip/test/chip-link.test.d.ts.map +0 -1
  340. package/dist/components/chip/test/chip-removable.test.d.ts +0 -2
  341. package/dist/components/chip/test/chip-removable.test.d.ts.map +0 -1
  342. package/dist/components/chip/test/chip-selectable.test.d.ts +0 -2
  343. package/dist/components/chip/test/chip-selectable.test.d.ts.map +0 -1
  344. package/dist/components/chip/test/chip.test.d.ts +0 -2
  345. package/dist/components/chip/test/chip.test.d.ts.map +0 -1
  346. package/dist/components/dialog/Dialog.d.ts +0 -29
  347. package/dist/components/dialog/Dialog.d.ts.map +0 -1
  348. package/dist/components/dialog/leu-dialog.d.ts +0 -8
  349. package/dist/components/dialog/leu-dialog.d.ts.map +0 -1
  350. package/dist/components/dialog/stories/dialog.stories.d.ts +0 -19
  351. package/dist/components/dialog/stories/dialog.stories.d.ts.map +0 -1
  352. package/dist/components/dialog/test/dialog.test.d.ts +0 -2
  353. package/dist/components/dialog/test/dialog.test.d.ts.map +0 -1
  354. package/dist/components/dropdown/Dropdown.d.ts +0 -40
  355. package/dist/components/dropdown/Dropdown.d.ts.map +0 -1
  356. package/dist/components/dropdown/leu-dropdown.d.ts +0 -8
  357. package/dist/components/dropdown/leu-dropdown.d.ts.map +0 -1
  358. package/dist/components/dropdown/stories/dropdown.stories.d.ts +0 -25
  359. package/dist/components/dropdown/stories/dropdown.stories.d.ts.map +0 -1
  360. package/dist/components/dropdown/test/dropdown.test.d.ts +0 -2
  361. package/dist/components/dropdown/test/dropdown.test.d.ts.map +0 -1
  362. package/dist/components/file-input/FileInput.d.ts +0 -62
  363. package/dist/components/file-input/FileInput.d.ts.map +0 -1
  364. package/dist/components/file-input/leu-file-input.d.ts +0 -8
  365. package/dist/components/file-input/leu-file-input.d.ts.map +0 -1
  366. package/dist/components/file-input/stories/file-input.stories.d.ts +0 -34
  367. package/dist/components/file-input/stories/file-input.stories.d.ts.map +0 -1
  368. package/dist/components/file-input/test/file-input.test.d.ts +0 -2
  369. package/dist/components/file-input/test/file-input.test.d.ts.map +0 -1
  370. package/dist/components/icon/Icon.d.ts +0 -20
  371. package/dist/components/icon/Icon.d.ts.map +0 -1
  372. package/dist/components/icon/leu-icon.d.ts +0 -8
  373. package/dist/components/icon/leu-icon.d.ts.map +0 -1
  374. package/dist/components/icon/paths.d.ts +0 -127
  375. package/dist/components/icon/paths.d.ts.map +0 -1
  376. package/dist/components/icon/stories/icon.stories.d.ts +0 -32
  377. package/dist/components/icon/stories/icon.stories.d.ts.map +0 -1
  378. package/dist/components/icon/test/icon.test.d.ts +0 -2
  379. package/dist/components/icon/test/icon.test.d.ts.map +0 -1
  380. package/dist/components/input/Input.d.ts +0 -163
  381. package/dist/components/input/Input.d.ts.map +0 -1
  382. package/dist/components/input/leu-input.d.ts +0 -8
  383. package/dist/components/input/leu-input.d.ts.map +0 -1
  384. package/dist/components/input/stories/input.stories.d.ts +0 -35
  385. package/dist/components/input/stories/input.stories.d.ts.map +0 -1
  386. package/dist/components/input/test/input.test.d.ts +0 -2
  387. package/dist/components/input/test/input.test.d.ts.map +0 -1
  388. package/dist/components/menu/Menu.d.ts +0 -39
  389. package/dist/components/menu/Menu.d.ts.map +0 -1
  390. package/dist/components/menu/MenuItem.d.ts +0 -61
  391. package/dist/components/menu/MenuItem.d.ts.map +0 -1
  392. package/dist/components/menu/leu-menu-item.d.ts +0 -8
  393. package/dist/components/menu/leu-menu-item.d.ts.map +0 -1
  394. package/dist/components/menu/leu-menu.d.ts +0 -8
  395. package/dist/components/menu/leu-menu.d.ts.map +0 -1
  396. package/dist/components/menu/stories/menu-item.stories.d.ts +0 -24
  397. package/dist/components/menu/stories/menu-item.stories.d.ts.map +0 -1
  398. package/dist/components/menu/stories/menu.stories.d.ts +0 -26
  399. package/dist/components/menu/stories/menu.stories.d.ts.map +0 -1
  400. package/dist/components/menu/test/menu-item.test.d.ts +0 -3
  401. package/dist/components/menu/test/menu-item.test.d.ts.map +0 -1
  402. package/dist/components/menu/test/menu.test.d.ts +0 -4
  403. package/dist/components/menu/test/menu.test.d.ts.map +0 -1
  404. package/dist/components/message/Message.d.ts +0 -59
  405. package/dist/components/message/Message.d.ts.map +0 -1
  406. package/dist/components/message/leu-message.d.ts +0 -8
  407. package/dist/components/message/leu-message.d.ts.map +0 -1
  408. package/dist/components/message/stories/message.stories.d.ts +0 -179
  409. package/dist/components/message/stories/message.stories.d.ts.map +0 -1
  410. package/dist/components/message/test/message.test.d.ts +0 -2
  411. package/dist/components/message/test/message.test.d.ts.map +0 -1
  412. package/dist/components/pagination/Pagination.d.ts +0 -72
  413. package/dist/components/pagination/Pagination.d.ts.map +0 -1
  414. package/dist/components/pagination/leu-pagination.d.ts +0 -8
  415. package/dist/components/pagination/leu-pagination.d.ts.map +0 -1
  416. package/dist/components/pagination/stories/pagination.stories.d.ts +0 -25
  417. package/dist/components/pagination/stories/pagination.stories.d.ts.map +0 -1
  418. package/dist/components/pagination/test/pagination.test.d.ts +0 -2
  419. package/dist/components/pagination/test/pagination.test.d.ts.map +0 -1
  420. package/dist/components/placeholder/Placeholder.d.ts +0 -23
  421. package/dist/components/placeholder/Placeholder.d.ts.map +0 -1
  422. package/dist/components/placeholder/leu-placeholder.d.ts +0 -8
  423. package/dist/components/placeholder/leu-placeholder.d.ts.map +0 -1
  424. package/dist/components/placeholder/stories/placeholder.stories.d.ts +0 -27
  425. package/dist/components/placeholder/stories/placeholder.stories.d.ts.map +0 -1
  426. package/dist/components/placeholder/test/placeholder.test.d.ts +0 -2
  427. package/dist/components/placeholder/test/placeholder.test.d.ts.map +0 -1
  428. package/dist/components/popup/Popup.d.ts +0 -57
  429. package/dist/components/popup/Popup.d.ts.map +0 -1
  430. package/dist/components/popup/leu-popup.d.ts +0 -8
  431. package/dist/components/popup/leu-popup.d.ts.map +0 -1
  432. package/dist/components/popup/stories/popup.stories.d.ts +0 -28
  433. package/dist/components/popup/stories/popup.stories.d.ts.map +0 -1
  434. package/dist/components/popup/test/popup.test.d.ts +0 -2
  435. package/dist/components/popup/test/popup.test.d.ts.map +0 -1
  436. package/dist/components/progress-bar/ProgressBar.d.ts +0 -25
  437. package/dist/components/progress-bar/ProgressBar.d.ts.map +0 -1
  438. package/dist/components/progress-bar/leu-progress-bar.d.ts +0 -8
  439. package/dist/components/progress-bar/leu-progress-bar.d.ts.map +0 -1
  440. package/dist/components/progress-bar/stories/progress-bar.stories.d.ts +0 -48
  441. package/dist/components/progress-bar/stories/progress-bar.stories.d.ts.map +0 -1
  442. package/dist/components/progress-bar/test/progress-bar.test.d.ts +0 -2
  443. package/dist/components/progress-bar/test/progress-bar.test.d.ts.map +0 -1
  444. package/dist/components/radio/Radio.d.ts +0 -24
  445. package/dist/components/radio/Radio.d.ts.map +0 -1
  446. package/dist/components/radio/RadioGroup.d.ts +0 -39
  447. package/dist/components/radio/RadioGroup.d.ts.map +0 -1
  448. package/dist/components/radio/leu-radio-group.d.ts +0 -8
  449. package/dist/components/radio/leu-radio-group.d.ts.map +0 -1
  450. package/dist/components/radio/leu-radio.d.ts +0 -8
  451. package/dist/components/radio/leu-radio.d.ts.map +0 -1
  452. package/dist/components/radio/stories/radio-group.stories.d.ts +0 -29
  453. package/dist/components/radio/stories/radio-group.stories.d.ts.map +0 -1
  454. package/dist/components/radio/stories/radio.stories.d.ts +0 -22
  455. package/dist/components/radio/stories/radio.stories.d.ts.map +0 -1
  456. package/dist/components/radio/test/radio-group.test.d.ts +0 -3
  457. package/dist/components/radio/test/radio-group.test.d.ts.map +0 -1
  458. package/dist/components/radio/test/radio.test.d.ts +0 -2
  459. package/dist/components/radio/test/radio.test.d.ts.map +0 -1
  460. package/dist/components/range/Range.d.ts +0 -116
  461. package/dist/components/range/Range.d.ts.map +0 -1
  462. package/dist/components/range/leu-range.d.ts +0 -8
  463. package/dist/components/range/leu-range.d.ts.map +0 -1
  464. package/dist/components/range/stories/range.stories.d.ts +0 -231
  465. package/dist/components/range/stories/range.stories.d.ts.map +0 -1
  466. package/dist/components/range/test/range.test.d.ts +0 -2
  467. package/dist/components/range/test/range.test.d.ts.map +0 -1
  468. package/dist/components/scroll-top/ScrollTop.d.ts +0 -23
  469. package/dist/components/scroll-top/ScrollTop.d.ts.map +0 -1
  470. package/dist/components/scroll-top/leu-scroll-top.d.ts +0 -8
  471. package/dist/components/scroll-top/leu-scroll-top.d.ts.map +0 -1
  472. package/dist/components/scroll-top/stories/scroll-top.stories.d.ts +0 -8
  473. package/dist/components/scroll-top/stories/scroll-top.stories.d.ts.map +0 -1
  474. package/dist/components/scroll-top/test/scroll-top.test.d.ts +0 -2
  475. package/dist/components/scroll-top/test/scroll-top.test.d.ts.map +0 -1
  476. package/dist/components/select/Select.d.ts +0 -145
  477. package/dist/components/select/Select.d.ts.map +0 -1
  478. package/dist/components/select/leu-select.d.ts +0 -8
  479. package/dist/components/select/leu-select.d.ts.map +0 -1
  480. package/dist/components/select/stories/select.stories.d.ts +0 -23
  481. package/dist/components/select/stories/select.stories.d.ts.map +0 -1
  482. package/dist/components/select/test/fixtures.d.ts +0 -2
  483. package/dist/components/select/test/fixtures.d.ts.map +0 -1
  484. package/dist/components/select/test/select.test.d.ts +0 -3
  485. package/dist/components/select/test/select.test.d.ts.map +0 -1
  486. package/dist/components/spinner/Spinner.d.ts +0 -10
  487. package/dist/components/spinner/Spinner.d.ts.map +0 -1
  488. package/dist/components/spinner/leu-spinner.d.ts +0 -8
  489. package/dist/components/spinner/leu-spinner.d.ts.map +0 -1
  490. package/dist/components/spinner/stories/spinner.stories.d.ts +0 -16
  491. package/dist/components/spinner/stories/spinner.stories.d.ts.map +0 -1
  492. package/dist/components/spinner/test/spinner.test.d.ts +0 -2
  493. package/dist/components/spinner/test/spinner.test.d.ts.map +0 -1
  494. package/dist/components/table/Table.d.ts +0 -65
  495. package/dist/components/table/Table.d.ts.map +0 -1
  496. package/dist/components/table/leu-table.d.ts +0 -8
  497. package/dist/components/table/leu-table.d.ts.map +0 -1
  498. package/dist/components/table/stories/table.stories.d.ts +0 -15
  499. package/dist/components/table/stories/table.stories.d.ts.map +0 -1
  500. package/dist/components/table/test/table.test.d.ts +0 -2
  501. package/dist/components/table/test/table.test.d.ts.map +0 -1
  502. package/dist/components/tag/Tag.d.ts +0 -13
  503. package/dist/components/tag/Tag.d.ts.map +0 -1
  504. package/dist/components/tag/leu-tag.d.ts +0 -8
  505. package/dist/components/tag/leu-tag.d.ts.map +0 -1
  506. package/dist/components/tag/stories/tag.stories.d.ts +0 -136
  507. package/dist/components/tag/stories/tag.stories.d.ts.map +0 -1
  508. package/dist/components/tag/test/tag.test.d.ts +0 -2
  509. package/dist/components/tag/test/tag.test.d.ts.map +0 -1
  510. package/dist/components/visually-hidden/VisuallyHidden.d.ts +0 -9
  511. package/dist/components/visually-hidden/VisuallyHidden.d.ts.map +0 -1
  512. package/dist/components/visually-hidden/leu-visually-hidden.d.ts +0 -8
  513. package/dist/components/visually-hidden/leu-visually-hidden.d.ts.map +0 -1
  514. package/dist/components/visually-hidden/stories/visually-hidden.stories.d.ts +0 -13
  515. package/dist/components/visually-hidden/stories/visually-hidden.stories.d.ts.map +0 -1
  516. package/dist/components/visually-hidden/test/visually-hidden.test.d.ts +0 -2
  517. package/dist/components/visually-hidden/test/visually-hidden.test.d.ts.map +0 -1
  518. package/dist/hasSlotController-Bm2tipvG.js +0 -53
  519. package/dist/hasSlotController.d-emXwVXWF.d.ts +0 -23
  520. package/dist/index.d.ts.map +0 -1
  521. package/dist/lib/LeuElement.d.ts +0 -8
  522. package/dist/lib/LeuElement.d.ts.map +0 -1
  523. package/dist/lib/a11y.d.ts +0 -11
  524. package/dist/lib/a11y.d.ts.map +0 -1
  525. package/dist/lib/hasSlotController.d.ts +0 -20
  526. package/dist/lib/hasSlotController.d.ts.map +0 -1
  527. package/dist/lib/styleMap.d.ts +0 -61
  528. package/dist/lib/styleMap.d.ts.map +0 -1
  529. package/dist/lib/utils.d.ts +0 -23
  530. package/dist/lib/utils.d.ts.map +0 -1
  531. package/dist/styles/style.stories.d.ts +0 -6
  532. package/dist/styles/style.stories.d.ts.map +0 -1
  533. package/dist/utils-DBGsNSJW.js +0 -33
  534. package/rollup.config.js +0 -94
  535. package/web-dev-server.config.mjs +0 -30
package/dist/Input.js CHANGED
@@ -1,627 +1,5 @@
1
- import { _ as __decorate } from './_tslib-CNEFicEt.js';
2
- import { css, nothing, html } from 'lit';
3
- import { classMap } from 'lit/directives/class-map.js';
4
- import { ifDefined } from 'lit/directives/if-defined.js';
5
- import { live } from 'lit/directives/live.js';
6
- import { createRef, ref } from 'lit/directives/ref.js';
7
- import { property, state } from 'lit/decorators.js';
8
- import { L as LeuElement } from './LeuElement-BfXSO7MN.js';
9
- import { LeuIcon } from './Icon.js';
10
-
11
- var css_248z = css`:host {
12
- --input-color: var(--leu-color-black-100);
13
- --input-color-disabled: var(--leu-color-black-20);
14
- --input-color-invalid: var(--leu-color-func-red);
15
- --input-color-focus: var(--leu-color-func-cyan);
16
- --input-border-width: 2px;
17
-
18
- --input-label-color: var(--leu-color-black-100);
19
- --input-label-color-disabled: var(--input-color-disabled);
20
- --input-label-color-empty: var(--leu-color-black-60);
21
-
22
- --input-affix-color: var(--leu-color-black-60);
23
- --input-affix-color-disabled: var(--input-color-disabled);
24
-
25
- --input-border-color: var(--leu-color-black-40);
26
- --input-border-color-focus: var(--input-color-focus);
27
- --input-border-color-disabled: var(--leu-color-black-20);
28
- --input-border-color-invalid: var(--input-color-invalid);
29
-
30
- --input-error-color: var(--leu-color-black-0);
31
-
32
- --input-clear-color: var(--leu-color-black-60);
33
-
34
- --input-font-regular: var(--leu-font-family-regular);
35
- --input-font-black: var(--leu-font-family-black);
36
-
37
- --input-height: 4.5rem;
38
- --input-height-small: 3rem;
39
-
40
- display: block;
41
- font-family: var(--input-font-regular);
42
- }
43
-
44
- :host([disabled]) {
45
- --input-color: var(--input-color-disabled);
46
- --input-border-color: var(--input-border-color-disabled);
47
- --input-label-color: var(--input-color-disabled);
48
- --input-color-focus: var(--input-color-disabled);
49
- --input-affix-color: var(--input-color-disabled);
50
- }
51
-
52
- :host(:focus-within) {
53
- outline: 2px solid var(--input-color-focus);
54
- outline-offset: 2px;
55
- }
56
-
57
- .input-wrapper {
58
- position: relative;
59
- display: flex;
60
- gap: 0.5rem;
61
- padding-left: 0.875rem;
62
- padding-right: 0.875rem;
63
-
64
- border: var(--input-border-width) solid var(--input-border-color);
65
- border-radius: 2px;
66
- background: var(--leu-color-black-0);
67
-
68
- line-height: 1;
69
- }
70
-
71
- .input-wrapper:focus-within,
72
- .input-wrapper:hover {
73
- --input-border-color: var(--input-border-color-focus);
74
- }
75
-
76
- .input-wrapper--invalid:focus-within {
77
- --input-border-color: var(--input-border-color-invalid);
78
- border-radius: 2px 2px 0 0;
79
- }
80
-
81
- .input-wrapper--invalid,
82
- .input-wrapper--invalid:hover {
83
- --input-border-color: var(--input-border-color-invalid);
84
- border-radius: 2px 2px 0 0;
85
- }
86
-
87
- .input {
88
- -webkit-appearance: none;
89
- -moz-appearance: none;
90
- appearance: none;
91
- display: block;
92
- width: 100%;
93
-
94
- font-size: 1rem;
95
- line-height: 1;
96
- color: var(--input-color);
97
-
98
- border: 0;
99
- background: var(--leu-color-black-0);
100
-
101
- padding-top: 2rem;
102
-
103
- padding-bottom: 1rem;
104
- height: calc(var(--input-height) - var(--input-border-width) * 2);
105
- }
106
-
107
- .input:focus-visible {
108
- outline: none;
109
- }
110
-
111
- :host([size="small"]) .input {
112
- --input-height: var(--input-height-small);
113
- padding-top: 0.75rem;
114
- padding-bottom: 0.75rem;
115
- }
116
-
117
- .prefix,
118
- .suffix {
119
- padding-top: calc(2rem - var(--input-border-width));
120
- padding-bottom: calc(1rem - var(--input-border-width));
121
- font-size: 1rem;
122
- line-height: 1.5;
123
- color: var(--input-affix-color);
124
- pointer-events: none;
125
- }
126
-
127
- .prefix {
128
- order: -1;
129
- }
130
-
131
- /* Label styles for when the input has focus OR contains a value */
132
-
133
- .label {
134
- position: absolute;
135
- left: 1rem;
136
-
137
- line-height: 1.5;
138
- color: var(--input-label-color);
139
- }
140
-
141
- /* is size regular AND (has focus OR contains a value) */
142
-
143
- .input-wrapper--invalid .label,
144
- :host(:not([size])) .label,
145
- :host([size="regular"]) .label {
146
- top: calc(0.75rem - var(--input-border-width));
147
-
148
- font-size: 0.75rem;
149
- font-family: var(--input-font-black);
150
-
151
- transition: 0.15s ease-out;
152
- transition-property: font-size, top;
153
- }
154
-
155
- /* is size small AND (has focus OR contains a value) */
156
-
157
- :host([size="small"]) .label {
158
- opacity: 0;
159
- visibility: hidden;
160
-
161
- font-size: 1rem;
162
- }
163
-
164
- :host([required]) .label::after {
165
- content: "*";
166
- }
167
-
168
- /* is not disabled AND has focus AND is empty */
169
-
170
- :host(:not([disabled]):not(:focus-within)) .input-wrapper--empty .label {
171
- --input-label-color: var(--input-label-color-empty);
172
- }
173
-
174
- /* is empty AND has no focus */
175
-
176
- :host(:not(:focus-within))
177
- .input-wrapper--empty:not(.input-wrapper--invalid)
178
- .label {
179
- font-family: var(--input-font-regular);
180
- font-size: 1rem;
181
- top: calc(1.5rem - var(--input-border-width));
182
- }
183
-
184
- /* is size small AND has no focus AND is empty */
185
-
186
- :host(:not(:focus-within)[size="small"])
187
- .input-wrapper--empty:not(.input-wrapper--invalid)
188
- .label {
189
- top: calc(0.75rem - var(--input-border-width));
190
- opacity: 1;
191
- visibility: visible;
192
- }
193
-
194
- /* The label has to behave a bit different when the input has a suffix or a prefix */
195
-
196
- :host([suffix])
197
- .input-wrapper--empty
198
- .input:not(:focus)
199
- + .label {
200
- top: calc(0.75rem - var(--input-border-width));
201
-
202
- font-family: var(--input-font-black);
203
- font-size: 0.75rem;
204
- }
205
-
206
- :host([prefix])
207
- .input-wrapper--empty
208
- .input:not(:focus)
209
- + .label {
210
- top: calc(0.75rem - var(--input-border-width));
211
-
212
- font-family: var(--input-font-black);
213
- font-size: 0.75rem;
214
- }
215
-
216
- .error {
217
- list-style: none;
218
- padding: 0.0625rem 1rem 0.1875rem;
219
- margin: 0;
220
-
221
- color: var(--input-error-color);
222
- font-size: 0.75rem;
223
- line-height: 1.5;
224
-
225
- border: 2px solid var(--input-color-invalid);
226
- border-radius: 0 0 2px 2px;
227
-
228
- background-color: var(--input-color-invalid);
229
- }
230
-
231
- .clear-button {
232
- --_length: 1.5rem;
233
-
234
- align-self: center;
235
-
236
- width: 1.5rem;
237
-
238
- width: var(--_length);
239
- height: 1.5rem;
240
- height: var(--_length);
241
- padding: 0;
242
-
243
- cursor: pointer;
244
-
245
- background: none;
246
- color: var(--input-clear-color);
247
- border: none;
248
-
249
- /* border-radius is only defined for a nice focus outline */
250
- border-radius: 2px;
251
- }
252
-
253
- .clear-button:focus-visible {
254
- outline: 2px solid var(--input-color-focus);
255
- outline-offset: 2px;
256
- }
257
-
258
- .clear-button:disabled {
259
- cursor: default;
260
- color: var(--input-color-disabled);
261
- }
262
-
263
- .icon {
264
- align-self: center;
265
- color: var(--input-color);
266
- }
267
-
268
- :host(:not([disabled]):not(:focus-within)) .input-wrapper--empty .icon {
269
- color: var(--input-label-color-empty);
270
- }
271
-
272
- .error-icon {
273
- align-self: center;
274
- color: var(--input-color-invalid);
275
- }
276
-
277
- .icon leu-icon, .error-icon leu-icon {
278
- display: block;
279
- }
280
- `;
281
-
282
- const SIZES = Object.freeze({
283
- SMALL: "small",
284
- REGULAR: "regular",
285
- });
286
- /**
287
- * TODO:
288
- * - Add section to docs about how to mark up suffix and prefix for screenreaders
289
- * - Handle validation
290
- * - Infotext attribute or slot?
291
- */
292
- const VALIDATION_MESSAGES = {
293
- badInput: "Bitte überprüfen Sie das Format.",
294
- patternMismatch: "Bitte überprüfen Sie das Format.",
295
- rangeOverflow: (max) => `Der Wert darf nicht grösser als ${max} sein.`,
296
- rangeUnderflow: (min) => `Der Wert darf nicht kleiner als ${min} sein.`,
297
- stepMismatch: "Bitte überprüfen Sie das Format.",
298
- tooLong: (maxlength) => `Die Eingabe muss kürzer als ${maxlength} Zeichen sein.`,
299
- tooShort: (minlength) => `Die Eingabe muss länger als ${minlength} Zeichen sein.`,
300
- typeMismatch: "Bitte überprüfen Sie das Format.",
301
- valueMissing: "Bitte füllen Sie das Feld aus.",
302
- };
303
- /**
304
- * A text input element.
305
- *
306
- * @fires {CustomEvent} input - Dispatched when the value of the input element changes.
307
- * @fires {CustomEvent} change - Dispatched when the value of the input element changes and the input element loses focus.
308
- *
309
- * @tagname leu-input
310
- */
311
- class LeuInput extends LeuElement {
312
- constructor() {
313
- super(...arguments);
314
- /** Disables the input element. */
315
- this.disabled = false;
316
- /** Marks the input element as required */
317
- this.required = false;
318
- /** Adds a button to clear the input element */
319
- this.clearable = false;
320
- /** The value of the input element. */
321
- this.value = "";
322
- /** The name of the input element. */
323
- this.name = "";
324
- /** A custom error that is completely independent of the validity state. Useful for displaying server side errors. */
325
- this.error = "";
326
- /** The label of the input element */
327
- this.label = "";
328
- /** The size of the input element */
329
- this.size = "regular";
330
- /** The type of the input element. */
331
- this.type = "text";
332
- /** Custom validation messages. The key is the name of the validity state and the value is the message. */
333
- this.validationMessages = {};
334
- /** Disables the browser's validation. */
335
- this.novalidate = false;
336
- this._validity = null;
337
- this._inputRef = createRef();
338
- }
339
- static resolveErrorMessage(message, refernceValue) {
340
- if (typeof message === "function") {
341
- return message(refernceValue);
342
- }
343
- return message;
344
- }
345
- get valueAsNumber() {
346
- if (this.value === "") {
347
- return NaN;
348
- }
349
- return Number(this.value);
350
- }
351
- /**
352
- * Method for handling the click event of the wrapper element.
353
- * Redirect every click on the wrapper to the input element.
354
- * This is only necessary for click events because the wrapper element
355
- * looks like the input element. But the actual input field does not
356
- * completely fill the wrapper element. Keyboard events don't need to be
357
- * handled because the actual input element is focusable.
358
- */
359
- handleWrapperClick(event) {
360
- if (event.target === event.currentTarget) {
361
- this._inputRef.value.focus();
362
- }
363
- }
364
- /**
365
- * Method for handling the blur event of the input element.
366
- * Checks validity of the input element and sets the validity state.
367
- */
368
- handleBlur(event) {
369
- this._validity = null;
370
- if (!this.novalidate) {
371
- event.target.checkValidity();
372
- }
373
- }
374
- /**
375
- * Method for handling the invalid event of the input element.
376
- * Sets the validity state.
377
- */
378
- handleInvalid(event) {
379
- this._validity = event.target.validity;
380
- }
381
- /**
382
- * Method for handling the change event of the input element.
383
- * Sets the value property and dispatches a change event so that
384
- * the event can be handled outside the shadow DOM.
385
- * @fires {CustomEvent} change
386
- */
387
- handleChange(event) {
388
- if (event.target.validity.valid) {
389
- this.value = event.target.value;
390
- }
391
- const customEvent = new CustomEvent(event.type, event);
392
- this.dispatchEvent(customEvent);
393
- }
394
- /**
395
- * Method for handling the input event of the input element.
396
- * Sets the value property and dispatches an input event so that
397
- * the event can be handled outside the shadow DOM.
398
- */
399
- handleInput(event) {
400
- this.value = event.target.value;
401
- const customEvent = new CustomEvent("input", {
402
- bubbles: true,
403
- composed: true,
404
- });
405
- this.dispatchEvent(customEvent);
406
- }
407
- /**
408
- * Method for clearing the input element.
409
- * Sets the value property to an empty string and dispatches
410
- * an input and a change event.
411
- * @fires {CustomEvent} input
412
- * @fires {CustomEvent} change
413
- */
414
- clear() {
415
- this.value = "";
416
- this._inputRef.value.focus();
417
- this.dispatchEvent(new CustomEvent("input", { bubbles: true, composed: true }));
418
- this.dispatchEvent(new CustomEvent("change", { bubbles: true, composed: true }));
419
- }
420
- /**
421
- * Merge custom and default validation messages.
422
- * A validation message can be a function or a string.
423
- * If it s a function, the function is called with the corresponding
424
- * attribute value as argument.
425
- * e.g.
426
- * `tooLong(this.maxlength)`
427
- * This way the framework user can create reasonable validation messages
428
- */
429
- getValidationMessages() {
430
- const validationMessages = {
431
- ...VALIDATION_MESSAGES,
432
- ...this.validationMessages,
433
- };
434
- const { tooLong, tooShort, rangeOverflow, rangeUnderflow } = validationMessages;
435
- validationMessages.tooLong = LeuInput.resolveErrorMessage(tooLong, this.maxlength);
436
- validationMessages.tooShort = LeuInput.resolveErrorMessage(tooShort, this.minlength);
437
- validationMessages.rangeOverflow = LeuInput.resolveErrorMessage(rangeOverflow, this.max);
438
- validationMessages.rangeUnderflow = LeuInput.resolveErrorMessage(rangeUnderflow, this.min);
439
- return validationMessages;
440
- }
441
- isInvalid() {
442
- if (this.error) {
443
- return true;
444
- }
445
- return this._validity === null || this.novalidate
446
- ? false
447
- : !this._validity.valid;
448
- }
449
- /**
450
- * Check input validation
451
- */
452
- checkValidity() {
453
- return this._inputRef.value?.checkValidity() ?? false;
454
- }
455
- /**
456
- * Creates an error list with an item for the given validity state.
457
- */
458
- renderErrorMessages() {
459
- if (!this.isInvalid()) {
460
- return nothing;
461
- }
462
- const validationMessages = this.getValidationMessages();
463
- let errorMessages = this._validity
464
- ? Object.entries(validationMessages)
465
- .filter(([prop]) => this._validity[prop])
466
- .map(([_, message]) => message)
467
- : [];
468
- if (this.error !== "") {
469
- errorMessages = [this.error, errorMessages];
470
- }
471
- return html `
472
- <ul class="error" aria-errormessage="input">
473
- ${errorMessages.map((message) => html `<li class="error-message">${message}</li>`)}
474
- </ul>
475
- `;
476
- }
477
- /**
478
- * Determines the content that is displayed after the input element.
479
- * This can be either an icon, a clear button or an error indicator icon.
480
- */
481
- renderAfterContent() {
482
- if (this.isInvalid()) {
483
- return html `<div class="error-icon">
484
- <leu-icon name="caution"></leu-icon>
485
- </div>`;
486
- }
487
- if (this.clearable && this.value) {
488
- return html `<button
489
- class="clear-button"
490
- @click=${this.clear}
491
- aria-label="Eingabefeld zurücksetzen"
492
- ?disabled=${this.disabled}
493
- >
494
- <leu-icon name="clear"></leu-icon>
495
- </button>`;
496
- }
497
- if (this.icon) {
498
- return html `<div class="icon">
499
- <leu-icon name=${this.icon}></leu-icon>
500
- </div>`;
501
- }
502
- return nothing;
503
- }
504
- render() {
505
- const isInvalid = this.isInvalid();
506
- const inputWrapperClasses = {
507
- "input-wrapper": true,
508
- "input-wrapper--empty": !this.value,
509
- "input-wrapper--invalid": isInvalid,
510
- };
511
- /* See the description of the handleWrapperClick method on why this rule is disabled */
512
- /* eslint-disable lit-a11y/click-events-have-key-events */
513
- return html `
514
- <div
515
- @click=${this.handleWrapperClick}
516
- class=${classMap(inputWrapperClasses)}
517
- >
518
- <input
519
- class="input"
520
- id="input"
521
- type=${this.type}
522
- name=${this.name}
523
- @change=${this.handleChange}
524
- @blur=${this.handleBlur}
525
- @input=${this.handleInput}
526
- @invalid=${this.handleInvalid}
527
- ?disabled=${this.disabled}
528
- ?required=${this.required}
529
- .value=${live(this.value ?? "")}
530
- pattern=${ifDefined(this.pattern)}
531
- min=${ifDefined(this.min)}
532
- max=${ifDefined(this.max)}
533
- maxlength=${ifDefined(this.maxlength)}
534
- minlength=${ifDefined(this.minlength)}
535
- step=${ifDefined(this.step)}
536
- ref=${ref(this._inputRef)}
537
- aria-invalid=${isInvalid}
538
- />
539
- <label for="input" class="label">${this.label}</label>
540
- ${this.prefix
541
- ? html `<div class="prefix" .aria-hidden=${true}>${this.prefix}</div>`
542
- : nothing}
543
- ${this.suffix
544
- ? html `<div class="suffix" .aria-hidden=${true}>${this.suffix}</div>`
545
- : nothing}
546
- ${this.renderAfterContent()}
547
- </div>
548
- ${this.renderErrorMessages()}
549
- `;
550
- }
551
- }
552
- LeuInput.dependencies = {
553
- "leu-icon": LeuIcon,
554
- };
555
- LeuInput.styles = [LeuElement.styles, css_248z];
556
- /**
557
- * @internal
558
- */
559
- LeuInput.shadowRootOptions = {
560
- ...LeuElement.shadowRootOptions,
561
- delegatesFocus: true,
562
- };
563
- __decorate([
564
- property({ type: Boolean, reflect: true })
565
- ], LeuInput.prototype, "disabled", void 0);
566
- __decorate([
567
- property({ type: Boolean, reflect: true })
568
- ], LeuInput.prototype, "required", void 0);
569
- __decorate([
570
- property({ type: Boolean, reflect: true })
571
- ], LeuInput.prototype, "clearable", void 0);
572
- __decorate([
573
- property({ type: String, reflect: true })
574
- ], LeuInput.prototype, "value", void 0);
575
- __decorate([
576
- property({ type: String, reflect: true })
577
- ], LeuInput.prototype, "name", void 0);
578
- __decorate([
579
- property({ type: String, reflect: true })
580
- ], LeuInput.prototype, "error", void 0);
581
- __decorate([
582
- property({ type: String, reflect: true })
583
- ], LeuInput.prototype, "label", void 0);
584
- __decorate([
585
- property({ type: String, reflect: true })
586
- ], LeuInput.prototype, "prefix", void 0);
587
- __decorate([
588
- property({ type: String, reflect: true })
589
- ], LeuInput.prototype, "suffix", void 0);
590
- __decorate([
591
- property({ type: String, reflect: true })
592
- ], LeuInput.prototype, "size", void 0);
593
- __decorate([
594
- property({ type: String, reflect: true })
595
- ], LeuInput.prototype, "icon", void 0);
596
- __decorate([
597
- property({ type: String, reflect: true })
598
- ], LeuInput.prototype, "pattern", void 0);
599
- __decorate([
600
- property({ type: String, reflect: true })
601
- ], LeuInput.prototype, "type", void 0);
602
- __decorate([
603
- property({ type: Number, reflect: true })
604
- ], LeuInput.prototype, "min", void 0);
605
- __decorate([
606
- property({ type: Number, reflect: true })
607
- ], LeuInput.prototype, "max", void 0);
608
- __decorate([
609
- property({ type: Number, reflect: true })
610
- ], LeuInput.prototype, "step", void 0);
611
- __decorate([
612
- property({ type: Number, reflect: true })
613
- ], LeuInput.prototype, "maxlength", void 0);
614
- __decorate([
615
- property({ type: Number, reflect: true })
616
- ], LeuInput.prototype, "minlength", void 0);
617
- __decorate([
618
- property({ type: Object })
619
- ], LeuInput.prototype, "validationMessages", void 0);
620
- __decorate([
621
- property({ type: Boolean, reflect: true })
622
- ], LeuInput.prototype, "novalidate", void 0);
623
- __decorate([
624
- state()
625
- ], LeuInput.prototype, "_validity", void 0);
626
-
1
+ import "./LeuElement-BeFrgKes.js";
2
+ import "./Icon-C_yYuynf.js";
3
+ import "./FormAssociatedMixin-DLPvFtbT.js";
4
+ import { n as SIZES, t as LeuInput } from "./Input-DEOVocTa.js";
627
5
  export { LeuInput, SIZES };
@@ -0,0 +1,46 @@
1
+ import { LitElement, css } from "lit";
2
+ //#region src/styles/common-styles.css?inline
3
+ var common_styles_default = css`:host,
4
+ :host * {
5
+ box-sizing: border-box;
6
+ font-feature-settings: var(--leu-t-font-feature-settings);
7
+ }
8
+
9
+ /**
10
+ * If a custom element sets the display property to any value
11
+ * it will not be hidden by the [hidden] attribute.
12
+ * That's why we need to specify this rule.
13
+ */
14
+
15
+ :host([hidden]) {
16
+ display: none;
17
+ }
18
+ `;
19
+ //#endregion
20
+ //#region src/lib/LeuElement.ts
21
+ var LeuElement = class extends LitElement {
22
+ static {
23
+ this.version = "0.26.0";
24
+ }
25
+ static {
26
+ this.dependencies = {};
27
+ }
28
+ static {
29
+ this.styles = common_styles_default;
30
+ }
31
+ static define(name, constructor = this, options = {}) {
32
+ Object.entries(this.dependencies).forEach(([n, c]) => c.define(n));
33
+ const currentlyRegisteredConstructor = customElements.get(name);
34
+ if (currentlyRegisteredConstructor === void 0) {
35
+ customElements.define(name, constructor, options);
36
+ return;
37
+ }
38
+ if (currentlyRegisteredConstructor !== constructor) {
39
+ console.warn(`The custom element with the name <${name}> is already registered with a different constructor. This can happen when the same element has been loaded from different modules (e.g. multiple CDN requests or bundles).`);
40
+ return;
41
+ }
42
+ if ("version" in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version !== constructor.version) console.warn(`The custom element with the name <${name}> is already defined with the same constructor but a different version (${currentlyRegisteredConstructor.version}).`);
43
+ }
44
+ };
45
+ //#endregion
46
+ export { LeuElement as t };
@@ -0,0 +1,11 @@
1
+ import { CSSResultGroup, LitElement } from "lit";
2
+
3
+ //#region src/lib/LeuElement.d.ts
4
+ declare class LeuElement extends LitElement {
5
+ static version: any;
6
+ static dependencies: Record<string, typeof LeuElement>;
7
+ static styles: CSSResultGroup;
8
+ static define(name: string, constructor?: typeof LeuElement, options?: ElementDefinitionOptions): void;
9
+ }
10
+ //#endregion
11
+ export { LeuElement as t };