@statistikzh/leu 0.16.0 → 0.18.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 (93) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +18 -0
  3. package/dist/Accordion.js +1 -1
  4. package/dist/Button.js +1 -1
  5. package/dist/ButtonGroup.js +1 -1
  6. package/dist/ChartWrapper.js +1 -1
  7. package/dist/Checkbox.js +1 -1
  8. package/dist/CheckboxGroup.js +1 -1
  9. package/dist/Chip.js +1 -1
  10. package/dist/ChipGroup.js +1 -1
  11. package/dist/ChipLink.js +1 -1
  12. package/dist/ChipRemovable.js +3 -1
  13. package/dist/ChipSelectable.js +1 -1
  14. package/dist/Dialog.js +3 -1
  15. package/dist/Dropdown.js +1 -1
  16. package/dist/Icon.d.ts +130 -2
  17. package/dist/Icon.js +96 -69
  18. package/dist/Input.js +3 -1
  19. package/dist/{LeuElement-C0BZ_nPB.js → LeuElement-DlQXnrk8.js} +1 -1
  20. package/dist/Menu.js +3 -1
  21. package/dist/MenuItem.js +3 -1
  22. package/dist/Message.js +1 -1
  23. package/dist/Pagination.js +1 -1
  24. package/dist/Placeholder.js +1 -1
  25. package/dist/Popup.js +1 -1
  26. package/dist/Radio.js +1 -1
  27. package/dist/RadioGroup.js +1 -1
  28. package/dist/Range.js +1 -1
  29. package/dist/ScrollTop.js +1 -1
  30. package/dist/Select.js +1 -1
  31. package/dist/Spinner.js +1 -1
  32. package/dist/Table.js +2 -2
  33. package/dist/Tag.d.ts +17 -0
  34. package/dist/Tag.js +75 -0
  35. package/dist/VisuallyHidden.js +1 -1
  36. package/dist/components/icon/Icon.d.ts +5 -2
  37. package/dist/components/icon/Icon.d.ts.map +1 -1
  38. package/dist/components/icon/paths.d.ts +48 -23
  39. package/dist/components/icon/paths.d.ts.map +1 -1
  40. package/dist/components/icon/stories/icon.stories.d.ts.map +1 -1
  41. package/dist/components/tag/Tag.d.ts +13 -0
  42. package/dist/components/tag/Tag.d.ts.map +1 -0
  43. package/dist/components/tag/leu-tag.d.ts +3 -0
  44. package/dist/components/tag/leu-tag.d.ts.map +1 -0
  45. package/dist/components/tag/stories/tag.stories.d.ts +136 -0
  46. package/dist/components/tag/stories/tag.stories.d.ts.map +1 -0
  47. package/dist/components/tag/test/tag.test.d.ts +2 -0
  48. package/dist/components/tag/test/tag.test.d.ts.map +1 -0
  49. package/dist/index.js +1 -1
  50. package/dist/leu-accordion.js +1 -1
  51. package/dist/leu-button-group.js +1 -1
  52. package/dist/leu-button.js +1 -1
  53. package/dist/leu-chart-wrapper.js +1 -1
  54. package/dist/leu-checkbox-group.js +1 -1
  55. package/dist/leu-checkbox.js +1 -1
  56. package/dist/leu-chip-group.js +1 -1
  57. package/dist/leu-chip-link.js +1 -1
  58. package/dist/leu-chip-removable.js +3 -1
  59. package/dist/leu-chip-selectable.js +1 -1
  60. package/dist/leu-dialog.js +3 -1
  61. package/dist/leu-dropdown.js +1 -1
  62. package/dist/leu-icon.js +3 -1
  63. package/dist/leu-input.js +3 -1
  64. package/dist/leu-menu-item.js +3 -1
  65. package/dist/leu-menu.js +3 -1
  66. package/dist/leu-message.js +1 -1
  67. package/dist/leu-pagination.js +1 -1
  68. package/dist/leu-placeholder.js +1 -1
  69. package/dist/leu-popup.js +1 -1
  70. package/dist/leu-radio-group.js +1 -1
  71. package/dist/leu-radio.js +1 -1
  72. package/dist/leu-range.js +1 -1
  73. package/dist/leu-scroll-top.js +1 -1
  74. package/dist/leu-select.js +1 -1
  75. package/dist/leu-spinner.js +1 -1
  76. package/dist/leu-table.js +3 -3
  77. package/dist/leu-tag.d.ts +4 -0
  78. package/dist/leu-tag.js +9 -0
  79. package/dist/leu-visually-hidden.js +1 -1
  80. package/dist/vscode.html-custom-data.json +21 -1
  81. package/dist/vue/index.d.ts +20 -0
  82. package/dist/web-types.json +30 -2
  83. package/package.json +1 -1
  84. package/src/components/icon/Icon.ts +7 -10
  85. package/src/components/icon/paths.ts +126 -77
  86. package/src/components/icon/stories/icon.stories.ts +5 -0
  87. package/src/components/icon/test/icon.test.ts +5 -4
  88. package/src/components/tag/Tag.ts +28 -0
  89. package/src/components/tag/leu-tag.ts +5 -0
  90. package/src/components/tag/stories/tag.stories.ts +107 -0
  91. package/src/components/tag/tag.css +42 -0
  92. package/src/components/tag/test/tag.test.ts +28 -0
  93. package/src/docs/theme.mdx +49 -2
