@statistikzh/leu 0.3.0 → 0.5.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 (295) hide show
  1. package/.github/workflows/deploy-github-pages.yaml +33 -0
  2. package/.storybook/main.js +27 -1
  3. package/.storybook/manager-head.html +1 -0
  4. package/.storybook/manager.js +9 -0
  5. package/.storybook/preview-head.html +1 -1
  6. package/.storybook/preview.js +59 -6
  7. package/.storybook/static/logo.svg +19 -0
  8. package/.storybook/theme.js +7 -0
  9. package/CHANGELOG.md +54 -0
  10. package/README.md +1 -1
  11. package/custom-elements-manifest.config.js +46 -0
  12. package/dist/Accordion.d.ts +31 -0
  13. package/dist/Accordion.d.ts.map +1 -0
  14. package/dist/Accordion.js +257 -0
  15. package/dist/Breadcrumb.d.ts +69 -0
  16. package/dist/Breadcrumb.d.ts.map +1 -0
  17. package/dist/Breadcrumb.js +392 -0
  18. package/dist/Button-da11d064.d.ts +84 -0
  19. package/dist/Button-da11d064.d.ts.map +1 -0
  20. package/dist/Button-da11d064.js +542 -0
  21. package/dist/Button.d.ts +2 -0
  22. package/dist/Button.d.ts.map +1 -0
  23. package/dist/Button.js +6 -423
  24. package/dist/ButtonGroup.d.ts +24 -0
  25. package/dist/ButtonGroup.d.ts.map +1 -0
  26. package/dist/ButtonGroup.js +72 -43
  27. package/dist/Checkbox.d.ts +13 -0
  28. package/dist/Checkbox.d.ts.map +1 -0
  29. package/dist/Checkbox.js +101 -84
  30. package/dist/CheckboxGroup.d.ts +13 -0
  31. package/dist/CheckboxGroup.d.ts.map +1 -0
  32. package/dist/CheckboxGroup.js +41 -37
  33. package/dist/Chip.d.ts +5 -0
  34. package/dist/Chip.d.ts.map +1 -0
  35. package/dist/{Chip-5f70d04f.js → Chip.js} +21 -6
  36. package/dist/ChipGroup.d.ts +28 -0
  37. package/dist/ChipGroup.d.ts.map +1 -0
  38. package/dist/ChipGroup.js +64 -10
  39. package/dist/ChipLink.d.ts +15 -0
  40. package/dist/ChipLink.d.ts.map +1 -0
  41. package/dist/ChipLink.js +4 -7
  42. package/dist/ChipRemovable.d.ts +13 -0
  43. package/dist/ChipRemovable.d.ts.map +1 -0
  44. package/dist/ChipRemovable.js +5 -8
  45. package/dist/ChipSelectable.d.ts +22 -0
  46. package/dist/ChipSelectable.d.ts.map +1 -0
  47. package/dist/ChipSelectable.js +8 -11
  48. package/dist/Dropdown.d.ts +15 -0
  49. package/dist/Dropdown.d.ts.map +1 -0
  50. package/dist/Dropdown.js +73 -26
  51. package/dist/Input.d.ts +154 -0
  52. package/dist/Input.d.ts.map +1 -0
  53. package/dist/Input.js +42 -35
  54. package/dist/Menu.d.ts +8 -0
  55. package/dist/Menu.d.ts.map +1 -0
  56. package/dist/Menu.js +2 -5
  57. package/dist/MenuItem.d.ts +21 -0
  58. package/dist/MenuItem.d.ts.map +1 -0
  59. package/dist/MenuItem.js +32 -17
  60. package/dist/Pagination.d.ts +27 -0
  61. package/dist/Pagination.d.ts.map +1 -0
  62. package/dist/Pagination.js +121 -89
  63. package/dist/Popup.d.ts +18 -0
  64. package/dist/Popup.d.ts.map +1 -0
  65. package/dist/Popup.js +215 -0
  66. package/dist/Radio.d.ts +12 -0
  67. package/dist/Radio.d.ts.map +1 -0
  68. package/dist/Radio.js +9 -8
  69. package/dist/RadioGroup.d.ts +20 -0
  70. package/dist/RadioGroup.d.ts.map +1 -0
  71. package/dist/RadioGroup.js +41 -39
  72. package/dist/ScrollTop.d.ts +19 -0
  73. package/dist/ScrollTop.d.ts.map +1 -0
  74. package/dist/ScrollTop.js +122 -0
  75. package/dist/Select.d.ts +98 -0
  76. package/dist/Select.d.ts.map +1 -0
  77. package/dist/Select.js +79 -122
  78. package/dist/Table.d.ts +48 -0
  79. package/dist/Table.d.ts.map +1 -0
  80. package/dist/Table.js +141 -121
  81. package/dist/VisuallyHidden.d.ts +8 -0
  82. package/dist/VisuallyHidden.d.ts.map +1 -0
  83. package/dist/VisuallyHidden.js +28 -0
  84. package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts +3 -0
  85. package/dist/_rollupPluginBabelHelpers-20f659f4.d.ts.map +1 -0
  86. package/dist/{defineElement-ba770aed.js → _rollupPluginBabelHelpers-20f659f4.js} +1 -15
  87. package/dist/defineElement-40372b4b.d.ts +9 -0
  88. package/dist/defineElement-40372b4b.d.ts.map +1 -0
  89. package/dist/defineElement-40372b4b.js +15 -0
  90. package/dist/icon-03e86700.d.ts +11 -0
  91. package/dist/icon-03e86700.d.ts.map +1 -0
  92. package/dist/index.js.d.ts +21 -0
  93. package/dist/index.js.d.ts.map +1 -0
  94. package/dist/index.js.js +42 -0
  95. package/dist/leu-accordion.d.ts +3 -0
  96. package/dist/leu-accordion.d.ts.map +1 -0
  97. package/dist/leu-accordion.js +9 -0
  98. package/dist/leu-breadcrumb.d.ts +3 -0
  99. package/dist/leu-breadcrumb.d.ts.map +1 -0
  100. package/dist/leu-breadcrumb.js +23 -0
  101. package/dist/leu-button-group.d.ts +3 -0
  102. package/dist/leu-button-group.d.ts.map +1 -0
  103. package/dist/leu-button-group.js +6 -6
  104. package/dist/leu-button.d.ts +3 -0
  105. package/dist/leu-button.d.ts.map +1 -0
  106. package/dist/leu-button.js +7 -3
  107. package/dist/leu-checkbox-group.d.ts +3 -0
  108. package/dist/leu-checkbox-group.d.ts.map +1 -0
  109. package/dist/leu-checkbox-group.js +6 -3
  110. package/dist/leu-checkbox.d.ts +3 -0
  111. package/dist/leu-checkbox.d.ts.map +1 -0
  112. package/dist/leu-checkbox.js +6 -3
  113. package/dist/leu-chip-group.d.ts +3 -0
  114. package/dist/leu-chip-group.d.ts.map +1 -0
  115. package/dist/leu-chip-group.js +7 -3
  116. package/dist/leu-chip-link.d.ts +3 -0
  117. package/dist/leu-chip-link.d.ts.map +1 -0
  118. package/dist/leu-chip-link.js +7 -4
  119. package/dist/leu-chip-removable.d.ts +3 -0
  120. package/dist/leu-chip-removable.d.ts.map +1 -0
  121. package/dist/leu-chip-removable.js +7 -4
  122. package/dist/leu-chip-selectable.d.ts +3 -0
  123. package/dist/leu-chip-selectable.d.ts.map +1 -0
  124. package/dist/leu-chip-selectable.js +7 -4
  125. package/dist/leu-dropdown.d.ts +3 -0
  126. package/dist/leu-dropdown.d.ts.map +1 -0
  127. package/dist/leu-dropdown.js +15 -4
  128. package/dist/leu-input.d.ts +3 -0
  129. package/dist/leu-input.d.ts.map +1 -0
  130. package/dist/leu-input.js +7 -3
  131. package/dist/leu-menu-item.d.ts +3 -0
  132. package/dist/leu-menu-item.d.ts.map +1 -0
  133. package/dist/leu-menu-item.js +8 -3
  134. package/dist/leu-menu.d.ts +3 -0
  135. package/dist/leu-menu.d.ts.map +1 -0
  136. package/dist/leu-menu.js +6 -3
  137. package/dist/leu-pagination.d.ts +3 -0
  138. package/dist/leu-pagination.d.ts.map +1 -0
  139. package/dist/leu-pagination.js +12 -4
  140. package/dist/leu-popup.d.ts +3 -0
  141. package/dist/leu-popup.d.ts.map +1 -0
  142. package/dist/leu-popup.js +9 -0
  143. package/dist/leu-radio-group.d.ts +3 -0
  144. package/dist/leu-radio-group.d.ts.map +1 -0
  145. package/dist/leu-radio-group.js +6 -3
  146. package/dist/leu-radio.d.ts +3 -0
  147. package/dist/leu-radio.d.ts.map +1 -0
  148. package/dist/leu-radio.js +6 -3
  149. package/dist/leu-scroll-top.d.ts +3 -0
  150. package/dist/leu-scroll-top.d.ts.map +1 -0
  151. package/dist/leu-scroll-top.js +14 -0
  152. package/dist/leu-select.d.ts +3 -0
  153. package/dist/leu-select.d.ts.map +1 -0
  154. package/dist/leu-select.js +16 -4
  155. package/dist/leu-table.d.ts +3 -0
  156. package/dist/leu-table.d.ts.map +1 -0
  157. package/dist/leu-table.js +13 -4
  158. package/dist/leu-visually-hidden.d.ts +3 -0
  159. package/dist/leu-visually-hidden.d.ts.map +1 -0
  160. package/dist/leu-visually-hidden.js +8 -0
  161. package/dist/theme.css +386 -2
  162. package/dist/utils-65469421.d.ts +16 -0
  163. package/dist/utils-65469421.d.ts.map +1 -0
  164. package/dist/utils-65469421.js +35 -0
  165. package/index.js +3 -0
  166. package/package.json +47 -17
  167. package/postcss.config.cjs +2 -0
  168. package/rollup.config.js +21 -40
  169. package/scripts/generate-component/templates/[Name].js +0 -5
  170. package/scripts/generate-component/templates/[name].css +3 -3
  171. package/scripts/generate-component/templates/[namespace]-[name].js +5 -2
  172. package/scripts/postcss-leu-font-styles.cjs +160 -0
  173. package/src/components/accordion/Accordion.js +0 -6
  174. package/src/components/accordion/accordion.css +2 -2
  175. package/src/components/accordion/leu-accordion.js +5 -2
  176. package/src/components/accordion/stories/accordion.stories.js +8 -4
  177. package/src/components/accordion/test/accordion.test.js +95 -3
  178. package/src/components/breadcrumb/Breadcrumb.js +311 -0
  179. package/src/components/breadcrumb/breadcrumb.css +103 -0
  180. package/src/components/breadcrumb/leu-breadcrumb.js +6 -0
  181. package/src/components/breadcrumb/stories/breadcrumb.stories.js +73 -0
  182. package/src/components/breadcrumb/test/breadcrumb.test.js +141 -0
  183. package/src/components/button/Button.js +76 -20
  184. package/src/components/button/button.css +13 -5
  185. package/src/components/button/leu-button.js +5 -2
  186. package/src/components/button/stories/button.stories.js +79 -105
  187. package/src/components/button/test/button.test.js +184 -3
  188. package/src/components/button-group/ButtonGroup.js +76 -40
  189. package/src/components/button-group/leu-button-group.js +5 -2
  190. package/src/components/button-group/stories/button-group.stories.js +19 -6
  191. package/src/components/button-group/test/button-group.test.js +87 -4
  192. package/src/components/checkbox/Checkbox.js +6 -85
  193. package/src/components/checkbox/CheckboxGroup.js +8 -38
  194. package/src/components/checkbox/checkbox-group.css +29 -0
  195. package/src/components/checkbox/checkbox.css +76 -0
  196. package/src/components/checkbox/leu-checkbox-group.js +5 -2
  197. package/src/components/checkbox/leu-checkbox.js +5 -2
  198. package/src/components/checkbox/stories/checkbox-group.stories.js +44 -21
  199. package/src/components/checkbox/stories/checkbox.stories.js +7 -1
  200. package/src/components/checkbox/test/checkbox-group.test.js +124 -0
  201. package/src/components/checkbox/test/checkbox.test.js +72 -59
  202. package/src/components/chip/Chip.js +1 -0
  203. package/src/components/chip/ChipGroup.js +42 -7
  204. package/src/components/chip/ChipLink.js +1 -6
  205. package/src/components/chip/ChipRemovable.js +2 -7
  206. package/src/components/chip/ChipSelectable.js +5 -10
  207. package/src/components/chip/chip-group.css +12 -2
  208. package/src/components/chip/chip.css +14 -3
  209. package/src/components/chip/exports.js +4 -10
  210. package/src/components/chip/leu-chip-group.js +5 -2
  211. package/src/components/chip/leu-chip-link.js +5 -2
  212. package/src/components/chip/leu-chip-removable.js +5 -2
  213. package/src/components/chip/leu-chip-selectable.js +5 -2
  214. package/src/components/chip/stories/chip-group.stories.js +110 -44
  215. package/src/components/chip/stories/chip-link.stories.js +16 -4
  216. package/src/components/chip/stories/chip-removable.stories.js +15 -4
  217. package/src/components/chip/stories/chip-selectable.stories.js +13 -3
  218. package/src/components/chip/test/chip-group.test.js +124 -0
  219. package/src/components/chip/test/chip-link.test.js +58 -0
  220. package/src/components/chip/test/chip-removable.test.js +79 -0
  221. package/src/components/chip/test/chip-selectable.test.js +95 -0
  222. package/src/components/chip/test/chip.test.js +1 -1
  223. package/src/components/dropdown/Dropdown.js +72 -24
  224. package/src/components/dropdown/dropdown.css +1 -2
  225. package/src/components/dropdown/leu-dropdown.js +5 -2
  226. package/src/components/dropdown/stories/dropdown.stories.js +11 -5
  227. package/src/components/dropdown/test/dropdown.test.js +6 -6
  228. package/src/components/icon/icon.js +1 -1
  229. package/src/components/icon/test/icon.test.js +66 -0
  230. package/src/components/input/Input.js +25 -28
  231. package/src/components/input/input.css +11 -8
  232. package/src/components/input/leu-input.js +5 -2
  233. package/src/components/input/stories/input.stories.js +21 -2
  234. package/src/components/input/test/input.test.js +432 -4
  235. package/src/components/menu/Menu.js +0 -5
  236. package/src/components/menu/MenuItem.js +20 -13
  237. package/src/components/menu/leu-menu-item.js +5 -2
  238. package/src/components/menu/leu-menu.js +5 -2
  239. package/src/components/menu/menu-item.css +7 -4
  240. package/src/components/menu/stories/menu-item.stories.js +13 -4
  241. package/src/components/menu/stories/menu.stories.js +11 -5
  242. package/src/components/menu/test/menu-item.test.js +180 -0
  243. package/src/components/menu/test/menu.test.js +10 -2
  244. package/src/components/pagination/Pagination.js +118 -99
  245. package/src/components/pagination/leu-pagination.js +5 -2
  246. package/src/components/pagination/pagination.css +6 -1
  247. package/src/components/pagination/stories/pagination.stories.js +30 -9
  248. package/src/components/pagination/test/pagination.test.js +191 -5
  249. package/src/components/popup/Popup.js +200 -0
  250. package/src/components/popup/leu-popup.js +6 -0
  251. package/src/components/popup/popup.css +27 -0
  252. package/src/components/popup/stories/popup.stories.js +58 -0
  253. package/src/components/popup/test/popup.test.js +29 -0
  254. package/src/components/radio/Radio.js +2 -6
  255. package/src/components/radio/RadioGroup.js +6 -38
  256. package/src/components/radio/leu-radio-group.js +5 -2
  257. package/src/components/radio/leu-radio.js +5 -2
  258. package/src/components/radio/radio-group.css +29 -0
  259. package/src/components/radio/radio.css +1 -1
  260. package/src/components/radio/stories/radio-group.stories.js +38 -19
  261. package/src/components/radio/stories/radio.stories.js +7 -1
  262. package/src/components/radio/test/radio-group.test.js +86 -0
  263. package/src/components/radio/test/radio.test.js +108 -17
  264. package/src/components/scroll-top/ScrollTop.js +87 -0
  265. package/src/components/scroll-top/leu-scroll-top.js +6 -0
  266. package/src/components/scroll-top/scroll-top.css +34 -0
  267. package/src/components/scroll-top/stories/scroll-top.stories.js +217 -0
  268. package/src/components/scroll-top/test/scroll-top.test.js +22 -0
  269. package/src/components/select/Select.js +58 -37
  270. package/src/components/select/leu-select.js +5 -2
  271. package/src/components/select/select.css +15 -15
  272. package/src/components/select/stories/select.stories.js +15 -168
  273. package/src/components/select/test/fixtures.js +162 -0
  274. package/src/components/select/test/select.test.js +236 -12
  275. package/src/components/table/Table.js +43 -118
  276. package/src/components/table/leu-table.js +5 -2
  277. package/src/components/table/stories/table.stories.js +20 -10
  278. package/src/components/table/table.css +99 -0
  279. package/src/components/table/test/table.test.js +1 -1
  280. package/src/components/visually-hidden/VisuallyHidden.js +13 -0
  281. package/src/components/visually-hidden/leu-visually-hidden.js +6 -0
  282. package/src/components/visually-hidden/stories/visually-hidden.stories.js +22 -0
  283. package/src/components/visually-hidden/test/visually-hidden.test.js +36 -0
  284. package/src/components/visually-hidden/visually-hidden.css +10 -0
  285. package/src/lib/defineElement.js +1 -1
  286. package/src/lib/hasSlotController.js +5 -3
  287. package/src/lib/utils.js +35 -0
  288. package/src/styles/custom-properties.css +6 -2
  289. package/src/styles/font-definitions.json +202 -0
  290. package/stylelint.config.mjs +2 -0
  291. package/tsconfig.build.json +21 -0
  292. package/tsconfig.json +16 -0
  293. package/{web-dev-server-storybook.config.mjs → web-dev-server.config.mjs} +1 -2
  294. package/web-test-runner.config.mjs +15 -2
  295. package/dist/index.js +0 -26
