@synergy-design-system/components 1.0.2 → 1.2.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 (121) hide show
  1. package/README.md +24 -16
  2. package/dist/chunks/chunk.2FN5DTS6.js +67 -0
  3. package/dist/chunks/chunk.2FN5DTS6.js.map +7 -0
  4. package/dist/chunks/{chunk.SUNIN43Y.js → chunk.2OYZUDFV.js} +2 -2
  5. package/dist/chunks/{chunk.XVJVR3MD.js → chunk.3CSVGX3J.js} +3 -3
  6. package/dist/chunks/{chunk.B7KNRAHG.js → chunk.44U5VKNJ.js} +3 -3
  7. package/dist/chunks/{chunk.JVSVQG6I.js → chunk.4EWYZIJS.js} +2 -2
  8. package/dist/chunks/{chunk.FJGYV3Y3.js → chunk.4EXY5F5M.js} +2 -2
  9. package/dist/chunks/{chunk.4XAK6MOQ.js → chunk.6PFQSQLU.js} +2 -2
  10. package/dist/chunks/chunk.7W73A57K.js +108 -0
  11. package/dist/chunks/chunk.7W73A57K.js.map +7 -0
  12. package/dist/chunks/{chunk.3NY33MCF.js → chunk.ADE7GDYK.js} +3 -3
  13. package/dist/chunks/{chunk.U2NJG6GX.js → chunk.AFVZYX7H.js} +2 -2
  14. package/dist/chunks/chunk.CAIB544F.js +12 -0
  15. package/dist/chunks/chunk.CAIB544F.js.map +7 -0
  16. package/dist/chunks/{chunk.MB5S3IM7.js → chunk.CB2M3AVU.js} +2 -2
  17. package/dist/chunks/{chunk.W5GPJ6ZR.js → chunk.D5YL3H6T.js} +2 -2
  18. package/dist/chunks/{chunk.D7KU5L75.js → chunk.E2TU3YYJ.js} +2 -2
  19. package/dist/chunks/{chunk.GNAJOKCJ.js → chunk.EJXWL3JM.js} +4 -2
  20. package/dist/chunks/{chunk.GNAJOKCJ.js.map → chunk.EJXWL3JM.js.map} +2 -2
  21. package/dist/chunks/chunk.ESQOUQV3.js +75 -0
  22. package/dist/chunks/chunk.ESQOUQV3.js.map +7 -0
  23. package/dist/chunks/{chunk.IFPM2NRM.js → chunk.FHYBGERU.js} +2 -2
  24. package/dist/chunks/{chunk.M5DMOLZK.js → chunk.JRAW7QJL.js} +2 -2
  25. package/dist/chunks/chunk.L6I5ZLBO.js +137 -0
  26. package/dist/chunks/chunk.L6I5ZLBO.js.map +7 -0
  27. package/dist/chunks/{chunk.WVYTLFNV.js → chunk.MJC7VLA2.js} +2 -2
  28. package/dist/chunks/{chunk.P3O63FHH.js → chunk.MUP4GIQL.js} +2 -2
  29. package/dist/chunks/{chunk.HZERAHZP.js → chunk.NRA7I7QC.js} +7 -7
  30. package/dist/chunks/chunk.OJF7KL44.js +67 -0
  31. package/dist/chunks/chunk.OJF7KL44.js.map +7 -0
  32. package/dist/chunks/{chunk.5SKPG6DM.js → chunk.Q7NHWXSL.js} +2 -2
  33. package/dist/chunks/chunk.QHFGD6WW.js +73 -0
  34. package/dist/chunks/chunk.QHFGD6WW.js.map +7 -0
  35. package/dist/chunks/{chunk.U7R4EV7C.js → chunk.RG4Z2I6D.js} +6 -6
  36. package/dist/chunks/{chunk.PHG2CETE.js → chunk.RKQHPBKM.js} +3 -3
  37. package/dist/chunks/{chunk.DUAFHNTR.js → chunk.SEHRSICV.js} +2 -2
  38. package/dist/chunks/{chunk.MUOAKBT3.js → chunk.SPPBO7QV.js} +2 -2
  39. package/dist/chunks/{chunk.MUOAKBT3.js.map → chunk.SPPBO7QV.js.map} +1 -1
  40. package/dist/chunks/{chunk.7MTLFTYG.js → chunk.TACOOH3N.js} +2 -2
  41. package/dist/chunks/chunk.VTYPMAXM.js +12 -0
  42. package/dist/chunks/chunk.VTYPMAXM.js.map +7 -0
  43. package/dist/chunks/{chunk.G3EPLUES.js → chunk.ZGZ7W6BC.js} +2 -2
  44. package/dist/components/button/button.component.js +7 -7
  45. package/dist/components/button/button.js +8 -8
  46. package/dist/components/button-group/button-group.component.js +2 -2
  47. package/dist/components/button-group/button-group.js +3 -3
  48. package/dist/components/checkbox/checkbox.component.js +5 -5
  49. package/dist/components/checkbox/checkbox.js +6 -6
  50. package/dist/components/icon/icon.component.js +4 -4
  51. package/dist/components/icon/icon.js +5 -5
  52. package/dist/components/icon/library.js +2 -2
  53. package/dist/components/icon/library.system.js +1 -1
  54. package/dist/components/icon-button/icon-button.component.d.ts +63 -0
  55. package/dist/components/icon-button/icon-button.component.js +20 -0
  56. package/dist/components/icon-button/icon-button.component.js.map +7 -0
  57. package/dist/components/icon-button/icon-button.custom.styles.d.ts +2 -0
  58. package/dist/components/icon-button/icon-button.custom.styles.js +8 -0
  59. package/dist/components/icon-button/icon-button.custom.styles.js.map +7 -0
  60. package/dist/components/icon-button/icon-button.d.ts +8 -0
  61. package/dist/components/icon-button/icon-button.js +21 -0
  62. package/dist/components/icon-button/icon-button.js.map +7 -0
  63. package/dist/components/icon-button/icon-button.styles.d.ts +2 -0
  64. package/dist/components/icon-button/icon-button.styles.js +10 -0
  65. package/dist/components/icon-button/icon-button.styles.js.map +7 -0
  66. package/dist/components/input/input.component.js +6 -6
  67. package/dist/components/input/input.js +7 -7
  68. package/dist/components/radio/radio.component.js +5 -5
  69. package/dist/components/radio/radio.js +6 -6
  70. package/dist/components/radio-button/radio-button.component.js +2 -2
  71. package/dist/components/radio-button/radio-button.js +3 -3
  72. package/dist/components/radio-group/radio-group.component.js +3 -3
  73. package/dist/components/radio-group/radio-group.js +4 -4
  74. package/dist/components/spinner/spinner.component.js +2 -2
  75. package/dist/components/switch/switch.component.js +2 -2
  76. package/dist/components/switch/switch.js +3 -3
  77. package/dist/components/tag/tag.component.d.ts +33 -0
  78. package/dist/components/tag/tag.component.js +25 -0
  79. package/dist/components/tag/tag.component.js.map +7 -0
  80. package/dist/components/tag/tag.custom.styles.d.ts +2 -0
  81. package/dist/components/tag/tag.custom.styles.js +8 -0
  82. package/dist/components/tag/tag.custom.styles.js.map +7 -0
  83. package/dist/components/tag/tag.d.ts +8 -0
  84. package/dist/components/tag/tag.js +26 -0
  85. package/dist/components/tag/tag.js.map +7 -0
  86. package/dist/components/tag/tag.styles.d.ts +2 -0
  87. package/dist/components/tag/tag.styles.js +10 -0
  88. package/dist/components/tag/tag.styles.js.map +7 -0
  89. package/dist/components/textarea/textarea.component.js +2 -2
  90. package/dist/components/textarea/textarea.js +3 -3
  91. package/dist/custom-elements.json +629 -184
  92. package/dist/events/events.d.ts +1 -0
  93. package/dist/events/syn-remove.d.ts +6 -0
  94. package/dist/synergy.d.ts +2 -0
  95. package/dist/synergy.js +47 -33
  96. package/dist/utilities/icon-library.js +2 -2
  97. package/dist/vscode.html-custom-data.json +119 -17
  98. package/dist/web-types.json +218 -30
  99. package/package.json +14 -13
  100. /package/dist/chunks/{chunk.SUNIN43Y.js.map → chunk.2OYZUDFV.js.map} +0 -0
  101. /package/dist/chunks/{chunk.XVJVR3MD.js.map → chunk.3CSVGX3J.js.map} +0 -0
  102. /package/dist/chunks/{chunk.B7KNRAHG.js.map → chunk.44U5VKNJ.js.map} +0 -0
  103. /package/dist/chunks/{chunk.JVSVQG6I.js.map → chunk.4EWYZIJS.js.map} +0 -0
  104. /package/dist/chunks/{chunk.FJGYV3Y3.js.map → chunk.4EXY5F5M.js.map} +0 -0
  105. /package/dist/chunks/{chunk.4XAK6MOQ.js.map → chunk.6PFQSQLU.js.map} +0 -0
  106. /package/dist/chunks/{chunk.3NY33MCF.js.map → chunk.ADE7GDYK.js.map} +0 -0
  107. /package/dist/chunks/{chunk.U2NJG6GX.js.map → chunk.AFVZYX7H.js.map} +0 -0
  108. /package/dist/chunks/{chunk.MB5S3IM7.js.map → chunk.CB2M3AVU.js.map} +0 -0
  109. /package/dist/chunks/{chunk.W5GPJ6ZR.js.map → chunk.D5YL3H6T.js.map} +0 -0
  110. /package/dist/chunks/{chunk.D7KU5L75.js.map → chunk.E2TU3YYJ.js.map} +0 -0
  111. /package/dist/chunks/{chunk.IFPM2NRM.js.map → chunk.FHYBGERU.js.map} +0 -0
  112. /package/dist/chunks/{chunk.M5DMOLZK.js.map → chunk.JRAW7QJL.js.map} +0 -0
  113. /package/dist/chunks/{chunk.WVYTLFNV.js.map → chunk.MJC7VLA2.js.map} +0 -0
  114. /package/dist/chunks/{chunk.P3O63FHH.js.map → chunk.MUP4GIQL.js.map} +0 -0
  115. /package/dist/chunks/{chunk.HZERAHZP.js.map → chunk.NRA7I7QC.js.map} +0 -0
  116. /package/dist/chunks/{chunk.5SKPG6DM.js.map → chunk.Q7NHWXSL.js.map} +0 -0
  117. /package/dist/chunks/{chunk.U7R4EV7C.js.map → chunk.RG4Z2I6D.js.map} +0 -0
  118. /package/dist/chunks/{chunk.PHG2CETE.js.map → chunk.RKQHPBKM.js.map} +0 -0
  119. /package/dist/chunks/{chunk.DUAFHNTR.js.map → chunk.SEHRSICV.js.map} +0 -0
  120. /package/dist/chunks/{chunk.7MTLFTYG.js.map → chunk.TACOOH3N.js.map} +0 -0
  121. /package/dist/chunks/{chunk.G3EPLUES.js.map → chunk.ZGZ7W6BC.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynInput
3
- } from "./chunk.U7R4EV7C.js";
3
+ } from "./chunk.RG4Z2I6D.js";
4
4
 
