@threadlabs/looma 0.41.1 → 0.42.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/ui-button/ui-button.html +33 -12
- package/components/ui-button/ui-button.js +2 -2
- package/components/ui-callout/ui-callout.html +1 -1
- package/components/ui-card/ui-card.html +7 -7
- package/components/ui-checkbox/ui-checkbox.html +1 -1
- package/components/ui-dialog/ui-dialog.html +8 -10
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
- package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +1 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +1 -1
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +2 -2
- package/components/ui-icon-button/ui-icon-button.html +45 -10
- package/components/ui-light-editor/ui-light-editor.html +1 -1
- package/components/ui-menu/ui-menu.html +8 -10
- package/components/ui-menu-item/ui-menu-item.html +1 -1
- package/components/ui-popover/ui-popover.html +9 -11
- package/components/ui-radio/ui-radio.html +53 -1
- package/components/ui-section/ui-section.html +1 -1
- package/components/ui-site-header/ui-site-header.html +6 -2
- package/components/ui-status-message/ui-status-message.html +1 -1
- package/components/ui-switch/ui-switch.html +5 -2
- package/components/ui-tabs/ui-tabs.html +3 -3
- package/components/ui-text/ui-text.html +2 -2
- package/components/ui-tooltip/ui-tooltip.html +8 -10
- package/dist/index.js +1 -1
- package/docs/README.md +5 -1
- package/docs/catalog.json +410 -35
- package/docs/customizer-render.mjs +9 -5
- package/docs/customizer.js +2 -0
- package/docs/fonts.mjs +1 -1
- package/docs/theme.mjs +136 -35
- package/package.json +1 -1
- package/styles/ui-button.css +33 -12
- package/styles/ui-callout.css +1 -1
- package/styles/ui-card.css +6 -6
- package/styles/ui-checkbox.css +1 -1
- package/styles/ui-dialog.css +17 -21
- package/styles/ui-editor-mention-menu-item.css +1 -1
- package/styles/ui-editor-mention-menu.css +1 -1
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-toolbar.css +2 -2
- package/styles/ui-icon-button.css +45 -10
- package/styles/ui-light-editor.css +2 -2
- package/styles/ui-menu-item.css +1 -1
- package/styles/ui-menu.css +9 -11
- package/styles/ui-popover.css +10 -12
- package/styles/ui-radio.css +62 -1
- package/styles/ui-section.css +1 -1
- package/styles/ui-site-header.css +6 -2
- package/styles/ui-status-message.css +1 -1
- package/styles/ui-switch.css +5 -2
- package/styles/ui-tabs.css +3 -3
- package/styles/ui-text.css +2 -2
- package/styles/ui-tooltip.css +9 -11
- package/theme-system.css +10 -8
- package/tokens.css +23 -0
- package/vue/UiButton.vue +45 -12
- package/vue/UiCallout.vue +1 -1
- package/vue/UiCard.vue +7 -13
- package/vue/UiCheckbox.vue +1 -1
- package/vue/UiDialog.vue +21 -45
- package/vue/UiEditorMentionMenu.vue +1 -1
- package/vue/UiEditorMentionMenuItem.vue +1 -1
- package/vue/UiEditorTableContextMenu.vue +1 -1
- package/vue/UiEditorTableToolbar.vue +2 -2
- package/vue/UiIconButton.vue +45 -10
- package/vue/UiLightEditor.vue +2 -2
- package/vue/UiMenu.vue +11 -21
- package/vue/UiMenuItem.vue +1 -1
- package/vue/UiPopover.vue +12 -22
- package/vue/UiRadio.vue +57 -1
- package/vue/UiSection.vue +1 -1
- package/vue/UiSiteHeader.vue +6 -2
- package/vue/UiStatusMessage.vue +1 -1
- package/vue/UiSwitch.vue +5 -2
- package/vue/UiTabs.vue +3 -3
- package/vue/UiText.vue +2 -2
- package/vue/UiTooltip.vue +11 -21
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiCallout.js +1 -1
- package/vue/chunks/UiCard.js +2 -2
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiEditorMentionMenu.js +1 -1
- package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
- package/vue/chunks/UiEditorTableContextMenu.js +1 -1
- package/vue/chunks/UiEditorTableToolbar.js +1 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiLightEditor.js +1 -1
- package/vue/chunks/UiMenu.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiPopover.js +1 -1
- package/vue/chunks/UiRadio.js +1 -1
- package/vue/chunks/UiSection.js +1 -1
- package/vue/chunks/UiSiteHeader.js +1 -1
- package/vue/chunks/UiStatusMessage.js +1 -1
- package/vue/chunks/UiSwitch.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiText.js +1 -1
- package/vue/chunks/UiTooltip.js +1 -1
- package/vue/components.css +348 -235
- package/vue/editor/index.js +1 -1
package/styles/ui-switch.css
CHANGED
|
@@ -99,7 +99,8 @@
|
|
|
99
99
|
width: var(--_thumb);
|
|
100
100
|
height: var(--_thumb);
|
|
101
101
|
border-radius: var(--ui-radius-round);
|
|
102
|
-
background: var(--ui-text-secondary);
|
|
102
|
+
background-color: var(--ui-text-secondary);
|
|
103
|
+
background-image: var(--ui-knob-highlight, none);
|
|
103
104
|
box-shadow: var(--ui-shadow-xs);
|
|
104
105
|
transition: transform var(--ui-motion-base) var(--ui-motion-ease), background-color var(--ui-motion-base) var(--ui-motion-ease);
|
|
105
106
|
}
|
|
@@ -112,7 +113,8 @@
|
|
|
112
113
|
|
|
113
114
|
input:checked:where(:not([data-component], [data-slotted]))::after {
|
|
114
115
|
transform: translateX(calc(var(--_ui-switch-track-width) - var(--_ui-switch-track-height)));
|
|
115
|
-
background: var(--ui-text-on-accent);
|
|
116
|
+
background-color: var(--ui-text-on-accent);
|
|
117
|
+
background-image: var(--ui-knob-on-accent-highlight, none);
|
|
116
118
|
}
|
|
117
119
|
|
|
118
120
|
input:focus-visible {
|
|
@@ -137,6 +139,7 @@
|
|
|
137
139
|
|
|
138
140
|
:scope:where([data-component~="ui-switch"])[data-ui-switch-state~="disabled"] input:where(:not([data-component], [data-slotted]))::after {
|
|
139
141
|
background-color: var(--ui-disabled-text);
|
|
142
|
+
background-image: none;
|
|
140
143
|
box-shadow: none;
|
|
141
144
|
}
|
|
142
145
|
|
package/styles/ui-tabs.css
CHANGED
|
@@ -150,8 +150,8 @@
|
|
|
150
150
|
}
|
|
151
151
|
.list button[aria-selected="true"],
|
|
152
152
|
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"][aria-selected="true"]) {
|
|
153
|
-
color: var(--ui-accent-
|
|
154
|
-
border-block-end-color: var(--ui-accent-
|
|
153
|
+
color: var(--ui-accent-subtle-text);
|
|
154
|
+
border-block-end-color: var(--ui-accent-subtle-text);
|
|
155
155
|
}
|
|
156
156
|
.list button:focus-visible,
|
|
157
157
|
.list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"]:focus-visible) {
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
|
|
175
175
|
:scope:where([data-component~="ui-tabs"])[data-ui-tabs-state~="orientation=vertical"] .list button[aria-selected="true"],
|
|
176
176
|
:scope:where([data-component~="ui-tabs"])[data-ui-tabs-state~="orientation=vertical"] .list > :where([data-slotted], [data-slotted] *):is(button[slot="tab"][aria-selected="true"]) {
|
|
177
|
-
border-inline-end-color: var(--ui-accent-
|
|
177
|
+
border-inline-end-color: var(--ui-accent-subtle-text);
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
@media (prefers-reduced-motion: reduce) {
|
package/styles/ui-text.css
CHANGED
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
color: var(--ui-text-muted);
|
|
60
60
|
}
|
|
61
61
|
:scope:where([data-component~="ui-text"])[data-ui-text-state~="tone=accent"] {
|
|
62
|
-
color: var(--ui-accent-
|
|
62
|
+
color: var(--ui-accent-subtle-text);
|
|
63
63
|
}
|
|
64
64
|
/* Every status tone uses the text-safe token a subtle badge sets its words in, so text and badges
|
|
65
65
|
in one tone match, and each holds 4.5:1 on sunken surfaces where some base colours fall short. */
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
/* A link in running text is underlined, so it stands apart from the words around it by more than
|
|
166
166
|
colour. */
|
|
167
167
|
:scope:where([data-component~="ui-text"]) :where([data-slotted], [data-slotted] *):is(a) {
|
|
168
|
-
color: var(--ui-accent-
|
|
168
|
+
color: var(--ui-accent-subtle-text);
|
|
169
169
|
text-decoration: underline;
|
|
170
170
|
text-decoration-thickness: 0.06em;
|
|
171
171
|
text-underline-offset: 0.18em;
|
package/styles/ui-tooltip.css
CHANGED
|
@@ -104,12 +104,12 @@
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/* Purpose and measured size shape one shared separation lever. The content plane stays opaque;
|
|
107
|
-
transparency,
|
|
107
|
+
transparency, frosting and edge light belong to the surrounding decorative material. */
|
|
108
108
|
.surface {
|
|
109
|
-
--_ui-material-glassiness:
|
|
109
|
+
--_ui-material-glassiness: clamp(0, var(--ui-glassiness, 0), 1);
|
|
110
110
|
--_ui-material-separation: clamp(0, var(--ui-surface-separation, 0), 1);
|
|
111
|
-
--_ui-material-active: clamp(0, calc(
|
|
112
|
-
--_ui-material-rim: calc(
|
|
111
|
+
--_ui-material-active: clamp(0, calc(var(--_ui-material-separation) * 100000), 1);
|
|
112
|
+
--_ui-material-rim: calc(var(--_ui-material-separation) * var(--_ui-material-scale, 0.08) * 8px);
|
|
113
113
|
--_ui-material-content-color: var(--_ui-tooltip-surface, var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated))));
|
|
114
114
|
--_ui-material-rim-color: color-mix(in srgb, var(--ui-material-glass, var(--ui-surface-elevated)) calc(var(--_ui-material-active) * 100%), transparent);
|
|
115
115
|
background:
|
|
@@ -132,10 +132,8 @@
|
|
|
132
132
|
var(--ui-elevation-tooltip, var(--ui-shadow-md))
|
|
133
133
|
)
|
|
134
134
|
);
|
|
135
|
-
backdrop-filter: blur(calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 0.08) *
|
|
136
|
-
|
|
137
|
-
-webkit-backdrop-filter: blur(calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 0.08) * 18px))
|
|
138
|
-
saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 0.08) * 0.18));
|
|
135
|
+
-webkit-backdrop-filter: blur(calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 0.08) * 32px));
|
|
136
|
+
backdrop-filter: blur(calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 0.08) * 32px));
|
|
139
137
|
}
|
|
140
138
|
|
|
141
139
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
@@ -147,8 +145,8 @@
|
|
|
147
145
|
@media (prefers-reduced-transparency: reduce) {
|
|
148
146
|
.surface {
|
|
149
147
|
background: var(--_ui-material-content-color);
|
|
150
|
-
backdrop-filter: none;
|
|
151
148
|
-webkit-backdrop-filter: none;
|
|
149
|
+
backdrop-filter: none;
|
|
152
150
|
}
|
|
153
151
|
}
|
|
154
152
|
|
|
@@ -157,8 +155,8 @@
|
|
|
157
155
|
background: Canvas;
|
|
158
156
|
border-color: CanvasText;
|
|
159
157
|
box-shadow: none;
|
|
160
|
-
backdrop-filter: none;
|
|
161
158
|
-webkit-backdrop-filter: none;
|
|
159
|
+
backdrop-filter: none;
|
|
162
160
|
}
|
|
163
161
|
}
|
|
164
162
|
|
|
@@ -288,7 +286,7 @@
|
|
|
288
286
|
/* The label and the shortcut sit side by side, a gap apart, with the label wrapping on its own. */
|
|
289
287
|
|
|
290
288
|
/* Purpose and measured size shape one shared separation lever. The content plane stays opaque;
|
|
291
|
-
transparency,
|
|
289
|
+
transparency, frosting and edge light belong to the surrounding decorative material. */
|
|
292
290
|
|
|
293
291
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
294
292
|
}
|
package/theme-system.css
CHANGED
|
@@ -101,17 +101,19 @@
|
|
|
101
101
|
/* Decorative outer material is allowed to transmit the scene. Content keeps
|
|
102
102
|
its own opaque plane; changing the scene cannot undermine text contrast. */
|
|
103
103
|
--ui-material-content: var(--ui-surface-raised);
|
|
104
|
-
--ui-material-glass: color-mix(in srgb, var(--ui-surface-raised) calc((1 - clamp(0, var(--ui-overlay-translucency), 1)) *
|
|
104
|
+
--ui-material-glass: color-mix(in srgb, var(--ui-surface-raised) calc((1 - clamp(0, var(--ui-overlay-translucency), 1)) * 100%), transparent);
|
|
105
105
|
--ui-material-edge: color-mix(in srgb, var(--ui-surface-raised) 80%, var(--ui-text));
|
|
106
106
|
/* Each role has a bounded reflection colour. Shared source coordinates are
|
|
107
107
|
relative to each surface, so size and position never change the lighting. */
|
|
108
|
-
--ui-surface-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%), color-mix(in srgb, var(--ui-surface-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), transparent
|
|
109
|
-
--ui-neutral-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%), color-mix(in srgb, var(--ui-neutral-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), transparent
|
|
110
|
-
--ui-
|
|
111
|
-
--ui-
|
|
112
|
-
--ui-
|
|
113
|
-
--ui-
|
|
114
|
-
--ui-
|
|
108
|
+
--ui-surface-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-surface-specular, var(--ui-surface-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-surface-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-surface-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
109
|
+
--ui-neutral-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-neutral-specular, var(--ui-neutral-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-neutral-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-neutral-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
110
|
+
--ui-knob-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-knob-specular, var(--ui-knob-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-knob-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-knob-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
111
|
+
--ui-knob-on-accent-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-knob-on-accent-specular, var(--ui-knob-on-accent-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-knob-on-accent-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-knob-on-accent-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
112
|
+
--ui-accent-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-accent-specular, var(--ui-accent-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-accent-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-accent-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
113
|
+
--ui-danger-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-danger-specular, var(--ui-danger-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-danger-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-danger-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
114
|
+
--ui-success-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-success-specular, var(--ui-success-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-success-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-success-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
115
|
+
--ui-warning-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-warning-specular, var(--ui-warning-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-warning-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-warning-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
116
|
+
--ui-info-highlight: radial-gradient(ellipse calc(35% + var(--ui-light-spread) * 165%) calc(55% + var(--ui-light-spread) * 200%) at calc(var(--ui-light-x) * 100%) calc(var(--ui-light-y) * 100%) in srgb, color-mix(in srgb, var(--ui-info-specular, var(--ui-info-reflection, var(--ui-surface-raised))) calc(var(--ui-finish) * var(--ui-light-strength) * 100%), transparent), color-mix(in srgb, var(--ui-info-reflection, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 75%), transparent) 8%, transparent 28%, color-mix(in srgb, var(--ui-info-shade, var(--ui-surface-raised)) calc(var(--ui-finish) * var(--ui-light-strength) * 35%), transparent) 100%);
|
|
115
117
|
/* Keep the low end gentle; the upper range deliberately reaches beyond restrained ornament. */
|
|
116
118
|
--_ui-theme-glow: calc(clamp(0, var(--ui-glow), 1) + 2 * pow(clamp(0, var(--ui-glow), 1), 4));
|
|
117
119
|
--ui-material-glow: 0 0 calc(18px * var(--_ui-theme-glow)) color-mix(in srgb, var(--ui-accent) calc(var(--_ui-theme-glow) * var(--ui-light-strength) * 18%), transparent);
|
package/tokens.css
CHANGED
|
@@ -23,8 +23,31 @@
|
|
|
23
23
|
--ui-surface-raised: #ffffff;
|
|
24
24
|
--ui-surface-sunken: #f0f0ec;
|
|
25
25
|
--ui-text: #1a1a1a;
|
|
26
|
+
/* The reflected environment is independent of object pigment. */
|
|
27
|
+
--ui-light-color: #ffffff;
|
|
26
28
|
--ui-focus-halo: 0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(in srgb, var(--ui-focus-ring) 40%, transparent);
|
|
27
29
|
|
|
30
|
+
/* Shared action boundaries follow their fills until a recipe refines the family. */
|
|
31
|
+
--ui-tonal-opacity: 1;
|
|
32
|
+
--ui-accent-border: var(--ui-accent);
|
|
33
|
+
--ui-accent-hover-border: var(--ui-accent-hover);
|
|
34
|
+
--ui-accent-active-border: var(--ui-accent-active);
|
|
35
|
+
--ui-danger-border: var(--ui-danger);
|
|
36
|
+
--ui-danger-hover-border: var(--ui-danger-hover);
|
|
37
|
+
--ui-danger-active-border: var(--ui-danger-active);
|
|
38
|
+
--ui-success-border: var(--ui-success);
|
|
39
|
+
--ui-success-hover-border: var(--ui-success-hover);
|
|
40
|
+
--ui-success-active-border: var(--ui-success-active);
|
|
41
|
+
--ui-warning-border: var(--ui-warning);
|
|
42
|
+
--ui-warning-hover-border: var(--ui-warning-hover);
|
|
43
|
+
--ui-warning-active-border: var(--ui-warning-active);
|
|
44
|
+
--ui-info-border: var(--ui-info);
|
|
45
|
+
--ui-info-hover-border: var(--ui-info-hover);
|
|
46
|
+
--ui-info-active-border: var(--ui-info-active);
|
|
47
|
+
--ui-neutral-border: var(--ui-neutral-surface);
|
|
48
|
+
--ui-neutral-hover-border: var(--ui-neutral-hover);
|
|
49
|
+
--ui-neutral-active-border: var(--ui-neutral-active);
|
|
50
|
+
|
|
28
51
|
/* The base type token owns the document root; rem-based roles scale from it once. */
|
|
29
52
|
font-size: var(--ui-font-size);
|
|
30
53
|
|
package/vue/UiButton.vue
CHANGED
|
@@ -1067,12 +1067,15 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1067
1067
|
--_ui-action-shadow:
|
|
1068
1068
|
var(--_ui-action-edge),
|
|
1069
1069
|
0 1px 2px light-dark(rgb(0 0 0 / 0.10), rgb(0 0 0 / 0.20));
|
|
1070
|
+
--_tone-border: var(--ui-accent-border, var(--ui-accent));
|
|
1071
|
+
--_tone-hover-border: var(--ui-accent-hover-border, var(--ui-accent-hover));
|
|
1072
|
+
--_tone-active-border: var(--ui-accent-active-border, var(--ui-accent-active));
|
|
1070
1073
|
--_tone-highlight: var(--ui-accent-highlight, none);
|
|
1071
1074
|
--_tone-glow: var(--ui-accent-glow, 0 0 transparent);
|
|
1072
1075
|
--_hue: var(--ui-accent);
|
|
1073
1076
|
--_hue-hover: var(--ui-accent-hover);
|
|
1074
1077
|
--_hue-active: var(--ui-accent-active);
|
|
1075
|
-
--_hue-text: var(--ui-accent-
|
|
1078
|
+
--_hue-text: var(--ui-accent-subtle-text);
|
|
1076
1079
|
--_on-hue: var(--ui-on-accent);
|
|
1077
1080
|
|
|
1078
1081
|
--_tone: var(--_hue);
|
|
@@ -1110,9 +1113,12 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1110
1113
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
1111
1114
|
border-style: solid;
|
|
1112
1115
|
border-width: var(--ui-border-width);
|
|
1113
|
-
border-color: var(--ui-button-border, var(--_tone));
|
|
1116
|
+
border-color: var(--ui-button-border, var(--_tone-text));
|
|
1114
1117
|
border-radius: var(--ui-button-radius, var(--ui-action-radius, var(--ui-radius-md)));
|
|
1115
|
-
background-color: var(
|
|
1118
|
+
background-color: var(
|
|
1119
|
+
--ui-button-surface,
|
|
1120
|
+
oklch(from var(--_tone) l c h / calc(5% * var(--ui-tonal-opacity, 1)))
|
|
1121
|
+
);
|
|
1116
1122
|
color: var(--ui-button-text, var(--_tone-text));
|
|
1117
1123
|
font: inherit;
|
|
1118
1124
|
font-weight: var(--ui-font-medium);
|
|
@@ -1243,8 +1249,11 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1243
1249
|
align-self: center;
|
|
1244
1250
|
}
|
|
1245
1251
|
:global(:scope:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1246
|
-
border-color: var(--ui-button-hover-border, var(--_tone-
|
|
1247
|
-
background-color: var(
|
|
1252
|
+
border-color: var(--ui-button-hover-border, var(--_tone-text));
|
|
1253
|
+
background-color: var(
|
|
1254
|
+
--ui-button-hover-surface,
|
|
1255
|
+
oklch(from var(--_tone) l c h / calc(12% * var(--ui-tonal-opacity, 1)))
|
|
1256
|
+
);
|
|
1248
1257
|
}
|
|
1249
1258
|
|
|
1250
1259
|
:global(:scope[data-appearance="card"][data-tone="neutral"]:where([data-hn-ui-button])) {
|
|
@@ -1262,14 +1271,17 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1262
1271
|
}
|
|
1263
1272
|
:global(:scope:active:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1264
1273
|
scale: var(--ui-press-scale, 1);
|
|
1265
|
-
background-color: var(
|
|
1274
|
+
background-color: var(
|
|
1275
|
+
--ui-button-active-surface,
|
|
1276
|
+
oklch(from var(--_tone) l c h / calc(18% * var(--ui-tonal-opacity, 1)))
|
|
1277
|
+
);
|
|
1266
1278
|
background-image: none;
|
|
1267
1279
|
box-shadow: var(--ui-pressed);
|
|
1268
1280
|
}
|
|
1269
1281
|
|
|
1270
1282
|
:global(:scope[data-appearance="solid"]:where([data-hn-ui-button])),
|
|
1271
1283
|
:global(:scope[data-appearance="danger"]:where([data-hn-ui-button])) {
|
|
1272
|
-
border-color: var(--_tone);
|
|
1284
|
+
border-color: var(--ui-button-border, var(--_tone-border));
|
|
1273
1285
|
background-color: var(--_tone);
|
|
1274
1286
|
color: var(--_on-tone);
|
|
1275
1287
|
background-image: var(--_tone-highlight);
|
|
@@ -1278,18 +1290,22 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1278
1290
|
var(--_tone-glow);
|
|
1279
1291
|
}
|
|
1280
1292
|
|
|
1281
|
-
:global(:
|
|
1293
|
+
:global(:scope[data-appearance="solid"]:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])),
|
|
1294
|
+
:global(:scope[data-appearance="danger"]:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1282
1295
|
background-color: var(--_tone-hover);
|
|
1283
|
-
border-color: var(--_tone-hover);
|
|
1296
|
+
border-color: var(--ui-button-hover-border, var(--_tone-hover-border));
|
|
1284
1297
|
}
|
|
1285
1298
|
|
|
1286
1299
|
:global(:is(:scope[data-appearance="solid"], :scope[data-appearance="danger"]):active:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1287
1300
|
background-color: var(--_tone-active);
|
|
1288
|
-
border-color: var(--_tone-active);
|
|
1301
|
+
border-color: var(--_tone-active-border);
|
|
1289
1302
|
background-image: none;
|
|
1290
1303
|
box-shadow: var(--ui-pressed);
|
|
1291
1304
|
}
|
|
1292
1305
|
:global(:scope[data-tone="neutral"]:where([data-hn-ui-button])) {
|
|
1306
|
+
--_tone-border: var(--ui-neutral-border, var(--ui-neutral-surface));
|
|
1307
|
+
--_tone-hover-border: var(--ui-neutral-hover-border, var(--ui-neutral-hover));
|
|
1308
|
+
--_tone-active-border: var(--ui-neutral-active-border, var(--ui-neutral-active));
|
|
1293
1309
|
--_tone-highlight: var(--ui-neutral-highlight, none);
|
|
1294
1310
|
--_tone-glow: var(--ui-neutral-glow, 0 0 transparent);
|
|
1295
1311
|
--_hue: var(--ui-text);
|
|
@@ -1300,7 +1316,7 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1300
1316
|
}
|
|
1301
1317
|
|
|
1302
1318
|
:global(:scope[data-tone="neutral"][data-appearance="solid"]:where([data-hn-ui-button])) {
|
|
1303
|
-
border-color: var(--ui-button-border, var(--
|
|
1319
|
+
border-color: var(--ui-button-border, var(--_tone-border));
|
|
1304
1320
|
background-color: var(--ui-button-surface, var(--ui-neutral-surface));
|
|
1305
1321
|
color: var(--ui-button-text, var(--ui-text));
|
|
1306
1322
|
}
|
|
@@ -1323,14 +1339,19 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1323
1339
|
background-color: var(--ui-button-active-surface, var(--ui-neutral-active));
|
|
1324
1340
|
}
|
|
1325
1341
|
:global(:scope[data-tone="neutral"][data-appearance="solid"]:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1342
|
+
border-color: var(--ui-button-hover-border, var(--_tone-hover-border));
|
|
1326
1343
|
background-color: var(--ui-button-hover-surface, var(--ui-neutral-hover));
|
|
1327
1344
|
}
|
|
1328
1345
|
:global(:scope[data-tone="neutral"][data-appearance="solid"]:active:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1346
|
+
border-color: var(--_tone-active-border);
|
|
1329
1347
|
background-color: var(--ui-button-active-surface, var(--ui-neutral-active));
|
|
1330
1348
|
}
|
|
1331
1349
|
|
|
1332
1350
|
:global(:scope[data-tone="danger"]:where([data-hn-ui-button])),
|
|
1333
1351
|
:global(:scope[data-appearance="danger"]:where([data-hn-ui-button])) {
|
|
1352
|
+
--_tone-border: var(--ui-danger-border, var(--ui-danger));
|
|
1353
|
+
--_tone-hover-border: var(--ui-danger-hover-border, var(--ui-danger-hover));
|
|
1354
|
+
--_tone-active-border: var(--ui-danger-active-border, var(--ui-danger-active));
|
|
1334
1355
|
--_tone-highlight: var(--ui-danger-highlight, none);
|
|
1335
1356
|
--_tone-glow: var(--ui-danger-glow, 0 0 transparent);
|
|
1336
1357
|
--_hue: var(--ui-danger);
|
|
@@ -1341,6 +1362,9 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1341
1362
|
}
|
|
1342
1363
|
|
|
1343
1364
|
:global(:scope[data-tone="success"]:where([data-hn-ui-button])) {
|
|
1365
|
+
--_tone-border: var(--ui-success-border, var(--ui-success));
|
|
1366
|
+
--_tone-hover-border: var(--ui-success-hover-border, var(--ui-success-hover));
|
|
1367
|
+
--_tone-active-border: var(--ui-success-active-border, var(--ui-success-active));
|
|
1344
1368
|
--_tone-highlight: var(--ui-success-highlight, none);
|
|
1345
1369
|
--_tone-glow: var(--ui-success-glow, 0 0 transparent);
|
|
1346
1370
|
--_hue: var(--ui-success);
|
|
@@ -1351,6 +1375,9 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1351
1375
|
}
|
|
1352
1376
|
|
|
1353
1377
|
:global(:scope[data-tone="warning"]:where([data-hn-ui-button])) {
|
|
1378
|
+
--_tone-border: var(--ui-warning-border, var(--ui-warning));
|
|
1379
|
+
--_tone-hover-border: var(--ui-warning-hover-border, var(--ui-warning-hover));
|
|
1380
|
+
--_tone-active-border: var(--ui-warning-active-border, var(--ui-warning-active));
|
|
1354
1381
|
--_tone-highlight: var(--ui-warning-highlight, none);
|
|
1355
1382
|
--_tone-glow: var(--ui-warning-glow, 0 0 transparent);
|
|
1356
1383
|
--_hue: var(--ui-warning);
|
|
@@ -1361,6 +1388,9 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1361
1388
|
}
|
|
1362
1389
|
|
|
1363
1390
|
:global(:scope[data-tone="info"]:where([data-hn-ui-button])) {
|
|
1391
|
+
--_tone-border: var(--ui-info-border, var(--ui-info));
|
|
1392
|
+
--_tone-hover-border: var(--ui-info-hover-border, var(--ui-info-hover));
|
|
1393
|
+
--_tone-active-border: var(--ui-info-active-border, var(--ui-info-active));
|
|
1364
1394
|
--_tone-highlight: var(--ui-info-highlight, none);
|
|
1365
1395
|
--_tone-glow: var(--ui-info-glow, 0 0 transparent);
|
|
1366
1396
|
--_hue: var(--ui-info);
|
|
@@ -1411,7 +1441,10 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
|
|
|
1411
1441
|
color: var(--ui-button-ghost-text, var(--_tone-text));
|
|
1412
1442
|
}
|
|
1413
1443
|
:global(:scope[data-appearance="ghost"]:hover:not(:disabled, [aria-disabled="true"]):where([data-hn-ui-button])) {
|
|
1414
|
-
background-color: var(
|
|
1444
|
+
background-color: var(
|
|
1445
|
+
--ui-button-ghost-hover-surface,
|
|
1446
|
+
oklch(from var(--_tone) l c h / calc(10% * var(--ui-tonal-opacity, 1)))
|
|
1447
|
+
);
|
|
1415
1448
|
border-color: transparent;
|
|
1416
1449
|
}
|
|
1417
1450
|
|
package/vue/UiCallout.vue
CHANGED
|
@@ -447,7 +447,7 @@ const hostState = computed(() =>
|
|
|
447
447
|
--_callout-icon: var(--ui-danger-solid);
|
|
448
448
|
}
|
|
449
449
|
:global(.content :where(:not([data-hn-ui-callout])):is(a)) {
|
|
450
|
-
color: var(--ui-accent-
|
|
450
|
+
color: var(--ui-accent-subtle-text);
|
|
451
451
|
text-decoration: underline;
|
|
452
452
|
text-decoration-thickness: 0.06em;
|
|
453
453
|
text-underline-offset: 0.18em;
|
package/vue/UiCard.vue
CHANGED
|
@@ -60,7 +60,7 @@ const propValidityContract = {
|
|
|
60
60
|
required: false,
|
|
61
61
|
target: { attribute: 'treatment' },
|
|
62
62
|
description:
|
|
63
|
-
'How much of the theme\'s decorative material the surface expresses. standard preserves its restrained treatment; expressive uses the full material\n treatment. This does not add elevation or require glass.',
|
|
63
|
+
'How much of the theme\'s decorative material the surface expresses. standard preserves its restrained treatment; expressive uses the full material\n treatment. Its glass rim can transmit and frost the surrounding scene while content remains opaque. Surface separation controls the rim, independently of frosting. This does not add elevation or require glass.',
|
|
64
64
|
values: ['standard', 'expressive'],
|
|
65
65
|
default: 'standard',
|
|
66
66
|
},
|
|
@@ -329,13 +329,9 @@ const hostState = computed(() =>
|
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
:global(:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card])) {
|
|
332
|
-
--_ui-panel-glass:
|
|
333
|
-
clamp(0, var(--ui-glassiness, 0), 1) + 2 * pow(clamp(0, var(--ui-glassiness, 0), 1), 4)
|
|
334
|
-
);
|
|
332
|
+
--_ui-panel-glass: clamp(0, var(--ui-glassiness, 0), 1);
|
|
335
333
|
--_ui-panel-separation: clamp(0, var(--ui-surface-separation, 0), 1);
|
|
336
|
-
--_ui-panel-rim: calc(
|
|
337
|
-
(var(--_ui-panel-separation) + var(--_ui-panel-glass) * 0.25) * 0.65 * 8px
|
|
338
|
-
);
|
|
334
|
+
--_ui-panel-rim: calc(var(--_ui-panel-separation) * 8px);
|
|
339
335
|
border-width: calc(var(--ui-border-width) + var(--_ui-panel-rim));
|
|
340
336
|
border-color: transparent;
|
|
341
337
|
background:
|
|
@@ -350,10 +346,8 @@ const hostState = computed(() =>
|
|
|
350
346
|
var(--_ui-card-elevation),
|
|
351
347
|
var(--ui-material-glow, 0 0 transparent),
|
|
352
348
|
inset 0 0 0 var(--ui-border-width) var(--ui-material-edge, var(--ui-border-strong));
|
|
353
|
-
backdrop-filter: blur(calc(var(--_ui-panel-glass) *
|
|
354
|
-
|
|
355
|
-
-webkit-backdrop-filter: blur(calc(var(--_ui-panel-glass) * 0.65 * 18px))
|
|
356
|
-
saturate(calc(1 + var(--_ui-panel-glass) * 0.65 * 0.18));
|
|
349
|
+
-webkit-backdrop-filter: blur(calc(var(--_ui-panel-glass) * 32px));
|
|
350
|
+
backdrop-filter: blur(calc(var(--_ui-panel-glass) * 32px));
|
|
357
351
|
}
|
|
358
352
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
359
353
|
:global(:scope[data-ui-card-state~="treatment=expressive"]:where([data-hn-ui-card])) {
|
|
@@ -365,8 +359,8 @@ const hostState = computed(() =>
|
|
|
365
359
|
background: var(--_ui-card-surface);
|
|
366
360
|
border-width: var(--ui-border-width);
|
|
367
361
|
border-color: var(--ui-border-strong);
|
|
368
|
-
backdrop-filter: none;
|
|
369
362
|
-webkit-backdrop-filter: none;
|
|
363
|
+
backdrop-filter: none;
|
|
370
364
|
}
|
|
371
365
|
}
|
|
372
366
|
@media (forced-colors: active) {
|
|
@@ -375,8 +369,8 @@ const hostState = computed(() =>
|
|
|
375
369
|
color: CanvasText;
|
|
376
370
|
border: var(--ui-border-width) solid CanvasText;
|
|
377
371
|
box-shadow: none;
|
|
378
|
-
backdrop-filter: none;
|
|
379
372
|
-webkit-backdrop-filter: none;
|
|
373
|
+
backdrop-filter: none;
|
|
380
374
|
}
|
|
381
375
|
}
|
|
382
376
|
|
package/vue/UiCheckbox.vue
CHANGED
|
@@ -496,7 +496,7 @@ useComponentHost(() => import('../components/ui-checkbox/ui-checkbox.js'), {
|
|
|
496
496
|
border-color: var(--ui-accent-solid);
|
|
497
497
|
background-color: var(--ui-accent-solid);
|
|
498
498
|
background-image: var(--ui-accent-highlight, none);
|
|
499
|
-
box-shadow:
|
|
499
|
+
box-shadow: none;
|
|
500
500
|
}
|
|
501
501
|
:global(input:checked:where([data-hn-ui-checkbox])::after) {
|
|
502
502
|
inset: 50% auto auto 50% !important;
|
package/vue/UiDialog.vue
CHANGED
|
@@ -372,7 +372,7 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
372
372
|
}
|
|
373
373
|
|
|
374
374
|
/* Purpose and measured size shape one shared separation lever. The content plane stays opaque;
|
|
375
|
-
transparency,
|
|
375
|
+
transparency, frosting and edge light belong to the surrounding decorative material. */
|
|
376
376
|
|
|
377
377
|
/* Own the layout wrapper; nested component roots are outside these scoped rules. */
|
|
378
378
|
|
|
@@ -432,22 +432,10 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
432
432
|
overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
433
433
|
}
|
|
434
434
|
:global(:scope:where([data-hn-ui-dialog])) {
|
|
435
|
-
--_ui-material-glassiness:
|
|
436
|
-
clamp(0, var(--ui-glassiness, 0), 1) + 2 * pow(clamp(0, var(--ui-glassiness, 0), 1), 4)
|
|
437
|
-
);
|
|
435
|
+
--_ui-material-glassiness: clamp(0, var(--ui-glassiness, 0), 1);
|
|
438
436
|
--_ui-material-separation: clamp(0, var(--ui-surface-separation, 0), 1);
|
|
439
|
-
--_ui-material-active: clamp(
|
|
440
|
-
|
|
441
|
-
calc((var(--_ui-material-glassiness) + var(--_ui-material-separation)) * 100000),
|
|
442
|
-
1
|
|
443
|
-
);
|
|
444
|
-
--_ui-material-rim: calc(
|
|
445
|
-
(
|
|
446
|
-
var(--_ui-material-separation) + var(--_ui-material-glassiness) * 0.25
|
|
447
|
-
) *
|
|
448
|
-
var(--_ui-material-scale, 1) *
|
|
449
|
-
8px
|
|
450
|
-
);
|
|
437
|
+
--_ui-material-active: clamp(0, calc(var(--_ui-material-separation) * 100000), 1);
|
|
438
|
+
--_ui-material-rim: calc(var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 8px);
|
|
451
439
|
--_ui-material-content-color: var(
|
|
452
440
|
--ui-dialog-surface,
|
|
453
441
|
var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated)))
|
|
@@ -489,12 +477,12 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
489
477
|
var(--ui-elevation-dialog, var(--ui-shadow-xl))
|
|
490
478
|
)
|
|
491
479
|
);
|
|
492
|
-
backdrop-filter: blur(
|
|
493
|
-
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 18px)
|
|
494
|
-
) saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 0.18));
|
|
495
480
|
-webkit-backdrop-filter: blur(
|
|
496
|
-
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) *
|
|
497
|
-
)
|
|
481
|
+
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 32px)
|
|
482
|
+
);
|
|
483
|
+
backdrop-filter: blur(
|
|
484
|
+
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 32px)
|
|
485
|
+
);
|
|
498
486
|
}
|
|
499
487
|
|
|
500
488
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
@@ -506,8 +494,8 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
506
494
|
@media (prefers-reduced-transparency: reduce) {
|
|
507
495
|
:global(:scope:where([data-hn-ui-dialog])) {
|
|
508
496
|
background: var(--_ui-material-content-color);
|
|
509
|
-
backdrop-filter: none;
|
|
510
497
|
-webkit-backdrop-filter: none;
|
|
498
|
+
backdrop-filter: none;
|
|
511
499
|
}
|
|
512
500
|
}
|
|
513
501
|
|
|
@@ -516,8 +504,8 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
516
504
|
background: Canvas;
|
|
517
505
|
border-color: CanvasText;
|
|
518
506
|
box-shadow: none;
|
|
519
|
-
backdrop-filter: none;
|
|
520
507
|
-webkit-backdrop-filter: none;
|
|
508
|
+
backdrop-filter: none;
|
|
521
509
|
}
|
|
522
510
|
}
|
|
523
511
|
|
|
@@ -667,22 +655,10 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
667
655
|
overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
|
|
668
656
|
}
|
|
669
657
|
:global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
|
|
670
|
-
--_ui-material-glassiness:
|
|
671
|
-
clamp(0, var(--ui-glassiness, 0), 1) + 2 * pow(clamp(0, var(--ui-glassiness, 0), 1), 4)
|
|
672
|
-
);
|
|
658
|
+
--_ui-material-glassiness: clamp(0, var(--ui-glassiness, 0), 1);
|
|
673
659
|
--_ui-material-separation: clamp(0, var(--ui-surface-separation, 0), 1);
|
|
674
|
-
--_ui-material-active: clamp(
|
|
675
|
-
|
|
676
|
-
calc((var(--_ui-material-glassiness) + var(--_ui-material-separation)) * 100000),
|
|
677
|
-
1
|
|
678
|
-
);
|
|
679
|
-
--_ui-material-rim: calc(
|
|
680
|
-
(
|
|
681
|
-
var(--_ui-material-separation) + var(--_ui-material-glassiness) * 0.25
|
|
682
|
-
) *
|
|
683
|
-
var(--_ui-material-scale, 1) *
|
|
684
|
-
8px
|
|
685
|
-
);
|
|
660
|
+
--_ui-material-active: clamp(0, calc(var(--_ui-material-separation) * 100000), 1);
|
|
661
|
+
--_ui-material-rim: calc(var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 8px);
|
|
686
662
|
--_ui-material-content-color: var(
|
|
687
663
|
--ui-dialog-surface,
|
|
688
664
|
var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated)))
|
|
@@ -724,12 +700,12 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
724
700
|
var(--ui-elevation-dialog, var(--ui-shadow-xl))
|
|
725
701
|
)
|
|
726
702
|
);
|
|
727
|
-
backdrop-filter: blur(
|
|
728
|
-
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 18px)
|
|
729
|
-
) saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 0.18));
|
|
730
703
|
-webkit-backdrop-filter: blur(
|
|
731
|
-
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) *
|
|
732
|
-
)
|
|
704
|
+
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 32px)
|
|
705
|
+
);
|
|
706
|
+
backdrop-filter: blur(
|
|
707
|
+
calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 32px)
|
|
708
|
+
);
|
|
733
709
|
}
|
|
734
710
|
|
|
735
711
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
@@ -741,8 +717,8 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
741
717
|
@media (prefers-reduced-transparency: reduce) {
|
|
742
718
|
:global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
|
|
743
719
|
background: var(--_ui-material-content-color);
|
|
744
|
-
backdrop-filter: none;
|
|
745
720
|
-webkit-backdrop-filter: none;
|
|
721
|
+
backdrop-filter: none;
|
|
746
722
|
}
|
|
747
723
|
}
|
|
748
724
|
|
|
@@ -751,8 +727,8 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
|
|
|
751
727
|
background: Canvas;
|
|
752
728
|
border-color: CanvasText;
|
|
753
729
|
box-shadow: none;
|
|
754
|
-
backdrop-filter: none;
|
|
755
730
|
-webkit-backdrop-filter: none;
|
|
731
|
+
backdrop-filter: none;
|
|
756
732
|
}
|
|
757
733
|
}
|
|
758
734
|
|
|
@@ -541,7 +541,7 @@ useComponentHost(() => import('../components/ui-editor-mention-menu/ui-editor-me
|
|
|
541
541
|
width: 32px;
|
|
542
542
|
height: 32px;
|
|
543
543
|
flex: 0 0 auto;
|
|
544
|
-
color: var(--ui-accent-
|
|
544
|
+
color: var(--ui-accent-subtle-text);
|
|
545
545
|
background: var(--ui-accent-soft, var(--ui-accent-subtle));
|
|
546
546
|
border-radius: var(--ui-radius-round);
|
|
547
547
|
font-size: var(--ui-font-size-xs);
|
|
@@ -167,7 +167,7 @@ checkHydratedRoot('li', 'ui-editor-mention-menu-item')
|
|
|
167
167
|
inline-size: 32px;
|
|
168
168
|
block-size: 32px;
|
|
169
169
|
flex: 0 0 auto;
|
|
170
|
-
color: var(--ui-accent-
|
|
170
|
+
color: var(--ui-accent-subtle-text);
|
|
171
171
|
background: var(--ui-accent-soft);
|
|
172
172
|
border-radius: var(--ui-radius-round);
|
|
173
173
|
font-size: var(--ui-font-size-xs);
|
|
@@ -623,7 +623,7 @@ useComponentHost(
|
|
|
623
623
|
background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
|
|
624
624
|
}
|
|
625
625
|
:global(:scope button.danger) {
|
|
626
|
-
color: var(--ui-danger);
|
|
626
|
+
color: var(--ui-danger-subtle-text);
|
|
627
627
|
}
|
|
628
628
|
:global(.swatches) {
|
|
629
629
|
display: flex !important;
|
|
@@ -736,7 +736,7 @@ useComponentHost(() => import('../components/ui-editor-table-toolbar/ui-editor-t
|
|
|
736
736
|
}
|
|
737
737
|
:global(:scope button.active) {
|
|
738
738
|
background: var(--ui-accent-soft, var(--ui-accent-subtle));
|
|
739
|
-
color: var(--ui-accent-
|
|
739
|
+
color: var(--ui-accent-subtle-text);
|
|
740
740
|
}
|
|
741
741
|
:global(.group button) {
|
|
742
742
|
border-radius: var(--ui-radius-sm);
|
|
@@ -749,7 +749,7 @@ useComponentHost(() => import('../components/ui-editor-table-toolbar/ui-editor-t
|
|
|
749
749
|
border-radius: var(--ui-radius-sm);
|
|
750
750
|
}
|
|
751
751
|
:global(:scope button.danger) {
|
|
752
|
-
color: var(--ui-danger);
|
|
752
|
+
color: var(--ui-danger-subtle-text);
|
|
753
753
|
}
|
|
754
754
|
:global(:scope) {
|
|
755
755
|
--_ui-default-icon-size: var(--ui-editor-toolbar-icon-size, 1rem);
|