package/dist/Select.js CHANGED
@@ -1,85 +1,24 @@
1
- import { _ as _defineProperty, d as defineElement } from './defineElement-ba770aed.js';
1
+ import { _ as _defineProperty } from './_rollupPluginBabelHelpers-20f659f4.js';
2
2
  import { css, LitElement, html, nothing } from 'lit';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
  import { map } from 'lit/directives/map.js';
5
5
  import { ifDefined } from 'lit/directives/if-defined.js';
6
6
  import { createRef, ref } from 'lit/directives/ref.js';
7
7
  import { I as Icon } from './icon-03e86700.js';
8
- import { defineButtonElements } from './Button.js';
9
- import { defineMenuElements } from './Menu.js';
10
- import { defineMenuItemElements } from './MenuItem.js';
11
- import { defineInputElements } from './Input.js';
12
-
13
- /**
14
- * Thanks Shoelace!
15
- * Source: https://github.com/shoelace-style/shoelace/blob/next/src/internal/slot.ts
16
- */
17
-
18
- /**
19
- * A reactive controller that determines when slots exist.
20
- * @implements { import("lit").ReactiveController }
21
- */
22
- class HasSlotController {
23
- constructor(host, slotNames) {
24
- /**
25
- * @private
26
- * @param {Event} event
27
- */
28
- _defineProperty(this, "handleSlotChange", event => {
29
- const slot = event.target;
30
- if (this.slotNames.includes("[default]") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {
31
- this.host.requestUpdate();
32
- }
33
- });
34
- this.host = host;
35
- host.addController(this);
36
- this.slotNames = slotNames;
37
- }
38
-
39
- /**
40
- * @private
41
- * @returns {Boolean}
42
- */
43
- hasDefaultSlot() {
44
- return [...this.host.childNodes].some(node => {
45
- if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== "") {
46
- return true;
47
- }
48
- if (node.nodeType === node.ELEMENT_NODE) {
49
- const el = node;
50
-
51
- // If it doesn't have a slot attribute, it's part of the default slot
52
- if (!el.hasAttribute("slot")) {
53
- return true;
54
- }
55
- }
56
- return false;
57
- });
58
- }
59
-
60
- /**
61
- * @private
62
- * @param {String} name
63
- * @returns {Boolean}
64
- */
65
- hasNamedSlot(name) {
66
- return this.host.querySelector(`:scope > [slot="${name}"]`) !== null;
67
- }
68
-
69
- /**
70
- * @param {String} slotName
71
- * @returns {Boolean}
72
- */
73
- test(slotName) {
74
- return slotName === "[default]" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);
75
- }
76
- hostConnected() {
77
- this.host.shadowRoot.addEventListener("slotchange", this.handleSlotChange);
78
- }
79
- hostDisconnected() {
80
- this.host.shadowRoot.removeEventListener("slotchange", this.handleSlotChange);
81
- }
82
- }
8
+ import { H as HasSlotController } from './Button-da11d064.js';
9
+ import './leu-button.js';
10
+ import './leu-menu.js';
11
+ import './leu-menu-item.js';
12
+ import './leu-input.js';
13
+ import './leu-popup.js';
14
+ import './defineElement-40372b4b.js';
15
+ import './Menu.js';
16
+ import './MenuItem.js';
17
+ import 'lit/static-html.js';
18
+ import './Input.js';
19
+ import 'lit/directives/live.js';
20
+ import './Popup.js';
21
+ import '@floating-ui/dom';
83
22
 