@@ -2,7 +2,7 @@ import { LeuChartWrapper } from './ChartWrapper.js';
2
2
  import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/decorators.js';
5
- import './LeuElement-C0BZ_nPB.js';
5
+ import './LeuElement-DlQXnrk8.js';
6
6
  import './hasSlotController-Bm2tipvG.js';
7
7
  import './Spinner.js';
8
8
 
@@ -3,7 +3,7 @@ import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/directives/class-map.js';
5
5
  import 'lit/decorators.js';
6
- import './LeuElement-C0BZ_nPB.js';
6
+ import './LeuElement-DlQXnrk8.js';
7
7
  import './Checkbox.js';
8
8
  import './Icon.js';
9
9
 
@@ -2,7 +2,7 @@ import { LeuCheckbox } from './Checkbox.js';
2
2
  import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/decorators.js';
5
- import './LeuElement-C0BZ_nPB.js';
5
+ import './LeuElement-DlQXnrk8.js';
6
6
  import './Icon.js';
7
7
 
8
8
  LeuCheckbox.define("leu-checkbox");
@@ -1,6 +1,6 @@
1
1
  import { LeuChipGroup } from './ChipGroup.js';
2
2
  import 'lit/static-html.js';
3
- import './LeuElement-C0BZ_nPB.js';
3
+ import './LeuElement-DlQXnrk8.js';
4
4
  import 'lit';
5
5
 
6
6
  LeuChipGroup.define("leu-chip-group");
@@ -1,7 +1,7 @@
1
1
  import { LeuChipLink } from './ChipLink.js';
2
2
  import 'lit';
3
3
  import './Chip.js';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
 
6
6
  LeuChipLink.define("leu-chip-link");
7
7
 
@@ -1,8 +1,10 @@
1
1
  import { LeuChipRemovable } from './ChipRemovable.js';
2
2
  import 'lit';
3
3
  import './Chip.js';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
  import './Icon.js';
6
+ import './_tslib-CNEFicEt.js';
7
+ import 'lit/decorators.js';
6
8
 
7
9
  LeuChipRemovable.define("leu-chip-removable");
8
10
 
@@ -1,7 +1,7 @@
1
1
  import { LeuChipSelectable } from './ChipSelectable.js';
2
2
  import 'lit';
3
3
  import './Chip.js';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
 
6
6
  LeuChipSelectable.define("leu-chip-selectable");
7
7
 
@@ -2,9 +2,11 @@ import { LeuDialog } from './Dialog.js';
2
2
  import 'lit';
3
3
  import 'lit/directives/ref.js';
4
4
  import 'lit/directives/class-map.js';
5
- import './LeuElement-C0BZ_nPB.js';
5
+ import './LeuElement-DlQXnrk8.js';
6
6
  import './hasSlotController-Bm2tipvG.js';
7
7
  import './Icon.js';
8
+ import './_tslib-CNEFicEt.js';
9
+ import 'lit/decorators.js';
8
10
 
9
11
  LeuDialog.define("leu-dialog");
10
12
 
@@ -1,7 +1,7 @@
1
1
  import { LeuDropdown } from './Dropdown.js';
2
2
  import 'lit';
3
3
  import 'lit/directives/ref.js';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
  import './hasSlotController-Bm2tipvG.js';
6
6
  import './Button.js';
7
7
  import './_tslib-CNEFicEt.js';
package/dist/leu-icon.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { LeuIcon } from './Icon.js';
2
+ import './_tslib-CNEFicEt.js';
2
3
  import 'lit';
3
- import './LeuElement-C0BZ_nPB.js';
4
+ import 'lit/decorators.js';
5
+ import './LeuElement-DlQXnrk8.js';
4
6
 
