@muibook/components 1.6.0 → 3.0.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 (94) hide show
  1. package/dist/esm/agent/keywords/index.js +104 -4
  2. package/dist/esm/agent/prompts/index.js +392 -37
  3. package/dist/esm/components/mui-accordion/block/index.js +2 -6
  4. package/dist/esm/components/mui-accordion/group/index.js +1 -1
  5. package/dist/esm/components/mui-accordion/inline/index.js +2 -6
  6. package/dist/esm/components/mui-addon/index.js +1 -1
  7. package/dist/esm/components/mui-alert/index.js +10 -5
  8. package/dist/esm/components/mui-badge/index.js +10 -7
  9. package/dist/esm/components/mui-body/index.js +4 -4
  10. package/dist/esm/components/mui-button/index.js +23 -25
  11. package/dist/esm/components/mui-button-group/index.js +1 -1
  12. package/dist/esm/components/mui-card/body/index.js +22 -18
  13. package/dist/esm/components/mui-card/card/index.js +1 -1
  14. package/dist/esm/components/mui-card/footer/index.js +1 -1
  15. package/dist/esm/components/mui-card/header/index.js +1 -1
  16. package/dist/esm/components/mui-carousel/controller/index.js +14 -11
  17. package/dist/esm/components/mui-carousel/panel/index.js +2 -2
  18. package/dist/esm/components/mui-code/index.js +20 -10
  19. package/dist/esm/components/mui-container/index.js +1 -1
  20. package/dist/esm/components/mui-field/index.js +10 -7
  21. package/dist/esm/components/mui-file-upload/index.js +5 -4
  22. package/dist/esm/components/mui-grid/index.js +1 -1
  23. package/dist/esm/components/mui-heading/index.js +1 -1
  24. package/dist/esm/components/mui-icons/accessibility/index.js +4 -4
  25. package/dist/esm/components/mui-icons/add/index.js +5 -5
  26. package/dist/esm/components/mui-icons/attention/index.js +5 -5
  27. package/dist/esm/components/mui-icons/check/index.js +6 -6
  28. package/dist/esm/components/mui-icons/close/index.js +2 -2
  29. package/dist/esm/components/mui-icons/down-arrow-circle/index.js +55 -0
  30. package/dist/esm/components/mui-icons/down-chevron/index.js +2 -2
  31. package/dist/esm/components/mui-icons/ellipsis/index.js +55 -0
  32. package/dist/esm/components/mui-icons/globe/index.js +5 -5
  33. package/dist/esm/components/mui-icons/grid/index.js +1 -1
  34. package/dist/esm/components/mui-icons/index.js +2 -0
  35. package/dist/esm/components/mui-icons/info/index.js +2 -2
  36. package/dist/esm/components/mui-icons/left-arrow/index.js +1 -1
  37. package/dist/esm/components/mui-icons/left-chevron/index.js +1 -1
  38. package/dist/esm/components/mui-icons/left-sidebar/index.js +6 -6
  39. package/dist/esm/components/mui-icons/menu/index.js +6 -6
  40. package/dist/esm/components/mui-icons/message/index.js +6 -6
  41. package/dist/esm/components/mui-icons/moon/index.js +2 -2
  42. package/dist/esm/components/mui-icons/notification/index.js +2 -2
  43. package/dist/esm/components/mui-icons/right-chevron/index.js +5 -5
  44. package/dist/esm/components/mui-icons/stop/index.js +2 -2
  45. package/dist/esm/components/mui-icons/subtract/index.js +7 -7
  46. package/dist/esm/components/mui-icons/sun/index.js +6 -6
  47. package/dist/esm/components/mui-icons/toggle/index.js +39 -30
  48. package/dist/esm/components/mui-icons/up-arrow/index.js +4 -4
  49. package/dist/esm/components/mui-icons/up-chevron/index.js +1 -1
  50. package/dist/esm/components/mui-icons/warning/index.js +2 -2
  51. package/dist/esm/components/mui-image/index.js +1 -1
  52. package/dist/esm/components/mui-input/index.js +21 -27
  53. package/dist/esm/components/mui-link/index.js +52 -57
  54. package/dist/esm/components/mui-list/item/index.js +5 -2
  55. package/dist/esm/components/mui-list/list/index.js +1 -1
  56. package/dist/esm/components/mui-message/index.js +14 -9
  57. package/dist/esm/components/mui-quote/index.js +1 -1
  58. package/dist/esm/components/mui-responsive/index.js +1 -1
  59. package/dist/esm/components/mui-rule/index.js +5 -5
  60. package/dist/esm/components/mui-select/index.js +28 -27
  61. package/dist/esm/components/mui-slat/accessory/index.js +29 -0
  62. package/dist/esm/components/mui-slat/index.js +2 -21
  63. package/dist/esm/components/mui-slat/slat/index.js +139 -0
  64. package/dist/esm/components/mui-smart-card/index.js +14 -15
  65. package/dist/esm/components/mui-stack/hstack/index.js +1 -1
  66. package/dist/esm/components/mui-stack/vstack/index.js +1 -1
  67. package/dist/esm/components/mui-switch/index.js +3 -9
  68. package/dist/esm/components/mui-table/cell/index.js +16 -14
  69. package/dist/esm/components/mui-table/row/index.js +1 -1
  70. package/dist/esm/components/mui-table/row-group/index.js +1 -1
  71. package/dist/esm/components/mui-table/table/index.js +1 -1
  72. package/dist/esm/components/mui-tabs/controller/index.js +1 -1
  73. package/dist/esm/components/mui-tabs/item/index.js +2 -2
  74. package/dist/esm/components/mui-tabs/panel/index.js +1 -1
  75. package/dist/esm/components/mui-tabs/tab-bar/index.js +1 -1
  76. package/dist/esm/css/mui-tokens.css +74 -38
  77. package/dist/esm/index.js +8 -5
  78. package/dist/types/components/mui-accordion/block/index.d.ts +1 -1
  79. package/dist/types/components/mui-accordion/inline/index.d.ts +1 -1
  80. package/dist/types/components/mui-alert/index.d.ts +5 -1
  81. package/dist/types/components/mui-field/index.d.ts +3 -1
  82. package/dist/types/components/mui-file-upload/index.d.ts +1 -1
  83. package/dist/types/components/mui-icons/down-arrow-circle.d.ts +1 -0
  84. package/dist/types/components/mui-icons/ellipsis.d.ts +1 -0
  85. package/dist/types/components/mui-icons/index.d.ts +2 -0
  86. package/dist/types/components/mui-message/index.d.ts +6 -1
  87. package/dist/types/components/mui-select/index.d.ts +1 -1
  88. package/dist/types/components/mui-slat/accessory/index.d.ts +1 -0
  89. package/dist/types/components/mui-slat/index.d.ts +2 -1
  90. package/dist/types/components/mui-slat/slat/index.d.ts +3 -0
  91. package/dist/types/components/mui-smart-card/index.d.ts +2 -1
  92. package/dist/types/index.d.ts +4 -1
  93. package/package.json +17 -1
  94. package/readme.md +25 -6