84
23
  var css_248z = css`:host,
85
24
  :host * {
@@ -109,8 +48,8 @@ var css_248z = css`:host,
109
48
 
110
49
  --select-clear-color: var(--leu-color-black-60);
111
50
 
112
- --select-font-regular: var(--leu-font-regular);
113
- --select-font-black: var(--leu-font-black);
51
+ --select-font-regular: var(--leu-font-family-regular);
52
+ --select-font-black: var(--leu-font-family-black);
114
53
 
115
54
  --select-apply-button-color: var(--leu-color-black-100);
116
55
  --select-apply-button-color-focus: var(--leu-color-black-80);
@@ -122,7 +61,7 @@ var css_248z = css`:host,
122
61
  position: relative;
123
62
  display: block;
124
63
 
125
- font-family: var(--leu-font-regular);
64
+ font-family: var(--leu-font-family-regular);
126
65
 
127
66
  font-family: var(--select-font-regular);
128
67
  }
@@ -262,18 +201,22 @@ var css_248z = css`:host,
262
201
  }
263
202
 
264
203
  .select-menu-container {
265
- border-radius: 1px;
266
- position: absolute;
267
- left: 0;
204
+ position: static;
205
+ overflow: auto;
206
+
207
+ display: flex;
208
+ flex-direction: column;
209
+
268
210
  width: 100%;
269
- background-color: white;
270
- border: 0 solid black;
211
+ max-height: var(--auto-size-available-height);
212
+
271
213
  padding: 0;
272
214
  margin: 0;
273
- top: calc(100% + 2px);
274
- z-index: 10;
215
+
216
+ border: none;
217
+ border-radius: 1px;
218
+ background-color: white;
275
219
  box-shadow: var(--select-box-shadow-regular), var(--select-box-shadow-short);
276
- overflow: auto;
277
220
  }
