@solid-design-system/components 1.14.4 → 1.16.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 (85) hide show
  1. package/dist/components/es/accordion-group.js +1 -1
  2. package/dist/components/es/accordion.js +1 -1
  3. package/dist/components/es/badge.js +1 -1
  4. package/dist/components/es/brandshape.js +1 -1
  5. package/dist/components/es/button.js +1 -1
  6. package/dist/components/es/divider.js +1 -1
  7. package/dist/components/es/drawer.js +1 -1
  8. package/dist/components/es/dropdown.js +1 -1
  9. package/dist/components/es/icon.js +3 -3
  10. package/dist/components/es/include.js +1 -1
  11. package/dist/components/es/link.js +1 -1
  12. package/dist/components/es/navigation-item.js +6 -0
  13. package/dist/components/es/popup.js +1 -1
  14. package/dist/components/es/register-custom-element.js +1 -0
  15. package/dist/components/es/solid-components2.js +1 -1
  16. package/dist/components/es/solid-element.js +4 -4
  17. package/dist/components/es/spinner.js +1 -1
  18. package/dist/components/es/tag.js +1 -1
  19. package/dist/components/es/teaser.js +1 -1
  20. package/dist/components/umd/solid-components.js +17 -12
  21. package/dist/custom-elements.json +1 -1
  22. package/dist/package/components/navigation-item/navigation-item.d.ts +31 -0
  23. package/dist/package/components/navigation-item/navigation-item.js +166 -0
  24. package/dist/package/solid-components.d.ts +1 -0
  25. package/dist/package/solid-components.js +10 -8
  26. package/dist/package/styles/tailwind.css.js +1 -1
  27. package/dist/styles/solid-styles.css +1 -1
  28. package/dist/versioned-components/es/accordion-group.js +1 -1
  29. package/dist/versioned-components/es/accordion.js +1 -1
  30. package/dist/versioned-components/es/badge.js +1 -1
  31. package/dist/versioned-components/es/brandshape.js +1 -1
  32. package/dist/versioned-components/es/button.js +1 -1
  33. package/dist/versioned-components/es/divider.js +1 -1
  34. package/dist/versioned-components/es/drawer.js +1 -1
  35. package/dist/versioned-components/es/dropdown.js +1 -1
  36. package/dist/versioned-components/es/icon.js +3 -3
  37. package/dist/versioned-components/es/include.js +1 -1
  38. package/dist/versioned-components/es/link.js +1 -1
  39. package/dist/versioned-components/es/navigation-item.js +6 -0
  40. package/dist/versioned-components/es/popup.js +1 -1
  41. package/dist/versioned-components/es/register-custom-element.js +1 -0
  42. package/dist/versioned-components/es/solid-components2.js +1 -1
  43. package/dist/versioned-components/es/solid-element.js +4 -4
  44. package/dist/versioned-components/es/spinner.js +1 -1
  45. package/dist/versioned-components/es/tag.js +1 -1
  46. package/dist/versioned-components/es/teaser.js +1 -1
  47. package/dist/versioned-package/components/accordion/accordion.d.ts +1 -1
  48. package/dist/versioned-package/components/accordion/accordion.js +2 -2
  49. package/dist/versioned-package/components/accordion-group/accordion-group.d.ts +1 -1
  50. package/dist/versioned-package/components/accordion-group/accordion-group.js +3 -3
  51. package/dist/versioned-package/components/badge/badge.d.ts +1 -1
  52. package/dist/versioned-package/components/badge/badge.js +1 -1
  53. package/dist/versioned-package/components/brandshape/brandshape.d.ts +1 -1
  54. package/dist/versioned-package/components/brandshape/brandshape.js +1 -1
  55. package/dist/versioned-package/components/button/button.d.ts +1 -1
  56. package/dist/versioned-package/components/button/button.js +4 -4
  57. package/dist/versioned-package/components/divider/divider.d.ts +1 -1
  58. package/dist/versioned-package/components/divider/divider.js +2 -2
  59. package/dist/versioned-package/components/drawer/drawer.d.ts +1 -1
  60. package/dist/versioned-package/components/drawer/drawer.js +2 -2
  61. package/dist/versioned-package/components/dropdown/dropdown.d.ts +1 -1
  62. package/dist/versioned-package/components/dropdown/dropdown.js +6 -6
  63. package/dist/versioned-package/components/icon/icon.d.ts +1 -1
  64. package/dist/versioned-package/components/icon/icon.js +1 -1
  65. package/dist/versioned-package/components/include/include.d.ts +1 -1
  66. package/dist/versioned-package/components/include/include.js +1 -1
  67. package/dist/versioned-package/components/link/link.d.ts +1 -1
  68. package/dist/versioned-package/components/link/link.js +2 -2
  69. package/dist/versioned-package/components/navigation-item/navigation-item.d.ts +31 -0
  70. package/dist/versioned-package/components/navigation-item/navigation-item.js +166 -0
  71. package/dist/versioned-package/components/popup/popup.d.ts +1 -1
  72. package/dist/versioned-package/components/popup/popup.js +1 -1
  73. package/dist/versioned-package/components/spinner/spinner.d.ts +1 -1
  74. package/dist/versioned-package/components/spinner/spinner.js +1 -1
  75. package/dist/versioned-package/components/tag/tag.d.ts +1 -1
  76. package/dist/versioned-package/components/tag/tag.js +2 -2
  77. package/dist/versioned-package/components/teaser/teaser.js +1 -1
  78. package/dist/versioned-package/internal/form.js +1 -1
  79. package/dist/versioned-package/solid-components.d.ts +1 -0
  80. package/dist/versioned-package/solid-components.js +10 -8
  81. package/dist/versioned-package/styles/tailwind.css.js +1 -1
  82. package/dist/versioned-styles/solid-styles.css +1 -1
  83. package/dist/vscode.html-custom-data.json +195 -15
  84. package/dist/web-types.json +466 -16
  85. package/package.json +3 -3
