@muibook/components 7.1.0 → 8.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 (86) hide show
  1. package/dist/esm/agent/keywords/index.js +1 -0
  2. package/dist/esm/agent/prompts/index.js +13 -1
  3. package/dist/esm/components/mui-addon/index.js +0 -1
  4. package/dist/esm/components/mui-avatar/index.js +136 -0
  5. package/dist/esm/components/mui-button/index.js +91 -47
  6. package/dist/esm/components/mui-checkbox/index.js +30 -56
  7. package/dist/esm/components/mui-chip/index.js +17 -10
  8. package/dist/esm/components/mui-dialog/index.js +17 -17
  9. package/dist/esm/components/mui-drawer/index.js +38 -39
  10. package/dist/esm/components/mui-file-upload/index.js +6 -6
  11. package/dist/esm/components/mui-icons/checkmark/index.js +53 -0
  12. package/dist/esm/components/mui-icons/game-controller/index.js +55 -0
  13. package/dist/esm/components/mui-icons/home/index.js +55 -0
  14. package/dist/esm/components/mui-icons/index.js +8 -0
  15. package/dist/esm/components/mui-icons/list-and-film/index.js +55 -0
  16. package/dist/esm/components/mui-icons/movie-clapper/index.js +55 -0
  17. package/dist/esm/components/mui-icons/music-microphone/index.js +55 -0
  18. package/dist/esm/components/mui-icons/music-quarter-note/index.js +55 -0
  19. package/dist/esm/components/mui-icons/play-rectangle/index.js +55 -0
  20. package/dist/esm/components/mui-icons/play-stack/index.js +55 -0
  21. package/dist/esm/components/mui-icons/search/index.js +53 -0
  22. package/dist/esm/components/mui-input/index.js +43 -19
  23. package/dist/esm/components/mui-link/index.js +120 -42
  24. package/dist/esm/components/mui-select/index.js +2 -1
  25. package/dist/esm/components/mui-slat/index.js +0 -1
  26. package/dist/esm/components/mui-slat/slat/index.js +36 -9
  27. package/dist/esm/components/mui-switch/index.js +23 -13
  28. package/dist/esm/css/mui-tokens.css +120 -12
  29. package/dist/esm/custom-elements.json +6186 -0
  30. package/dist/esm/index.js +15 -5
  31. package/dist/types/components/mui-accordion/doc.d.ts +2 -0
  32. package/dist/types/components/mui-addon/doc.d.ts +2 -0
  33. package/dist/types/components/mui-alert/doc.d.ts +2 -0
  34. package/dist/types/components/mui-avatar/doc.d.ts +2 -0
  35. package/dist/types/components/mui-avatar/index.d.ts +1 -0
  36. package/dist/types/components/mui-badge/doc.d.ts +2 -0
  37. package/dist/types/components/mui-body/doc.d.ts +2 -0
  38. package/dist/types/components/mui-button/doc.d.ts +2 -0
  39. package/dist/types/components/mui-button-group/doc.d.ts +2 -0
  40. package/dist/types/components/mui-card/doc.d.ts +2 -0
  41. package/dist/types/components/mui-carousel/doc.d.ts +2 -0
  42. package/dist/types/components/mui-checkbox/doc.d.ts +2 -0
  43. package/dist/types/components/mui-chip/doc.d.ts +2 -0
  44. package/dist/types/components/mui-code/doc.d.ts +2 -0
  45. package/dist/types/components/mui-container/doc.d.ts +2 -0
  46. package/dist/types/components/mui-dialog/doc.d.ts +2 -0
  47. package/dist/types/components/mui-drawer/doc.d.ts +2 -0
  48. package/dist/types/components/mui-dropdown/doc.d.ts +2 -0
  49. package/dist/types/components/mui-field/doc.d.ts +2 -0
  50. package/dist/types/components/mui-file-upload/doc.d.ts +2 -0
  51. package/dist/types/components/mui-grid/doc.d.ts +2 -0
  52. package/dist/types/components/mui-heading/doc.d.ts +2 -0
  53. package/dist/types/components/mui-icons/checkmark.d.ts +1 -0
  54. package/dist/types/components/mui-icons/doc.d.ts +2 -0
  55. package/dist/types/components/mui-icons/game-controller.d.ts +1 -0
  56. package/dist/types/components/mui-icons/home.d.ts +1 -0
  57. package/dist/types/components/mui-icons/index.d.ts +8 -0
  58. package/dist/types/components/mui-icons/list-and-film.d.ts +1 -0
  59. package/dist/types/components/mui-icons/movie-clapper.d.ts +1 -0
  60. package/dist/types/components/mui-icons/music-microphone.d.ts +1 -0
  61. package/dist/types/components/mui-icons/music-quarter-note.d.ts +1 -0
  62. package/dist/types/components/mui-icons/play-rectangle.d.ts +1 -0
  63. package/dist/types/components/mui-icons/play-stack.d.ts +1 -0
  64. package/dist/types/components/mui-icons/search.d.ts +1 -0
  65. package/dist/types/components/mui-image/doc.d.ts +2 -0
  66. package/dist/types/components/mui-input/doc.d.ts +2 -0
  67. package/dist/types/components/mui-link/doc.d.ts +2 -0
  68. package/dist/types/components/mui-list/doc.d.ts +2 -0
  69. package/dist/types/components/mui-loader/doc.d.ts +2 -0
  70. package/dist/types/components/mui-message/doc.d.ts +2 -0
  71. package/dist/types/components/mui-progress/doc.d.ts +2 -0
  72. package/dist/types/components/mui-quote/doc.d.ts +2 -0
  73. package/dist/types/components/mui-responsive/doc.d.ts +2 -0
  74. package/dist/types/components/mui-rule/doc.d.ts +2 -0
  75. package/dist/types/components/mui-select/doc.d.ts +2 -0
  76. package/dist/types/components/mui-slat/doc.d.ts +67 -0
  77. package/dist/types/components/mui-slat/index.d.ts +0 -1
  78. package/dist/types/components/mui-smart-card/doc.d.ts +2 -0
  79. package/dist/types/components/mui-stack/doc.d.ts +2 -0
  80. package/dist/types/components/mui-stepper/doc.d.ts +2 -0
  81. package/dist/types/components/mui-switch/doc.d.ts +2 -0
  82. package/dist/types/components/mui-table/doc.d.ts +2 -0
  83. package/dist/types/components/mui-tabs/doc.d.ts +2 -0
  84. package/dist/types/index.d.ts +11 -1
  85. package/package.json +55 -9
  86. package/dist/esm/components/mui-slat/accessory/index.js +0 -29