5
5
  // src/components/input/input.ts
6
6
  var input_default = SynInput;
@@ -9,4 +9,4 @@ SynInput.define("syn-input");
9
9
  export {
10
10
  input_default
11
11
  };
12
- //# sourceMappingURL=chunk.M5DMOLZK.js.map
12
+ //# sourceMappingURL=chunk.JRAW7QJL.js.map
@@ -0,0 +1,137 @@
1
+ import {
2
+ icon_button_styles_default
3
+ } from "./chunk.2FN5DTS6.js";
4
+ import {
5
+ SynIcon
6
+ } from "./chunk.RKQHPBKM.js";
7
+ import {
8
+ SynergyElement
9
+ } from "./chunk.SPPBO7QV.js";
10
+ import {
11
+ __decorateClass
12
+ } from "./chunk.DJOAQ4JU.js";
13
+
14
+ // src/components/icon-button/icon-button.component.ts
15
+ import { classMap } from "lit/directives/class-map.js";
16
+ import { html, literal } from "lit/static-html.js";
17
+ import { ifDefined } from "lit/directives/if-defined.js";
18
+ import { property, query, state } from "lit/decorators.js";
19
+ var SynIconButton = class extends SynergyElement {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.hasFocus = false;
23
+ this.label = "";
24
+ this.size = "inherit";
25
+ this.color = "currentColor";
26
+ this.disabled = false;
27
+ }
28
+ handleBlur() {
29
+ this.hasFocus = false;
30
+ this.emit("syn-blur");
31
+ }
32
+ handleFocus() {
33
+ this.hasFocus = true;
34
+ this.emit("syn-focus");
35
+ }
36
+ handleClick(event) {
37
+ if (this.disabled) {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ }
41
+ }
42
+ /** Simulates a click on the icon button. */
43
+ click() {
44
+ this.button.click();
45
+ }
46
+ /** Sets focus on the icon button. */
47
+ focus(options) {
48
+ this.button.focus(options);
49
+ }
50
+ /** Removes focus from the icon button. */
51
+ blur() {
52
+ this.button.blur();
53
+ }
54
+ render() {
55
+ const isLink = this.href ? true : false;
56
+ const tag = isLink ? literal`a` : literal`button`;
57
+ return html`
58
+ <${tag}
59
+ part="base"
60
+ class=${classMap({
61
+ "icon-button": true,
62
+ "icon-button--disabled": !isLink && this.disabled,
63
+ "icon-button--focused": this.hasFocus,
64
+ "icon-button--small": this.size === "small",
65
+ "icon-button--medium": this.size === "medium",
66
+ "icon-button--large": this.size === "large",
67
+ "icon-button--primary": this.color === "primary",
68
+ "icon-button--neutral": this.color === "neutral"
69
+ })}
70
+ ?disabled=${ifDefined(isLink ? void 0 : this.disabled)}
71
+ type=${ifDefined(isLink ? void 0 : "button")}
72
+ href=${ifDefined(isLink ? this.href : void 0)}
73
+ target=${ifDefined(isLink ? this.target : void 0)}
74
+ download=${ifDefined(isLink ? this.download : void 0)}
75
+ rel=${ifDefined(isLink && this.target ? "noreferrer noopener" : void 0)}
76
+ role=${ifDefined(isLink ? void 0 : "button")}
77
+ aria-disabled=${this.disabled ? "true" : "false"}
78
+ aria-label="${this.label}"
79
+ tabindex=${this.disabled ? "-1" : "0"}
80
+ @blur=${this.handleBlur}
81
+ @focus=${this.handleFocus}
82
+ @click=${this.handleClick}
83
+ >
84
+ <syn-icon
85
+ class="icon-button__icon"
86
+ name=${ifDefined(this.name)}
87
+ library=${ifDefined(this.library)}
88
+ src=${ifDefined(this.src)}
89
+ aria-hidden="true"
90
+ ></syn-icon>
91
+ </${tag}>
92
+ `;
93
+ }
94
+ };
95
+ SynIconButton.styles = icon_button_styles_default;
96
+ SynIconButton.dependencies = { "syn-icon": SynIcon };
97
+ __decorateClass([
98
+ query(".icon-button")
99
+ ], SynIconButton.prototype, "button", 2);
100
+ __decorateClass([
101
+ state()
102
+ ], SynIconButton.prototype, "hasFocus", 2);
103
+ __decorateClass([
104
+ property()
105
+ ], SynIconButton.prototype, "name", 2);
106
+ __decorateClass([
107
+ property()
108
+ ], SynIconButton.prototype, "library", 2);
109
+ __decorateClass([
110
+ property()
111
+ ], SynIconButton.prototype, "src", 2);
112
+ __decorateClass([
113
+ property()
114
+ ], SynIconButton.prototype, "href", 2);
115
+ __decorateClass([
116
+ property()
117
+ ], SynIconButton.prototype, "target", 2);
118
+ __decorateClass([
119
+ property()
120
+ ], SynIconButton.prototype, "download", 2);
121
+ __decorateClass([
122
+ property()
123
+ ], SynIconButton.prototype, "label", 2);
124
+ __decorateClass([
125
+ property({ reflect: true })
126
+ ], SynIconButton.prototype, "size", 2);
127
+ __decorateClass([
128
+ property({ reflect: true })
129
+ ], SynIconButton.prototype, "color", 2);
130
+ __decorateClass([
131
+ property({ type: Boolean, reflect: true })
132
+ ], SynIconButton.prototype, "disabled", 2);
133
+
134
+ export {
135
+ SynIconButton
136
+ };
137
+ //# sourceMappingURL=chunk.L6I5ZLBO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/icon-button/icon-button.component.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html, literal } from 'lit/static-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIcon from '../icon/icon.component.js';\nimport styles from './icon-button.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.\n * @documentation https://synergy.style/components/icon-button\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @event syn-blur - Emitted when the icon button loses focus.\n * @event syn-focus - Emitted when the icon button gains focus.\n *\n * @csspart base - The component's base wrapper.\n */\nexport default class SynIconButton extends SynergyElement {\n static styles: CSSResultGroup = styles;\n static dependencies = { 'syn-icon': SynIcon };\n\n @query('.icon-button') button: HTMLButtonElement | HTMLLinkElement;\n\n @state() private hasFocus = false;\n\n /** The name of the icon to draw. Available names depend on the icon library being used. */\n @property() name?: string;\n\n /** The name of a registered custom icon library. */\n @property() library?: string;\n\n /**\n * An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\n * can result in XSS attacks.\n */\n @property() src?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`. */\n @property() href?: string;\n\n /** Tells the browser where to open the link. Only used when `href` is set. */\n @property() target?: '_blank' | '_parent' | '_self' | '_top';\n\n /** Tells the browser to download the linked file as this filename. Only used when `href` is set. */\n @property() download?: string;\n\n /**\n * A description that gets read by assistive devices. For optimal accessibility, you should always include a label\n * that describes what the icon button does.\n */\n @property() label = '';\n\n /** The icon button's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' | 'inherit' = 'inherit';\n\n /**\n * The color of the icon button.\n * The default \"currentColor\" makes it possible to easily style the icon button from outside without any CSS variables.\n */\n @property({ reflect: true }) color: 'currentColor' | 'primary' | 'neutral' = 'currentColor';\n\n /** Disables the button. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleClick(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /** Simulates a click on the icon button. */\n click() {\n this.button.click();\n }\n\n /** Sets focus on the icon button. */\n focus(options?: FocusOptions) {\n this.button.focus(options);\n }\n\n /** Removes focus from the icon button. */\n blur() {\n this.button.blur();\n }\n\n render() {\n const isLink = this.href ? true : false;\n const tag = isLink ? literal`a` : literal`button`;\n\n /* eslint-disable lit/binding-positions, lit/no-invalid-html */\n return html`\n <${tag}\n part=\"base\"\n class=${classMap({\n 'icon-button': true,\n 'icon-button--disabled': !isLink && this.disabled,\n 'icon-button--focused': this.hasFocus,\n 'icon-button--small': this.size === 'small',\n 'icon-button--medium': this.size === 'medium',\n 'icon-button--large': this.size === 'large',\n 'icon-button--primary': this.color === 'primary',\n 'icon-button--neutral': this.color === 'neutral'\n })}\n ?disabled=${ifDefined(isLink ? undefined : this.disabled)}\n type=${ifDefined(isLink ? undefined : 'button')}\n href=${ifDefined(isLink ? this.href : undefined)}\n target=${ifDefined(isLink ? this.target : undefined)}\n download=${ifDefined(isLink ? this.download : undefined)}\n rel=${ifDefined(isLink && this.target ? 'noreferrer noopener' : undefined)}\n role=${ifDefined(isLink ? undefined : 'button')}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-label=\"${this.label}\"\n tabindex=${this.disabled ? '-1' : '0'}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n >\n <syn-icon\n class=\"icon-button__icon\"\n name=${ifDefined(this.name)}\n library=${ifDefined(this.library)}\n src=${ifDefined(this.src)}\n aria-hidden=\"true\"\n ></syn-icon>\n </${tag}>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRadioButton
3
- } from "./chunk.MB5S3IM7.js";
3
+ } from "./chunk.CB2M3AVU.js";
4
4
 
