@muibook/components 11.0.1 → 12.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.
- package/dist/esm/components/mui-addon/index.js +41 -8
- package/dist/esm/components/mui-field/index.js +26 -9
- package/dist/esm/components/mui-hint/index.js +6 -6
- package/dist/esm/components/mui-image/index.js +89 -42
- package/dist/esm/components/mui-input/index.js +67 -27
- package/dist/esm/components/mui-markdown/index.js +313 -73
- package/dist/esm/components/mui-prompt/index.js +87 -64
- package/dist/esm/components/mui-prompt-preview/index.js +43 -18
- package/dist/esm/components/mui-rule/index.js +7 -5
- package/dist/esm/components/mui-select/index.js +48 -15
- package/dist/esm/components/mui-skeleton/index.js +139 -0
- package/dist/esm/components/mui-slide-frame/index.js +410 -0
- package/dist/esm/components/mui-switch/index.js +72 -35
- package/dist/esm/components/mui-tabs/tab-bar/index.js +1 -1
- package/dist/esm/components/mui-textarea/index.js +40 -7
- package/dist/esm/css/mui-brand.css +1 -1
- package/dist/esm/css/mui-tokens.css +26 -0
- package/dist/esm/custom-elements.json +1366 -525
- package/dist/esm/index.js +6 -4
- package/dist/types/components/mui-prompt-preview/index.d.ts +1 -0
- package/dist/types/components/mui-skeleton/doc.d.ts +2 -0
- package/dist/types/components/mui-skeleton/index.d.ts +1 -0
- package/dist/types/components/mui-slide-frame/doc.d.ts +2 -0
- package/dist/types/components/mui-slide-frame/index.d.ts +7 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +9 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class
|
|
1
|
+
class b extends HTMLElement {
|
|
2
2
|
static get observedAttributes() {
|
|
3
3
|
return [
|
|
4
4
|
"name",
|
|
@@ -68,7 +68,7 @@ class p extends HTMLElement {
|
|
|
68
68
|
!e || !a || e.maxLength <= 0 || (a.textContent = `${e.value.length}/${e.maxLength}`);
|
|
69
69
|
}
|
|
70
70
|
render() {
|
|
71
|
-
const e = this.getAttribute("name") || "", a = this.getAttribute("value") || "", r = this.getAttribute("placeholder") || "", t = this.getAttribute("id") || `mui-textarea-${Math.random().toString(36).substr(2, 9)}`, o = this.getAttribute("label") || "",
|
|
71
|
+
const e = this.getAttribute("name") || "", a = this.getAttribute("value") || "", r = this.getAttribute("placeholder") || "", t = this.getAttribute("id") || `mui-textarea-${Math.random().toString(36).substr(2, 9)}`, o = this.getAttribute("label") || "", c = this.hasAttribute("optional"), l = this.hasAttribute("hide-label"), d = this.hasAttribute("disabled"), v = this.getAttribute("rows") || "4", i = this.getAttribute("max-length"), s = i && Number(i) > 0 ? String(Number(i)) : "", n = this.getAttribute("size") || "medium", x = ["x-small", "small", "medium", "large"].includes(n) ? n : "medium", u = l && o ? `aria-label="${o}"` : "", h = this.getAttribute("variant") || "", g = h || "", m = (
|
|
72
72
|
/*html*/
|
|
73
73
|
`
|
|
74
74
|
<style>
|
|
@@ -80,10 +80,27 @@ class p extends HTMLElement {
|
|
|
80
80
|
label {
|
|
81
81
|
display: block;
|
|
82
82
|
font-size: var(--text-font-size);
|
|
83
|
+
line-height: var(--text-line-height);
|
|
83
84
|
font-weight: var(--font-weight-medium);
|
|
84
85
|
margin-bottom: var(--space-100);
|
|
85
86
|
color: var(--text-color);
|
|
86
87
|
}
|
|
88
|
+
:host([size="x-small"]) label {
|
|
89
|
+
font-size: var(--text-font-size-xs);
|
|
90
|
+
line-height: var(--text-line-height-xs);
|
|
91
|
+
}
|
|
92
|
+
:host([size="small"]) label {
|
|
93
|
+
font-size: var(--text-font-size-s);
|
|
94
|
+
line-height: var(--text-line-height-s);
|
|
95
|
+
}
|
|
96
|
+
:host([size="medium"]) label {
|
|
97
|
+
font-size: var(--text-font-size);
|
|
98
|
+
line-height: var(--text-line-height);
|
|
99
|
+
}
|
|
100
|
+
:host([size="large"]) label {
|
|
101
|
+
font-size: var(--text-font-size-l);
|
|
102
|
+
line-height: var(--text-line-height-l);
|
|
103
|
+
}
|
|
87
104
|
|
|
88
105
|
textarea {
|
|
89
106
|
width: 100%;
|
|
@@ -226,6 +243,22 @@ class p extends HTMLElement {
|
|
|
226
243
|
text-transform: uppercase;
|
|
227
244
|
font-weight: var(--font-weight-medium);
|
|
228
245
|
}
|
|
246
|
+
:host([size="x-small"]) .optional {
|
|
247
|
+
font-size: var(--text-font-size-xs);
|
|
248
|
+
line-height: var(--text-line-height-xs);
|
|
249
|
+
}
|
|
250
|
+
:host([size="small"]) .optional {
|
|
251
|
+
font-size: var(--text-font-size-xs);
|
|
252
|
+
line-height: var(--text-line-height-xs);
|
|
253
|
+
}
|
|
254
|
+
:host([size="medium"]) .optional {
|
|
255
|
+
font-size: var(--text-font-size-s);
|
|
256
|
+
line-height: var(--text-line-height-s);
|
|
257
|
+
}
|
|
258
|
+
:host([size="large"]) .optional {
|
|
259
|
+
font-size: var(--text-font-size);
|
|
260
|
+
line-height: var(--text-line-height);
|
|
261
|
+
}
|
|
229
262
|
.optional-dot {
|
|
230
263
|
display: inline-flex;
|
|
231
264
|
align-items: center;
|
|
@@ -236,17 +269,17 @@ class p extends HTMLElement {
|
|
|
236
269
|
}
|
|
237
270
|
</style>
|
|
238
271
|
|
|
239
|
-
${o ? `<label for="${t}" class="${l ? "vh" : ""}">${o}${
|
|
272
|
+
${o ? `<label for="${t}" class="${l ? "vh" : ""}">${o}${c ? ' <span class="optional"><span class="optional-dot" aria-hidden="true">•</span><span class="optional-text">Optional</span></span>' : ""}</label>` : ""}
|
|
240
273
|
|
|
241
274
|
<textarea
|
|
242
275
|
id="${t}"
|
|
243
276
|
name="${e}"
|
|
244
|
-
class="${[
|
|
245
|
-
rows="${
|
|
277
|
+
class="${[g, `size-${x}`].filter(Boolean).join(" ")}"
|
|
278
|
+
rows="${v}"
|
|
246
279
|
placeholder="${r}"
|
|
247
280
|
${s ? `maxlength="${s}"` : ""}
|
|
248
281
|
${d ? "disabled" : ""}
|
|
249
|
-
${
|
|
282
|
+
${u}
|
|
250
283
|
>${a}</textarea>
|
|
251
284
|
${s ? '<div class="meta"><span class="char-count"></span></div>' : ""}
|
|
252
285
|
`
|
|
@@ -254,4 +287,4 @@ class p extends HTMLElement {
|
|
|
254
287
|
this.shadowRoot.innerHTML = m, o || console.warn("mui-textarea: Missing required 'label' attribute for accessibility.");
|
|
255
288
|
}
|
|
256
289
|
}
|
|
257
|
-
customElements.get("mui-textarea") || customElements.define("mui-textarea",
|
|
290
|
+
customElements.get("mui-textarea") || customElements.define("mui-textarea", b);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/* ================================================================================================== */
|
|
3
|
-
/* Don't edit directly • Generated on
|
|
3
|
+
/* Don't edit directly • Generated on Fri, 27 Feb 2026 02:33:05 GMT • muibook.com */
|
|
4
4
|
/* ================================================================================================== */
|
|
5
5
|
|
|
6
6
|
/* ================================================================================================== */
|
|
@@ -41,6 +41,14 @@
|
|
|
41
41
|
--avatar-blue-800: oklch(45.925% 0.11981 252.499);
|
|
42
42
|
--avatar-indigo-200: oklch(69.039% 0.10593 274.775);
|
|
43
43
|
--avatar-indigo-800: oklch(38.197% 0.13614 269.807);
|
|
44
|
+
|
|
45
|
+
/* Slide Frame - Foundation */
|
|
46
|
+
--slide-frame-padding-small: var(--space-300);
|
|
47
|
+
--slide-frame-padding-medium: var(--space-500);
|
|
48
|
+
--slide-frame-padding-large: var(--space-700);
|
|
49
|
+
--slide-frame-gap: var(--space-400);
|
|
50
|
+
--slide-frame-radius: var(--radius-300);
|
|
51
|
+
--slide-frame-shadow: var(--shadow-200);
|
|
44
52
|
}
|
|
45
53
|
|
|
46
54
|
/* ==================================================================================================== */
|
|
@@ -208,12 +216,20 @@ html[data-theme="light"] {
|
|
|
208
216
|
--prompt-placeholder-color: var(--form-default-placeholder-color);
|
|
209
217
|
--prompt-placeholder-color-hover: var(--form-default-placeholder-color-hover);
|
|
210
218
|
--prompt-placeholder-color-focus: var(--form-default-placeholder-color-focus);
|
|
219
|
+
--slide-frame-background: var(--surface-elevated-100);
|
|
220
|
+
--slide-frame-border-color: var(--border-color);
|
|
221
|
+
--slide-frame-background-present: var(--slide-frame-background);
|
|
211
222
|
--media-player-seek-color: var(--grey-1200);
|
|
212
223
|
--media-player-seek-time-background: var(--surface-elevated-100);
|
|
213
224
|
--media-player-seek-time-border-color: var(--border-color);
|
|
214
225
|
--range-input-accent-color: var(--media-player-seek-color);
|
|
215
226
|
--range-input-bubble-background: var(--media-player-seek-time-background);
|
|
216
227
|
--range-input-bubble-border-color: var(--media-player-seek-time-border-color);
|
|
228
|
+
--skeleton-background: var(--surface-elevated-200);
|
|
229
|
+
--skeleton-highlight: var(--white-opacity-70);
|
|
230
|
+
--skeleton-radius: var(--radius-200);
|
|
231
|
+
--skeleton-animation-speed: 2000ms;
|
|
232
|
+
--skeleton-gap: var(--space-200);
|
|
217
233
|
--surface-recessed-alpha: var(--black-opacity-10);
|
|
218
234
|
--surface-recessed-100: var(--grey-300);
|
|
219
235
|
--surface-recessed-200: var(--grey-400);
|
|
@@ -290,6 +306,7 @@ html[data-theme="light"] {
|
|
|
290
306
|
--tab-icon-active: var(--black);
|
|
291
307
|
--tab-text-color-active: var(--black);
|
|
292
308
|
--tab-shadow-active: var(--black-opacity-10);
|
|
309
|
+
--tabs-ghost-box-shadow: none;
|
|
293
310
|
|
|
294
311
|
/* Carousel */
|
|
295
312
|
--carousel-background: var(--white);
|
|
@@ -540,12 +557,20 @@ html[data-theme="dark"] {
|
|
|
540
557
|
--prompt-placeholder-color: var(--form-default-placeholder-color);
|
|
541
558
|
--prompt-placeholder-color-hover: var(--form-default-placeholder-color-hover);
|
|
542
559
|
--prompt-placeholder-color-focus: var(--form-default-placeholder-color-focus);
|
|
560
|
+
--slide-frame-background: var(--surface-elevated-200);
|
|
561
|
+
--slide-frame-border-color: var(--border-color);
|
|
562
|
+
--slide-frame-background-present: var(--slide-frame-background);
|
|
543
563
|
--media-player-seek-color: var(--white);
|
|
544
564
|
--media-player-seek-time-background: var(--surface-recessed-100);
|
|
545
565
|
--media-player-seek-time-border-color: var(--white-opacity-20);
|
|
546
566
|
--range-input-accent-color: var(--media-player-seek-color);
|
|
547
567
|
--range-input-bubble-background: var(--media-player-seek-time-background);
|
|
548
568
|
--range-input-bubble-border-color: var(--media-player-seek-time-border-color);
|
|
569
|
+
--skeleton-background: var(--surface-elevated-200);
|
|
570
|
+
--skeleton-highlight: var(--white-opacity-30);
|
|
571
|
+
--skeleton-radius: var(--radius-200);
|
|
572
|
+
--skeleton-animation-speed: 2000ms;
|
|
573
|
+
--skeleton-gap: var(--space-200);
|
|
549
574
|
--surface-elevated-300: var(--grey-1000);
|
|
550
575
|
--surface-recessed-alpha: var(--black-opacity-30);
|
|
551
576
|
--surface-recessed-100: var(--grey-1000);
|
|
@@ -621,6 +646,7 @@ html[data-theme="dark"] {
|
|
|
621
646
|
--tab-icon-active: var(--white);
|
|
622
647
|
--tab-text-color-active: var(--white);
|
|
623
648
|
--tab-shadow-active: var(--black-opacity-40);
|
|
649
|
+
--tabs-ghost-box-shadow: none;
|
|
624
650
|
|
|
625
651
|
/* Carousel */
|
|
626
652
|
--carousel-background: var(--grey-700);
|