278
221
 
279
222
  .select-menu {
@@ -281,11 +224,7 @@ var css_248z = css`:host,
281
224
  padding: 0;
282
225
  margin: 0;
283
226
  overflow: auto;
284
- max-height: 24rem;
285
- }
286
-
287
- .select-menu.multiple {
288
- max-height: 21rem;
227
+ max-height: 100%;
289
228
  }
290
229
 
291
230
  .before,
@@ -322,7 +261,7 @@ class LeuSelect extends LitElement {
322
261
  return {
323
262
  open: {
324
263
  type: Boolean,
325
- attribute: "open"
264
+ reflect: true
326
265
  },
327
266
  label: {
328
267
  type: String,
@@ -351,7 +290,6 @@ class LeuSelect extends LitElement {
351
290
  reflect: true
352
291
  },
353
292
  optionFilter: {
354
- type: String,
355
293
  state: true
356
294
  }
357
295
  };
@@ -376,7 +314,7 @@ class LeuSelect extends LitElement {
376
314
  * @param {MouseEvent} event
377
315
  */
378
316
  _defineProperty(this, "handleDocumentClick", event => {
379
- if (!this.contains(event.target) && this.open) {
317
+ if (event.target instanceof Node && !this.contains(event.target) && this.open) {
380
318
  this.closeDropdown();
381
319
  }
382
320
  });
@@ -390,9 +328,14 @@ class LeuSelect extends LitElement {
390
328
  }
391
329
  });
392
330
  this.open = false;
331
+ this.disabled = false;
332
+ this.open = false;
333
+ this.multiple = false;
393
334
  this.clearable = false;
335
+ this.filterable = false;
394
336
  this.value = [];
395
337
  this.options = [];
338
+ this.label = "";
396
339
 
397
340
  /** @internal */
398
341
  this._arrowIcon = Icon("angleDropDown");
@@ -405,8 +348,18 @@ class LeuSelect extends LitElement {
405
348
 
406
349
  /** @internal */
407
350
  this.deferedChangeEvent = false;
351
+
352
+ /**
353
+ * @type {import("lit/directives/ref").Ref<import("../menu/Menu").LeuMenu>}
354
+ */
408
355
  this.menuRef = createRef();
356
+ /**
357
+ * @type {import("lit/directives/ref").Ref<import("../input/Input").LeuInput>}
358
+ */
409
359
  this.optionFilterRef = createRef();
360
+ /**
361
+ * @type {import("lit/directives/ref").Ref<HTMLButtonElement>}
362
+ */
410
363
  this.toggleButtonRef = createRef();
411
364
  }
412
365
  connectedCallback() {
@@ -534,14 +487,15 @@ class LeuSelect extends LitElement {
534
487
  before=${ifDefined(beforeIcon)}
535
488
  @click=${() => this.selectOption(option)}
536
489
  role="option"
490
+ label=${LeuSelect.getOptionLabel(option)}
537
491
  ?active=${isSelected}
538
492
  aria-selected=${isSelected}
539
493
  >
540
- ${LeuSelect.getOptionLabel(option)}
541
494
  </leu-menu-item>`;
542
- }) : html`<leu-menu-item disabled
543
- >${this.optionFilter === "" ? "Keine Optionen" : "Keine Resultate"}</leu-menu-item
544
- >`}
495
+ }) : html`<leu-menu-item
496
+ label=${this.optionFilter === "" ? "Keine Optionen" : "Keine Resultate"}
497
+ disabled
498
+ ></leu-menu-item>`}
545
499
  </leu-menu>
