@muibook/components 10.0.1 → 11.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/LICENSE +27 -11
- package/README.md +4 -0
- package/dist/esm/components/mui-accordion/block/index.js +9 -5
- package/dist/esm/components/mui-alert/index.js +88 -52
- package/dist/esm/components/mui-badge/index.js +61 -16
- package/dist/esm/components/mui-body/index.js +76 -10
- package/dist/esm/components/mui-button/index.js +152 -32
- package/dist/esm/components/mui-card/card/index.js +13 -8
- package/dist/esm/components/mui-checkbox/index.js +64 -30
- package/dist/esm/components/mui-chip/index.js +153 -33
- package/dist/esm/components/mui-chip-input/index.js +407 -0
- package/dist/esm/components/mui-code/index.js +11 -9
- package/dist/esm/components/mui-dialog/index.js +17 -8
- package/dist/esm/components/mui-dropdown/index.js +44 -44
- package/dist/esm/components/mui-field/index.js +56 -21
- package/dist/esm/components/mui-form-group/index.js +88 -0
- package/dist/esm/components/mui-form-hint/index.js +1 -0
- package/dist/esm/components/mui-form-message/index.js +72 -0
- package/dist/esm/components/mui-form-section/index.js +108 -0
- package/dist/esm/components/mui-form-section-footer/index.js +46 -0
- package/dist/esm/components/mui-hint/index.js +146 -0
- package/dist/esm/components/mui-icons/accessibility/index.js +5 -4
- package/dist/esm/components/mui-icons/add/index.js +1 -0
- package/dist/esm/components/mui-icons/ai/index.js +5 -4
- package/dist/esm/components/mui-icons/attention/index.js +1 -0
- package/dist/esm/components/mui-icons/calendar/index.js +5 -4
- package/dist/esm/components/mui-icons/check/index.js +6 -5
- package/dist/esm/components/mui-icons/checkmark/index.js +9 -8
- package/dist/esm/components/mui-icons/close/index.js +6 -5
- package/dist/esm/components/mui-icons/down-arrow-circle/index.js +9 -8
- package/dist/esm/components/mui-icons/down-chevron/index.js +8 -7
- package/dist/esm/components/mui-icons/ellipsis/index.js +1 -0
- package/dist/esm/components/mui-icons/exclamationmark/index.js +49 -0
- package/dist/esm/components/mui-icons/game-controller/index.js +8 -7
- package/dist/esm/components/mui-icons/gear/index.js +5 -4
- package/dist/esm/components/mui-icons/globe/index.js +8 -7
- package/dist/esm/components/mui-icons/grid/index.js +1 -0
- package/dist/esm/components/mui-icons/home/index.js +9 -8
- package/dist/esm/components/mui-icons/index.js +3 -0
- package/dist/esm/components/mui-icons/info/index.js +3 -2
- package/dist/esm/components/mui-icons/left-arrow/index.js +1 -0
- package/dist/esm/components/mui-icons/left-chevron/index.js +6 -5
- package/dist/esm/components/mui-icons/left-sidebar/index.js +6 -5
- package/dist/esm/components/mui-icons/list-and-film/index.js +1 -0
- package/dist/esm/components/mui-icons/menu/index.js +8 -7
- package/dist/esm/components/mui-icons/message/index.js +5 -4
- package/dist/esm/components/mui-icons/moon/index.js +3 -2
- package/dist/esm/components/mui-icons/movie-clapper/index.js +5 -4
- package/dist/esm/components/mui-icons/music-microphone/index.js +6 -5
- package/dist/esm/components/mui-icons/music-quarter-note/index.js +1 -0
- package/dist/esm/components/mui-icons/notification/index.js +5 -4
- package/dist/esm/components/mui-icons/pin/index.js +3 -2
- package/dist/esm/components/mui-icons/pin-slash/index.js +6 -5
- package/dist/esm/components/mui-icons/play-rectangle/index.js +9 -8
- package/dist/esm/components/mui-icons/play-stack/index.js +5 -4
- package/dist/esm/components/mui-icons/rectangle/index.js +6 -5
- package/dist/esm/components/mui-icons/rectangle-bottom-panel/index.js +1 -0
- package/dist/esm/components/mui-icons/rectangle-dashed/index.js +1 -0
- package/dist/esm/components/mui-icons/rectangle-left-drawer/index.js +1 -0
- package/dist/esm/components/mui-icons/rectangle-media-text/index.js +6 -5
- package/dist/esm/components/mui-icons/right-chevron/index.js +1 -0
- package/dist/esm/components/mui-icons/search/index.js +6 -5
- package/dist/esm/components/mui-icons/spinner/index.js +56 -0
- package/dist/esm/components/mui-icons/stop/index.js +3 -2
- package/dist/esm/components/mui-icons/subtract/index.js +1 -0
- package/dist/esm/components/mui-icons/sun/index.js +1 -0
- package/dist/esm/components/mui-icons/text-below-folder/index.js +55 -0
- package/dist/esm/components/mui-icons/toggle/index.js +8 -6
- package/dist/esm/components/mui-icons/translate/index.js +5 -4
- package/dist/esm/components/mui-icons/up-arrow/index.js +5 -4
- package/dist/esm/components/mui-icons/up-chevron/index.js +6 -5
- package/dist/esm/components/mui-icons/warning/index.js +7 -6
- package/dist/esm/components/mui-input/index.js +298 -47
- package/dist/esm/components/mui-link/index.js +187 -59
- package/dist/esm/components/mui-list/item/index.js +3 -0
- package/dist/esm/components/mui-markdown/index.js +149 -0
- package/dist/esm/components/mui-media-player/index.js +184 -0
- package/dist/esm/components/mui-message/index.js +50 -20
- package/dist/esm/components/mui-progress/index.js +15 -15
- package/dist/esm/components/mui-prompt/index.js +1461 -0
- package/dist/esm/components/mui-prompt-message/index.js +114 -0
- package/dist/esm/components/mui-prompt-preview/index.js +497 -0
- package/dist/esm/components/mui-prompt-toggle/index.js +48 -0
- package/dist/esm/components/mui-radio/index.js +155 -0
- package/dist/esm/components/mui-radio-group/index.js +104 -0
- package/dist/esm/components/mui-range-input/index.js +122 -0
- package/dist/esm/components/mui-rule/index.js +11 -3
- package/dist/esm/components/mui-select/index.js +89 -30
- package/dist/esm/components/mui-spinner/index.js +70 -0
- package/dist/esm/components/mui-stepper/step/index.js +255 -18
- package/dist/esm/components/mui-stepper/stepper/index.js +68 -72
- package/dist/esm/components/mui-table/row/index.js +16 -3
- package/dist/esm/components/mui-tabs/controller/index.js +21 -14
- package/dist/esm/components/mui-tabs/item/index.js +285 -29
- package/dist/esm/components/mui-tabs/panel/index.js +3 -0
- package/dist/esm/components/mui-tabs/tab-bar/index.js +85 -34
- package/dist/esm/components/mui-textarea/index.js +257 -0
- package/dist/esm/css/mui-base.css +27 -0
- package/dist/esm/css/mui-brand.css +3 -1
- package/dist/esm/css/mui-tokens.css +234 -7
- package/dist/esm/custom-elements.json +5113 -1702
- package/dist/esm/index.js +24 -4
- package/dist/esm/tokens/js/index.js +107 -105
- package/dist/types/components/mui-agent-bubble/doc.d.ts +2 -0
- package/dist/types/components/mui-agent-bubble/index.d.ts +1 -0
- package/dist/types/components/mui-agent-prompt/doc.d.ts +2 -0
- package/dist/types/components/mui-agent-prompt/index.d.ts +1 -0
- package/dist/types/components/mui-chip-input/doc.d.ts +2 -0
- package/dist/types/components/mui-chip-input/index.d.ts +3 -0
- package/dist/types/components/mui-form-group/doc.d.ts +2 -0
- package/dist/types/components/mui-form-group/index.d.ts +2 -0
- package/dist/types/components/mui-form-group-horizontal/index.d.ts +1 -0
- package/dist/types/components/mui-form-hint/doc.d.ts +2 -0
- package/dist/types/components/mui-form-hint/index.d.ts +1 -0
- package/dist/types/components/mui-form-message/index.d.ts +2 -0
- package/dist/types/components/mui-form-section/doc.d.ts +2 -0
- package/dist/types/components/mui-form-section/index.d.ts +1 -0
- package/dist/types/components/mui-form-section-footer/doc.d.ts +2 -0
- package/dist/types/components/mui-form-section-footer/index.d.ts +1 -0
- package/dist/types/components/mui-hint/doc.d.ts +2 -0
- package/dist/types/components/mui-hint/index.d.ts +1 -0
- package/dist/types/components/mui-icons/exclamationmark.d.ts +1 -0
- package/dist/types/components/mui-icons/index.d.ts +3 -0
- package/dist/types/components/mui-icons/spinner.d.ts +1 -0
- package/dist/types/components/mui-icons/text-below-folder.d.ts +1 -0
- package/dist/types/components/mui-markdown/doc.d.ts +2 -0
- package/dist/types/components/mui-markdown/index.d.ts +1 -0
- package/dist/types/components/mui-media-player/doc.d.ts +2 -0
- package/dist/types/components/mui-media-player/index.d.ts +8 -0
- package/dist/types/components/mui-prompt/doc.d.ts +2 -0
- package/dist/types/components/mui-prompt/index.d.ts +18 -0
- package/dist/types/components/mui-prompt-chip/index.d.ts +1 -0
- package/dist/types/components/mui-prompt-message/doc.d.ts +2 -0
- package/dist/types/components/mui-prompt-message/index.d.ts +1 -0
- package/dist/types/components/mui-prompt-preview/doc.d.ts +2 -0
- package/dist/types/components/mui-prompt-preview/index.d.ts +7 -0
- package/dist/types/components/mui-prompt-toggle/index.d.ts +1 -0
- package/dist/types/components/mui-radio/doc.d.ts +2 -0
- package/dist/types/components/mui-radio/index.d.ts +1 -0
- package/dist/types/components/mui-radio-group/index.d.ts +1 -0
- package/dist/types/components/mui-range-input/doc.d.ts +2 -0
- package/dist/types/components/mui-range-input/index.d.ts +1 -0
- package/dist/types/components/mui-spinner/doc.d.ts +2 -0
- package/dist/types/components/mui-spinner/index.d.ts +1 -0
- package/dist/types/components/mui-stepper/step/index.d.ts +4 -1
- package/dist/types/components/mui-textarea/doc.d.ts +2 -0
- package/dist/types/components/mui-textarea/index.d.ts +1 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/tokens/js/index.d.ts +2 -0
- package/package.json +88 -1
|
@@ -173,6 +173,46 @@ class h extends HTMLElement {
|
|
|
173
173
|
:host([variant="tertiary"]) button:focus-visible ::slotted(.mui-icon) { fill: var(--action-tertiary-text-color-focus); }
|
|
174
174
|
:host([variant="tertiary"]) button:disabled ::slotted(.mui-icon) { fill: var(--action-tertiary-text-color-disabled); }
|
|
175
175
|
|
|
176
|
+
/* Overlay
|
|
177
|
+
========================================= */
|
|
178
|
+
:host([variant="overlay"]) button {
|
|
179
|
+
background: color-mix(in srgb, var(--action-overlay-background) 85%, transparent);
|
|
180
|
+
color: var(--action-overlay-text-color);
|
|
181
|
+
border: var(--action-overlay-border);
|
|
182
|
+
-webkit-backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
183
|
+
backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
:host([variant="overlay"]) button:hover {
|
|
187
|
+
background: color-mix(in srgb, var(--action-overlay-background-hover) 85%, transparent);
|
|
188
|
+
color: var(--action-overlay-text-color-hover);
|
|
189
|
+
border: var(--action-overlay-border-hover);
|
|
190
|
+
-webkit-backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
191
|
+
backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
:host([variant="overlay"]) button:focus-visible {
|
|
195
|
+
background: color-mix(in srgb, var(--action-overlay-background-focus) 85%, transparent);
|
|
196
|
+
color: var(--action-overlay-text-color-focus);
|
|
197
|
+
border: var(--action-overlay-border-focus);
|
|
198
|
+
-webkit-backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
199
|
+
backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
:host([variant="overlay"]) button:disabled {
|
|
203
|
+
background: color-mix(in srgb, var(--action-overlay-background-disabled) 85%, transparent);
|
|
204
|
+
color: var(--action-overlay-text-color-disabled);
|
|
205
|
+
border: var(--action-overlay-border-disabled);
|
|
206
|
+
-webkit-backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
207
|
+
backdrop-filter: blur(var(--space-100)) saturate(120%);
|
|
208
|
+
cursor: not-allowed;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
:host([variant="overlay"]) button ::slotted(.mui-icon) { fill: var(--action-overlay-text-color); }
|
|
212
|
+
:host([variant="overlay"]) button:hover ::slotted(.mui-icon) { fill: var(--action-overlay-text-color-hover); }
|
|
213
|
+
:host([variant="overlay"]) button:focus-visible ::slotted(.mui-icon) { fill: var(--action-overlay-text-color-focus); }
|
|
214
|
+
:host([variant="overlay"]) button:disabled ::slotted(.mui-icon) { fill: var(--action-overlay-text-color-disabled); }
|
|
215
|
+
|
|
176
216
|
/* Attention
|
|
177
217
|
========================================= */
|
|
178
218
|
:host([variant="attention"]) button {
|
|
@@ -360,6 +400,7 @@ class h extends HTMLElement {
|
|
|
360
400
|
--avatar-background-override: var(--action-avatar-background);
|
|
361
401
|
}
|
|
362
402
|
|
|
403
|
+
:host([size="xx-small"]) button ::slotted(mui-avatar),
|
|
363
404
|
:host([size="x-small"]) button ::slotted(mui-avatar) {
|
|
364
405
|
margin-right: var(--space-025);
|
|
365
406
|
}
|
|
@@ -381,6 +422,31 @@ class h extends HTMLElement {
|
|
|
381
422
|
--avatar-background-override: var(--action-avatar-background-hover);
|
|
382
423
|
}
|
|
383
424
|
|
|
425
|
+
/* Badge Spacing */
|
|
426
|
+
:host([has-before]) button ::slotted(mui-badge[slot="before"]) {
|
|
427
|
+
margin-right: var(--space-025);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
:host([has-after]) button ::slotted(mui-badge[slot="after"]) {
|
|
431
|
+
margin-left: var(--space-025);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
:host([size="x-small"][has-before]) button ::slotted(mui-badge[slot="before"]) {
|
|
435
|
+
margin-right: var(--space-025);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
:host([size="x-small"][has-after]) button ::slotted(mui-badge[slot="after"]) {
|
|
439
|
+
margin-left: var(--space-025);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
:host([size="large"][has-before]) button ::slotted(mui-badge[slot="before"]) {
|
|
443
|
+
margin-right: var(--space-050);
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
:host([size="large"][has-after]) button ::slotted(mui-badge[slot="after"]) {
|
|
447
|
+
margin-left: var(--space-050);
|
|
448
|
+
}
|
|
449
|
+
|
|
384
450
|
/* Before & After Icon
|
|
385
451
|
========================================= */
|
|
386
452
|
:host([has-after]) button,
|
|
@@ -409,6 +475,18 @@ class h extends HTMLElement {
|
|
|
409
475
|
|
|
410
476
|
/* Size Variants
|
|
411
477
|
========================================= */
|
|
478
|
+
:host([size="xx-small"]) button,
|
|
479
|
+
:host([size="xx-small"]) button:hover,
|
|
480
|
+
:host([size="xx-small"]) button:focus,
|
|
481
|
+
:host([size="xx-small"]) button:disabled {
|
|
482
|
+
font-size: var(--font-size-15);
|
|
483
|
+
line-height: var(--line-height-25);
|
|
484
|
+
font-weight: var(--font-weight-semi-bold);
|
|
485
|
+
padding: var(--space-025) var(--space-100);
|
|
486
|
+
border-width: var(--stroke-size-100);
|
|
487
|
+
border-radius: var(--action-radius-x-small);
|
|
488
|
+
}
|
|
489
|
+
|
|
412
490
|
:host([size="x-small"]) button,
|
|
413
491
|
:host([size="x-small"]) button:hover,
|
|
414
492
|
:host([size="x-small"]) button:focus,
|
|
@@ -441,6 +519,12 @@ class h extends HTMLElement {
|
|
|
441
519
|
border-radius: var(--action-radius-large);
|
|
442
520
|
}
|
|
443
521
|
|
|
522
|
+
:host([size="xx-small"][icon-only]) button {
|
|
523
|
+
height: calc(var(--action-icon-only-size-x-small) - var(--space-100));
|
|
524
|
+
width: calc(var(--action-icon-only-size-x-small) - var(--space-100));
|
|
525
|
+
padding: var(--action-icon-only-padding);
|
|
526
|
+
}
|
|
527
|
+
|
|
444
528
|
:host([size="x-small"][icon-only]) button {
|
|
445
529
|
height: var(--action-icon-only-size-x-small);
|
|
446
530
|
width: var(--action-icon-only-size-x-small);
|
|
@@ -462,10 +546,29 @@ class h extends HTMLElement {
|
|
|
462
546
|
|
|
463
547
|
/* Before & After Icon
|
|
464
548
|
========================================= */
|
|
549
|
+
:host([size="xx-small"][has-after]) button,
|
|
550
|
+
:host([size="xx-small"][has-before]) button,
|
|
551
|
+
:host([size="xx-small"][has-after][has-before]) button {
|
|
552
|
+
gap: var(--space-050);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
:host([size="xx-small"][has-after][has-before]) button {
|
|
556
|
+
padding-right: var(--action-after-slot-padding-x-small);
|
|
557
|
+
padding-left: var(--action-before-slot-padding-x-small);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
:host([size="xx-small"][has-after]) button {
|
|
561
|
+
padding-right: var(--action-after-slot-padding-x-small);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
:host([size="xx-small"][has-before]) button {
|
|
565
|
+
padding-left: var(--action-before-slot-padding-x-small);
|
|
566
|
+
}
|
|
567
|
+
|
|
465
568
|
:host([size="x-small"][has-after]) button,
|
|
466
569
|
:host([size="x-small"][has-before]) button,
|
|
467
570
|
:host([size="x-small"][has-after][has-before]) button {
|
|
468
|
-
gap: var(--space-
|
|
571
|
+
gap: var(--space-050);
|
|
469
572
|
}
|
|
470
573
|
|
|
471
574
|
:host([size="x-small"][has-after][has-before]) button {
|
|
@@ -484,7 +587,7 @@ class h extends HTMLElement {
|
|
|
484
587
|
:host([size="small"][has-after]) button,
|
|
485
588
|
:host([size="small"][has-before]) button,
|
|
486
589
|
:host([size="small"][has-after][has-before]) button {
|
|
487
|
-
gap: var(--space-
|
|
590
|
+
gap: var(--space-100);
|
|
488
591
|
}
|
|
489
592
|
|
|
490
593
|
:host([size="small"][has-after][has-before]) button {
|
|
@@ -537,47 +640,47 @@ class h extends HTMLElement {
|
|
|
537
640
|
`
|
|
538
641
|
);
|
|
539
642
|
this.shadowRoot.innerHTML = o, await customElements.whenDefined("mui-button"), requestAnimationFrame(() => {
|
|
540
|
-
const
|
|
541
|
-
if (!
|
|
542
|
-
const e =
|
|
543
|
-
var
|
|
544
|
-
return
|
|
545
|
-
}) : !1, d =
|
|
643
|
+
const s = this.shadowRoot;
|
|
644
|
+
if (!s) return;
|
|
645
|
+
const e = s.querySelector("slot:not([name])"), t = s.querySelector('slot[name="before"]'), a = s.querySelector('slot[name="after"]'), i = (c) => c ? c.assignedNodes({ flatten: !0 }).some((n) => {
|
|
646
|
+
var l;
|
|
647
|
+
return n.nodeType === Node.ELEMENT_NODE || n.nodeType === Node.TEXT_NODE && !!((l = n.textContent) != null && l.trim());
|
|
648
|
+
}) : !1, d = i(t), u = i(a);
|
|
546
649
|
this.toggleAttribute("has-before", d), this.toggleAttribute("has-after", u);
|
|
547
650
|
const v = (e == null ? void 0 : e.assignedNodes({ flatten: !0 })) ?? [];
|
|
548
|
-
v.every((
|
|
549
|
-
var
|
|
550
|
-
if (
|
|
551
|
-
const
|
|
552
|
-
return
|
|
651
|
+
v.every((c) => {
|
|
652
|
+
var n;
|
|
653
|
+
if (c.nodeType === Node.ELEMENT_NODE) {
|
|
654
|
+
const l = c;
|
|
655
|
+
return l.tagName.toLowerCase() === "svg" || l.classList.contains("mui-icon");
|
|
553
656
|
}
|
|
554
|
-
return
|
|
555
|
-
}) ? (this.setAttribute("icon-only", ""), this.updateIconSizes(v, !0)) : (this.removeAttribute("icon-only"), [t, e,
|
|
556
|
-
if (
|
|
557
|
-
const
|
|
558
|
-
this.updateIconSizes(
|
|
657
|
+
return c.nodeType === Node.TEXT_NODE && !((n = c.textContent) != null && n.trim());
|
|
658
|
+
}) ? (this.setAttribute("icon-only", ""), this.updateIconSizes(v, !0)) : (this.removeAttribute("icon-only"), [t, e, a].forEach((n) => {
|
|
659
|
+
if (n) {
|
|
660
|
+
const l = n.assignedNodes({ flatten: !0 });
|
|
661
|
+
this.updateIconSizes(l, !1), this.updateAvatarSizes(l), this.updateBadgeSizes(l);
|
|
559
662
|
}
|
|
560
663
|
}));
|
|
561
664
|
});
|
|
562
665
|
}
|
|
563
|
-
attributeChangedCallback(r, o,
|
|
666
|
+
attributeChangedCallback(r, o, s) {
|
|
564
667
|
var e;
|
|
565
668
|
if (r === "disabled") {
|
|
566
669
|
const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector("button");
|
|
567
670
|
t && (this.hasAttribute("disabled") ? t.setAttribute("disabled", "") : t.removeAttribute("disabled"));
|
|
568
671
|
}
|
|
569
|
-
r === "size" && o !==
|
|
672
|
+
r === "size" && o !== s && this.shadowRoot && requestAnimationFrame(() => {
|
|
570
673
|
const t = this.shadowRoot;
|
|
571
674
|
if (!t) return;
|
|
572
|
-
const
|
|
675
|
+
const a = [
|
|
573
676
|
t.querySelector("slot:not([name])"),
|
|
574
677
|
t.querySelector('slot[name="before"]'),
|
|
575
678
|
t.querySelector('slot[name="after"]')
|
|
576
|
-
],
|
|
577
|
-
|
|
679
|
+
], i = this.hasAttribute("icon-only");
|
|
680
|
+
a.forEach((d) => {
|
|
578
681
|
if (d) {
|
|
579
682
|
const u = d.assignedNodes({ flatten: !0 });
|
|
580
|
-
this.updateIconSizes(u,
|
|
683
|
+
this.updateIconSizes(u, i), this.updateAvatarSizes(u), this.updateBadgeSizes(u);
|
|
581
684
|
}
|
|
582
685
|
});
|
|
583
686
|
});
|
|
@@ -585,6 +688,7 @@ class h extends HTMLElement {
|
|
|
585
688
|
// Update avatar sizes based on button size
|
|
586
689
|
updateAvatarSizes(r) {
|
|
587
690
|
const o = this.getAttribute("size") || "medium", e = {
|
|
691
|
+
"xx-small": "x-small",
|
|
588
692
|
"x-small": "x-small",
|
|
589
693
|
small: "x-small",
|
|
590
694
|
medium: "small",
|
|
@@ -592,23 +696,39 @@ class h extends HTMLElement {
|
|
|
592
696
|
}[o] || "small";
|
|
593
697
|
r.forEach((t) => {
|
|
594
698
|
if (t.nodeType === Node.ELEMENT_NODE) {
|
|
595
|
-
const
|
|
596
|
-
|
|
699
|
+
const a = t;
|
|
700
|
+
a.tagName.toLowerCase() === "mui-avatar" && a.setAttribute("size", e);
|
|
597
701
|
}
|
|
598
702
|
});
|
|
599
703
|
}
|
|
600
704
|
updateIconSizes(r, o) {
|
|
601
|
-
const
|
|
705
|
+
const s = this.getAttribute("size") || "medium", t = {
|
|
706
|
+
"xx-small": "xx-small",
|
|
602
707
|
"x-small": "x-small",
|
|
603
708
|
small: "x-small",
|
|
604
709
|
medium: o ? "medium" : "small",
|
|
605
710
|
// small for regular, medium for icon-only
|
|
606
711
|
large: o ? "large" : "medium"
|
|
607
|
-
}[
|
|
608
|
-
r.forEach((
|
|
609
|
-
if (
|
|
610
|
-
const
|
|
611
|
-
(
|
|
712
|
+
}[s] || "small";
|
|
713
|
+
r.forEach((a) => {
|
|
714
|
+
if (a.nodeType === Node.ELEMENT_NODE) {
|
|
715
|
+
const i = a;
|
|
716
|
+
(i.tagName.toLowerCase() === "svg" || i.classList.contains("mui-icon") || i.tagName.toLowerCase() === "mui-icon") && !i.hasAttribute("size") && i.setAttribute("size", t);
|
|
717
|
+
}
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
updateBadgeSizes(r) {
|
|
721
|
+
const o = this.getAttribute("size") || "medium", e = {
|
|
722
|
+
"xx-small": "x-small",
|
|
723
|
+
"x-small": "x-small",
|
|
724
|
+
small: "small",
|
|
725
|
+
medium: "medium",
|
|
726
|
+
large: "large"
|
|
727
|
+
}[o] || "medium";
|
|
728
|
+
r.forEach((t) => {
|
|
729
|
+
if (t.nodeType === Node.ELEMENT_NODE) {
|
|
730
|
+
const a = t;
|
|
731
|
+
a.tagName.toLowerCase() === "mui-badge" && a.setAttribute("size", e);
|
|
612
732
|
}
|
|
613
733
|
});
|
|
614
734
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
class n extends HTMLElement {
|
|
2
2
|
static get observedAttributes() {
|
|
3
|
-
return ["footer"];
|
|
3
|
+
return ["footer", "borderless"];
|
|
4
4
|
}
|
|
5
5
|
constructor() {
|
|
6
6
|
super(), this.attachShadow({ mode: "open" });
|
|
7
7
|
}
|
|
8
8
|
connectedCallback() {
|
|
9
9
|
if (!this.shadowRoot) return;
|
|
10
|
-
let
|
|
10
|
+
let a = (
|
|
11
11
|
/*html*/
|
|
12
12
|
`
|
|
13
13
|
<style>
|
|
@@ -15,6 +15,11 @@ class n extends HTMLElement {
|
|
|
15
15
|
display: block;
|
|
16
16
|
border-radius: var(--card-radius);
|
|
17
17
|
background: var(--surface-elevated-100);
|
|
18
|
+
border: var(--border-thin);
|
|
19
|
+
border-color: var(--border-color);
|
|
20
|
+
}
|
|
21
|
+
:host([borderless]) {
|
|
22
|
+
border: none;
|
|
18
23
|
}
|
|
19
24
|
::slotted(*:last-child) {
|
|
20
25
|
margin-bottom: 0;
|
|
@@ -26,17 +31,17 @@ class n extends HTMLElement {
|
|
|
26
31
|
<slot></slot>
|
|
27
32
|
`
|
|
28
33
|
);
|
|
29
|
-
this.shadowRoot.innerHTML =
|
|
34
|
+
this.shadowRoot.innerHTML = a;
|
|
30
35
|
const t = this.shadowRoot.querySelector("slot");
|
|
31
36
|
t && t.addEventListener("slotchange", () => {
|
|
32
|
-
const
|
|
37
|
+
const s = t.assignedElements(), d = s.some((r) => {
|
|
33
38
|
var e;
|
|
34
|
-
return ((e =
|
|
35
|
-
}),
|
|
39
|
+
return ((e = r.tagName) == null ? void 0 : e.toLowerCase()) === "mui-card-header";
|
|
40
|
+
}), o = s.find((r) => {
|
|
36
41
|
var e;
|
|
37
|
-
return ((e =
|
|
42
|
+
return ((e = r.tagName) == null ? void 0 : e.toLowerCase()) === "mui-card-body";
|
|
38
43
|
});
|
|
39
|
-
|
|
44
|
+
o && (d ? o.setAttribute("inner-space-top", "") : o.removeAttribute("inner-space-top"));
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
47
|
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import "../mui-body/index.js";
|
|
2
|
-
class
|
|
2
|
+
class p extends HTMLElement {
|
|
3
3
|
static get observedAttributes() {
|
|
4
|
-
return ["checked", "disabled", "id", "indeterminate"];
|
|
4
|
+
return ["checked", "disabled", "id", "indeterminate", "size"];
|
|
5
5
|
}
|
|
6
6
|
constructor() {
|
|
7
7
|
super(), this.attachShadow({ mode: "open" });
|
|
8
8
|
}
|
|
9
9
|
connectedCallback() {
|
|
10
|
-
this.render(), this.setupListener();
|
|
10
|
+
this.hasAttribute("size") || this.setAttribute("size", "medium"), this.render(), this.setupListener();
|
|
11
11
|
}
|
|
12
12
|
disconnectedCallback() {
|
|
13
13
|
this.cleanupListeners();
|
|
14
14
|
}
|
|
15
|
-
attributeChangedCallback(e, t,
|
|
16
|
-
var
|
|
15
|
+
attributeChangedCallback(e, t, s) {
|
|
16
|
+
var c, a, o;
|
|
17
17
|
if (e === "checked") {
|
|
18
|
-
const i = (
|
|
18
|
+
const i = (c = this.shadowRoot) == null ? void 0 : c.querySelector("input");
|
|
19
19
|
if (!i) return;
|
|
20
|
-
i.checked =
|
|
20
|
+
i.checked = s !== null;
|
|
21
21
|
}
|
|
22
22
|
if (e === "disabled") {
|
|
23
|
-
const i = (
|
|
23
|
+
const i = (a = this.shadowRoot) == null ? void 0 : a.querySelector("input");
|
|
24
24
|
if (!i) return;
|
|
25
|
-
i.disabled =
|
|
25
|
+
i.disabled = s !== null;
|
|
26
26
|
}
|
|
27
27
|
if (e === "indeterminate") {
|
|
28
|
-
const i = (
|
|
28
|
+
const i = (o = this.shadowRoot) == null ? void 0 : o.querySelector("input");
|
|
29
29
|
if (!i) return;
|
|
30
|
-
const
|
|
31
|
-
i.indeterminate =
|
|
30
|
+
const r = s !== null;
|
|
31
|
+
i.indeterminate = r, r && (i.checked = !0, this.setAttribute("checked", ""));
|
|
32
32
|
}
|
|
33
|
-
"id".includes(e) && (this.render(), this.setupListener());
|
|
33
|
+
["id", "size"].includes(e) && (this.render(), this.setupListener());
|
|
34
34
|
}
|
|
35
35
|
cleanupListeners() {
|
|
36
36
|
var t;
|
|
@@ -40,11 +40,11 @@ class a extends HTMLElement {
|
|
|
40
40
|
setupListener() {
|
|
41
41
|
var t;
|
|
42
42
|
const e = (t = this.shadowRoot) == null ? void 0 : t.querySelector("input");
|
|
43
|
-
e && (this.cleanupListeners(), e.indeterminate = this.hasAttribute("indeterminate"), this._changeHandler = (
|
|
44
|
-
const
|
|
45
|
-
|
|
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(
|
|
46
46
|
new CustomEvent("change", {
|
|
47
|
-
detail: { checked:
|
|
47
|
+
detail: { checked: c.checked },
|
|
48
48
|
bubbles: !0,
|
|
49
49
|
composed: !0
|
|
50
50
|
})
|
|
@@ -52,11 +52,27 @@ class a extends HTMLElement {
|
|
|
52
52
|
}, e.addEventListener("change", this._changeHandler));
|
|
53
53
|
}
|
|
54
54
|
render() {
|
|
55
|
-
const e = this.getAttribute("id") || `mui-checkbox-${Math.random().toString(36).substr(2, 9)}`, t = this.hasAttribute("checked"),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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 = {
|
|
56
|
+
"x-small": "x-small",
|
|
57
|
+
small: "x-small",
|
|
58
|
+
medium: "small",
|
|
59
|
+
large: "medium"
|
|
60
|
+
}[o] || "small", l = {
|
|
61
|
+
"x-small": "x-small",
|
|
62
|
+
small: "x-small",
|
|
63
|
+
medium: "x-small",
|
|
64
|
+
large: "small"
|
|
65
|
+
}[o] || "x-small", d = (
|
|
66
|
+
/*html*/
|
|
67
|
+
`
|
|
68
|
+
<mui-icon-checkmark class="icon" size="${l}" color="inverted"></mui-icon-checkmark>
|
|
69
|
+
`
|
|
70
|
+
), n = this.hasAttribute("indeterminate"), h = (
|
|
71
|
+
/*html*/
|
|
72
|
+
`
|
|
73
|
+
<mui-icon-subtract class="icon" size="${l}" color="inverted"></mui-icon-subtract>
|
|
74
|
+
`
|
|
75
|
+
), u = n ? h : d, b = this.innerHTML.trim().length > 0;
|
|
60
76
|
this.shadowRoot.innerHTML = /*html*/
|
|
61
77
|
`
|
|
62
78
|
<style>
|
|
@@ -66,10 +82,16 @@ class a extends HTMLElement {
|
|
|
66
82
|
|
|
67
83
|
label {
|
|
68
84
|
display: flex;
|
|
69
|
-
align-items:
|
|
85
|
+
align-items: center;
|
|
70
86
|
gap: var(--space-200);
|
|
71
87
|
cursor: pointer;
|
|
72
88
|
}
|
|
89
|
+
:host([disabled]) label {
|
|
90
|
+
cursor: not-allowed;
|
|
91
|
+
}
|
|
92
|
+
:host([disabled]) mui-body {
|
|
93
|
+
cursor: not-allowed;
|
|
94
|
+
}
|
|
73
95
|
|
|
74
96
|
input[type="checkbox"] {
|
|
75
97
|
all: unset;
|
|
@@ -85,6 +107,18 @@ class a extends HTMLElement {
|
|
|
85
107
|
background-repeat: no-repeat;
|
|
86
108
|
background-position: center;
|
|
87
109
|
}
|
|
110
|
+
:host([size="x-small"]) input[type="checkbox"] {
|
|
111
|
+
width: calc(var(--checkbox-size) - var(--space-100));
|
|
112
|
+
height: calc(var(--checkbox-size) - var(--space-100));
|
|
113
|
+
}
|
|
114
|
+
:host([size="small"]) input[type="checkbox"] {
|
|
115
|
+
width: calc(var(--checkbox-size) - var(--space-050));
|
|
116
|
+
height: calc(var(--checkbox-size) - var(--space-050));
|
|
117
|
+
}
|
|
118
|
+
:host([size="large"]) input[type="checkbox"] {
|
|
119
|
+
width: calc(var(--checkbox-size) + var(--space-100));
|
|
120
|
+
height: calc(var(--checkbox-size) + var(--space-100));
|
|
121
|
+
}
|
|
88
122
|
|
|
89
123
|
input[type="checkbox"]:hover {
|
|
90
124
|
border-color: var(--form-default-border-color-hover);
|
|
@@ -99,7 +133,7 @@ class a extends HTMLElement {
|
|
|
99
133
|
}
|
|
100
134
|
|
|
101
135
|
input[type="checkbox"]:focus {
|
|
102
|
-
outline: var(--outline-
|
|
136
|
+
outline: var(--outline-medium);
|
|
103
137
|
}
|
|
104
138
|
|
|
105
139
|
input:disabled {
|
|
@@ -137,13 +171,13 @@ class a extends HTMLElement {
|
|
|
137
171
|
<input
|
|
138
172
|
type="checkbox"
|
|
139
173
|
id="${e}"
|
|
140
|
-
${
|
|
141
|
-
${
|
|
142
|
-
${
|
|
174
|
+
${n ? "indeterminate" : ""}
|
|
175
|
+
${n || t ? "checked" : ""}
|
|
176
|
+
${s ? "disabled" : ""}
|
|
143
177
|
/>
|
|
144
|
-
${
|
|
178
|
+
${u}
|
|
145
179
|
</span>
|
|
146
|
-
${
|
|
180
|
+
${b ? `<mui-body size="${r}"><slot></slot></mui-body>` : ""}
|
|
147
181
|
</label>
|
|
148
182
|
`;
|
|
149
183
|
}
|
|
@@ -156,4 +190,4 @@ class a extends HTMLElement {
|
|
|
156
190
|
e ? this.setAttribute("checked", "") : this.removeAttribute("checked");
|
|
157
191
|
}
|
|
158
192
|
}
|
|
159
|
-
customElements.get("mui-checkbox") || customElements.define("mui-checkbox",
|
|
193
|
+
customElements.get("mui-checkbox") || customElements.define("mui-checkbox", p);
|