@statistikzh/leu 0.28.1 → 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 (348) hide show
  1. package/dist/{Accordion-CwkI7sfx.js → Accordion-CaDTUDJG.js} +1 -1
  2. package/dist/Accordion.js +2 -2
  3. package/dist/{Button-D1aYnunQ.js → Button-BF3_6xgs.js} +3 -3
  4. package/dist/Button.js +4 -4
  5. package/dist/{ButtonGroup-CqThYjzX.js → ButtonGroup-grJiWGHI.js} +2 -2
  6. package/dist/ButtonGroup.js +5 -5
  7. package/dist/{ChartWrapper-BjVT4x-H.js → ChartWrapper-CeolXijF.js} +2 -2
  8. package/dist/ChartWrapper.js +3 -3
  9. package/dist/{Checkbox-HxYqp2w4.js → Checkbox-DGUZ1XtB.js} +2 -2
  10. package/dist/Checkbox.js +3 -3
  11. package/dist/{CheckboxGroup-DYws2rwt.js → CheckboxGroup-CGdyk_RP.js} +2 -2
  12. package/dist/CheckboxGroup.js +4 -4
  13. package/dist/{Chip-gKxD6IaZ.js → Chip-BpKH3_Nk.js} +1 -1
  14. package/dist/Chip.js +2 -2
  15. package/dist/{ChipGroup-ZvBzX_wd.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-BYpzTprV.js → Dialog-CC674l80.js} +2 -2
  21. package/dist/Dialog.js +3 -3
  22. package/dist/{Dropdown-C4CgE4E-.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-nsnSQCaU.js → FileInput-D4kyWFkL.js} +4 -4
  26. package/dist/FileInput.js +6 -6
  27. package/dist/{Icon-D8HTPEFH.js → Icon-DOcb_NlX.js} +1 -1
  28. package/dist/Icon.js +2 -2
  29. package/dist/{Input-OrILqlax.js → Input-6Xu1N2sA.js} +2 -2
  30. package/dist/Input.js +3 -3
  31. package/dist/{LeuElement-C_lcHzQI.js → LeuElement-C3HedxlQ.js} +1 -1
  32. package/dist/{Menu-CFLCnI34.js → Menu-CJtyuUvP.js} +2 -2
  33. package/dist/{Menu-Z2b7dsB5.d.ts → Menu-txbYINTW.d.ts} +1 -1
  34. package/dist/Menu.d.ts +1 -1
  35. package/dist/Menu.js +4 -4
  36. package/dist/{MenuItem-LY4TRIho.d.ts → MenuItem-9TTOrL0Z.d.ts} +1 -1
  37. package/dist/{MenuItem-ICjLCGim.js → MenuItem-ClSE3auh.js} +2 -2
  38. package/dist/MenuItem.d.ts +1 -1
  39. package/dist/MenuItem.js +3 -3
  40. package/dist/{Message-Dw5D_0i1.js → Message-C55ydBaU.js} +2 -2
  41. package/dist/Message.js +3 -3
  42. package/dist/{Pagination-D1tP5FrM.js → Pagination-BVwKLcd5.js} +4 -4
  43. package/dist/Pagination.js +6 -6
  44. package/dist/{Placeholder-CnGzCZ5-.js → Placeholder-DFNppiVf.js} +1 -1
  45. package/dist/Placeholder.js +2 -2
  46. package/dist/{Popup-BiN_tZDN.js → Popup-D91ZiFWh.js} +1 -1
  47. package/dist/Popup.js +2 -2
  48. package/dist/{ProgressBar-BfJo_KyU.js → ProgressBar-DQGO2we8.js} +1 -1
  49. package/dist/ProgressBar.js +2 -2
  50. package/dist/{Radio-CV7vuQUj.js → Radio-BetZNoUQ.js} +1 -1
  51. package/dist/Radio.js +2 -2
  52. package/dist/{RadioGroup-C3XWSScc.js → RadioGroup-DzW5z_SD.js} +2 -2
  53. package/dist/RadioGroup.js +3 -3
  54. package/dist/{Range-C8RVrIM9.js → Range-9ijUzrty.js} +1 -1
  55. package/dist/Range.js +2 -2
  56. package/dist/{ScrollTop-B_TJ_k4m.js → ScrollTop-uDL4K_C6.js} +3 -3
  57. package/dist/ScrollTop.js +5 -5
  58. package/dist/{Select-CbPTrL3G.js → Select-ClGNTYfp.js} +7 -7
  59. package/dist/Select.d.ts +2 -2
  60. package/dist/Select.js +9 -9
  61. package/dist/{Spinner-ChKJQJTN.js → Spinner-B7ikVfUZ.js} +1 -1
  62. package/dist/Spinner.js +2 -2
  63. package/dist/{Tab-BJbzY1xd.js → Tab-CSHR71IX.js} +1 -1
  64. package/dist/Tab.js +2 -2
  65. package/dist/{TabGroup-BIaCHrKR.js → TabGroup-D7YbKXm8.js} +3 -3
  66. package/dist/TabGroup.js +4 -4
  67. package/dist/{TabPanel-CTyw410b.js → TabPanel-D_RHF3lv.js} +1 -1
  68. package/dist/TabPanel.js +2 -2
  69. package/dist/{Table-D3QmePJd.js → Table-CdosaNFb.js} +3 -3
  70. package/dist/Table.js +7 -7
  71. package/dist/{Tag-nUnWtHYy.js → Tag-BQBgkkAs.js} +1 -1
  72. package/dist/Tag.js +2 -2
  73. package/dist/{VisuallyHidden-DF2q9pTa.js → VisuallyHidden-CEBTA6hv.js} +1 -1
  74. package/dist/VisuallyHidden.js +2 -2
  75. package/dist/custom-elements.json +6445 -0
  76. package/dist/index.d.ts +2 -2
  77. package/dist/index.js +30 -30
  78. package/dist/leu-accordion.js +2 -2
  79. package/dist/leu-button-group.js +5 -5
  80. package/dist/leu-button.js +4 -4
  81. package/dist/leu-chart-wrapper.js +3 -3
  82. package/dist/leu-checkbox-group.js +4 -4
  83. package/dist/leu-checkbox.js +3 -3
  84. package/dist/leu-chip-group.js +3 -3
  85. package/dist/leu-chip-link.js +2 -2
  86. package/dist/leu-chip-removable.js +3 -3
  87. package/dist/leu-chip-selectable.js +2 -2
  88. package/dist/leu-dialog.js +3 -3
  89. package/dist/leu-dropdown.js +8 -8
  90. package/dist/leu-file-input.js +6 -6
  91. package/dist/leu-icon.js +2 -2
  92. package/dist/leu-input.js +3 -3
  93. package/dist/leu-menu-item.d.ts +1 -1
  94. package/dist/leu-menu-item.js +3 -3
  95. package/dist/leu-menu.d.ts +1 -1
  96. package/dist/leu-menu.js +4 -4
  97. package/dist/leu-message.js +3 -3
  98. package/dist/leu-pagination.js +6 -6
  99. package/dist/leu-placeholder.js +2 -2
  100. package/dist/leu-popup.js +2 -2
  101. package/dist/leu-progress-bar.js +2 -2
  102. package/dist/leu-radio-group.js +3 -3
  103. package/dist/leu-radio.js +2 -2
  104. package/dist/leu-range.js +2 -2
  105. package/dist/leu-scroll-top.js +5 -5
  106. package/dist/leu-select.js +9 -9
  107. package/dist/leu-spinner.js +2 -2
  108. package/dist/leu-tab-group.js +4 -4
  109. package/dist/leu-tab-panel.js +2 -2
  110. package/dist/leu-tab.js +2 -2
  111. package/dist/leu-table.js +7 -7
  112. package/dist/leu-tag.js +2 -2
  113. package/dist/leu-visually-hidden.js +2 -2
  114. package/dist/vscode.html-custom-data.json +11 -11
  115. package/dist/vue/index.d.ts +20 -20
  116. package/dist/web-types.json +28 -28
  117. package/package.json +4 -1
  118. package/.editorconfig +0 -29
  119. package/.github/workflows/ci.yml +0 -81
  120. package/.github/workflows/deploy-github-pages.yaml +0 -34
  121. package/.github/workflows/publish.yml +0 -28
  122. package/.github/workflows/release-please.yml +0 -19
  123. package/.husky/commit-msg +0 -1
  124. package/.husky/pre-commit +0 -1
  125. package/.nvmrc +0 -1
  126. package/.prettierignore +0 -2
  127. package/.release-please-manifest.json +0 -3
  128. package/.storybook/main.ts +0 -34
  129. package/.storybook/manager-head.html +0 -1
  130. package/.storybook/manager.ts +0 -6
  131. package/.storybook/preview.ts +0 -96
  132. package/.storybook/static/fonts/Inter-Black.woff2 +0 -0
  133. package/.storybook/static/fonts/Inter-Regular.woff2 +0 -0
  134. package/.storybook/static/fonts.css +0 -11
  135. package/.storybook/static/global.css +0 -5
  136. package/.storybook/static/logo.svg +0 -19
  137. package/.storybook/theme.ts +0 -8
  138. package/AGENTS.md +0 -162
  139. package/CHANGELOG.md +0 -601
  140. package/CODE_OF_CONDUCT.md +0 -128
  141. package/CONTRIBUTING.md +0 -42
  142. package/commitlint.config.cjs +0 -1
  143. package/custom-elements-manifest.config.js +0 -46
  144. package/eslint.config.mjs +0 -79
  145. package/postcss.config.cjs +0 -16
  146. package/release-please-config.json +0 -9
  147. package/scripts/generate-component/generate.js +0 -167
  148. package/scripts/generate-component/templates/[Name].ts +0 -31
  149. package/scripts/generate-component/templates/[name].css +0 -6
  150. package/scripts/generate-component/templates/[namespace]-[name].ts +0 -11
  151. package/scripts/generate-component/templates/stories/[name].stories.ts +0 -26
  152. package/scripts/generate-component/templates/test/[name].test.ts +0 -23
  153. package/scripts/postcss-leu-font-styles.cjs +0 -154
  154. package/src/components/accordion/Accordion.ts +0 -108
  155. package/src/components/accordion/accordion.css +0 -150
  156. package/src/components/accordion/leu-accordion.ts +0 -11
  157. package/src/components/accordion/stories/accordion.stories.ts +0 -62
  158. package/src/components/accordion/test/accordion.test.ts +0 -118
  159. package/src/components/button/Button.ts +0 -286
  160. package/src/components/button/button.css +0 -317
  161. package/src/components/button/leu-button.ts +0 -11
  162. package/src/components/button/stories/button.stories.ts +0 -366
  163. package/src/components/button/test/button.test.ts +0 -417
  164. package/src/components/button-group/ButtonGroup.ts +0 -97
  165. package/src/components/button-group/button-group.css +0 -5
  166. package/src/components/button-group/leu-button-group.ts +0 -11
  167. package/src/components/button-group/stories/button-group.stories.ts +0 -54
  168. package/src/components/button-group/test/button-group.test.ts +0 -105
  169. package/src/components/chart-wrapper/ChartWrapper.ts +0 -78
  170. package/src/components/chart-wrapper/chart-wrapper.css +0 -87
  171. package/src/components/chart-wrapper/leu-chart-wrapper.ts +0 -11
  172. package/src/components/chart-wrapper/stories/chart-wrapper.stories.ts +0 -58
  173. package/src/components/chart-wrapper/test/chart-wrapper.test.ts +0 -77
  174. package/src/components/checkbox/Checkbox.ts +0 -129
  175. package/src/components/checkbox/CheckboxGroup.ts +0 -57
  176. package/src/components/checkbox/checkbox-group.css +0 -29
  177. package/src/components/checkbox/checkbox.css +0 -81
  178. package/src/components/checkbox/leu-checkbox-group.ts +0 -11
  179. package/src/components/checkbox/leu-checkbox.ts +0 -11
  180. package/src/components/checkbox/stories/checkbox-group.stories.ts +0 -59
  181. package/src/components/checkbox/stories/checkbox.stories.ts +0 -72
  182. package/src/components/checkbox/test/checkbox-group.test.ts +0 -109
  183. package/src/components/checkbox/test/checkbox.test.ts +0 -247
  184. package/src/components/chip/Chip.ts +0 -19
  185. package/src/components/chip/ChipGroup.ts +0 -122
  186. package/src/components/chip/ChipLink.ts +0 -24
  187. package/src/components/chip/ChipRemovable.ts +0 -45
  188. package/src/components/chip/ChipSelectable.ts +0 -80
  189. package/src/components/chip/chip-group.css +0 -15
  190. package/src/components/chip/chip.css +0 -139
  191. package/src/components/chip/exports.ts +0 -4
  192. package/src/components/chip/leu-chip-group.ts +0 -11
  193. package/src/components/chip/leu-chip-link.ts +0 -11
  194. package/src/components/chip/leu-chip-removable.ts +0 -11
  195. package/src/components/chip/leu-chip-selectable.ts +0 -11
  196. package/src/components/chip/stories/chip-group.stories.ts +0 -159
  197. package/src/components/chip/stories/chip-link.stories.ts +0 -45
  198. package/src/components/chip/stories/chip-removable.stories.ts +0 -42
  199. package/src/components/chip/stories/chip-selectable.stories.ts +0 -54
  200. package/src/components/chip/test/chip-group.test.ts +0 -171
  201. package/src/components/chip/test/chip-link.test.ts +0 -54
  202. package/src/components/chip/test/chip-removable.test.ts +0 -105
  203. package/src/components/chip/test/chip-selectable.test.ts +0 -101
  204. package/src/components/chip/test/chip.test.ts +0 -22
  205. package/src/components/dialog/Dialog.ts +0 -86
  206. package/src/components/dialog/dialog.css +0 -157
  207. package/src/components/dialog/leu-dialog.ts +0 -11
  208. package/src/components/dialog/stories/dialog.stories.ts +0 -142
  209. package/src/components/dialog/test/dialog.test.ts +0 -85
  210. package/src/components/dropdown/Dropdown.ts +0 -152
  211. package/src/components/dropdown/dropdown.css +0 -16
  212. package/src/components/dropdown/leu-dropdown.ts +0 -11
  213. package/src/components/dropdown/stories/dropdown.stories.ts +0 -58
  214. package/src/components/dropdown/test/dropdown.test.ts +0 -59
  215. package/src/components/file-input/FileInput.ts +0 -324
  216. package/src/components/file-input/file-input.css +0 -118
  217. package/src/components/file-input/leu-file-input.ts +0 -11
  218. package/src/components/file-input/stories/file-input.stories.ts +0 -45
  219. package/src/components/file-input/test/file-input.test.ts +0 -62
  220. package/src/components/icon/Icon.ts +0 -47
  221. package/src/components/icon/icon.css +0 -10
  222. package/src/components/icon/leu-icon.ts +0 -11
  223. package/src/components/icon/paths.ts +0 -219
  224. package/src/components/icon/stories/icon.stories.ts +0 -79
  225. package/src/components/icon/test/icon.test.ts +0 -50
  226. package/src/components/input/Input.ts +0 -469
  227. package/src/components/input/input.css +0 -238
  228. package/src/components/input/leu-input.ts +0 -11
  229. package/src/components/input/stories/input.stories.ts +0 -204
  230. package/src/components/input/test/input.test.ts +0 -603
  231. package/src/components/menu/Menu.ts +0 -149
  232. package/src/components/menu/MenuItem.ts +0 -168
  233. package/src/components/menu/leu-menu-item.ts +0 -11
  234. package/src/components/menu/leu-menu.ts +0 -11
  235. package/src/components/menu/menu-item.css +0 -77
  236. package/src/components/menu/menu.css +0 -19
  237. package/src/components/menu/stories/menu-item.stories.ts +0 -81
  238. package/src/components/menu/stories/menu.stories.ts +0 -54
  239. package/src/components/menu/test/menu-item.test.ts +0 -210
  240. package/src/components/menu/test/menu.test.ts +0 -125
  241. package/src/components/message/Message.ts +0 -118
  242. package/src/components/message/leu-message.ts +0 -11
  243. package/src/components/message/message.css +0 -163
  244. package/src/components/message/stories/message.mdx +0 -76
  245. package/src/components/message/stories/message.stories.ts +0 -149
  246. package/src/components/message/test/message.test.ts +0 -96
  247. package/src/components/pagination/Pagination.ts +0 -192
  248. package/src/components/pagination/leu-pagination.ts +0 -11
  249. package/src/components/pagination/pagination.css +0 -54
  250. package/src/components/pagination/stories/pagination.stories.ts +0 -115
  251. package/src/components/pagination/test/pagination.test.ts +0 -210
  252. package/src/components/placeholder/Placeholder.ts +0 -33
  253. package/src/components/placeholder/leu-placeholder.ts +0 -11
  254. package/src/components/placeholder/placeholder.css +0 -59
  255. package/src/components/placeholder/stories/placeholder.stories.ts +0 -34
  256. package/src/components/placeholder/test/placeholder.test.ts +0 -31
  257. package/src/components/popup/Popup.ts +0 -264
  258. package/src/components/popup/leu-popup.ts +0 -11
  259. package/src/components/popup/popup.css +0 -24
  260. package/src/components/popup/stories/popup.stories.ts +0 -117
  261. package/src/components/popup/test/popup.test.ts +0 -90
  262. package/src/components/progress-bar/ProgressBar.ts +0 -52
  263. package/src/components/progress-bar/leu-progress-bar.ts +0 -11
  264. package/src/components/progress-bar/progress-bar.css +0 -97
  265. package/src/components/progress-bar/stories/progress-bar.stories.ts +0 -39
  266. package/src/components/progress-bar/test/progress-bar.test.ts +0 -61
  267. package/src/components/radio/Radio.ts +0 -59
  268. package/src/components/radio/RadioGroup.ts +0 -181
  269. package/src/components/radio/leu-radio-group.ts +0 -11
  270. package/src/components/radio/leu-radio.ts +0 -11
  271. package/src/components/radio/radio-group.css +0 -29
  272. package/src/components/radio/radio.css +0 -76
  273. package/src/components/radio/stories/radio-group.stories.ts +0 -54
  274. package/src/components/radio/stories/radio.stories.ts +0 -55
  275. package/src/components/radio/test/radio-group.test.ts +0 -83
  276. package/src/components/radio/test/radio.test.ts +0 -119
  277. package/src/components/range/Range.ts +0 -400
  278. package/src/components/range/leu-range.ts +0 -11
  279. package/src/components/range/range.css +0 -227
  280. package/src/components/range/stories/range.stories.ts +0 -185
  281. package/src/components/range/test/range.test.ts +0 -228
  282. package/src/components/scroll-top/ScrollTop.ts +0 -91
  283. package/src/components/scroll-top/leu-scroll-top.ts +0 -11
  284. package/src/components/scroll-top/scroll-top.css +0 -50
  285. package/src/components/scroll-top/stories/scroll-top.stories.ts +0 -217
  286. package/src/components/scroll-top/test/scroll-top.test.ts +0 -22
  287. package/src/components/select/Select.ts +0 -570
  288. package/src/components/select/leu-select.ts +0 -11
  289. package/src/components/select/select.css +0 -222
  290. package/src/components/select/stories/select.stories.ts +0 -173
  291. package/src/components/select/test/fixtures.ts +0 -162
  292. package/src/components/select/test/select.test.ts +0 -937
  293. package/src/components/spinner/Spinner.ts +0 -31
  294. package/src/components/spinner/leu-spinner.ts +0 -11
  295. package/src/components/spinner/spinner.css +0 -20
  296. package/src/components/spinner/stories/spinner.stories.ts +0 -29
  297. package/src/components/spinner/test/spinner.test.ts +0 -30
  298. package/src/components/tab/Tab.ts +0 -72
  299. package/src/components/tab/TabGroup.ts +0 -267
  300. package/src/components/tab/TabPanel.ts +0 -59
  301. package/src/components/tab/leu-tab-group.ts +0 -11
  302. package/src/components/tab/leu-tab-panel.ts +0 -11
  303. package/src/components/tab/leu-tab.ts +0 -11
  304. package/src/components/tab/stories/tab.stories.ts +0 -97
  305. package/src/components/tab/tab-group.css +0 -63
  306. package/src/components/tab/tab-panel.css +0 -10
  307. package/src/components/tab/tab.css +0 -54
  308. package/src/components/tab/test/tab-group.test.ts +0 -426
  309. package/src/components/tab/test/tab-panel.test.ts +0 -102
  310. package/src/components/tab/test/tab.test.ts +0 -139
  311. package/src/components/table/Table.ts +0 -253
  312. package/src/components/table/leu-table.ts +0 -11
  313. package/src/components/table/stories/table.stories.ts +0 -131
  314. package/src/components/table/table.css +0 -112
  315. package/src/components/table/test/table.test.ts +0 -37
  316. package/src/components/tag/Tag.ts +0 -28
  317. package/src/components/tag/leu-tag.ts +0 -11
  318. package/src/components/tag/stories/tag.stories.ts +0 -107
  319. package/src/components/tag/tag.css +0 -42
  320. package/src/components/tag/test/tag.test.ts +0 -28
  321. package/src/components/visually-hidden/VisuallyHidden.ts +0 -16
  322. package/src/components/visually-hidden/leu-visually-hidden.ts +0 -11
  323. package/src/components/visually-hidden/stories/visually-hidden.stories.ts +0 -22
  324. package/src/components/visually-hidden/test/visually-hidden.test.ts +0 -34
  325. package/src/components/visually-hidden/visually-hidden.css +0 -10
  326. package/src/docs/contributing.mdx +0 -154
  327. package/src/docs/installation.mdx +0 -35
  328. package/src/docs/theme.mdx +0 -400
  329. package/src/docs/usage.mdx +0 -73
  330. package/src/global.d.ts +0 -11
  331. package/src/index.ts +0 -29
  332. package/src/lib/LeuElement.ts +0 -43
  333. package/src/lib/a11y.ts +0 -26
  334. package/src/lib/hasSlotController.ts +0 -74
  335. package/src/lib/mixins/FormAssociatedMixin.ts +0 -115
  336. package/src/lib/styleMap.ts +0 -139
  337. package/src/lib/utils.ts +0 -45
  338. package/src/styles/common-styles.css +0 -14
  339. package/src/styles/custom-media.css +0 -6
  340. package/src/styles/font-definitions.json +0 -210
  341. package/src/styles/style.stories.ts +0 -64
  342. package/src/styles/theme.css +0 -90
  343. package/stat_zh.png +0 -0
  344. package/stylelint.config.mjs +0 -23
  345. package/tsconfig.build.json +0 -24
  346. package/tsconfig.json +0 -14
  347. package/tsdown.config.ts +0 -35
  348. package/web-test-runner.config.mjs +0 -102