5
5
  // src/components/radio-button/radio-button.ts
6
6
  var radio_button_default = SynRadioButton;
@@ -9,4 +9,4 @@ SynRadioButton.define("syn-radio-button");
9
9
  export {
10
10
  radio_button_default
11
11
  };
12
- //# sourceMappingURL=chunk.WVYTLFNV.js.map
12
+ //# sourceMappingURL=chunk.MJC7VLA2.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynButton
3
- } from "./chunk.HZERAHZP.js";
3
+ } from "./chunk.NRA7I7QC.js";
4
4
 
5
5
  // src/components/button/button.ts
6
6
  var button_default = SynButton;
@@ -9,4 +9,4 @@ SynButton.define("syn-button");
9
9
  export {
10
10
  button_default
11
11
  };
12
- //# sourceMappingURL=chunk.P3O63FHH.js.map
12
+ //# sourceMappingURL=chunk.MUP4GIQL.js.map
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  SynSpinner
3
- } from "./chunk.IFPM2NRM.js";
4
- import {
5
- LocalizeController
6
- } from "./chunk.R6VNLE6N.js";
3
+ } from "./chunk.FHYBGERU.js";
7
4
  import {
8
5
  HasSlotController
9
6
  } from "./chunk.XGXFE6IF.js";
7
+ import {
8
+ LocalizeController
9
+ } from "./chunk.R6VNLE6N.js";
10
10
  import {
11
11
  FormControlController,
12
12
  validValidityState
13
13
  } from "./chunk.P2LNG2PZ.js";
