@muibook/components 19.6.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 (172) hide show
  1. package/AGENTS.md +67 -0
  2. package/DESIGN.md +358 -0
  3. package/README.md +53 -2
  4. package/dist/esm/agent/keywords/index.js +2 -173
  5. package/dist/esm/agent/prompts/index.js +6 -432
  6. package/dist/esm/components/mui-accordion/core/index.js +25 -17
  7. package/dist/esm/components/mui-addon/index.js +14 -14
  8. package/dist/esm/components/mui-avatar/index.js +103 -43
  9. package/dist/esm/components/mui-avatar-chip/index.js +158 -0
  10. package/dist/esm/components/mui-avatar-group/index.js +88 -0
  11. package/dist/esm/components/mui-badge/index.js +37 -20
  12. package/dist/esm/components/mui-body/index.js +20 -11
  13. package/dist/esm/components/mui-button/index.js +265 -78
  14. package/dist/esm/components/mui-calendar/index.js +199 -0
  15. package/dist/esm/components/mui-card/body/index.js +33 -18
  16. package/dist/esm/components/mui-card/footer/index.js +11 -9
  17. package/dist/esm/components/mui-carousel/controller/index.js +1 -1
  18. package/dist/esm/components/mui-checkbox/index.js +23 -18
  19. package/dist/esm/components/mui-chip/index.js +219 -73
  20. package/dist/esm/components/mui-chip-input/index.js +146 -137
  21. package/dist/esm/components/mui-chip-rail/index.js +342 -0
  22. package/dist/esm/components/mui-code/index.js +26 -7
  23. package/dist/esm/components/mui-container/index.js +68 -45
  24. package/dist/esm/components/mui-date-picker/index.js +169 -0
  25. package/dist/esm/components/mui-drawer/index.js +968 -100
  26. package/dist/esm/components/mui-dropdown/index.js +255 -59
  27. package/dist/esm/components/mui-field/index.js +1 -1
  28. package/dist/esm/components/mui-file-upload/index.js +14 -4
  29. package/dist/esm/components/mui-form-group/index.js +1 -2
  30. package/dist/esm/components/mui-form-message/index.js +4 -9
  31. package/dist/esm/components/mui-heading/index.js +3 -2
  32. package/dist/esm/components/mui-hint/index.js +178 -72
  33. package/dist/esm/components/mui-icons/copy/index.js +54 -0
  34. package/dist/esm/components/mui-icons/fullscreen/index.js +5 -0
  35. package/dist/esm/components/mui-icons/icon-helper/index.js +56 -0
  36. package/dist/esm/components/mui-icons/index.js +14 -1
  37. package/dist/esm/components/mui-icons/moon/index.js +3 -1
  38. package/dist/esm/components/mui-icons/{rectangle-bottom-panel → panel}/index.js +6 -6
  39. package/dist/esm/components/mui-icons/pause/index.js +5 -0
  40. package/dist/esm/components/mui-icons/picture-in-picture/index.js +5 -0
  41. package/dist/esm/components/mui-icons/play-fill/index.js +5 -0
  42. package/dist/esm/components/mui-icons/rectangle-right-drawer/index.js +56 -0
  43. package/dist/esm/components/mui-icons/reload/index.js +5 -0
  44. package/dist/esm/components/mui-icons/speaker-mute/index.js +5 -0
  45. package/dist/esm/components/mui-icons/speaker-one-wave/index.js +5 -0
  46. package/dist/esm/components/mui-icons/speaker-two-wave/index.js +5 -0
  47. package/dist/esm/components/mui-icons/spinner/index.js +7 -5
  48. package/dist/esm/components/mui-icons/stop-fill/index.js +5 -0
  49. package/dist/esm/components/mui-icons/sun/index.js +5 -5
  50. package/dist/esm/components/mui-icons/timer/index.js +54 -0
  51. package/dist/esm/components/mui-icons/toggle/index.js +16 -6
  52. package/dist/esm/components/mui-icons/vertical-ellipsis/index.js +5 -0
  53. package/dist/esm/components/mui-illustrations/trash/index.js +6 -5
  54. package/dist/esm/components/mui-input/index.js +96 -67
  55. package/dist/esm/components/mui-link/index.js +352 -96
  56. package/dist/esm/components/mui-media-player/index.js +1577 -83
  57. package/dist/esm/components/mui-message/index.js +7 -6
  58. package/dist/esm/components/mui-model-viewer/index.js +258 -0
  59. package/dist/esm/components/mui-progress-ring/index.js +349 -0
  60. package/dist/esm/components/mui-prompt/index.js +143 -115
  61. package/dist/esm/components/mui-prompt-preview/index.js +11 -23
  62. package/dist/esm/components/mui-radio/index.js +38 -17
  63. package/dist/esm/components/mui-range-input/index.js +9 -4
  64. package/dist/esm/components/mui-responsive/index.js +60 -27
  65. package/dist/esm/components/mui-search-input/index.js +300 -0
  66. package/dist/esm/components/mui-select/index.js +235 -46
  67. package/dist/esm/components/mui-slat/slat/index.js +40 -12
  68. package/dist/esm/components/mui-spinner/index.js +11 -9
  69. package/dist/esm/components/mui-stack/hstack/index.js +10 -5
  70. package/dist/esm/components/mui-status/index.js +239 -0
  71. package/dist/esm/components/mui-stepper/step/index.js +46 -32
  72. package/dist/esm/components/mui-switch/index.js +37 -26
  73. package/dist/esm/components/mui-table/row/index.js +2 -6
  74. package/dist/esm/components/mui-table/table/index.js +157 -14
  75. package/dist/esm/components/mui-tabs/controller/index.js +17 -6
  76. package/dist/esm/components/mui-tabs/item/index.js +17 -5
  77. package/dist/esm/components/mui-tabs/tab-bar/index.js +93 -39
  78. package/dist/esm/components/mui-textarea/index.js +43 -26
  79. package/dist/esm/components/mui-time/index/index.js +336 -0
  80. package/dist/esm/components/mui-time-picker/index.js +126 -0
  81. package/dist/esm/components/mui-video-thumbnail/index.js +205 -0
  82. package/dist/esm/css/mui-brand.css +12 -8
  83. package/dist/esm/css/mui-tokens.css +646 -344
  84. package/dist/esm/css/readme.md +2 -2
  85. package/dist/esm/custom-elements.json +4506 -1707
  86. package/dist/esm/dynamic-attrs.json +271 -54
  87. package/dist/esm/index.js +33 -6
  88. package/dist/esm/knowledge/compositions/index.js +1560 -0
  89. package/dist/esm/knowledge/index.js +28 -0
  90. package/dist/esm/knowledge/keywords/index.js +306 -0
  91. package/dist/esm/knowledge/rules/index.js +199 -0
  92. package/dist/esm/tokens/js/index.js +143 -139
  93. package/dist/types/agent/keywords/index.d.ts +1 -1
  94. package/dist/types/components/mui-avatar-chip/api.d.ts +28 -0
  95. package/dist/types/components/mui-avatar-chip/index.d.ts +18 -0
  96. package/dist/types/components/mui-avatar-group/api.d.ts +28 -0
  97. package/dist/types/components/mui-avatar-group/doc.d.ts +2 -0
  98. package/dist/types/components/mui-avatar-group/index.d.ts +1 -0
  99. package/dist/types/components/mui-button/api.d.ts +6 -2
  100. package/dist/types/components/mui-calendar/api.d.ts +41 -0
  101. package/dist/types/components/mui-calendar/doc.d.ts +2 -0
  102. package/dist/types/components/mui-calendar/index.d.ts +3 -0
  103. package/dist/types/components/mui-checkbox/api.d.ts +4 -0
  104. package/dist/types/components/mui-chip/api.d.ts +4 -0
  105. package/dist/types/components/mui-chip-input/api.d.ts +4 -0
  106. package/dist/types/components/mui-chip-rail/api.d.ts +21 -0
  107. package/dist/types/components/mui-chip-rail/doc.d.ts +2 -0
  108. package/dist/types/components/mui-chip-rail/index.d.ts +4 -0
  109. package/dist/types/components/mui-date-picker/api.d.ts +38 -0
  110. package/dist/types/components/mui-date-picker/doc.d.ts +2 -0
  111. package/dist/types/components/mui-date-picker/index.d.ts +6 -0
  112. package/dist/types/components/mui-drawer/api.d.ts +4 -0
  113. package/dist/types/components/mui-drawer/index.d.ts +2 -0
  114. package/dist/types/components/mui-file-upload/api.d.ts +4 -0
  115. package/dist/types/components/mui-icons/fullscreen.d.ts +1 -0
  116. package/dist/types/components/mui-icons/icon-helper.d.ts +1 -0
  117. package/dist/types/components/mui-icons/index.d.ts +14 -1
  118. package/dist/types/components/mui-icons/panel.d.ts +1 -0
  119. package/dist/types/components/mui-icons/pause.d.ts +1 -0
  120. package/dist/types/components/mui-icons/picture-in-picture.d.ts +1 -0
  121. package/dist/types/components/mui-icons/play-fill.d.ts +1 -0
  122. package/dist/types/components/mui-icons/rectangle-right-drawer.d.ts +1 -0
  123. package/dist/types/components/mui-icons/reload.d.ts +1 -0
  124. package/dist/types/components/mui-icons/speaker-mute.d.ts +1 -0
  125. package/dist/types/components/mui-icons/speaker-one-wave.d.ts +1 -0
  126. package/dist/types/components/mui-icons/speaker-two-wave.d.ts +1 -0
  127. package/dist/types/components/mui-icons/stop-fill.d.ts +1 -0
  128. package/dist/types/components/mui-icons/timer.d.ts +1 -0
  129. package/dist/types/components/mui-icons/vertical-ellipsis.d.ts +1 -0
  130. package/dist/types/components/mui-input/api.d.ts +12 -0
  131. package/dist/types/components/mui-link/api.d.ts +4 -0
  132. package/dist/types/components/mui-media-player/api.d.ts +4 -0
  133. package/dist/types/components/mui-media-player/index.d.ts +13 -4
  134. package/dist/types/components/mui-model-viewer/api.d.ts +28 -0
  135. package/dist/types/components/mui-model-viewer/doc.d.ts +2 -0
  136. package/dist/types/components/mui-model-viewer/index.d.ts +17 -0
  137. package/dist/types/components/mui-progress-ring/api.d.ts +24 -0
  138. package/dist/types/components/mui-progress-ring/doc.d.ts +2 -0
  139. package/dist/types/components/mui-progress-ring/index.d.ts +1 -0
  140. package/dist/types/components/mui-radio/api.d.ts +12 -0
  141. package/dist/types/components/mui-range-input/api.d.ts +4 -0
  142. package/dist/types/components/mui-responsive/api.d.ts +10 -2
  143. package/dist/types/components/mui-search-input/api.d.ts +40 -0
  144. package/dist/types/components/mui-search-input/doc.d.ts +2 -0
  145. package/dist/types/components/mui-search-input/index.d.ts +3 -0
  146. package/dist/types/components/mui-select/api.d.ts +12 -0
  147. package/dist/types/components/mui-status/api.d.ts +24 -0
  148. package/dist/types/components/mui-status/doc.d.ts +2 -0
  149. package/dist/types/components/mui-status/index.d.ts +1 -0
  150. package/dist/types/components/mui-switch/api.d.ts +4 -0
  151. package/dist/types/components/mui-table/api.d.ts +15 -0
  152. package/dist/types/components/mui-textarea/api.d.ts +12 -0
  153. package/dist/types/components/mui-time/api.d.ts +41 -0
  154. package/dist/types/components/mui-time/doc.d.ts +2 -0
  155. package/dist/types/components/mui-time/index.d.ts +1 -0
  156. package/dist/types/components/mui-time-picker/api.d.ts +38 -0
  157. package/dist/types/components/mui-time-picker/doc.d.ts +2 -0
  158. package/dist/types/components/mui-time-picker/index.d.ts +4 -0
  159. package/dist/types/components/mui-video-thumbnail/api.d.ts +28 -0
  160. package/dist/types/components/mui-video-thumbnail/doc.d.ts +2 -0
  161. package/dist/types/components/mui-video-thumbnail/index.d.ts +1 -0
  162. package/dist/types/index.d.ts +27 -2
  163. package/dist/types/knowledge/compositions.d.ts +4644 -0
  164. package/dist/types/knowledge/index.d.ts +4657 -0
  165. package/dist/types/knowledge/keywords.d.ts +4 -0
  166. package/dist/types/knowledge/rules.d.ts +1 -0
  167. package/dist/types/tokens/js/index.d.ts +11 -7
  168. package/package.json +131 -12
  169. package/dist/esm/components/mui-form-hint/index.js +0 -1
  170. package/dist/types/components/mui-form-hint/index.d.ts +0 -1
  171. /package/dist/types/components/{mui-form-hint → mui-avatar-chip}/doc.d.ts +0 -0
  172. /package/dist/types/components/mui-icons/{rectangle-bottom-panel.d.ts → copy.d.ts} +0 -0
