@threadlabs/looma 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/components/shared/input-modality.d.ts +8 -0
- package/components/shared/input-modality.js +2 -0
- package/components/ui-button/ui-button.html +42 -1
- package/components/ui-combobox/ui-combobox.html +12 -4
- package/components/ui-dialog/ui-dialog.html +13 -0
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +1 -1
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +6 -2
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +20 -4
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +8 -4
- package/components/ui-form-field/ui-form-field.html +18 -7
- package/components/ui-icon/ui-icon.html +5 -1
- package/components/ui-icon-button/ui-icon-button.html +44 -1
- package/components/ui-popover/ui-popover.js +10 -2
- package/components/ui-search-shell/ui-search-shell.html +7 -0
- package/components/ui-search-shell/ui-search-shell.js +9 -0
- package/components/ui-tabs/ui-tabs.html +1 -1
- package/components/ui-toast-region/ui-toast-region.html +1 -1
- package/components/ui-tree-item/ui-tree-item.html +6 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +2 -2
- package/styles/ui-affordance-scope.css +1 -1
- package/styles/ui-avatar-group.css +1 -1
- package/styles/ui-avatar.css +1 -1
- package/styles/ui-badge.css +1 -1
- package/styles/ui-button.css +42 -2
- package/styles/ui-callout.css +1 -1
- package/styles/ui-checkbox.css +1 -1
- package/styles/ui-cluster.css +1 -1
- package/styles/ui-combobox.css +1 -1
- package/styles/ui-container.css +1 -1
- package/styles/ui-context-menu.css +1 -1
- package/styles/ui-dialog.css +18 -1
- package/styles/ui-disclosure.css +1 -1
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +1 -1
- package/styles/ui-editor-mention-menu.css +1 -1
- package/styles/ui-editor-slash-menu.css +1 -1
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-overlay.css +1 -1
- package/styles/ui-editor-table-toolbar.css +1 -1
- package/styles/ui-editor-toolbar.css +1 -1
- package/styles/ui-floating-action-button.css +1 -1
- package/styles/ui-form-field.css +24 -10
- package/styles/ui-grid.css +1 -1
- package/styles/ui-icon-button.css +52 -2
- package/styles/ui-icon.css +1 -1
- package/styles/ui-input.css +1 -1
- package/styles/ui-menu-item.css +1 -1
- package/styles/ui-menu.css +1 -1
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio-group.css +1 -1
- package/styles/ui-radio.css +1 -1
- package/styles/ui-reel.css +1 -1
- package/styles/ui-search-result-row.css +1 -1
- package/styles/ui-search-shell.css +11 -2
- package/styles/ui-select.css +1 -1
- package/styles/ui-separator.css +1 -1
- package/styles/ui-sidebar.css +1 -1
- package/styles/ui-stack.css +1 -1
- package/styles/ui-switch.css +1 -1
- package/styles/ui-switcher.css +1 -1
- package/styles/ui-tabs.css +1 -1
- package/styles/ui-textarea.css +1 -1
- package/styles/ui-toast-region.css +1 -1
- package/styles/ui-tooltip.css +1 -1
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +10 -2
- package/styles/ui-tree.css +1 -1
- package/vanilla/UiAffordanceScope.d.ts +1 -1
- package/vanilla/UiAffordanceScope.js +2 -2
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +2 -2
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +2 -2
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +2 -2
- package/vanilla/UiButton.d.ts +3 -1
- package/vanilla/UiButton.js +3 -3
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +2 -2
- package/vanilla/UiCheckbox.d.ts +1 -1
- package/vanilla/UiCheckbox.js +2 -2
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +2 -2
- package/vanilla/UiCombobox.d.ts +1 -1
- package/vanilla/UiCombobox.js +3 -3
- package/vanilla/UiContainer.d.ts +1 -1
- package/vanilla/UiContainer.js +2 -2
- package/vanilla/UiContextMenu.d.ts +1 -1
- package/vanilla/UiContextMenu.js +2 -2
- package/vanilla/UiDialog.d.ts +1 -1
- package/vanilla/UiDialog.js +2 -2
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +2 -2
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +2 -2
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +3 -3
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +3 -3
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +2 -2
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +3 -3
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +3 -3
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +3 -3
- package/vanilla/UiEditorToolbar.d.ts +1 -1
- package/vanilla/UiEditorToolbar.js +2 -2
- package/vanilla/UiFloatingActionButton.d.ts +1 -1
- package/vanilla/UiFloatingActionButton.js +2 -2
- package/vanilla/UiFormField.d.ts +1 -1
- package/vanilla/UiFormField.js +15 -6
- package/vanilla/UiGrid.d.ts +1 -1
- package/vanilla/UiGrid.js +2 -2
- package/vanilla/UiIcon.d.ts +1 -1
- package/vanilla/UiIcon.js +3 -3
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +2 -2
- package/vanilla/UiInput.d.ts +1 -1
- package/vanilla/UiInput.js +2 -2
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +2 -2
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +2 -2
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +2 -2
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +2 -2
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +2 -2
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +2 -2
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +2 -2
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +2 -2
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +2 -2
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +2 -2
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +2 -2
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +2 -2
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +2 -2
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +2 -2
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +3 -3
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +2 -2
- package/vanilla/UiToastRegion.d.ts +1 -1
- package/vanilla/UiToastRegion.js +3 -3
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +2 -2
- package/vanilla/UiTopBar.d.ts +1 -1
- package/vanilla/UiTopBar.js +1 -1
- package/vanilla/UiTree.d.ts +1 -1
- package/vanilla/UiTree.js +2 -2
- package/vanilla/UiTreeItem.d.ts +1 -1
- package/vanilla/UiTreeItem.js +2 -2
- package/vue/UiAffordanceScope.d.ts +2 -2
- package/vue/UiAffordanceScope.vue +92 -73
- package/vue/UiAvatar.d.ts +7 -7
- package/vue/UiAvatar.vue +145 -105
- package/vue/UiAvatarGroup.d.ts +4 -4
- package/vue/UiAvatarGroup.vue +134 -118
- package/vue/UiBadge.d.ts +4 -4
- package/vue/UiBadge.vue +113 -114
- package/vue/UiButton.d.ts +10 -6
- package/vue/UiButton.vue +289 -220
- package/vue/UiCallout.d.ts +2 -2
- package/vue/UiCallout.vue +154 -87
- package/vue/UiCheckbox.d.ts +14 -10
- package/vue/UiCheckbox.vue +228 -162
- package/vue/UiCluster.d.ts +2 -2
- package/vue/UiCluster.vue +53 -60
- package/vue/UiCombobox.d.ts +36 -32
- package/vue/UiCombobox.vue +1005 -416
- package/vue/UiContainer.d.ts +2 -2
- package/vue/UiContainer.vue +48 -51
- package/vue/UiContextMenu.d.ts +6 -4
- package/vue/UiContextMenu.vue +205 -116
- package/vue/UiDialog.d.ts +11 -9
- package/vue/UiDialog.vue +287 -212
- package/vue/UiDisclosure.d.ts +8 -6
- package/vue/UiDisclosure.vue +248 -159
- package/vue/UiEditable.d.ts +16 -12
- package/vue/UiEditable.vue +325 -205
- package/vue/UiEditorInsertTableGrid.d.ts +8 -8
- package/vue/UiEditorInsertTableGrid.vue +216 -157
- package/vue/UiEditorMentionMenu.d.ts +9 -9
- package/vue/UiEditorMentionMenu.vue +265 -222
- package/vue/UiEditorSlashMenu.d.ts +7 -7
- package/vue/UiEditorSlashMenu.vue +286 -240
- package/vue/UiEditorTableContextMenu.d.ts +5 -5
- package/vue/UiEditorTableContextMenu.vue +306 -193
- package/vue/UiEditorTableOverlay.d.ts +2 -2
- package/vue/UiEditorTableOverlay.vue +609 -369
- package/vue/UiEditorTableToolbar.d.ts +7 -7
- package/vue/UiEditorTableToolbar.vue +443 -268
- package/vue/UiEditorToolbar.d.ts +2 -2
- package/vue/UiEditorToolbar.vue +134 -121
- package/vue/UiFloatingActionButton.d.ts +6 -6
- package/vue/UiFloatingActionButton.vue +100 -99
- package/vue/UiFormField.d.ts +6 -6
- package/vue/UiFormField.vue +112 -80
- package/vue/UiGrid.d.ts +2 -2
- package/vue/UiGrid.vue +51 -57
- package/vue/UiIcon.d.ts +2 -2
- package/vue/UiIcon.vue +118 -89
- package/vue/UiIconButton.d.ts +11 -11
- package/vue/UiIconButton.vue +285 -206
- package/vue/UiInput.d.ts +9 -9
- package/vue/UiInput.vue +153 -127
- package/vue/UiMenu.d.ts +8 -6
- package/vue/UiMenu.vue +217 -143
- package/vue/UiMenuItem.d.ts +4 -4
- package/vue/UiMenuItem.vue +52 -46
- package/vue/UiPopover.d.ts +8 -6
- package/vue/UiPopover.vue +197 -137
- package/vue/UiRadio.d.ts +14 -10
- package/vue/UiRadio.vue +183 -117
- package/vue/UiRadioGroup.d.ts +14 -12
- package/vue/UiRadioGroup.vue +172 -111
- package/vue/UiReel.d.ts +3 -3
- package/vue/UiReel.vue +77 -77
- package/vue/UiSearchResultRow.d.ts +4 -4
- package/vue/UiSearchResultRow.vue +124 -115
- package/vue/UiSearchShell.d.ts +10 -8
- package/vue/UiSearchShell.vue +245 -176
- package/vue/UiSelect.d.ts +9 -9
- package/vue/UiSelect.vue +162 -134
- package/vue/UiSeparator.d.ts +2 -2
- package/vue/UiSeparator.vue +22 -27
- package/vue/UiSidebar.d.ts +20 -18
- package/vue/UiSidebar.vue +312 -224
- package/vue/UiStack.d.ts +3 -3
- package/vue/UiStack.vue +64 -70
- package/vue/UiSwitch.d.ts +12 -8
- package/vue/UiSwitch.vue +218 -150
- package/vue/UiSwitcher.d.ts +3 -3
- package/vue/UiSwitcher.vue +73 -75
- package/vue/UiTabs.d.ts +10 -8
- package/vue/UiTabs.vue +251 -210
- package/vue/UiTextarea.d.ts +11 -11
- package/vue/UiTextarea.vue +155 -128
- package/vue/UiToastRegion.d.ts +10 -8
- package/vue/UiToastRegion.vue +261 -198
- package/vue/UiTooltip.d.ts +14 -12
- package/vue/UiTooltip.vue +241 -177
- package/vue/UiTopBar.vue +51 -42
- package/vue/UiTree.d.ts +8 -6
- package/vue/UiTree.vue +157 -70
- package/vue/UiTreeItem.d.ts +24 -22
- package/vue/UiTreeItem.vue +456 -339
- package/vue/chunks/UiAffordanceScope.js +9 -16
- package/vue/chunks/UiAvatar.js +23 -29
- package/vue/chunks/UiAvatarGroup.js +16 -39
- package/vue/chunks/UiBadge.js +3 -12
- package/vue/chunks/UiButton.js +15 -18
- package/vue/chunks/UiCallout.js +8 -17
- package/vue/chunks/UiCheckbox.js +37 -40
- package/vue/chunks/UiCluster.js +3 -12
- package/vue/chunks/UiCombobox.js +224 -266
- package/vue/chunks/UiContainer.js +3 -12
- package/vue/chunks/UiContextMenu.js +39 -34
- package/vue/chunks/UiDialog.js +36 -39
- package/vue/chunks/UiDisclosure.js +43 -48
- package/vue/chunks/UiEditable.js +55 -57
- package/vue/chunks/UiEditorInsertTableGrid.js +55 -73
- package/vue/chunks/UiEditorMentionMenu.js +40 -81
- package/vue/chunks/UiEditorSlashMenu.js +28 -52
- package/vue/chunks/UiEditorTableContextMenu.js +32 -56
- package/vue/chunks/UiEditorTableOverlay.js +58 -82
- package/vue/chunks/UiEditorTableToolbar.js +61 -85
- package/vue/chunks/UiEditorToolbar.js +4 -13
- package/vue/chunks/UiFloatingActionButton.js +7 -21
- package/vue/chunks/UiFormField.js +15 -12
- package/vue/chunks/UiGrid.js +3 -12
- package/vue/chunks/UiIcon.js +20 -43
- package/vue/chunks/UiIconButton.js +16 -28
- package/vue/chunks/UiInput.js +20 -25
- package/vue/chunks/UiMenu.js +29 -33
- package/vue/chunks/UiMenuItem.js +4 -10
- package/vue/chunks/UiPopover.js +28 -29
- package/vue/chunks/UiRadio.js +36 -39
- package/vue/chunks/UiRadioGroup.js +30 -34
- package/vue/chunks/UiReel.js +6 -15
- package/vue/chunks/UiSearchResultRow.js +6 -19
- package/vue/chunks/UiSearchShell.js +25 -28
- package/vue/chunks/UiSelect.js +20 -23
- package/vue/chunks/UiSeparator.js +2 -8
- package/vue/chunks/UiSidebar.js +39 -44
- package/vue/chunks/UiStack.js +6 -15
- package/vue/chunks/UiSwitch.js +35 -38
- package/vue/chunks/UiSwitcher.js +6 -15
- package/vue/chunks/UiTabs.js +47 -85
- package/vue/chunks/UiTextarea.js +21 -26
- package/vue/chunks/UiToastRegion.js +38 -72
- package/vue/chunks/UiTooltip.js +34 -35
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +20 -15
- package/vue/chunks/UiTreeItem.js +85 -102
- package/vue/components.css +3994 -3764
- package/vue/index.d.ts +1 -0
- package/vue/index.js +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@threadlabs/looma",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"./*.css"
|
|
78
78
|
],
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@nextwebwg/
|
|
80
|
+
"@nextwebwg/html-next": "^1.0.0-alpha.2",
|
|
81
81
|
"lowlight": "^3.3.0",
|
|
82
82
|
"markdown-it": "14.3.1",
|
|
83
83
|
"lucide": "~0.554.0"
|
package/styles/ui-avatar.css
CHANGED
package/styles/ui-badge.css
CHANGED
package/styles/ui-button.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-button"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
:scope {
|
|
4
4
|
display: inline-flex;
|
|
@@ -12,6 +12,16 @@
|
|
|
12
12
|
color: var(--ui-action-primary-text, var(--ui-text-on-accent));
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
:scope[data-ui-button-state~="align=start"] {
|
|
16
|
+
justify-content: flex-start;
|
|
17
|
+
text-align: start;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:scope[data-ui-button-state~="stretch"] {
|
|
21
|
+
display: flex;
|
|
22
|
+
inline-size: 100%;
|
|
23
|
+
}
|
|
24
|
+
|
|
15
25
|
:scope {
|
|
16
26
|
appearance: none;
|
|
17
27
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md, 2.5rem));
|
|
@@ -107,6 +117,7 @@
|
|
|
107
117
|
border-color: transparent;
|
|
108
118
|
background: transparent;
|
|
109
119
|
box-shadow: none;
|
|
120
|
+
color: var(--ui-button-ghost-text, var(--ui-action-secondary-text, var(--ui-text-primary)));
|
|
110
121
|
}
|
|
111
122
|
|
|
112
123
|
/* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
|
|
@@ -134,9 +145,31 @@
|
|
|
134
145
|
var(--ui-focus-halo);
|
|
135
146
|
}
|
|
136
147
|
|
|
148
|
+
/* Disabled colours fall back to each variant's own; ghost and link take only the text colour. */
|
|
137
149
|
:scope:disabled {
|
|
138
|
-
opacity: 0.6;
|
|
150
|
+
opacity: var(--ui-button-disabled-opacity, 0.6);
|
|
139
151
|
cursor: not-allowed;
|
|
152
|
+
border-color: var(--ui-button-disabled-border, var(--ui-button-border, var(--ui-border-strong)));
|
|
153
|
+
background-color: var(--ui-button-disabled-surface, var(--ui-button-surface, var(--ui-surface-elevated)));
|
|
154
|
+
color: var(--ui-button-disabled-text, var(--ui-button-text, var(--ui-action-secondary-text, var(--ui-text-primary))));
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
:scope[data-ui-button-state~="variant=solid"]:disabled {
|
|
158
|
+
border-color: var(--ui-button-disabled-border, var(--ui-action-primary-surface, var(--ui-accent-solid)));
|
|
159
|
+
background-color: var(--ui-button-disabled-surface, var(--ui-action-primary-surface, var(--ui-accent-solid)));
|
|
160
|
+
color: var(--ui-button-disabled-text, var(--ui-action-primary-text, var(--ui-text-on-accent)));
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
:scope[data-ui-button-state~="variant=danger"]:disabled {
|
|
164
|
+
border-color: var(--ui-button-disabled-border, var(--ui-danger-solid));
|
|
165
|
+
background-color: var(--ui-button-disabled-surface, var(--ui-danger-solid));
|
|
166
|
+
color: var(--ui-button-disabled-text, var(--ui-text-on-accent));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
:scope[data-ui-button-state~="variant=ghost"]:disabled {
|
|
170
|
+
border-color: transparent;
|
|
171
|
+
background-color: transparent;
|
|
172
|
+
color: var(--ui-button-disabled-text, var(--ui-button-ghost-text, var(--ui-action-secondary-text, var(--ui-text-primary))));
|
|
140
173
|
}
|
|
141
174
|
|
|
142
175
|
@media (pointer: coarse) {
|
|
@@ -176,6 +209,11 @@
|
|
|
176
209
|
transform: none;
|
|
177
210
|
}
|
|
178
211
|
|
|
212
|
+
:scope[data-ui-button-state~="variant=link"]:disabled {
|
|
213
|
+
background: none;
|
|
214
|
+
color: var(--ui-button-disabled-text, var(--ui-button-link-color, var(--ui-text-secondary)));
|
|
215
|
+
}
|
|
216
|
+
|
|
179
217
|
:scope[data-ui-button-state~="variant=link"]:focus-visible {
|
|
180
218
|
box-shadow: none;
|
|
181
219
|
/* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
|
|
@@ -196,6 +234,8 @@
|
|
|
196
234
|
|
|
197
235
|
/* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
|
|
198
236
|
|
|
237
|
+
/* Disabled colours fall back to each variant's own; ghost and link take only the text colour. */
|
|
238
|
+
|
|
199
239
|
@media (pointer: coarse) {
|
|
200
240
|
}
|
|
201
241
|
|
package/styles/ui-callout.css
CHANGED
package/styles/ui-checkbox.css
CHANGED
package/styles/ui-cluster.css
CHANGED
package/styles/ui-combobox.css
CHANGED
package/styles/ui-container.css
CHANGED
package/styles/ui-dialog.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@keyframes ui-dialog-enter {
|
|
3
3
|
from {
|
|
4
4
|
opacity: 0;
|
|
@@ -116,6 +116,19 @@
|
|
|
116
116
|
outline-offset: 2px;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
/* A touch target, like Button on coarse pointers. */
|
|
120
|
+
@media (pointer: coarse) {
|
|
121
|
+
.close {
|
|
122
|
+
inline-size: var(--ui-control-min-block-size, 2.75rem);
|
|
123
|
+
block-size: var(--ui-control-min-block-size, 2.75rem);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
html[data-ui-input-modality="touch"] :scope .close {
|
|
128
|
+
inline-size: var(--ui-control-min-block-size, 2.75rem);
|
|
129
|
+
block-size: var(--ui-control-min-block-size, 2.75rem);
|
|
130
|
+
}
|
|
131
|
+
|
|
119
132
|
.body {
|
|
120
133
|
flex: 1 1 auto;
|
|
121
134
|
min-block-size: 0;
|
|
@@ -157,4 +170,8 @@
|
|
|
157
170
|
/* :host-qualified so page heading rules that reach in cannot outrank the dialog chrome. */
|
|
158
171
|
|
|
159
172
|
/* A CSS-drawn X. */
|
|
173
|
+
|
|
174
|
+
/* A touch target, like Button on coarse pointers. */
|
|
175
|
+
@media (pointer: coarse) {
|
|
176
|
+
}
|
|
160
177
|
}
|
package/styles/ui-disclosure.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-disclosure"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
/* An accordion row, not a field: no enclosing box, just a divider, so it never reads as a
|
|
4
4
|
* select or combobox. Stacked disclosures share their dividers. */
|
package/styles/ui-editable.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-editor-table-toolbar"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
.looma-editor__mobile-toolbar-shell :scope {
|
|
4
4
|
min-width: max-content;
|
package/styles/ui-form-field.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-form-field"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
:scope {
|
|
4
4
|
display: grid;
|
|
@@ -8,25 +8,39 @@
|
|
|
8
8
|
color: var(--ui-text-primary);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
/*
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
/* Each named region styles whatever fills it, however it was slotted (slot="…" in HTML, #label
|
|
12
|
+
in Vue), and generates no box of its own, so an empty region adds no gap. */
|
|
13
|
+
.label,
|
|
14
|
+
.help,
|
|
15
|
+
.error {
|
|
16
|
+
display: contents;
|
|
14
17
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
:where([data-slotted], [data-slotted] *):is([slot="label"]) {
|
|
18
|
+
|
|
19
|
+
.label {
|
|
18
20
|
color: var(--ui-text-secondary);
|
|
19
21
|
font-size: 0.95rem;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
min-block-size: var(--ui-form-field-help-min-block-size, 0);
|
|
24
|
+
.help {
|
|
24
25
|
color: var(--ui-text-muted);
|
|
25
26
|
font-size: 0.875rem;
|
|
26
27
|
line-height: var(--ui-line-height-md);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
31
|
+
:scope[hidden] {
|
|
32
|
+
display: none;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
@scope ([data-component~="ui-form-field"]) to ([data-component]) {
|
|
36
|
+
/* Each named region styles whatever fills it, however it was slotted (slot="…" in HTML, #label
|
|
37
|
+
in Vue), and generates no box of its own, so an empty region adds no gap. */
|
|
38
|
+
|
|
39
|
+
.help > :where([data-slotted], [data-slotted] *):is(*) {
|
|
40
|
+
min-block-size: var(--ui-form-field-help-min-block-size, 0);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.error,
|
|
30
44
|
:where([data-slotted], [data-slotted] *):is([role="alert"]) {
|
|
31
45
|
color: var(--ui-accent-active);
|
|
32
46
|
font-size: 0.875rem;
|
package/styles/ui-grid.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-icon-button"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
:scope {
|
|
4
4
|
display: inline-flex;
|
|
@@ -70,6 +70,36 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
/* A touch target without a bigger button: an invisible hit area, at least the control
|
|
74
|
+
minimum, centred on the button (::before is the anticipatory guide). */
|
|
75
|
+
@media (pointer: coarse) {
|
|
76
|
+
:scope {
|
|
77
|
+
position: relative;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
:scope::after {
|
|
81
|
+
content: "";
|
|
82
|
+
position: absolute;
|
|
83
|
+
inset: 50% auto auto 50%;
|
|
84
|
+
inline-size: max(100%, var(--ui-control-min-block-size, 2.75rem));
|
|
85
|
+
block-size: max(100%, var(--ui-control-min-block-size, 2.75rem));
|
|
86
|
+
transform: translate(-50%, -50%);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
html[data-ui-input-modality="touch"] :scope {
|
|
91
|
+
position: relative;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
html[data-ui-input-modality="touch"] :scope::after {
|
|
95
|
+
content: "";
|
|
96
|
+
position: absolute;
|
|
97
|
+
inset: 50% auto auto 50%;
|
|
98
|
+
inline-size: max(100%, var(--ui-control-min-block-size, 2.75rem));
|
|
99
|
+
block-size: max(100%, var(--ui-control-min-block-size, 2.75rem));
|
|
100
|
+
transform: translate(-50%, -50%);
|
|
101
|
+
}
|
|
102
|
+
|
|
73
103
|
:scope[data-ui-icon-button-state~="size=sm"] {
|
|
74
104
|
inline-size: var(--ui-icon-button-size-sm, 1.75rem);
|
|
75
105
|
block-size: var(--ui-icon-button-size-sm, 1.75rem);
|
|
@@ -126,11 +156,24 @@
|
|
|
126
156
|
box-shadow: var(--ui-focus-halo);
|
|
127
157
|
}
|
|
128
158
|
|
|
159
|
+
/* Disabled colours fall back to each variant's own; ghost takes only the icon colour. */
|
|
129
160
|
:scope:disabled {
|
|
130
|
-
opacity: 0.6;
|
|
161
|
+
opacity: var(--ui-icon-button-disabled-opacity, 0.6);
|
|
162
|
+
color: var(--ui-icon-button-disabled-color, inherit);
|
|
131
163
|
cursor: not-allowed;
|
|
132
164
|
}
|
|
133
165
|
|
|
166
|
+
:scope[data-ui-icon-button-state~="variant=outline"]:disabled {
|
|
167
|
+
border-color: var(--ui-icon-button-disabled-border, var(--ui-icon-button-border, var(--ui-border-default)));
|
|
168
|
+
background-color: var(--ui-icon-button-disabled-bg, var(--ui-icon-button-outline-bg, var(--ui-surface-default)));
|
|
169
|
+
color: var(--ui-icon-button-disabled-color, var(--ui-icon-button-outline-color, var(--ui-text-primary)));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
:scope[data-ui-icon-button-state~="variant=solid"]:disabled {
|
|
173
|
+
background-color: var(--ui-icon-button-disabled-bg, var(--ui-icon-button-solid-bg, var(--ui-accent-solid)));
|
|
174
|
+
color: var(--ui-icon-button-disabled-color, var(--ui-icon-button-solid-color, var(--ui-text-on-accent)));
|
|
175
|
+
}
|
|
176
|
+
|
|
134
177
|
:scope {
|
|
135
178
|
--_icon-button-icon-default: var(--ui-icon-size-md, 1.25rem);
|
|
136
179
|
}
|
|
@@ -158,6 +201,13 @@
|
|
|
158
201
|
@media (hover: none), (pointer: coarse) {
|
|
159
202
|
}
|
|
160
203
|
|
|
204
|
+
/* A touch target without a bigger button: an invisible hit area, at least the control
|
|
205
|
+
minimum, centred on the button (::before is the anticipatory guide). */
|
|
206
|
+
@media (pointer: coarse) {
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* Disabled colours fall back to each variant's own; ghost takes only the icon colour. */
|
|
210
|
+
|
|
161
211
|
:where([data-slotted], [data-slotted] *):is(svg) {
|
|
162
212
|
inline-size: var(--ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
163
213
|
block-size: var(--ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
package/styles/ui-icon.css
CHANGED
package/styles/ui-input.css
CHANGED
package/styles/ui-menu-item.css
CHANGED
package/styles/ui-menu.css
CHANGED
package/styles/ui-popover.css
CHANGED
package/styles/ui-radio.css
CHANGED
package/styles/ui-reel.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-search-shell"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
:scope {
|
|
4
4
|
display: contents;
|
|
@@ -43,6 +43,13 @@
|
|
|
43
43
|
.search {
|
|
44
44
|
padding: var(--ui-space-3);
|
|
45
45
|
border-block-end: 1px solid var(--ui-border-default);
|
|
46
|
+
transition: border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* The search region shows where typing goes, whatever the author put in it. */
|
|
50
|
+
.search:focus-within {
|
|
51
|
+
border-block-end-color: var(--ui-search-shell-focus-color, var(--ui-control-focus));
|
|
52
|
+
box-shadow: inset 0 -1px 0 var(--ui-search-shell-focus-color, var(--ui-control-focus));
|
|
46
53
|
}
|
|
47
54
|
|
|
48
55
|
.status,
|
|
@@ -100,7 +107,9 @@
|
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
109
|
@scope ([data-component~="ui-search-shell"]) to ([data-component]) {
|
|
103
|
-
|
|
110
|
+
/* The search region shows where typing goes, whatever the author put in it. */
|
|
111
|
+
|
|
112
|
+
:where([data-slotted], [data-slotted] *):is(input[slot="search"]) {
|
|
104
113
|
box-sizing: border-box;
|
|
105
114
|
inline-size: 100%;
|
|
106
115
|
min-block-size: var(--ui-control-min-block-size);
|
package/styles/ui-select.css
CHANGED
package/styles/ui-separator.css
CHANGED
package/styles/ui-sidebar.css
CHANGED
package/styles/ui-stack.css
CHANGED
package/styles/ui-switch.css
CHANGED
package/styles/ui-switcher.css
CHANGED
package/styles/ui-tabs.css
CHANGED
package/styles/ui-textarea.css
CHANGED
package/styles/ui-tooltip.css
CHANGED
package/styles/ui-top-bar.css
CHANGED
package/styles/ui-tree-item.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by HTML Next 1.0.0-alpha.
|
|
1
|
+
/* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
|
|
2
2
|
@scope ([data-component~="ui-tree-item"]) to ([data-component], [data-slotted]) {
|
|
3
3
|
:scope {
|
|
4
4
|
--_tree-row-min-height: 32px;
|
|
@@ -132,11 +132,16 @@
|
|
|
132
132
|
|
|
133
133
|
/* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
|
|
134
134
|
|
|
135
|
+
/* The label spans the row's height and centres its content, so slotted content (a link) can
|
|
136
|
+
stretch to fill the row as its own hit area; the padding tokens remove the inset. */
|
|
135
137
|
.label {
|
|
136
138
|
grid-column: 3;
|
|
137
139
|
grid-row: 1;
|
|
140
|
+
align-self: stretch;
|
|
141
|
+
display: flex;
|
|
142
|
+
align-items: center;
|
|
138
143
|
min-inline-size: 0;
|
|
139
|
-
padding: var(--ui-space-1) var(--ui-space-2);
|
|
144
|
+
padding: var(--ui-tree-label-padding-block, var(--ui-space-1)) var(--ui-tree-label-padding-inline, var(--ui-space-2));
|
|
140
145
|
}
|
|
141
146
|
|
|
142
147
|
.actions {
|
|
@@ -260,6 +265,9 @@
|
|
|
260
265
|
flex: none;
|
|
261
266
|
}
|
|
262
267
|
|
|
268
|
+
/* The label spans the row's height and centres its content, so slotted content (a link) can
|
|
269
|
+
stretch to fill the row as its own hit area; the padding tokens remove the inset. */
|
|
270
|
+
|
|
263
271
|
@media (prefers-reduced-motion: reduce) {
|
|
264
272
|
}
|
|
265
273
|
|
package/styles/ui-tree.css
CHANGED