14
14
  import {
15
15
  SynIcon
16
- } from "./chunk.PHG2CETE.js";
16
+ } from "./chunk.RKQHPBKM.js";
17
17
  import {
18
18
  watch
19
19
  } from "./chunk.VZ7S7YYN.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk.YTS5TRJZ.js";
23
23
  import {
24
24
  SynergyElement
25
- } from "./chunk.MUOAKBT3.js";
25
+ } from "./chunk.SPPBO7QV.js";
26
26
  import {
27
27
  __decorateClass
28
28
  } from "./chunk.DJOAQ4JU.js";
@@ -277,4 +277,4 @@ __decorateClass([
277
277
  export {
278
278
  SynButton
279
279
  };
280
- //# sourceMappingURL=chunk.HZERAHZP.js.map
280
+ //# sourceMappingURL=chunk.NRA7I7QC.js.map
@@ -0,0 +1,67 @@
1
+ // src/components/icon-button/icon-button.custom.styles.ts
2
+ import { css } from "lit";
3
+ var icon_button_custom_styles_default = css`
4
+ .icon-button {
5
+ color: currentColor;
6
+ font-size: inherit;
7
+ }
8
+
9
+ /* Color variants */
10
+ .icon-button--neutral,
11
+ .icon-button--neutral:focus-visible:not(.icon-button--disabled):not(:hover) {
12
+ color: var(--syn-color-neutral-950);
13
+ }
14
+
15
+ .icon-button--primary,
16
+ .icon-button--primary:focus-visible:not(.icon-button--disabled) {
17
+ color: var(--syn-color-primary-600);
18
+ }
19
+
20
+ .icon-button--primary:hover:not(.icon-button--disabled) {
21
+ color: var(--syn-color-primary-900);
22
+ }
23
+
24
+ .icon-button--primary:active:not(.icon-button--disabled) {
25
+ color: var(--syn-color-primary-950);
26
+ }
27
+
28
+ .icon-button--disabled {
29
+ color: var(--syn-color-neutral-400);
30
+ }
31
+
32
+ /* Remove round borders */
33
+ .icon-button:focus-visible {
34
+ border-radius: var(--syn-border-radius-none);
35
+ }
36
+
37
+
38
+ /* Sizes */
39
+ .icon-button--small {
40
+ font-size: var(--syn-font-size-medium);
41
+ }
42
+
43
+ .icon-button--medium {
44
+ font-size: var(--syn-font-size-x-large);
45
+
46
+ }
47
+
48
+ .icon-button--large {
49
+ font-size: var(--syn-font-size-2x-large);
50
+ }
51
+
52
+ /* Force user to set "label" prop */
53
+ .icon-button[aria-label=""] {
54
+ border: var(--syn-border-width-large) var(--syn-color-error-600) solid;
55
+ }
56
+
57
+ .icon-button[aria-label=""]::after {
58
+ content: "Set label prop for a11y to get rid of this text and border!";
59
+ font-size: var(--syn-font-size-2x-small);
60
+ margin-left: var(--syn-spacing-2x-small);
61
+ }
62
+ `;
63
+
64
+ export {
65
+ icon_button_custom_styles_default
66
+ };
67
+ //# sourceMappingURL=chunk.OJF7KL44.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/icon-button/icon-button.custom.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n .icon-button {\n color: currentColor;\n font-size: inherit;\n }\n\n /* Color variants */\n .icon-button--neutral,\n .icon-button--neutral:focus-visible:not(.icon-button--disabled):not(:hover) {\n color: var(--syn-color-neutral-950);\n }\n\n .icon-button--primary,\n .icon-button--primary:focus-visible:not(.icon-button--disabled) {\n color: var(--syn-color-primary-600);\n }\n\n .icon-button--primary:hover:not(.icon-button--disabled) {\n color: var(--syn-color-primary-900);\n }\n\n .icon-button--primary:active:not(.icon-button--disabled) {\n color: var(--syn-color-primary-950);\n }\n\n .icon-button--disabled {\n color: var(--syn-color-neutral-400);\n }\n\n /* Remove round borders */\n .icon-button:focus-visible {\n border-radius: var(--syn-border-radius-none);\n }\n\n\n /* Sizes */\n .icon-button--small {\n font-size: var(--syn-font-size-medium);\n }\n\n .icon-button--medium {\n font-size: var(--syn-font-size-x-large);\n\n }\n\n .icon-button--large {\n font-size: var(--syn-font-size-2x-large);\n }\n\n /* Force user to set \"label\" prop */\n .icon-button[aria-label=\"\"] {\n border: var(--syn-border-width-large) var(--syn-color-error-600) solid;\n }\n\n .icon-button[aria-label=\"\"]::after {\n content: \"Set label prop for a11y to get rid of this text and border!\";\n font-size: var(--syn-font-size-2x-small);\n margin-left: var(--syn-spacing-2x-small);\n }\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,oCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynergyElement
3
- } from "./chunk.MUOAKBT3.js";
3
+ } from "./chunk.SPPBO7QV.js";
4
4
  import {
5
5
  button_group_styles_default
6
6
  } from "./chunk.4ZURABYO.js";