5
7
  LeuIcon.define("leu-icon");
6
8
 
package/dist/leu-input.js CHANGED
@@ -4,8 +4,10 @@ import 'lit/directives/class-map.js';
4
4
  import 'lit/directives/if-defined.js';
5
5
  import 'lit/directives/live.js';
6
6
  import 'lit/directives/ref.js';
7
- import './LeuElement-C0BZ_nPB.js';
7
+ import './LeuElement-DlQXnrk8.js';
8
8
  import './Icon.js';
9
+ import './_tslib-CNEFicEt.js';
10
+ import 'lit/decorators.js';
9
11
 
10
12
  LeuInput.define("leu-input");
11
13
 
@@ -1,8 +1,10 @@
1
1
  import { LeuMenuItem } from './MenuItem.js';
2
2
  import 'lit';
3
3
  import 'lit/directives/if-defined.js';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
  import './Icon.js';
6
+ import './_tslib-CNEFicEt.js';
7
+ import 'lit/decorators.js';
6
8
 
7
9
  LeuMenuItem.define("leu-menu-item");
8
10
 
package/dist/leu-menu.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import { LeuMenu } from './Menu.js';
2
2
  import 'lit';
3
- import './LeuElement-C0BZ_nPB.js';
3
+ import './LeuElement-DlQXnrk8.js';
4
4
  import './MenuItem.js';
5
5
  import 'lit/directives/if-defined.js';
6
6
  import './Icon.js';
7
+ import './_tslib-CNEFicEt.js';
8
+ import 'lit/decorators.js';
7
9
 
8
10
  LeuMenu.define("leu-menu");
9
11
 
@@ -3,7 +3,7 @@ import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/decorators.js';
5
5
  import 'lit/directives/class-map.js';
6
- import './LeuElement-C0BZ_nPB.js';
6
+ import './LeuElement-DlQXnrk8.js';
7
7
  import './Icon.js';
8
8
  import './hasSlotController-Bm2tipvG.js';
9
9
 
@@ -3,7 +3,7 @@ import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/directives/live.js';
5
5
  import 'lit/decorators.js';
6
- import './LeuElement-C0BZ_nPB.js';
6
+ import './LeuElement-DlQXnrk8.js';
7
7
  import './Button.js';
8
8
  import 'lit/directives/class-map.js';
9
9
  import 'lit/directives/if-defined.js';
@@ -1,6 +1,6 @@
1
1
  import { LeuPlaceholder } from './Placeholder.js';
2
2
  import 'lit';
3
- import './LeuElement-C0BZ_nPB.js';
3
+ import './LeuElement-DlQXnrk8.js';
4
4
 
5
5
  LeuPlaceholder.define("leu-placeholder");
6
6
 
package/dist/leu-popup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { LeuPopup } from './Popup.js';
2
2
  import 'lit';
3
3
  import '@floating-ui/dom';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
 
6
6
  LeuPopup.define("leu-popup");
7
7
 
@@ -3,7 +3,7 @@ import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/directives/class-map.js';
5
5
  import 'lit/decorators.js';
6
- import './LeuElement-C0BZ_nPB.js';
6
+ import './LeuElement-DlQXnrk8.js';
7
7
  import './Radio.js';
8
8
 
9
9
  LeuRadioGroup.define("leu-radio-group");
package/dist/leu-radio.js CHANGED
@@ -2,7 +2,7 @@ import { LeuRadio } from './Radio.js';
2
2
  import './_tslib-CNEFicEt.js';
3
3
  import 'lit';
4
4
  import 'lit/decorators.js';
5
- import './LeuElement-C0BZ_nPB.js';
5
+ import './LeuElement-DlQXnrk8.js';
6
6
 
7
7
  LeuRadio.define("leu-radio");
8
8
 
package/dist/leu-range.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { LeuRange } from './Range.js';
2
2
  import 'lit';
3
- import './LeuElement-C0BZ_nPB.js';
3
+ import './LeuElement-DlQXnrk8.js';
4
4
 
5
5
  LeuRange.define("leu-range");
6
6
 
@@ -1,7 +1,7 @@
1
1
  import { LeuScrollTop } from './ScrollTop.js';
2
2
  import 'lit';
3
3
  import 'lit/directives/class-map.js';
4
- import './LeuElement-C0BZ_nPB.js';
4
+ import './LeuElement-DlQXnrk8.js';
5
5
  import './Button.js';
6
6
  import './_tslib-CNEFicEt.js';
7
7
  import 'lit/directives/if-defined.js';