546
500
  `;
547
501
  }
@@ -553,8 +507,8 @@ class LeuSelect extends LitElement {
553
507
  @input=${this.handleFilterInput}
554
508
  clearable
555
509
  ref=${ref(this.optionFilterRef)}
556
- >Nach Stichwort filtern</leu-input
557
- >`;
510
+ label="Nach Stichwort filtern"
511
+ ></leu-input>`;
558
512
  }
559
513
  return nothing;
560
514
  }
@@ -565,9 +519,9 @@ class LeuSelect extends LitElement {
565
519
  type="button"
566
520
  class="apply-button"
567
521
  @click=${this.handleApplyClick}
568
- label="Anwenden"
569
522
  fluid
570
- ></leu-button>
523
+ >Anwenden</leu-button
524
+ >
571
525
  `;
572
526
  }
573
527
  return nothing;
@@ -588,11 +542,12 @@ class LeuSelect extends LitElement {
588
542
  aria-expanded="${this.open}"
589
543
  role="combobox"
590
544
  ref=${ref(this.toggleButtonRef)}
545
+ slot="anchor"
591
546
  >
592
547
  <span class="label" id="select-label">${this.label}</span>
593
548
  <span class="value"> ${this.getDisplayValue(this.value)} </span>
594
549
  <span class="arrow-icon"> ${this._arrowIcon} </span>
595
- ${this.clearable && this.value !== "" && this.value.length !== 0 ? html`<button
550
+ ${this.clearable && this.value.length !== 0 ? html`<button
596
551
  type="button"
597
552
  class="clear-button"
598
553
  @click=${this.clearValue}
@@ -616,27 +571,29 @@ class LeuSelect extends LitElement {
616
571
  aria-labelledby="select-label"
617
572
  @keydown=${this.handleKeyDown}
618
573
  >
619
- ${this.renderToggleButton()}
620
- <dialog
621
- id="select-dialog"
622
- class="select-menu-container"
623
- ?open=${this.open}
574
+ <leu-popup
575
+ ?active=${this.open}
576
+ placement="bottom-start"
577
+ flip
578
+ matchSize="width"
579
+ autoSize="height"
580
+ autoSizePadding="8"
624
581
  >
625
- <slot name="before" class="before"></slot>
626
- ${this.renderFilterInput()} ${this.renderMenu()}
627
- ${this.renderApplyButton()}
628
- <slot name="after" class="after"></slot>
629
- </dialog>
582
+ ${this.renderToggleButton()}
583
+ <dialog
584
+ id="select-dialog"
585
+ class="select-menu-container"
586
+ ?open=${this.open}
587
+ >
588
+ <slot name="before" class="before"></slot>
589
+ ${this.renderFilterInput()} ${this.renderMenu()}
590
+ ${this.renderApplyButton()}
591
+ <slot name="after" class="after"></slot>
592
+ </dialog>
593
+ </leu-popup>
630
594
  </div> `;
631
595
  }
632
596
  }
633
597
  _defineProperty(LeuSelect, "styles", css_248z);
634
- function defineSelectElements() {
635
- defineButtonElements();
636
- defineMenuElements();
637
- defineMenuItemElements();
638
- defineInputElements();
639
- defineElement("select", LeuSelect);
640
- }
641
598
 
642
- export { LeuSelect, defineSelectElements };
599
+ export { LeuSelect };
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @tagname leu-table
3
+ */
4
+ export class LeuTable extends LitElement {
5
+ /** @type {array} */
6
+ columns: any[];
7
+ /** @type {array} */
8
+ data: any[];
9
+ /** @type {boolean} */
10
+ firstColumnSticky: boolean;
11
+ /** @type {number} */
12
+ itemsPerPage: number;
13
+ /** @type {number} */
14
+ sortIndex: number;
15
+ /** @type {boolean} */
16
+ sortOrderAsc: boolean;
17
+ /** @type {number} */
18
+ width: number;
19
+ /** @internal */
20
+ _sortArrowDown: import("lit-html").TemplateResult<1>;
21
+ /** @internal */
22
+ _sortArrowUp: import("lit-html").TemplateResult<1>;
23
+ /** @internal */
24
+ _shadowLeft: boolean;
25
+ /** @internal */
26
+ _shadowRight: boolean;
27
+ /** @internal */
28
+ _scrollRef: import("lit-html/directives/ref.js").Ref<Element>;
29
+ /** @internal */
30
+ _page: number;
31
+ _resizeObserver: ResizeObserver;
32
+ attributeChangedCallback(name: any, oldVal: any, newVal: any): void;
33
+ firstUpdated(): void;
34
+ shadowToggle(target: any): void;
35
+ scrollEvent(event: any): void;
36
+ isOnePropNotValid(): "Der Parameter 'columns' ist erforderlich !" | "Der Parameter 'data' ist erforderlich !";
37
+ isSorted(col: any): boolean;
38
+ sortClick(col: any): void;
39
+ sortOrder: string;
40
+ sortArrowIcon(): import("lit-html").TemplateResult<1>;
41
+ sortArrow(col: any): import("lit-html").TemplateResult<1>;
42
+ get _columns(): any[];
43
+ get _sortedData(): any[];
44
+ get _data(): any[];
45
+ render(): import("lit-html").TemplateResult<1>;
46
+ }
47
+ import { LitElement } from 'lit';
48
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["Table.js"],"names":[],"mappings":"AAsHA;;GAEG;AACH;IAGI,oBAAoB;IACpB,eAAiB;IACjB,oBAAoB;IACpB,YAAc;IACd,sBAAsB;IACtB,mBADW,OAAO,CACY;IAC9B,qBAAqB;IACrB,cADW,MAAM,CACO;IACxB,qBAAqB;IACrB,WADW,MAAM,CACI;IACrB,sBAAsB;IACtB,cADW,OAAO,CACO;IACzB,qBAAqB;IACrB,OADW,MAAM,CACA;IAEjB,gBAAgB;IAChB,qDAA2C;IAC3C,gBAAgB;IAChB,mDAAuC;IACvC,gBAAgB;IAChB,qBAAwB;IACxB,gBAAgB;IAChB,sBAAyB;IACzB,gBAAgB;IAChB,8DAA6B;IAE7B,gBAAgB;IAChB,cAAc;IACd,gCAEE;IAKJ,oEAKC;IACD,qBAGC;IACD,gCAGC;IACD,8BAEC;IACD,8GAQC;IACD,4BAEC;IACD,0BAQC;IAFG,kBAAsB;IAG1B,sDAEC;IACD,0DAEC;IACD,sBAEC;IACD,yBAMC;IACD,mBAEC;IACD,+CA6DC;CACF;2BArR8C,KAAK"}