@@ -83,4 +83,4 @@ function findButton(el) {
83
83
  export {
84
84
  SynButtonGroup
85
85
  };
86
- //# sourceMappingURL=chunk.5SKPG6DM.js.map
86
+ //# sourceMappingURL=chunk.Q7NHWXSL.js.map
@@ -0,0 +1,73 @@
1
+ import {
2
+ tag_custom_styles_default
3
+ } from "./chunk.7W73A57K.js";
4
+ import {
5
+ component_styles_default
6
+ } from "./chunk.O7USYXBT.js";
7
+
8
+ // src/components/tag/tag.styles.ts
9
+ import { css } from "lit";
10
+ var tag_styles_default = css`
11
+ /* stylelint-disable */
12
+ ${component_styles_default}
13
+
14
+ :host {
15
+ display: inline-block;
16
+ }
17
+
18
+ .tag {
19
+ display: flex;
20
+ align-items: center;
21
+ border: solid 1px;
22
+ line-height: 1;
23
+ white-space: nowrap;
24
+ user-select: none;
25
+ -webkit-user-select: none;
26
+ }
27
+
28
+ .tag__remove::part(base) {
29
+ color: inherit;
30
+ padding: 0;
31
+ }
32
+
33
+ /*
34
+ * Size modifiers
35
+ */
36
+
37
+ .tag--small {
38
+ font-size: var(--syn-button-font-size-small);
39
+ height: calc(var(--syn-input-height-small) * 0.8);
40
+ line-height: calc(var(--syn-input-height-small) - var(--syn-input-border-width) * 2);
41
+ border-radius: var(--syn-input-border-radius-small);
42
+ padding: 0 var(--syn-spacing-x-small);
43
+ }
44
+
45
+ .tag--medium {
46
+ font-size: var(--syn-button-font-size-medium);
47
+ height: calc(var(--syn-input-height-medium) * 0.8);
48
+ line-height: calc(var(--syn-input-height-medium) - var(--syn-input-border-width) * 2);
49
+ border-radius: var(--syn-input-border-radius-medium);
50
+ padding: 0 var(--syn-spacing-small);
51
+ }
52
+
53
+ .tag--large {
54
+ font-size: var(--syn-button-font-size-large);
55
+ height: calc(var(--syn-input-height-large) * 0.8);
56
+ line-height: calc(var(--syn-input-height-large) - var(--syn-input-border-width) * 2);
57
+ border-radius: var(--syn-input-border-radius-large);
58
+ padding: 0 var(--syn-spacing-medium);
59
+ }
60
+
61
+ .tag__remove {
62
+ margin-inline-start: var(--syn-spacing-x-small);
63
+ }
64
+
65
+
66
+
67
+ ${tag_custom_styles_default}
68
+ `;
69
+
70
+ export {
71
+ tag_styles_default
72
+ };
73
+ //# sourceMappingURL=chunk.QHFGD6WW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/tag/tag.styles.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\nimport customStyles from './tag.custom.styles.js';\nimport componentStyles from '../../styles/component.styles.js';\n\nexport default css`\n\t/* stylelint-disable */\n ${componentStyles}\n\n :host {\n display: inline-block;\n }\n\n .tag {\n display: flex;\n align-items: center;\n border: solid 1px;\n line-height: 1;\n white-space: nowrap;\n user-select: none;\n -webkit-user-select: none;\n }\n\n .tag__remove::part(base) {\n color: inherit;\n padding: 0;\n }\n\n /*\n * Size modifiers\n */\n\n .tag--small {\n font-size: var(--syn-button-font-size-small);\n height: calc(var(--syn-input-height-small) * 0.8);\n line-height: calc(var(--syn-input-height-small) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-small);\n padding: 0 var(--syn-spacing-x-small);\n }\n\n .tag--medium {\n font-size: var(--syn-button-font-size-medium);\n height: calc(var(--syn-input-height-medium) * 0.8);\n line-height: calc(var(--syn-input-height-medium) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-medium);\n padding: 0 var(--syn-spacing-small);\n }\n\n .tag--large {\n font-size: var(--syn-button-font-size-large);\n height: calc(var(--syn-input-height-large) * 0.8);\n line-height: calc(var(--syn-input-height-large) - var(--syn-input-border-width) * 2);\n border-radius: var(--syn-input-border-radius-large);\n padding: 0 var(--syn-spacing-medium);\n }\n\n .tag__remove {\n margin-inline-start: var(--syn-spacing-x-small);\n }\n\n \n\n ${customStyles}\n`;\n\n"],
5
+ "mappings": ";;;;;;;;AAMA,SAAS,WAAW;AAIpB,IAAO,qBAAQ;AAAA;AAAA,IAEX,wBAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAuDf,yBAAY;AAAA;",
6
+ "names": []
7
+ }
@@ -4,24 +4,24 @@ import {
4
4
  import {
5
5
  defaultValue
6
6
  } from "./chunk.WFAJR3FN.js";
7
- import {
8
- LocalizeController
9
- } from "./chunk.R6VNLE6N.js";
10
7
  import {
11
8
  HasSlotController
12
9
  } from "./chunk.XGXFE6IF.js";
10
+ import {
11
+ LocalizeController
12
+ } from "./chunk.R6VNLE6N.js";
13
13
  import {
14
14
  FormControlController
15
15
  } from "./chunk.P2LNG2PZ.js";
16
16
  import {
17
17
  SynIcon
18
- } from "./chunk.PHG2CETE.js";
18
+ } from "./chunk.RKQHPBKM.js";
19
19
  import {
20
20
  watch
21
21
  } from "./chunk.VZ7S7YYN.js";
