@statistikzh/leu 0.28.0 → 0.28.2

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 (346) hide show
  1. package/dist/{Accordion-D9kLsiBW.js → Accordion-CaDTUDJG.js} +1 -1
  2. package/dist/Accordion.js +2 -2
  3. package/dist/{Button-DyNVOHCd.js → Button-BF3_6xgs.js} +3 -3
  4. package/dist/Button.js +4 -4
  5. package/dist/{ButtonGroup-MEh4vb5a.js → ButtonGroup-grJiWGHI.js} +2 -2
  6. package/dist/ButtonGroup.js +5 -5
  7. package/dist/{ChartWrapper-DAl91BIN.js → ChartWrapper-CeolXijF.js} +2 -2
  8. package/dist/ChartWrapper.js +3 -3
  9. package/dist/{Checkbox-CGGyUW9U.js → Checkbox-DGUZ1XtB.js} +2 -2
  10. package/dist/Checkbox.js +3 -3
  11. package/dist/{CheckboxGroup-DXt5iMdj.js → CheckboxGroup-CGdyk_RP.js} +2 -2
  12. package/dist/CheckboxGroup.js +4 -4
  13. package/dist/{Chip-BGs71WGH.js → Chip-BpKH3_Nk.js} +1 -1
  14. package/dist/Chip.js +2 -2
  15. package/dist/{ChipGroup-BcGyusP-.js → ChipGroup-dSAMpfy1.js} +1 -1
  16. package/dist/ChipGroup.js +3 -3
  17. package/dist/ChipLink.js +2 -2
  18. package/dist/ChipRemovable.js +3 -3
  19. package/dist/ChipSelectable.js +2 -2
  20. package/dist/{Dialog-BzuyL1U3.js → Dialog-CC674l80.js} +2 -2
  21. package/dist/Dialog.js +3 -3
  22. package/dist/{Dropdown-plyBTM15.js → Dropdown-B9YTM5N_.js} +5 -5
  23. package/dist/Dropdown.d.ts +2 -2
  24. package/dist/Dropdown.js +8 -8
  25. package/dist/{FileInput-BT3Fe-0J.js → FileInput-D4kyWFkL.js} +8 -6
  26. package/dist/FileInput.d.ts +1 -1
  27. package/dist/FileInput.js +6 -6
  28. package/dist/{Icon-D83qesg5.js → Icon-DOcb_NlX.js} +1 -1
  29. package/dist/Icon.js +2 -2
  30. package/dist/{Input-D7zS50oz.js → Input-6Xu1N2sA.js} +2 -2
  31. package/dist/Input.js +3 -3
  32. package/dist/{LeuElement-DQI8cqZV.js → LeuElement-C3HedxlQ.js} +1 -1
  33. package/dist/{Menu-DRU1LiMM.js → Menu-CJtyuUvP.js} +2 -2
  34. package/dist/{Menu-Z2b7dsB5.d.ts → Menu-txbYINTW.d.ts} +1 -1
  35. package/dist/Menu.d.ts +1 -1
  36. package/dist/Menu.js +4 -4
  37. package/dist/{MenuItem-LY4TRIho.d.ts → MenuItem-9TTOrL0Z.d.ts} +1 -1
  38. package/dist/{MenuItem-DCttylRO.js → MenuItem-ClSE3auh.js} +2 -2
  39. package/dist/MenuItem.d.ts +1 -1
  40. package/dist/MenuItem.js +3 -3
  41. package/dist/{Message-0NxnKEqw.js → Message-C55ydBaU.js} +2 -2
  42. package/dist/Message.js +3 -3
  43. package/dist/{Pagination-CIy7YvWE.js → Pagination-BVwKLcd5.js} +4 -4
  44. package/dist/Pagination.js +6 -6
  45. package/dist/{Placeholder-Dol_X5Hp.js → Placeholder-DFNppiVf.js} +1 -1
  46. package/dist/Placeholder.js +2 -2
  47. package/dist/{Popup-nJrJHGSy.js → Popup-D91ZiFWh.js} +1 -1
  48. package/dist/Popup.js +2 -2
  49. package/dist/{ProgressBar-Dmq9veqU.js → ProgressBar-DQGO2we8.js} +1 -1
  50. package/dist/ProgressBar.js +2 -2
  51. package/dist/{Radio-W5ck_IJI.js → Radio-BetZNoUQ.js} +1 -1
  52. package/dist/Radio.js +2 -2
  53. package/dist/{RadioGroup-De5x2YCO.js → RadioGroup-DzW5z_SD.js} +2 -2
  54. package/dist/RadioGroup.js +3 -3
  55. package/dist/{Range-NCdfDkeD.js → Range-9ijUzrty.js} +1 -1
  56. package/dist/Range.js +2 -2
  57. package/dist/{ScrollTop-DwcNIKmN.js → ScrollTop-uDL4K_C6.js} +3 -3
  58. package/dist/ScrollTop.js +5 -5
  59. package/dist/{Select-Bpicra9q.js → Select-ClGNTYfp.js} +7 -7
  60. package/dist/Select.d.ts +2 -2
  61. package/dist/Select.js +9 -9
  62. package/dist/{Spinner-BBiVZxFH.js → Spinner-B7ikVfUZ.js} +1 -1
  63. package/dist/Spinner.js +2 -2
  64. package/dist/{Tab-Ce9nrDok.js → Tab-CSHR71IX.js} +1 -1
  65. package/dist/Tab.js +2 -2
  66. package/dist/{TabGroup-C-cd4Wcx.js → TabGroup-D7YbKXm8.js} +3 -3
  67. package/dist/TabGroup.js +4 -4
  68. package/dist/{TabPanel-BW1ydVBT.js → TabPanel-D_RHF3lv.js} +1 -1
  69. package/dist/TabPanel.js +2 -2
  70. package/dist/{Table-DiYqIzBu.js → Table-CdosaNFb.js} +3 -3
  71. package/dist/Table.js +7 -7
  72. package/dist/{Tag-Ct8Hhv7W.js → Tag-BQBgkkAs.js} +1 -1
  73. package/dist/Tag.js +2 -2
  74. package/dist/{VisuallyHidden-CpYXyuC7.js → VisuallyHidden-CEBTA6hv.js} +1 -1
  75. package/dist/VisuallyHidden.js +2 -2
  76. package/dist/custom-elements.json +6445 -0
  77. package/dist/index.d.ts +2 -2
  78. package/dist/index.js +30 -30
  79. package/dist/leu-accordion.js +2 -2
  80. package/dist/leu-button-group.js +5 -5
  81. package/dist/leu-button.js +4 -4
  82. package/dist/leu-chart-wrapper.js +3 -3
  83. package/dist/leu-checkbox-group.js +4 -4
  84. package/dist/leu-checkbox.js +3 -3
  85. package/dist/leu-chip-group.js +3 -3
  86. package/dist/leu-chip-link.js +2 -2
  87. package/dist/leu-chip-removable.js +3 -3
  88. package/dist/leu-chip-selectable.js +2 -2
  89. package/dist/leu-dialog.js +3 -3
  90. package/dist/leu-dropdown.js +8 -8
  91. package/dist/leu-file-input.js +6 -6
  92. package/dist/leu-icon.js +2 -2
  93. package/dist/leu-input.js +3 -3
  94. package/dist/leu-menu-item.d.ts +1 -1
  95. package/dist/leu-menu-item.js +3 -3
  96. package/dist/leu-menu.d.ts +1 -1
  97. package/dist/leu-menu.js +4 -4
  98. package/dist/leu-message.js +3 -3
  99. package/dist/leu-pagination.js +6 -6
  100. package/dist/leu-placeholder.js +2 -2
  101. package/dist/leu-popup.js +2 -2
  102. package/dist/leu-progress-bar.js +2 -2
  103. package/dist/leu-radio-group.js +3 -3
  104. package/dist/leu-radio.js +2 -2
  105. package/dist/leu-range.js +2 -2
  106. package/dist/leu-scroll-top.js +5 -5
  107. package/dist/leu-select.js +9 -9
  108. package/dist/leu-spinner.js +2 -2
  109. package/dist/leu-tab-group.js +4 -4
  110. package/dist/leu-tab-panel.js +2 -2
  111. package/dist/leu-tab.js +2 -2
  112. package/dist/leu-table.js +7 -7
  113. package/dist/leu-tag.js +2 -2
  114. package/dist/leu-visually-hidden.js +2 -2
  115. package/dist/web-types.json +1 -1
  116. package/package.json +9 -4
  117. package/.editorconfig +0 -29
  118. package/.github/workflows/ci.yml +0 -81
  119. package/.github/workflows/deploy-github-pages.yaml +0 -34
  120. package/.github/workflows/publish.yml +0 -30
  121. package/.github/workflows/release-please.yml +0 -19
  122. package/.husky/commit-msg +0 -1
  123. package/.husky/pre-commit +0 -1
  124. package/.nvmrc +0 -1
  125. package/.prettierignore +0 -2
  126. package/.release-please-manifest.json +0 -3
  127. package/.storybook/main.ts +0 -34
  128. package/.storybook/manager-head.html +0 -1
  129. package/.storybook/manager.ts +0 -6
  130. package/.storybook/preview.ts +0 -96
  131. package/.storybook/static/fonts/Inter-Black.woff2 +0 -0
  132. package/.storybook/static/fonts/Inter-Regular.woff2 +0 -0
  133. package/.storybook/static/fonts.css +0 -11
  134. package/.storybook/static/global.css +0 -5
  135. package/.storybook/static/logo.svg +0 -19
  136. package/.storybook/theme.ts +0 -8
  137. package/CHANGELOG.md +0 -594
  138. package/CODE_OF_CONDUCT.md +0 -128
  139. package/CONTRIBUTING.md +0 -42
  140. package/commitlint.config.cjs +0 -1
  141. package/custom-elements-manifest.config.js +0 -46
  142. package/eslint.config.mjs +0 -79
  143. package/postcss.config.cjs +0 -16
  144. package/release-please-config.json +0 -9
  145. package/scripts/generate-component/generate.js +0 -167
  146. package/scripts/generate-component/templates/[Name].ts +0 -31
  147. package/scripts/generate-component/templates/[name].css +0 -6
  148. package/scripts/generate-component/templates/[namespace]-[name].ts +0 -11
  149. package/scripts/generate-component/templates/stories/[name].stories.ts +0 -26
  150. package/scripts/generate-component/templates/test/[name].test.ts +0 -23
  151. package/scripts/postcss-leu-font-styles.cjs +0 -154
  152. package/src/components/accordion/Accordion.ts +0 -108
  153. package/src/components/accordion/accordion.css +0 -150
  154. package/src/components/accordion/leu-accordion.ts +0 -11
  155. package/src/components/accordion/stories/accordion.stories.ts +0 -62
  156. package/src/components/accordion/test/accordion.test.ts +0 -118
  157. package/src/components/button/Button.ts +0 -286
  158. package/src/components/button/button.css +0 -317
  159. package/src/components/button/leu-button.ts +0 -11
  160. package/src/components/button/stories/button.stories.ts +0 -366
  161. package/src/components/button/test/button.test.ts +0 -417
  162. package/src/components/button-group/ButtonGroup.ts +0 -97
  163. package/src/components/button-group/button-group.css +0 -5
  164. package/src/components/button-group/leu-button-group.ts +0 -11
  165. package/src/components/button-group/stories/button-group.stories.ts +0 -54
  166. package/src/components/button-group/test/button-group.test.ts +0 -105
  167. package/src/components/chart-wrapper/ChartWrapper.ts +0 -78
  168. package/src/components/chart-wrapper/chart-wrapper.css +0 -87
  169. package/src/components/chart-wrapper/leu-chart-wrapper.ts +0 -11
  170. package/src/components/chart-wrapper/stories/chart-wrapper.stories.ts +0 -58
  171. package/src/components/chart-wrapper/test/chart-wrapper.test.ts +0 -77
  172. package/src/components/checkbox/Checkbox.ts +0 -129
  173. package/src/components/checkbox/CheckboxGroup.ts +0 -57
  174. package/src/components/checkbox/checkbox-group.css +0 -29
  175. package/src/components/checkbox/checkbox.css +0 -81
  176. package/src/components/checkbox/leu-checkbox-group.ts +0 -11
  177. package/src/components/checkbox/leu-checkbox.ts +0 -11
  178. package/src/components/checkbox/stories/checkbox-group.stories.ts +0 -59
  179. package/src/components/checkbox/stories/checkbox.stories.ts +0 -72
  180. package/src/components/checkbox/test/checkbox-group.test.ts +0 -109
  181. package/src/components/checkbox/test/checkbox.test.ts +0 -247
  182. package/src/components/chip/Chip.ts +0 -19
  183. package/src/components/chip/ChipGroup.ts +0 -122
  184. package/src/components/chip/ChipLink.ts +0 -24
  185. package/src/components/chip/ChipRemovable.ts +0 -45
  186. package/src/components/chip/ChipSelectable.ts +0 -80
  187. package/src/components/chip/chip-group.css +0 -15
  188. package/src/components/chip/chip.css +0 -139
  189. package/src/components/chip/exports.ts +0 -4
  190. package/src/components/chip/leu-chip-group.ts +0 -11
  191. package/src/components/chip/leu-chip-link.ts +0 -11
  192. package/src/components/chip/leu-chip-removable.ts +0 -11
  193. package/src/components/chip/leu-chip-selectable.ts +0 -11
  194. package/src/components/chip/stories/chip-group.stories.ts +0 -159
  195. package/src/components/chip/stories/chip-link.stories.ts +0 -45
  196. package/src/components/chip/stories/chip-removable.stories.ts +0 -42
  197. package/src/components/chip/stories/chip-selectable.stories.ts +0 -54
  198. package/src/components/chip/test/chip-group.test.ts +0 -171
  199. package/src/components/chip/test/chip-link.test.ts +0 -54
  200. package/src/components/chip/test/chip-removable.test.ts +0 -105
  201. package/src/components/chip/test/chip-selectable.test.ts +0 -101
  202. package/src/components/chip/test/chip.test.ts +0 -22
  203. package/src/components/dialog/Dialog.ts +0 -86
  204. package/src/components/dialog/dialog.css +0 -157
  205. package/src/components/dialog/leu-dialog.ts +0 -11
  206. package/src/components/dialog/stories/dialog.stories.ts +0 -142
  207. package/src/components/dialog/test/dialog.test.ts +0 -85
  208. package/src/components/dropdown/Dropdown.ts +0 -152
  209. package/src/components/dropdown/dropdown.css +0 -16
  210. package/src/components/dropdown/leu-dropdown.ts +0 -11
  211. package/src/components/dropdown/stories/dropdown.stories.ts +0 -58
  212. package/src/components/dropdown/test/dropdown.test.ts +0 -59
  213. package/src/components/file-input/FileInput.ts +0 -322
  214. package/src/components/file-input/file-input.css +0 -118
  215. package/src/components/file-input/leu-file-input.ts +0 -11
  216. package/src/components/file-input/stories/file-input.stories.ts +0 -45
  217. package/src/components/file-input/test/file-input.test.ts +0 -38
  218. package/src/components/icon/Icon.ts +0 -47
  219. package/src/components/icon/icon.css +0 -10
  220. package/src/components/icon/leu-icon.ts +0 -11
  221. package/src/components/icon/paths.ts +0 -219
  222. package/src/components/icon/stories/icon.stories.ts +0 -79
  223. package/src/components/icon/test/icon.test.ts +0 -50
  224. package/src/components/input/Input.ts +0 -469
  225. package/src/components/input/input.css +0 -238
  226. package/src/components/input/leu-input.ts +0 -11
  227. package/src/components/input/stories/input.stories.ts +0 -204
  228. package/src/components/input/test/input.test.ts +0 -603
  229. package/src/components/menu/Menu.ts +0 -149
  230. package/src/components/menu/MenuItem.ts +0 -168
  231. package/src/components/menu/leu-menu-item.ts +0 -11
  232. package/src/components/menu/leu-menu.ts +0 -11
  233. package/src/components/menu/menu-item.css +0 -77
  234. package/src/components/menu/menu.css +0 -19
  235. package/src/components/menu/stories/menu-item.stories.ts +0 -81
  236. package/src/components/menu/stories/menu.stories.ts +0 -54
  237. package/src/components/menu/test/menu-item.test.ts +0 -210
  238. package/src/components/menu/test/menu.test.ts +0 -125
  239. package/src/components/message/Message.ts +0 -118
  240. package/src/components/message/leu-message.ts +0 -11
  241. package/src/components/message/message.css +0 -163
  242. package/src/components/message/stories/message.mdx +0 -76
  243. package/src/components/message/stories/message.stories.ts +0 -149
  244. package/src/components/message/test/message.test.ts +0 -96
  245. package/src/components/pagination/Pagination.ts +0 -192
  246. package/src/components/pagination/leu-pagination.ts +0 -11
  247. package/src/components/pagination/pagination.css +0 -54
  248. package/src/components/pagination/stories/pagination.stories.ts +0 -115
  249. package/src/components/pagination/test/pagination.test.ts +0 -210
  250. package/src/components/placeholder/Placeholder.ts +0 -33
  251. package/src/components/placeholder/leu-placeholder.ts +0 -11
  252. package/src/components/placeholder/placeholder.css +0 -59
  253. package/src/components/placeholder/stories/placeholder.stories.ts +0 -34
  254. package/src/components/placeholder/test/placeholder.test.ts +0 -31
  255. package/src/components/popup/Popup.ts +0 -264
  256. package/src/components/popup/leu-popup.ts +0 -11
  257. package/src/components/popup/popup.css +0 -24
  258. package/src/components/popup/stories/popup.stories.ts +0 -117
  259. package/src/components/popup/test/popup.test.ts +0 -90
  260. package/src/components/progress-bar/ProgressBar.ts +0 -52
  261. package/src/components/progress-bar/leu-progress-bar.ts +0 -11
  262. package/src/components/progress-bar/progress-bar.css +0 -97
  263. package/src/components/progress-bar/stories/progress-bar.stories.ts +0 -39
  264. package/src/components/progress-bar/test/progress-bar.test.ts +0 -61
  265. package/src/components/radio/Radio.ts +0 -59
  266. package/src/components/radio/RadioGroup.ts +0 -181
  267. package/src/components/radio/leu-radio-group.ts +0 -11
  268. package/src/components/radio/leu-radio.ts +0 -11
  269. package/src/components/radio/radio-group.css +0 -29
  270. package/src/components/radio/radio.css +0 -76
  271. package/src/components/radio/stories/radio-group.stories.ts +0 -54
  272. package/src/components/radio/stories/radio.stories.ts +0 -55
  273. package/src/components/radio/test/radio-group.test.ts +0 -83
  274. package/src/components/radio/test/radio.test.ts +0 -119
  275. package/src/components/range/Range.ts +0 -400
  276. package/src/components/range/leu-range.ts +0 -11
  277. package/src/components/range/range.css +0 -227
  278. package/src/components/range/stories/range.stories.ts +0 -185
  279. package/src/components/range/test/range.test.ts +0 -228
  280. package/src/components/scroll-top/ScrollTop.ts +0 -91
  281. package/src/components/scroll-top/leu-scroll-top.ts +0 -11
  282. package/src/components/scroll-top/scroll-top.css +0 -50
  283. package/src/components/scroll-top/stories/scroll-top.stories.ts +0 -217
  284. package/src/components/scroll-top/test/scroll-top.test.ts +0 -22
  285. package/src/components/select/Select.ts +0 -570
  286. package/src/components/select/leu-select.ts +0 -11
  287. package/src/components/select/select.css +0 -222
  288. package/src/components/select/stories/select.stories.ts +0 -173
  289. package/src/components/select/test/fixtures.ts +0 -162
  290. package/src/components/select/test/select.test.ts +0 -937
  291. package/src/components/spinner/Spinner.ts +0 -31
  292. package/src/components/spinner/leu-spinner.ts +0 -11
  293. package/src/components/spinner/spinner.css +0 -20
  294. package/src/components/spinner/stories/spinner.stories.ts +0 -29
  295. package/src/components/spinner/test/spinner.test.ts +0 -30
  296. package/src/components/tab/Tab.ts +0 -72
  297. package/src/components/tab/TabGroup.ts +0 -267
  298. package/src/components/tab/TabPanel.ts +0 -59
  299. package/src/components/tab/leu-tab-group.ts +0 -11
  300. package/src/components/tab/leu-tab-panel.ts +0 -11
  301. package/src/components/tab/leu-tab.ts +0 -11
  302. package/src/components/tab/stories/tab.stories.ts +0 -97
  303. package/src/components/tab/tab-group.css +0 -63
  304. package/src/components/tab/tab-panel.css +0 -10
  305. package/src/components/tab/tab.css +0 -54
  306. package/src/components/tab/test/tab-group.test.ts +0 -426
  307. package/src/components/tab/test/tab-panel.test.ts +0 -102
  308. package/src/components/tab/test/tab.test.ts +0 -139
  309. package/src/components/table/Table.ts +0 -253
  310. package/src/components/table/leu-table.ts +0 -11
  311. package/src/components/table/stories/table.stories.ts +0 -131
  312. package/src/components/table/table.css +0 -112
  313. package/src/components/table/test/table.test.ts +0 -37
  314. package/src/components/tag/Tag.ts +0 -28
  315. package/src/components/tag/leu-tag.ts +0 -11
  316. package/src/components/tag/stories/tag.stories.ts +0 -107
  317. package/src/components/tag/tag.css +0 -42
  318. package/src/components/tag/test/tag.test.ts +0 -28
  319. package/src/components/visually-hidden/VisuallyHidden.ts +0 -16
  320. package/src/components/visually-hidden/leu-visually-hidden.ts +0 -11
  321. package/src/components/visually-hidden/stories/visually-hidden.stories.ts +0 -22
  322. package/src/components/visually-hidden/test/visually-hidden.test.ts +0 -34
  323. package/src/components/visually-hidden/visually-hidden.css +0 -10
  324. package/src/docs/contributing.mdx +0 -154
  325. package/src/docs/installation.mdx +0 -35
  326. package/src/docs/theme.mdx +0 -400
  327. package/src/docs/usage.mdx +0 -73
  328. package/src/global.d.ts +0 -11
  329. package/src/index.ts +0 -29
  330. package/src/lib/LeuElement.ts +0 -43
  331. package/src/lib/a11y.ts +0 -26
  332. package/src/lib/hasSlotController.ts +0 -74
  333. package/src/lib/mixins/FormAssociatedMixin.ts +0 -115
  334. package/src/lib/styleMap.ts +0 -139
  335. package/src/lib/utils.ts +0 -45
  336. package/src/styles/common-styles.css +0 -14
  337. package/src/styles/custom-media.css +0 -6
  338. package/src/styles/font-definitions.json +0 -210
  339. package/src/styles/style.stories.ts +0 -64
  340. package/src/styles/theme.css +0 -90
  341. package/stat_zh.png +0 -0
  342. package/stylelint.config.mjs +0 -23
  343. package/tsconfig.build.json +0 -24
  344. package/tsconfig.json +0 -14
  345. package/tsdown.config.ts +0 -35
  346. package/web-test-runner.config.mjs +0 -102