@@ -191,19 +191,19 @@ let SdButton = class extends SolidElement {
191
191
  md: "ml-2",
192
192
  lg: "ml-2"
193
193
  }[this.size]
194
- )}"></slot>${this.loading ? html`<sd-1-14-4-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-1-14-4-spinner>` : ""}</${tag}>`;
194
+ )}"></slot>${this.loading ? html`<sd-1-16-0-spinner class="${cx("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2")}"></sd-1-16-0-spinner>` : ""}</${tag}>`;
195
195
  }
196
196
  };
197
197
  SdButton.styles = [
198
198
  componentStyles,
199
199
  SolidElement.styles,
200
- css`:host{display:inline-block;position:relative;width:auto;cursor:pointer}sd-1-14-4-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-1-14-4-badge){position:absolute;top:0;right:0;translate:50% -50%;pointer-events:none}::slotted(sd-1-14-4-icon),sd-1-14-4-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
200
+ css`:host{display:inline-block;position:relative;width:auto;cursor:pointer}sd-1-16-0-spinner{--indicator-color:currentColor;--track-color:var(--tw-varcolor-200)}::slotted(sd-1-16-0-badge){position:absolute;top:0;right:0;translate:50% -50%;pointer-events:none}::slotted(sd-1-16-0-icon),sd-1-16-0-spinner{font-size:calc(var(--tw-varspacing)/ 2)}`
201
201
  ];
202
202
  __decorateClass([
203
203
  query("a, button")
204
204
  ], SdButton.prototype, "button", 2);
205
205
  __decorateClass([
206
- queryAssignedElements({ selector: "sd-1-14-4-icon" })
206
+ queryAssignedElements({ selector: "sd-1-16-0-icon" })
207
207
  ], SdButton.prototype, "_iconsInDefaultSlot", 2);
208
208
  __decorateClass([
209
209
  state()
@@ -266,7 +266,7 @@ __decorateClass([
266
266
  watch("disabled", { waitUntilFirstUpdate: true })
267
267
  ], SdButton.prototype, "handleDisabledChange", 1);
268
268
  SdButton = __decorateClass([
269
- customElement("sd-1-14-4-button")
269
+ customElement("sd-1-16-0-button")
270
270
  ], SdButton);
271
271
  export {
272
272
  SdButton as default
@@ -8,6 +8,6 @@ export default class SdDivider extends SolidElement {
8
8
  }
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
11
- 'sd-1-14-4-divider': SdDivider;
11
+ 'sd-1-16-0-divider': SdDivider;
12
12
  }
13
13
  }
@@ -35,7 +35,7 @@ let SdDivider = class extends SolidElement {
35
35
  SdDivider.styles = [
36
36
  componentStyles,
37
37
  SolidElement.styles,
38
- css`:host{margin:0}:host(sd-1-14-4-divider[orientation=horizontal]){display:block}:host(sd-1-14-4-divider[orientation=vertical]){display:inline-block}`
38
+ css`:host{margin:0}:host(sd-1-16-0-divider[orientation=horizontal]){display:block}:host(sd-1-16-0-divider[orientation=vertical]){display:inline-block}`
39
39
  ];
40
40
  __decorateClass([
41
41
  property({ reflect: true })
@@ -44,7 +44,7 @@ __decorateClass([
44
44
  property({ type: Boolean, reflect: true })
45
45
  ], SdDivider.prototype, "inverted", 2);
46
46
  SdDivider = __decorateClass([
47
- customElement("sd-1-14-4-divider")
47
+ customElement("sd-1-16-0-divider")
48
48
  ], SdDivider);
49
49
  export {
50
50
  SdDivider as default
@@ -29,6 +29,6 @@ export default class SdDrawer extends SolidElement {
29
29
  }
30
30
  declare global {
31
31
  interface HTMLElementTagNameMap {
32
- 'sd-1-14-4-drawer': SdDrawer;
32
+ 'sd-1-16-0-drawer': SdDrawer;
33
33
  }
34
34
  }
@@ -183,7 +183,7 @@ let SdDrawer = class extends SolidElement {
183
183
  end: "top-0 end-0 bottom-auto start-auto w-[--width] h-full",
184
184
  start: "top-0 end-auto bottom-auto start-0 w-[--width] h-full"
185
185
  }[this.placement]
186
- )}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-1-14-4-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-1-14-4-icon name="close" library="system"></sd-1-14-4-icon></sd-1-14-4-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
186
+ )}" role="dialog" aria-modal="true" aria-hidden="${this.open ? "false" : "true"}" aria-label="${this.label}" aria-labelledby="${ifDefined(!this.noHeader ? "title" : void 0)}" tabindex="0">${!this.noHeader ? html`<header part="header" class="flex justify-between py-2 px-4 items-center flex-shrink-0" style="min-height:56px"><div part="title"><slot name="header" part="title" class="flex-auto text-xl m-0" id="title"></slot></div><div class="shrink-0 flex flex-wrap justify-end gap-1 ml-4 absolute top-2 right-2"><sd-1-16-0-button variant="tertiary" size="lg" part="close-button" @click="${() => this.requestClose("close-button")}"><sd-1-16-0-icon name="close" library="system"></sd-1-16-0-icon></sd-1-16-0-button></div></header>` : ""}<div part="body" class="flex-auto block px-4"><slot></slot></div><footer part="footer" class="${cx(this.hasSlotController.test("footer") ? "text-left p-4" : "hidden")}"><slot name="footer"></slot></footer></div></div>`;
187
187
  }