@@ -0,0 +1,29 @@
1
+ class e extends HTMLElement {
2
+ constructor() {
3
+ super(), this.attachShadow({ mode: "open" });
4
+ }
5
+ connectedCallback() {
6
+ this.render();
7
+ }
8
+ render() {
9
+ const s = (
10
+ /*css*/
11
+ `
12
+ :host {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ background: var(--slat-accessory-background);
17
+ padding: var(--space-200);
18
+ border-radius: var(--radius-400);
19
+ }
20
+ `
21
+ );
22
+ this.shadowRoot.innerHTML = /*html*/
23
+ `
24
+ <style>${s}</style>
25
+ <slot></slot>
26
+ `;
27
+ }
28
+ }
29
+ customElements.get("mui-slat-accessory") || customElements.define("mui-slat-accessory", e);
@@ -1,21 +1,2 @@
1
- class t extends HTMLElement {
2
- constructor() {
3
- super(), this.attachShadow({ mode: "open" });
4
- }
5
- connectedCallback() {
6
- this.setAttribute("role", "table"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
7
- `
8
- <style>
9
- :host {
10
- display: grid;
11
- grid-template-columns: 1fr 1fr;
12
- gap: var(--space-500);
13
- box-sizing: border-box;
14
- }
15
- </style>
16
- <slot name="start"></slot>
17
- <slot name="end"></slot>
18
- `);
19
- }
20
- }
21
- customElements.define("mui-slat", t);
1
+ import "./slat/index.js";
2
+ import "./accessory/index.js";
@@ -0,0 +1,139 @@
1
+ import "../../mui-button/index.js";
2
+ import "../../mui-icons/right-chevron/index.js";
3
+ import "../../mui-stack/hstack/index.js";
4
+ import "../../mui-stack/vstack/index.js";
5
+ class i extends HTMLElement {
6
+ constructor() {
7
+ super(), this.variant = "", this.attachShadow({ mode: "open" });
8
+ }
9
+ static get observedAttributes() {
10
+ return ["variant", "col", "space"];
11
+ }
12
+ attributeChangedCallback(t, a, r) {
13
+ t === "variant" && (this.variant = r), this.render();
14
+ }
15
+ connectedCallback() {
16
+ this.variant = this.getAttribute("variant") || "", this.setAttribute("role", "row"), this.render();
17
+ }
18
+ applyCellRoles() {
19
+ var a;
20
+ const t = (a = this.shadowRoot) == null ? void 0 : a.querySelectorAll("slot");
21
+ t == null || t.forEach((r) => {
22
+ r.assignedElements({ flatten: !0 }).forEach((s) => {
23
+ s.setAttribute("role", "cell");
24
+ });
25
+ });
26
+ }
27
+ hasAccessorySlot() {
28
+ return this.querySelector('[slot="accessory"]') !== null;
29
+ }
30
+ render() {
31
+ const t = this.variant === "action", a = this.getAttribute("col") || "1fr 1fr", r = this.getAttribute("space") || "var(--space-500)", e = this.hasAccessorySlot(), s = (
32
+ /*css*/
33
+ `
34
+ :host {
35
+ display: grid;
36
+ grid-template-columns: ${a};
37
+ align-items: center;
38
+ gap: ${r};
39
+ box-sizing: border-box;
40
+ }
41
+
42
+ :host([variant="row"]) {
43
+ padding: var(--space-300) var(--space-400);
44
+ background: var(--slat-background);
45
+ border-radius: var(--slat-radius);
46
+ }
47
+
48
+ :host([variant="header"]) {
49
+ padding: var(--space-200) var(--space-400);
50
+ padding-top: var(--space-400);
51
+ }
52
+
53
+ :host([variant="action"]) {
54
+ display: grid;
55
+ grid-template-columns: 1fr;
56
+ align-items: center;
57
+ width: 100%;
58
+ }
59
+
60
+ .action::part(text-align) {
61
+ text-align: left;
62
+ }
63
+
64
+ .action:focus {
65
+ z-index: 1;
66
+ }
67
+
68
+ .action::part(padding) {
69
+ padding: var(--space-300) var(--space-400);
70
+ }
71
+
72
+ .action::part(border) {
73
+ border: var(--space-000);
74
+ }
75
+
76
+ .action::part(background) {
77
+ background: var(--slat-background);
78
+ }
79
+
80
+ .action:hover::part(background) {
81
+ background: var(--slat-background-hover);
82
+ }
83
+
84
+ .action::part(border-radius) {
85
+ border-radius: var(--slat-radius);
86
+ }
87
+
88
+ .end {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: var(--space-300);
92
+ text-align: right;
93
+ }
94
+
95
+ :host(.card-slot) {
96
+ --slat-background: var(--slat-card-background);
97
+ --slat-background-hover: var(--slat-card-background-hover);
98
+ }
99
+
100
+ :host(.condensed-slot) .action::part(border-radius) {
101
+ border-radius: 0;
102
+ }
103
+
104
+ :host(.condensed-slot:last-of-type) .action::part(border-radius) {
105
+ border-bottom-left-radius: var(--card-radius);
106
+ border-bottom-right-radius: var(--card-radius);
107
+ }
108
+
109
+ `
110
+ ), o = e ? `
111
+ <mui-h-stack alignY="center" space="var(--space-400)">
112
+ <slot name="accessory"></slot>
113
+ <slot name="start"></slot>
114
+ </mui-h-stack>
115
+ ` : '<slot name="start"></slot>';
116
+ this.shadowRoot.innerHTML = t ? (
117
+ /*html*/
118
+ `
119
+ <style>${s}</style>
120
+ <mui-button variant="tertiary" class="action">
121
+ ${o}
122
+ <div class="end" slot="after">
123
+ <slot name="end"></slot>
124
+ <mui-icon-right-chevron size="x-small"></mui-icon-right-chevron>
125
+ </div>
126
+
127
+ </mui-button>
128
+ `
129
+ ) : (
130
+ /*html*/
131
+ `
132
+ <style>${s}</style>
133
+ ${o}
134
+ <slot name="end"></slot>
135
+ `
136
+ ), requestAnimationFrame(() => this.applyCellRoles());
137
+ }
138
+ }
139
+ customElements.get("mui-slat") || customElements.define("mui-slat", i);
@@ -1,4 +1,6 @@
1
- class b extends HTMLElement {
1
+ import "../mui-body/index.js";
2
+ import "../mui-badge/index.js";
3
+ class u extends HTMLElement {
2
4
  static get observedAttributes() {
3
5
  return [
4
6
  "state",
@@ -24,18 +26,15 @@ class b extends HTMLElement {
24
26
  this.render();
25
27
  }
26
28
  render() {
27
- const p = this.getAttribute("state") || "default", l = this.getAttribute("number") || "0000", n = this.getAttribute("bg-color"), o = this.getAttribute("bg-image"), u = this.getAttribute("variant") || "plain", e = this.hasAttribute("inverted"), s = this.getAttribute("type") || "", d = p === "frozen", c = this.getAttribute("logo") || "", g = this.getAttribute("partner") || "", a = this.getAttribute("logo-height"), t = a && !isNaN(parseInt(a, 10)) ? parseInt(a, 10) : void 0;
28
- t && t > 126 && console.warn(
29
- `[mui-smart-card] The logo height (${t}px) exceeds the recommended maximum of 126px. This may affect vertical alignment or visual consistency.`
30
- );
29
+ const p = this.getAttribute("state") || "default", l = this.getAttribute("number") || "0000", n = this.getAttribute("bg-color"), o = this.getAttribute("bg-image"), b = this.getAttribute("variant") || "plain", t = this.hasAttribute("inverted"), s = this.getAttribute("type") || "", d = p === "frozen", c = this.getAttribute("logo") || "", g = this.getAttribute("partner") || "", a = this.getAttribute("logo-height"), e = a && !isNaN(parseInt(a, 10)) ? parseInt(a, 10) : void 0;
31
30
  let r = "card", i = "";
32
- u === "animated" ? r += " animated" : r += " plain", o ? i = `
31
+ b === "animated" ? r += " animated" : r += " plain", o ? i = `
33
32
  background-image: url(${o});
34
33
  background-size: cover;
35
34
  background-position: center;
36
35
  background-repeat: no-repeat;
37
36
  ` : n ? i = `background: ${n};` : i = `
38
- background: ${e ? "linear-gradient(180deg, var(--grey-900) 0%, var(--black) 100%)" : "linear-gradient(180deg, var(--grey-200) 0%, var(--white) 100%)"};
37
+ background: ${t ? "linear-gradient(180deg, var(--grey-900) 0%, var(--black) 100%)" : "linear-gradient(180deg, var(--grey-200) 0%, var(--white) 100%)"};
39
38
  `, this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
40
39
  `
41
40
  <style>
@@ -110,13 +109,13 @@ class b extends HTMLElement {
110
109
  object-fit: contain;
111
110
  display: block;
112
111
  width: auto;
113
- height: ${t ? `calc(${t}px / 1.5)` : "auto"};
112
+ height: ${e ? `calc(${e}px / 1.5)` : "auto"};
114
113
  }
115
114
 
116
115
  @media (min-width: 500px) {
117
116
  .logo img {
118
117
  width: auto;
119
- height: ${t ? `${t}px` : "auto"};
118
+ height: ${e ? `${e}px` : "auto"};
120
119
  }
121
120
  }
122
121
 
@@ -124,21 +123,21 @@ class b extends HTMLElement {
124
123
  /* =========================================== */
125
124
  .type,
126
125
  .card-number::part(display) {
127
- color: ${e ? "var(--white)" : "var(--black)"};
128
- text-shadow: ${e ? "0 0px 8px rgb(0 0 0 / 12%);" : "0 0px 8px rgb(255 255 255 / 12%);"};
126
+ color: ${t ? "var(--white)" : "var(--black)"};
127
+ text-shadow: ${t ? "0 0px 8px rgb(0 0 0 / 12%);" : "0 0px 8px rgb(255 255 255 / 12%);"};
129
128
  }
130
129
 
131
130
  img {
132
- filter: ${e ? "drop-shadow(0px 1px 0px var(--black-opacity-60))" : "drop-shadow(0px 1px 0px var(--white-opacity-60))"};
131
+ filter: ${t ? "drop-shadow(0px 1px 0px var(--black-opacity-60))" : "drop-shadow(0px 1px 0px var(--white-opacity-60))"};
133
132
  }
134
133
 
135
134
 
136
135
  .inner {
137
- box-shadow: ${e ? "inset 0 1px 0 0 rgb(255 255 255 / 20%), 0 1px 0 0 rgb(0 0 0 / 10%)" : "inset 0 1px 0 0 rgb(255 255 255 / 60%), 0 1px 0 0 rgb(0 0 0 / 40%)"};
136
+ box-shadow: ${t ? "inset 0 1px 0 0 rgb(255 255 255 / 20%), 0 1px 0 0 rgb(0 0 0 / 10%)" : "inset 0 1px 0 0 rgb(255 255 255 / 60%), 0 1px 0 0 rgb(0 0 0 / 40%)"};
138
137
  }
139
138
 
140
139
  .card.animated .inner::after {
141
- background: linear-gradient(${e ? "120deg, rgb(255 255 255 / 2%) 30%, rgb(255 255 255 / 8%) 40%, rgb(255 255 255 / 4%) 40%" : "120deg, rgb(255 255 255 / 2%) 30%, rgb(255 255 255 / 25%) 40%, rgb(255 255 255 / 8%) 40%"});
140
+ background: linear-gradient(${t ? "120deg, rgb(255 255 255 / 2%) 30%, rgb(255 255 255 / 8%) 40%, rgb(255 255 255 / 4%) 40%" : "120deg, rgb(255 255 255 / 2%) 30%, rgb(255 255 255 / 25%) 40%, rgb(255 255 255 / 8%) 40%"});
142
141
  }
143
142
 
144
143
  /* Type */
@@ -332,4 +331,4 @@ class b extends HTMLElement {
332
331
  `);
333
332
  }
334
333
  }
335
- customElements.define("mui-smart-card", b);
334
+ customElements.get("mui-smart-card") || customElements.define("mui-smart-card", u);
@@ -49,4 +49,4 @@ class e extends HTMLElement {
49
49
  });
50
50
  }
51
51
  }
52
- customElements.define("mui-h-stack", e);
52
+ customElements.get("mui-h-stack") || customElements.define("mui-h-stack", e);
@@ -49,4 +49,4 @@ class e extends HTMLElement {
49
49
  });
50
50
  }
51
51
  }
52
- customElements.define("mui-v-stack", e);
52
+ customElements.get("mui-v-stack") || customElements.define("mui-v-stack", e);
@@ -35,11 +35,7 @@ class h extends HTMLElement {
35
35
  this.hasAttribute("disabled") ? (this.shadowRoot.host.classList.add("disabled"), (e = this._checkbox) == null || e.setAttribute("aria-disabled", "true"), (i = this._checkbox) == null || i.setAttribute("tabindex", "-1")) : (this.shadowRoot.host.classList.remove("disabled"), (s = this._checkbox) == null || s.removeAttribute("aria-disabled"), (c = this._checkbox) == null || c.removeAttribute("tabindex"));
36
36
  }
37
37
  _updateIcons() {
38
- const t = this.shadowRoot.querySelector(
39
- 'slot[name="on-icon"]'
40
- ), e = this.shadowRoot.querySelector(
41
- 'slot[name="off-icon"]'
42
- );
38
+ const t = this.shadowRoot.querySelector('slot[name="on-icon"]'), e = this.shadowRoot.querySelector('slot[name="off-icon"]');
43
39
  t && t.assignedElements().forEach((i) => {
44
40
  i.style.display = this._checked ? "inline" : "none";
45
41
  }), e && e.assignedElements().forEach((i) => {
@@ -48,9 +44,7 @@ class h extends HTMLElement {
48
44
  }
49
45
  render() {
50
46
  const t = this.getAttribute("label");
51
- t || console.warn(
52
- "mui-switch Accessibility warning: Provide a 'label' to ensure the switch is described for assistive technologies."
53
- ), this.shadowRoot.innerHTML = /*html*/
47
+ this.shadowRoot.innerHTML = /*html*/
54
48
  `
55
49
  <style>
56
50
  :host { display: inline-block; }
@@ -140,4 +134,4 @@ class h extends HTMLElement {
140
134
  `;
141
135
  }
142
136
  }
143
- customElements.define("mui-switch", h);
137
+ customElements.get("mui-switch") || customElements.define("mui-switch", h);
@@ -1,14 +1,20 @@
1
- class s extends HTMLElement {
1
+ class t extends HTMLElement {
2
2
  static get observedAttributes() {
3
3
  return ["align-y"];
4
4
  }
5
5
  constructor() {
6
- super();
7
- const t = this.attachShadow({ mode: "open" });
8
- this.setAttribute("role", "cell");
9
- const e = (
10
- /*css*/
11
- `
6
+ super(), this.attachShadow({ mode: "open" });
7
+ }
8
+ connectedCallback() {
9
+ this.setAttribute("role", "cell"), this.render();
10
+ }
11
+ attributeChangedCallback() {
12
+ this.render();
13
+ }
14
+ render() {
15
+ this.shadowRoot.innerHTML = /*html*/
16
+ `
17
+ <style>
12
18
  :host {
13
19
  display: flex;
14
20
  justify-content: space-between;
@@ -53,13 +59,9 @@ class s extends HTMLElement {
53
59
  width: 4.4rem;
54
60
  height: 4.4rem;
55
61
  }
56
- `
57
- );
58
- t.innerHTML = /*html*/
59
- `
60
- <style>${e}</style>
61
- <slot></slot>
62
+ </style>
63
+ <slot></slot>
62
64
  `;
63
65
  }
64
66
  }
65
- customElements.define("mui-cell", s);
67
+ customElements.get("mui-cell") || customElements.define("mui-cell", t);
@@ -24,4 +24,4 @@ class t extends HTMLElement {
24
24
  `);
25
25
  }
26
26
  }
27
- customElements.define("mui-row", t);
27
+ customElements.get("mui-row") || customElements.define("mui-row", t);
@@ -21,4 +21,4 @@ class o extends HTMLElement {
21
21
  `);
22
22
  }
23
23
  }
24
- customElements.define("mui-row-group", o);
24
+ customElements.get("mui-row-group") || customElements.define("mui-row-group", o);
@@ -18,4 +18,4 @@ class t extends HTMLElement {
18
18
  `);
19
19
  }
20
20
  }
21
- customElements.define("mui-table", t);
21
+ customElements.get("mui-table") || customElements.define("mui-table", t);
@@ -20,4 +20,4 @@ class n extends HTMLElement {
20
20
  });
21
21
  }
22
22
  }
23
- customElements.define("mui-tab-controller", n);
23
+ customElements.get("mui-tab-controller") || customElements.define("mui-tab-controller", n);
@@ -13,7 +13,7 @@ class s extends HTMLElement {
13
13
  const t = this.getAttribute("icon");
14
14
  this.setAttribute("tabindex", this.hasAttribute("active") ? "0" : "-1"), this.shadowRoot.innerHTML = "";
15
15
  const i = document.createElement("style");
16
- if (i.textContent = /*html*/
16
+ if (i.textContent = /*css*/
17
17
  `
18
18
  :host {
19
19
  user-select: none;
@@ -58,4 +58,4 @@ class s extends HTMLElement {
58
58
  this.classList.toggle("active", t), this.setAttribute("role", "tab"), this.setAttribute("aria-selected", t ? "true" : "false"), this.setAttribute("tabindex", t ? "0" : "-1"), this.iconEl && this.iconEl.setAttribute("color", t ? "var(--tab-icon-active)" : "var(--tab-icon)");
59
59
  }
60
60
  }
61
- customElements.define("mui-tab-item", s);
61
+ customElements.get("mui-tab-item") || customElements.define("mui-tab-item", s);
@@ -29,4 +29,4 @@ class e extends HTMLElement {
29
29
  attributeChangedCallback(t, s, n) {
30
30
  }
31
31
  }
32
- customElements.define("mui-tab-panel", e);
32
+ customElements.get("mui-tab-panel") || customElements.define("mui-tab-panel", e);
@@ -133,4 +133,4 @@ class c extends HTMLElement {
133
133
  );
134
134
  }
135
135
  }
136
- customElements.define("mui-tab-bar", c);
136
+ customElements.get("mui-tab-bar") || customElements.define("mui-tab-bar", c);
@@ -256,10 +256,10 @@ html[data-theme="light"] {
256
256
  --feedback-attention-action-background: var(--red-200);
257
257
 
258
258
  /* Action - Primary (Button & Link) */
259
- --action-primary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
260
- --action-primary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
261
- --action-primary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
262
- --action-primary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
259
+ --action-primary-border-color: var(--black-opacity-0);
260
+ --action-primary-border-color-hover: var(--black-opacity-0);
261
+ --action-primary-border-color-focus: var(--black-opacity-0);
262
+ --action-primary-border-color-disabled: var(--black-opacity-0);
263
263
  --action-primary-background: var(--grey-900);
264
264
  --action-primary-background-hover: var(--grey-1000);
265
265
  --action-primary-background-focus: var(--grey-1000);
@@ -269,10 +269,10 @@ html[data-theme="light"] {
269
269
  --action-primary-text-color-focus: var(--white);
270
270
  --action-primary-text-color-disabled: var(--grey-400);
271
271
  /* Action - Secondary (Button & Link) */
272
- --action-secondary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
273
- --action-secondary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
274
- --action-secondary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
275
- --action-secondary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--grey-800);
272
+ --action-secondary-border-color: var(--grey-800);
273
+ --action-secondary-border-color-hover: var(--grey-800);
274
+ --action-secondary-border-color-focus: var(--grey-800);
275
+ --action-secondary-border-color-disabled: var(--grey-800);
276
276
  --action-secondary-background: var(--white-opacity-0);
277
277
  --action-secondary-background-hover: var(--grey-100);
278
278
  --action-secondary-background-focus: var(--grey-100);
@@ -282,10 +282,10 @@ html[data-theme="light"] {
282
282
  --action-secondary-text-color-focus: var(--grey-1000);
283
283
  --action-secondary-text-color-disabled: var(--grey-400);
284
284
  /* Action - Tertiary (Button & Link) */
285
- --action-tertiary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
286
- --action-tertiary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
287
- --action-tertiary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
288
- --action-tertiary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--white-opacity-0);
285
+ --action-tertiary-border-color: var(--black-opacity-0);
286
+ --action-tertiary-border-color-hover: var(--black-opacity-0);
287
+ --action-tertiary-border-color-focus: var(--black-opacity-0);
288
+ --action-tertiary-border-color-disabled: var(--black-opacity-0);
289
289
  --action-tertiary-background: var(--white-opacity-0);
290
290
  --action-tertiary-background-hover: var(--black-opacity-10);
291
291
  --action-tertiary-background-focus: var(--black-opacity-10);
@@ -295,10 +295,10 @@ html[data-theme="light"] {
295
295
  --action-tertiary-text-color-focus: var(--grey-1000);
296
296
  --action-tertiary-text-color-disabled: var(--grey-400);
297
297
  /* Action - Attention (Button & Link) */
298
- --action-attention-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
299
- --action-attention-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
300
- --action-attention-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
301
- --action-attention-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
298
+ --action-attention-border-color: var(--black-opacity-0);
299
+ --action-attention-border-color-hover: var(--black-opacity-0);
300
+ --action-attention-border-color-focus: var(--black-opacity-0);
301
+ --action-attention-border-color-disabled: var(--black-opacity-0);
302
302
  --action-attention-background: var(--red-500);
303
303
  --action-attention-background-hover: var(--red-600);
304
304
  --action-attention-background-focus: var(--red-600);
@@ -321,12 +321,11 @@ html[data-theme="light"] {
321
321
  --outline-color: var(--blue-500);
322
322
  --border-color: var(--black-opacity-20);
323
323
 
324
- --optional-text-color: var(--grey-600);
325
-
326
324
  --text-color: var(--grey-900);
327
325
  --text-color-success: var(--green-600);
328
326
  --text-color-warning: var(--orange-600);
329
327
  --text-color-error: var(--red-600);
328
+ --text-color-optional: var(--grey-600);
330
329
 
331
330
  /* ================================================================================================== */
332
331
  /* Components */
@@ -371,6 +370,13 @@ html[data-theme="light"] {
371
370
 
372
371
  /* Carousel */
373
372
  --carousel-background: var(--white);
373
+
374
+ /* Slat */
375
+ --slat-background: var(--white-opacity-60);
376
+ --slat-background-hover: var(--white-opacity-90);
377
+ --slat-card-background: var(--surface-elevated-100);
378
+ --slat-card-background-hover: var(--surface-elevated-200);
379
+ --slat-accessory-background: var(--black-opacity-10);
374
380
  }
375
381
 
376
382
  /* ==================================================================================================== */
@@ -428,10 +434,10 @@ html[data-theme="dark"] {
428
434
  --feedback-warning-action-background: var(--orange-900);
429
435
  --feedback-attention-action-background: var(--red-900);
430
436
  /* Action - Primary (Button & Link) */
431
- --action-primary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
432
- --action-primary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
433
- --action-primary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
434
- --action-primary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
437
+ --action-primary-border-color: var(--black-opacity-0);
438
+ --action-primary-border-color-hover: var(--black-opacity-0);
439
+ --action-primary-border-color-focus: var(--black-opacity-0);
440
+ --action-primary-border-color-disabled: var(--black-opacity-0);
435
441
  --action-primary-background: var(--grey-200);
436
442
  --action-primary-background-hover: var(--grey-100);
437
443
  --action-primary-background-focus: var(--grey-100);
@@ -441,10 +447,10 @@ html[data-theme="dark"] {
441
447
  --action-primary-text-color-focus: var(--grey-900);
442
448
  --action-primary-text-color-disabled: var(--grey-400);
443
449
  /* Action - Secondary (Button & Link) */
444
- --action-secondary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
445
- --action-secondary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
446
- --action-secondary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
447
- --action-secondary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--grey-200);
450
+ --action-secondary-border-color: var(--grey-200);
451
+ --action-secondary-border-color-hover: var(--grey-200);
452
+ --action-secondary-border-color-focus: var(--grey-200);
453
+ --action-secondary-border-color-disabled: var(--grey-200);
448
454
  --action-secondary-background: var(--black-opacity-0);
449
455
  --action-secondary-background-hover: var(--grey-800);
450
456
  --action-secondary-background-focus: var(--grey-800);
@@ -454,11 +460,11 @@ html[data-theme="dark"] {
454
460
  --action-secondary-text-color-focus: var(--grey-100);
455
461
  --action-secondary-text-color-disabled: var(--grey-600);
456
462
  /* Action - Tertiary (Button & Link) */
457
- --action-tertiary-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
458
- --action-tertiary-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
459
- --action-tertiary-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
460
- --action-tertiary-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
461
- --action-tertiary-background: transparent;
463
+ --action-tertiary-border-color: var(--black-opacity-0);
464
+ --action-tertiary-border-color-hover: var(--black-opacity-0);
465
+ --action-tertiary-border-color-focus: var(--black-opacity-0);
466
+ --action-tertiary-border-color-disabled: var(--black-opacity-0);
467
+ --action-tertiary-background: var(--black-opacity-0);
462
468
  --action-tertiary-background-hover: var(--white-opacity-10);
463
469
  --action-tertiary-background-focus: var(--white-opacity-10);
464
470
  --action-tertiary-background-disabled: var(--grey-900);
@@ -467,10 +473,10 @@ html[data-theme="dark"] {
467
473
  --action-tertiary-text-color-focus: var(--grey-100);
468
474
  --action-tertiary-text-color-disabled: var(--grey-600);
469
475
  /* Action - Attention (Button & Link) */
470
- --action-attention-stroke: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
471
- --action-attention-stroke-hover: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
472
- --action-attention-stroke-focus: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
473
- --action-attention-stroke-disabled: var(--stroke-size-200) var(--stroke-solid) var(--black-opacity-0);
476
+ --action-attention-border-color: var(--black-opacity-0);
477
+ --action-attention-border-color-hover: var(--black-opacity-0);
478
+ --action-attention-border-color-focus: var(--black-opacity-0);
479
+ --action-attention-border-color-disabled: var(--black-opacity-0);
474
480
  --action-attention-background: var(--red-600);
475
481
  --action-attention-background-hover: var(--red-700);
476
482
  --action-attention-background-focus: var(--red-700);
@@ -493,12 +499,11 @@ html[data-theme="dark"] {
493
499
  --outline-color: var(--blue-300);
494
500
  --border-color: var(--white-opacity-20);
495
501
 
496
- --optional-text-color: var(--grey-300);
497
-
498
502
  --text-color: var(--grey-200);
499
503
  --text-color-success: var(--green-400);
500
504
  --text-color-warning: var(--orange-400);
501
505
  --text-color-error: var(--red-400);
506
+ --text-color-optional: var(--grey-300);
502
507
  /* ================================================================================================== */
503
508
  /* Components */
504
509
  /* ================================================================================================== */
@@ -542,6 +547,13 @@ html[data-theme="dark"] {
542
547
 
543
548
  /* Carousel */
544
549
  --carousel-background: var(--grey-700);
550
+
551
+ /* Slat */
552
+ --slat-background: var(--black-opacity-20);
553
+ --slat-background-hover: var(--black-opacity-50);
554
+ --slat-card-background: var(--surface-elevated-100);
555
+ --slat-card-background-hover: var(--surface-elevated-200);
556
+ --slat-accessory-background: var(--white-opacity-10);
545
557
  }
546
558
 
547
559
  /* ==================================================================================================== */
@@ -558,7 +570,29 @@ html[data-theme="dark"] {
558
570
  --feedback-warning-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-warning-border-color);
559
571
  --feedback-attention-border: var(--stroke-size-200) var(--stroke-solid) var(--feedback-attention-border-color);
560
572
  /* Action (Button & Link) */
561
- --action-padding: var(--space-200) var(--space-500);
573
+ --action-primary-border: var(--stroke-size-200) var(--stroke-solid) var(--action-primary-border-color);
574
+ --action-primary-border-hover: var(--stroke-size-200) var(--stroke-solid) var(--action-primary-border-color-hover);
575
+ --action-primary-border-focus: var(--stroke-size-200) var(--stroke-solid) var(--action-primary-border-color-focus);
576
+ --action-primary-border-disabled: var(--stroke-size-200) var(--stroke-solid)
577
+ var(--action-primary-border-color-disabled);
578
+ --action-secondary-border: var(--stroke-size-200) var(--stroke-solid) var(--action-secondary-border-color);
579
+ --action-secondary-border-hover: var(--stroke-size-200) var(--stroke-solid) var(--action-secondary-border-color-hover);
580
+ --action-secondary-border-focus: var(--stroke-size-200) var(--stroke-solid) var(--action-secondary-border-color-focus);
581
+ --action-secondary-border-disabled: var(--stroke-size-200) var(--stroke-solid)
582
+ var(--action-secondary-border-color-disabled);
583
+ --action-tertiary-border: var(--stroke-size-200) var(--stroke-solid) var(--action-tertiary-border-color);
584
+ --action-tertiary-border-hover: var(--stroke-size-200) var(--stroke-solid) var(--action-tertiary-border-color-hover);
585
+ --action-tertiary-border-focus: var(--stroke-size-200) var(--stroke-solid) var(--action-tertiary-border-color-focus);
586
+ --action-tertiary-border-disabled: var(--stroke-size-200) var(--stroke-solid)
587
+ var(--action-tertiary-border-color-disabled);
588
+ --action-attention-border: var(--stroke-size-200) var(--stroke-solid) var(--action-attention-border-color);
589
+ --action-attention-border-hover: var(--stroke-size-200) var(--stroke-solid) var(--action-attention-border-color-hover);
590
+ --action-attention-border-focus: var(--stroke-size-200) var(--stroke-solid) var(--action-attention-border-color-focus);
591
+ --action-attention-border-disabled: var(--stroke-size-200) var(--stroke-solid)
592
+ var(--action-attention-border-color-disabled);
593
+ --action-padding: var(--space-200) calc(var(--space-300) + var(--space-100));
594
+ --action-before-slot-padding: var(--space-300);
595
+ --action-after-slot-padding: var(--space-300);
562
596
  --action-icon-only-padding: var(--space-000);
563
597
  --action-radius: var(--radius-100);
564
598
  --action-font-size: var(--text-font-size);
@@ -633,4 +667,6 @@ html[data-theme="dark"] {
633
667
  --carousel-radius: var(--radius-300);
634
668
  --carousel-tab-position: var(--space-400);
635
669
  --carousel-tab-offset: calc(4.4rem + var(--carousel-tab-position)); /* Tab Height */
670
+ /* Slat [Action] */
671
+ --slat-radius: var(--radius-200);
636
672
  }