22
22
  import {
23
23
  SynergyElement
24
- } from "./chunk.MUOAKBT3.js";
24
+ } from "./chunk.SPPBO7QV.js";
25
25
  import {
26
26
  __decorateClass
27
27
  } from "./chunk.DJOAQ4JU.js";
@@ -477,4 +477,4 @@ __decorateClass([
477
477
  export {
478
478
  SynInput
479
479
  };
480
- //# sourceMappingURL=chunk.U7R4EV7C.js.map
480
+ //# sourceMappingURL=chunk.RG4Z2I6D.js.map
@@ -5,13 +5,13 @@ import {
5
5
  getIconLibrary,
6
6
  unwatchIcon,
7
7
  watchIcon
8
- } from "./chunk.4XAK6MOQ.js";
8
+ } from "./chunk.6PFQSQLU.js";
9
9
  import {
10
10
  icon_styles_default
11
11
  } from "./chunk.RSONAU45.js";
12
12
  import {
13
13
  SynergyElement
14
- } from "./chunk.MUOAKBT3.js";
14
+ } from "./chunk.SPPBO7QV.js";
15
15
  import {
16
16
  __decorateClass
17
17
  } from "./chunk.DJOAQ4JU.js";
@@ -172,4 +172,4 @@ __decorateClass([
172
172
  export {
173
173
  SynIcon
174
174
  };
175
- //# sourceMappingURL=chunk.PHG2CETE.js.map
175
+ //# sourceMappingURL=chunk.RKQHPBKM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynButtonGroup
3
- } from "./chunk.5SKPG6DM.js";
3
+ } from "./chunk.Q7NHWXSL.js";
4
4
 