188
188
  };
189
189
  SdDrawer.styles = [
@@ -221,7 +221,7 @@ __decorateClass([
221
221
  watch("contained", { waitUntilFirstUpdate: true })
222
222
  ], SdDrawer.prototype, "handleNoModalChange", 1);
223
223
  SdDrawer = __decorateClass([
224
- customElement("sd-1-14-4-drawer")
224
+ customElement("sd-1-16-0-drawer")
225
225
  ], SdDrawer);
226
226
  setDefaultAnimation("drawer.showStart", {
227
227
  keyframes: [
@@ -44,6 +44,6 @@ export default class SdDropdown extends SolidElement {
44
44
  }
45
45
  declare global {
46
46
  interface HTMLElementTagNameMap {
47
- 'sd-1-14-4-dropdown': SdDropdown;
47
+ 'sd-1-16-0-dropdown': SdDropdown;
48
48
  }
49
49
  }
@@ -170,7 +170,7 @@ let SdDropdown = class extends SolidElement {
170
170
  // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
171
171
  // a child of the slotted element, or an element in the slotted element's shadow root.
172
172
  //
173
- // For example, the accessible trigger of an <sd-1-14-4-button> is a <button> located inside its shadow root.
173
+ // For example, the accessible trigger of an <sd-1-16-0-button> is a <button> located inside its shadow root.
174
174
  //
175
175
  // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
176
176
  //
@@ -180,8 +180,8 @@ let SdDropdown = class extends SolidElement {
180
180
  let target;
181
181
  if (accessibleTrigger) {
182
182
  switch (accessibleTrigger.tagName.toLowerCase()) {
183
- case "sd-1-14-4-button":
184
- case "sd-1-14-4-icon-button":
183
+ case "sd-1-16-0-button":
184
+ case "sd-1-16-0-icon-button":
185
185
  target = accessibleTrigger.button;
186
186
  break;
187
187
  default:
@@ -257,11 +257,11 @@ let SdDropdown = class extends SolidElement {
257
257
  }
258
258
  }
259
259
  render() {
260
- return html`<sd-1-14-4-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
260
+ return html`<sd-1-16-0-popup part="base" id="dropdown" placement="${this.placement}" distance="${this.rounded && this.distance < 1 ? 1 : this.distance}" skidding="${this.skidding}" strategy="${this.hoist ? "fixed" : "absolute"}" ?flip="${!this.noFlip}" shift auto-size="vertical" auto-size-padding="10" ?active="${this.open}"><slot name="trigger" slot="anchor" part="trigger" class="block" @click="${this.handleTriggerClick}" @keydown="${this.handleTriggerKeyDown}" @keyup="${this.handleTriggerKeyUp}" @slotchange="${this.handleTriggerSlotChange}"></slot><slot part="panel" class="${cx(
261
261
  "shadow bg-white",
262
262
  this.open ? "block pointer-events-auto" : "pointer-events-none",
263
263
  this.rounded && "rounded-md"
264
- )}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-1-14-4-popup>`;
264
+ )}" aria-hidden="${this.open ? "false" : "true"}" aria-labelledby="dropdown"></slot></sd-1-16-0-popup>`;
265
265
  }
266
266
  };
267
267
  SdDropdown.styles = [
@@ -315,7 +315,7 @@ __decorateClass([
315
315
  watch("open", { waitUntilFirstUpdate: true })
316
316
  ], SdDropdown.prototype, "handleOpenChange", 1);
317
317
  SdDropdown = __decorateClass([
318
- customElement("sd-1-14-4-dropdown")
318
+ customElement("sd-1-16-0-dropdown")
319
319
  ], SdDropdown);
320
320
  setDefaultAnimation("dropdown.show", {
321
321
  keyframes: [
@@ -17,6 +17,6 @@ export default class SdIcon extends SolidElement {
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
20
- 'sd-1-14-4-icon': SdIcon;
20
+ 'sd-1-16-0-icon': SdIcon;
21
21
  }
22
22
  }
@@ -123,7 +123,7 @@ __decorateClass([
123
123
  watch(["name", "src", "library"])
124
124
  ], SdIcon.prototype, "setIcon", 1);
125
125
  SdIcon = __decorateClass([
126
- customElement("sd-1-14-4-icon")
126
+ customElement("sd-1-16-0-icon")
127
127
  ], SdIcon);
128
128
  export {
129
129
  SdIcon as default
@@ -11,6 +11,6 @@ export default class SdInclude extends SolidElement {
11
11
  }
12
12
  declare global {
13
13
  interface HTMLElementTagNameMap {
14
- 'sd-1-14-4-include': SdInclude;
14
+ 'sd-1-16-0-include': SdInclude;
15
15
  }
16
16
  }
@@ -66,7 +66,7 @@ __decorateClass([
66
66
  watch("src")
67
67
  ], SdInclude.prototype, "handleSrcChange", 1);
68
68
  SdInclude = __decorateClass([
69
- customElement("sd-1-14-4-include")
69
+ customElement("sd-1-16-0-include")
70
70
  ], SdInclude);
71
71
  export {
72
72
  SdInclude as default
@@ -17,6 +17,6 @@ export default class SdLink extends SolidElement {
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
20
- 'sd-1-14-4-link': SdLink;
20
+ 'sd-1-16-0-link': SdLink;
21
21
  }
22
22
  }
@@ -77,7 +77,7 @@ let SdLink = class extends SolidElement {
77
77
  };
78
78
  SdLink.styles = [
79
79
  SolidElement.styles,
80
- css`::slotted(sd-1-14-4-icon){font-size:1.25em;margin-bottom:-.25em}:host([size=sm][standalone]) ::slotted(sd-1-14-4-icon){font-size:1rem}:host([size=lg][standalone]) ::slotted(sd-1-14-4-icon){font-size:1.5rem}`
80
+ css`::slotted(sd-1-16-0-icon){font-size:1.25em;margin-bottom:-.25em}:host([size=sm][standalone]) ::slotted(sd-1-16-0-icon){font-size:1rem}:host([size=lg][standalone]) ::slotted(sd-1-16-0-icon){font-size:1.5rem}`
81
81
  ];
82
82
  __decorateClass([
83
83
  query("a")
@@ -101,7 +101,7 @@ __decorateClass([
101
101
  property()
102
102
  ], SdLink.prototype, "download", 2);
103
103
  SdLink = __decorateClass([
104
- customElement("sd-1-14-4-link")
104
+ customElement("sd-1-16-0-link")
105
105
  ], SdLink);
106
106
  export {
107
107
  SdLink as default
@@ -0,0 +1,31 @@
1
+ import SolidElement from '../../internal/solid-element';
2
+ export default class SdNavigationItem extends SolidElement {
3
+ private readonly hasSlotController;
4
+ href: string;
5
+ target: '_blank' | '_parent' | '_self' | '_top';
6
+ download?: string;
7
+ current: boolean;
8
+ disabled: boolean;
9
+ size: 'base' | 'lg' | 'sm';
10
+ vertical: boolean;
11
+ chevron: boolean;
12
+ indented: boolean;
13
+ relaxed: boolean;
14
+ divider: boolean;
15
+ open: boolean;
16
+ private isButton;
17
+ private isLink;
18
+ private isAccordion;
19
+ private handleClickButton;
20
+ private handleClickSummary;
21
+ private hideDetails;
22
+ private showDetails;
23
+ private calculatePaddingX;
24
+ render(): import("lit-html").TemplateResult;
25
+ static styles: import("lit").CSSResultGroup[];
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ 'sd-1-16-0-navigation-item': SdNavigationItem;
30
+ }
31
+ }
@@ -0,0 +1,166 @@
1
+ import { css } from "lit";
2
+ import { customElement } from "lit/decorators/custom-element.js";
3
+ import { HasSlotController } from "../../internal/slot.js";
4
+ import { literal, html } from "lit/static-html.js";
5
+ import { ifDefined } from "lit/directives/if-defined.js";
6
+ import { property } from "lit/decorators.js";
7
+ import componentStyles from "../../styles/component.styles.js";
8
+ import cx from "classix";
9
+ import SolidElement from "../../internal/solid-element.js";
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __decorateClass = (decorators, target, key, kind) => {
13
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
14
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
15
+ if (decorator = decorators[i])
16
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
17
+ if (kind && result)
18
+ __defProp(target, key, result);
19
+ return result;
20
+ };
21
+ let SdNavigationItem = class extends SolidElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.hasSlotController = new HasSlotController(this, "[default]", "description", "children");
25
+ this.href = "";
26
+ this.current = false;
27
+ this.disabled = false;
28
+ this.size = "base";
29
+ this.vertical = false;
30
+ this.chevron = false;
31
+ this.indented = false;
32
+ this.relaxed = false;
33
+ this.divider = false;
34
+ this.open = false;
35
+ }
36
+ isButton() {
37
+ return !this.href && !this.hasSlotController.test("children");
38
+ }
39
+ isLink() {
40
+ return !!this.href;
41
+ }
42
+ isAccordion() {
43
+ return !this.href && this.hasSlotController.test("children");
44
+ }
45
+ handleClickButton(event) {
46
+ if (this.disabled) {
47
+ event.preventDefault();
48
+ event.stopPropagation();
49
+ }
50
+ }
51
+ handleClickSummary(event) {
52
+ event.preventDefault();
53
+ event.stopPropagation();
54
+ if (!this.disabled) {
55
+ if (this.open) {
56
+ this.hideDetails();
57
+ } else {
58
+ this.showDetails();
59
+ }
60
+ }
61
+ }
62
+ hideDetails() {
63
+ this.open = false;
64
+ this.emit("sd-hide", { cancelable: true });
65
+ }
66
+ showDetails() {
67
+ this.open = true;
68
+ this.emit("sd-show", { cancelable: true });
69
+ }
70
+ calculatePaddingX() {
71
+ if (this.relaxed && this.indented)
72
+ return "pl-8 pr-4";
73
+ if (this.relaxed)
74
+ return "px-4";
75
+ if (this.indented)
76
+ return "pl-4";
77
+ return "";
78
+ }
79
+ render() {
80
+ const isLink = this.isLink();
81
+ const isButton = this.isButton();
82
+ const isAccordion = this.isAccordion();
83
+ const slots = {
84
+ label: this.hasSlotController.test("[default]"),
85
+ main: this.hasSlotController.test("main"),
86
+ description: this.hasSlotController.test("description"),
87
+ children: this.hasSlotController.test("children")
88
+ };
89
+ const tag = isLink ? literal`a` : isAccordion ? literal`summary` : literal`button`;
90
+ const horizontalPaddingBottom = this.vertical ? "pb-3" : "pb-2";
91
+ const root = html`<${tag} part="base" class="${cx(
92
+ "hover:bg-neutral-200 group transition-all min-h-[48px] cursor-pointer relative focus-visible:focus-outline",
93
+ { base: "text-base", lg: "text-lg", sm: "text-[14px]" }[this.size],
94
+ this.disabled ? "text-neutral-500 pointer-events-none" : "text-primary",
95
+ isAccordion ? "flex flex-col" : "inline-block w-full",
96
+ this.divider && this.vertical && "mt-[1px]",
97
+ this.vertical ? "px-8" : "px-4"
98
+ )}" aria-controls="${ifDefined(isAccordion ? "navigation-item-details" : void 0)}" aria-current="${ifDefined(this.current ? "page" : void 0)}" aria-disabled="${this.disabled}" ?disabled="${ifDefined(isButton ? this.disabled : void 0)}" href="${ifDefined(this.href || void 0)}" target="${ifDefined(isLink ? this.target : void 0)}" download="${ifDefined(isLink ? this.download : void 0)}" rel="${ifDefined(isLink && this.target ? "noreferrer noopener" : void 0)}" role="${isLink ? "link" : "button"}" tabindex="${this.disabled ? "-1" : "0"}" @click="${isAccordion ? this.handleClickSummary : isButton ? this.handleClickButton : void 0}"><div class="${cx(
99
+ "absolute w-full left-0 top-0 pointer-events-none transition-all duration-150",
100
+ this.vertical ? "border-l-4 h-[calc(100%-8px)] top-1 group-hover:h-full group-hover:top-0" : "border-b-4 h-full",
101
+ this.current ? "border-accent" : "border-transparent",
102
+ this.disabled && "border-neutral-500"
103
+ )}"></div><span class="${cx(
104
+ "relative pt-3 inline-flex justify-between items-center",
105
+ isAccordion ? "grow" : "w-full",
106
+ slots["description"] ? "pb-1" : horizontalPaddingBottom,
107
+ this.calculatePaddingX()
108
+ )}">${this.divider && this.vertical ? html`<sd-1-16-0-divider part="divider" class="${cx("w-full transition-all absolute -top-[1px] left-0", this.calculatePaddingX())}"></sd-1-16-0-divider>` : ""} <span class="inline-flex items-center flex-auto"><slot part="content" class="inline"></slot></span>${(this.chevron || slots["children"]) && this.vertical ? html`<sd-1-16-0-icon name="chevron-down" part="chevron" library="system" color="currentColor" class="${cx(
109
+ "h-6 w-6 ml-2 transition-all",
110
+ isAccordion ? this.open ? "rotate-180" : "rotate-0" : "rotate-[270deg]"
111
+ )}"></sd-1-16-0-icon>` : ""} </span>${slots["description"] && this.vertical ? html`<slot name="description" part="description" class="${cx(
112
+ "inline-block text-sm text-left text-black",
113
+ isAccordion ? "grow" : "w-full",
114
+ horizontalPaddingBottom,
115
+ this.calculatePaddingX()
116
+ )}"></slot>` : ""}</${tag}>`;
117
+ return isAccordion ? html`<details id="navigation-item-details" ?open="${this.open}" class="relative flex">${root}<slot name="children"></slot></details>` : html`${root}`;
118
+ }
119
+ };
120
+ SdNavigationItem.styles = [
121
+ componentStyles,
122
+ SolidElement.styles,
123
+ css`:host{box-sizing:border-box;position:relative;display:inline-block}:host([vertical]){display:block}details summary::-webkit-details-marker{display:none}`
124
+ ];
125
+ __decorateClass([
126
+ property({ reflect: true })
127
+ ], SdNavigationItem.prototype, "href", 2);
128
+ __decorateClass([
129
+ property()
130
+ ], SdNavigationItem.prototype, "target", 2);
131
+ __decorateClass([
132
+ property()
133
+ ], SdNavigationItem.prototype, "download", 2);
134
+ __decorateClass([
135
+ property({ type: Boolean, reflect: true })
136
+ ], SdNavigationItem.prototype, "current", 2);
137
+ __decorateClass([
138
+ property({ type: Boolean, reflect: true })
139
+ ], SdNavigationItem.prototype, "disabled", 2);
140
+ __decorateClass([
141
+ property({ reflect: true })
142
+ ], SdNavigationItem.prototype, "size", 2);
143
+ __decorateClass([
144
+ property({ type: Boolean, reflect: true })
145
+ ], SdNavigationItem.prototype, "vertical", 2);
146
+ __decorateClass([
147
+ property({ type: Boolean, reflect: true })
148
+ ], SdNavigationItem.prototype, "chevron", 2);
149
+ __decorateClass([
150
+ property({ type: Boolean, reflect: true })
151
+ ], SdNavigationItem.prototype, "indented", 2);
152
+ __decorateClass([
153
+ property({ type: Boolean, reflect: true })
154
+ ], SdNavigationItem.prototype, "relaxed", 2);
155
+ __decorateClass([
156
+ property({ type: Boolean, reflect: true })
157
+ ], SdNavigationItem.prototype, "divider", 2);
158
+ __decorateClass([
159
+ property({ type: Boolean, reflect: true })
160
+ ], SdNavigationItem.prototype, "open", 2);
161
+ SdNavigationItem = __decorateClass([
162
+ customElement("sd-1-16-0-navigation-item")
163
+ ], SdNavigationItem);
164
+ export {
165
+ SdNavigationItem as default
166
+ };
@@ -37,6 +37,6 @@ export default class SdPopup extends SolidElement {
37
37
  }
38
38
  declare global {
39
39
  interface HTMLElementTagNameMap {
40
- 'sd-1-14-4-popup': SdPopup;
40
+ 'sd-1-16-0-popup': SdPopup;
41
41
  }
42
42
  }
@@ -312,7 +312,7 @@ __decorateClass([
312
312
  property({ attribute: "auto-size-padding", type: Number })
313
313
  ], SdPopup.prototype, "autoSizePadding", 2);
314
314
  SdPopup = __decorateClass([
315
- customElement("sd-1-14-4-popup")
315
+ customElement("sd-1-16-0-popup")
316
316
  ], SdPopup);
317
317
  export {
318
318
  SdPopup as default
@@ -7,6 +7,6 @@ export default class SdSpinner extends SolidElement {
7
7
  }
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
10
- 'sd-1-14-4-spinner': SdSpinner;
10
+ 'sd-1-16-0-spinner': SdSpinner;
11
11
  }
12
12
  }
@@ -40,7 +40,7 @@ __decorateClass([
40
40
  property({ reflect: true })
41
41
  ], SdSpinner.prototype, "color", 2);
42
42
  SdSpinner = __decorateClass([
43
- customElement("sd-1-14-4-spinner")
43
+ customElement("sd-1-16-0-spinner")
44
44
  ], SdSpinner);
45
45
  export {
46
46
  SdSpinner as default
@@ -19,6 +19,6 @@ export default class SdTag extends SolidElement {
19
19
  }
20
20
  declare global {
21
21
  interface HTMLElementTagNameMap {
22
- 'sd-1-14-4-tag': SdTag;
22
+ 'sd-1-16-0-tag': SdTag;
23
23
  }
24
24
  }
@@ -72,7 +72,7 @@ let SdTag = class extends SolidElement {
72
72
  lg: "text-base",
73
73
  sm: "text-[12px]"
74
74
  }[this.size]
75
- )}"><sd-1-14-4-icon library="system" name="close" label="remove"></sd-1-14-4-icon></slot></${tag}>`;
75
+ )}"><sd-1-16-0-icon library="system" name="close" label="remove"></sd-1-16-0-icon></slot></${tag}>`;
76
76
  }
77
77
  };
