@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
package/vue/UiText.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
32
32
|
type: PropType<"p" | "span" | "div" | "small" | "strong" | "label" | "h2" | "h3" | "h4" | "h5" | "h6" | null>;
|
|
33
33
|
default: string;
|
|
34
34
|
};
|
|
35
|
+
font: {
|
|
36
|
+
type: PropType<"inherit" | "sans" | null>;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
35
39
|
size: {
|
|
36
40
|
type: PropType<"inherit" | "xs" | "sm" | "md" | "lg" | null>;
|
|
37
41
|
default: string;
|
|
@@ -52,6 +56,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
52
56
|
type: PropType<"inherit" | "normal" | "medium" | "semibold" | null>;
|
|
53
57
|
default: string;
|
|
54
58
|
};
|
|
59
|
+
wrap: {
|
|
60
|
+
type: PropType<"normal" | "anywhere" | null>;
|
|
61
|
+
default: string;
|
|
62
|
+
};
|
|
55
63
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
56
64
|
align: {
|
|
57
65
|
type: PropType<"start" | "center" | null>;
|
|
@@ -61,6 +69,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
61
69
|
type: PropType<"p" | "span" | "div" | "small" | "strong" | "label" | "h2" | "h3" | "h4" | "h5" | "h6" | null>;
|
|
62
70
|
default: string;
|
|
63
71
|
};
|
|
72
|
+
font: {
|
|
73
|
+
type: PropType<"inherit" | "sans" | null>;
|
|
74
|
+
default: string;
|
|
75
|
+
};
|
|
64
76
|
size: {
|
|
65
77
|
type: PropType<"inherit" | "xs" | "sm" | "md" | "lg" | null>;
|
|
66
78
|
default: string;
|
|
@@ -81,12 +93,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
81
93
|
type: PropType<"inherit" | "normal" | "medium" | "semibold" | null>;
|
|
82
94
|
default: string;
|
|
83
95
|
};
|
|
96
|
+
wrap: {
|
|
97
|
+
type: PropType<"normal" | "anywhere" | null>;
|
|
98
|
+
default: string;
|
|
99
|
+
};
|
|
84
100
|
}>> & Readonly<{}>, {
|
|
101
|
+
font: "inherit" | "sans" | null;
|
|
85
102
|
size: "inherit" | "xs" | "sm" | "md" | "lg" | null;
|
|
86
103
|
tone: "secondary" | "default" | "info" | "accent" | "success" | "warning" | "danger" | "muted" | null;
|
|
87
104
|
variant: "code" | "body" | "eyebrow" | null;
|
|
88
105
|
align: "center" | "start" | null;
|
|
89
106
|
as: "div" | "h2" | "h3" | "h4" | "h5" | "h6" | "label" | "p" | "small" | "span" | "strong" | null;
|
|
107
|
+
wrap: "normal" | "anywhere" | null;
|
|
90
108
|
truncate: boolean | null;
|
|
91
109
|
weight: "inherit" | "normal" | "medium" | "semibold" | null;
|
|
92
110
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
package/vue/UiText.vue
CHANGED
|
@@ -26,6 +26,15 @@ const propValidityContract = {
|
|
|
26
26
|
values: ['p', 'span', 'div', 'small', 'strong', 'label', 'h2', 'h3', 'h4', 'h5', 'h6'],
|
|
27
27
|
default: 'p',
|
|
28
28
|
},
|
|
29
|
+
font: {
|
|
30
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
31
|
+
required: false,
|
|
32
|
+
target: { attribute: 'font' },
|
|
33
|
+
description:
|
|
34
|
+
'Use sans for UI text rendered outside its original font context; inherit preserves the surrounding typeface.',
|
|
35
|
+
values: ['inherit', 'sans'],
|
|
36
|
+
default: 'inherit',
|
|
37
|
+
},
|
|
29
38
|
size: {
|
|
30
39
|
type: { kind: 'terminal', name: 'keyword' },
|
|
31
40
|
required: false,
|
|
@@ -69,6 +78,15 @@ const propValidityContract = {
|
|
|
69
78
|
values: ['inherit', 'normal', 'medium', 'semibold'],
|
|
70
79
|
default: 'inherit',
|
|
71
80
|
},
|
|
81
|
+
wrap: {
|
|
82
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
83
|
+
required: false,
|
|
84
|
+
target: { attribute: 'wrap' },
|
|
85
|
+
description:
|
|
86
|
+
'Use anywhere for unbroken values such as long destinations; ordinary prose keeps its normal wrapping.',
|
|
87
|
+
values: ['normal', 'anywhere'],
|
|
88
|
+
default: 'normal',
|
|
89
|
+
},
|
|
72
90
|
},
|
|
73
91
|
} as const
|
|
74
92
|
const props = defineProps({
|
|
@@ -79,6 +97,7 @@ const props = defineProps({
|
|
|
79
97
|
>,
|
|
80
98
|
default: 'p',
|
|
81
99
|
},
|
|
100
|
+
font: { type: null as unknown as PropType<'inherit' | 'sans' | null>, default: 'inherit' },
|
|
82
101
|
size: {
|
|
83
102
|
type: null as unknown as PropType<'inherit' | 'xs' | 'sm' | 'md' | 'lg' | null>,
|
|
84
103
|
default: 'inherit',
|
|
@@ -106,15 +125,18 @@ const props = defineProps({
|
|
|
106
125
|
type: null as unknown as PropType<'inherit' | 'normal' | 'medium' | 'semibold' | null>,
|
|
107
126
|
default: 'inherit',
|
|
108
127
|
},
|
|
128
|
+
wrap: { type: null as unknown as PropType<'normal' | 'anywhere' | null>, default: 'normal' },
|
|
109
129
|
})
|
|
110
130
|
const acceptedProps: Record<string, unknown> = {
|
|
111
131
|
align: 'start',
|
|
112
132
|
as: 'p',
|
|
133
|
+
font: 'inherit',
|
|
113
134
|
size: 'inherit',
|
|
114
135
|
tone: 'default',
|
|
115
136
|
truncate: false,
|
|
116
137
|
variant: 'body',
|
|
117
138
|
weight: 'inherit',
|
|
139
|
+
wrap: 'normal',
|
|
118
140
|
}
|
|
119
141
|
const checkedProps = computed(() => ({
|
|
120
142
|
align: checkedProp<'start' | 'center'>(
|
|
@@ -138,6 +160,13 @@ const checkedProps = computed(() => ({
|
|
|
138
160
|
| 'h4'
|
|
139
161
|
| 'h5'
|
|
140
162
|
| 'h6',
|
|
163
|
+
font: checkedProp<'inherit' | 'sans'>(
|
|
164
|
+
props['font'],
|
|
165
|
+
{ kind: 'terminal', name: 'keyword' },
|
|
166
|
+
false,
|
|
167
|
+
'font',
|
|
168
|
+
acceptedProps,
|
|
169
|
+
) as 'inherit' | 'sans',
|
|
141
170
|
size: checkedProp<'inherit' | 'xs' | 'sm' | 'md' | 'lg'>(
|
|
142
171
|
props['size'],
|
|
143
172
|
{ kind: 'terminal', name: 'keyword' },
|
|
@@ -177,6 +206,13 @@ const checkedProps = computed(() => ({
|
|
|
177
206
|
'weight',
|
|
178
207
|
acceptedProps,
|
|
179
208
|
) as 'inherit' | 'normal' | 'medium' | 'semibold',
|
|
209
|
+
wrap: checkedProp<'normal' | 'anywhere'>(
|
|
210
|
+
props['wrap'],
|
|
211
|
+
{ kind: 'terminal', name: 'keyword' },
|
|
212
|
+
false,
|
|
213
|
+
'wrap',
|
|
214
|
+
acceptedProps,
|
|
215
|
+
) as 'normal' | 'anywhere',
|
|
180
216
|
}))
|
|
181
217
|
void checkedProps.value
|
|
182
218
|
watchSyncEffect(() => {
|
|
@@ -267,6 +303,10 @@ const hostState = computed(() =>
|
|
|
267
303
|
checkedProps.value.truncate && 'truncate',
|
|
268
304
|
checkedProps.value.align && 'align',
|
|
269
305
|
checkedProps.value.align != null && `align=${encodeURIComponent(checkedProps.value.align)}`,
|
|
306
|
+
checkedProps.value.font && 'font',
|
|
307
|
+
checkedProps.value.font != null && `font=${encodeURIComponent(checkedProps.value.font)}`,
|
|
308
|
+
checkedProps.value.wrap && 'wrap',
|
|
309
|
+
checkedProps.value.wrap != null && `wrap=${encodeURIComponent(checkedProps.value.wrap)}`,
|
|
270
310
|
].filter(Boolean).join(' ')
|
|
271
311
|
)
|
|
272
312
|
</script>
|
|
@@ -279,11 +319,13 @@ const hostState = computed(() =>
|
|
|
279
319
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
280
320
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
281
321
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
322
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
282
323
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
283
324
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
284
325
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
285
326
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
286
327
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
328
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
287
329
|
:data-ui-text-state="hostState || undefined"
|
|
288
330
|
ref="@html-next/root"
|
|
289
331
|
><slot /></span>
|
|
@@ -294,11 +336,13 @@ const hostState = computed(() =>
|
|
|
294
336
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
295
337
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
296
338
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
339
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
297
340
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
298
341
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
299
342
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
300
343
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
301
344
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
345
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
302
346
|
:data-ui-text-state="hostState || undefined"
|
|
303
347
|
ref="@html-next/root"
|
|
304
348
|
>
|
|
@@ -311,11 +355,13 @@ const hostState = computed(() =>
|
|
|
311
355
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
312
356
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
313
357
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
358
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
314
359
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
315
360
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
316
361
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
317
362
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
318
363
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
364
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
319
365
|
:data-ui-text-state="hostState || undefined"
|
|
320
366
|
ref="@html-next/root"
|
|
321
367
|
><slot /></small>
|
|
@@ -326,11 +372,13 @@ const hostState = computed(() =>
|
|
|
326
372
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
327
373
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
328
374
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
375
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
329
376
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
330
377
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
331
378
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
332
379
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
333
380
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
381
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
334
382
|
:data-ui-text-state="hostState || undefined"
|
|
335
383
|
ref="@html-next/root"
|
|
336
384
|
><slot /></strong>
|
|
@@ -341,11 +389,13 @@ const hostState = computed(() =>
|
|
|
341
389
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
342
390
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
343
391
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
392
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
344
393
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
345
394
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
346
395
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
347
396
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
348
397
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
398
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
349
399
|
:data-ui-text-state="hostState || undefined"
|
|
350
400
|
ref="@html-next/root"
|
|
351
401
|
><slot /></label>
|
|
@@ -356,11 +406,13 @@ const hostState = computed(() =>
|
|
|
356
406
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
357
407
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
358
408
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
409
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
359
410
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
360
411
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
361
412
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
362
413
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
363
414
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
415
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
364
416
|
:data-ui-text-state="hostState || undefined"
|
|
365
417
|
ref="@html-next/root"
|
|
366
418
|
>
|
|
@@ -373,11 +425,13 @@ const hostState = computed(() =>
|
|
|
373
425
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
374
426
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
375
427
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
428
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
376
429
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
377
430
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
378
431
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
379
432
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
380
433
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
434
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
381
435
|
:data-ui-text-state="hostState || undefined"
|
|
382
436
|
ref="@html-next/root"
|
|
383
437
|
>
|
|
@@ -390,11 +444,13 @@ const hostState = computed(() =>
|
|
|
390
444
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
391
445
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
392
446
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
447
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
393
448
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
394
449
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
395
450
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
396
451
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
397
452
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
453
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
398
454
|
:data-ui-text-state="hostState || undefined"
|
|
399
455
|
ref="@html-next/root"
|
|
400
456
|
>
|
|
@@ -407,11 +463,13 @@ const hostState = computed(() =>
|
|
|
407
463
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
408
464
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
409
465
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
466
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
410
467
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
411
468
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
412
469
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
413
470
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
414
471
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
472
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
415
473
|
:data-ui-text-state="hostState || undefined"
|
|
416
474
|
ref="@html-next/root"
|
|
417
475
|
>
|
|
@@ -424,11 +482,13 @@ const hostState = computed(() =>
|
|
|
424
482
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
425
483
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
426
484
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
485
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
427
486
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
428
487
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
429
488
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
430
489
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
431
490
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
491
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
432
492
|
:data-ui-text-state="hostState || undefined"
|
|
433
493
|
ref="@html-next/root"
|
|
434
494
|
>
|
|
@@ -441,11 +501,13 @@ const hostState = computed(() =>
|
|
|
441
501
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
442
502
|
:data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
|
|
443
503
|
:data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
|
|
504
|
+
:data-font="reflectedProp('font', 'font', checkedProps.font, undefined, false)"
|
|
444
505
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
445
506
|
:data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
446
507
|
:data-truncate="reflectedProp('truncate', 'truncate', checkedProps.truncate, undefined, false)"
|
|
447
508
|
:data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
|
|
448
509
|
:data-weight="reflectedProp('weight', 'weight', checkedProps.weight, undefined, false)"
|
|
510
|
+
:data-wrap="reflectedProp('wrap', 'wrap', checkedProps.wrap, undefined, false)"
|
|
449
511
|
:data-ui-text-state="hostState || undefined"
|
|
450
512
|
ref="@html-next/root"
|
|
451
513
|
>
|
|
@@ -551,6 +613,14 @@ const hostState = computed(() =>
|
|
|
551
613
|
text-align: center;
|
|
552
614
|
}
|
|
553
615
|
|
|
616
|
+
[data-component~="ui-text"][data-ui-text-state~="font=sans"] {
|
|
617
|
+
font-family: var(--ui-font-family-sans, sans-serif);
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
[data-component~="ui-text"][data-ui-text-state~="wrap=anywhere"] {
|
|
621
|
+
overflow-wrap: anywhere;
|
|
622
|
+
}
|
|
623
|
+
|
|
554
624
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
555
625
|
[data-component~="ui-text"][hidden] {
|
|
556
626
|
display: none;
|
package/vue/UiTextarea.vue
CHANGED
|
@@ -314,7 +314,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
|
|
|
314
314
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
315
315
|
appearance: none;
|
|
316
316
|
resize: vertical;
|
|
317
|
-
border:
|
|
317
|
+
border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
|
|
318
318
|
border-radius: var(--ui-textarea-radius, var(--ui-field-radius, var(--ui-radius-md)));
|
|
319
319
|
background: var(--ui-control-surface, var(--ui-surface-elevated));
|
|
320
320
|
color: var(--ui-text-primary);
|
|
@@ -362,7 +362,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
|
|
|
362
362
|
box-shadow: var(
|
|
363
363
|
--ui-textarea-invalid-focus-shadow,
|
|
364
364
|
var(--ui-control-inset),
|
|
365
|
-
0 0 0
|
|
365
|
+
0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(
|
|
366
366
|
in srgb,
|
|
367
367
|
var(--ui-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%,
|
|
368
368
|
transparent
|
package/vue/UiToast.vue
CHANGED
|
@@ -241,8 +241,10 @@ function attribute(value: unknown): any {
|
|
|
241
241
|
inline-size: 100%;
|
|
242
242
|
margin: 0;
|
|
243
243
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
244
|
-
border:
|
|
245
|
-
|
|
244
|
+
border: var(--ui-border-width) solid
|
|
245
|
+
var(--ui-toast-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
246
|
+
border-inline-start: var(--ui-accent-line-width) solid
|
|
247
|
+
var(--ui-toast-accent, var(--_ui-toast-accent));
|
|
246
248
|
border-radius: var(--ui-toast-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
247
249
|
background: var(--ui-toast-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
248
250
|
color: var(--ui-text-primary);
|
package/vue/UiToastRegion.vue
CHANGED
|
@@ -401,7 +401,7 @@ function uniqueKeys<T>(
|
|
|
401
401
|
grid-template-columns: 1fr auto;
|
|
402
402
|
gap: var(--ui-space-2);
|
|
403
403
|
align-items: start;
|
|
404
|
-
border:
|
|
404
|
+
border: var(--ui-border-width) solid
|
|
405
405
|
var(--_ui-toast-region-border, var(--ui-overlay-border, var(--ui-border-strong)));
|
|
406
406
|
border-radius: var(--_ui-toast-region-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
|
|
407
407
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
@@ -419,16 +419,16 @@ function uniqueKeys<T>(
|
|
|
419
419
|
}
|
|
420
420
|
|
|
421
421
|
.toast[data-tone="info"] {
|
|
422
|
-
border-inline-start:
|
|
422
|
+
border-inline-start: var(--ui-accent-line-width) solid var(--ui-info-solid);
|
|
423
423
|
}
|
|
424
424
|
.toast[data-tone="success"] {
|
|
425
|
-
border-inline-start:
|
|
425
|
+
border-inline-start: var(--ui-accent-line-width) solid var(--ui-success-solid);
|
|
426
426
|
}
|
|
427
427
|
.toast[data-tone="warning"] {
|
|
428
|
-
border-inline-start:
|
|
428
|
+
border-inline-start: var(--ui-accent-line-width) solid var(--ui-warning-solid);
|
|
429
429
|
}
|
|
430
430
|
.toast[data-tone="danger"] {
|
|
431
|
-
border-inline-start:
|
|
431
|
+
border-inline-start: var(--ui-accent-line-width) solid var(--ui-danger-solid);
|
|
432
432
|
}
|
|
433
433
|
|
|
434
434
|
/* Leaving slides on down and fades; the controller removes the toast when this ends. */
|
package/vue/UiTooltip.vue
CHANGED
|
@@ -424,7 +424,7 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
|
|
|
424
424
|
position: relative;
|
|
425
425
|
box-sizing: border-box;
|
|
426
426
|
max-inline-size: var(--_ui-tooltip-max-inline-size, 18rem);
|
|
427
|
-
border:
|
|
427
|
+
border: var(--ui-border-width) solid var(--_tooltip-line);
|
|
428
428
|
border-radius: var(--_ui-tooltip-radius, var(--ui-overlay-radius, var(--ui-radius-md)));
|
|
429
429
|
background: var(--_ui-tooltip-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
|
|
430
430
|
color: var(--_ui-tooltip-text, var(--ui-text-primary));
|
|
@@ -475,27 +475,29 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
|
|
|
475
475
|
position: absolute;
|
|
476
476
|
z-index: 1;
|
|
477
477
|
inset-inline-start: var(--ui-space-3);
|
|
478
|
-
inset-block-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 -
|
|
478
|
+
inset-block-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2);
|
|
479
479
|
inline-size: var(--_ui-tooltip-arrow-size, 0.625rem);
|
|
480
480
|
block-size: var(--_ui-tooltip-arrow-size, 0.625rem);
|
|
481
481
|
box-sizing: border-box;
|
|
482
482
|
background: inherit;
|
|
483
483
|
border: 0 solid var(--_tooltip-line);
|
|
484
|
-
border-inline-end-width:
|
|
485
|
-
border-block-end-width:
|
|
486
|
-
border-end-end-radius:
|
|
484
|
+
border-inline-end-width: var(--ui-border-width);
|
|
485
|
+
border-block-end-width: var(--ui-border-width);
|
|
486
|
+
border-end-end-radius: var(--ui-border-width);
|
|
487
487
|
transform: rotate(45deg) scaleX(1.25) scaleY(0.85);
|
|
488
488
|
}
|
|
489
489
|
|
|
490
490
|
[data-component~="ui-tooltip"][data-ui-actual-placement="bottom"] .surface::after {
|
|
491
|
-
inset-block-start: calc(
|
|
491
|
+
inset-block-start: calc(
|
|
492
|
+
var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
|
|
493
|
+
);
|
|
492
494
|
inset-block-end: auto;
|
|
493
495
|
border-inline-end-width: 0;
|
|
494
496
|
border-block-end-width: 0;
|
|
495
|
-
border-inline-start-width:
|
|
496
|
-
border-block-start-width:
|
|
497
|
+
border-inline-start-width: var(--ui-border-width);
|
|
498
|
+
border-block-start-width: var(--ui-border-width);
|
|
497
499
|
border-end-end-radius: 0;
|
|
498
|
-
border-start-start-radius:
|
|
500
|
+
border-start-start-radius: var(--ui-border-width);
|
|
499
501
|
}
|
|
500
502
|
|
|
501
503
|
[data-component~="ui-tooltip"][data-ui-actual-align="center"] .surface::after {
|
|
@@ -516,16 +518,18 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
|
|
|
516
518
|
|
|
517
519
|
[data-component~="ui-tooltip"][data-ui-actual-placement="left"] .surface::after {
|
|
518
520
|
inset-inline-start: auto;
|
|
519
|
-
inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 -
|
|
520
|
-
border-inline-end-width:
|
|
521
|
-
border-block-start-width:
|
|
521
|
+
inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2);
|
|
522
|
+
border-inline-end-width: var(--ui-border-width);
|
|
523
|
+
border-block-start-width: var(--ui-border-width);
|
|
522
524
|
}
|
|
523
525
|
|
|
524
526
|
[data-component~="ui-tooltip"][data-ui-actual-placement="right"] .surface::after {
|
|
525
|
-
inset-inline-start: calc(
|
|
527
|
+
inset-inline-start: calc(
|
|
528
|
+
var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
|
|
529
|
+
);
|
|
526
530
|
inset-inline-end: auto;
|
|
527
|
-
border-inline-start-width:
|
|
528
|
-
border-block-end-width:
|
|
531
|
+
border-inline-start-width: var(--ui-border-width);
|
|
532
|
+
border-block-end-width: var(--ui-border-width);
|
|
529
533
|
}
|
|
530
534
|
|
|
531
535
|
[data-component~="ui-tooltip"][data-ui-actual-placement="left"][data-ui-actual-align="start"]
|
package/vue/UiTopBar.vue
CHANGED
|
@@ -95,7 +95,7 @@ if (
|
|
|
95
95
|
env(safe-area-inset-right)
|
|
96
96
|
);
|
|
97
97
|
background: var(--ui-top-bar-surface, var(--ui-surface-elevated));
|
|
98
|
-
border-block-end:
|
|
98
|
+
border-block-end: var(--ui-border-width) solid var(--ui-top-bar-border, var(--ui-border-divider));
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
.leading,
|
package/vue/UiTreeItem.vue
CHANGED
|
@@ -568,7 +568,7 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
568
568
|
min-block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
|
|
569
569
|
min-inline-size: 0;
|
|
570
570
|
font-size: var(--_ui-tree-item-font-size, var(--ui-font-size-sm));
|
|
571
|
-
border-radius: var(--ui-radius
|
|
571
|
+
border-radius: var(--ui-selection-radius);
|
|
572
572
|
color: var(--ui-text-secondary);
|
|
573
573
|
transition:
|
|
574
574
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
@@ -579,12 +579,22 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
579
579
|
}
|
|
580
580
|
|
|
581
581
|
.row:hover,
|
|
582
|
-
[data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] .row,
|
|
583
582
|
.row:focus-within {
|
|
584
583
|
color: var(--ui-text-primary);
|
|
585
584
|
background: var(--ui-surface-muted);
|
|
586
585
|
}
|
|
587
586
|
|
|
587
|
+
/* Selection is the same surface recipe as destination and choice rows. */
|
|
588
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"] > .row {
|
|
589
|
+
color: var(--ui-selection-text);
|
|
590
|
+
background: var(--ui-selection-surface);
|
|
591
|
+
}
|
|
592
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not([aria-disabled="true"])
|
|
593
|
+
> .row
|
|
594
|
+
> .leading {
|
|
595
|
+
color: var(--ui-selection-text);
|
|
596
|
+
}
|
|
597
|
+
|
|
588
598
|
[data-component~="ui-tree-item"][data-ui-tree-item-state~="disabled"] .row {
|
|
589
599
|
color: var(--ui-disabled-text);
|
|
590
600
|
background: var(--ui-disabled-surface);
|
|
@@ -599,13 +609,14 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
599
609
|
}
|
|
600
610
|
|
|
601
611
|
[data-component~="ui-tree-item"]:focus-visible .row {
|
|
602
|
-
box-shadow: 0 0 0
|
|
612
|
+
box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
|
|
603
613
|
}
|
|
604
614
|
|
|
605
615
|
/* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
|
|
606
616
|
[data-component~="ui-tree-item"][data-drop-position="inside"] > .row {
|
|
607
617
|
background: var(--ui-accent-subtle);
|
|
608
|
-
box-shadow: inset 0 0 0
|
|
618
|
+
box-shadow: inset 0 0 0 var(--ui-accent-line-width)
|
|
619
|
+
var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
609
620
|
}
|
|
610
621
|
|
|
611
622
|
.disclosure,
|
|
@@ -935,7 +946,7 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
935
946
|
z-index: 3;
|
|
936
947
|
inset-inline: 1px;
|
|
937
948
|
display: none;
|
|
938
|
-
block-size:
|
|
949
|
+
block-size: var(--ui-accent-line-width);
|
|
939
950
|
border-radius: var(--ui-radius-round);
|
|
940
951
|
background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
941
952
|
pointer-events: none;
|
|
@@ -948,7 +959,7 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
948
959
|
inset-block-start: 50%;
|
|
949
960
|
inline-size: 7px;
|
|
950
961
|
block-size: 7px;
|
|
951
|
-
border:
|
|
962
|
+
border: var(--ui-accent-line-width) solid var(--_ui-tree-drop-color, var(--ui-accent-solid));
|
|
952
963
|
border-radius: var(--ui-radius-round);
|
|
953
964
|
background: var(--ui-surface-elevated);
|
|
954
965
|
transform: translateY(-50%);
|
|
@@ -963,12 +974,12 @@ useComponentHost(() => import('../components/ui-tree-item/ui-tree-item.js'), {
|
|
|
963
974
|
|
|
964
975
|
[data-component~="ui-tree-item"][data-drop-position="before"] > .row > .row-drop-indicator {
|
|
965
976
|
display: block;
|
|
966
|
-
inset-block-start: -
|
|
977
|
+
inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
|
|
967
978
|
}
|
|
968
979
|
|
|
969
980
|
[data-component~="ui-tree-item"][data-drop-position="after"] > .subtree-drop-indicator {
|
|
970
981
|
display: block;
|
|
971
|
-
inset-block-end: -
|
|
982
|
+
inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
|
|
972
983
|
}
|
|
973
984
|
|
|
974
985
|
.children[hidden] {
|
|
@@ -1044,6 +1055,18 @@ html[data-ui-input-modality="touch"]
|
|
|
1044
1055
|
}
|
|
1045
1056
|
}
|
|
1046
1057
|
|
|
1058
|
+
@media (forced-colors: active) {
|
|
1059
|
+
[data-component~="ui-tree-item"]:focus-visible > .row {
|
|
1060
|
+
outline: var(--ui-focus-width) solid Highlight;
|
|
1061
|
+
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
1062
|
+
}
|
|
1063
|
+
[data-component~="ui-tree-item"][data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"])
|
|
1064
|
+
> .row {
|
|
1065
|
+
outline: var(--ui-border-width) solid Highlight;
|
|
1066
|
+
outline-offset: calc(-1 * var(--ui-border-width));
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1047
1070
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
1048
1071
|
[data-component~="ui-tree-item"][hidden] {
|
|
1049
1072
|
display: none;
|
package/vue/chunks/UiAvatar.js
CHANGED
package/vue/chunks/UiBadge.js
CHANGED
package/vue/chunks/UiButton.js
CHANGED
package/vue/chunks/UiCallout.js
CHANGED