@@ -3,7 +3,7 @@ import 'lit';
3
3
  import 'lit/directives/class-map.js';
4
4
  import 'lit/directives/ref.js';
5
5
  import 'lit/directives/if-defined.js';
6
- import './LeuElement-C0BZ_nPB.js';
6
+ import './LeuElement-DlQXnrk8.js';
7
7
  import './hasSlotController-Bm2tipvG.js';
8
8
  import './Button.js';
9
9
  import './_tslib-CNEFicEt.js';
@@ -1,6 +1,6 @@
1
1
  import { LeuSpinner } from './Spinner.js';
2
2
  import 'lit';
3
- import './LeuElement-C0BZ_nPB.js';
3
+ import './LeuElement-DlQXnrk8.js';
4
4
 
5
5
  LeuSpinner.define("leu-spinner");
6
6
 
package/dist/leu-table.js CHANGED
@@ -3,12 +3,12 @@ import 'lit';
3
3
  import 'lit/directives/class-map.js';
4
4
  import 'lit/directives/style-map.js';
5
5
  import 'lit/directives/ref.js';
6
- import './LeuElement-C0BZ_nPB.js';
6
+ import './LeuElement-DlQXnrk8.js';
7
7
  import './Icon.js';
8
- import './Pagination.js';
9
8
  import './_tslib-CNEFicEt.js';
10
- import 'lit/directives/live.js';
11
9
  import 'lit/decorators.js';
10
+ import './Pagination.js';
11
+ import 'lit/directives/live.js';
12
12
  import './Button.js';
13
13
  import 'lit/directives/if-defined.js';
14
14
  import './hasSlotController-Bm2tipvG.js';
@@ -0,0 +1,4 @@
1
+ export { LeuTag } from './Tag.js';
2
+ import 'lit-html';
3
+ import 'lit';
4
+ import './LeuElement.d-BevHqLUu.js';
@@ -0,0 +1,9 @@
1
+ import { LeuTag } from './Tag.js';
2
+ import './_tslib-CNEFicEt.js';
3
+ import 'lit';
4
+ import 'lit/decorators.js';
5
+ import './LeuElement-DlQXnrk8.js';
6
+
7
+ LeuTag.define("leu-tag");
8
+
9
+ export { LeuTag };
@@ -1,6 +1,6 @@
1
1
  import { LeuVisuallyHidden } from './VisuallyHidden.js';
2
2
  import 'lit';
3
- import './LeuElement-C0BZ_nPB.js';
3
+ import './LeuElement-DlQXnrk8.js';
4
4
 
5
5
  LeuVisuallyHidden.define("leu-visually-hidden");
6
6
 
@@ -304,7 +304,7 @@
304
304
  {
305
305
  "name": "name",
306
306
  "description": "The name of the icon to display.",
307
- "values": [{ "name": "IconPathName" }]
307
+ "values": [{ "name": "IconPathName" }, { "name": "\"\"" }]
308
308
  }
309
309
  ],
310
310
  "references": [
@@ -754,6 +754,26 @@
754
754
  }
755
755
  ]
756
756
  },
