@threadlabs/looma 0.22.13 → 0.23.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/components/shared/icons.js +6 -0
- package/components/ui-avatar/ui-avatar.html +3 -3
- package/components/ui-avatar-group/ui-avatar-group.html +1 -1
- package/components/ui-badge/ui-badge.html +1 -1
- package/components/ui-button/ui-button.html +3 -3
- package/components/ui-callout/ui-callout.html +3 -2
- package/components/ui-card/ui-card.html +23 -4
- package/components/ui-checkbox/ui-checkbox.html +3 -3
- package/components/ui-combobox/ui-combobox.html +8 -8
- package/components/ui-context-menu/ui-context-menu.html +2 -2
- package/components/ui-description-list/ui-description-list.html +1 -1
- package/components/ui-dialog/ui-dialog.html +3 -3
- package/components/ui-disclosure/ui-disclosure.html +43 -3
- package/components/ui-editable/ui-editable.html +2 -2
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +5 -5
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +2 -2
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -6
- package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +1 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +11 -11
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +5 -5
- package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
- package/components/ui-floating-action-button/ui-floating-action-button.html +2 -2
- package/components/ui-icon/ui-icon.html +6 -0
- package/components/ui-icon-button/ui-icon-button.html +1 -1
- package/components/ui-input/ui-input.html +9 -4
- package/components/ui-input-group/ui-input-group.html +21 -6
- package/components/ui-list/ui-list.html +1 -1
- package/components/ui-list-item/ui-list-item.html +20 -4
- package/components/ui-listbox/ui-listbox.html +3 -3
- package/components/ui-menu/ui-menu.html +2 -2
- package/components/ui-menu-item/ui-menu-item.html +4 -4
- package/components/ui-meter/ui-meter.html +1 -1
- package/components/ui-nav-item/ui-nav-item.html +46 -14
- package/components/ui-popover/ui-popover.html +16 -1
- package/components/ui-radio/ui-radio.html +2 -2
- package/components/ui-scroll-area/ui-scroll-area.html +12 -0
- package/components/ui-search-result-row/ui-search-result-row.html +24 -5
- package/components/ui-search-shell/ui-search-shell.html +4 -4
- package/components/ui-section/ui-section.html +3 -3
- package/components/ui-select/ui-select.html +6 -2
- package/components/ui-separator/ui-separator.html +2 -2
- package/components/ui-sidebar/ui-sidebar.html +3 -3
- package/components/ui-stack/ui-stack.html +6 -3
- package/components/ui-status-message/ui-status-message.html +1 -1
- package/components/ui-switch/ui-switch.html +3 -3
- package/components/ui-table/ui-table.html +3 -3
- package/components/ui-tabs/ui-tabs.html +7 -7
- package/components/ui-text/ui-text.html +12 -0
- package/components/ui-textarea/ui-textarea.html +6 -2
- package/components/ui-toast/ui-toast.html +2 -2
- package/components/ui-toast-region/ui-toast-region.html +5 -5
- package/components/ui-tooltip/ui-tooltip.html +15 -15
- package/components/ui-top-bar/ui-top-bar.html +1 -1
- package/components/ui-tree-item/ui-tree-item.html +27 -8
- package/dist/index.js +1 -1
- package/editor/chunks/extensions.js +55 -2
- package/editor/extensions/index.d.ts +1 -0
- package/editor/extensions/index.js +2 -2
- package/editor/extensions/preset.d.ts +2 -0
- package/editor/extensions/relative-links.d.ts +8 -0
- package/editor/icons.d.ts +6 -0
- package/editor/index.js +9 -3
- package/package.json +1 -1
- package/styles/ui-avatar-group.css +1 -1
- package/styles/ui-avatar.css +3 -3
- package/styles/ui-badge.css +1 -1
- package/styles/ui-button.css +3 -3
- package/styles/ui-callout.css +3 -2
- package/styles/ui-card.css +19 -2
- package/styles/ui-checkbox.css +3 -3
- package/styles/ui-combobox.css +8 -8
- package/styles/ui-context-menu.css +2 -2
- package/styles/ui-description-list.css +1 -1
- package/styles/ui-dialog.css +3 -3
- package/styles/ui-disclosure.css +42 -2
- package/styles/ui-editable.css +2 -2
- package/styles/ui-editor-insert-table-grid.css +5 -5
- package/styles/ui-editor-mention-menu.css +2 -2
- package/styles/ui-editor-slash-menu-item.css +1 -1
- package/styles/ui-editor-slash-menu.css +6 -6
- package/styles/ui-editor-table-context-menu.css +2 -2
- package/styles/ui-editor-table-overlay.css +11 -11
- package/styles/ui-editor-table-toolbar.css +5 -5
- package/styles/ui-editor-toolbar.css +4 -4
- package/styles/ui-floating-action-button.css +2 -2
- package/styles/ui-icon-button.css +1 -1
- package/styles/ui-input-group.css +19 -6
- package/styles/ui-input.css +9 -4
- package/styles/ui-list-item.css +23 -4
- package/styles/ui-list.css +1 -1
- package/styles/ui-listbox.css +3 -3
- package/styles/ui-menu-item.css +4 -4
- package/styles/ui-menu.css +2 -2
- package/styles/ui-meter.css +1 -1
- package/styles/ui-nav-item.css +46 -12
- package/styles/ui-popover.css +14 -1
- package/styles/ui-radio.css +2 -2
- package/styles/ui-scroll-area.css +10 -0
- package/styles/ui-search-result-row.css +25 -5
- package/styles/ui-search-shell.css +4 -4
- package/styles/ui-section.css +3 -3
- package/styles/ui-select.css +6 -2
- package/styles/ui-separator.css +2 -2
- package/styles/ui-sidebar.css +3 -3
- package/styles/ui-stack.css +3 -0
- package/styles/ui-status-message.css +1 -1
- package/styles/ui-switch.css +3 -3
- package/styles/ui-table.css +3 -3
- package/styles/ui-tabs.css +7 -7
- package/styles/ui-text.css +8 -0
- package/styles/ui-textarea.css +6 -2
- package/styles/ui-toast-region.css +5 -5
- package/styles/ui-toast.css +2 -2
- package/styles/ui-tooltip.css +15 -15
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +32 -8
- package/tokens.css +30 -9
- package/vanilla/UiCard.d.ts +2 -1
- package/vanilla/UiCard.js +1 -1
- package/vanilla/UiDisclosure.d.ts +1 -0
- package/vanilla/UiDisclosure.js +10 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiInputGroup.d.ts +1 -0
- package/vanilla/UiInputGroup.js +1 -1
- package/vanilla/UiNavItem.d.ts +2 -0
- package/vanilla/UiNavItem.js +1 -1
- package/vanilla/UiPopover.d.ts +1 -0
- package/vanilla/UiPopover.js +1 -1
- package/vanilla/UiScrollArea.d.ts +1 -0
- package/vanilla/UiScrollArea.js +1 -1
- package/vanilla/UiSearchResultRow.d.ts +1 -0
- package/vanilla/UiSearchResultRow.js +1 -1
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +1 -1
- package/vanilla/UiText.d.ts +2 -0
- package/vanilla/UiText.js +1 -1
- package/vue/UiAvatar.vue +3 -3
- package/vue/UiAvatarGroup.vue +1 -1
- package/vue/UiBadge.vue +2 -1
- package/vue/UiButton.vue +3 -3
- package/vue/UiCallout.vue +2 -2
- package/vue/UiCard.d.ts +12 -3
- package/vue/UiCard.vue +51 -7
- package/vue/UiCheckbox.vue +3 -3
- package/vue/UiCombobox.vue +11 -8
- package/vue/UiContextMenu.vue +2 -2
- package/vue/UiDescriptionList.vue +1 -1
- package/vue/UiDialog.vue +4 -3
- package/vue/UiDisclosure.d.ts +13 -2
- package/vue/UiDisclosure.vue +61 -4
- package/vue/UiEditable.vue +2 -2
- package/vue/UiEditorInsertTableGrid.vue +5 -5
- package/vue/UiEditorMentionMenu.vue +2 -2
- package/vue/UiEditorSlashMenu.vue +6 -6
- package/vue/UiEditorSlashMenuItem.vue +1 -1
- package/vue/UiEditorTableContextMenu.vue +2 -2
- package/vue/UiEditorTableOverlay.vue +11 -11
- package/vue/UiEditorTableToolbar.vue +5 -5
- package/vue/UiEditorToolbar.vue +6 -4
- package/vue/UiFloatingActionButton.vue +2 -2
- package/vue/UiIcon.vue +31 -0
- package/vue/UiIconButton.vue +1 -1
- package/vue/UiInput.vue +8 -4
- package/vue/UiInputGroup.d.ts +9 -0
- package/vue/UiInputGroup.vue +39 -8
- package/vue/UiList.vue +1 -1
- package/vue/UiListItem.vue +20 -4
- package/vue/UiListbox.vue +3 -3
- package/vue/UiMenu.vue +3 -2
- package/vue/UiMenuItem.vue +4 -4
- package/vue/UiMeter.vue +1 -1
- package/vue/UiNavItem.d.ts +18 -0
- package/vue/UiNavItem.vue +96 -12
- package/vue/UiPopover.d.ts +9 -0
- package/vue/UiPopover.vue +45 -3
- package/vue/UiRadio.vue +2 -2
- package/vue/UiScrollArea.d.ts +9 -0
- package/vue/UiScrollArea.vue +35 -2
- package/vue/UiSearchResultRow.d.ts +9 -0
- package/vue/UiSearchResultRow.vue +51 -6
- package/vue/UiSearchShell.vue +4 -4
- package/vue/UiSection.vue +3 -3
- package/vue/UiSelect.vue +3 -2
- package/vue/UiSeparator.vue +4 -2
- package/vue/UiSidebar.vue +5 -3
- package/vue/UiStack.d.ts +3 -3
- package/vue/UiStack.vue +10 -4
- package/vue/UiStatusMessage.vue +1 -1
- package/vue/UiSwitch.vue +3 -3
- package/vue/UiTable.vue +3 -3
- package/vue/UiTabs.vue +8 -7
- package/vue/UiText.d.ts +18 -0
- package/vue/UiText.vue +70 -0
- package/vue/UiTextarea.vue +2 -2
- package/vue/UiToast.vue +4 -2
- package/vue/UiToastRegion.vue +5 -5
- package/vue/UiTooltip.vue +19 -15
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTreeItem.vue +31 -8
- package/vue/chunks/UiAvatar.js +1 -1
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBadge.js +1 -1
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiCallout.js +1 -1
- package/vue/chunks/UiCard.js +39 -3
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiCombobox.js +1 -1
- package/vue/chunks/UiContextMenu.js +1 -1
- package/vue/chunks/UiDescriptionList.js +1 -1
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiDisclosure.js +27 -4
- package/vue/chunks/UiEditable.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/UiEditorTableOverlay.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/UiIcon.js +92 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +59 -22
- package/vue/chunks/UiList.js +1 -1
- package/vue/chunks/UiListItem.js +1 -1
- package/vue/chunks/UiListbox.js +1 -1
- package/vue/chunks/UiMenu.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiMeter.js +1 -1
- package/vue/chunks/UiNavItem.js +65 -6
- package/vue/chunks/UiPopover.js +37 -5
- package/vue/chunks/UiRadio.js +1 -1
- package/vue/chunks/UiScrollArea.js +66 -23
- package/vue/chunks/UiSearchResultRow.js +28 -2
- package/vue/chunks/UiSearchShell.js +1 -1
- package/vue/chunks/UiSection.js +1 -1
- package/vue/chunks/UiSelect.js +1 -1
- package/vue/chunks/UiSeparator.js +1 -1
- package/vue/chunks/UiSidebar.js +1 -1
- package/vue/chunks/UiStack.js +3 -2
- 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/UiText.js +92 -4
- package/vue/chunks/UiTextarea.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 +1431 -1429
- package/vue/editor/LoomaEditor.d.ts +11 -0
- package/vue/editor/index.js +261 -145
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
:scope {
|
|
8
8
|
background: var(--ui-surface);
|
|
9
|
-
border:
|
|
9
|
+
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
10
10
|
border-radius: var(--ui-radius-dialog);
|
|
11
11
|
box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
|
|
12
12
|
overflow: hidden;
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
align-items: center;
|
|
27
27
|
gap: var(--ui-space-2);
|
|
28
28
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
29
|
-
border-bottom:
|
|
29
|
+
border-bottom: var(--ui-border-width) solid var(--ui-border-divider);
|
|
30
30
|
font-size: var(--ui-font-size-xs);
|
|
31
31
|
color: var(--ui-text-muted);
|
|
32
32
|
font-weight: var(--ui-font-semibold);
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
width: 32px;
|
|
105
105
|
height: 32px;
|
|
106
106
|
background: var(--ui-surface-hover);
|
|
107
|
-
border:
|
|
107
|
+
border: var(--ui-border-width) solid var(--ui-border);
|
|
108
108
|
border-radius: var(--ui-radius-md);
|
|
109
109
|
font-size: var(--ui-font-size-sm);
|
|
110
110
|
font-weight: var(--ui-font-bold);
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
|
|
152
152
|
.footer {
|
|
153
153
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
154
|
-
border-top:
|
|
154
|
+
border-top: var(--ui-border-width) solid var(--ui-border-divider);
|
|
155
155
|
font-size: var(--ui-font-size-xs);
|
|
156
156
|
color: var(--ui-text-muted);
|
|
157
157
|
}
|
|
@@ -163,8 +163,8 @@
|
|
|
163
163
|
font-family: var(--ui-font-family-mono, ui-monospace, monospace);
|
|
164
164
|
font-size: var(--ui-font-size-2xs);
|
|
165
165
|
background: var(--ui-surface-hover);
|
|
166
|
-
border:
|
|
167
|
-
border-radius:
|
|
166
|
+
border: var(--ui-border-width) solid var(--ui-border);
|
|
167
|
+
border-radius: var(--ui-radius-sm);
|
|
168
168
|
padding: 0 3px;
|
|
169
169
|
color: var(--ui-text-secondary);
|
|
170
170
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
max-height: min(28rem, calc(100vh - 24px));
|
|
9
9
|
padding: var(--ui-space-2);
|
|
10
10
|
background: var(--ui-surface);
|
|
11
|
-
border:
|
|
11
|
+
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
12
12
|
border-radius: var(--ui-radius-lg);
|
|
13
13
|
box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
|
|
14
14
|
display: flex;
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
width: 1rem;
|
|
76
76
|
height: 1rem;
|
|
77
77
|
border-radius: var(--ui-radius-round);
|
|
78
|
-
border:
|
|
78
|
+
border: var(--ui-border-width) solid var(--ui-border);
|
|
79
79
|
background: var(--_swatch, #fff);
|
|
80
80
|
box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.35);
|
|
81
81
|
flex-shrink: 0;
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
width: 24px;
|
|
47
47
|
height: 24px;
|
|
48
48
|
padding: 0;
|
|
49
|
-
border:
|
|
49
|
+
border: var(--ui-border-width) solid var(--ui-affordance-near-color, var(--ui-border-strong));
|
|
50
50
|
border-radius: var(--ui-radius-round);
|
|
51
51
|
background: color-mix(in srgb, var(--ui-surface-elevated) 96%, transparent);
|
|
52
52
|
color: var(--ui-affordance-near-color, var(--ui-text-secondary));
|
|
@@ -89,8 +89,8 @@
|
|
|
89
89
|
.handle:focus-visible,
|
|
90
90
|
.selector:focus-visible,
|
|
91
91
|
.cell-menu:focus-visible {
|
|
92
|
-
outline:
|
|
93
|
-
outline-offset:
|
|
92
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
93
|
+
outline-offset: var(--ui-focus-width);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
.control.row {
|
|
@@ -123,13 +123,13 @@
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
.control.row .line {
|
|
126
|
-
inset: -
|
|
127
|
-
height:
|
|
126
|
+
inset: calc(-0.5 * var(--ui-accent-line-width)) 0 auto;
|
|
127
|
+
height: var(--ui-accent-line-width);
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
.control.col .line {
|
|
131
|
-
inset: 0 auto 0 -
|
|
132
|
-
width:
|
|
131
|
+
inset: 0 auto 0 calc(-0.5 * var(--ui-accent-line-width));
|
|
132
|
+
width: var(--ui-accent-line-width);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
.control.active .line {
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
align-items: center;
|
|
202
202
|
justify-content: center;
|
|
203
203
|
padding: 0;
|
|
204
|
-
border:
|
|
204
|
+
border: var(--ui-border-width) solid transparent;
|
|
205
205
|
background: transparent;
|
|
206
206
|
color: var(--ui-text-secondary);
|
|
207
207
|
box-shadow: none;
|
|
@@ -318,19 +318,19 @@
|
|
|
318
318
|
position: absolute;
|
|
319
319
|
z-index: 3;
|
|
320
320
|
background: var(--ui-accent-solid);
|
|
321
|
-
box-shadow: 0 0 0
|
|
321
|
+
box-shadow: 0 0 0 var(--ui-border-width) var(--ui-surface);
|
|
322
322
|
pointer-events: none;
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
.drop-indicator.row {
|
|
326
326
|
left: 0;
|
|
327
327
|
width: 100%;
|
|
328
|
-
height:
|
|
328
|
+
height: var(--ui-accent-line-width);
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
.drop-indicator.column {
|
|
332
332
|
top: 0;
|
|
333
|
-
width:
|
|
333
|
+
width: var(--ui-accent-line-width);
|
|
334
334
|
height: 100%;
|
|
335
335
|
}
|
|
336
336
|
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
gap: var(--ui-space-1);
|
|
36
36
|
padding: var(--ui-space-1);
|
|
37
37
|
background: color-mix(in srgb, var(--ui-surface) 94%, transparent);
|
|
38
|
-
border:
|
|
39
|
-
border-radius: calc(var(--ui-radius-md) +
|
|
38
|
+
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
39
|
+
border-radius: calc(var(--ui-radius-md) + 2 * var(--ui-border-width));
|
|
40
40
|
box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
|
|
41
41
|
backdrop-filter: blur(10px);
|
|
42
42
|
}
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
max-width: min(17rem, calc(100vw - 24px));
|
|
127
127
|
padding: var(--ui-space-1);
|
|
128
128
|
background: var(--ui-surface);
|
|
129
|
-
border:
|
|
129
|
+
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
130
130
|
border-radius: var(--ui-radius-md);
|
|
131
131
|
box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
|
|
132
132
|
display: flex;
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
.menu-section + .menu-section {
|
|
142
142
|
margin-top: var(--ui-space-1);
|
|
143
143
|
padding-top: var(--ui-space-1);
|
|
144
|
-
border-top:
|
|
144
|
+
border-top: var(--ui-border-width) solid var(--ui-border-divider);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
.menu-heading {
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
width: 14px;
|
|
176
176
|
height: 14px;
|
|
177
177
|
flex: 0 0 14px;
|
|
178
|
-
border:
|
|
178
|
+
border: var(--ui-border-width) solid color-mix(in srgb, var(--ui-border) 80%, #000);
|
|
179
179
|
border-radius: var(--ui-radius-round);
|
|
180
180
|
background: var(--_swatch);
|
|
181
181
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
padding: var(--ui-editor-toolbar-padding-block, 6px) var(--ui-editor-toolbar-padding-inline, 12px);
|
|
10
10
|
min-height: var(--ui-editor-toolbar-min-height, 48px);
|
|
11
11
|
background: var(--ui-editor-toolbar-surface, var(--ui-surface));
|
|
12
|
-
border-bottom:
|
|
12
|
+
border-bottom: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-divider));
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
/* One row, always. When the controls outgrow the space, the row scrolls sideways rather than
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
min-height: auto;
|
|
65
65
|
padding: var(--ui-editor-toolbar-floating-padding, 4px);
|
|
66
66
|
background: color-mix(in srgb, var(--ui-editor-toolbar-surface, var(--ui-surface)) 96%, transparent);
|
|
67
|
-
border:
|
|
67
|
+
border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
|
|
68
68
|
border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
|
|
69
69
|
box-shadow: var(--ui-editor-toolbar-floating-shadow, var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12)));
|
|
70
70
|
backdrop-filter: blur(10px);
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
left: 0;
|
|
79
79
|
right: 0;
|
|
80
80
|
min-height: var(--ui-editor-toolbar-mobile-min-height, 56px);
|
|
81
|
-
border-top:
|
|
81
|
+
border-top: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-divider));
|
|
82
82
|
border-bottom: none;
|
|
83
83
|
box-shadow: var(--ui-editor-toolbar-mobile-shadow, 0 -2px 8px rgb(0 0 0 / 0.06));
|
|
84
84
|
}
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
position: relative;
|
|
88
88
|
inset: auto;
|
|
89
89
|
min-height: auto;
|
|
90
|
-
border:
|
|
90
|
+
border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
|
|
91
91
|
border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
|
|
92
92
|
box-shadow: var(--ui-editor-toolbar-floating-shadow, var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12)));
|
|
93
93
|
}
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
min-block-size: var(--ui-icon-button-size, var(--_size));
|
|
148
148
|
padding: 0;
|
|
149
149
|
margin: 0;
|
|
150
|
-
border:
|
|
150
|
+
border: var(--ui-border-width) solid transparent;
|
|
151
151
|
border-radius: var(--ui-icon-button-radius, var(--ui-action-radius, var(--ui-radius-md)));
|
|
152
152
|
background-color: var(--ui-icon-button-surface, transparent);
|
|
153
153
|
color: inherit;
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
min-inline-size: 0;
|
|
44
44
|
min-block-size: var(--ui-control-size-md);
|
|
45
45
|
/* The frame reads the shared control tokens with a lone Input's fallbacks, so the two match. */
|
|
46
|
-
border:
|
|
46
|
+
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
|
|
47
47
|
border-radius: var(--ui-input-group-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
48
48
|
background: var(--ui-control-surface, var(--ui-surface-elevated));
|
|
49
49
|
box-shadow: var(--ui-control-inset);
|
|
@@ -89,15 +89,19 @@
|
|
|
89
89
|
box-shadow: var(
|
|
90
90
|
--ui-input-group-invalid-focus-shadow,
|
|
91
91
|
var(--ui-control-inset),
|
|
92
|
-
0 0 0
|
|
92
|
+
0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(
|
|
93
|
+
in srgb,
|
|
94
|
+
var(--ui-input-group-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%,
|
|
95
|
+
transparent
|
|
96
|
+
)
|
|
93
97
|
);
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
/* Forced colors drop box shadows, so the focus ring becomes an outline. */
|
|
97
101
|
@media (forced-colors: active) {
|
|
98
102
|
:scope:has(input:focus-visible) {
|
|
99
|
-
outline:
|
|
100
|
-
outline-offset:
|
|
103
|
+
outline: var(--ui-focus-width) solid Highlight;
|
|
104
|
+
outline-offset: var(--ui-border-width);
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
|
|
@@ -132,11 +136,20 @@
|
|
|
132
136
|
}
|
|
133
137
|
|
|
134
138
|
.affix:has([slot="prefix"]) {
|
|
135
|
-
border-inline-end:
|
|
139
|
+
border-inline-end: var(--ui-border-width) solid var(--ui-border-divider);
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
.affix:has([slot="suffix"]) {
|
|
139
|
-
border-inline-start:
|
|
143
|
+
border-inline-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
:scope[data-ui-input-group-state~="prefixKind=icon"] {
|
|
147
|
+
--_ui-default-input-padding-inline-start: var(--ui-space-2);
|
|
148
|
+
}
|
|
149
|
+
:scope[data-ui-input-group-state~="prefixKind=icon"] .affix:first-child {
|
|
150
|
+
padding-inline-end: 0;
|
|
151
|
+
border-inline-end: 0;
|
|
152
|
+
background: transparent;
|
|
140
153
|
}
|
|
141
154
|
|
|
142
155
|
/* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
|
package/styles/ui-input.css
CHANGED
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
margin: 0;
|
|
65
65
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
66
66
|
appearance: none;
|
|
67
|
-
|
|
67
|
+
padding-inline-start: var(--_ui-default-input-padding-inline-start, var(--ui-space-3));
|
|
68
|
+
border: var(--ui-input-border-width, var(--_ui-default-input-border-width, var(--ui-border-width))) solid
|
|
68
69
|
var(--ui-input-border, var(--_ui-default-input-border, var(--ui-control-border, var(--ui-border-strong))));
|
|
69
70
|
border-radius: var(--ui-input-radius, var(--_ui-default-input-radius, var(--ui-field-radius, var(--ui-radius-md))));
|
|
70
71
|
background: var(--ui-input-surface, var(--_ui-default-input-surface, var(--ui-control-surface, var(--ui-surface-elevated))));
|
|
@@ -133,7 +134,11 @@
|
|
|
133
134
|
var(
|
|
134
135
|
--_ui-default-input-invalid-focus-shadow,
|
|
135
136
|
var(--ui-control-inset),
|
|
136
|
-
0 0 0
|
|
137
|
+
0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(
|
|
138
|
+
in srgb,
|
|
139
|
+
var(--ui-input-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%,
|
|
140
|
+
transparent
|
|
141
|
+
)
|
|
137
142
|
)
|
|
138
143
|
);
|
|
139
144
|
}
|
|
@@ -148,8 +153,8 @@
|
|
|
148
153
|
/* Forced colors drop box shadows, so the focus ring becomes an outline. */
|
|
149
154
|
@media (forced-colors: active) {
|
|
150
155
|
:scope:focus-visible {
|
|
151
|
-
outline: var(--ui-input-focus-outline, var(--_ui-default-input-focus-outline,
|
|
152
|
-
outline-offset:
|
|
156
|
+
outline: var(--ui-input-focus-outline, var(--_ui-default-input-focus-outline, var(--ui-focus-width) solid Highlight));
|
|
157
|
+
outline-offset: var(--ui-border-width);
|
|
153
158
|
}
|
|
154
159
|
}
|
|
155
160
|
|
package/styles/ui-list-item.css
CHANGED
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
min-block-size: var(--_ui-list-item-min-size, var(--ui-control-size, 2.5rem));
|
|
41
41
|
padding-block: var(--ui-list-item-padding-block, var(--_ui-list-item-padding-block, var(--ui-space-2)));
|
|
42
42
|
padding-inline: var(--ui-list-item-padding-inline, var(--_ui-list-item-padding-inline, var(--ui-space-3)));
|
|
43
|
-
border-radius: var(--ui-radius
|
|
43
|
+
border-radius: var(--ui-selection-radius);
|
|
44
44
|
color: var(--ui-text-primary);
|
|
45
45
|
transition: background-color var(--ui-motion-fast) var(--ui-motion-ease), border-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
46
46
|
}
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
:scope[data-ui-list-item-state~="variant=card"] {
|
|
49
49
|
padding-block: var(--ui-list-item-padding-block, var(--ui-space-3));
|
|
50
50
|
padding-inline: var(--ui-list-item-padding-inline, var(--ui-space-4));
|
|
51
|
-
border:
|
|
51
|
+
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
52
52
|
border-radius: var(--ui-radius-lg);
|
|
53
53
|
background: var(--ui-surface-raised);
|
|
54
54
|
}
|
|
@@ -62,11 +62,12 @@
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
:scope[data-ui-list-item-state~="current"] {
|
|
65
|
-
background: var(--ui-surface
|
|
65
|
+
background: var(--ui-selection-surface);
|
|
66
|
+
color: var(--ui-selection-text);
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
:scope:has(.title a[href]:focus-visible) {
|
|
69
|
-
box-shadow: 0 0 0
|
|
70
|
+
box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
|
|
70
71
|
}
|
|
71
72
|
|
|
72
73
|
.leading,
|
|
@@ -82,6 +83,10 @@
|
|
|
82
83
|
font-size: var(--_ui-list-item-icon-size, var(--ui-font-size-lg));
|
|
83
84
|
}
|
|
84
85
|
|
|
86
|
+
:scope[data-ui-list-item-state~="current"] .leading {
|
|
87
|
+
color: var(--ui-selection-text);
|
|
88
|
+
}
|
|
89
|
+
|
|
85
90
|
/* Trailing controls take their own clicks, above the title link's stretched hit area. */
|
|
86
91
|
.trailing {
|
|
87
92
|
position: relative;
|
|
@@ -126,6 +131,17 @@
|
|
|
126
131
|
display: none;
|
|
127
132
|
}
|
|
128
133
|
|
|
134
|
+
@media (forced-colors: active) {
|
|
135
|
+
:scope:has(a:focus-visible) {
|
|
136
|
+
outline: var(--ui-focus-width) solid Highlight;
|
|
137
|
+
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
138
|
+
}
|
|
139
|
+
:scope[data-ui-list-item-state~="current"]:not(:has(a:focus-visible)) {
|
|
140
|
+
outline: var(--ui-border-width) solid Highlight;
|
|
141
|
+
outline-offset: calc(-1 * var(--ui-border-width));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
129
145
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
130
146
|
:scope[hidden] {
|
|
131
147
|
display: none;
|
|
@@ -165,5 +181,8 @@
|
|
|
165
181
|
|
|
166
182
|
/* An unused region takes no space. */
|
|
167
183
|
|
|
184
|
+
@media (forced-colors: active) {
|
|
185
|
+
}
|
|
186
|
+
|
|
168
187
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
169
188
|
}
|
package/styles/ui-list.css
CHANGED
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
|
|
80
80
|
:scope > :where([data-slotted], [data-slotted] *):is(li.card) {
|
|
81
81
|
padding: var(--_ui-list-native-padding-block, var(--ui-space-3)) var(--_ui-list-native-padding-inline, var(--ui-space-4));
|
|
82
|
-
border:
|
|
82
|
+
border: var(--ui-border-width) solid var(--ui-border-strong);
|
|
83
83
|
border-radius: var(--ui-radius-lg);
|
|
84
84
|
background: var(--ui-surface-raised);
|
|
85
85
|
list-style: none;
|
package/styles/ui-listbox.css
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
min-inline-size: 0;
|
|
29
29
|
margin: 0;
|
|
30
30
|
padding: var(--ui-space-1);
|
|
31
|
-
border:
|
|
31
|
+
border: var(--ui-border-width) solid var(--ui-listbox-border, var(--ui-control-border));
|
|
32
32
|
border-radius: var(--ui-listbox-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
33
33
|
background: var(--ui-listbox-surface, var(--ui-control-surface));
|
|
34
34
|
color: var(--ui-text-primary);
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
|
|
73
73
|
:scope:focus-visible {
|
|
74
74
|
border-color: var(--ui-control-focus);
|
|
75
|
-
outline:
|
|
76
|
-
outline-offset:
|
|
75
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
76
|
+
outline-offset: var(--ui-focus-width);
|
|
77
77
|
box-shadow: var(--ui-listbox-focus-shadow, var(--ui-focus-halo));
|
|
78
78
|
}
|
|
79
79
|
|
package/styles/ui-menu-item.css
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
padding: var(--ui-menu-item-padding-block, var(--_ui-default-menu-item-padding-block, var(--ui-space-2)))
|
|
36
36
|
var(--ui-menu-item-padding-inline, var(--_ui-default-menu-item-padding-inline, var(--ui-space-3)));
|
|
37
37
|
text-align: left;
|
|
38
|
-
border-radius: var(--ui-menu-item-radius, var(--_ui-default-menu-item-radius, var(--ui-radius
|
|
38
|
+
border-radius: var(--ui-menu-item-radius, var(--_ui-default-menu-item-radius, var(--ui-selection-radius)));
|
|
39
39
|
color: var(--ui-text-primary);
|
|
40
40
|
font-size: var(--ui-menu-item-font-size, var(--_ui-default-menu-item-font-size, var(--ui-font-size-md)));
|
|
41
41
|
font-weight: var(--ui-font-medium);
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
box-sizing: border-box;
|
|
62
62
|
inline-size: var(--_ui-default-menu-indicator-size, var(--ui-icon-size-sm));
|
|
63
63
|
block-size: var(--_ui-default-menu-indicator-size, var(--ui-icon-size-sm));
|
|
64
|
-
border:
|
|
64
|
+
border: var(--ui-border-width) solid var(--ui-control-border);
|
|
65
65
|
border-radius: var(--ui-radius-sm);
|
|
66
66
|
color: var(--ui-surface);
|
|
67
67
|
--_ui-default-icon-size: 0.75rem;
|
|
@@ -110,8 +110,8 @@
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
:scope:focus-visible {
|
|
113
|
-
outline:
|
|
114
|
-
outline-offset: -
|
|
113
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
114
|
+
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
:scope[aria-disabled="true"] {
|
package/styles/ui-menu.css
CHANGED
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
max-inline-size: inherit;
|
|
81
81
|
padding: var(--ui-space-1);
|
|
82
82
|
background: var(--_ui-menu-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
83
|
-
border:
|
|
83
|
+
border: var(--ui-border-width) solid var(--_ui-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
84
84
|
border-radius: var(--_ui-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
85
85
|
box-shadow: var(--_ui-menu-shadow, var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg))));
|
|
86
86
|
max-block-size: inherit;
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
block-size: 0;
|
|
93
93
|
margin: var(--ui-space-1) 0;
|
|
94
94
|
border: 0;
|
|
95
|
-
border-block-start:
|
|
95
|
+
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
:scope:not(:scope[data-ui-menu-state~="internalOpen"]):not(:scope[data-ui-menu-state~="inline"]) {
|
package/styles/ui-meter.css
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
background: var(--ui-border);
|
|
23
23
|
box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.1), inset 0 -1px rgb(255 255 255 / 0.22);
|
|
24
24
|
/* Unseen until forced colours draw it, where the track's own colour is gone. */
|
|
25
|
-
outline:
|
|
25
|
+
outline: var(--ui-border-width) solid transparent;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
:scope[data-ui-meter-state~="size=sm"] {
|
package/styles/ui-nav-item.css
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
belongs to. Label and description are one line each and end in an ellipsis, so every item in a
|
|
24
24
|
navigation has the same height and the rail never grows sideways. */
|
|
25
25
|
:scope {
|
|
26
|
-
--_indicator-width: var(--ui-nav-item-indicator-width,
|
|
26
|
+
--_indicator-width: var(--ui-nav-item-indicator-width, var(--ui-accent-line-width));
|
|
27
27
|
--_indicator-color: var(--ui-nav-item-indicator-color, var(--ui-accent));
|
|
28
28
|
position: relative;
|
|
29
29
|
box-sizing: border-box;
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
padding-block: var(--ui-space-2);
|
|
38
38
|
padding-inline: var(--ui-space-3);
|
|
39
39
|
border: 0;
|
|
40
|
-
border-radius: var(--ui-radius
|
|
40
|
+
border-radius: var(--ui-selection-radius);
|
|
41
41
|
background: transparent;
|
|
42
42
|
color: var(--ui-text-secondary);
|
|
43
43
|
font: inherit;
|
|
44
|
-
font-weight: var(--ui-font-
|
|
44
|
+
font-weight: var(--ui-font-normal);
|
|
45
45
|
text-align: start;
|
|
46
46
|
text-decoration: none;
|
|
47
47
|
cursor: pointer;
|
|
@@ -57,32 +57,43 @@
|
|
|
57
57
|
/* The ring is an outline, drawn inside the item: forced colors keep an outline where they drop a
|
|
58
58
|
box shadow, and a scrolling rail cannot clip a ring that stays within the item. */
|
|
59
59
|
:scope:focus-visible {
|
|
60
|
-
outline:
|
|
61
|
-
outline-offset: -
|
|
60
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
61
|
+
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
:scope[aria-current] {
|
|
65
|
-
background: var(--ui-nav-item-current-surface, var(--ui-
|
|
66
|
-
color: var(--ui-
|
|
67
|
-
|
|
65
|
+
background: var(--ui-nav-item-current-surface, var(--ui-selection-surface));
|
|
66
|
+
color: var(--ui-selection-text);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:scope[data-ui-nav-item-state~="variant=line"] {
|
|
70
|
+
border-radius: 0;
|
|
68
71
|
}
|
|
69
72
|
|
|
70
|
-
/*
|
|
73
|
+
/* A line treatment has straight corners and a continuous edge. Surface treatment has
|
|
74
|
+
shared rounded corners and no edge marker; never combine the two geometries.
|
|
75
|
+
The line is a border, not a fill: forced colors replace backgrounds but keep a
|
|
71
76
|
border, so the current item stays marked in high contrast. Logical edges mirror it in a
|
|
72
77
|
right-to-left page. */
|
|
73
78
|
.indicator {
|
|
74
79
|
position: absolute;
|
|
75
|
-
inset-block:
|
|
80
|
+
inset-block: 0;
|
|
76
81
|
inset-inline-start: 0;
|
|
77
82
|
display: none;
|
|
78
83
|
border-inline-start: var(--_indicator-width) solid var(--_indicator-color);
|
|
79
84
|
}
|
|
80
85
|
|
|
81
|
-
:scope[aria-current] .indicator {
|
|
86
|
+
:scope[data-ui-nav-item-state~="variant=line"][aria-current] .indicator {
|
|
82
87
|
display: block;
|
|
83
88
|
}
|
|
84
89
|
|
|
85
90
|
@media (forced-colors: active) {
|
|
91
|
+
/* System colors may erase the selected fill. Trace the complete surface, without
|
|
92
|
+
creating an edge stripe; the stronger keyboard focus outline keeps precedence. */
|
|
93
|
+
:scope[data-ui-nav-item-state~="variant=surface"][aria-current]:not(:focus-visible) {
|
|
94
|
+
outline: var(--ui-border-width) solid Highlight;
|
|
95
|
+
outline-offset: calc(-1 * var(--ui-border-width));
|
|
96
|
+
}
|
|
86
97
|
.indicator {
|
|
87
98
|
border-inline-start-color: Highlight;
|
|
88
99
|
}
|
|
@@ -125,6 +136,22 @@
|
|
|
125
136
|
line-height: var(--ui-line-height-tight);
|
|
126
137
|
}
|
|
127
138
|
|
|
139
|
+
:scope[data-ui-nav-item-state~="density=compact"] {
|
|
140
|
+
min-block-size: var(--ui-control-size-sm);
|
|
141
|
+
padding-block: var(--ui-space-1);
|
|
142
|
+
padding-inline: var(--ui-space-2);
|
|
143
|
+
}
|
|
144
|
+
:scope[data-ui-nav-item-state~="density=compact"] .leading,
|
|
145
|
+
:scope[data-ui-nav-item-state~="density=compact"] .label {
|
|
146
|
+
font-size: var(--ui-font-size-sm);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@media (pointer: coarse) {
|
|
150
|
+
:scope[data-ui-nav-item-state~="density=compact"] {
|
|
151
|
+
min-block-size: var(--ui-control-min-block-size);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
128
155
|
/* An unused region takes no space. */
|
|
129
156
|
.leading:empty,
|
|
130
157
|
.description:empty {
|
|
@@ -147,11 +174,18 @@
|
|
|
147
174
|
/* The ring is an outline, drawn inside the item: forced colors keep an outline where they drop a
|
|
148
175
|
box shadow, and a scrolling rail cannot clip a ring that stays within the item. */
|
|
149
176
|
|
|
150
|
-
/*
|
|
177
|
+
/* A line treatment has straight corners and a continuous edge. Surface treatment has
|
|
178
|
+
shared rounded corners and no edge marker; never combine the two geometries.
|
|
179
|
+
The line is a border, not a fill: forced colors replace backgrounds but keep a
|
|
151
180
|
border, so the current item stays marked in high contrast. Logical edges mirror it in a
|
|
152
181
|
right-to-left page. */
|
|
153
182
|
|
|
154
183
|
@media (forced-colors: active) {
|
|
184
|
+
/* System colors may erase the selected fill. Trace the complete surface, without
|
|
185
|
+
creating an edge stripe; the stronger keyboard focus outline keeps precedence. */
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
@media (pointer: coarse) {
|
|
155
189
|
}
|
|
156
190
|
|
|
157
191
|
/* An unused region takes no space. */
|
package/styles/ui-popover.css
CHANGED
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
overflow: auto;
|
|
59
59
|
padding: var(--_ui-popover-padding, var(--ui-space-3));
|
|
60
60
|
background: var(--_ui-popover-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
61
|
-
border:
|
|
61
|
+
border: var(--ui-border-width) solid var(--_ui-popover-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
62
62
|
border-radius: var(--_ui-popover-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
63
63
|
box-shadow: var(--_ui-popover-shadow, var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg))));
|
|
64
64
|
}
|
|
@@ -92,6 +92,19 @@
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
:scope[data-ui-popover-state~="size=sm"] {
|
|
96
|
+
inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
|
|
97
|
+
max-inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
|
|
98
|
+
}
|
|
99
|
+
:scope[data-ui-popover-state~="size=md"] {
|
|
100
|
+
inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
|
|
101
|
+
max-inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
|
|
102
|
+
}
|
|
103
|
+
:scope[data-ui-popover-state~="size=lg"] {
|
|
104
|
+
inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
|
|
105
|
+
max-inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
|
|
106
|
+
}
|
|
107
|
+
|
|
95
108
|
:scope[hidden] {
|
|
96
109
|
display: none;
|
|
97
110
|
}
|
package/styles/ui-radio.css
CHANGED
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
input:focus-visible {
|
|
58
|
-
outline:
|
|
59
|
-
outline-offset:
|
|
58
|
+
outline: var(--ui-focus-width) solid var(--ui-focus-ring, var(--ui-accent-solid));
|
|
59
|
+
outline-offset: var(--ui-focus-width);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
:scope[data-ui-radio-state~="disabled"] {
|
|
@@ -37,6 +37,16 @@
|
|
|
37
37
|
--_ui-scroll-fade-inline: to left;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
:scope[data-ui-scroll-area-state~="size=sm"] {
|
|
41
|
+
max-block-size: 9.375rem;
|
|
42
|
+
}
|
|
43
|
+
:scope[data-ui-scroll-area-state~="size=md"] {
|
|
44
|
+
max-block-size: 20rem;
|
|
45
|
+
}
|
|
46
|
+
:scope[data-ui-scroll-area-state~="size=lg"] {
|
|
47
|
+
max-block-size: 30rem;
|
|
48
|
+
}
|
|
49
|
+
|
|
40
50
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
41
51
|
:scope[hidden] {
|
|
42
52
|
display: none;
|