@muibook/components 20.0.0 → 20.1.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 (153) hide show
  1. package/AGENTS.md +67 -0
  2. package/DESIGN.md +358 -0
  3. package/README.md +52 -1
  4. package/dist/esm/agent/keywords/index.js +2 -204
  5. package/dist/esm/agent/prompts/index.js +6 -434
  6. package/dist/esm/components/mui-accordion/core/index.js +25 -17
  7. package/dist/esm/components/mui-avatar/index.js +99 -42
  8. package/dist/esm/components/mui-avatar-chip/index.js +158 -0
  9. package/dist/esm/components/mui-avatar-group/index.js +88 -0
  10. package/dist/esm/components/mui-badge/index.js +2 -2
  11. package/dist/esm/components/mui-body/index.js +20 -11
  12. package/dist/esm/components/mui-button/index.js +117 -65
  13. package/dist/esm/components/mui-calendar/index.js +199 -0
  14. package/dist/esm/components/mui-card/body/index.js +32 -17
  15. package/dist/esm/components/mui-card/footer/index.js +11 -9
  16. package/dist/esm/components/mui-carousel/controller/index.js +1 -1
  17. package/dist/esm/components/mui-checkbox/index.js +23 -18
  18. package/dist/esm/components/mui-chip/index.js +184 -68
  19. package/dist/esm/components/mui-chip-input/index.js +146 -137
  20. package/dist/esm/components/mui-chip-rail/index.js +154 -51
  21. package/dist/esm/components/mui-code/index.js +27 -8
  22. package/dist/esm/components/mui-container/index.js +68 -45
  23. package/dist/esm/components/mui-date-picker/index.js +169 -0
  24. package/dist/esm/components/mui-drawer/index.js +968 -100
  25. package/dist/esm/components/mui-dropdown/index.js +250 -63
  26. package/dist/esm/components/mui-field/index.js +1 -1
  27. package/dist/esm/components/mui-file-upload/index.js +13 -4
  28. package/dist/esm/components/mui-form-group/index.js +1 -2
  29. package/dist/esm/components/mui-form-message/index.js +4 -9
  30. package/dist/esm/components/mui-hint/index.js +178 -72
  31. package/dist/esm/components/mui-icons/copy/index.js +54 -0
  32. package/dist/esm/components/mui-icons/fullscreen/index.js +5 -0
  33. package/dist/esm/components/mui-icons/icon-helper/index.js +56 -0
  34. package/dist/esm/components/mui-icons/index.js +14 -1
  35. package/dist/esm/components/mui-icons/moon/index.js +3 -1
  36. package/dist/esm/components/mui-icons/{rectangle-bottom-panel → panel}/index.js +6 -6
  37. package/dist/esm/components/mui-icons/pause/index.js +5 -0
  38. package/dist/esm/components/mui-icons/picture-in-picture/index.js +5 -0
  39. package/dist/esm/components/mui-icons/play-fill/index.js +5 -0
  40. package/dist/esm/components/mui-icons/rectangle-right-drawer/index.js +56 -0
  41. package/dist/esm/components/mui-icons/reload/index.js +5 -0
  42. package/dist/esm/components/mui-icons/speaker-mute/index.js +5 -0
  43. package/dist/esm/components/mui-icons/speaker-one-wave/index.js +5 -0
  44. package/dist/esm/components/mui-icons/speaker-two-wave/index.js +5 -0
  45. package/dist/esm/components/mui-icons/spinner/index.js +7 -5
  46. package/dist/esm/components/mui-icons/stop-fill/index.js +5 -0
  47. package/dist/esm/components/mui-icons/sun/index.js +5 -5
  48. package/dist/esm/components/mui-icons/timer/index.js +54 -0
  49. package/dist/esm/components/mui-icons/toggle/index.js +16 -6
  50. package/dist/esm/components/mui-icons/vertical-ellipsis/index.js +5 -0
  51. package/dist/esm/components/mui-illustrations/trash/index.js +6 -5
  52. package/dist/esm/components/mui-input/index.js +87 -62
  53. package/dist/esm/components/mui-link/index.js +195 -83
  54. package/dist/esm/components/mui-media-player/index.js +1577 -83
  55. package/dist/esm/components/mui-model-viewer/index.js +258 -0
  56. package/dist/esm/components/mui-progress-ring/index.js +349 -0
  57. package/dist/esm/components/mui-prompt/index.js +99 -71
  58. package/dist/esm/components/mui-prompt-preview/index.js +11 -23
  59. package/dist/esm/components/mui-radio/index.js +38 -17
  60. package/dist/esm/components/mui-range-input/index.js +9 -4
  61. package/dist/esm/components/mui-responsive/index.js +60 -27
  62. package/dist/esm/components/mui-search-input/index.js +300 -0
  63. package/dist/esm/components/mui-select/index.js +231 -42
  64. package/dist/esm/components/mui-slat/slat/index.js +40 -12
  65. package/dist/esm/components/mui-spinner/index.js +11 -9
  66. package/dist/esm/components/mui-switch/index.js +23 -20
  67. package/dist/esm/components/mui-table/row/index.js +2 -6
  68. package/dist/esm/components/mui-table/table/index.js +157 -14
  69. package/dist/esm/components/mui-textarea/index.js +43 -26
  70. package/dist/esm/components/mui-time/index/index.js +336 -0
  71. package/dist/esm/components/mui-time-picker/index.js +126 -0
  72. package/dist/esm/components/mui-video-thumbnail/index.js +5 -5
  73. package/dist/esm/css/mui-brand.css +12 -8
  74. package/dist/esm/css/mui-tokens.css +417 -305
  75. package/dist/esm/css/readme.md +2 -2
  76. package/dist/esm/custom-elements.json +3678 -1553
  77. package/dist/esm/dynamic-attrs.json +263 -66
  78. package/dist/esm/index.js +30 -6
  79. package/dist/esm/knowledge/compositions/index.js +1560 -0
  80. package/dist/esm/knowledge/index.js +28 -0
  81. package/dist/esm/knowledge/keywords/index.js +306 -0
  82. package/dist/esm/knowledge/rules/index.js +199 -0
  83. package/dist/esm/tokens/js/index.js +143 -139
  84. package/dist/types/agent/keywords/index.d.ts +1 -1
  85. package/dist/types/components/mui-avatar-chip/api.d.ts +28 -0
  86. package/dist/types/components/mui-avatar-chip/index.d.ts +18 -0
  87. package/dist/types/components/mui-avatar-group/api.d.ts +28 -0
  88. package/dist/types/components/mui-avatar-group/doc.d.ts +2 -0
  89. package/dist/types/components/mui-avatar-group/index.d.ts +1 -0
  90. package/dist/types/components/mui-button/api.d.ts +2 -2
  91. package/dist/types/components/mui-calendar/api.d.ts +41 -0
  92. package/dist/types/components/mui-calendar/doc.d.ts +2 -0
  93. package/dist/types/components/mui-calendar/index.d.ts +3 -0
  94. package/dist/types/components/mui-checkbox/api.d.ts +4 -0
  95. package/dist/types/components/mui-chip-input/api.d.ts +4 -0
  96. package/dist/types/components/mui-chip-rail/index.d.ts +1 -0
  97. package/dist/types/components/mui-date-picker/api.d.ts +38 -0
  98. package/dist/types/components/mui-date-picker/doc.d.ts +2 -0
  99. package/dist/types/components/mui-date-picker/index.d.ts +6 -0
  100. package/dist/types/components/mui-drawer/api.d.ts +4 -0
  101. package/dist/types/components/mui-drawer/index.d.ts +2 -0
  102. package/dist/types/components/mui-file-upload/api.d.ts +4 -0
  103. package/dist/types/components/mui-icons/fullscreen.d.ts +1 -0
  104. package/dist/types/components/mui-icons/icon-helper.d.ts +1 -0
  105. package/dist/types/components/mui-icons/index.d.ts +14 -1
  106. package/dist/types/components/mui-icons/panel.d.ts +1 -0
  107. package/dist/types/components/mui-icons/pause.d.ts +1 -0
  108. package/dist/types/components/mui-icons/picture-in-picture.d.ts +1 -0
  109. package/dist/types/components/mui-icons/play-fill.d.ts +1 -0
  110. package/dist/types/components/mui-icons/rectangle-right-drawer.d.ts +1 -0
  111. package/dist/types/components/mui-icons/reload.d.ts +1 -0
  112. package/dist/types/components/mui-icons/speaker-mute.d.ts +1 -0
  113. package/dist/types/components/mui-icons/speaker-one-wave.d.ts +1 -0
  114. package/dist/types/components/mui-icons/speaker-two-wave.d.ts +1 -0
  115. package/dist/types/components/mui-icons/stop-fill.d.ts +1 -0
  116. package/dist/types/components/mui-icons/timer.d.ts +1 -0
  117. package/dist/types/components/mui-icons/vertical-ellipsis.d.ts +1 -0
  118. package/dist/types/components/mui-input/api.d.ts +12 -0
  119. package/dist/types/components/mui-media-player/api.d.ts +4 -0
  120. package/dist/types/components/mui-media-player/index.d.ts +13 -4
  121. package/dist/types/components/mui-model-viewer/api.d.ts +28 -0
  122. package/dist/types/components/mui-model-viewer/doc.d.ts +2 -0
  123. package/dist/types/components/mui-model-viewer/index.d.ts +17 -0
  124. package/dist/types/components/mui-progress-ring/api.d.ts +24 -0
  125. package/dist/types/components/mui-progress-ring/doc.d.ts +2 -0
  126. package/dist/types/components/mui-progress-ring/index.d.ts +1 -0
  127. package/dist/types/components/mui-radio/api.d.ts +12 -0
  128. package/dist/types/components/mui-range-input/api.d.ts +4 -0
  129. package/dist/types/components/mui-responsive/api.d.ts +10 -2
  130. package/dist/types/components/mui-search-input/api.d.ts +40 -0
  131. package/dist/types/components/mui-search-input/doc.d.ts +2 -0
  132. package/dist/types/components/mui-search-input/index.d.ts +3 -0
  133. package/dist/types/components/mui-select/api.d.ts +12 -0
  134. package/dist/types/components/mui-switch/api.d.ts +4 -0
  135. package/dist/types/components/mui-table/api.d.ts +15 -0
  136. package/dist/types/components/mui-textarea/api.d.ts +12 -0
  137. package/dist/types/components/mui-time/api.d.ts +41 -0
  138. package/dist/types/components/mui-time/doc.d.ts +2 -0
  139. package/dist/types/components/mui-time/index.d.ts +1 -0
  140. package/dist/types/components/mui-time-picker/api.d.ts +38 -0
  141. package/dist/types/components/mui-time-picker/doc.d.ts +2 -0
  142. package/dist/types/components/mui-time-picker/index.d.ts +4 -0
  143. package/dist/types/index.d.ts +24 -2
  144. package/dist/types/knowledge/compositions.d.ts +4644 -0
  145. package/dist/types/knowledge/index.d.ts +4657 -0
  146. package/dist/types/knowledge/keywords.d.ts +4 -0
  147. package/dist/types/knowledge/rules.d.ts +1 -0
  148. package/dist/types/tokens/js/index.d.ts +11 -7
  149. package/package.json +119 -12
  150. package/dist/esm/components/mui-form-hint/index.js +0 -1
  151. package/dist/types/components/mui-form-hint/index.d.ts +0 -1
  152. /package/dist/types/components/{mui-form-hint → mui-avatar-chip}/doc.d.ts +0 -0
  153. /package/dist/types/components/mui-icons/{rectangle-bottom-panel.d.ts → copy.d.ts} +0 -0