5
5
  // src/components/button-group/button-group.ts
6
6
  var button_group_default = SynButtonGroup;
@@ -9,4 +9,4 @@ SynButtonGroup.define("syn-button-group");
9
9
  export {
10
10
  button_group_default
11
11
  };
12
- //# sourceMappingURL=chunk.DUAFHNTR.js.map
12
+ //# sourceMappingURL=chunk.SEHRSICV.js.map
@@ -48,7 +48,7 @@ var SynergyElement = class extends LitElement {
48
48
  };
49
49
  /* eslint-disable */
50
50
  // @ts-expect-error This is auto-injected at build time.
51
- SynergyElement.version = "1.0.2";
51
+ SynergyElement.version = "1.2.0";
52
52
  SynergyElement.dependencies = {};
53
53
  __decorateClass([
54
54
  property()
@@ -60,4 +60,4 @@ __decorateClass([
60
60
  export {
61
61
  SynergyElement
62
62
  };
63
- //# sourceMappingURL=chunk.MUOAKBT3.js.map
63
+ //# sourceMappingURL=chunk.SPPBO7QV.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/internal/synergy-element.ts"],
4
- "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"1.0.2\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"1.2.0\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
5
5
  "mappings": ";;;;;;AAMA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AA+DzB,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EAsErD,cAAc;AACZ,UAAM;AACN,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EA7DA,KACE,MACA,SACuB;AACvB,UAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,MAClC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ,CAAC;AAAA,OACN,QACJ;AAED,SAAK,cAAc,KAAK;AAExB,WAAO;AAAA,EACT;AAAA,EAOA,OAAO,OAAO,MAAc,qBAAqB,MAAM,UAAoC,CAAC,GAAG;AAC7F,UAAM,iCAAiC,eAAe,IAAI,IAAI;AAI9D,QAAI,CAAC,gCAAgC;AACnC,qBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,MAAC,GAA0C,OAAO;AAC/G;AAAA,IACF;AAEA,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,aAAa,sBAAsB,mBAAmB,SAAS;AACjE,mBAAa,OAAO,mBAAmB;AAAA,IACzC;AAEA,QAAI,aAAa,kCAAkC,+BAA+B,SAAS;AACzF,wBAAkB,OAAO,+BAA+B;AAAA,IAC1D;AAGA,QAAI,cAAc,mBAAmB,eAAe,iBAAiB;AAEnE;AAAA,IACF;AAEA,YAAQ;AAAA,MACN,0BAA0B,IAAI,IAAI,UAAU,UAAU,IAAI,IAAI,eAAe;AAAA,IAC/E;AAAA,EACF;AAUF;AAAA;AAAA;AA5EqB,eAiCZ,UAAU;AAjCE,eAoEZ,eAAsD,CAAC;AAlElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCheckbox
3
- } from "./chunk.XVJVR3MD.js";
3
+ } from "./chunk.3CSVGX3J.js";
4
4
 
5
5
  // src/components/checkbox/checkbox.ts
6
6
  var checkbox_default = SynCheckbox;
@@ -9,4 +9,4 @@ SynCheckbox.define("syn-checkbox");
9
9
  export {
10
10
  checkbox_default
11
11
  };
12
- //# sourceMappingURL=chunk.7MTLFTYG.js.map
12
+ //# sourceMappingURL=chunk.TACOOH3N.js.map
@@ -0,0 +1,12 @@
1
+ import {
2
+ SynIconButton
3
+ } from "./chunk.L6I5ZLBO.js";
4
+
5
+ // src/components/icon-button/icon-button.ts
6
+ var icon_button_default = SynIconButton;
7
+ SynIconButton.define("syn-icon-button");
8
+
9
+ export {
10
+ icon_button_default
11
+ };
12
+ //# sourceMappingURL=chunk.VTYPMAXM.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/icon-button/icon-button.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport SynIconButton from './icon-button.component.js';\n\nexport * from './icon-button.component.js';\nexport default SynIconButton;\n\nSynIconButton.define('syn-icon-button');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-icon-button': SynIconButton;\n }\n}\n"],
5
+ "mappings": ";;;;;AASA,IAAO,sBAAQ;AAEf,cAAc,OAAO,iBAAiB;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynIcon
3
- } from "./chunk.PHG2CETE.js";
3
+ } from "./chunk.RKQHPBKM.js";
4
4
 