@@ -1,222 +0,0 @@
1
- :host {
2
- --select-color: var(--leu-color-black-100);
3
- --select-color-disabled: var(--leu-color-black-20);
4
- --select-color-invalid: var(--leu-color-func-red);
5
- --select-color-focus: var(--leu-color-func-cyan);
6
- --select-border-width: 2px;
7
-
8
- --select-label-color: var(--leu-color-black-100);
9
- --select-label-color-disabled: var(--select-color-disabled);
10
- --select-label-color-empty: var(--leu-color-black-60);
11
-
12
- --select-option-color: var(--leu-color-black-60);
13
- --select-option-color-focus: var(--select-color);
14
-
15
- --select-border-color: var(--leu-color-black-40);
16
- --select-border-color-focus: var(--select-color-focus);
17
- --select-border-color-disabled: var(--leu-color-black-20);
18
- --select-border-color-invalid: var(--select-color-invalid);
19
-
20
- --select-error-color: var(--leu-color-black-0);
21
-
22
- --select-clear-color: var(--leu-color-black-60);
23
-
24
- --select-font-regular: var(--leu-font-family-regular);
25
- --select-font-black: var(--leu-font-family-black);
26
-
27
- --select-apply-button-color: var(--leu-color-black-100);
28
- --select-apply-button-color-focus: var(--leu-color-black-80);
29
- --select-apply-button-font-color: var(--leu-color-black-0);
30
-
31
- --select-box-shadow-short: var(--leu-box-shadow-short);
32
- --select-box-shadow-regular: var(--leu-box-shadow-regular);
33
-
34
- position: relative;
35
- display: block;
36
-
37
- font-family: var(--select-font-regular);
38
- }
39
-
40
- :host([disabled]) {
41
- --select-color: var(--select-color-disabled);
42
- --select-color-focus: var(--select-color-disabled);
43
- --select-border-color: var(--select-border-color-disabled);
44
- --select-label-color: var(--select-label-color-disabled);
45
- --select-border-color-focus: var(--select-border-color-disabled);
46
- --select-clear-color: var(--select-color-disabled);
47
- }
48
-
49
- .select-toggle {
50
- min-height: 4.5rem;
51
- display: block;
52
- width: 100%;
53
-
54
- appearance: none;
55
- border: var(--select-border-width) solid var(--select-border-color);
56
- border-radius: 2px;
57
- font-size: 1rem;
58
- line-height: 1.5;
59
- padding: 1.375rem 3rem 1.375rem 1rem;
60
-
61
- background: var(--leu-color-black-0);
62
- overflow: hidden;
63
- text-overflow: ellipsis;
64
- white-space: nowrap;
65
-
66
- cursor: pointer;
67
- text-align: left;
68
- }
69
-
70
- .select-toggle:hover,
71
- .select-toggle:focus {
72
- border-color: var(--select-border-color-focus);
73
- }
74
-
75
- .select-toggle.filled.labeled {
76
- padding-bottom: 0.75rem;
77
- padding-top: 2rem;
78
- color: var(--select-color);
79
- }
80
-
81
- .select-toggle:focus-visible {
82
- outline: var(--select-border-width) solid var(--select-border-color-focus);
83
- outline-offset: 2px;
84
- }
85
-
86
- .label {
87
- position: absolute;
88
- top: 1.5rem;
89
- transition: top 0.1s ease;
90
- font-family: var(--select-font-regular);
91
- }
92
-
93
- :host([required]) .label::after {
94
- content: "*";
95
- }
96
-
97
- .clear-button {
98
- --_length: 1.5rem;
99
-
100
- width: var(--_length);
101
- height: var(--_length);
102
- padding: 0;
103
-
104
- position: absolute;
105
- top: calc(50% - var(--_length) / 2);
106
- right: 2.6rem;
107
-
108
- cursor: pointer;
109
-
110
- background: none;
111
- color: var(--select-clear-color);
112
- border: none;
113
-
114
- /* border-radius is only defined for a nice focus outline */
115
- border-radius: 2px;
116
- }
117
-
118
- .clear-button:focus-visible {
119
- outline: var(--select-border-width) solid var(--select-border-color-focus);
120
- outline-offset: 2px;
121
- }
122
-
123
- .select-toggle[disabled],
124
- .select-toggle[disabled] .clear-button {
125
- cursor: unset;
126
- }
127
-
128
- .select-toggle[disabled] .label {
129
- color: var(--select-label-color);
130
- }
131
-
132
- .select-toggle.open .label,
133
- .select-toggle.filled .label,
134
- .select-toggle:focus .label {
135
- color: var(--select-label-color);
136
- font-family: var(--select-font-black);
137
- font-size: 0.75rem;
138
-
139
- top: 0.875rem;
140
-
141
- transition: top 0.1s ease;
142
- }
143
-
144
- .arrow-icon {
145
- --_length: 1.5rem;
146
-
147
- width: var(--_length);
148
- height: var(--_length);
149
- padding: 0;
150
-
151
- position: absolute;
152
- top: calc(50% - var(--_length) / 2);
153
- right: 1rem;
154
-
155
- transform: rotate(0deg);
156
- transition: transform 0.25s ease;
157
-
158
- color: var(--select-color);
159
- }
160
-
161
- .select-toggle.open .arrow-icon {
162
- transform: rotate(180deg);
163
- }
164
-
165
- .select-menu-container {
166
- position: static;
167
- overflow: auto;
168
-
169
- display: flex;
170
- flex-direction: column;
171
-
172
- width: 100%;
173
- max-height: min(var(--auto-size-available-height), 24rem);
174
-
175
- padding: 0;
176
- margin: 0;
177
-
178
- border: none;
179
- border-radius: 1px;
180
- background-color: white;
181
- box-shadow: var(--select-box-shadow-regular), var(--select-box-shadow-short);
182
- }
183
-
184
- .menu {
185
- display: block;
186
- overflow: auto;
187
- }
188
-
189
- .before,
190
- .after {
191
- display: block;
192
- margin: 0.75rem;
193
- }
194
-
195
- .select:not(.select--has-before) .before {
196
- display: none;
197
- }
198
-
199
- .select:not(.select--has-after) .after {
200
- display: none;
201
- }
202
-
203
- .apply-button-wrapper {
204
- background-color: var(--leu-color-black-10);
205
- padding: 0.75rem;
206
- }
207
-
208
- .apply-button {
209
- display: block;
210
- }
211
-
212
- .select-search {
213
- margin: 0.75rem;
214
- }
215
-
216
- .filter-message-empty {
217
- background: var(--leu-color-black-0);
218
- color: var(--leu-color-black-transp-60);
219
-
220
- padding: 0.75rem;
221
- margin: 0;
222
- }
@@ -1,173 +0,0 @@
1
- import { html } from "lit"
2
- import { ifDefined } from "lit/directives/if-defined.js"
3
-
4
- import { LeuSelect } from "../leu-select.js"
5
- import "../../menu/leu-menu.js"
6
- import "../../menu/leu-menu-item.js"
7
-
8
- import { MUNICIPALITIES } from "../test/fixtures.js"
9
-
10
- export default {
11
- title: "Components/Select",
12
- component: "leu-select",
13
- parameters: {
14
- design: {
15
- type: "figma",
16
- url: "https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=17340-82208&mode=design&t=lzVrtq8lxYVJU5TB-11",
17
- },
18
- },
19
- }
20
-
21
- const OPTIONS_EXAMPLES = [
22
- { label: "Option 1", value: "1" },
23
- "Option 2",
24
- "Option 3",
25
- "Sehr lange Option um zu schauen was passiert, wenn es zu lang wird.",
26
- ]
27
-
28
- function Template({
29
- label,
30
- options,
31
- value,
32
- disabled = false,
33
- clearable = false,
34
- filterable = false,
35
- multiple = false,
36
- required = false,
37
- before,
38
- after,
39
- }) {
40
- return html`
41
- <div style="margin-top: 50vh"></div>
42
- <leu-select
43
- class="dropdown"
44
- name="select"
45
- label=${ifDefined(label)}
46
- .value=${ifDefined(value)}
47
- ?required=${required}
48
- ?clearable=${clearable}
49
- ?disabled=${disabled}
50
- ?filterable=${filterable}
51
- ?multiple=${multiple}
52
- >
53
- ${before ? html`<div slot="before">${before}</div>` : ""}
54
- ${after ? html`<div slot="after">${after}</div>` : ""}
55
- ${options.map(
56
- (option) => html`
57
- <leu-menu-item
58
- .value=${typeof option === "object" && option !== null
59
- ? option.value
60
- : option}
61
- .label=${LeuSelect.getOptionLabel(option)}
62
- >
63
- ${LeuSelect.getOptionLabel(option)}
64
- </leu-menu-item>
65
- `,
66
- )}
67
- </leu-select>
68
- <div style="margin-top: 50vh"></div>
69
- `
70
- }
71
-
72
- function TemplateSlots(args) {
73
- const before = html`<div>before</div>`
74
- const after = html`<div>after <input type="text" /></div>`
75
-
76
- return Template({ ...args, before, after })
77
- }
78
-
79
- export const Regular = Template.bind({})
80
- Regular.args = {
81
- label: "Gemeinde",
82
- options: OPTIONS_EXAMPLES,
83
- }
84
- Regular.parameters = {
85
- docs: {
86
- description: {
87
- story: `To render a basic input field only the \`label\` attribute is required. The \`label\` is necessary for accessibility reasons.
88
-
89
- The label is also used inside \`aria-label\` of the clear button ("\${label} zurücksetzen"). Therefore, the label must not contain a verb like "Gemende auswählen". This would be confusing for screen reader users.
90
- `,
91
- },
92
- },
93
- }
94
-
95
- export const Filled = Template.bind({})
96
- Filled.args = {
97
- label: "Gemeinde",
98
- options: OPTIONS_EXAMPLES,
99
- value: [OPTIONS_EXAMPLES[1]],
100
- }
101
-
102
- export const Clearable = Template.bind({})
103
- Clearable.args = {
104
- label: "Gemeinde",
105
- options: OPTIONS_EXAMPLES,
106
- value: [OPTIONS_EXAMPLES[1]],
107
- clearable: true,
108
- }
109
-
110
- export const Required = Template.bind({})
111
- Required.args = {
112
- label: "Gemeinde",
113
- options: OPTIONS_EXAMPLES,
114
- required: true,
115
- }
116
-
117
- export const Disabled = Template.bind({})
118
- Disabled.args = {
119
- label: "Gemeinde",
120
- options: OPTIONS_EXAMPLES,
121
- clearable: true,
122
- disabled: true,
123
- }
124
-
125
- export const DisabledFilled = Template.bind({})
126
- DisabledFilled.args = {
127
- label: "Gemeinde",
128
- options: OPTIONS_EXAMPLES,
129
- value: [OPTIONS_EXAMPLES[1]],
130
- clearable: true,
131
- disabled: true,
132
- }
133
-
134
- export const Filterable = Template.bind({})
135
- Filterable.args = {
136
- label: "Gemeinde",
137
- options: MUNICIPALITIES,
138
- clearable: true,
139
- disabled: false,
140
- filterable: true,
141
- }
142
-
143
- /* I also tried sloting the before and after. It doesn't work because the blur event is triggered everytime a slot is clicked */
144
- export const BeforeAfterSlot = TemplateSlots.bind({})
145
- BeforeAfterSlot.args = {
146
- label: "Gemeinde",
147
- options: MUNICIPALITIES,
148
- clearable: true,
149
- disabled: false,
150
- filterable: false,
151
- multiple: true,
152
- }
153
-
154
- export const Multiple = Template.bind({})
155
- Multiple.args = {
156
- label: "Gemeinde",
157
- options: MUNICIPALITIES,
158
- clearable: true,
159
- disabled: false,
160
- filterable: true,
161
- multiple: true,
162
- }
163
-
164
- export const MultipleFilled = Template.bind({})
165
- MultipleFilled.args = {
166
- label: "Gemeinde",
167
- options: MUNICIPALITIES,
168
- value: MUNICIPALITIES.slice(0, 2),
169
- clearable: true,
170
- disabled: false,
171
- filterable: true,
172
- multiple: true,
173
- }
@@ -1,162 +0,0 @@
1
- export const MUNICIPALITIES = [
2
- "Aeugst am Albis",
3
- "Affoltern am Albis",
4
- "Bonstetten",
5
- "Hausen am Albis",
6
- "Hedingen",
7
- "Kappel am Albis",
8
- "Knonau",
9
- "Maschwanden",
10
- "Mettmenstetten",
11
- "Obfelden",
12
- "Ottenbach",
13
- "Rifferswil",
14
- "Stallikon",
15
- "Wettswil am Albis",
16
- "Benken (ZH)",
17
- "Berg am Irchel",
18
- "Buch am Irchel",
19
- "Dachsen",
20
- "Dorf",
21
- "Feuerthalen",
22
- "Flaach",
23
- "Flurlingen",
24
- "Henggart",
25
- "Kleinandelfingen",
26
- "Laufen-Uhwiesen",
27
- "Marthalen",
28
- "Ossingen",
29
- "Rheinau",
30
- "Thalheim an der Thur",
31
- "Trüllikon",
32
- "Truttikon",
33
- "Volken",
34
- "Bachenbülach",
35
- "Bassersdorf",
36
- "Bülach",
37
- "Dietlikon",
38
- "Eglisau",
39
- "Embrach",
40
- "Freienstein-Teufen",
41
- "Glattfelden",
42
- "Hochfelden",
43
- "Höri",
44
- "Hüntwangen",
45
- "Kloten",
46
- "Lufingen",
47
- "Nürensdorf",
48
- "Oberembrach",
49
- "Opfikon",
50
- "Rafz",
51
- "Rorbas",
52
- "Wallisellen",
53
- "Wasterkingen",
54
- "Wil (ZH)",
55
- "Winkel",
56
- "Bachs",
57
- "Boppelsen",
58
- "Buchs (ZH)",
59
- "Dällikon",
60
- "Dänikon",
61
- "Dielsdorf",
62
- "Hüttikon",
63
- "Neerach",
64
- "Niederglatt",
65
- "Niederhasli",
66
- "Niederweningen",
67
- "Oberglatt",
68
- "Oberweningen",
69
- "Otelfingen",
70
- "Regensberg",
71
- "Regensdorf",
72
- "Rümlang",
73
- "Schleinikon",
74
- "Schöfflisdorf",
75
- "Stadel",
76
- "Steinmaur",
77
- "Weiach",
78
- "Bäretswil",
79
- "Bubikon",
80
- "Dürnten",
81
- "Fischenthal",
82
- "Gossau (ZH)",
83
- "Grüningen",
84
- "Hinwil",
85
- "Rüti (ZH)",
86
- "Seegräben",
87
- "Wald (ZH)",
88
- "Wetzikon (ZH)",
89
- "Adliswil",
90
- "Kilchberg (ZH)",
91
- "Langnau am Albis",
92
- "Oberrieden",
93
- "Richterswil",
94
- "Rüschlikon",
95
- "Thalwil",
96
- "Erlenbach (ZH)",
97
- "Herrliberg",
98
- "Hombrechtikon",
99
- "Küsnacht (ZH)",
100
- "Männedorf",
101
- "Meilen",
102
- "Oetwil am See",
103
- "Stäfa",
104
- "Uetikon am See",
105
- "Zumikon",
106
- "Zollikon",
107
- "Fehraltorf",
108
- "Hittnau",
109
- "Lindau",
110
- "Pfäffikon",
111
- "Russikon",
112
- "Weisslingen",
113
- "Wila",
114
- "Wildberg",
115
- "Dübendorf",
116
- "Egg",
117
- "Fällanden",
118
- "Greifensee",
119
- "Maur",
120
- "Mönchaltorf",
121
- "Schwerzenbach",
122
- "Uster",
123
- "Volketswil",
124
- "Wangen-Brüttisellen",
125
- "Altikon",
126
- "Brütten",
127
- "Dägerlen",
128
- "Dättlikon",
129
- "Dinhard",
130
- "Ellikon an der Thur",
131
- "Elsau",
132
- "Hagenbuch",
133
- "Hettlingen",
134
- "Neftenbach",
135
- "Pfungen",
136
- "Rickenbach (ZH)",
137
- "Schlatt (ZH)",
138
- "Seuzach",
139
- "Turbenthal",
140
- "Winterthur",
141
- "Zell (ZH)",
142
- "Aesch (ZH)",
143
- "Birmensdorf (ZH)",
144
- "Dietikon",
145
- "Geroldswil",
146
- "Oberengstringen",
147
- "Oetwil an der Limmat",
148
- "Schlieren",
149
- "Uitikon",
150
- "Unterengstringen",
151
- "Urdorf",
152
- "Weiningen (ZH)",
153
- "Zürich",
154
- "Andelfingen",
155
- "Stammheim",
156
- "Wädenswil",
157
- "Elgg",
158
- "Horgen",
159
- "Illnau-Effretikon",
160
- "Bauma",
161
- "Wiesendangen",
162
- ] as const