@xmesh/system-design 0.0.4 → 0.0.6
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/README.md +2 -1
- package/custom-elements.json +18382 -0
- package/dist/lit/components/alert/index.d.ts +5 -0
- package/dist/lit/components/alert/index.js +8 -2
- package/dist/lit/components/alert/index.styles.js +215 -0
- package/dist/lit/components/app-bar/index.d.ts +1 -0
- package/dist/lit/components/app-bar/index.js +4 -2
- package/dist/lit/components/app-bar/index.styles.js +94 -0
- package/dist/lit/components/artifact/index.d.ts +5 -0
- package/dist/lit/components/artifact/index.js +14 -10
- package/dist/lit/components/artifact/index.styles.js +180 -0
- package/dist/lit/components/autocomplete/index.d.ts +5 -0
- package/dist/lit/components/autocomplete/index.js +11 -2
- package/dist/lit/components/autocomplete/index.styles.js +185 -0
- package/dist/lit/components/avatar/index.d.ts +1 -0
- package/dist/lit/components/avatar/index.js +4 -2
- package/dist/lit/components/avatar/index.styles.js +76 -0
- package/dist/lit/components/avatar-group/index.d.ts +1 -0
- package/dist/lit/components/avatar-group/index.js +4 -2
- package/dist/lit/components/avatar-group/index.styles.js +74 -0
- package/dist/lit/components/badge/index.d.ts +1 -0
- package/dist/lit/components/badge/index.js +4 -2
- package/dist/lit/components/badge/index.styles.js +86 -0
- package/dist/lit/components/brand-mark/index.js +8 -9
- package/dist/lit/components/brand-mark/index.styles.js +123 -0
- package/dist/lit/components/breadcrumbs/index.d.ts +1 -0
- package/dist/lit/components/breadcrumbs/index.js +5 -4
- package/dist/lit/components/breadcrumbs/index.styles.js +105 -0
- package/dist/lit/components/bubble/index.d.ts +4 -0
- package/dist/lit/components/bubble/index.js +14 -11
- package/dist/lit/components/bubble/index.styles.js +196 -0
- package/dist/lit/components/button/index.d.ts +1 -0
- package/dist/lit/components/button/index.js +6 -13
- package/dist/lit/components/button/index.styles.js +356 -0
- package/dist/lit/components/card/index.d.ts +1 -0
- package/dist/lit/components/card/index.js +4 -2
- package/dist/lit/components/card/index.styles.js +113 -0
- package/dist/lit/components/chat/index.d.ts +6 -0
- package/dist/lit/components/chat/index.js +15 -10
- package/dist/lit/components/chat/index.styles.js +306 -0
- package/dist/lit/components/checkbox/index.d.ts +1 -0
- package/dist/lit/components/checkbox/index.js +7 -4
- package/dist/lit/components/checkbox/index.styles.js +140 -0
- package/dist/lit/components/chip/index.d.ts +5 -0
- package/dist/lit/components/chip/index.js +8 -2
- package/dist/lit/components/chip/index.styles.js +159 -0
- package/dist/lit/components/chip-group/index.d.ts +4 -0
- package/dist/lit/components/chip-group/index.js +7 -2
- package/dist/lit/components/chip-group/index.styles.js +33 -0
- package/dist/lit/components/code/index.d.ts +1 -0
- package/dist/lit/components/code/index.js +4 -3
- package/dist/lit/components/code/index.styles.js +56 -0
- package/dist/lit/components/composer/index.d.ts +6 -0
- package/dist/lit/components/composer/index.js +15 -10
- package/dist/lit/components/composer/index.styles.js +562 -0
- package/dist/lit/components/data-table/index.css +18 -0
- package/dist/lit/components/data-table/index.d.ts +30 -0
- package/dist/lit/components/data-table/index.js +120 -34
- package/dist/lit/components/data-table/index.styles.js +198 -0
- package/dist/lit/components/date-range/index.d.ts +4 -0
- package/dist/lit/components/date-range/index.js +7 -2
- package/dist/lit/components/date-range/index.styles.js +338 -0
- package/dist/lit/components/dialog/index.d.ts +4 -0
- package/dist/lit/components/dialog/index.js +7 -2
- package/dist/lit/components/dialog/index.styles.js +138 -0
- package/dist/lit/components/divider/index.d.ts +1 -0
- package/dist/lit/components/divider/index.js +4 -2
- package/dist/lit/components/divider/index.styles.js +41 -0
- package/dist/lit/components/empty-state/index.d.ts +1 -0
- package/dist/lit/components/empty-state/index.js +4 -2
- package/dist/lit/components/empty-state/index.styles.js +83 -0
- package/dist/lit/components/expansion-panel/index.d.ts +5 -0
- package/dist/lit/components/expansion-panel/index.js +8 -2
- package/dist/lit/components/expansion-panel/index.styles.js +134 -0
- package/dist/lit/components/field/index.d.ts +4 -0
- package/dist/lit/components/field/index.js +9 -4
- package/dist/lit/components/field/index.styles.js +237 -0
- package/dist/lit/components/file-input/index.d.ts +4 -0
- package/dist/lit/components/file-input/index.js +10 -4
- package/dist/lit/components/file-input/index.styles.js +271 -0
- package/dist/lit/components/form/index.d.ts +4 -0
- package/dist/lit/components/form/index.js +7 -2
- package/dist/lit/components/form/index.styles.js +43 -0
- package/dist/lit/components/grid/index.d.ts +1 -0
- package/dist/lit/components/grid/index.js +4 -2
- package/dist/lit/components/grid/index.styles.js +67 -0
- package/dist/lit/components/kbd/index.d.ts +1 -0
- package/dist/lit/components/kbd/index.js +4 -2
- package/dist/lit/components/kbd/index.styles.js +49 -0
- package/dist/lit/components/list/index.d.ts +4 -0
- package/dist/lit/components/list/index.js +7 -2
- package/dist/lit/components/list/index.styles.js +29 -0
- package/dist/lit/components/list-item/index.d.ts +1 -0
- package/dist/lit/components/list-item/index.js +4 -2
- package/dist/lit/components/list-item/index.styles.js +133 -0
- package/dist/lit/components/menu/index.d.ts +8 -0
- package/dist/lit/components/menu/index.js +11 -3
- package/dist/lit/components/menu/index.styles.js +108 -0
- package/dist/lit/components/multi-select/index.css +156 -0
- package/dist/lit/components/multi-select/index.d.ts +70 -0
- package/dist/lit/components/multi-select/index.js +497 -0
- package/dist/lit/components/multi-select/index.styles.js +170 -0
- package/dist/lit/components/navigation-drawer/index.d.ts +4 -0
- package/dist/lit/components/navigation-drawer/index.js +7 -2
- package/dist/lit/components/navigation-drawer/index.styles.js +128 -0
- package/dist/lit/components/overlay/index.d.ts +5 -0
- package/dist/lit/components/overlay/index.js +8 -2
- package/dist/lit/components/overlay/index.styles.js +185 -0
- package/dist/lit/components/pagination/index.d.ts +17 -0
- package/dist/lit/components/pagination/index.js +53 -8
- package/dist/lit/components/pagination/index.styles.js +116 -0
- package/dist/lit/components/popover/index.d.ts +5 -0
- package/dist/lit/components/popover/index.js +8 -2
- package/dist/lit/components/popover/index.styles.js +48 -0
- package/dist/lit/components/primitives/index.js +8 -9
- package/dist/lit/components/primitives/index.styles.js +518 -0
- package/dist/lit/components/progress/index.d.ts +1 -0
- package/dist/lit/components/progress/index.js +4 -2
- package/dist/lit/components/progress/index.styles.js +157 -0
- package/dist/lit/components/radio-group/index.d.ts +5 -0
- package/dist/lit/components/radio-group/index.js +10 -6
- package/dist/lit/components/radio-group/index.styles.js +192 -0
- package/dist/lit/components/select/index.d.ts +4 -0
- package/dist/lit/components/select/index.js +10 -2
- package/dist/lit/components/select/index.styles.js +165 -0
- package/dist/lit/components/sidebar-item/index.js +8 -9
- package/dist/lit/components/sidebar-item/index.styles.js +147 -0
- package/dist/lit/components/skeleton/index.d.ts +1 -0
- package/dist/lit/components/skeleton/index.js +4 -2
- package/dist/lit/components/skeleton/index.styles.js +95 -0
- package/dist/lit/components/slider/index.d.ts +5 -0
- package/dist/lit/components/slider/index.js +11 -4
- package/dist/lit/components/slider/index.styles.js +185 -0
- package/dist/lit/components/snackbar/index.d.ts +4 -0
- package/dist/lit/components/snackbar/index.js +14 -10
- package/dist/lit/components/snackbar/index.styles.js +293 -0
- package/dist/lit/components/stack/index.d.ts +1 -0
- package/dist/lit/components/stack/index.js +4 -2
- package/dist/lit/components/stack/index.styles.js +55 -0
- package/dist/lit/components/switch/index.d.ts +1 -0
- package/dist/lit/components/switch/index.js +7 -4
- package/dist/lit/components/switch/index.styles.js +140 -0
- package/dist/lit/components/table/index.d.ts +1 -0
- package/dist/lit/components/table/index.js +4 -2
- package/dist/lit/components/table/index.styles.js +99 -0
- package/dist/lit/components/tabs/index.d.ts +4 -0
- package/dist/lit/components/tabs/index.js +8 -4
- package/dist/lit/components/tabs/index.styles.js +130 -0
- package/dist/lit/components/text-field/index.d.ts +1 -0
- package/dist/lit/components/text-field/index.js +7 -2
- package/dist/lit/components/text-field/index.styles.js +104 -0
- package/dist/lit/components/textarea/index.d.ts +1 -0
- package/dist/lit/components/textarea/index.js +7 -2
- package/dist/lit/components/textarea/index.styles.js +69 -0
- package/dist/lit/components/tooltip/index.d.ts +1 -0
- package/dist/lit/components/tooltip/index.js +4 -2
- package/dist/lit/components/tooltip/index.styles.js +51 -0
- package/dist/lit/components/validation/index.d.ts +6 -0
- package/dist/lit/components/validation/index.js +15 -10
- package/dist/lit/components/validation/index.styles.js +400 -0
- package/dist/lit/index.d.ts +1 -0
- package/dist/lit/index.js +1 -0
- package/dist/react/XmAlert.d.ts +99 -0
- package/dist/react/XmAlert.js +47 -0
- package/dist/react/XmAppBar.d.ts +59 -0
- package/dist/react/XmAppBar.js +34 -0
- package/dist/react/XmArtifact.d.ts +113 -0
- package/dist/react/XmArtifact.js +48 -0
- package/dist/react/XmArtifactChip.d.ts +56 -0
- package/dist/react/XmArtifactChip.js +32 -0
- package/dist/react/XmAutocomplete.d.ts +153 -0
- package/dist/react/XmAutocomplete.js +70 -0
- package/dist/react/XmAvatar.d.ts +71 -0
- package/dist/react/XmAvatar.js +40 -0
- package/dist/react/XmAvatarGroup.d.ts +59 -0
- package/dist/react/XmAvatarGroup.js +34 -0
- package/dist/react/XmBadge.d.ts +67 -0
- package/dist/react/XmBadge.js +38 -0
- package/dist/react/XmBrandGlyph.d.ts +46 -0
- package/dist/react/XmBrandGlyph.js +24 -0
- package/dist/react/XmBrandMark.d.ts +71 -0
- package/dist/react/XmBrandMark.js +40 -0
- package/dist/react/XmBreadcrumbs.d.ts +56 -0
- package/dist/react/XmBreadcrumbs.js +32 -0
- package/dist/react/XmBubble.d.ts +69 -0
- package/dist/react/XmBubble.js +38 -0
- package/dist/react/XmBubbleActions.d.ts +59 -0
- package/dist/react/XmBubbleActions.js +34 -0
- package/dist/react/XmBubbleGroup.d.ts +82 -0
- package/dist/react/XmBubbleGroup.js +38 -0
- package/dist/react/XmButton.d.ts +89 -0
- package/dist/react/XmButton.js +48 -0
- package/dist/react/XmCard.d.ts +59 -0
- package/dist/react/XmCard.js +34 -0
- package/dist/react/XmChatShell.d.ts +110 -0
- package/dist/react/XmChatShell.js +48 -0
- package/dist/react/XmCheckbox.d.ts +145 -0
- package/dist/react/XmCheckbox.js +60 -0
- package/dist/react/XmChip.d.ts +99 -0
- package/dist/react/XmChip.js +48 -0
- package/dist/react/XmChipGroup.d.ts +79 -0
- package/dist/react/XmChipGroup.js +36 -0
- package/dist/react/XmCode.d.ts +55 -0
- package/dist/react/XmCode.js +32 -0
- package/dist/react/XmComposer.d.ts +123 -0
- package/dist/react/XmComposer.js +56 -0
- package/dist/react/XmDataTable.d.ts +125 -0
- package/dist/react/XmDataTable.js +66 -0
- package/dist/react/XmDateRange.d.ts +93 -0
- package/dist/react/XmDateRange.js +42 -0
- package/dist/react/XmDialog.d.ts +87 -0
- package/dist/react/XmDialog.js +41 -0
- package/dist/react/XmDivider.d.ts +55 -0
- package/dist/react/XmDivider.js +32 -0
- package/dist/react/XmEmptyState.d.ts +61 -0
- package/dist/react/XmEmptyState.js +34 -0
- package/dist/react/XmExpansionPanel.d.ts +101 -0
- package/dist/react/XmExpansionPanel.js +49 -0
- package/dist/react/XmFileInput.d.ts +151 -0
- package/dist/react/XmFileInput.js +70 -0
- package/dist/react/XmFileValidationBlock.d.ts +111 -0
- package/dist/react/XmFileValidationBlock.js +50 -0
- package/dist/react/XmForm.d.ts +91 -0
- package/dist/react/XmForm.js +38 -0
- package/dist/react/XmGrid.d.ts +59 -0
- package/dist/react/XmGrid.js +34 -0
- package/dist/react/XmKbd.d.ts +46 -0
- package/dist/react/XmKbd.js +24 -0
- package/dist/react/XmList.d.ts +83 -0
- package/dist/react/XmList.js +38 -0
- package/dist/react/XmListItem.d.ts +67 -0
- package/dist/react/XmListItem.js +38 -0
- package/dist/react/XmMenu.d.ts +98 -0
- package/dist/react/XmMenu.js +46 -0
- package/dist/react/XmMenuItem.d.ts +63 -0
- package/dist/react/XmMenuItem.js +36 -0
- package/dist/react/XmMultiSelect.d.ts +161 -0
- package/dist/react/XmMultiSelect.js +74 -0
- package/dist/react/XmNavigationDrawer.d.ts +93 -0
- package/dist/react/XmNavigationDrawer.js +42 -0
- package/dist/react/XmOverlay.d.ts +120 -0
- package/dist/react/XmOverlay.js +56 -0
- package/dist/react/XmPagination.d.ts +117 -0
- package/dist/react/XmPagination.js +58 -0
- package/dist/react/XmPopover.d.ts +90 -0
- package/dist/react/XmPopover.js +42 -0
- package/dist/react/XmProgress.d.ts +75 -0
- package/dist/react/XmProgress.js +42 -0
- package/dist/react/XmRadio.d.ts +88 -0
- package/dist/react/XmRadio.js +42 -0
- package/dist/react/XmRadioGroup.d.ts +139 -0
- package/dist/react/XmRadioGroup.js +58 -0
- package/dist/react/XmSelect.d.ts +152 -0
- package/dist/react/XmSelect.js +70 -0
- package/dist/react/XmSidebarItem.d.ts +75 -0
- package/dist/react/XmSidebarItem.js +42 -0
- package/dist/react/XmSkeleton.d.ts +71 -0
- package/dist/react/XmSkeleton.js +40 -0
- package/dist/react/XmSlider.d.ts +160 -0
- package/dist/react/XmSlider.js +76 -0
- package/dist/react/XmSnackbar.d.ts +110 -0
- package/dist/react/XmSnackbar.js +51 -0
- package/dist/react/XmStack.d.ts +71 -0
- package/dist/react/XmStack.js +40 -0
- package/dist/react/XmSwitch.d.ts +136 -0
- package/dist/react/XmSwitch.js +58 -0
- package/dist/react/XmTab.d.ts +79 -0
- package/dist/react/XmTab.js +38 -0
- package/dist/react/XmTabPanel.d.ts +55 -0
- package/dist/react/XmTabPanel.js +32 -0
- package/dist/react/XmTable.d.ts +57 -0
- package/dist/react/XmTable.js +32 -0
- package/dist/react/XmTabs.d.ts +82 -0
- package/dist/react/XmTabs.js +38 -0
- package/dist/react/XmTextField.d.ts +147 -0
- package/dist/react/XmTextField.js +62 -0
- package/dist/react/XmTextarea.d.ts +155 -0
- package/dist/react/XmTextarea.js +66 -0
- package/dist/react/XmTooltip.d.ts +67 -0
- package/dist/react/XmTooltip.js +38 -0
- package/dist/react/index.d.ts +59 -0
- package/dist/react/index.js +59 -0
- package/dist/react/react-utils.js +67 -0
- package/package.json +37 -9
- package/styles/_base-typography.css +86 -0
- package/styles/_primitives.css +54 -0
- package/styles/_reset.css +58 -0
- package/styles/base.css +23 -0
- package/vscode.css-custom-data.json +6 -0
- package/vscode.html-custom-data.json +979 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
// GENERATED by scripts/gen-styles.mjs — do not edit. Source: lit/components/date-range/index.css
|
|
2
|
+
// SSR-safe: constructable stylesheets need the DOM, so in a non-DOM context
|
|
3
|
+
// (Node/SSR import) this exports [] instead of throwing. The CSS self-declares
|
|
4
|
+
// the @layer order so the override contract holds even without ./base (AD-2).
|
|
5
|
+
let sheets = [];
|
|
6
|
+
if (typeof CSSStyleSheet !== "undefined") {
|
|
7
|
+
const sheet = new CSSStyleSheet();
|
|
8
|
+
sheet.replaceSync(`@layer reset, base, tokens, components, utilities;
|
|
9
|
+
@layer components {
|
|
10
|
+
/* ============================================
|
|
11
|
+
<xm-date-range /> — preset rail + calendar range picker.
|
|
12
|
+
|
|
13
|
+
A field-styled trigger opens an anchored popover (role="dialog") holding a
|
|
14
|
+
vertical preset rail and a calendar grid. The popover surface chrome
|
|
15
|
+
(inverse-surface fill, hairline border, level3 elevation, edge-flip, motion)
|
|
16
|
+
is owned by the composed <xm-overlay> in the \`menu\` tier; this file styles the
|
|
17
|
+
trigger and the panel that rides inside the overlay body. Inputs are the
|
|
18
|
+
card tier, so all ink is inverse-on-surface (POLICIES 7a).
|
|
19
|
+
|
|
20
|
+
Selected endpoints fill with --md-sys-color-primary-container (circular,
|
|
21
|
+
corner-full). The in-range band is a softer translucent coral derived from
|
|
22
|
+
that same container via color-mix (token-only ingredients) so the run between
|
|
23
|
+
the two endpoints reads as one continuous selection. The active preset is a
|
|
24
|
+
solid --md-sys-color-primary pill. Severity is never hue here — no error
|
|
25
|
+
tokens; the invalid-range message is icon + copy (AD-11).
|
|
26
|
+
|
|
27
|
+
BEM block: \`date-range\`. Registered in scripts/check-bem.sh STRICT_BLOCKS.
|
|
28
|
+
Elements: __trigger __icon __value __panel __layout __rail __preset
|
|
29
|
+
__calendar __cal-head __month __nav __grid __weekday __cell __day __sr-only
|
|
30
|
+
__alert __alert-icon __footer __btn.
|
|
31
|
+
Modifiers: __trigger--open · __value--placeholder · __preset--active ·
|
|
32
|
+
__cell--in-range/--start/--end · __day--today/--selected/--muted ·
|
|
33
|
+
__btn--apply.
|
|
34
|
+
============================================ */
|
|
35
|
+
|
|
36
|
+
/* ---------- Trigger ---------- */
|
|
37
|
+
.date-range__trigger {
|
|
38
|
+
appearance: none;
|
|
39
|
+
display: inline-flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
gap: var(--s-2);
|
|
42
|
+
min-width: 220px;
|
|
43
|
+
padding: var(--s-2) var(--s-3);
|
|
44
|
+
background: var(--md-sys-color-inverse-surface);
|
|
45
|
+
border: 1px solid var(--md-sys-color-outline-variant);
|
|
46
|
+
border-radius: var(--md-sys-shape-corner-button);
|
|
47
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
text-align: start;
|
|
50
|
+
font:
|
|
51
|
+
var(--md-sys-typescale-body-small-weight)
|
|
52
|
+
var(--md-sys-typescale-body-small-size) /
|
|
53
|
+
var(--md-sys-typescale-body-small-line-height)
|
|
54
|
+
var(--md-sys-typescale-body-small-font);
|
|
55
|
+
transition:
|
|
56
|
+
border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),
|
|
57
|
+
box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
|
|
58
|
+
}
|
|
59
|
+
.date-range__trigger:hover { border-color: var(--md-sys-color-outline); }
|
|
60
|
+
.date-range__trigger:focus { outline: none; }
|
|
61
|
+
.date-range__trigger:focus-visible,
|
|
62
|
+
.date-range__trigger--open {
|
|
63
|
+
border-color: var(--md-sys-color-primary);
|
|
64
|
+
box-shadow: var(--xm-state-focus-ring);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.date-range__icon {
|
|
68
|
+
display: inline-flex;
|
|
69
|
+
flex-shrink: 0;
|
|
70
|
+
color: var(--xm-color-inverse-on-surface-muted);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.date-range__value {
|
|
74
|
+
flex: 1;
|
|
75
|
+
min-width: 0;
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
text-overflow: ellipsis;
|
|
78
|
+
white-space: nowrap;
|
|
79
|
+
}
|
|
80
|
+
.date-range__value--placeholder {
|
|
81
|
+
color: var(--xm-color-inverse-on-surface-muted);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* ---------- Panel (rides inside overlay body; no chrome of its own) ---------- */
|
|
85
|
+
.date-range__panel {
|
|
86
|
+
display: flex;
|
|
87
|
+
flex-direction: column;
|
|
88
|
+
outline: none;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.date-range__layout {
|
|
92
|
+
display: flex;
|
|
93
|
+
gap: var(--s-4);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* ---------- Preset rail ---------- */
|
|
97
|
+
.date-range__rail {
|
|
98
|
+
display: flex;
|
|
99
|
+
flex-direction: column;
|
|
100
|
+
gap: var(--s-1);
|
|
101
|
+
min-width: 132px;
|
|
102
|
+
padding-inline-end: var(--s-3);
|
|
103
|
+
border-inline-end: 1px solid var(--md-sys-color-outline-variant);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.date-range__preset {
|
|
107
|
+
appearance: none;
|
|
108
|
+
text-align: start;
|
|
109
|
+
padding: var(--s-2) var(--s-3);
|
|
110
|
+
background: transparent;
|
|
111
|
+
border: 1px solid transparent;
|
|
112
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
113
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
114
|
+
cursor: pointer;
|
|
115
|
+
font:
|
|
116
|
+
var(--md-sys-typescale-label-large-weight)
|
|
117
|
+
var(--md-sys-typescale-label-large-size) /
|
|
118
|
+
var(--md-sys-typescale-label-large-line-height)
|
|
119
|
+
var(--md-sys-typescale-label-large-font);
|
|
120
|
+
transition: background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
|
|
121
|
+
}
|
|
122
|
+
.date-range__preset:hover {
|
|
123
|
+
background: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) var(--md-sys-state-hover-state-layer-opacity), transparent);
|
|
124
|
+
}
|
|
125
|
+
.date-range__preset:focus { outline: none; }
|
|
126
|
+
.date-range__preset:focus-visible { box-shadow: var(--xm-state-focus-ring); }
|
|
127
|
+
.date-range__preset--active {
|
|
128
|
+
background: var(--md-sys-color-primary);
|
|
129
|
+
color: var(--md-sys-color-on-primary);
|
|
130
|
+
}
|
|
131
|
+
.date-range__preset--active:hover { background: var(--md-sys-color-primary); }
|
|
132
|
+
|
|
133
|
+
/* ---------- Calendar ---------- */
|
|
134
|
+
.date-range__calendar {
|
|
135
|
+
display: flex;
|
|
136
|
+
flex-direction: column;
|
|
137
|
+
gap: var(--s-2);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.date-range__cal-head {
|
|
141
|
+
display: flex;
|
|
142
|
+
align-items: center;
|
|
143
|
+
justify-content: space-between;
|
|
144
|
+
gap: var(--s-2);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.date-range__month {
|
|
148
|
+
flex: 1;
|
|
149
|
+
text-align: center;
|
|
150
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
151
|
+
font:
|
|
152
|
+
var(--md-sys-typescale-title-small-weight)
|
|
153
|
+
var(--md-sys-typescale-title-small-size) /
|
|
154
|
+
var(--md-sys-typescale-title-small-line-height)
|
|
155
|
+
var(--md-sys-typescale-title-small-font);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.date-range__nav {
|
|
159
|
+
appearance: none;
|
|
160
|
+
display: inline-flex;
|
|
161
|
+
align-items: center;
|
|
162
|
+
justify-content: center;
|
|
163
|
+
width: 28px;
|
|
164
|
+
height: 28px;
|
|
165
|
+
padding: 0;
|
|
166
|
+
background: none;
|
|
167
|
+
border: none;
|
|
168
|
+
border-radius: var(--md-sys-shape-corner-extra-small);
|
|
169
|
+
color: var(--xm-color-inverse-on-surface-muted);
|
|
170
|
+
cursor: pointer;
|
|
171
|
+
transition: color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
|
|
172
|
+
}
|
|
173
|
+
.date-range__nav:hover { color: var(--md-sys-color-inverse-on-surface); }
|
|
174
|
+
.date-range__nav:focus { outline: none; }
|
|
175
|
+
.date-range__nav:focus-visible { box-shadow: var(--xm-state-focus-ring); }
|
|
176
|
+
|
|
177
|
+
.date-range__grid {
|
|
178
|
+
display: grid;
|
|
179
|
+
grid-template-columns: repeat(7, 36px);
|
|
180
|
+
gap: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* Row wrappers carry role="row" for the ARIA grid; display:contents keeps the
|
|
184
|
+
columnheaders/gridcells as direct items of the 7-column grid so the visual
|
|
185
|
+
layout is unchanged. */
|
|
186
|
+
.date-range__weekdays,
|
|
187
|
+
.date-range__week {
|
|
188
|
+
display: contents;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.date-range__weekday {
|
|
192
|
+
display: inline-flex;
|
|
193
|
+
align-items: center;
|
|
194
|
+
justify-content: center;
|
|
195
|
+
height: 28px;
|
|
196
|
+
color: var(--xm-color-inverse-on-surface-muted);
|
|
197
|
+
font:
|
|
198
|
+
var(--md-sys-typescale-label-medium-weight)
|
|
199
|
+
var(--md-sys-typescale-label-medium-size) /
|
|
200
|
+
var(--md-sys-typescale-label-medium-line-height)
|
|
201
|
+
var(--md-sys-typescale-label-medium-font);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/* The cell carries the in-range band so it spans the full 36px column with no
|
|
205
|
+
inter-cell gap — the band reads continuous across a week. */
|
|
206
|
+
.date-range__cell {
|
|
207
|
+
display: inline-flex;
|
|
208
|
+
align-items: center;
|
|
209
|
+
justify-content: center;
|
|
210
|
+
width: 36px;
|
|
211
|
+
height: 36px;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.date-range__cell--in-range {
|
|
215
|
+
background: color-mix(in oklab, var(--md-sys-color-primary-container) 55%, transparent);
|
|
216
|
+
}
|
|
217
|
+
/* Round the band ends at the endpoints so the run has soft caps. */
|
|
218
|
+
.date-range__cell--start {
|
|
219
|
+
background: color-mix(in oklab, var(--md-sys-color-primary-container) 55%, transparent);
|
|
220
|
+
border-start-start-radius: var(--md-sys-shape-corner-full);
|
|
221
|
+
border-end-start-radius: var(--md-sys-shape-corner-full);
|
|
222
|
+
}
|
|
223
|
+
.date-range__cell--end {
|
|
224
|
+
background: color-mix(in oklab, var(--md-sys-color-primary-container) 55%, transparent);
|
|
225
|
+
border-start-end-radius: var(--md-sys-shape-corner-full);
|
|
226
|
+
border-end-end-radius: var(--md-sys-shape-corner-full);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.date-range__day {
|
|
230
|
+
appearance: none;
|
|
231
|
+
display: inline-flex;
|
|
232
|
+
align-items: center;
|
|
233
|
+
justify-content: center;
|
|
234
|
+
width: 32px;
|
|
235
|
+
height: 32px;
|
|
236
|
+
padding: 0;
|
|
237
|
+
background: transparent;
|
|
238
|
+
border: 1px solid transparent;
|
|
239
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
240
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
241
|
+
cursor: pointer;
|
|
242
|
+
font:
|
|
243
|
+
var(--md-sys-typescale-body-small-weight)
|
|
244
|
+
var(--md-sys-typescale-body-small-size) /
|
|
245
|
+
var(--md-sys-typescale-body-small-line-height)
|
|
246
|
+
var(--md-sys-typescale-body-small-font);
|
|
247
|
+
transition: background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
|
|
248
|
+
}
|
|
249
|
+
.date-range__day:hover {
|
|
250
|
+
background: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) var(--md-sys-state-hover-state-layer-opacity), transparent);
|
|
251
|
+
}
|
|
252
|
+
.date-range__day:focus { outline: none; }
|
|
253
|
+
.date-range__day:focus-visible { box-shadow: var(--xm-state-focus-ring); }
|
|
254
|
+
|
|
255
|
+
.date-range__day--muted { color: var(--xm-color-inverse-on-surface-muted); }
|
|
256
|
+
|
|
257
|
+
.date-range__day--today { border-color: var(--md-sys-color-primary); }
|
|
258
|
+
|
|
259
|
+
.date-range__day--selected {
|
|
260
|
+
background: var(--md-sys-color-primary-container);
|
|
261
|
+
color: var(--md-sys-color-on-primary-container);
|
|
262
|
+
}
|
|
263
|
+
.date-range__day--selected:hover { background: var(--md-sys-color-primary-container); }
|
|
264
|
+
|
|
265
|
+
/* ---------- Screen-reader-only live region + invalid alert ---------- */
|
|
266
|
+
.date-range__sr-only {
|
|
267
|
+
position: absolute;
|
|
268
|
+
width: 1px;
|
|
269
|
+
height: 1px;
|
|
270
|
+
overflow: hidden;
|
|
271
|
+
clip: rect(0 0 0 0);
|
|
272
|
+
white-space: nowrap;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.date-range__alert {
|
|
276
|
+
display: flex;
|
|
277
|
+
align-items: center;
|
|
278
|
+
gap: var(--s-2);
|
|
279
|
+
margin-top: var(--s-2);
|
|
280
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
281
|
+
font:
|
|
282
|
+
var(--md-sys-typescale-label-medium-weight)
|
|
283
|
+
var(--md-sys-typescale-label-medium-size) /
|
|
284
|
+
var(--md-sys-typescale-label-medium-line-height)
|
|
285
|
+
var(--md-sys-typescale-label-medium-font);
|
|
286
|
+
}
|
|
287
|
+
.date-range__alert-icon {
|
|
288
|
+
display: inline-flex;
|
|
289
|
+
flex-shrink: 0;
|
|
290
|
+
color: var(--md-sys-color-primary);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/* ---------- Footer ---------- */
|
|
294
|
+
.date-range__footer {
|
|
295
|
+
display: flex;
|
|
296
|
+
justify-content: flex-end;
|
|
297
|
+
gap: var(--s-2);
|
|
298
|
+
margin-top: var(--s-3);
|
|
299
|
+
padding-top: var(--s-3);
|
|
300
|
+
border-top: 1px solid var(--md-sys-color-outline-variant);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.date-range__btn {
|
|
304
|
+
appearance: none;
|
|
305
|
+
padding: var(--s-2) var(--s-4);
|
|
306
|
+
border-radius: var(--md-sys-shape-corner-button);
|
|
307
|
+
border: 1px solid var(--md-sys-color-outline-variant);
|
|
308
|
+
background: transparent;
|
|
309
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
310
|
+
cursor: pointer;
|
|
311
|
+
font:
|
|
312
|
+
var(--md-sys-typescale-label-large-weight)
|
|
313
|
+
var(--md-sys-typescale-label-large-size) /
|
|
314
|
+
var(--md-sys-typescale-label-large-line-height)
|
|
315
|
+
var(--md-sys-typescale-label-large-font);
|
|
316
|
+
transition: background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
|
|
317
|
+
}
|
|
318
|
+
.date-range__btn:hover {
|
|
319
|
+
background: color-mix(in oklab, var(--md-sys-color-inverse-on-surface) var(--md-sys-state-hover-state-layer-opacity), transparent);
|
|
320
|
+
}
|
|
321
|
+
.date-range__btn:focus { outline: none; }
|
|
322
|
+
.date-range__btn:focus-visible { box-shadow: var(--xm-state-focus-ring); }
|
|
323
|
+
|
|
324
|
+
.date-range__btn--apply {
|
|
325
|
+
background: var(--md-sys-color-primary);
|
|
326
|
+
border-color: transparent;
|
|
327
|
+
color: var(--md-sys-color-on-primary);
|
|
328
|
+
}
|
|
329
|
+
.date-range__btn--apply:hover { background: var(--md-sys-color-primary); }
|
|
330
|
+
.date-range__btn--apply[aria-disabled="true"] {
|
|
331
|
+
opacity: 0.45;
|
|
332
|
+
cursor: not-allowed;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
}`);
|
|
336
|
+
sheets = [sheet];
|
|
337
|
+
}
|
|
338
|
+
export default sheets;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import type { TemplateResult } from "lit";
|
|
3
|
+
/**
|
|
4
|
+
* @fires close - Fired when the element requests to close.
|
|
5
|
+
*/
|
|
3
6
|
export declare class XmDialog extends LitElement {
|
|
7
|
+
static styles: CSSStyleSheet[];
|
|
4
8
|
open: boolean;
|
|
5
9
|
noScrimClose: boolean;
|
|
6
10
|
static: boolean;
|
|
@@ -48,7 +48,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
48
48
|
};
|
|
49
49
|
import { LitElement, html, svg, nothing } from "lit";
|
|
50
50
|
import { customElement, property, query, state } from "lit/decorators.js";
|
|
51
|
-
|
|
51
|
+
import dialogSheets from "./index.styles.js";
|
|
52
52
|
let dialogSeq = 0;
|
|
53
53
|
const CLOSE_ICON = () => svg `
|
|
54
54
|
<svg width="18" height="18" viewBox="0 0 24 24" fill="none"
|
|
@@ -57,6 +57,9 @@ const CLOSE_ICON = () => svg `
|
|
|
57
57
|
<path d="M6 6l12 12M18 6L6 18" />
|
|
58
58
|
</svg>
|
|
59
59
|
`;
|
|
60
|
+
/**
|
|
61
|
+
* @fires close - Fired when the element requests to close.
|
|
62
|
+
*/
|
|
60
63
|
let XmDialog = class XmDialog extends LitElement {
|
|
61
64
|
constructor() {
|
|
62
65
|
super(...arguments);
|
|
@@ -115,10 +118,12 @@ let XmDialog = class XmDialog extends LitElement {
|
|
|
115
118
|
this._hasAction = slot.assignedElements().length > 0;
|
|
116
119
|
};
|
|
117
120
|
}
|
|
121
|
+
// Adopted from the build-generated sheets (scripts/gen-styles.mjs) — no
|
|
122
|
+
// runtime URL fetch (ADR 0012). Cascade order preserved from the old <link>s.
|
|
123
|
+
static { this.styles = [...dialogSheets]; }
|
|
118
124
|
render() {
|
|
119
125
|
const cls = `dialog${this.static ? " dialog--static" : ""}`;
|
|
120
126
|
return html `
|
|
121
|
-
<link rel="stylesheet" href="${DIALOG_CSS}" />
|
|
122
127
|
<style>
|
|
123
128
|
:host { display: contents; }
|
|
124
129
|
</style>
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// GENERATED by scripts/gen-styles.mjs — do not edit. Source: lit/components/dialog/index.css
|
|
2
|
+
// SSR-safe: constructable stylesheets need the DOM, so in a non-DOM context
|
|
3
|
+
// (Node/SSR import) this exports [] instead of throwing. The CSS self-declares
|
|
4
|
+
// the @layer order so the override contract holds even without ./base (AD-2).
|
|
5
|
+
let sheets = [];
|
|
6
|
+
if (typeof CSSStyleSheet !== "undefined") {
|
|
7
|
+
const sheet = new CSSStyleSheet();
|
|
8
|
+
sheet.replaceSync(`@layer reset, base, tokens, components, utilities;
|
|
9
|
+
@layer components {
|
|
10
|
+
/* ============================================
|
|
11
|
+
Dialog — a centered modal panel.
|
|
12
|
+
|
|
13
|
+
The panel chrome (inverse-surface fill, inverse-on-surface ink, hairline
|
|
14
|
+
border, corner-large radius, level5 elevation, the scrim ::backdrop, and the
|
|
15
|
+
centered modal positioning) is owned by the composed <xm-overlay> in the
|
|
16
|
+
\`dialog\` tier (modal mode). This file styles the panel's internal layout:
|
|
17
|
+
the header row + close control, the body, and the singular action row.
|
|
18
|
+
|
|
19
|
+
All ink is inverse-on-surface (AD-13) — the card-stack ink, matching the
|
|
20
|
+
theme-following panel surface (ADR 0006). Scrim is a flat alpha on
|
|
21
|
+
--md-sys-color-scrim (owned by the overlay); NO gradient (the snackbar scrim
|
|
22
|
+
is the only sanctioned one).
|
|
23
|
+
|
|
24
|
+
Entry/exit is opacity + a small translateY at short4 standard — no scale-in
|
|
25
|
+
reveal, no spring. The overlay owns the fade; this adds the lift.
|
|
26
|
+
|
|
27
|
+
BEM block: \`dialog\`. Registered in scripts/check-bem.sh STRICT_BLOCKS.
|
|
28
|
+
Elements: __head, __header, __close, __body, __actions. Modifier: --static.
|
|
29
|
+
============================================ */
|
|
30
|
+
|
|
31
|
+
.dialog {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
gap: var(--s-4);
|
|
35
|
+
min-width: 0;
|
|
36
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
37
|
+
padding: var(--s-5);
|
|
38
|
+
animation: dialog-in var(--md-sys-motion-duration-short4)
|
|
39
|
+
var(--md-sys-motion-easing-standard) both;
|
|
40
|
+
}
|
|
41
|
+
.dialog--static {
|
|
42
|
+
animation: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@keyframes dialog-in {
|
|
46
|
+
from {
|
|
47
|
+
opacity: 0;
|
|
48
|
+
transform: translateY(8px);
|
|
49
|
+
}
|
|
50
|
+
to {
|
|
51
|
+
opacity: 1;
|
|
52
|
+
transform: translateY(0);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.dialog__head {
|
|
57
|
+
display: flex;
|
|
58
|
+
align-items: flex-start;
|
|
59
|
+
justify-content: space-between;
|
|
60
|
+
gap: var(--s-3);
|
|
61
|
+
}
|
|
62
|
+
.dialog__head.is-empty {
|
|
63
|
+
/* No header text — keep the close control but drop the title row height. */
|
|
64
|
+
justify-content: flex-end;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.dialog__header {
|
|
68
|
+
font-family: var(--md-sys-typescale-title-large-font);
|
|
69
|
+
font-size: var(--md-sys-typescale-title-large-size);
|
|
70
|
+
line-height: var(--md-sys-typescale-title-large-line-height);
|
|
71
|
+
font-weight: var(--md-sys-typescale-title-large-weight);
|
|
72
|
+
letter-spacing: var(--md-sys-typescale-title-large-tracking);
|
|
73
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
74
|
+
text-wrap: pretty;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.dialog__close {
|
|
78
|
+
appearance: none;
|
|
79
|
+
border: none;
|
|
80
|
+
background: transparent;
|
|
81
|
+
color: color-mix(
|
|
82
|
+
in oklch,
|
|
83
|
+
var(--md-sys-color-inverse-on-surface) 70%,
|
|
84
|
+
transparent
|
|
85
|
+
);
|
|
86
|
+
width: 32px;
|
|
87
|
+
height: 32px;
|
|
88
|
+
border-radius: var(--md-sys-shape-corner-small);
|
|
89
|
+
cursor: pointer;
|
|
90
|
+
display: inline-flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
justify-content: center;
|
|
93
|
+
flex-shrink: 0;
|
|
94
|
+
margin: calc(-1 * var(--s-1)) calc(-1 * var(--s-1)) 0 0;
|
|
95
|
+
transition: background var(--md-sys-motion-duration-short3)
|
|
96
|
+
var(--md-sys-motion-easing-standard);
|
|
97
|
+
}
|
|
98
|
+
.dialog__close:hover {
|
|
99
|
+
background: color-mix(
|
|
100
|
+
in oklch,
|
|
101
|
+
var(--md-sys-color-inverse-on-surface) 10%,
|
|
102
|
+
transparent
|
|
103
|
+
);
|
|
104
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
105
|
+
}
|
|
106
|
+
.dialog__close:focus-visible {
|
|
107
|
+
outline: none;
|
|
108
|
+
box-shadow: var(--xm-state-focus-ring);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.dialog__body {
|
|
112
|
+
min-width: 0;
|
|
113
|
+
font-family: var(--md-sys-typescale-body-medium-font);
|
|
114
|
+
font-size: var(--md-sys-typescale-body-medium-size);
|
|
115
|
+
line-height: var(--md-sys-typescale-body-medium-line-height);
|
|
116
|
+
color: color-mix(
|
|
117
|
+
in oklch,
|
|
118
|
+
var(--md-sys-color-inverse-on-surface) 88%,
|
|
119
|
+
transparent
|
|
120
|
+
);
|
|
121
|
+
text-wrap: pretty;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.dialog__actions {
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
justify-content: flex-end;
|
|
128
|
+
gap: var(--s-2);
|
|
129
|
+
flex-wrap: wrap;
|
|
130
|
+
}
|
|
131
|
+
.dialog__actions.is-empty {
|
|
132
|
+
display: none;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
}`);
|
|
136
|
+
sheets = [sheet];
|
|
137
|
+
}
|
|
138
|
+
export default sheets;
|
|
@@ -2,6 +2,7 @@ import { LitElement } from "lit";
|
|
|
2
2
|
import type { TemplateResult } from "lit";
|
|
3
3
|
type DividerOrientation = "horizontal" | "vertical";
|
|
4
4
|
export declare class XmDivider extends LitElement {
|
|
5
|
+
static styles: CSSStyleSheet[];
|
|
5
6
|
orientation: DividerOrientation;
|
|
6
7
|
render(): TemplateResult;
|
|
7
8
|
}
|
|
@@ -27,18 +27,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
27
27
|
};
|
|
28
28
|
import { LitElement, html } from "lit";
|
|
29
29
|
import { customElement, property } from "lit/decorators.js";
|
|
30
|
+
import dividerSheets from "./index.styles.js";
|
|
30
31
|
// Resolve CSS relative to the *built* file:
|
|
31
32
|
// lit/build/components/divider/index.js → ../divider/index.css.
|
|
32
|
-
const DIVIDER_CSS = new URL("../divider/index.css", import.meta.url).href;
|
|
33
33
|
let XmDivider = class XmDivider extends LitElement {
|
|
34
34
|
constructor() {
|
|
35
35
|
super(...arguments);
|
|
36
36
|
this.orientation = "horizontal";
|
|
37
37
|
}
|
|
38
|
+
// Adopted from the build-generated sheets (scripts/gen-styles.mjs) — no
|
|
39
|
+
// runtime URL fetch (ADR 0012). Cascade order preserved from the old <link>s.
|
|
40
|
+
static { this.styles = [...dividerSheets]; }
|
|
38
41
|
render() {
|
|
39
42
|
const orientation = this.orientation === "vertical" ? "vertical" : "horizontal";
|
|
40
43
|
return html `
|
|
41
|
-
<link rel="stylesheet" href="${DIVIDER_CSS}" />
|
|
42
44
|
<style>
|
|
43
45
|
:host {
|
|
44
46
|
display: block;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// GENERATED by scripts/gen-styles.mjs — do not edit. Source: lit/components/divider/index.css
|
|
2
|
+
// SSR-safe: constructable stylesheets need the DOM, so in a non-DOM context
|
|
3
|
+
// (Node/SSR import) this exports [] instead of throwing. The CSS self-declares
|
|
4
|
+
// the @layer order so the override contract holds even without ./base (AD-2).
|
|
5
|
+
let sheets = [];
|
|
6
|
+
if (typeof CSSStyleSheet !== "undefined") {
|
|
7
|
+
const sheet = new CSSStyleSheet();
|
|
8
|
+
sheet.replaceSync(`@layer reset, base, tokens, components, utilities;
|
|
9
|
+
@layer components {
|
|
10
|
+
/* ============================================
|
|
11
|
+
<xm-divider> — standalone hairline rule.
|
|
12
|
+
|
|
13
|
+
Exactly 1px using --md-sys-color-outline-variant (the default hairline
|
|
14
|
+
weight; the same rule a card's header/footer split uses). Never 2px —
|
|
15
|
+
2px is reserved for the drag-active field state only. No thickness
|
|
16
|
+
variants, no status hue: a divider is always a neutral hairline that
|
|
17
|
+
traces its host surface and reads on both surface families (AD-13).
|
|
18
|
+
|
|
19
|
+
BEM: block \`divider\`; modifiers \`--horizontal\` / \`--vertical\`.
|
|
20
|
+
============================================ */
|
|
21
|
+
|
|
22
|
+
.divider {
|
|
23
|
+
background: var(--md-sys-color-outline-variant);
|
|
24
|
+
border: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.divider--horizontal {
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 1px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.divider--vertical {
|
|
33
|
+
width: 1px;
|
|
34
|
+
height: 100%;
|
|
35
|
+
min-height: 1em;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
}`);
|
|
39
|
+
sheets = [sheet];
|
|
40
|
+
}
|
|
41
|
+
export default sheets;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import type { TemplateResult } from "lit";
|
|
3
3
|
export declare class XmEmptyState extends LitElement {
|
|
4
|
+
static styles: CSSStyleSheet[];
|
|
4
5
|
heading: string;
|
|
5
6
|
/** A primitives icon element name (e.g. "xm-search-icon"). Used only when no
|
|
6
7
|
slot="icon" content is supplied. */
|
|
@@ -38,7 +38,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
38
38
|
};
|
|
39
39
|
import { LitElement, html, nothing } from "lit";
|
|
40
40
|
import { customElement, property, state } from "lit/decorators.js";
|
|
41
|
-
|
|
41
|
+
import emptyStateSheets from "./index.styles.js";
|
|
42
42
|
let XmEmptyState = class XmEmptyState extends LitElement {
|
|
43
43
|
constructor() {
|
|
44
44
|
super(...arguments);
|
|
@@ -69,10 +69,12 @@ let XmEmptyState = class XmEmptyState extends LitElement {
|
|
|
69
69
|
this._hasAction = slot.assignedElements().length > 0;
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
+
// Adopted from the build-generated sheets (scripts/gen-styles.mjs) — no
|
|
73
|
+
// runtime URL fetch (ADR 0012). Cascade order preserved from the old <link>s.
|
|
74
|
+
static { this.styles = [...emptyStateSheets]; }
|
|
72
75
|
render() {
|
|
73
76
|
const showFallbackIcon = !this._hasIconSlot && this.icon !== "";
|
|
74
77
|
return html `
|
|
75
|
-
<link rel="stylesheet" href="${EMPTY_STATE_CSS}" />
|
|
76
78
|
<style>
|
|
77
79
|
:host { display: block; }
|
|
78
80
|
:host([hidden]) { display: none; }
|