5
5
  // src/components/icon/icon.ts
6
6
  var icon_default = SynIcon;
@@ -9,4 +9,4 @@ SynIcon.define("syn-icon");
9
9
  export {
10
10
  icon_default
11
11
  };
12
- //# sourceMappingURL=chunk.G3EPLUES.js.map
12
+ //# sourceMappingURL=chunk.ZGZ7W6BC.js.map
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  SynButton
3
- } from "../../chunks/chunk.HZERAHZP.js";
4
- import "../../chunks/chunk.IFPM2NRM.js";
3
+ } from "../../chunks/chunk.NRA7I7QC.js";
4
+ import "../../chunks/chunk.FHYBGERU.js";
5
5
  import "../../chunks/chunk.N2I6HVX3.js";
6
+ import "../../chunks/chunk.XGXFE6IF.js";
6
7
  import "../../chunks/chunk.R6VNLE6N.js";
7
8
  import "../../chunks/chunk.A3SKDWCT.js";
8
- import "../../chunks/chunk.XGXFE6IF.js";
9
9
  import "../../chunks/chunk.P2LNG2PZ.js";
10
- import "../../chunks/chunk.PHG2CETE.js";
10
+ import "../../chunks/chunk.RKQHPBKM.js";
11
11
  import "../../chunks/chunk.VZ7S7YYN.js";
12
- import "../../chunks/chunk.4XAK6MOQ.js";
12
+ import "../../chunks/chunk.6PFQSQLU.js";
13
13
  import "../../chunks/chunk.6C4JXZZN.js";
14
- import "../../chunks/chunk.GNAJOKCJ.js";
14
+ import "../../chunks/chunk.EJXWL3JM.js";
15
15
  import "../../chunks/chunk.RSONAU45.js";
16
16
  import "../../chunks/chunk.PJO6TM3T.js";
17
17
  import "../../chunks/chunk.C7624ITA.js";
18
18
  import "../../chunks/chunk.YTS5TRJZ.js";
19
19
  import "../../chunks/chunk.FVSP4LXX.js";
20
- import "../../chunks/chunk.MUOAKBT3.js";
20
+ import "../../chunks/chunk.SPPBO7QV.js";
21
21
  import "../../chunks/chunk.O7USYXBT.js";
22
22
  import "../../chunks/chunk.DJOAQ4JU.js";
23
23
  export {