78
78
  SdTag.styles = [
@@ -104,7 +104,7 @@ __decorateClass([
104
104
  property()
105
105
  ], SdTag.prototype, "download", 2);
106
106
  SdTag = __decorateClass([
107
- customElement("sd-1-14-4-tag")
107
+ customElement("sd-1-16-0-tag")
108
108
  ], SdTag);
109
109
  export {
110
110
  SdTag as default
@@ -96,7 +96,7 @@ __decorateClass([
96
96
  state()
97
97
  ], SdTeaser.prototype, "_orientation", 2);
98
98
  SdTeaser = __decorateClass([
99
- customElement("sd-1-14-4-teaser")
99
+ customElement("sd-1-16-0-teaser")
100
100
  ], SdTeaser);
101
101
  export {
102
102
  SdTeaser as default
@@ -90,7 +90,7 @@ class FormControlController {
90
90
  const disabled = this.options.disabled(this.host);
91
91
  const name = this.options.name(this.host);
92
92
  const value = this.options.value(this.host);
93
- const isButton = this.host.tagName.toLowerCase() === "sd-1-14-4-button";
93
+ const isButton = this.host.tagName.toLowerCase() === "sd-1-16-0-button";
94
94
  if (!disabled && !isButton && typeof name === "string" && name.length > 0 && typeof value !== "undefined") {
95
95
  if (Array.isArray(value)) {
96
96
  value.forEach((val) => {
@@ -9,6 +9,7 @@ export { default as SdDropdown } from './components/dropdown/dropdown';
9
9
  export { default as SdIcon } from './components/icon/icon';
10
10
  export { default as SdInclude } from './components/include/include';
11
11
  export { default as SdLink } from './components/link/link';
12
+ export { default as SdNavigationItem } from './components/navigation-item/navigation-item';
12
13
  export { default as SdPopup } from './components/popup/popup';
13
14
  export { default as SdSpinner } from './components/spinner/spinner';
14
15
  export { default as SdTag } from './components/tag/tag';
@@ -9,10 +9,11 @@ import { default as default9 } from "./components/dropdown/dropdown.js";
9
9
  import { default as default10 } from "./components/icon/icon.js";
10
10
  import { default as default11 } from "./components/include/include.js";
11
11
  import { default as default12 } from "./components/link/link.js";
12
- import { default as default13 } from "./components/popup/popup.js";
13
- import { default as default14 } from "./components/spinner/spinner.js";
14
- import { default as default15 } from "./components/tag/tag.js";
15
- import { default as default16 } from "./components/teaser/teaser.js";
12
+ import { default as default13 } from "./components/navigation-item/navigation-item.js";
13
+ import { default as default14 } from "./components/popup/popup.js";
14
+ import { default as default15 } from "./components/spinner/spinner.js";
15
+ import { default as default16 } from "./components/tag/tag.js";
16
+ import { default as default17 } from "./components/teaser/teaser.js";
16
17
  import { registerIconLibrary, unregisterIconLibrary } from "./components/icon/library.js";
17
18
  import { LocalizeController } from "./utilities/localize.js";
18
19
  export {
@@ -28,10 +29,11 @@ export {
28
29
  default10 as SdIcon,
29
30
  default11 as SdInclude,
30
31
  default12 as SdLink,
31
- default13 as SdPopup,
32
- default14 as SdSpinner,
33
- default15 as SdTag,
34
- default16 as SdTeaser,
32
+ default13 as SdNavigationItem,
33
+ default14 as SdPopup,
34
+ default15 as SdSpinner,
35
+ default16 as SdTag,
36
+ default17 as SdTeaser,
35
37
  registerIconLibrary,
36
38
  unregisterIconLibrary
37
39
  };