757
+ {
758
+ "name": "leu-tag",
759
+ "description": "\n---\n\n\n### **Slots:**\n - **default** - The label of the tag\n- **icon** - An icon to display in the tag\n\n### **CSS Properties:**\n - **--leu-tag-accent-color** - The color of the tag _(default: undefined)_",
760
+ "attributes": [
761
+ {
762
+ "name": "variant",
763
+ "values": [
764
+ { "name": "solid" },
765
+ { "name": "outline" },
766
+ { "name": "ghost" }
767
+ ]
768
+ }
769
+ ],
770
+ "references": [
771
+ {
772
+ "name": "Documentation",
773
+ "url": "https://statistikzh.github.io/leu/?path=/story/tag"
774
+ }
775
+ ]
776
+ },
757
777
  {
758
778
  "name": "leu-visually-hidden",
759
779
  "description": "\n---\n",
@@ -27,6 +27,7 @@ import type { LeuScrollTop } from "../ScrollTop.js";
27
27
  import type { LeuSelect } from "../Select.js";
28
28
  import type { LeuSpinner } from "../Spinner.js";
29
29
  import type { LeuTable } from "../Table.js";
30
+ import type { LeuTag } from "../Tag.js";
30
31
  import type { LeuVisuallyHidden } from "../VisuallyHidden.js";
31
32
 
32
33
  type LeuAccordionProps = {
@@ -449,6 +450,11 @@ type LeuTableProps = {
449
450
  _resizeObserver?: LeuTable["_resizeObserver"];
450
451
  };
451
452
 
453
+ type LeuTagProps = {
454
+ /** */
455
+ variant?: LeuTag["variant"];
456
+ };
457
+
452
458
  type LeuVisuallyHiddenProps = {};
453
459
 
454
460
  export type CustomElements = {
@@ -759,6 +765,20 @@ export type CustomElements = {
759
765
  */
760
766
  "leu-table": DefineComponent<LeuTableProps>;
761
767
 
768
+ /**
769
+ *
770
+ * ---
771
+ *
772
+ *
773
+ * ### **Slots:**
774
+ * - **default** - The label of the tag
775
+ * - **icon** - An icon to display in the tag
776
+ *
777
+ * ### **CSS Properties:**
778
+ * - **--leu-tag-accent-color** - The color of the tag _(default: undefined)_
779
+ */
780
+ "leu-tag": DefineComponent<LeuTagProps>;
781
+
762
782
  /**
763
783
  *
764
784
  * ---
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@statistikzh/leu",
4
- "version": "0.16.0",
4
+ "version": "0.18.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -603,7 +603,7 @@
603
603
  {
604
604
  "name": "name",
605
605
  "description": "The name of the icon to display.",
606
- "value": { "type": "IconPathName", "default": "\"\"" }
606
+ "value": { "type": "IconPathName | \"\"", "default": "\"\"" }
607
607
  }
608
608
  ],
609
609
  "events": [],
@@ -1514,6 +1514,34 @@
1514
1514
  "events": []
1515
1515
  }
1516
1516
  },
1517
+ {
1518
+ "name": "leu-tag",
1519
+ "description": "\n---\n\n\n### **Slots:**\n - **default** - The label of the tag\n- **icon** - An icon to display in the tag\n\n### **CSS Properties:**\n - **--leu-tag-accent-color** - The color of the tag _(default: undefined)_",
1520
+ "doc-url": "",
1521
+ "attributes": [
1522
+ {
1523
+ "name": "variant",
1524
+ "value": {
1525
+ "type": "\"solid\" | \"outline\" | \"ghost\"",
1526
+ "default": "\"solid\""
1527
+ }
1528
+ }
1529
+ ],
1530
+ "slots": [
1531
+ { "name": "default", "description": "The label of the tag" },
1532
+ { "name": "icon", "description": "An icon to display in the tag" }
1533
+ ],
1534
+ "events": [],
1535
+ "js": {
1536
+ "properties": [
1537
+ {
1538
+ "name": "variant",
1539
+ "type": "\"solid\" | \"outline\" | \"ghost\""
1540
+ }
1541
+ ],
1542
+ "events": []
1543
+ }
1544
+ },
1517
1545
  {
1518
1546
  "name": "leu-visually-hidden",
1519
1547
  "description": "\n---\n",
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "UI component library of the canton of zurich",
4
4
  "license": "MIT",
5
5
  "author": "statistikzh",
6
- "version": "0.16.0",
6
+ "version": "0.18.0",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
9
  "module": "dist/index.js",
@@ -1,9 +1,10 @@
1
1
  import { html, svg } from "lit"
2
+ import { property } from "lit/decorators.js"
2
3
 
3
4
  import { LeuElement } from "../../lib/LeuElement.js"
4
5
 
5
6
  import styles from "./icon.css"
6
- import { paths } from "./paths.js"
7
+ import { paths, IconPathName } from "./paths.js"
7
8
 
8
9
  /**
9
10
  * A component to render all defined zhWeb icons.
@@ -12,7 +13,6 @@ import { paths } from "./paths.js"
12
13
  * If the icon name is not found, a placeholder will be displayed.
13
14
  *
14
15
  * @tagname leu-icon
15
- * @prop {import("./paths").IconPathName} name - The name of the icon to display.
16
16
  * @cssprop --leu-icon-size - The size of the icon.
17
17
  */
18
18
  export class LeuIcon extends LeuElement {
@@ -22,14 +22,11 @@ export class LeuIcon extends LeuElement {
22
22
  name: { type: String, reflect: true },
23
23
  }
24
24
 
25
- constructor() {
26
- super()
27
-
28
- /**
29
- * @type {import("./paths").IconPathName | ""}
30
- */
31
- this.name = ""
32
- }
25
+ /**
26
+ * The name of the icon to display.
27
+ */
28
+ @property({ type: String, reflect: true })
29
+ name: IconPathName | "" = ""
33
30
 
34
31
  render() {
35
32
  if (!paths[this.name]) {