@threadlabs/looma 0.17.0 → 0.17.2
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/components/ui-avatar-group/ui-avatar-group.html +8 -5
- package/components/ui-avatar-group/ui-avatar-group.js +3 -3
- package/components/ui-badge/ui-badge.html +10 -5
- package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +2 -1
- package/components/ui-button/ui-button.html +33 -26
- package/components/ui-button/ui-button.js +2 -2
- package/components/ui-callout/ui-callout.html +3 -1
- package/components/ui-card/ui-card.html +5 -3
- package/components/ui-checkbox/ui-checkbox.html +36 -8
- package/components/ui-combobox/ui-combobox.html +72 -45
- package/components/ui-combobox/ui-combobox.js +7 -2
- package/components/ui-context-menu/ui-context-menu.html +2 -2
- package/components/ui-description-item/ui-description-item.html +1 -1
- package/components/ui-description-list/ui-description-list.html +2 -0
- package/components/ui-dialog/ui-dialog.html +3 -23
- package/components/ui-disclosure/ui-disclosure.html +2 -2
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +2 -2
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +3 -3
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +4 -4
- package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +6 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +4 -4
- package/components/ui-editor-toolbar/ui-editor-toolbar.html +5 -5
- package/components/ui-floating-action-button/ui-floating-action-button.html +4 -2
- package/components/ui-icon-button/ui-icon-button.html +57 -17
- package/components/ui-icon-button/ui-icon-button.js +1 -1
- package/components/ui-list/ui-list.html +46 -6
- package/components/ui-list-item/ui-list-item.html +1 -1
- package/components/ui-menu/ui-menu.html +4 -3
- package/components/ui-menu/ui-menu.js +9 -3
- package/components/ui-menu-item/ui-menu-item.html +43 -6
- package/components/ui-meter/ui-meter.html +4 -1
- package/components/ui-nav-item/ui-nav-item.html +0 -1
- package/components/ui-page-header/ui-page-header.html +1 -0
- package/components/ui-popover/ui-popover.html +1 -1
- package/components/ui-radio/ui-radio.html +5 -2
- package/components/ui-scroll-area/ui-scroll-area.html +9 -14
- package/components/ui-scroll-area/ui-scroll-area.js +32 -0
- package/components/ui-search-result-row/ui-search-result-row.html +5 -3
- package/components/ui-search-shell/ui-search-shell.html +8 -8
- package/components/ui-section/ui-section.html +5 -3
- package/components/ui-separator/ui-separator.html +2 -2
- package/components/ui-sidebar/ui-sidebar.html +2 -2
- package/components/ui-spinner/ui-spinner.html +28 -8
- package/components/ui-status-message/ui-status-message.html +1 -1
- package/components/ui-switch/ui-switch.html +17 -8
- package/components/ui-table/ui-table.html +1 -1
- package/components/ui-tabs/ui-tabs.html +21 -12
- package/components/ui-toast/ui-toast.html +1 -1
- package/components/ui-toast-region/ui-toast-region.html +1 -1
- package/components/ui-tooltip/ui-tooltip.html +12 -12
- package/components/ui-tooltip/ui-tooltip.js +1 -1
- package/components/ui-top-bar/ui-top-bar.html +1 -1
- package/components/ui-tree/ui-tree.js +4 -1
- package/components/ui-tree-item/ui-tree-item.html +2 -1
- package/dist/index.js +15 -14
- package/editor/chunks/extensions.js +12 -2
- package/editor/extensions/preset.d.ts +6 -1
- package/package.json +1 -1
- package/styles/ui-avatar-group.css +8 -5
- package/styles/ui-badge.css +10 -5
- package/styles/ui-breadcrumb-item.css +2 -1
- package/styles/ui-button.css +19 -25
- package/styles/ui-callout.css +3 -1
- package/styles/ui-card.css +4 -2
- package/styles/ui-checkbox.css +38 -8
- package/styles/ui-combobox.css +27 -8
- package/styles/ui-context-menu.css +2 -2
- package/styles/ui-description-item.css +1 -1
- package/styles/ui-description-list.css +2 -0
- package/styles/ui-dialog.css +1 -22
- package/styles/ui-disclosure.css +2 -2
- package/styles/ui-editor-insert-table-grid.css +2 -2
- package/styles/ui-editor-mention-menu.css +3 -3
- package/styles/ui-editor-slash-menu-item.css +6 -1
- package/styles/ui-editor-slash-menu.css +4 -4
- package/styles/ui-editor-table-context-menu.css +2 -2
- package/styles/ui-editor-table-toolbar.css +4 -4
- package/styles/ui-editor-toolbar.css +5 -5
- package/styles/ui-floating-action-button.css +3 -1
- package/styles/ui-icon-button.css +53 -18
- package/styles/ui-list-item.css +1 -1
- package/styles/ui-list.css +41 -6
- package/styles/ui-menu-item.css +43 -5
- package/styles/ui-menu.css +3 -3
- package/styles/ui-meter.css +4 -1
- package/styles/ui-nav-item.css +0 -1
- package/styles/ui-page-header.css +1 -0
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio.css +5 -2
- package/styles/ui-scroll-area.css +10 -16
- package/styles/ui-search-result-row.css +3 -2
- package/styles/ui-search-shell.css +7 -7
- package/styles/ui-section.css +5 -3
- package/styles/ui-separator.css +2 -2
- package/styles/ui-sidebar.css +2 -2
- package/styles/ui-spinner.css +27 -6
- package/styles/ui-status-message.css +1 -1
- package/styles/ui-switch.css +17 -8
- package/styles/ui-table.css +1 -1
- package/styles/ui-tabs.css +60 -51
- package/styles/ui-toast-region.css +1 -1
- package/styles/ui-toast.css +1 -1
- package/styles/ui-tooltip.css +12 -12
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +2 -1
- package/theme-dark.css +4 -4
- package/theme-light.css +3 -3
- package/tokens.css +9 -6
- package/vanilla/UiButton.d.ts +1 -0
- package/vanilla/UiButton.js +17 -19
- package/vanilla/UiCombobox.js +162 -159
- package/vanilla/UiDialog.js +2 -2
- package/vanilla/UiIconButton.d.ts +1 -0
- package/vanilla/UiIconButton.js +1 -4
- package/vanilla/UiList.d.ts +3 -1
- package/vanilla/UiList.js +36 -19
- package/vanilla/UiMenu.d.ts +1 -0
- package/vanilla/UiMenu.js +1 -1
- package/vanilla/UiMenuItem.js +10 -13
- package/vanilla/UiScrollArea.js +11 -6
- package/vanilla/UiSearchShell.js +2 -2
- package/vanilla/UiSpinner.js +2 -4
- package/vue/UiAvatarGroup.vue +8 -5
- package/vue/UiBadge.vue +10 -5
- package/vue/UiBreadcrumbItem.vue +2 -1
- package/vue/UiButton.d.ts +2 -0
- package/vue/UiButton.vue +31 -28
- package/vue/UiCallout.vue +3 -2
- package/vue/UiCard.vue +4 -2
- package/vue/UiCheckbox.vue +36 -8
- package/vue/UiCombobox.d.ts +1 -1
- package/vue/UiCombobox.vue +55 -35
- package/vue/UiContextMenu.vue +2 -2
- package/vue/UiDescriptionItem.vue +1 -1
- package/vue/UiDescriptionList.vue +2 -0
- package/vue/UiDialog.d.ts +3 -3
- package/vue/UiDialog.vue +3 -27
- package/vue/UiDisclosure.vue +2 -2
- package/vue/UiEditorInsertTableGrid.vue +2 -2
- package/vue/UiEditorMentionMenu.d.ts +1 -1
- package/vue/UiEditorMentionMenu.vue +4 -3
- package/vue/UiEditorSlashMenu.vue +6 -4
- package/vue/UiEditorSlashMenuItem.vue +6 -1
- package/vue/UiEditorTableContextMenu.vue +2 -2
- package/vue/UiEditorTableToolbar.vue +4 -4
- package/vue/UiEditorToolbar.vue +5 -5
- package/vue/UiFloatingActionButton.vue +3 -1
- package/vue/UiIconButton.d.ts +2 -0
- package/vue/UiIconButton.vue +61 -19
- package/vue/UiList.d.ts +7 -1
- package/vue/UiList.vue +57 -6
- package/vue/UiListItem.vue +1 -1
- package/vue/UiMenu.d.ts +2 -0
- package/vue/UiMenu.vue +6 -3
- package/vue/UiMenuItem.d.ts +3 -3
- package/vue/UiMenuItem.vue +47 -7
- package/vue/UiMeter.vue +4 -1
- package/vue/UiNavItem.vue +0 -1
- package/vue/UiPageHeader.vue +1 -0
- package/vue/UiPopover.vue +1 -1
- package/vue/UiRadio.vue +5 -2
- package/vue/UiScrollArea.vue +24 -18
- package/vue/UiSearchResultRow.vue +3 -2
- package/vue/UiSearchShell.vue +8 -8
- package/vue/UiSection.vue +5 -3
- package/vue/UiSeparator.vue +2 -2
- package/vue/UiSidebar.vue +2 -2
- package/vue/UiSpinner.vue +28 -7
- package/vue/UiStatusMessage.vue +1 -1
- package/vue/UiSwitch.vue +20 -9
- package/vue/UiTable.vue +1 -1
- package/vue/UiTabs.vue +25 -12
- package/vue/UiToast.vue +1 -1
- package/vue/UiToastRegion.vue +1 -1
- package/vue/UiTooltip.vue +12 -12
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTreeItem.vue +2 -1
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiBreadcrumbItem.js +1 -1
- package/vue/chunks/UiButton.js +28 -23
- package/vue/chunks/UiCallout.js +1 -1
- package/vue/chunks/UiCard.js +1 -1
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiCombobox.js +80 -77
- package/vue/chunks/UiContextMenu.js +1 -1
- package/vue/chunks/UiDescriptionItem.js +1 -1
- package/vue/chunks/UiDescriptionList.js +1 -1
- package/vue/chunks/UiDialog.js +7 -4
- package/vue/chunks/UiDisclosure.js +1 -1
- package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
- package/vue/chunks/UiEditorMentionMenu.js +1 -1
- package/vue/chunks/UiEditorSlashMenu.js +1 -1
- package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
- package/vue/chunks/UiEditorTableContextMenu.js +1 -1
- package/vue/chunks/UiEditorTableToolbar.js +1 -1
- package/vue/chunks/UiEditorToolbar.js +1 -1
- package/vue/chunks/UiFloatingActionButton.js +1 -1
- package/vue/chunks/UiIconButton.js +13 -8
- package/vue/chunks/UiList.js +17 -5
- package/vue/chunks/UiListItem.js +1 -1
- package/vue/chunks/UiMenu.js +10 -2
- package/vue/chunks/UiMenuItem.js +1 -4
- package/vue/chunks/UiMeter.js +1 -1
- package/vue/chunks/UiNavItem.js +1 -1
- package/vue/chunks/UiPageHeader.js +1 -1
- package/vue/chunks/UiPopover.js +1 -1
- package/vue/chunks/UiRadio.js +1 -1
- package/vue/chunks/UiScrollArea.js +22 -3
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.js +2 -2
- package/vue/chunks/UiSection.js +1 -1
- package/vue/chunks/UiSeparator.js +1 -1
- package/vue/chunks/UiSidebar.js +1 -1
- package/vue/chunks/UiSpinner.js +7 -5
- package/vue/chunks/UiStatusMessage.js +1 -1
- package/vue/chunks/UiSwitch.js +1 -1
- package/vue/chunks/UiTable.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiToast.js +1 -1
- package/vue/chunks/UiToastRegion.js +1 -1
- package/vue/chunks/UiTooltip.js +1 -1
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTreeItem.js +1 -1
- package/vue/components.css +1231 -1032
- package/vue/editor/code-block-view.d.ts +29 -0
- package/vue/editor/index.js +70 -4
- package/vue/index.js +1 -1
|
@@ -89,14 +89,14 @@
|
|
|
89
89
|
margin-inline: auto;
|
|
90
90
|
overflow: hidden;
|
|
91
91
|
background: var(--_ui-search-shell-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
92
|
-
border: 1px solid var(--_ui-search-shell-border, var(--ui-overlay-border, var(--ui-border-
|
|
92
|
+
border: 1px solid var(--_ui-search-shell-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
93
93
|
border-radius: var(--_ui-search-shell-radius, var(--ui-overlay-radius, var(--ui-radius-dialog)));
|
|
94
94
|
box-shadow: var(--_ui-search-shell-shadow, var(--ui-overlay-shadow, var(--ui-elevation-dialog, var(--ui-shadow-xl))));
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.search {
|
|
98
98
|
padding: var(--ui-space-3);
|
|
99
|
-
border-block-end: 1px solid var(--ui-border-
|
|
99
|
+
border-block-end: 1px solid var(--ui-border-divider);
|
|
100
100
|
transition: border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
101
101
|
}
|
|
102
102
|
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
.status,
|
|
110
|
-
.
|
|
110
|
+
.actions {
|
|
111
111
|
flex-shrink: 0;
|
|
112
112
|
padding: var(--ui-space-2) var(--ui-space-4);
|
|
113
113
|
color: var(--ui-text-secondary);
|
|
@@ -115,22 +115,22 @@
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
.status {
|
|
118
|
-
border-block-end: 1px solid var(--ui-border-
|
|
118
|
+
border-block-end: 1px solid var(--ui-border-divider);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
/* Laid out like the dialog's action row: actions right-aligned, spaced as buttons, no fill. */
|
|
122
|
-
.
|
|
122
|
+
.actions {
|
|
123
123
|
display: flex;
|
|
124
124
|
flex-wrap: wrap;
|
|
125
125
|
align-items: center;
|
|
126
126
|
justify-content: flex-end;
|
|
127
127
|
gap: var(--ui-space-2);
|
|
128
128
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
129
|
-
border-block-start: 1px solid var(--ui-border-
|
|
129
|
+
border-block-start: 1px solid var(--ui-border-divider);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
.status:empty,
|
|
133
|
-
.
|
|
133
|
+
.actions:empty {
|
|
134
134
|
display: none;
|
|
135
135
|
}
|
|
136
136
|
|
package/styles/ui-section.css
CHANGED
|
@@ -11,18 +11,20 @@
|
|
|
11
11
|
|
|
12
12
|
:scope[data-ui-section-state~="variant=card"] {
|
|
13
13
|
padding: var(--ui-space-5);
|
|
14
|
-
border: 1px solid var(--ui-border-
|
|
14
|
+
border: 1px solid var(--ui-border-strong);
|
|
15
15
|
border-radius: var(--ui-radius-lg);
|
|
16
16
|
background: var(--ui-surface-raised);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
:scope[data-ui-section-state~="variant=divided"] {
|
|
20
20
|
padding-block-start: var(--ui-space-6);
|
|
21
|
-
border-block-start: 1px solid var(--ui-border-
|
|
21
|
+
border-block-start: 1px solid var(--ui-border-divider);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
:scope[data-ui-section-state~="variant=card"][data-ui-section-state~="tone=danger"] {
|
|
25
|
-
border-color: var(--ui-danger);
|
|
25
|
+
border-color: color-mix(in srgb, var(--ui-danger) 45%, var(--ui-border-default));
|
|
26
|
+
border-inline-start: 4px solid var(--ui-danger);
|
|
27
|
+
background: var(--ui-danger-soft);
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
.head {
|
package/styles/ui-separator.css
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
align-self: stretch;
|
|
13
13
|
margin: 0;
|
|
14
14
|
border: 0;
|
|
15
|
-
border-block-start: 1px solid var(--ui-separator-color, var(--ui-border-
|
|
15
|
+
border-block-start: 1px solid var(--ui-separator-color, var(--ui-border-divider));
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
:scope[aria-orientation="vertical"] {
|
|
19
19
|
block-size: auto;
|
|
20
20
|
border-block-start: 0;
|
|
21
|
-
border-inline-start: 1px solid var(--ui-separator-color, var(--ui-border-
|
|
21
|
+
border-inline-start: 1px solid var(--ui-separator-color, var(--ui-border-divider));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
@scope ([data-component~="ui-separator"]) to ([data-component]) {
|
package/styles/ui-sidebar.css
CHANGED
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
max-inline-size: 100%;
|
|
32
32
|
min-block-size: 0;
|
|
33
33
|
background: var(--ui-sidebar-surface, var(--ui-surface-default));
|
|
34
|
-
border-inline-end: 1px solid var(--ui-sidebar-border, var(--ui-border-
|
|
34
|
+
border-inline-end: 1px solid var(--ui-sidebar-border, var(--ui-border-divider));
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
:scope[data-ui-sidebar-state~="side=end"] {
|
|
38
38
|
border-inline-end: 0;
|
|
39
|
-
border-inline-start: 1px solid var(--ui-sidebar-border, var(--ui-border-
|
|
39
|
+
border-inline-start: 1px solid var(--ui-sidebar-border, var(--ui-border-divider));
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/* The panel's content scrolls, and each edge that hides content fades: the scroll fade every
|
package/styles/ui-spinner.css
CHANGED
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.7. Do not edit. */
|
|
2
|
-
@keyframes ui-spinner-
|
|
3
|
-
|
|
2
|
+
@keyframes ui-spinner-chase {
|
|
3
|
+
0% {
|
|
4
|
+
transform: rotate(0);
|
|
5
|
+
}
|
|
6
|
+
70% {
|
|
7
|
+
transform: rotate(160deg);
|
|
8
|
+
}
|
|
9
|
+
100% {
|
|
4
10
|
transform: rotate(1turn);
|
|
5
11
|
}
|
|
6
12
|
}
|
|
7
13
|
@scope ([data-component~="ui-spinner"]) to ([data-component], [data-slotted]) {
|
|
8
|
-
/* Something is on its way.
|
|
14
|
+
/* Something is on its way. The ring chases in the current text colour; with reduced motion it holds still,
|
|
9
15
|
and the label (or the text beside it) still says what is happening. */
|
|
10
16
|
:scope {
|
|
11
17
|
display: inline-flex;
|
|
12
18
|
flex: none;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
inline-size: 1em;
|
|
22
|
+
block-size: 1em;
|
|
13
23
|
color: currentColor;
|
|
14
24
|
font-size: var(--ui-font-size-lg);
|
|
15
25
|
line-height: 1;
|
|
16
|
-
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.ring {
|
|
29
|
+
display: block;
|
|
30
|
+
box-sizing: border-box;
|
|
31
|
+
inline-size: 100%;
|
|
32
|
+
block-size: 100%;
|
|
33
|
+
border: 2px solid transparent;
|
|
34
|
+
border-block-start-color: currentColor;
|
|
35
|
+
border-inline-end-color: color-mix(in srgb, currentColor 52%, transparent);
|
|
36
|
+
border-radius: 50%;
|
|
37
|
+
animation: ui-spinner-chase 1s linear infinite;
|
|
17
38
|
}
|
|
18
39
|
|
|
19
40
|
:scope[data-ui-spinner-state~="size=sm"] {
|
|
@@ -21,7 +42,7 @@
|
|
|
21
42
|
}
|
|
22
43
|
|
|
23
44
|
@media (prefers-reduced-motion: reduce) {
|
|
24
|
-
|
|
45
|
+
.ring {
|
|
25
46
|
animation: none;
|
|
26
47
|
}
|
|
27
48
|
}
|
|
@@ -32,7 +53,7 @@
|
|
|
32
53
|
}
|
|
33
54
|
}
|
|
34
55
|
@scope ([data-component~="ui-spinner"]) to ([data-component]) {
|
|
35
|
-
/* Something is on its way.
|
|
56
|
+
/* Something is on its way. The ring chases in the current text colour; with reduced motion it holds still,
|
|
36
57
|
and the label (or the text beside it) still says what is happening. */
|
|
37
58
|
|
|
38
59
|
@media (prefers-reduced-motion: reduce) {
|
package/styles/ui-switch.css
CHANGED
|
@@ -58,12 +58,12 @@
|
|
|
58
58
|
width: var(--_ui-switch-track-width, 2.5rem);
|
|
59
59
|
height: var(--_ui-switch-track-height, 1.5rem);
|
|
60
60
|
padding: 0;
|
|
61
|
-
border: 1px solid var(--ui-control-border
|
|
61
|
+
border: 1px solid var(--ui-control-border, var(--ui-border-strong));
|
|
62
62
|
border-radius: var(--ui-radius-round);
|
|
63
|
-
background: var(--ui-control-surface, var(--ui-surface-default));
|
|
64
|
-
box-shadow:
|
|
63
|
+
background-color: var(--ui-control-surface, var(--ui-surface-default));
|
|
64
|
+
box-shadow: var(--ui-control-inset);
|
|
65
65
|
cursor: pointer;
|
|
66
|
-
transition: background-color var(--ui-motion-
|
|
66
|
+
transition: background-color var(--ui-motion-base) var(--ui-motion-ease), border-color var(--ui-motion-base) var(--ui-motion-ease);
|
|
67
67
|
margin: 0;
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
border-radius: var(--ui-radius-round);
|
|
78
78
|
background: var(--ui-text-secondary);
|
|
79
79
|
box-shadow: var(--ui-shadow-xs);
|
|
80
|
-
transition: transform var(--ui-motion-
|
|
80
|
+
transition: transform var(--ui-motion-base) var(--ui-motion-ease), background-color var(--ui-motion-base) var(--ui-motion-ease);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
input:checked {
|
|
84
|
-
background: var(--ui-accent-solid);
|
|
84
|
+
background-color: var(--ui-accent-solid);
|
|
85
85
|
border-color: var(--ui-accent-solid);
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -99,12 +99,21 @@
|
|
|
99
99
|
color: var(--ui-disabled-text);
|
|
100
100
|
cursor: not-allowed;
|
|
101
101
|
}
|
|
102
|
+
:scope[data-ui-switch-state~="disabled"] .description {
|
|
103
|
+
color: var(--ui-disabled-text);
|
|
104
|
+
}
|
|
102
105
|
:scope[data-ui-switch-state~="disabled"] input {
|
|
103
|
-
border-color: var(--ui-border
|
|
104
|
-
background: var(--ui-
|
|
106
|
+
border-color: var(--ui-disabled-border);
|
|
107
|
+
background-color: var(--ui-disabled-surface);
|
|
108
|
+
box-shadow: none;
|
|
105
109
|
cursor: not-allowed;
|
|
106
110
|
}
|
|
107
111
|
|
|
112
|
+
:scope[data-ui-switch-state~="disabled"] input::after {
|
|
113
|
+
background-color: var(--ui-disabled-text);
|
|
114
|
+
box-shadow: none;
|
|
115
|
+
}
|
|
116
|
+
|
|
108
117
|
@media (prefers-reduced-motion: reduce) {
|
|
109
118
|
input, input::after {
|
|
110
119
|
transition: none;
|
package/styles/ui-table.css
CHANGED
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
:where([data-slotted], [data-slotted] *):is(thead th) {
|
|
101
101
|
block-size: auto;
|
|
102
102
|
padding-block: var(--ui-space-2);
|
|
103
|
-
border-block-end-color: var(--ui-border-
|
|
103
|
+
border-block-end-color: var(--ui-border-divider);
|
|
104
104
|
background: var(--ui-surface);
|
|
105
105
|
color: var(--ui-text-muted);
|
|
106
106
|
font-weight: var(--ui-font-medium);
|
package/styles/ui-tabs.css
CHANGED
|
@@ -52,10 +52,50 @@
|
|
|
52
52
|
overflow-y: hidden;
|
|
53
53
|
overscroll-behavior: contain;
|
|
54
54
|
scrollbar-width: thin;
|
|
55
|
-
border-block-end: 1px solid var(--ui-border-
|
|
55
|
+
border-block-end: 1px solid var(--ui-border-divider);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
.
|
|
58
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high. */
|
|
59
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
|
|
60
|
+
* Trimming applies to block containers, so the box is a block with centred content. */
|
|
61
|
+
@supports (text-box-trim: trim-both) {
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:scope[data-ui-tabs-state~="stretch"] .list {
|
|
65
|
+
grid-auto-columns: minmax(max-content, 1fr);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.panels {
|
|
69
|
+
min-inline-size: 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
:scope[data-ui-tabs-state~="orientation=vertical"] {
|
|
73
|
+
grid-template-columns: max-content minmax(0, 1fr);
|
|
74
|
+
align-items: start;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
:scope[data-ui-tabs-state~="orientation=vertical"] .list {
|
|
78
|
+
grid-auto-flow: row;
|
|
79
|
+
grid-auto-columns: auto;
|
|
80
|
+
border-block-end: 0;
|
|
81
|
+
border-inline-end: 1px solid var(--ui-border-divider);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@media (prefers-reduced-motion: reduce) {
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
88
|
+
:scope[hidden] {
|
|
89
|
+
display: none;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
@scope ([data-component~="ui-tabs"]) to ([data-component]) {
|
|
93
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
94
|
+
|
|
95
|
+
/* Density resolves into the tab row's own values; the public tokens still override them. */
|
|
96
|
+
|
|
97
|
+
.list button,
|
|
98
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]) {
|
|
59
99
|
min-block-size: var(--_ui-tabs-tab-min-block-size, var(--_tab-min-block-size));
|
|
60
100
|
margin: 0 0 -1px;
|
|
61
101
|
padding: var(--_ui-tabs-tab-padding-block, var(--_tab-padding-block)) var(--_ui-tabs-tab-padding-inline, var(--_tab-padding-inline));
|
|
@@ -77,7 +117,8 @@
|
|
|
77
117
|
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
|
|
78
118
|
* Trimming applies to block containers, so the box is a block with centred content. */
|
|
79
119
|
@supports (text-box-trim: trim-both) {
|
|
80
|
-
.list button
|
|
120
|
+
.list button,
|
|
121
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]) {
|
|
81
122
|
display: block;
|
|
82
123
|
text-align: center;
|
|
83
124
|
align-content: center;
|
|
@@ -86,83 +127,51 @@
|
|
|
86
127
|
}
|
|
87
128
|
}
|
|
88
129
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.list button {
|
|
130
|
+
.list button,
|
|
131
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]) {
|
|
94
132
|
white-space: nowrap;
|
|
95
133
|
}
|
|
96
134
|
|
|
97
|
-
.list button:hover
|
|
135
|
+
.list button:hover,
|
|
136
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]:hover) {
|
|
98
137
|
color: var(--ui-text-primary);
|
|
99
138
|
background: var(--ui-surface-muted);
|
|
100
139
|
}
|
|
101
|
-
.list button[aria-selected="true"]
|
|
140
|
+
.list button[aria-selected="true"],
|
|
141
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"][aria-selected="true"]) {
|
|
102
142
|
color: var(--ui-accent-solid);
|
|
103
143
|
border-block-end-color: var(--ui-accent-solid);
|
|
104
144
|
}
|
|
105
|
-
.list button:focus-visible
|
|
145
|
+
.list button:focus-visible,
|
|
146
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]:focus-visible) {
|
|
106
147
|
position: relative;
|
|
107
148
|
outline: none;
|
|
108
149
|
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
109
150
|
border-radius: var(--ui-radius-sm);
|
|
110
151
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
min-inline-size: 0;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
:scope[data-ui-tabs-state~="orientation=vertical"] {
|
|
117
|
-
grid-template-columns: max-content minmax(0, 1fr);
|
|
118
|
-
align-items: start;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
:scope[data-ui-tabs-state~="orientation=vertical"] .list {
|
|
122
|
-
grid-auto-flow: row;
|
|
123
|
-
grid-auto-columns: auto;
|
|
124
|
-
border-block-end: 0;
|
|
125
|
-
border-inline-end: 1px solid var(--ui-border-default);
|
|
152
|
+
.panels > :where([data-slotted], [data-slotted] *):is(*) {
|
|
153
|
+
padding: var(--ui-space-4);
|
|
126
154
|
}
|
|
127
155
|
|
|
128
|
-
:scope[data-ui-tabs-state~="orientation=vertical"] .list button
|
|
156
|
+
:scope[data-ui-tabs-state~="orientation=vertical"] .list button,
|
|
157
|
+
:scope[data-ui-tabs-state~="orientation=vertical"] .list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]) {
|
|
129
158
|
margin: 0 -1px 0 0;
|
|
130
159
|
border-block-end: 0;
|
|
131
160
|
border-inline-end: 2px solid transparent;
|
|
132
161
|
text-align: start;
|
|
133
162
|
}
|
|
134
163
|
|
|
135
|
-
:scope[data-ui-tabs-state~="orientation=vertical"] .list button[aria-selected="true"]
|
|
164
|
+
:scope[data-ui-tabs-state~="orientation=vertical"] .list button[aria-selected="true"],
|
|
165
|
+
:scope[data-ui-tabs-state~="orientation=vertical"] .list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"][aria-selected="true"]) {
|
|
136
166
|
border-inline-end-color: var(--ui-accent-solid);
|
|
137
167
|
}
|
|
138
168
|
|
|
139
169
|
@media (prefers-reduced-motion: reduce) {
|
|
140
|
-
.list button
|
|
170
|
+
.list button,
|
|
171
|
+
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]) {
|
|
141
172
|
transition: none;
|
|
142
173
|
}
|
|
143
174
|
}
|
|
144
175
|
|
|
145
|
-
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
146
|
-
:scope[hidden] {
|
|
147
|
-
display: none;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
@scope ([data-component~="ui-tabs"]) to ([data-component]) {
|
|
151
|
-
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
152
|
-
|
|
153
|
-
/* Density resolves into the tab row's own values; the public tokens still override them. */
|
|
154
|
-
|
|
155
|
-
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high. */
|
|
156
|
-
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
|
|
157
|
-
* Trimming applies to block containers, so the box is a block with centred content. */
|
|
158
|
-
@supports (text-box-trim: trim-both) {
|
|
159
|
-
}
|
|
160
|
-
:where([data-slotted], [data-slotted] *):is(*) {
|
|
161
|
-
padding: var(--ui-space-4);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
@media (prefers-reduced-motion: reduce) {
|
|
165
|
-
}
|
|
166
|
-
|
|
167
176
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
168
177
|
}
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
grid-template-columns: 1fr auto;
|
|
130
130
|
gap: var(--ui-space-2);
|
|
131
131
|
align-items: start;
|
|
132
|
-
border: 1px solid var(--_ui-toast-region-border, var(--ui-overlay-border, var(--ui-border-
|
|
132
|
+
border: 1px solid var(--_ui-toast-region-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
133
133
|
border-radius: var(--_ui-toast-region-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
134
134
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
135
135
|
background: var(--_ui-toast-region-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
package/styles/ui-toast.css
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
inline-size: 100%;
|
|
33
33
|
margin: 0;
|
|
34
34
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
35
|
-
border: 1px solid var(--ui-toast-border, var(--ui-overlay-border, var(--ui-border-
|
|
35
|
+
border: 1px solid var(--ui-toast-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
36
36
|
border-inline-start: 3px solid var(--ui-toast-accent, var(--_ui-toast-accent));
|
|
37
37
|
border-radius: var(--ui-toast-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
38
38
|
background: var(--ui-toast-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
package/styles/ui-tooltip.css
CHANGED
|
@@ -76,15 +76,15 @@
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
.surface {
|
|
79
|
-
--_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-
|
|
79
|
+
--_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
80
80
|
position: relative;
|
|
81
81
|
box-sizing: border-box;
|
|
82
82
|
max-inline-size: var(--_ui-tooltip-max-inline-size, 18rem);
|
|
83
83
|
border: 1px solid var(--_tooltip-line);
|
|
84
|
-
border-radius: var(--_ui-tooltip-radius, var(--ui-overlay-radius, var(--ui-radius-
|
|
84
|
+
border-radius: var(--_ui-tooltip-radius, var(--ui-overlay-radius, var(--ui-radius-md)));
|
|
85
85
|
background: var(--_ui-tooltip-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
86
86
|
color: var(--_ui-tooltip-text, var(--ui-text-primary));
|
|
87
|
-
padding: var(--ui-space-
|
|
87
|
+
padding: var(--ui-space-2) var(--ui-space-3);
|
|
88
88
|
font-family: var(--ui-font-family-sans);
|
|
89
89
|
font-size: var(--ui-font-size-sm);
|
|
90
90
|
line-height: var(--ui-line-height-tight);
|
|
@@ -104,20 +104,20 @@
|
|
|
104
104
|
position: absolute;
|
|
105
105
|
z-index: 1;
|
|
106
106
|
inset-inline-start: var(--ui-space-3);
|
|
107
|
-
inset-block-end: calc(var(--_ui-tooltip-arrow-size, 0.
|
|
108
|
-
inline-size: var(--_ui-tooltip-arrow-size, 0.
|
|
109
|
-
block-size: var(--_ui-tooltip-arrow-size, 0.
|
|
107
|
+
inset-block-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - 0.5px);
|
|
108
|
+
inline-size: var(--_ui-tooltip-arrow-size, 0.625rem);
|
|
109
|
+
block-size: var(--_ui-tooltip-arrow-size, 0.625rem);
|
|
110
110
|
box-sizing: border-box;
|
|
111
111
|
background: inherit;
|
|
112
112
|
border: 0 solid var(--_tooltip-line);
|
|
113
113
|
border-inline-end-width: 1px;
|
|
114
114
|
border-block-end-width: 1px;
|
|
115
115
|
border-end-end-radius: 1px;
|
|
116
|
-
transform: rotate(45deg);
|
|
116
|
+
transform: rotate(45deg) scaleX(1.25) scaleY(0.85);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
:scope[data-ui-actual-placement="bottom"] .surface::after {
|
|
120
|
-
inset-block-start: calc(var(--_ui-tooltip-arrow-size, 0.
|
|
120
|
+
inset-block-start: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - 0.5px);
|
|
121
121
|
inset-block-end: auto;
|
|
122
122
|
border-inline-end-width: 0;
|
|
123
123
|
border-block-end-width: 0;
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
:scope[data-ui-actual-align="center"] .surface::after {
|
|
131
|
-
inset-inline-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.
|
|
131
|
+
inset-inline-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
:scope[data-ui-actual-align="end"] .surface::after {
|
|
@@ -138,20 +138,20 @@
|
|
|
138
138
|
|
|
139
139
|
:scope[data-ui-actual-placement="left"] .surface::after,
|
|
140
140
|
:scope[data-ui-actual-placement="right"] .surface::after {
|
|
141
|
-
inset-block-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.
|
|
141
|
+
inset-block-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
|
|
142
142
|
inset-block-end: auto;
|
|
143
143
|
border: 0 solid var(--_tooltip-line);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
:scope[data-ui-actual-placement="left"] .surface::after {
|
|
147
147
|
inset-inline-start: auto;
|
|
148
|
-
inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.
|
|
148
|
+
inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - 0.5px);
|
|
149
149
|
border-inline-end-width: 1px;
|
|
150
150
|
border-block-end-width: 1px;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
:scope[data-ui-actual-placement="right"] .surface::after {
|
|
154
|
-
inset-inline-start: calc(var(--_ui-tooltip-arrow-size, 0.
|
|
154
|
+
inset-inline-start: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - 0.5px);
|
|
155
155
|
inset-inline-end: auto;
|
|
156
156
|
border-inline-start-width: 1px;
|
|
157
157
|
border-block-start-width: 1px;
|
package/styles/ui-top-bar.css
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
padding-inline-start: max(var(--ui-top-bar-padding-inline, var(--ui-space-4)), env(safe-area-inset-left));
|
|
46
46
|
padding-inline-end: max(var(--ui-top-bar-padding-inline, var(--ui-space-4)), env(safe-area-inset-right));
|
|
47
47
|
background: var(--ui-top-bar-surface, var(--ui-surface-elevated));
|
|
48
|
-
border-block-end: 1px solid var(--ui-top-bar-border, var(--ui-border-
|
|
48
|
+
border-block-end: 1px solid var(--ui-top-bar-border, var(--ui-border-divider));
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.leading,
|
package/styles/ui-tree-item.css
CHANGED
package/theme-dark.css
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
--ui-on-danger: #1a1a1a;
|
|
14
14
|
|
|
15
15
|
--ui-accent: #a99bf5;
|
|
16
|
-
--ui-danger: #
|
|
16
|
+
--ui-danger: #ff6b6b;
|
|
17
17
|
--ui-success: #33cc66;
|
|
18
18
|
--ui-warning: #ffaa22;
|
|
19
19
|
--ui-info: #4d9fff;
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
--ui-shadow-lg: 0 10px 28px rgb(0 0 0 / 0.55), 0 4px 10px rgb(0 0 0 / 0.35);
|
|
24
24
|
--ui-control-inset: inset 0 1px 2px rgb(0 0 0 / 0.35);
|
|
25
25
|
--ui-raised: 0 1px 2px rgb(0 0 0 / 0.4), inset 0 1px 0 rgb(255 255 255 / 0.06);
|
|
26
|
-
--ui-disabled-filter:
|
|
26
|
+
--ui-disabled-filter: none;
|
|
27
27
|
--ui-raised-highlight: linear-gradient(rgb(255 255 255 / 0.04), rgb(255 255 255 / 0));
|
|
28
28
|
--ui-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a09c' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
29
29
|
}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
--ui-on-danger: #1a1a1a;
|
|
43
43
|
|
|
44
44
|
--ui-accent: #a99bf5;
|
|
45
|
-
--ui-danger: #
|
|
45
|
+
--ui-danger: #ff6b6b;
|
|
46
46
|
--ui-success: #33cc66;
|
|
47
47
|
--ui-warning: #ffaa22;
|
|
48
48
|
--ui-info: #4d9fff;
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
--ui-shadow-lg: 0 10px 28px rgb(0 0 0 / 0.55), 0 4px 10px rgb(0 0 0 / 0.35);
|
|
53
53
|
--ui-control-inset: inset 0 1px 2px rgb(0 0 0 / 0.35);
|
|
54
54
|
--ui-raised: 0 1px 2px rgb(0 0 0 / 0.4), inset 0 1px 0 rgb(255 255 255 / 0.06);
|
|
55
|
-
--ui-disabled-filter:
|
|
55
|
+
--ui-disabled-filter: none;
|
|
56
56
|
--ui-raised-highlight: linear-gradient(rgb(255 255 255 / 0.04), rgb(255 255 255 / 0));
|
|
57
57
|
--ui-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a09c' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
|
|
58
58
|
}
|
package/theme-light.css
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
--ui-on-danger: #ffffff;
|
|
13
13
|
|
|
14
14
|
--ui-accent: #5b55d6;
|
|
15
|
-
--ui-danger: #
|
|
15
|
+
--ui-danger: #c92d1e;
|
|
16
16
|
--ui-success: #007a33;
|
|
17
|
-
/*
|
|
18
|
-
--ui-warning: #
|
|
17
|
+
/* Rich amber, with enough depth for white text on solid warning surfaces. */
|
|
18
|
+
--ui-warning: #ba5b0b;
|
|
19
19
|
--ui-info: #0066cc;
|
|
20
20
|
}
|
|
21
21
|
}
|
package/tokens.css
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
the two surfaces either side of it, and the ink. Everything else — hovers, tints, borders,
|
|
12
12
|
muted text, disabled — is mixed from them further down, so a theme sets these and stops. */
|
|
13
13
|
--ui-accent: #5b55d6;
|
|
14
|
-
--ui-danger: #
|
|
14
|
+
--ui-danger: #c92d1e;
|
|
15
15
|
--ui-success: #007a33;
|
|
16
|
-
--ui-warning: #
|
|
16
|
+
--ui-warning: #ba5b0b;
|
|
17
17
|
--ui-info: #0066cc;
|
|
18
18
|
--ui-on-accent: #ffffff;
|
|
19
19
|
--ui-on-danger: #ffffff;
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
--ui-elevation-dialog: var(--ui-shadow-lg);
|
|
116
116
|
--ui-overlay-backdrop: rgba(0, 0, 0, 0.4);
|
|
117
117
|
--ui-control-inset: inset 0 1px 2px rgb(0 0 0 / 0.07), inset 0 1px 0 rgb(0 0 0 / 0.02);
|
|
118
|
-
--ui-raised: 0
|
|
118
|
+
--ui-raised: 0 2px 4px rgb(0 0 0 / 0.12), 0 1px 1px rgb(0 0 0 / 0.06);
|
|
119
119
|
--ui-raised-highlight: linear-gradient(rgb(255 255 255 / 0.16), rgb(255 255 255 / 0));
|
|
120
120
|
/* The counterpart to --ui-raised: a pressed control takes its shadow inside. */
|
|
121
121
|
--ui-pressed: inset 0 1px 2px rgb(0 0 0 / 0.12);
|
|
@@ -131,6 +131,8 @@
|
|
|
131
131
|
--ui-text-secondary: color-mix(in oklab, var(--ui-text) 80%, var(--ui-surface));
|
|
132
132
|
--ui-text-muted: color-mix(in oklab, var(--ui-text) 62%, var(--ui-surface));
|
|
133
133
|
--ui-border: color-mix(in oklab, var(--ui-text) 12%, var(--ui-surface));
|
|
134
|
+
/* Lines divide content; stronger edges enclose surfaces; control edges identify inputs. */
|
|
135
|
+
--ui-border-divider: color-mix(in oklab, var(--ui-border) 50%, var(--ui-border-strong));
|
|
134
136
|
--ui-border-strong: color-mix(in oklab, var(--ui-text) 25%, var(--ui-surface));
|
|
135
137
|
--ui-control-border: color-mix(in oklab, var(--ui-text) 48%, var(--ui-surface));
|
|
136
138
|
|
|
@@ -146,9 +148,10 @@
|
|
|
146
148
|
Lighter than muted text, which must stay readable; disabled text is exempt from contrast. */
|
|
147
149
|
--ui-disabled-surface: var(--ui-surface-sunken);
|
|
148
150
|
--ui-disabled-text: color-mix(in oklab, var(--ui-text) 45%, var(--ui-surface));
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
--ui-disabled-border: color-mix(in oklab, var(--ui-text) 20%, var(--ui-surface));
|
|
152
|
+
/* Component filter hooks remain available, but the default disabled state uses the explicit
|
|
153
|
+
neutral surface, text, and border above so a colored outline cannot still look active. */
|
|
154
|
+
--ui-disabled-filter: none;
|
|
152
155
|
|
|
153
156
|
--ui-focus-ring: var(--ui-accent);
|
|
154
157
|
|
package/vanilla/UiButton.d.ts
CHANGED