@@ -0,0 +1,55 @@
1
+ class c 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
+ "x-small": "1.6rem",
20
+ small: "2.1rem",
21
+ medium: "2.4rem",
22
+ large: "2.8rem"
23
+ }, s = o[e] ?? o.small;
24
+ this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
25
+ `
26
+ <style>
27
+ :host {
28
+ width: ${s};
29
+ height: ${s};
30
+ display: inline-flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ fill: ${l};
34
+ }
35
+ svg {
36
+ width: 100%;
37
+ display: block;
38
+ fill: inherit;
39
+ }
40
+ </style>
41
+
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ viewBox="0 0 36 36"
45
+ >
46
+ <path
47
+ d="M22.07 4.952c2.503-2.573 6.2-2.882 8.984-.127 2.77 2.784 2.446 6.496-.126 8.984zm-3.74 28.16c-1.04 0-1.87-.8-1.87-1.84v-6.285l-6.13 5.708c-.702.646-1.476.646-2.474-.113l-2.503 2.039c-.492.393-1.124.337-1.56-.113l-.422-.407c-.422-.436-.506-1.069-.126-1.533l2.038-2.545c-.745-.998-.773-1.785-.112-2.488l12.99-13.89c-.084-1.744.647-3.46 2.067-4.851l8.844 8.857c-1.364 1.42-3.107 2.151-4.823 2.08l-3.992 3.713-.07 9.827a1.84 1.84 0 0 1-1.857 1.842M7.758 26.928l1.209 1.195 11.964-11.6a8 8 0 0 1-.843-.744 6.5 6.5 0 0 1-.717-.844z"
48
+ ></path>
49
+ </svg>
50
+
51
+
52
+ `);
53
+ }
54
+ }
55
+ customElements.get("mui-icon-music-microphone") || customElements.define("mui-icon-music-microphone", c);
@@ -0,0 +1,55 @@
1
+ class r 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"), c = t && {
16
+ default: "var(--icon-color-default)",
17
+ inverted: "var(--icon-color-inverted)"
18
+ }[t] || t || "var(--icon-color-default)", o = {
19
+ "x-small": "1.6rem",
20
+ small: "2.1rem",
21
+ medium: "2.4rem",
22
+ large: "2.8rem"
23
+ }, s = o[e] ?? o.small;
24
+ this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
25
+ `
26
+ <style>
27
+ :host {
28
+ width: ${s};
29
+ height: ${s};
30
+ display: inline-flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ fill: ${c};
34
+ }
35
+ svg {
36
+ width: 100%;
37
+ display: block;
38
+ fill: inherit;
39
+ }
40
+ </style>
41
+
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ viewBox="0 0 36 36"
45
+ >
46
+ <path
47
+ d="M14.394 20.817c0-2.239 1.442-3.706 4.19-4.303l1.99-.435c.2-.05.274-.2.274-.485V6.428a1.49 1.49 0 0 1 1.48-1.467c.808 0 1.467.671 1.467 1.467v12.635c0 4.042-3.233 5.634-5.21 5.634-2.425 0-4.192-1.63-4.192-3.88M3.002 27.159c0-2.238 1.443-3.693 4.191-4.303l1.977-.435c.212-.037.274-.186.274-.485v-9.153a1.48 1.48 0 0 1 1.48-1.467c.808 0 1.467.659 1.467 1.467v12.635c0 4.042-3.22 5.621-5.21 5.621-2.425 0-4.179-1.617-4.179-3.88m20.607 0c0-2.238 1.442-3.693 4.178-4.303l1.99-.435c.199-.037.273-.186.273-.485v-9.153a1.48 1.48 0 0 1 1.48-1.467c.809 0 1.468.659 1.468 1.467v12.635c0 4.042-3.221 5.621-5.21 5.621-2.426 0-4.18-1.617-4.18-3.88"
48
+ ></path>
49
+ </svg>
50
+
51
+
52
+ `);
53
+ }
54
+ }
55
+ customElements.get("mui-icon-music-quarter-note") || customElements.define("mui-icon-music-quarter-note", r);
@@ -0,0 +1,55 @@
1
+ class c 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
+ "x-small": "1.6rem",
20
+ small: "2.1rem",
21
+ medium: "2.4rem",
22
+ large: "2.8rem"
23
+ }, s = o[e] ?? o.small;
24
+ this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
25
+ `
26
+ <style>
27
+ :host {
28
+ width: ${s};
29
+ height: ${s};
30
+ display: inline-flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ fill: ${l};
34
+ }
35
+ svg {
36
+ width: 100%;
37
+ display: block;
38
+ fill: inherit;
39
+ }
40
+ </style>
41
+
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ viewBox="0 0 36 36"
45
+ >
46
+ <path
47
+ d="M7.67 30.18c-2.974 0-4.673-1.687-4.673-4.66V10.48c0-2.973 1.699-4.66 4.672-4.66h20.662c2.986 0 4.672 1.687 4.672 4.66v15.04c0 2.973-1.686 4.66-4.672 4.66zm.524-3.86h19.625c.874 0 1.324-.4 1.324-1.35V11.03c0-.95-.45-1.337-1.324-1.337H8.194c-.887 0-1.337.387-1.337 1.336v13.942c0 .949.45 1.349 1.337 1.349m8.057-3.398c-.962.575-2.099.062-2.099-1.087v-7.72c0-1.15 1.125-1.662 2.1-1.087l6.383 3.76a1.367 1.367 0 0 1 0 2.374z"
48
+ ></path>
49
+ </svg>
50
+
51
+
52
+ `);
53
+ }
54
+ }
55
+ customElements.get("mui-icon-play-rectangle") || customElements.define("mui-icon-play-rectangle", c);
@@ -0,0 +1,55 @@
1
+ class l 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, c) {
12
+ (e === "size" || e === "color") && t !== c && this.render();
13
+ }
14
+ render() {
15
+ const e = this.getAttribute("size") || "small", t = this.getAttribute("color"), o = t && {
16
+ default: "var(--icon-color-default)",
17
+ inverted: "var(--icon-color-inverted)"
18
+ }[t] || t || "var(--icon-color-default)", s = {
19
+ "x-small": "1.6rem",
20
+ small: "2.1rem",
21
+ medium: "2.4rem",
22
+ large: "2.8rem"
23
+ }, i = s[e] ?? s.small;
24
+ this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
25
+ `
26
+ <style>
27
+ :host {
28
+ width: ${i};
29
+ height: ${i};
30
+ display: inline-flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ fill: ${o};
34
+ }
35
+ svg {
36
+ width: 100%;
37
+ display: block;
38
+ fill: inherit;
39
+ }
40
+ </style>
41
+
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ viewBox="0 0 36 36"
45
+ >
46
+ <path
47
+ d="M8.553 3.242c.121-1.43 1.052-2.24 2.55-2.24H24.52c1.497 0 2.428.81 2.55 2.24zM6.327 7.748C6.49 6.264 7.34 5.347 9.093 5.347H26.53c1.753 0 2.603.917 2.765 2.4zm1.943 27.25c-3.21 0-5.046-1.822-5.046-5.032V14.789c0-3.21 1.835-5.018 5.046-5.018h19.46c3.224 0 5.046 1.821 5.046 5.018v15.176c0 3.211-1.822 5.032-4.91 5.032zm.566-4.17H27.3c.823 0 1.308-.43 1.308-1.443V15.383c0-1.012-.485-1.443-1.43-1.443H8.837c-.959 0-1.444.431-1.444 1.443v14.002c0 1.012.485 1.444 1.443 1.444m7.275-3.102c-1.038.634-2.266.081-2.266-1.174v-8.336c0-1.241 1.214-1.78 2.266-1.16l6.894 4.06c.984.58.998 1.97 0 2.563z"
48
+ ></path>
49
+ </svg>
50
+
51
+
52
+ `);
53
+ }
54
+ }
55
+ customElements.get("mui-icon-play-stack") || customElements.define("mui-icon-play-stack", l);
@@ -0,0 +1,53 @@
1
+ class r 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, s) {
12
+ (e === "size" || e === "color") && t !== s && 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)", i = {
19
+ "x-small": "1.6rem",
20
+ small: "2.1rem",
21
+ medium: "2.4rem",
22
+ large: "2.8rem"
23
+ }, o = i[e] ?? i.small;
24
+ this.classList.add("mui-icon"), this.shadowRoot && (this.shadowRoot.innerHTML = /*html*/
25
+ `
26
+ <style>
27
+ :host {
28
+ width: ${o};
29
+ height: ${o};
30
+ display: inline-flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ fill: ${l};
34
+ }
35
+ svg {
36
+ width: 100%;
37
+ display: block;
38
+ fill: inherit;
39
+ }
40
+ </style>
41
+
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ viewBox="0 0 36 36"
45
+ >
46
+ <path d="M4.5 15.873C4.5 9.583 9.622 4.5 15.962 4.5c6.326 0 11.462 5.082 11.462 11.373 0 1.996-.543 3.874-1.483 5.489l4.633 4.596c.635.63.926 1.458.926 2.298 0 1.839-1.39 3.244-3.256 3.244-.873 0-1.734-.302-2.356-.92l-4.685-4.648a11.14 11.14 0 0 1-5.241 1.3c-6.34 0-11.462-5.082-11.462-11.36m4.328 0c0 3.887 3.203 7.065 7.134 7.065 3.93 0 7.12-3.178 7.12-7.065 0-3.9-3.19-7.079-7.12-7.079s-7.134 3.178-7.134 7.079"></path>
47
+ </svg>
48
+
49
+
50
+ `);
51
+ }
52
+ }
53
+ customElements.get("mui-icon-search") || customElements.define("mui-icon-search", r);
@@ -8,7 +8,7 @@ class m extends HTMLElement {
8
8
  connectedCallback() {
9
9
  this.render(), this.setupListener();
10
10
  }
11
- attributeChangedCallback(e, s, o) {
11
+ attributeChangedCallback(e, a, o) {
12
12
  var r;
13
13
  const t = (r = this.shadowRoot) == null ? void 0 : r.querySelector("input");
14
14
  t && (e === "value" && (t.value = o ?? ""), e === "disabled" && (o === null || o === "false" ? t.removeAttribute("disabled") : t.setAttribute("disabled", "")), (e === "type" || e === "placeholder" || e === "label" || e === "hide-label") && (this.render(), this.setupListener()));
@@ -17,21 +17,21 @@ class m extends HTMLElement {
17
17
  var o, t;
18
18
  const e = (o = this.shadowRoot) == null ? void 0 : o.querySelector("input");
19
19
  if (!e) return;
20
- const s = e.cloneNode(!0);
21
- (t = e.parentNode) == null || t.replaceChild(s, e), s.addEventListener("input", (r) => {
22
- const a = r.target;
20
+ const a = e.cloneNode(!0);
21
+ (t = e.parentNode) == null || t.replaceChild(a, e), a.addEventListener("input", (r) => {
22
+ const s = r.target;
23
23
  this.dispatchEvent(
24
24
  new CustomEvent("input", {
25
- detail: { value: a.value },
25
+ detail: { value: s.value },
26
26
  bubbles: !0,
27
27
  composed: !0
28
28
  })
29
29
  );
30
- }), s.addEventListener("change", (r) => {
31
- const a = r.target;
30
+ }), a.addEventListener("change", (r) => {
31
+ const s = r.target;
32
32
  this.dispatchEvent(
33
33
  new CustomEvent("change", {
34
- detail: { value: a.value },
34
+ detail: { value: s.value },
35
35
  bubbles: !0,
36
36
  composed: !0
37
37
  })
@@ -41,20 +41,20 @@ class m extends HTMLElement {
41
41
  updateSlottedButtons() {
42
42
  requestAnimationFrame(() => {
43
43
  var t, r;
44
- const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name="before"]'), s = (r = this.shadowRoot) == null ? void 0 : r.querySelector('slot[name="after"]'), o = (a) => {
45
- if (!a) return;
46
- a.assignedNodes({ flatten: !0 }).forEach((l) => {
47
- if (l.nodeType === Node.ELEMENT_NODE) {
48
- const i = l, n = i.tagName.toLowerCase();
49
- (n === "mui-button" || n === "mui-link") && (i.setAttribute("usage", "input"), i.setAttribute("size", "medium"), i.removeAttribute("variant"), i.removeAttribute("weight"));
44
+ const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector('slot[name="before"]'), a = (r = this.shadowRoot) == null ? void 0 : r.querySelector('slot[name="after"]'), o = (s) => {
45
+ if (!s) return;
46
+ s.assignedNodes({ flatten: !0 }).forEach((i) => {
47
+ if (i.nodeType === Node.ELEMENT_NODE) {
48
+ const l = i, n = l.tagName.toLowerCase();
49
+ (n === "mui-button" || n === "mui-link") && (l.setAttribute("usage", "input"), l.setAttribute("size", "medium"), l.removeAttribute("variant"), l.removeAttribute("weight"));
50
50
  }
51
51
  });
52
52
  };
53
- o(e), o(s);
53
+ o(e), o(a);
54
54
  });
55
55
  }
56
56
  render() {
57
- const e = ["text", "password", "email", "number", "search", "tel", "url", "date", "time"], s = this.getAttribute("type") || "text", o = e.includes(s) ? s : "text", t = this.getAttribute("name") || "", r = this.getAttribute("value") || "", a = this.getAttribute("placeholder") || "", d = this.getAttribute("id") || `mui-input-${Math.random().toString(36).substr(2, 9)}`, l = this.getAttribute("label") || "", i = this.hasAttribute("hide-label"), n = this.hasAttribute("disabled"), c = i && l ? `aria-label="${l}"` : "", u = this.getAttribute("variant") || "", b = u || "", h = this.querySelector('[slot="before"]') !== null, p = this.querySelector('[slot="after"]') !== null, f = [b, h ? "before" : "", p ? "after" : ""].filter(Boolean).join(" "), v = (
57
+ const e = ["text", "password", "email", "number", "search", "tel", "url", "date", "time"], a = this.getAttribute("type") || "text", o = e.includes(a) ? a : "text", t = this.getAttribute("name") || "", r = this.getAttribute("value") || "", s = this.getAttribute("placeholder") || "", d = this.getAttribute("id") || `mui-input-${Math.random().toString(36).substr(2, 9)}`, i = this.getAttribute("label") || "", l = this.hasAttribute("hide-label"), n = this.hasAttribute("disabled"), c = l && i ? `aria-label="${i}"` : "", u = this.getAttribute("variant") || "", h = u || "", b = this.querySelector('[slot="before"]') !== null, p = this.querySelector('[slot="after"]') !== null, f = [h, b ? "before" : "", p ? "after" : ""].filter(Boolean).join(" "), v = (
58
58
  /*html*/
59
59
  `
60
60
  <style>
@@ -83,11 +83,12 @@ class m extends HTMLElement {
83
83
  border-radius: var(--radius-100);
84
84
  border: var(--border-thin);
85
85
  border-color: var(--form-default-border-color);
86
- color: var(--text-color);
86
+ color: var(--form-default-text-color);
87
87
  background: var(--input-background);
88
88
  }
89
89
  input:hover {
90
90
  border-color: var(--form-default-border-color-hover);
91
+ color: var(--form-default-text-color-hover);
91
92
  }
92
93
  input:focus {
93
94
  outline: var(--outline-thick);
@@ -127,6 +128,29 @@ class m extends HTMLElement {
127
128
  border-color: var(--form-error-border-color-hover);
128
129
  box-shadow: 0 0 0 2px var(--form-error-border-color-hover);
129
130
  }
131
+
132
+
133
+ /* Placeholder styles */
134
+ input::placeholder {
135
+ color: var(--form-default-placeholder-color);
136
+ opacity: 1;
137
+ }
138
+
139
+ /* Optional: hover */
140
+ input:hover::placeholder {
141
+ color: var(--form-default-placeholder-color-hover);
142
+ }
143
+
144
+ /* Optional: focus */
145
+ input:focus::placeholder {
146
+ color: var(--form-default-placeholder-color-focus);
147
+ }
148
+
149
+ /* Optional: disabled */
150
+ input:disabled::placeholder {
151
+ color: var(--form-default-placeholder-color-disabled);
152
+ }
153
+
130
154
  .vh {
131
155
  position: absolute;
132
156
  width: 1px;
@@ -201,7 +225,7 @@ class m extends HTMLElement {
201
225
 
202
226
 
203
227
  </style>
204
- ${l ? `<label for="${d}" class="${i ? "vh" : ""}">${l}</label>` : ""}
228
+ ${i ? `<label for="${d}" class="${l ? "vh" : ""}">${i}</label>` : ""}
205
229
  <div class="input-wrapper">
206
230
  <slot name="before"></slot>
207
231
  <input
@@ -210,7 +234,7 @@ class m extends HTMLElement {
210
234
  name="${t}"
211
235
  id="${d}"
212
236
  value="${r}"
213
- placeholder="${a}"
237
+ placeholder="${s}"
214
238
  ${n ? 'disabled aria-disabled="true"' : ""}
215
239
  ${c}
216
240
  />