@@ -1,80 +0,0 @@
1
- import { html } from "lit"
2
- import { property } from "lit/decorators.js"
3
-
4
- import { LeuChipBase } from "./Chip.js"
5
-
6
- /**
7
- * A chip component that can be selected.
8
- * @tagname leu-chip-selectable
9
- * @slot - The content of the chip
10
- */
11
- export class LeuChipSelectable extends LeuChipBase {
12
- /** The size of the chip. Has no effect when variant is "radio" */
13
- @property({ type: String, reflect: true })
14
- size: "small" | "regular" = "regular"
15
-
16
- /**
17
- * The variant of the chip. Determines if only one or multiple chips can be selected.
18
- * @default "toggle"
19
- */
20
- @property({ type: String, reflect: true })
21
- variant: "toggle" | "radio" = "toggle"
22
-
23
- /** Whether the chip is selected */
24
- @property({ type: Boolean, reflect: true })
25
- checked: boolean = false
26
-
27
- /** The value of the chip */
28
- @property({ type: String, reflect: true })
29
- value: string = ""
30
-
31
- constructor() {
32
- super()
33
-
34
- if (this.variant === "radio" && this.size === "small") {
35
- console.warn("Small size has no effect on radio variant")
36
- }
37
- }
38
-
39
- protected handleClick() {
40
- let nextcheckedState = this.checked
41
-
42
- if (this.variant === "radio") {
43
- nextcheckedState = true
44
- } else {
45
- nextcheckedState = !this.checked
46
- }
47
-
48
- if (nextcheckedState !== this.checked) {
49
- this.checked = nextcheckedState
50
- this.dispatchEvent(
51
- new CustomEvent("input", {
52
- detail: {
53
- checked: this.checked,
54
- value: this.getValue(),
55
- },
56
- bubbles: true,
57
- composed: true,
58
- }),
59
- )
60
- }
61
- }
62
-
63
- /**
64
- * Returns the value of the chip. If `value` is not set, it will return the text content
65
- * @returns {string}
66
- */
67
- getValue() {
68
- return this.value || this.textContent.trim()
69
- }
70
-
71
- render() {
72
- return html`<button
73
- @click=${() => this.handleClick()}
74
- class="button"
75
- aria-pressed=${this.checked ? "true" : "false"}
76
- >
77
- <span class="label"><slot></slot></span>
78
- </button>`
79
- }
80
- }
@@ -1,15 +0,0 @@
1
- .label {
2
- margin: 0 0 0.5rem;
3
- font: var(--leu-t-curve-tiny-black-font);
4
- color: var(--leu-color-black-100);
5
- }
6
-
7
- :host([inverted]) .label {
8
- color: var(--leu-color-black-0);
9
- }
10
-
11
- .group {
12
- display: flex;
13
- flex-wrap: wrap;
14
- gap: var(--leu-chip-group-gap, 0.5rem);
15
- }
@@ -1,139 +0,0 @@
1
- :host *::before,
2
- :host *::after {
3
- box-sizing: border-box;
4
- }
5
-
6
- :host {
7
- --chip-background-color-default: var(--leu-color-black-transp-10);
8
- --chip-background-color-hover: var(--leu-color-black-transp-20);
9
- --chip-background-color-checked: var(--leu-color-black-100);
10
- --chip-background-color-checked-hover: var(--leu-color-black-transp-80);
11
-
12
- --chip-color-default: var(--leu-color-black-transp-60);
13
- --chip-color-hover: var(--leu-color-black-100);
14
- --chip-color-checked: var(--leu-color-black-0);
15
-
16
- --chip-radio-border-default: var(--leu-color-black-transp-40);
17
- --chip-radio-border-checked: var(--leu-color-black-0);
18
- --chip-radio-background-default: var(--leu-color-black-0);
19
- --chip-radio-background-checked: var(--leu-color-func-cyan);
20
-
21
- --chip-font-regular: var(--leu-font-family-regular);
22
- --chip-font-black: var(--leu-font-family-black);
23
-
24
- --chip-background-color: var(--chip-background-color-default);
25
- --chip-color: var(--chip-color-default);
26
- --chip-radio-border: var(--chip-radio-border-default);
27
- --chip-radio-background: var(--chip-radio-background-default);
28
-
29
- --leu-icon-size: 1rem;
30
-
31
- font-family: var(--chip-font-regular);
32
-
33
- /* Allow shrinking to achieve text truncation (ellipsis) */
34
- min-width: 0;
35
- }
36
-
37
- :host([inverted]) {
38
- --chip-background-color: var(--leu-color-black-transp-20);
39
- --chip-background-color-hover: var(--leu-color-black-transp-40);
40
-
41
- --chip-color-default: var(--leu-color-black-0);
42
- --chip-color-hover: var(--leu-color-black-0);
43
- --chip-color-checked: var(--leu-color-black-0);
44
- }
45
-
46
- :host([checked]) {
47
- --chip-background-color: var(--chip-background-color-checked);
48
- --chip-color: var(--chip-color-checked);
49
- --chip-radio-border: var(--chip-radio-border-checked);
50
- --chip-radio-background: var(--chip-radio-background-checked);
51
- }
52
-
53
- .button {
54
- appearance: none;
55
- border: none;
56
- border-radius: 1rem;
57
- background-color: var(--chip-background-color);
58
- padding: 8px 1rem;
59
-
60
- color: var(--chip-color);
61
- font-family: inherit;
62
- font-size: 0.875rem;
63
- line-height: 1rem;
64
-
65
- cursor: pointer;
66
-
67
- display: inline-flex;
68
- gap: 0.5rem;
69
- align-items: center;
70
-
71
- /* Allow shrinking to achieve text truncation (ellipsis) */
72
- min-width: 0;
73
- max-width: 100%;
74
- }
75
-
76
- .button:hover,
77
- .button:focus-visible {
78
- --chip-background-color: var(--chip-background-color-hover);
79
- --chip-color: var(--chip-color-hover);
80
- }
81
-
82
- .button:focus-visible {
83
- outline: 2px solid var(--leu-color-func-cyan);
84
- outline-offset: 2px;
85
- }
86
-
87
- :host([href]) .button {
88
- border-radius: 1.25rem;
89
- padding: 0.5rem 1rem;
90
-
91
- font-family: var(--chip-font-black);
92
- font-size: 1.125rem;
93
- line-height: 1.5rem;
94
- text-decoration: none;
95
- }
96
-
97
- :host([checked]) .button:hover,
98
- :host([checked]) .button:focus-visible {
99
- --chip-background-color: var(--chip-background-color-checked-hover);
100
- --chip-color: var(--chip-color-checked);
101
- }
102
-
103
- :host([href][size="large"]) .button {
104
- border-radius: 1.5rem;
105
- padding: 0.3125rem 1.5rem;
106
-
107
- font-size: 2rem;
108
- line-height: 2.375rem;
109
- }
110
-
111
- :host([size="small"]:not([variant="radio"])) .button {
112
- padding: 0.3125rem 0.75rem;
113
-
114
- font-size: 0.75rem;
115
- line-height: 1.25rem;
116
- }
117
-
118
- :host([variant="radio"]) .button::before {
119
- content: "";
120
- flex: 0 0 1rem;
121
- width: 1rem;
122
- height: 1rem;
123
- background-color: var(--chip-radio-background);
124
- border: 2px solid var(--chip-radio-border);
125
- border-radius: 50%;
126
- }
127
-
128
- :host([variant="radio"][checked]) .button::before {
129
- border-width: 3px;
130
- }
131
-
132
- .label {
133
- position: relative;
134
- top: -0.0625rem;
135
-
136
- overflow: hidden;
137
- text-overflow: ellipsis;
138
- white-space: nowrap;
139
- }
@@ -1,4 +0,0 @@
1
- export { LeuChipGroup } from "./ChipGroup.js"
2
- export { LeuChipLink } from "./ChipLink.js"
3
- export { LeuChipRemovable } from "./ChipRemovable.js"
4
- export { LeuChipSelectable } from "./ChipSelectable.js"
@@ -1,11 +0,0 @@
1
- import { LeuChipGroup } from "./ChipGroup.js"
2
-
3
- export { LeuChipGroup }
4
-
5
- LeuChipGroup.define("leu-chip-group")
6
-
7
- declare global {
8
- interface HTMLElementTagNameMap {
9
- "leu-chip-group": LeuChipGroup
10
- }
11
- }
@@ -1,11 +0,0 @@
1
- import { LeuChipLink } from "./ChipLink.js"
2
-
3
- export { LeuChipLink }
4
-
5
- LeuChipLink.define("leu-chip-link")
6
-
7
- declare global {
8
- interface HTMLElementTagNameMap {
9
- "leu-chip-link": LeuChipLink
10
- }
11
- }
@@ -1,11 +0,0 @@
1
- import { LeuChipRemovable } from "./ChipRemovable.js"
2
-
3
- export { LeuChipRemovable }
4
-
5
- LeuChipRemovable.define("leu-chip-removable")
6
-
7
- declare global {
8
- interface HTMLElementTagNameMap {
9
- "leu-chip-removable": LeuChipRemovable
10
- }
11
- }
@@ -1,11 +0,0 @@
1
- import { LeuChipSelectable } from "./ChipSelectable.js"
2
-
3
- export { LeuChipSelectable }
4
-
5
- LeuChipSelectable.define("leu-chip-selectable")
6
-
7
- declare global {
8
- interface HTMLElementTagNameMap {
9
- "leu-chip-selectable": LeuChipSelectable
10
- }
11
- }
@@ -1,159 +0,0 @@
1
- import { html } from "lit"
2
- import { ifDefined } from "lit/directives/if-defined.js"
3
- import { styleMap } from "lit/directives/style-map.js"
4
-
5
- import "../leu-chip-selectable.js"
6
- import "../leu-chip-removable.js"
7
- import "../leu-chip-link.js"
8
- import "../leu-chip-group.js"
9
-
10
- export default {
11
- title: "Components/Chip/Group",
12
- component: "leu-chip-group",
13
- argTypes: {
14
- selectionMode: {
15
- control: "select",
16
- options: ["single", "multiple", "none"],
17
- },
18
- headingLevel: {
19
- control: "select",
20
- options: [1, 2, 3, 4, 5, 6],
21
- },
22
- "--leu-chip-group-gap": {
23
- control: "text",
24
- },
25
- },
26
- args: {
27
- selectionMode: "",
28
- inverted: false,
29
- },
30
- parameters: {
31
- design: {
32
- type: "figma",
33
- url: "https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=17340-81933&mode=design&t=lzVrtq8lxYVJU5TB-11",
34
- },
35
- html: {
36
- root: "[data-root]",
37
- },
38
- },
39
- }
40
-
41
- const chips = [
42
- "Chip mit einem sehr langen Text der dann hoffentlich mal abgeschnitten wird",
43
- "Chip 2",
44
- "Chip 3",
45
- ]
46
-
47
- const links = [
48
- "Steuererklärung",
49
- "Abstimmungen",
50
- "Zentrale Aufnahmeprüfung",
51
- "Pass & Identitätskarte",
52
- "Arbeiten beim Kanton",
53
- ]
54
-
55
- function invertedBackground({ args, content }) {
56
- return {
57
- content: html`
58
- <div
59
- style="background: ${args.inverted
60
- ? "hsla(209, 83%, 59%, 1)"
61
- : "var(--leu-color-black-5)"}; padding: 1rem;"
62
- data-root
63
- >
64
- ${content}
65
- </div>
66
- `,
67
- args,
68
- }
69
- }
70
-
71
- function chipGroup({ args, content }) {
72
- const styles = {
73
- "--leu-chip-group-gap": args["--leu-chip-group-gap"],
74
- }
75
-
76
- const nextContent = html`
77
- <leu-chip-group
78
- style=${styleMap(styles)}
79
- selection-mode=${ifDefined(args.selectionMode)}
80
- heading-level=${ifDefined(args.headingLevel)}
81
- label=${ifDefined(args.label)}
82
- ?inverted=${args.inverted}
83
- >
84
- ${content}
85
- </leu-chip-group>
86
- `
87
-
88
- return { args, content: nextContent }
89
- }
90
-
91
- function DefaultTemplate(args) {
92
- const content = html`
93
- ${chips.map(
94
- (chip) => html`
95
- <leu-chip-removable ?inverted=${args.inverted}>
96
- ${chip}
97
- </leu-chip-removable>
98
- `,
99
- )}
100
- `
101
-
102
- return invertedBackground(chipGroup({ args, content })).content
103
- }
104
-
105
- function SingleTemplate(args) {
106
- const content = html`
107
- ${chips.map(
108
- (chip) => html`
109
- <leu-chip-selectable
110
- ?inverted=${args.inverted}
111
- variant="radio"
112
- value="chip-${chip}"
113
- >
114
- ${chip}
115
- </leu-chip-selectable>
116
- `,
117
- )}
118
- `
119
-
120
- return invertedBackground(chipGroup({ args, content })).content
121
- }
122
-
123
- function MultipleTemplate(args) {
124
- const content = html`
125
- ${chips.map(
126
- (chip) => html`
127
- <leu-chip-selectable ?inverted=${args.inverted} value="chip-${chip}">
128
- ${chip}
129
- </leu-chip-selectable>
130
- `,
131
- )}
132
- `
133
-
134
- return invertedBackground(chipGroup({ args, content })).content
135
- }
136
-
137
- function LabeledTemplate(args) {
138
- const content = html`
139
- ${links.map(
140
- (chip) => html`
141
- <leu-chip-link ?inverted=${args.inverted}> ${chip} </leu-chip-link>
142
- `,
143
- )}
144
- `
145
-
146
- return invertedBackground(chipGroup({ args, content })).content
147
- }
148
-
149
- export const Default = DefaultTemplate.bind({})
150
- Default.args = {}
151
-
152
- export const Single = SingleTemplate.bind({})
153
- Single.args = { selectionMode: "single" }
154
-
155
- export const Multiple = MultipleTemplate.bind({})
156
- Multiple.args = { selectionMode: "multiple" }
157
-
158
- export const Labeled = LabeledTemplate.bind({})
159
- Labeled.args = { label: "Top Themen" }
@@ -1,45 +0,0 @@
1
- import { html } from "lit"
2
- import { ifDefined } from "lit/directives/if-defined.js"
3
-
4
- import "../leu-chip-link.js"
5
-
6
- export default {
7
- title: "Components/Chip/Link",
8
- component: "leu-chip-link",
9
- argTypes: {
10
- size: { control: "select", options: ["regular", "large"] },
11
- },
12
- args: {
13
- label: "Publikationen",
14
- },
15
- parameters: {
16
- design: {
17
- type: "figma",
18
- url: "https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=17340-81933&mode=design&t=lzVrtq8lxYVJU5TB-11",
19
- },
20
- html: {
21
- root: "[data-root]",
22
- },
23
- },
24
- }
25
-
26
- function Template(args) {
27
- return html`
28
- <div
29
- style="background: ${args.inverted
30
- ? "hsla(209, 83%, 59%, 1)"
31
- : "var(--leu-color-black-5)"}; padding: 1rem;"
32
- data-root
33
- >
34
- <leu-chip-link size=${ifDefined(args.size)} ?inverted=${args.inverted}
35
- >${args.label}</leu-chip-link
36
- >
37
- </div>
38
- `
39
- }
40
-
41
- export const Default = Template.bind({})
42
- Default.args = {}
43
-
44
- export const Large = Template.bind({})
45
- Large.args = { size: "large" }
@@ -1,42 +0,0 @@
1
- import { html } from "lit"
2
- import { action } from "storybook/actions"
3
-
4
- import "../leu-chip-removable.js"
5
-
6
- export default {
7
- title: "Components/Chip/Removable",
8
- component: "leu-chip-removable",
9
- args: {
10
- label: "Daten",
11
- onRemove: action("leu:remove"),
12
- },
13
- parameters: {
14
- design: {
15
- type: "figma",
16
- url: "https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=17340-81933&mode=design&t=lzVrtq8lxYVJU5TB-11",
17
- },
18
- html: {
19
- root: "[data-root]",
20
- },
21
- },
22
- }
23
-
24
- function Template(args) {
25
- return html`
26
- <div
27
- style="background: ${args.inverted
28
- ? "hsla(209, 83%, 59%, 1)"
29
- : "var(--leu-color-black-5)"}; padding: 1rem;"
30
- data-root
31
- >
32
- <leu-chip-removable
33
- @leu:remove=${args.onRemove}
34
- ?inverted=${args.inverted}
35
- >${args.label}</leu-chip-removable
36
- >
37
- </div>
38
- `
39
- }
40
-
41
- export const Default = Template.bind({})
42
- Default.args = {}
@@ -1,54 +0,0 @@
1
- import { html } from "lit"
2
- import { ifDefined } from "lit/directives/if-defined.js"
3
-
4
- import "../leu-chip-selectable.js"
5
-
6
- export default {
7
- title: "Components/Chip/Selectable",
8
- component: "leu-chip-selectable",
9
- argTypes: {
10
- variant: { control: "select", options: ["toggle", "radio"] },
11
- size: { control: "select", options: ["small", "regular"] },
12
- label: { control: "text" },
13
- },
14
- args: {
15
- label: "Publikationen",
16
- },
17
- parameters: {
18
- design: {
19
- type: "figma",
20
- url: "https://www.figma.com/file/d6Pv21UVUbnBs3AdcZijHmbN/KTZH-Design-System?type=design&node-id=17340-81933&mode=design&t=lzVrtq8lxYVJU5TB-11",
21
- },
22
- html: {
23
- root: "[data-root]",
24
- },
25
- },
26
- }
27
-
28
- function Template(args) {
29
- return html`
30
- <div
31
- style="background: ${args.inverted
32
- ? "hsla(209, 83%, 59%, 1)"
33
- : "var(--leu-color-black-5)"}; padding: 1rem;"
34
- data-root
35
- >
36
- <leu-chip-selectable
37
- size=${ifDefined(args.size)}
38
- variant=${ifDefined(args.variant)}
39
- ?checked=${args.checked}
40
- ?inverted=${args.inverted}
41
- >${args.label}</leu-chip-selectable
42
- >
43
- </div>
44
- `
45
- }
46
-
47
- export const Default = Template.bind({})
48
- Default.args = {}
49
-
50
- export const Small = Template.bind({})
51
- Small.args = { size: "small", label: "Publikationen Region" }
52
-
53
- export const Radio = Template.bind({})
54
- Radio.args = { variant: "radio" }