@@ -0,0 +1,5 @@
1
+ import { defineMuiIcon as a } from "../icon-helper/index.js";
2
+ a(
3
+ "mui-icon-speaker-two-wave",
4
+ '<path d="M15.44 22.5q-.493 0-.903-.197-.402-.187-.867-.616l-3.432-3.191a.24.24 0 0 0-.134-.036H7.699q-1.305 0-2.002-.733T5 15.645v-3.29q0-1.35.697-2.073.697-.733 2.002-.733h2.414q.053 0 .134-.063l3.423-3.164q.483-.447.894-.634.411-.188.867-.188.768 0 1.287.527.518.519.518 1.278v13.398q0 .76-.518 1.279a1.74 1.74 0 0 1-1.278.518m3.79-3.825a1.36 1.36 0 0 1-.671-.975q-.108-.634.366-1.465.287-.492.438-1.064.153-.572.152-1.18 0-.607-.152-1.18a4.1 4.1 0 0 0-.438-1.063q-.482-.831-.375-1.466.116-.644.68-.974a1.5 1.5 0 0 1 1.09-.215q.572.107.884.536a7.6 7.6 0 0 1 1.002 2.038q.366 1.11.366 2.324 0 1.215-.366 2.324a7.4 7.4 0 0 1-1.001 2.02 1.33 1.33 0 0 1-.885.554 1.56 1.56 0 0 1-1.09-.214m4.736 2.645q-.625-.348-.706-1.01-.08-.67.322-1.35.634-1.072.983-2.341a9.9 9.9 0 0 0 .349-2.628q0-1.367-.349-2.628a9.7 9.7 0 0 0-.983-2.35q-.402-.67-.322-1.341t.706-1.01a1.57 1.57 0 0 1 1.127-.179q.58.125.92.653.938 1.483 1.44 3.226.5 1.743.5 3.63 0 1.885-.5 3.628a12.3 12.3 0 0 1-1.44 3.217 1.42 1.42 0 0 1-.92.653q-.582.135-1.127-.17"></path>'
5
+ );
@@ -1,4 +1,4 @@
1
- class r extends HTMLElement {
1
+ class l extends HTMLElement {
2
2
  static get observedAttributes() {
3
3
  return ["size", "color"];
4
4
  }
@@ -12,7 +12,7 @@ class r extends HTMLElement {
12
12
  (t === "size" || t === "color") && e !== i && this.render();
13
13
  }
14
14
  render() {
15
- const t = this.getAttribute("size") || "small", e = this.getAttribute("color"), l = e && {
15
+ const t = this.getAttribute("size") || "small", e = this.getAttribute("color"), r = e && {
16
16
  default: "var(--icon-color-default)",
17
17
  inverted: "var(--icon-color-inverted)"
18
18
  }[e] || e || "var(--icon-color-default)", s = {
@@ -20,7 +20,9 @@ class r extends HTMLElement {
20
20
  "x-small": "1.6rem",
21
21
  small: "2.1rem",
22
22
  medium: "2.4rem",
23
- large: "2.8rem"
23
+ large: "2.8rem",
24
+ "x-large": "3.6rem",
25
+ "xx-large": "4.8rem"
24
26
  }, o = s[t] ?? s.small;
25
27
  this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
26
28
  `
@@ -31,7 +33,7 @@ class r extends HTMLElement {
31
33
  display: inline-flex;
32
34
  align-items: center;
33
35
  justify-content: center;
34
- fill: ${l};
36
+ fill: ${r};
35
37
  }
36
38
  svg {
37
39
  width: 100%;
@@ -53,4 +55,4 @@ class r extends HTMLElement {
53
55
  `);
54
56
  }
55
57
  }
56
- customElements.get("mui-icon-spinner") || customElements.define("mui-icon-spinner", r);
58
+ customElements.get("mui-icon-spinner") || customElements.define("mui-icon-spinner", l);
@@ -0,0 +1,5 @@
1
+ import { defineMuiIcon as i } from "../icon-helper/index.js";
2
+ i(
3
+ "mui-icon-stop-fill",
4
+ '<path d="M6.046 19.8V8.2q0-1.026.576-1.593.586-.566 1.611-.566h11.534q1.035 0 1.61.566.577.567.577 1.592v11.602q0 1.015-.576 1.582-.576.576-1.611.576H8.233q-1.025 0-1.61-.576-.577-.567-.577-1.582"></path>'
5
+ );
@@ -1,4 +1,4 @@
1
- class l extends HTMLElement {
1
+ class o extends HTMLElement {
2
2
  static get observedAttributes() {
3
3
  return ["size", "color"];
4
4
  }
@@ -12,7 +12,7 @@ class l extends HTMLElement {
12
12
  (e === "size" || e === "color") && t !== c && this.render();
13
13
  }
14
14
  render() {
15
- const e = this.getAttribute("size") || "small", t = this.getAttribute("color"), o = t && {
15
+ const e = this.getAttribute("size") || "small", t = this.getAttribute("color"), l = t && {
16
16
  default: "var(--icon-color-default)",
17
17
  inverted: "var(--icon-color-inverted)"
18
18
  }[t] || t || "var(--icon-color-default)", s = {
@@ -31,7 +31,7 @@ class l extends HTMLElement {
31
31
  display: inline-flex;
32
32
  align-items: center;
33
33
  justify-content: center;
34
- fill: ${o};
34
+ fill: ${l};
35
35
  }
36
36
  svg {
37
37
  width: 100%;
@@ -45,7 +45,7 @@ class l extends HTMLElement {
45
45
  viewBox="0 0 36 36"
46
46
  >
47
47
  <path
48
- d="M17.993 7.606c-1.081 0-1.994-.914-1.994-1.996V3.024c0-1.096.913-2.024 1.994-2.024 1.095 0 2.008.928 2.008 2.024V5.61c0 1.082-.913 1.996-2.008 1.996m7.373 3.12c-.772-.773-.787-2.094-.042-2.839l1.84-1.841c.758-.76 2.064-.787 2.808-.042.773.773.787 2.08.043 2.839l-1.826 1.841c-.773.773-2.079.787-2.823.042m-14.746 0c-.744.745-2.05.731-2.809-.042L5.986 8.83c-.745-.745-.73-2.052.042-2.825.744-.745 2.05-.717 2.808.042l1.826 1.841c.744.745.73 2.066-.042 2.84m7.373 15.377c-4.424 0-8.075-3.655-8.075-8.096s3.651-8.096 8.075-8.096c4.438 0 8.09 3.655 8.09 8.096s-3.652 8.096-8.09 8.096m10.42-8.096c0-1.082.913-1.996 1.995-1.996h2.584c1.095 0 2.008.914 2.008 1.996s-.913 1.996-2.008 1.996h-2.584c-1.082 0-1.995-.914-1.995-1.996m-20.812 0c0 1.082-.927 1.996-2.023 1.996H2.994C1.913 20.003 1 19.089 1 18.007s.913-1.996 1.994-1.996h2.584c1.096 0 2.023.914 2.023 1.996m17.723 7.337c.772-.773 2.078-.787 2.837-.042L30 27.143c.772.759.786 2.066.041 2.811-.772.773-2.078.787-2.836.042l-1.84-1.827c-.772-.773-.787-2.08-.042-2.825m-14.662 0c.744.745.73 2.052-.042 2.825l-1.84 1.827c-.744.745-2.05.731-2.837-.042-.73-.745-.73-2.066.043-2.825l1.853-1.827c.745-.745 2.05-.731 2.823.042m7.331 3.05c1.095 0 2.008.914 2.008 2.01v2.586c0 1.082-.913 2.01-2.008 2.01-1.081 0-1.994-.928-1.994-2.01v-2.586c0-1.096.913-2.01 1.994-2.01"
48
+ d="M17.994 8.794c-.959 0-1.768-.81-1.768-1.768v-2.29c0-.972.81-1.793 1.768-1.793.97 0 1.78.821 1.78 1.792v2.291c0 .959-.81 1.768-1.78 1.768m6.536 2.763c-.685-.684-.698-1.854-.038-2.514l1.631-1.631c.672-.672 1.83-.697 2.49-.037.685.684.697 1.842.037 2.514l-1.618 1.631c-.685.685-1.843.697-2.502.037m-13.072 0c-.66.66-1.818.648-2.49-.037L7.35 9.877c-.66-.66-.648-1.818.037-2.502.66-.66 1.818-.635 2.49.037l1.618 1.63c.66.66.648 1.83-.037 2.515m6.536 13.62c-3.922 0-7.158-3.237-7.158-7.17 0-3.935 3.236-7.172 7.158-7.172 3.934 0 7.17 3.237 7.17 7.171s-3.236 7.171-7.17 7.171m9.237-7.17c0-.96.81-1.769 1.768-1.769h2.29c.972 0 1.78.81 1.78 1.768 0 .959-.808 1.768-1.78 1.768H29c-.959 0-1.768-.81-1.768-1.768m-18.45 0c0 .958-.821 1.767-1.792 1.767H4.698c-.959 0-1.768-.81-1.768-1.768s.81-1.768 1.768-1.768h2.29c.972 0 1.793.81 1.793 1.768m15.711 6.498c.685-.685 1.843-.697 2.515-.038l1.63 1.631c.686.672.698 1.83.038 2.49-.684.685-1.842.697-2.515.037l-1.63-1.618c-.685-.685-.698-1.842-.038-2.502m-12.997 0c.66.66.648 1.817-.037 2.502l-1.63 1.618c-.66.66-1.819.648-2.516-.037-.647-.66-.647-1.83.038-2.502l1.643-1.619c.66-.66 1.818-.647 2.502.038m6.499 2.701c.97 0 1.78.81 1.78 1.78v2.291c0 .959-.81 1.78-1.78 1.78-.959 0-1.768-.821-1.768-1.78v-2.29c0-.972.81-1.78 1.768-1.78"
49
49
  ></path>
50
50
  </svg>
51
51
 
@@ -53,4 +53,4 @@ class l extends HTMLElement {
53
53
  `);
54
54
  }
55
55
  }
56
- customElements.get("mui-icon-sun") || customElements.define("mui-icon-sun", l);
56
+ customElements.get("mui-icon-sun") || customElements.define("mui-icon-sun", o);
@@ -0,0 +1,54 @@
1
+ class a extends HTMLElement {
2
+ static get observedAttributes() {
3
+ return ["size", "color"];
4
+ }
5
+ constructor() {
6
+ super(), this.attachShadow({ mode: "open" });
7
+ }
8
+ connectedCallback() {
9
+ this.render();
10
+ }
11
+ attributeChangedCallback(e, t, i) {
12
+ (e === "size" || e === "color") && t !== i && this.render();
13
+ }
14
+ render() {
15
+ const e = this.getAttribute("size") || "small", t = this.getAttribute("color"), l = t && {
16
+ default: "var(--icon-color-default)",
17
+ inverted: "var(--icon-color-inverted)"
18
+ }[t] || t || "var(--icon-color-default)", o = {
19
+ "xx-small": "1.3rem",
20
+ "x-small": "1.6rem",
21
+ small: "2.1rem",
22
+ medium: "2.4rem",
23
+ large: "2.8rem"
24
+ }, s = o[e] ?? o.small;
25
+ this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
26
+ `
27
+ <style>
28
+ :host {
29
+ width: ${s};
30
+ height: ${s};
31
+ display: inline-flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ fill: ${l};
35
+ }
36
+ svg {
37
+ width: 100%;
38
+ display: block;
39
+ fill: inherit;
40
+ }
41
+ </style>
42
+
43
+ <svg
44
+ xmlns="http://www.w3.org/2000/svg"
45
+ viewBox="0 0 36 36"
46
+ >
47
+ <path
48
+ d="M17.993 32.585q-3.01 0-5.663-1.146a14.7 14.7 0 0 1-4.64-3.136 14.9 14.9 0 0 1-3.15-4.64Q3.41 21.01 3.409 18q0-2.528.815-4.793a14.6 14.6 0 0 1 2.251-4.115q.594-.83 1.423-.912.842-.097 1.436.47.608.58.539 1.27-.056.69-.566 1.437-1.05 1.38-1.658 3.066A10.4 10.4 0 0 0 7.041 18q0 2.28.842 4.268a11.2 11.2 0 0 0 2.362 3.48 11.1 11.1 0 0 0 3.494 2.348 10.6 10.6 0 0 0 4.254.856q2.28 0 4.254-.856a10.9 10.9 0 0 0 3.494-2.348 11.3 11.3 0 0 0 2.362-3.494q.855-1.989.856-4.254 0-2.28-.814-4.185a10.7 10.7 0 0 0-2.183-3.328 11.2 11.2 0 0 0-3.107-2.307q-1.74-.87-3.605-1.05v1.893q0 .649-.414 1.09-.415.429-1.064.429-.65 0-1.063-.428a1.54 1.54 0 0 1-.415-1.091V5.03q0-.759.456-1.188.47-.428 1.257-.428 3.024 0 5.663 1.133a14.4 14.4 0 0 1 4.64 3.135 14.55 14.55 0 0 1 3.15 4.654Q32.59 14.975 32.591 18q0 3.01-1.147 5.663a14.7 14.7 0 0 1-7.79 7.776q-2.638 1.146-5.662 1.146m0-12.085q-.676 0-1.243-.332a2.86 2.86 0 0 1-.94-.939l-3.866-6.077q-.304-.51-.166-.925a.83.83 0 0 1 .552-.566q.428-.153.926.18l6.09 4.046a2.5 2.5 0 0 1 .857.925q.304.552.304 1.188 0 1.036-.732 1.768a2.42 2.42 0 0 1-1.782.732"
49
+ ></path>
50
+ </svg>
51
+ `);
52
+ }
53
+ }
54
+ customElements.get("mui-icon-timer") || customElements.define("mui-icon-timer", a);
@@ -1,6 +1,6 @@
1
- class a extends HTMLElement {
1
+ class i extends HTMLElement {
2
2
  static get observedAttributes() {
3
- return ["toggle", "rotate", "size"];
3
+ return ["toggle", "rotate", "morph", "size"];
4
4
  }
5
5
  constructor() {
6
6
  super(), this.attachShadow({ mode: "open" });
@@ -18,8 +18,8 @@ class a extends HTMLElement {
18
18
  small: "2.1rem",
19
19
  medium: "2.4rem",
20
20
  large: "2.8rem"
21
- }, i = l[s] ?? l.medium;
22
- this.style.setProperty("--icon-toggle-size", i), this.applySize();
21
+ }, r = l[s] ?? l.medium;
22
+ this.style.setProperty("--icon-toggle-size", r), this.applySize();
23
23
  }
24
24
  }
25
25
  get toggle() {
@@ -34,6 +34,12 @@ class a extends HTMLElement {
34
34
  set rotate(t) {
35
35
  this.toggleAttribute("rotate", !!t);
36
36
  }
37
+ get morph() {
38
+ return this.hasAttribute("morph");
39
+ }
40
+ set morph(t) {
41
+ this.toggleAttribute("morph", !!t);
42
+ }
37
43
  /* ------------------------------------------------------------------ */
38
44
  /* PRIVATE: force size="small" on all assigned elements */
39
45
  /* ------------------------------------------------------------------ */
@@ -60,10 +66,14 @@ class a extends HTMLElement {
60
66
  position: absolute;
61
67
  transform-origin: 50% 50%;
62
68
  translate: 0 0;
63
- transition: transform var(--speed-200) ease-in-out, translate var(--speed-200) ease-in-out;
64
69
  fill: currentColor;
65
70
  }
66
71
 
72
+ :host([morph]) ::slotted(*),
73
+ :host([rotate]) ::slotted(*) {
74
+ transition: transform var(--speed-200) ease-in-out, translate var(--speed-200) ease-in-out;
75
+ }
76
+
67
77
  ::slotted([slot="start"]) {
68
78
  transform: scale(1);
69
79
  }
@@ -90,4 +100,4 @@ class a extends HTMLElement {
90
100
  `;
91
101
  }
92
102
  }
93
- customElements.get("mui-icon-toggle") || customElements.define("mui-icon-toggle", a);
103
+ customElements.get("mui-icon-toggle") || customElements.define("mui-icon-toggle", i);
@@ -0,0 +1,5 @@
1
+ import { defineMuiIcon as i } from "../icon-helper/index.js";
2
+ i(
3
+ "mui-icon-vertical-ellipsis",
4
+ '<path d="M11.622 6.902a2.375 2.375 0 0 1 2.373-2.372 2.383 2.383 0 0 1 2.383 2.372 2.377 2.377 0 1 1-4.755 0m0 6.628a2.37 2.37 0 0 1 2.373-2.373 2.377 2.377 0 1 1 0 4.755 2.377 2.377 0 0 1-2.373-2.382m0 6.627a2.377 2.377 0 1 1 2.373 2.373 2.375 2.375 0 0 1-2.373-2.373"></path>'
5
+ );
@@ -8,19 +8,20 @@ class c extends HTMLElement {
8
8
  connectedCallback() {
9
9
  this.render();
10
10
  }
11
- attributeChangedCallback(l, t, a) {
12
- (l === "size" || l === "color") && t !== a && this.render();
11
+ attributeChangedCallback(t, l, a) {
12
+ (t === "size" || t === "color") && l !== a && this.render();
13
13
  }
14
14
  render() {
15
- const l = this.getAttribute("size") || "medium", t = this.getAttribute("color"), a = {
15
+ const t = this.getAttribute("size") || "medium", l = this.getAttribute("color"), a = {
16
16
  default: "var(--illustration-main-color-default)",
17
17
  inverted: "var(--illustration-main-color-inverted)"
18
- }, o = t && a[t] || t || a.default, s = "color-mix(in srgb, var(--illustration-main-color) 35%, transparent)", e = "color-mix(in srgb, var(--illustration-main-color) 14%, transparent)", n = t === "inverted" ? "var(--illustration-shadow-color-inverted)" : "var(--illustration-shadow-color-default)", i = {
18
+ }, o = l && a[l] || l || a.default, s = "color-mix(in srgb, var(--illustration-main-color) 35%, transparent)", e = "color-mix(in srgb, var(--illustration-main-color) 14%, transparent)", n = l === "inverted" ? "var(--illustration-shadow-color-inverted)" : "var(--illustration-shadow-color-default)", i = {
19
+ "x-small": "var(--illustration-size-x-small)",
19
20
  small: "var(--illustration-size-small)",
20
21
  medium: "var(--illustration-size-medium)",
21
22
  large: "var(--illustration-size-large)",
22
23
  "x-large": "var(--illustration-size-x-large)"
23
- }, r = i[l] ?? i.medium;
24
+ }, r = i[t] ?? i.medium;
24
25
  this.classList.add("mui-illustration"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
25
26
  `
26
27
  <style>
@@ -13,12 +13,26 @@ class I extends HTMLElement {
13
13
  "optional",
14
14
  "max-length",
15
15
  "size",
16
- "slot-layout"
16
+ "slot-layout",
17
+ "autofocus"
17
18
  ];
18
19
  }
19
20
  constructor() {
20
21
  super(), this.attachShadow({ mode: "open" });
21
22
  }
23
+ get value() {
24
+ var i;
25
+ const e = (i = this.shadowRoot) == null ? void 0 : i.querySelector("input");
26
+ return (e == null ? void 0 : e.value) ?? this.getAttribute("value") ?? "";
27
+ }
28
+ set value(e) {
29
+ this.setAttribute("value", e ?? "");
30
+ }
31
+ focus(e) {
32
+ var t;
33
+ const i = (t = this.shadowRoot) == null ? void 0 : t.querySelector("input");
34
+ i ? i.focus(e) : super.focus(e);
35
+ }
22
36
  connectedCallback() {
23
37
  this.hasAttribute("size") || this.setAttribute("size", "medium"), this.render(), this.setupListener();
24
38
  }
@@ -26,98 +40,100 @@ class I extends HTMLElement {
26
40
  var e;
27
41
  this.cleanupListeners(), (e = this._slotResizeObserver) == null || e.disconnect();
28
42
  }
29
- attributeChangedCallback(e, r, t) {
43
+ attributeChangedCallback(e, i, t) {
30
44
  var h;
31
- const o = (h = this.shadowRoot) == null ? void 0 : h.querySelector("input");
32
- if (o) {
45
+ const r = (h = this.shadowRoot) == null ? void 0 : h.querySelector("input");
46
+ if (r) {
33
47
  if (e === "value") {
34
- o.value = t ?? "", this.updateCharacterCount();
48
+ r.value = t ?? "", this.updateCharacterCount();
35
49
  return;
36
50
  }
37
51
  if (e === "disabled") {
38
- t === null || t === "false" ? o.removeAttribute("disabled") : o.setAttribute("disabled", "");
52
+ t === null || t === "false" ? r.removeAttribute("disabled") : r.setAttribute("disabled", "");
53
+ return;
54
+ }
55
+ if (e === "autofocus" && t !== null) {
56
+ requestAnimationFrame(() => this.focus({ preventScroll: !0 }));
39
57
  return;
40
58
  }
41
- ["type", "placeholder", "label", "hide-label", "variant", "optional", "max-length", "size", "slot-layout"].includes(
42
- e
43
- ) && (this.render(), this.setupListener());
59
+ ["type", "placeholder", "label", "hide-label", "variant", "optional", "max-length", "size", "slot-layout"].includes(e) && (this.render(), this.setupListener());
44
60
  }
45
61
  }
46
62
  cleanupListeners() {
47
- var r;
48
- const e = (r = this.shadowRoot) == null ? void 0 : r.querySelector("input");
63
+ var i;
64
+ const e = (i = this.shadowRoot) == null ? void 0 : i.querySelector("input");
49
65
  e && this._changeHandler && (e.removeEventListener("change", this._changeHandler), e.removeEventListener("input", this._changeHandler));
50
66
  }
51
67
  setupListener() {
52
68
  if (!this.shadowRoot) return;
53
69
  const e = this.shadowRoot.querySelector("input");
54
- e && (this.cleanupListeners(), this._changeHandler = (r) => {
55
- const t = r.target;
70
+ e && (this.cleanupListeners(), this._changeHandler = (i) => {
71
+ const t = i.target;
56
72
  this.setAttribute("value", t.value);
57
- const o = {
73
+ const r = {
58
74
  detail: { value: t.value },
59
75
  bubbles: !0,
60
76
  composed: !0
61
77
  };
62
- this.dispatchEvent(new CustomEvent("change", o)), this.dispatchEvent(new CustomEvent("input", o)), this.updateCharacterCount();
63
- }, e.addEventListener("change", this._changeHandler), e.addEventListener("input", this._changeHandler), this.updateCharacterCount());
78
+ this.dispatchEvent(new CustomEvent("change", r)), this.dispatchEvent(new CustomEvent("input", r)), this.updateCharacterCount();
79
+ }, e.addEventListener("change", this._changeHandler), e.addEventListener("input", this._changeHandler), this.updateCharacterCount(), this.hasAttribute("autofocus") && requestAnimationFrame(() => this.focus({ preventScroll: !0 })));
64
80
  }
65
81
  updateCharacterCount() {
66
- var t, o;
67
- const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector("input"), r = (o = this.shadowRoot) == null ? void 0 : o.querySelector(".char-count");
68
- !e || !r || e.maxLength <= 0 || (r.textContent = `${e.value.length}/${e.maxLength}`);
82
+ var t, r;
83
+ const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector("input"), i = (r = this.shadowRoot) == null ? void 0 : r.querySelector(".char-count");
84
+ !e || !i || e.maxLength <= 0 || (i.textContent = `${e.value.length}/${e.maxLength}`);
69
85
  }
70
86
  updateSlottedButtons() {
71
87
  requestAnimationFrame(() => {
72
- var T, E, S, A, O, f, m, R;
73
- const e = this.getAttribute("size") || "medium", t = ["x-small", "small", "medium", "large"].includes(e) ? e : "medium", o = (T = this.shadowRoot) == null ? void 0 : T.querySelector('slot[name="before"]'), h = (E = this.shadowRoot) == null ? void 0 : E.querySelector('slot[name="after"]'), N = (S = this.shadowRoot) == null ? void 0 : S.querySelector('slot[name="inside-before"]'), g = (A = this.shadowRoot) == null ? void 0 : A.querySelector('slot[name="inside-after"]'), l = (O = this.shadowRoot) == null ? void 0 : O.querySelector('slot[name="hint"]'), x = {
74
- "x-small": "var(--action-icon-only-size-x-small)",
75
- small: "var(--action-icon-only-size-small)",
76
- medium: "var(--action-icon-only-size)",
77
- large: "var(--action-icon-only-size-large)"
78
- }[t] || "var(--action-icon-only-size)", z = (s) => {
88
+ var A, T, S, E, R, O, f, m;
89
+ const e = this.getAttribute("size") || "medium", t = ["x-small", "small", "medium", "large"].includes(e) ? e : "medium", r = (A = this.shadowRoot) == null ? void 0 : A.querySelector('slot[name="before"]'), h = (T = this.shadowRoot) == null ? void 0 : T.querySelector('slot[name="after"]'), N = (S = this.shadowRoot) == null ? void 0 : S.querySelector('slot[name="inside-before"]'), x = (E = this.shadowRoot) == null ? void 0 : E.querySelector('slot[name="inside-after"]'), l = (R = this.shadowRoot) == null ? void 0 : R.querySelector('slot[name="hint"]'), z = {
90
+ "x-small": "var(--action-size-x-small)",
91
+ small: "var(--action-size-small)",
92
+ medium: "var(--action-size-medium)",
93
+ large: "var(--action-size-large)"
94
+ }[t] || "var(--action-size-medium)", w = (s) => {
79
95
  if (!s) return;
80
96
  s.assignedNodes({ flatten: !0 }).forEach((a) => {
81
97
  if (a.nodeType === Node.ELEMENT_NODE) {
82
- const i = a, c = i.tagName.toLowerCase();
83
- (c === "mui-button" || c === "mui-link") && (i.setAttribute("usage", "input"), i.setAttribute("size", t), i.style.setProperty("--input-slot-min-height", x), i.removeAttribute("variant"), i.removeAttribute("weight")), c === "mui-chip" && (i.setAttribute("usage", "input"), i.setAttribute("size", t)), c === "mui-addon" && i.setAttribute("size", t);
98
+ const o = a, c = o.tagName.toLowerCase();
99
+ (c === "mui-button" || c === "mui-link") && (o.setAttribute("usage", "input"), o.setAttribute("size", t), o.style.setProperty("--input-slot-min-height", z), o.removeAttribute("variant"), o.removeAttribute("weight")), c === "mui-chip" && (o.setAttribute("usage", "input"), o.setAttribute("size", t)), c === "mui-addon" && o.setAttribute("size", t);
84
100
  }
85
101
  });
86
102
  };
87
- z(o), z(h);
103
+ w(r), w(h);
88
104
  const L = {
89
105
  "x-small": "xx-small",
90
106
  small: "x-small",
91
- medium: "x-small",
92
- large: "small"
107
+ medium: "small",
108
+ large: "medium"
93
109
  }, v = {
94
110
  "x-small": "xx-small",
95
111
  small: "x-small",
96
112
  medium: "small",
97
113
  large: "medium"
98
- }, b = L[t] || "x-small", w = v[t] || "small", C = (s) => {
99
- s && s.assignedNodes({ flatten: !0 }).forEach((u) => {
100
- if (u.nodeType !== Node.ELEMENT_NODE) return;
101
- const a = u, i = a.tagName.toLowerCase();
102
- if (i === "mui-hint") {
114
+ }, b = L[t] || "x-small", y = v[t] || "small", C = (s) => {
115
+ s && s.assignedNodes({ flatten: !0 }).forEach((n) => {
116
+ if (n.nodeType !== Node.ELEMENT_NODE) return;
117
+ const a = n, o = a.tagName.toLowerCase();
118
+ if (o === "mui-hint") {
103
119
  a.removeAttribute("aria-hidden");
104
120
  return;
105
121
  }
106
- i.startsWith("mui-icon-") && a.setAttribute("size", b), i === "mui-badge" && a.setAttribute("size", w), a.setAttribute("aria-hidden", "true");
122
+ o.startsWith("mui-icon-") && a.setAttribute("size", b), o === "mui-badge" && a.setAttribute("size", y), a.setAttribute("aria-hidden", "true");
107
123
  });
108
124
  };
109
- if (C(N), C(g), l) {
125
+ if (C(N), C(x), l) {
110
126
  const s = {
111
127
  "x-small": "xx-small",
112
128
  small: "x-small",
113
- medium: "x-small",
114
- large: "small"
115
- }, u = {
129
+ medium: "small",
130
+ large: "medium"
131
+ }, n = {
116
132
  "x-small": "xx-small",
117
133
  small: "x-small",
118
134
  medium: "small",
119
135
  large: "medium"
120
- }, a = s[t] || "x-small", i = u[t] || "small";
136
+ }, a = s[t] || "x-small", o = n[t] || "small";
121
137
  l.assignedNodes({ flatten: !0 }).forEach((c) => {
122
138
  if (c.nodeType !== Node.ELEMENT_NODE) return;
123
139
  const p = c, $ = p.tagName.toLowerCase();
@@ -125,15 +141,15 @@ class I extends HTMLElement {
125
141
  p.removeAttribute("aria-hidden");
126
142
  return;
127
143
  }
128
- $.startsWith("mui-icon-") && !p.hasAttribute("size") && p.setAttribute("size", a), $ === "mui-badge" && !p.hasAttribute("size") && p.setAttribute("size", i), p.setAttribute("aria-hidden", "true");
144
+ $.startsWith("mui-icon-") && !p.hasAttribute("size") && p.setAttribute("size", a), $ === "mui-badge" && !p.hasAttribute("size") && p.setAttribute("size", o), p.setAttribute("aria-hidden", "true");
129
145
  });
130
146
  }
131
- (f = this._slotResizeObserver) == null || f.disconnect();
132
- const d = (m = this.shadowRoot) == null ? void 0 : m.querySelector(".inside-before-slot"), n = (R = this.shadowRoot) == null ? void 0 : R.querySelector(".inside-after-cluster"), y = () => {
133
- const s = (d == null ? void 0 : d.offsetWidth) || 0, u = (n == null ? void 0 : n.offsetWidth) || 0;
134
- this.style.setProperty("--input-inside-before-space", `${s}px`), this.style.setProperty("--input-inside-after-space", `${u}px`);
147
+ (O = this._slotResizeObserver) == null || O.disconnect();
148
+ const d = (f = this.shadowRoot) == null ? void 0 : f.querySelector(".inside-before-slot"), u = (m = this.shadowRoot) == null ? void 0 : m.querySelector(".inside-after-cluster"), g = () => {
149
+ const s = (d == null ? void 0 : d.offsetWidth) || 0, n = (u == null ? void 0 : u.offsetWidth) || 0;
150
+ this.style.setProperty("--input-inside-before-space", `${s}px`), this.style.setProperty("--input-inside-after-space", `${n}px`);
135
151
  };
136
- y(), typeof ResizeObserver < "u" && (this._slotResizeObserver = new ResizeObserver(() => y()), d && this._slotResizeObserver.observe(d), n && this._slotResizeObserver.observe(n));
152
+ g(), typeof ResizeObserver < "u" && (this._slotResizeObserver = new ResizeObserver(() => g()), d && this._slotResizeObserver.observe(d), u && this._slotResizeObserver.observe(u));
137
153
  });
138
154
  }
139
155
  render() {
@@ -150,14 +166,14 @@ class I extends HTMLElement {
150
166
  "datetime-local",
151
167
  "month",
152
168
  "week"
153
- ], r = this.getAttribute("type") || "text", t = e.includes(r) ? r : "text", o = this.getAttribute("name") || "", h = this.getAttribute("value") || "", N = this.getAttribute("placeholder") || "", g = this.getAttribute("id") || `mui-input-${Math.random().toString(36).substr(2, 9)}`, l = this.getAttribute("label") || "", k = this.hasAttribute("optional"), x = this.hasAttribute("hide-label"), z = this.hasAttribute("disabled"), L = x && l ? `aria-label="${l}"` : "", v = this.getAttribute("max-length"), b = v && Number(v) > 0 ? String(Number(v)) : "", w = this.getAttribute("size") || "medium", d = ["x-small", "small", "medium", "large"].includes(w) ? w : "medium", n = this.getAttribute("variant") || "", y = n || "", E = (this.getAttribute("slot-layout") || "inline") === "stack-mobile" ? "input-wrapper stack-mobile" : "input-wrapper", S = this.querySelector('[slot="before"]') !== null, A = this.querySelector('[slot="after"]') !== null, O = this.querySelector('[slot="inside-before"]') !== null, f = this.querySelector('[slot="inside-after"]') !== null, m = this.querySelector('[slot="hint"]') !== null, R = [
154
- y,
155
- S ? "before" : "",
156
- A ? "after" : "",
169
+ ], i = this.getAttribute("type") || "text", t = e.includes(i) ? i : "text", r = this.getAttribute("name") || "", h = this.getAttribute("value") || "", N = this.getAttribute("placeholder") || "", x = this.getAttribute("id") || `mui-input-${Math.random().toString(36).substr(2, 9)}`, l = this.getAttribute("label") || "", k = this.hasAttribute("optional"), z = this.hasAttribute("hide-label"), w = this.hasAttribute("disabled"), L = z && l ? `aria-label="${l}"` : "", v = this.getAttribute("max-length"), b = v && Number(v) > 0 ? String(Number(v)) : "", y = this.getAttribute("size") || "medium", d = ["x-small", "small", "medium", "large"].includes(y) ? y : "medium", u = this.hasAttribute("autofocus"), g = this.getAttribute("variant") || "", A = g || "", S = (this.getAttribute("slot-layout") || "inline") === "stack-mobile" ? "input-wrapper stack-mobile" : "input-wrapper", E = this.querySelector('[slot="before"]') !== null, R = this.querySelector('[slot="after"]') !== null, O = this.querySelector('[slot="inside-before"]') !== null, f = this.querySelector('[slot="inside-after"]') !== null, m = this.querySelector('[slot="hint"]') !== null, s = [
170
+ A,
171
+ E ? "before" : "",
172
+ R ? "after" : "",
157
173
  O ? "inside-before" : "",
158
174
  f ? "inside-after" : "",
159
175
  m ? "hint" : ""
160
- ].filter(Boolean).join(" "), s = (
176
+ ].filter(Boolean).join(" "), n = (
161
177
  /*html*/
162
178
  `
163
179
  <style>
@@ -258,11 +274,15 @@ class I extends HTMLElement {
258
274
  display: inline-flex;
259
275
  align-items: center;
260
276
  justify-content: center;
261
- color: var(--text-color-optional);
277
+ color: var(--input-inside-before-color, var(--text-color-optional));
262
278
  gap: var(--space-100);
263
279
  overflow: visible;
264
280
  flex: 0 0 auto;
265
281
  }
282
+ .input-shell:focus-within .inside-before-slot {
283
+ color: var(--input-inside-before-color-focus, var(--input-inside-before-color, var(--text-color-optional)));
284
+ z-index: 3;
285
+ }
266
286
  .inside-after-cluster {
267
287
  position: absolute;
268
288
  right: var(--input-inline-offset);
@@ -320,7 +340,7 @@ class I extends HTMLElement {
320
340
  }
321
341
  .input-wrapper.stack-mobile .inside-before-slot,
322
342
  .input-wrapper.stack-mobile .inside-after-cluster {
323
- top: calc(var(--action-icon-only-size) / 2);
343
+ top: calc(var(--action-size-medium) / 2);
324
344
  }
325
345
  .input-wrapper.stack-mobile slot[name="before"]::slotted(mui-addon),
326
346
  .input-wrapper.stack-mobile slot[name="after"]::slotted(mui-addon) {
@@ -406,17 +426,18 @@ class I extends HTMLElement {
406
426
  padding: var(--space-200) var(--space-300);
407
427
  box-sizing: border-box;
408
428
  font-size: var(--text-font-size);
409
- border-radius: var(--radius-100);
429
+ border-radius: var(--form-radius-medium);
410
430
  border: var(--border-thin);
411
431
  border-color: var(--form-default-border-color);
412
432
  color: var(--form-default-text-color);
413
433
  background: var(--input-background);
414
434
  }
415
435
  input.size-x-small {
416
- min-height: var(--action-icon-only-size-x-small);
436
+ min-height: var(--action-size-x-small);
417
437
  padding: var(--action-padding-x-small);
418
438
  font-size: var(--text-font-size-xs);
419
439
  line-height: var(--text-line-height-xs);
440
+ border-radius: var(--form-radius-x-small);
420
441
  --input-inline-padding-current: var(--space-200);
421
442
  }
422
443
  input.size-x-small.inside-before:not(.before) {
@@ -427,10 +448,11 @@ class I extends HTMLElement {
427
448
  padding-right: calc(var(--input-inline-padding-current) + var(--input-inside-after-space, 0px) + var(--input-inline-gap));
428
449
  }
429
450
  input.size-small {
430
- min-height: var(--action-icon-only-size-small);
451
+ min-height: var(--action-size-small);
431
452
  padding: var(--action-padding-small);
432
453
  font-size: var(--text-font-size-s);
433
454
  line-height: var(--text-line-height-s);
455
+ border-radius: var(--form-radius-small);
434
456
  --input-inline-padding-current: var(--space-300);
435
457
  }
436
458
  input.size-small.inside-before:not(.before) {
@@ -441,10 +463,11 @@ class I extends HTMLElement {
441
463
  padding-right: calc(var(--input-inline-padding-current) + var(--input-inside-after-space, 0px) + var(--input-inline-gap));
442
464
  }
443
465
  input.size-medium {
444
- min-height: 4.4rem;
466
+ min-height: var(--action-size-medium);
445
467
  padding: var(--space-200) var(--space-300);
446
468
  font-size: var(--text-font-size);
447
469
  line-height: var(--text-line-height);
470
+ border-radius: var(--form-radius-medium);
448
471
  --input-inline-padding-current: var(--space-300);
449
472
  }
450
473
  input.size-medium.inside-before:not(.before) {
@@ -455,10 +478,11 @@ class I extends HTMLElement {
455
478
  padding-right: calc(var(--input-inline-padding-current) + var(--input-inside-after-space, 0px) + var(--input-inline-gap));
456
479
  }
457
480
  input.size-large {
458
- min-height: var(--action-icon-only-size-large);
481
+ min-height: var(--action-size-large);
459
482
  padding: var(--space-300) var(--space-400);
460
483
  font-size: var(--text-font-size-l);
461
484
  line-height: var(--text-line-height-l);
485
+ border-radius: var(--form-radius-large);
462
486
  --input-inline-padding-current: var(--space-400);
463
487
  }
464
488
  input.size-large.inside-before:not(.before) {
@@ -596,6 +620,10 @@ class I extends HTMLElement {
596
620
  slot[name="inside-before"]::slotted(*:hover),
597
621
  slot[name="inside-after"]::slotted(*:hover) { z-index: 1; }
598
622
 
623
+ input:focus {
624
+ z-index: 2;
625
+ }
626
+
599
627
  /* Ensure feedback styles appear above SELECT and focusable Items */
600
628
  input.success,
601
629
  input.warning,
@@ -626,8 +654,8 @@ class I extends HTMLElement {
626
654
 
627
655
 
628
656
  </style>
629
- ${l ? `<label for="${g}" class="${[x ? "vh" : "", k ? "label-with-optional" : ""].filter(Boolean).join(" ")}">${l}${k ? ' <span class="optional"><span class="optional-dot" aria-hidden="true">•</span><span class="optional-text">Optional</span></span>' : ""}</label>` : ""}
630
- <div class="${E}">
657
+ ${l ? `<label for="${x}" class="${[z ? "vh" : "", k ? "label-with-optional" : ""].filter(Boolean).join(" ")}">${l}${k ? ' <span class="optional"><span class="optional-dot" aria-hidden="true">•</span><span class="optional-text">Optional</span></span>' : ""}</label>` : ""}
658
+ <div class="${S}">
631
659
  <div class="before-slot">
632
660
  <slot name="before"></slot>
633
661
  </div>
@@ -636,15 +664,16 @@ class I extends HTMLElement {
636
664
  <slot name="inside-before"></slot>
637
665
  </div>
638
666
  <input
639
- class="${[R, `size-${d}`].filter(Boolean).join(" ")}"
667
+ class="${[s, `size-${d}`].filter(Boolean).join(" ")}"
640
668
  type="${t}"
641
- name="${o}"
642
- id="${g}"
669
+ name="${r}"
670
+ id="${x}"
643
671
  value="${h}"
644
672
  placeholder="${N}"
645
- ${z ? 'disabled aria-disabled="true"' : ""}
673
+ ${w ? 'disabled aria-disabled="true"' : ""}
646
674
  ${b ? `maxlength="${b}"` : ""}
647
675
  ${L}
676
+ ${u ? "autofocus" : ""}
648
677
  />
649
678
  ${f || m ? `<div class="inside-after-cluster">
650
679
  ${f ? `<div class="inside-after-slot">
@@ -662,7 +691,7 @@ class I extends HTMLElement {
662
691
  ${b ? '<div class="meta"><span class="char-count"></span></div>' : ""}
663
692
  `
664
693
  );
665
- this.shadowRoot && (this.shadowRoot.innerHTML = s, this.updateSlottedButtons());
694
+ this.shadowRoot && (this.shadowRoot.innerHTML = n, this.updateSlottedButtons());
666
695
  }
667
696
  }
668
697
  customElements.get("mui-input") || customElements.define("mui-input", I);