@@ -6,29 +6,34 @@ class p extends HTMLElement {
6
6
  constructor() {
7
7
  super(), this.attachShadow({ mode: "open" });
8
8
  }
9
+ focus(e) {
10
+ var i;
11
+ const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector("input");
12
+ t ? t.focus(e) : super.focus(e);
13
+ }
9
14
  connectedCallback() {
10
15
  this.hasAttribute("size") || this.setAttribute("size", "medium"), this.render(), this.setupListener();
11
16
  }
12
17
  disconnectedCallback() {
13
18
  this.cleanupListeners();
14
19
  }
15
- attributeChangedCallback(e, t, s) {
16
- var c, a, o;
20
+ attributeChangedCallback(e, t, i) {
21
+ var s, a, o;
17
22
  if (e === "checked") {
18
- const i = (c = this.shadowRoot) == null ? void 0 : c.querySelector("input");
19
- if (!i) return;
20
- i.checked = s !== null;
23
+ const c = (s = this.shadowRoot) == null ? void 0 : s.querySelector("input");
24
+ if (!c) return;
25
+ c.checked = i !== null;
21
26
  }
22
27
  if (e === "disabled") {
23
- const i = (a = this.shadowRoot) == null ? void 0 : a.querySelector("input");
24
- if (!i) return;
25
- i.disabled = s !== null;
28
+ const c = (a = this.shadowRoot) == null ? void 0 : a.querySelector("input");
29
+ if (!c) return;
30
+ c.disabled = i !== null;
26
31
  }
27
32
  if (e === "indeterminate") {
28
- const i = (o = this.shadowRoot) == null ? void 0 : o.querySelector("input");
29
- if (!i) return;
30
- const r = s !== null;
31
- i.indeterminate = r, r && (i.checked = !0, this.setAttribute("checked", ""));
33
+ const c = (o = this.shadowRoot) == null ? void 0 : o.querySelector("input");
34
+ if (!c) return;
35
+ const r = i !== null;
36
+ c.indeterminate = r, r && (c.checked = !0, this.setAttribute("checked", ""));
32
37
  }
33
38
  ["id", "size"].includes(e) && (this.render(), this.setupListener());
34
39
  }
@@ -40,11 +45,11 @@ class p extends HTMLElement {
40
45
  setupListener() {
41
46
  var t;
42
47
  const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector("input");
43
- e && (this.cleanupListeners(), e.indeterminate = this.hasAttribute("indeterminate"), this._changeHandler = (s) => {
44
- const c = s.target;
45
- c.checked ? this.setAttribute("checked", "") : this.removeAttribute("checked"), this.removeAttribute("indeterminate"), this.dispatchEvent(
48
+ e && (this.cleanupListeners(), e.indeterminate = this.hasAttribute("indeterminate"), this._changeHandler = (i) => {
49
+ const s = i.target;
50
+ s.checked ? this.setAttribute("checked", "") : this.removeAttribute("checked"), this.removeAttribute("indeterminate"), this.dispatchEvent(
46
51
  new CustomEvent("change", {
47
- detail: { checked: c.checked },
52
+ detail: { checked: s.checked },
48
53
  bubbles: !0,
49
54
  composed: !0
50
55
  })
@@ -52,7 +57,7 @@ class p extends HTMLElement {
52
57
  }, e.addEventListener("change", this._changeHandler));
53
58
  }
54
59
  render() {
55
- const e = this.getAttribute("id") || `mui-checkbox-${Math.random().toString(36).substr(2, 9)}`, t = this.hasAttribute("checked"), s = this.hasAttribute("disabled"), c = this.getAttribute("size") || "medium", o = ["x-small", "small", "medium", "large"].includes(c) ? c : "medium", r = {
60
+ const e = this.getAttribute("id") || `mui-checkbox-${Math.random().toString(36).substr(2, 9)}`, t = this.hasAttribute("checked"), i = this.hasAttribute("disabled"), s = this.getAttribute("size") || "medium", o = ["x-small", "small", "medium", "large"].includes(s) ? s : "medium", r = {
56
61
  "x-small": "x-small",
57
62
  small: "x-small",
58
63
  medium: "small",
@@ -173,7 +178,7 @@ class p extends HTMLElement {
173
178
  id="${e}"
174
179
  ${n ? "indeterminate" : ""}
175
180
  ${n || t ? "checked" : ""}
176
- ${s ? "disabled" : ""}
181
+ ${i ? "disabled" : ""}
177
182
  />
178
183
  ${u}
179
184
  </span>
@@ -6,8 +6,8 @@ class d extends HTMLElement {
6
6
  return ["active", "usage", "dismiss", "size", "disabled", "variant"];
7
7
  }
8
8
  connectedCallback() {
9
- this.render(), this.updateIconSlots(), !this.hasAttribute("tabindex") && !this.hasAttribute("dismiss") ? this.setAttribute("tabindex", "0") : this.hasAttribute("dismiss") && this.removeAttribute("tabindex"), this.addEventListener("keydown", (r) => {
10
- this.hasAttribute("disabled") || (r.key === "Enter" || r.key === " ") && (r.preventDefault(), this.click());
9
+ this.hasAttribute("size") || this.setAttribute("size", "medium"), this.render(), this.updateIconSlots(), !this.hasAttribute("tabindex") && !this.hasAttribute("dismiss") ? this.setAttribute("tabindex", "0") : this.hasAttribute("dismiss") && this.removeAttribute("tabindex"), this.addEventListener("keydown", (a) => {
10
+ this.hasAttribute("disabled") || (a.key === "Enter" || a.key === " ") && (a.preventDefault(), this.click());
11
11
  });
12
12
  }
13
13
  attributeChangedCallback() {
@@ -15,48 +15,64 @@ class d extends HTMLElement {
15
15
  }
16
16
  updateIconSlots() {
17
17
  requestAnimationFrame(() => {
18
- const r = this.shadowRoot;
19
- if (!r) return;
20
- const e = r.querySelector('slot[name="before"]'), s = r.querySelector('slot[name="after"]'), o = (t) => t ? t.assignedNodes({ flatten: !0 }).some((i) => {
21
- var n;
22
- return i.nodeType === Node.ELEMENT_NODE || i.nodeType === Node.TEXT_NODE && !!((n = i.textContent) != null && n.trim());
23
- }) : !1, c = o(e), a = o(s);
24
- this.toggleAttribute("has-before", c), this.toggleAttribute("has-after", a), this.forceAvatarSize(e), this.forceAvatarSize(s);
18
+ const a = this.shadowRoot;
19
+ if (!a) return;
20
+ const e = a.querySelector('slot[name="before"]'), c = a.querySelector('slot[name="after"]'), s = (i) => i ? i.assignedNodes({ flatten: !0 }).some((r) => {
21
+ var t;
22
+ return r.nodeType === Node.ELEMENT_NODE || r.nodeType === Node.TEXT_NODE && !!((t = r.textContent) != null && t.trim());
23
+ }) : !1, l = s(e), o = s(c);
24
+ this.toggleAttribute("has-before", l), this.toggleAttribute("has-after", o), this.forceAvatarSize(e), this.forceAvatarSize(c);
25
25
  });
26
26
  }
27
- forceAvatarSize(r) {
28
- if (!r) return;
29
- const e = this.getAttribute("size") || "medium", o = {
30
- "x-small": "xx-small",
31
- small: "x-small",
27
+ forceAvatarSize(a) {
28
+ if (!a) return;
29
+ const e = this.getAttribute("size") || "medium", s = {
30
+ "x-small": "x-small",
31
+ small: "small",
32
32
  medium: "medium",
33
- large: "medium"
33
+ large: "large"
34
34
  }[e] || "medium";
35
- r.assignedNodes({ flatten: !0 }).forEach((a) => {
36
- if (a.nodeType === Node.ELEMENT_NODE) {
37
- const t = a, i = t.tagName.toLowerCase();
38
- i === "mui-avatar" ? t.setAttribute("size", "xx-small") : i.startsWith("mui-icon-") && t.setAttribute("size", o);
35
+ a.assignedNodes({ flatten: !0 }).forEach((o) => {
36
+ if (o.nodeType === Node.ELEMENT_NODE) {
37
+ const i = o, r = i.tagName.toLowerCase();
38
+ if (r === "mui-avatar") {
39
+ const n = {
40
+ "x-small": "xxx-small",
41
+ small: "xx-small",
42
+ medium: "xx-small",
43
+ large: "x-small"
44
+ }[e] || "xx-small";
45
+ i.setAttribute("size", n);
46
+ } else if (r === "mui-badge") {
47
+ const n = {
48
+ "x-small": "xx-small",
49
+ small: "small",
50
+ medium: "medium",
51
+ large: "large"
52
+ }[e] || "medium";
53
+ i.setAttribute("size", n);
54
+ } else r.startsWith("mui-icon-") && i.setAttribute("size", s);
39
55
  }
40
56
  });
41
57
  }
42
58
  render() {
43
- var n;
44
- const r = this.getAttribute("size") || "medium", e = {
45
- "x-small": "x-small",
59
+ var t;
60
+ const a = this.getAttribute("size") || "medium", e = {
61
+ "x-small": "xx-small",
46
62
  small: "x-small",
47
63
  medium: "small",
48
64
  large: "medium"
49
- }, s = {
65
+ }, c = {
50
66
  "x-small": "xx-small",
51
67
  small: "xx-small",
52
68
  medium: "x-small",
53
69
  large: "small"
54
- }, o = {
70
+ }, s = {
55
71
  "x-small": "x-small",
56
72
  small: "x-small",
57
73
  medium: "small",
58
74
  large: "small"
59
- }, c = e[r] || "small", a = s[r] || "x-small", t = o[r] || "small", i = (
75
+ }, l = e[a] || "small", o = c[a] || "x-small", i = s[a] || "small", r = (
60
76
  /*css*/
61
77
  `
62
78
  :host {
@@ -66,23 +82,21 @@ class d extends HTMLElement {
66
82
  max-width: 100%;
67
83
  --chip-focus-outline: var(--stroke-size-300) var(--stroke-outset) var(--outline-color);
68
84
  --chip-focus-outline-offset: calc(-1 * var(--stroke-size-300));
69
- --chip-dismiss-action-size: var(--chip-height-medium);
85
+ --chip-dismiss-action-size: var(--avatar-xx-small);
70
86
  }
71
87
  :host([disabled]) {
72
- opacity: 0.4;
88
+ --chip-background: var(--chip-background-disabled);
89
+ --chip-text-color: var(--chip-text-color-disabled);
90
+ --chip-dismiss-action-background: var(--chip-dismiss-action-background-disabled);
73
91
  }
74
92
 
75
93
  .container {
76
94
  display: inline-grid;
77
95
  align-items: center;
78
- height: var(--chip-height-medium);
79
96
  box-sizing: border-box;
80
97
  border: var(--border-thin);
81
- padding: var(--chip-padding-medium);
82
- gap: var(--chip-gap-medium);
83
98
  background: var(--chip-background);
84
99
  border-color: var(--chip-border-color);
85
- border-radius: var(--chip-radius);
86
100
  min-width: 0;
87
101
  max-width: 100%;
88
102
  filter: var(
@@ -100,11 +114,34 @@ class d extends HTMLElement {
100
114
  color: var(--chip-text-color, var(--text-color));
101
115
  }
102
116
 
117
+ /* Base Before & After Slot Layout
118
+ ========================================= */
119
+
120
+ :host([has-after][has-before]) .container {
121
+ grid-template-columns: auto 1fr auto;
122
+ }
123
+
124
+ :host([has-after]) .container {
125
+ grid-template-columns: 1fr auto;
126
+ }
127
+
128
+ :host([has-before]) .container {
129
+ grid-template-columns: auto 1fr;
130
+ }
131
+
103
132
  :host([size="x-small"]) .container {
104
133
  height: var(--chip-height-x-small);
105
134
  padding: var(--chip-padding-x-small);
106
135
  gap: var(--chip-gap-x-small);
107
136
  border-radius: var(--chip-radius-x-small);
137
+ --chip-dismiss-action-size: var(--avatar-xxx-small);
138
+ }
139
+
140
+ :host([size="x-small"][has-before]) .container {
141
+ padding-left: calc(var(--space-025) + var(--space-025));
142
+ }
143
+ :host([size="x-small"][has-after]) .container {
144
+ padding-right: calc(var(--space-025) + var(--space-025));
108
145
  }
109
146
 
110
147
  :host([size="small"]) .container {
@@ -114,16 +151,53 @@ class d extends HTMLElement {
114
151
  border-radius: var(--chip-radius-small);
115
152
  }
116
153
 
154
+ :host([size="small"][has-before]) .container {
155
+ padding-left: calc(var(--space-050) + var(--space-025));
156
+ }
157
+ :host([size="small"][has-after]) .container {
158
+ padding-right: calc(var(--space-050) + var(--space-025));
159
+ }
160
+
117
161
  :host([size="medium"]) .container {
118
162
  height: var(--chip-height-medium);
163
+ padding: var(--chip-padding-medium);
164
+ gap: var(--chip-gap-medium);
119
165
  border-radius: var(--chip-radius-medium);
120
166
  }
121
167
 
168
+ :host([size="medium"][has-before]) .container {
169
+ padding-left: calc(var(--space-200) + var(--space-025));
170
+ }
171
+ :host([size="medium"][has-after]) .container {
172
+ padding-right: calc(var(--space-200) + var(--space-025));
173
+ }
174
+
122
175
  :host([size="large"]) .container {
123
176
  height: var(--chip-height-large);
124
177
  padding: var(--chip-padding-large);
125
178
  gap: var(--chip-gap-large);
126
179
  border-radius: var(--chip-radius-large);
180
+ --chip-dismiss-action-size: var(--avatar-x-small);
181
+ }
182
+
183
+ :host([size="large"][has-before]) .container {
184
+ padding-left: var(--space-300);
185
+ }
186
+ :host([size="large"][has-after]) .container {
187
+ padding-right: var(--space-300);
188
+ }
189
+
190
+ :host([size="x-small"]) {
191
+ --chip-input-border-radius: var(--form-radius-x-small);
192
+ }
193
+ :host([size="small"]) {
194
+ --chip-input-border-radius: var(--form-radius-small);
195
+ }
196
+ :host([size="medium"]) {
197
+ --chip-input-border-radius: var(--form-radius-medium);
198
+ }
199
+ :host([size="large"]) {
200
+ --chip-input-border-radius: var(--form-radius-large);
127
201
  }
128
202
 
129
203
  /* CLICKABLE */
@@ -136,28 +210,15 @@ class d extends HTMLElement {
136
210
  transition: border-color var(--speed-200), background-color var(--speed-200);
137
211
  }
138
212
 
139
- /* Before & After Slot
140
- ========================================= */
141
-
142
- :host([has-after][has-before]) .container {
143
- grid-template-columns: auto 1fr auto;
144
- padding-right: var(--space-200);
145
- padding-left: var(--space-200);
146
- }
147
213
 
148
- :host([has-after]) .container {
149
- grid-template-columns: 1fr auto;
150
- padding-right: var(--space-200);
151
- }
152
-
153
- :host([has-before]) .container {
154
- grid-template-columns: auto 1fr;
155
- padding-left: var(--space-200);
156
- }
157
214
 
158
215
  /* Usage: input */
159
216
  :host([usage="input"]) .container {
160
- border-radius: var(--input-radius);
217
+ border-radius: var(--radius-000);
218
+ border-top-left-radius: calc(var(--chip-radius-left, 0px) - (var(--space-025) + var(--stroke-size-100)));
219
+ border-bottom-left-radius: calc(var(--chip-radius-left, 0px) - (var(--space-025) + var(--stroke-size-100)));
220
+ border-top-right-radius: calc(var(--chip-radius-right, 0px) - (var(--space-025) + var(--stroke-size-100)));
221
+ border-bottom-right-radius: calc(var(--chip-radius-right, 0px) - (var(--space-025) + var(--stroke-size-100)));
161
222
  border: none;
162
223
  }
163
224
 
@@ -171,14 +232,24 @@ class d extends HTMLElement {
171
232
 
172
233
  :host([usage="input"][slot="before"]) {
173
234
  border-right: none;
174
- border-top-left-radius: var(--input-radius);
175
- border-bottom-left-radius: var(--input-radius);
235
+ border-top-left-radius: var(--chip-input-border-radius, var(--form-radius-medium));
236
+ border-bottom-left-radius: var(--chip-input-border-radius, var(--form-radius-medium));
237
+ }
238
+
239
+ :host([usage="input"][slot="before"]) .container {
240
+ border-top-left-radius: calc(var(--chip-input-border-radius, var(--form-radius-medium)) - (var(--space-025) + var(--stroke-size-100)));
241
+ border-bottom-left-radius: calc(var(--chip-input-border-radius, var(--form-radius-medium)) - (var(--space-025) + var(--stroke-size-100)));
176
242
  }
177
243
 
178
244
  :host([usage="input"][slot="after"]) {
179
245
  border-left: none;
180
- border-top-right-radius: var(--input-radius);
181
- border-bottom-right-radius: var(--input-radius);
246
+ border-top-right-radius: var(--chip-input-border-radius, var(--form-radius-medium));
247
+ border-bottom-right-radius: var(--chip-input-border-radius, var(--form-radius-medium));
248
+ }
249
+
250
+ :host([usage="input"][slot="after"]) .container {
251
+ border-top-right-radius: calc(var(--chip-input-border-radius, var(--form-radius-medium)) - (var(--space-025) + var(--stroke-size-100)));
252
+ border-bottom-right-radius: calc(var(--chip-input-border-radius, var(--form-radius-medium)) - (var(--space-025) + var(--stroke-size-100)));
182
253
  }
183
254
 
184
255
  /* Hover and focus (natural) */
@@ -249,12 +320,55 @@ class d extends HTMLElement {
249
320
  flex-shrink: 0;
250
321
  }
251
322
 
252
- :host([has-before]) ::slotted(.mui-icon) {
253
- margin-right: -4px;
323
+ :host([size="x-small"]) ::slotted(.mui-icon) {
324
+ padding: var(--space-025);
325
+ }
326
+
327
+ :host([size="small"]) ::slotted(.mui-icon) {
328
+ padding: var(--space-025);
329
+ }
330
+
331
+ :host([size="medium"]) ::slotted(.mui-icon) {
332
+ padding: var(--space-025);
333
+ }
334
+
335
+ :host([size="large"]) ::slotted(.mui-icon) {
336
+ padding: var(--space-025);
337
+ }
338
+
339
+ slot[name="before"]::slotted(.mui-icon) {
340
+ margin-right: calc(var(--space-050) * -1);
341
+ }
342
+ slot[name="after"]::slotted(.mui-icon) {
343
+ margin-left: calc(var(--space-050) * -1);
344
+ }
345
+
346
+ :host([size="x-small"]) slot[name="before"]::slotted(.mui-icon) {
347
+ margin-left: var(--space-050);
348
+ }
349
+ :host([size="x-small"]) slot[name="after"]::slotted(.mui-icon) {
350
+ margin-right: var(--space-050);
351
+ }
352
+
353
+ :host([size="small"]) slot[name="before"]::slotted(.mui-icon) {
354
+ margin-left: var(--space-025);
355
+ }
356
+ :host([size="small"]) slot[name="after"]::slotted(.mui-icon) {
357
+ margin-right: var(--space-025);
358
+ }
359
+
360
+ :host([size="medium"]) slot[name="before"]::slotted(.mui-icon) {
361
+ margin-left: var(--space-025);
362
+ }
363
+ :host([size="medium"]) slot[name="after"]::slotted(.mui-icon) {
364
+ margin-right: var(--space-025);
254
365
  }
255
366
 
256
- :host([has-after]) ::slotted(.mui-icon) {
257
- margin-left: -4px;
367
+ :host([size="large"]) slot[name="before"]::slotted(.mui-icon) {
368
+ margin-left: var(--space-025);
369
+ }
370
+ :host([size="large"]) slot[name="after"]::slotted(.mui-icon) {
371
+ margin-right: var(--space-025);
258
372
  }
259
373
 
260
374
 
@@ -264,7 +378,6 @@ class d extends HTMLElement {
264
378
  /* Disable pointer and focus styles when dismiss attribute is present */
265
379
  :host([dismiss]) .container {
266
380
  grid-template-columns: 1fr auto;
267
- padding-right: calc(var(--space-200) + 0.1rem);
268
381
  }
269
382
 
270
383
  :host([dismiss][size="x-small"]) .container {
@@ -275,14 +388,17 @@ class d extends HTMLElement {
275
388
  padding-right: calc(var(--space-100) + 0.1rem);
276
389
  }
277
390
 
391
+ :host([dismiss][size="medium"]) .container {
392
+ padding-right: calc(var(--space-200) + 0.1rem);
393
+ }
394
+
278
395
  :host([dismiss][size="large"]) .container {
279
- padding-right: calc(var(--space-300) + 0.1rem);
396
+ padding-right: calc(var(--space-200) + 0.1rem);
280
397
  }
281
398
 
282
399
  /* Has Before */
283
400
  :host([dismiss][has-before]) .container {
284
401
  grid-template-columns: auto 1fr auto;
285
- padding-left: var(--space-200);
286
402
  }
287
403
 
288
404
  /* Dismiss Icon */
@@ -305,24 +421,24 @@ class d extends HTMLElement {
305
421
  );
306
422
  this.hasAttribute("dismiss") ? (this.shadowRoot.innerHTML = /*html*/
307
423
  `
308
- <style>${i}</style>
424
+ <style>${r}</style>
309
425
  <span class="container">
310
426
  <slot name="before"></slot>
311
- <mui-body size="${c}" weight="bold" truncate>
427
+ <mui-body size="${l}" weight="bold" truncate>
312
428
  <slot></slot>
313
429
  </mui-body>
314
430
  <mui-button
315
431
  part="dismiss-btn"
316
432
  variant="tertiary"
317
- size="${t}"
433
+ size="${i}"
318
434
  aria-label="Remove chip"
319
435
  ${this.hasAttribute("disabled") ? "disabled" : ""}
320
436
  >
321
- <mui-icon-close size="${a}"></mui-icon-close>
437
+ <mui-icon-close size="${o}"></mui-icon-close>
322
438
  </mui-button>
323
439
  </span>
324
- `, (n = this.shadowRoot.querySelector('[part="dismiss-btn"]')) == null || n.addEventListener("click", (l) => {
325
- this.hasAttribute("disabled") || (l.stopPropagation(), this.dispatchEvent(
440
+ `, (t = this.shadowRoot.querySelector('[part="dismiss-btn"]')) == null || t.addEventListener("click", (n) => {
441
+ this.hasAttribute("disabled") || (n.stopPropagation(), this.dispatchEvent(
326
442
  new CustomEvent("dismiss", {
327
443
  bubbles: !0,
328
444
  composed: !0,
@@ -331,10 +447,10 @@ class d extends HTMLElement {
331
447
  ));
332
448
  })) : (this.hasAttribute("variant") || this.setAttribute("variant", "clickable"), this.shadowRoot.innerHTML = /*html*/
333
449
  `
334
- <style>${i}</style>
450
+ <style>${r}</style>
335
451
  <span class="container">
336
452
  <slot name="before"></slot>
337
- <mui-body size="${c}" weight="bold" truncate>
453
+ <mui-body size="${l}" weight="bold" truncate>
338
454
  <slot></slot>
339
455
  </mui-body>
340
456
  <slot name="after"></slot>