@threadlabs/looma 0.12.6 → 0.13.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-action-bar/ui-action-bar.html +10 -1
- package/components/ui-avatar/ui-avatar.html +18 -0
- package/components/ui-avatar-group/ui-avatar-group.html +16 -2
- package/components/ui-badge/ui-badge.html +42 -0
- package/components/ui-button/ui-button.html +70 -0
- package/components/ui-callout/ui-callout.html +55 -4
- package/components/ui-checkbox/ui-checkbox.html +16 -3
- package/components/ui-cluster/ui-cluster.html +7 -1
- package/components/ui-combobox/ui-combobox.html +66 -12
- package/components/ui-container/ui-container.html +12 -1
- package/components/ui-context-menu/ui-context-menu.html +10 -1
- package/components/ui-dialog/ui-dialog.html +21 -4
- package/components/ui-disclosure/ui-disclosure.html +23 -4
- package/components/ui-editable/ui-editable.html +1 -1
- package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +2 -2
- 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 +8 -8
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +3 -3
- package/components/ui-floating-action-button/ui-floating-action-button.html +14 -0
- package/components/ui-form-field/ui-form-field.html +10 -1
- package/components/ui-grid/ui-grid.html +11 -1
- package/components/ui-icon/ui-icon.html +17 -3
- package/components/ui-icon-button/ui-icon-button.html +81 -3
- package/components/ui-input/ui-input.html +68 -13
- package/components/ui-input-group/ui-input-group.html +14 -13
- package/components/ui-list/ui-list.html +10 -0
- package/components/ui-list-item/ui-list-item.html +22 -1
- package/components/ui-menu/ui-menu.html +17 -5
- package/components/ui-menu-item/ui-menu-item.html +30 -3
- package/components/ui-nav-item/ui-nav-item.html +14 -0
- package/components/ui-popover/ui-popover.html +6 -0
- package/components/ui-radio/ui-radio.html +16 -3
- package/components/ui-reel/ui-reel.html +15 -2
- package/components/ui-search-result-row/ui-search-result-row.html +34 -0
- package/components/ui-search-shell/ui-search-shell.html +65 -11
- package/components/ui-select/ui-select.html +15 -1
- package/components/ui-separator/ui-separator.html +9 -2
- package/components/ui-sidebar/ui-sidebar.html +22 -1
- package/components/ui-stack/ui-stack.html +7 -1
- package/components/ui-switch/ui-switch.html +21 -3
- package/components/ui-switcher/ui-switcher.html +18 -5
- package/components/ui-tabs/ui-tabs.html +21 -2
- package/components/ui-textarea/ui-textarea.html +15 -1
- package/components/ui-toast-region/ui-toast-region.html +16 -2
- package/components/ui-tooltip/ui-tooltip.html +62 -13
- package/components/ui-top-bar/ui-top-bar.html +34 -1
- package/components/ui-tree/ui-tree.html +27 -4
- package/components/ui-tree-item/ui-tree-item.html +39 -10
- package/components/ui-tree-item/ui-tree-item.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-action-bar.css +14 -3
- package/styles/ui-avatar-group.css +20 -4
- package/styles/ui-avatar.css +22 -2
- package/styles/ui-badge.css +46 -2
- package/styles/ui-button.css +74 -2
- package/styles/ui-callout.css +59 -6
- package/styles/ui-checkbox.css +20 -5
- package/styles/ui-cluster.css +10 -2
- package/styles/ui-combobox.css +69 -14
- package/styles/ui-container.css +14 -2
- package/styles/ui-context-menu.css +14 -3
- package/styles/ui-dialog.css +25 -6
- package/styles/ui-disclosure.css +27 -6
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-slash-menu.css +2 -2
- package/styles/ui-editor-table-context-menu.css +2 -2
- package/styles/ui-editor-table-overlay.css +8 -8
- package/styles/ui-editor-table-toolbar.css +3 -3
- package/styles/ui-floating-action-button.css +18 -2
- package/styles/ui-form-field.css +14 -3
- package/styles/ui-grid.css +14 -2
- package/styles/ui-icon-button.css +85 -5
- package/styles/ui-icon.css +21 -5
- package/styles/ui-input-group.css +14 -13
- package/styles/ui-input.css +73 -15
- package/styles/ui-list-item.css +26 -3
- package/styles/ui-list.css +14 -2
- package/styles/ui-menu-item.css +34 -5
- package/styles/ui-menu.css +21 -6
- package/styles/ui-nav-item.css +18 -2
- package/styles/ui-popover.css +10 -2
- package/styles/ui-radio.css +20 -5
- package/styles/ui-reel.css +18 -3
- package/styles/ui-search-result-row.css +38 -2
- package/styles/ui-search-shell.css +69 -13
- package/styles/ui-select.css +19 -3
- package/styles/ui-separator.css +14 -2
- package/styles/ui-sidebar.css +26 -3
- package/styles/ui-stack.css +10 -2
- package/styles/ui-switch.css +25 -5
- package/styles/ui-switcher.css +21 -6
- package/styles/ui-tabs.css +25 -4
- package/styles/ui-textarea.css +19 -3
- package/styles/ui-toast-region.css +20 -4
- package/styles/ui-tooltip.css +66 -15
- package/styles/ui-top-bar.css +38 -3
- package/styles/ui-tree-item.css +43 -12
- package/styles/ui-tree.css +33 -6
- package/theme-dark.css +1 -1
- package/theme-light.css +1 -1
- package/tokens.css +8 -6
- package/vue/UiActionBar.vue +12 -3
- package/vue/UiAvatar.vue +18 -0
- package/vue/UiAvatarGroup.vue +16 -2
- package/vue/UiBadge.vue +42 -0
- package/vue/UiButton.vue +70 -0
- package/vue/UiCallout.vue +55 -4
- package/vue/UiCheckbox.vue +16 -3
- package/vue/UiCluster.vue +6 -0
- package/vue/UiCombobox.vue +66 -12
- package/vue/UiContainer.vue +10 -0
- package/vue/UiContextMenu.vue +10 -1
- package/vue/UiDialog.vue +21 -4
- package/vue/UiDisclosure.vue +23 -4
- package/vue/UiEditable.vue +1 -1
- package/vue/UiEditorSlashMenu.vue +2 -2
- package/vue/UiEditorTableContextMenu.vue +2 -2
- package/vue/UiEditorTableOverlay.vue +8 -8
- package/vue/UiEditorTableToolbar.vue +3 -3
- package/vue/UiFloatingActionButton.vue +14 -0
- package/vue/UiFormField.vue +10 -1
- package/vue/UiGrid.vue +10 -0
- package/vue/UiIcon.vue +17 -3
- package/vue/UiIconButton.vue +81 -3
- package/vue/UiInput.vue +90 -15
- package/vue/UiInputGroup.vue +14 -13
- package/vue/UiList.vue +12 -2
- package/vue/UiListItem.vue +30 -9
- package/vue/UiMenu.vue +17 -5
- package/vue/UiMenuItem.vue +42 -4
- package/vue/UiNavItem.vue +17 -3
- package/vue/UiPopover.vue +6 -0
- package/vue/UiRadio.vue +16 -3
- package/vue/UiReel.vue +14 -1
- package/vue/UiSearchResultRow.vue +34 -0
- package/vue/UiSearchShell.vue +66 -12
- package/vue/UiSelect.vue +15 -1
- package/vue/UiSeparator.vue +9 -2
- package/vue/UiSidebar.vue +22 -1
- package/vue/UiStack.vue +6 -0
- package/vue/UiSwitch.vue +21 -3
- package/vue/UiSwitcher.vue +17 -4
- package/vue/UiTabs.vue +22 -3
- package/vue/UiTextarea.vue +15 -1
- package/vue/UiToastRegion.vue +16 -2
- package/vue/UiTooltip.vue +62 -13
- package/vue/UiTopBar.vue +34 -1
- package/vue/UiTree.vue +28 -5
- package/vue/UiTreeItem.vue +46 -11
- package/vue/chunks/UiActionBar.js +1 -1
- 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/UiCheckbox.js +1 -1
- package/vue/chunks/UiCluster.js +1 -1
- package/vue/chunks/UiCombobox.js +1 -1
- package/vue/chunks/UiContainer.js +1 -1
- package/vue/chunks/UiContextMenu.js +1 -1
- package/vue/chunks/UiDialog.js +1 -1
- package/vue/chunks/UiDisclosure.js +1 -1
- package/vue/chunks/UiEditable.js +1 -1
- package/vue/chunks/UiEditorSlashMenu.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/UiFloatingActionButton.js +1 -1
- package/vue/chunks/UiFormField.js +1 -1
- package/vue/chunks/UiGrid.js +1 -1
- package/vue/chunks/UiIcon.js +1 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiList.js +1 -1
- package/vue/chunks/UiListItem.js +1 -1
- package/vue/chunks/UiMenu.js +1 -1
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiNavItem.js +1 -1
- package/vue/chunks/UiPopover.js +1 -1
- package/vue/chunks/UiRadio.js +1 -1
- package/vue/chunks/UiReel.js +1 -1
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.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 +1 -1
- package/vue/chunks/UiSwitch.js +1 -1
- package/vue/chunks/UiSwitcher.js +1 -1
- package/vue/chunks/UiTabs.js +1 -1
- package/vue/chunks/UiTextarea.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/UiTree.js +1 -1
- package/vue/chunks/UiTreeItem.js +1 -1
- package/vue/components.css +1959 -927
package/package.json
CHANGED
package/styles/ui-action-bar.css
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-action-bar-gap {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
2
6
|
@scope ([data-component~="ui-action-bar"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
/*
|
|
7
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
8
|
+
|
|
9
|
+
/* The action row of a form or dialog. Tertiary actions (Back, Cancel, Discard) sit at the start
|
|
4
10
|
edge; secondary actions (Save as draft, Preview) sit just before the primary one, which ends the
|
|
5
11
|
row. The bar arranges its actions and leaves their look to them. */
|
|
6
12
|
:scope {
|
|
13
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
14
|
+
--_ui-action-bar-gap: var(--ui-action-bar-gap);
|
|
15
|
+
|
|
7
16
|
--_gap: var(--ui-space-2);
|
|
8
17
|
display: block;
|
|
9
18
|
/* A size container sizes itself from its container, never its content. */
|
|
@@ -19,7 +28,7 @@
|
|
|
19
28
|
display: flex;
|
|
20
29
|
flex-wrap: wrap;
|
|
21
30
|
align-items: center;
|
|
22
|
-
gap: var(--
|
|
31
|
+
gap: var(--_ui-action-bar-gap, var(--_gap));
|
|
23
32
|
}
|
|
24
33
|
|
|
25
34
|
/* The tertiary group takes the spare space, pushing the rest to the end edge; without it, the
|
|
@@ -61,7 +70,9 @@
|
|
|
61
70
|
}
|
|
62
71
|
}
|
|
63
72
|
@scope ([data-component~="ui-action-bar"]) to ([data-component]) {
|
|
64
|
-
/*
|
|
73
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
74
|
+
|
|
75
|
+
/* The action row of a form or dialog. Tertiary actions (Back, Cancel, Discard) sit at the start
|
|
65
76
|
edge; secondary actions (Save as draft, Preview) sit just before the primary one, which ends the
|
|
66
77
|
row. The bar arranges its actions and leaves their look to them. */
|
|
67
78
|
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-avatar-group-edge-ring {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-avatar-group-overlap-shadow {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
2
10
|
@scope ([data-component~="ui-avatar-group"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
11
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
12
|
+
|
|
13
|
+
:scope {
|
|
14
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
15
|
+
--_ui-avatar-group-overlap-shadow: var(--ui-avatar-group-overlap-shadow);
|
|
16
|
+
--_ui-avatar-group-edge-ring: var(--ui-avatar-group-edge-ring);
|
|
17
|
+
|
|
4
18
|
/* Each avatar is ringed in the surface colour, so where one overlaps the next it reads as a
|
|
5
19
|
* whole circle set on top, not a shape cut into the one beneath. */
|
|
6
20
|
--_overlap-shadow: 0 0 0 0 transparent;
|
|
@@ -27,8 +41,8 @@
|
|
|
27
41
|
background: var(--ui-surface-elevated);
|
|
28
42
|
color: var(--ui-text-primary);
|
|
29
43
|
box-shadow:
|
|
30
|
-
var(--
|
|
31
|
-
var(--
|
|
44
|
+
var(--_ui-avatar-group-overlap-shadow, var(--_overlap-shadow)),
|
|
45
|
+
var(--_ui-avatar-group-edge-ring, var(--_edge-ring));
|
|
32
46
|
font: inherit;
|
|
33
47
|
font-size: var(--ui-font-size-xs);
|
|
34
48
|
font-weight: 600;
|
|
@@ -45,7 +59,9 @@
|
|
|
45
59
|
}
|
|
46
60
|
}
|
|
47
61
|
@scope ([data-component~="ui-avatar-group"]) to ([data-component]) {
|
|
48
|
-
/*
|
|
62
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
63
|
+
|
|
64
|
+
/* Overlap and the separating shadow are applied by the controller: slotted avatars are nested
|
|
49
65
|
* component roots outside this style scope. */
|
|
50
66
|
:where([data-slotted], [data-slotted] *):is(*) {
|
|
51
67
|
margin-inline-start: -0.5rem;
|
package/styles/ui-avatar.css
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-avatar-border {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-avatar-surface {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
10
|
+
@property --ui-avatar-text {
|
|
11
|
+
syntax: "*";
|
|
12
|
+
inherits: false;
|
|
13
|
+
}
|
|
14
|
+
@property --ui-avatar-active-ring {
|
|
15
|
+
syntax: "*";
|
|
16
|
+
inherits: false;
|
|
17
|
+
}
|
|
2
18
|
@scope ([data-component~="ui-avatar"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
19
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
20
|
+
|
|
21
|
+
:scope {
|
|
4
22
|
display: inline-grid;
|
|
5
23
|
place-items: center;
|
|
6
24
|
overflow: hidden;
|
|
@@ -61,7 +79,9 @@
|
|
|
61
79
|
}
|
|
62
80
|
}
|
|
63
81
|
@scope ([data-component~="ui-avatar"]) to ([data-component]) {
|
|
64
|
-
/*
|
|
82
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
83
|
+
|
|
84
|
+
/* An outline, not a dot: the avatar clips its content to the circle, and an outline is drawn
|
|
65
85
|
outside the box, so the ring survives the clip and the overlap in an Avatar Group. */
|
|
66
86
|
|
|
67
87
|
.image,
|
package/styles/ui-badge.css
CHANGED
|
@@ -1,6 +1,48 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-badge-border {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-badge-font-size {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
10
|
+
@property --ui-badge-font-weight {
|
|
11
|
+
syntax: "*";
|
|
12
|
+
inherits: false;
|
|
13
|
+
}
|
|
14
|
+
@property --ui-badge-line-height {
|
|
15
|
+
syntax: "*";
|
|
16
|
+
inherits: false;
|
|
17
|
+
}
|
|
18
|
+
@property --ui-badge-min-block-size {
|
|
19
|
+
syntax: "*";
|
|
20
|
+
inherits: false;
|
|
21
|
+
}
|
|
22
|
+
@property --ui-badge-padding-block {
|
|
23
|
+
syntax: "*";
|
|
24
|
+
inherits: false;
|
|
25
|
+
}
|
|
26
|
+
@property --ui-badge-padding-inline {
|
|
27
|
+
syntax: "*";
|
|
28
|
+
inherits: false;
|
|
29
|
+
}
|
|
30
|
+
@property --ui-badge-point {
|
|
31
|
+
syntax: "*";
|
|
32
|
+
inherits: false;
|
|
33
|
+
}
|
|
34
|
+
@property --ui-badge-surface {
|
|
35
|
+
syntax: "*";
|
|
36
|
+
inherits: false;
|
|
37
|
+
}
|
|
38
|
+
@property --ui-badge-text {
|
|
39
|
+
syntax: "*";
|
|
40
|
+
inherits: false;
|
|
41
|
+
}
|
|
2
42
|
@scope ([data-component~="ui-badge"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
43
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
44
|
+
|
|
45
|
+
:scope {
|
|
4
46
|
--_badge-surface: var(--ui-surface-subtle);
|
|
5
47
|
--_badge-text: var(--ui-text-secondary);
|
|
6
48
|
/* Every tone's edge is its fill, so it is unseen until forced colors draw it. */
|
|
@@ -120,7 +162,9 @@
|
|
|
120
162
|
}
|
|
121
163
|
}
|
|
122
164
|
@scope ([data-component~="ui-badge"]) to ([data-component]) {
|
|
123
|
-
/*
|
|
165
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
166
|
+
|
|
167
|
+
/* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
|
|
124
168
|
* Trimming applies to block containers; an inline-block is one and, like the inline-flex it
|
|
125
169
|
* replaces, still sizes to its label rather than filling its container. */
|
|
126
170
|
@supports (text-box-trim: trim-both) {
|
package/styles/ui-button.css
CHANGED
|
@@ -1,6 +1,76 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-button-active-surface {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-button-border {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
10
|
+
@property --ui-button-disabled-filter {
|
|
11
|
+
syntax: "*";
|
|
12
|
+
inherits: false;
|
|
13
|
+
}
|
|
14
|
+
@property --ui-button-disabled-opacity {
|
|
15
|
+
syntax: "*";
|
|
16
|
+
inherits: false;
|
|
17
|
+
}
|
|
18
|
+
@property --ui-button-ghost-active-surface {
|
|
19
|
+
syntax: "*";
|
|
20
|
+
inherits: false;
|
|
21
|
+
}
|
|
22
|
+
@property --ui-button-ghost-hover-surface {
|
|
23
|
+
syntax: "*";
|
|
24
|
+
inherits: false;
|
|
25
|
+
}
|
|
26
|
+
@property --ui-button-ghost-text {
|
|
27
|
+
syntax: "*";
|
|
28
|
+
inherits: false;
|
|
29
|
+
}
|
|
30
|
+
@property --ui-button-hover-border {
|
|
31
|
+
syntax: "*";
|
|
32
|
+
inherits: false;
|
|
33
|
+
}
|
|
34
|
+
@property --ui-button-hover-surface {
|
|
35
|
+
syntax: "*";
|
|
36
|
+
inherits: false;
|
|
37
|
+
}
|
|
38
|
+
@property --ui-button-link-hover-text {
|
|
39
|
+
syntax: "*";
|
|
40
|
+
inherits: false;
|
|
41
|
+
}
|
|
42
|
+
@property --ui-button-link-text {
|
|
43
|
+
syntax: "*";
|
|
44
|
+
inherits: false;
|
|
45
|
+
}
|
|
46
|
+
@property --ui-button-min-block-size {
|
|
47
|
+
syntax: "*";
|
|
48
|
+
inherits: false;
|
|
49
|
+
}
|
|
50
|
+
@property --ui-button-radius {
|
|
51
|
+
syntax: "*";
|
|
52
|
+
inherits: false;
|
|
53
|
+
}
|
|
54
|
+
@property --ui-button-shadow {
|
|
55
|
+
syntax: "*";
|
|
56
|
+
inherits: false;
|
|
57
|
+
}
|
|
58
|
+
@property --ui-button-solid-shadow {
|
|
59
|
+
syntax: "*";
|
|
60
|
+
inherits: false;
|
|
61
|
+
}
|
|
62
|
+
@property --ui-button-surface {
|
|
63
|
+
syntax: "*";
|
|
64
|
+
inherits: false;
|
|
65
|
+
}
|
|
66
|
+
@property --ui-button-text {
|
|
67
|
+
syntax: "*";
|
|
68
|
+
inherits: false;
|
|
69
|
+
}
|
|
2
70
|
@scope ([data-component~="ui-button"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
71
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
72
|
+
|
|
73
|
+
:scope {
|
|
4
74
|
--_hue: var(--ui-accent);
|
|
5
75
|
--_hue-hover: var(--ui-accent-hover);
|
|
6
76
|
--_hue-active: var(--ui-accent-active);
|
|
@@ -276,7 +346,9 @@
|
|
|
276
346
|
}
|
|
277
347
|
}
|
|
278
348
|
@scope ([data-component~="ui-button"]) to ([data-component]) {
|
|
279
|
-
|
|
349
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
350
|
+
|
|
351
|
+
@supports (text-box-trim: trim-both) {
|
|
280
352
|
}
|
|
281
353
|
|
|
282
354
|
/* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
|
package/styles/ui-callout.css
CHANGED
|
@@ -1,6 +1,57 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-callout-border {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-callout-border-width {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
10
|
+
@property --ui-callout-gap {
|
|
11
|
+
syntax: "*";
|
|
12
|
+
inherits: false;
|
|
13
|
+
}
|
|
14
|
+
@property --ui-callout-icon {
|
|
15
|
+
syntax: "*";
|
|
16
|
+
inherits: false;
|
|
17
|
+
}
|
|
18
|
+
@property --ui-callout-icon-column {
|
|
19
|
+
syntax: "*";
|
|
20
|
+
inherits: false;
|
|
21
|
+
}
|
|
22
|
+
@property --ui-callout-icon-size {
|
|
23
|
+
syntax: "*";
|
|
24
|
+
inherits: false;
|
|
25
|
+
}
|
|
26
|
+
@property --ui-callout-leading-border-width {
|
|
27
|
+
syntax: "*";
|
|
28
|
+
inherits: false;
|
|
29
|
+
}
|
|
30
|
+
@property --ui-callout-padding-block {
|
|
31
|
+
syntax: "*";
|
|
32
|
+
inherits: false;
|
|
33
|
+
}
|
|
34
|
+
@property --ui-callout-padding-inline {
|
|
35
|
+
syntax: "*";
|
|
36
|
+
inherits: false;
|
|
37
|
+
}
|
|
38
|
+
@property --ui-callout-surface {
|
|
39
|
+
syntax: "*";
|
|
40
|
+
inherits: false;
|
|
41
|
+
}
|
|
42
|
+
@property --ui-callout-text {
|
|
43
|
+
syntax: "*";
|
|
44
|
+
inherits: false;
|
|
45
|
+
}
|
|
2
46
|
@scope ([data-component~="ui-callout"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
47
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
48
|
+
|
|
49
|
+
:scope {
|
|
50
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
51
|
+
--_ui-callout-icon-column: var(--ui-callout-icon-column);
|
|
52
|
+
--_ui-callout-icon: var(--ui-callout-icon);
|
|
53
|
+
--_ui-callout-icon-size: var(--ui-callout-icon-size);
|
|
54
|
+
|
|
4
55
|
--_callout-surface: var(--ui-info-soft);
|
|
5
56
|
--_callout-border: var(--ui-info-solid);
|
|
6
57
|
--_callout-icon: var(--ui-info-solid);
|
|
@@ -26,14 +77,14 @@
|
|
|
26
77
|
.icon {
|
|
27
78
|
display: grid;
|
|
28
79
|
place-items: center;
|
|
29
|
-
inline-size: var(--
|
|
80
|
+
inline-size: var(--_ui-callout-icon-column, 1.125rem);
|
|
30
81
|
block-size: 1lh;
|
|
31
|
-
color: var(--
|
|
82
|
+
color: var(--_ui-callout-icon, var(--_callout-icon));
|
|
32
83
|
}
|
|
33
84
|
|
|
34
85
|
.icon svg {
|
|
35
|
-
inline-size: var(--
|
|
36
|
-
block-size: var(--
|
|
86
|
+
inline-size: var(--_ui-callout-icon-size, 1.125rem);
|
|
87
|
+
block-size: var(--_ui-callout-icon-size, 1.125rem);
|
|
37
88
|
}
|
|
38
89
|
|
|
39
90
|
.content {
|
|
@@ -72,7 +123,9 @@
|
|
|
72
123
|
}
|
|
73
124
|
}
|
|
74
125
|
@scope ([data-component~="ui-callout"]) to ([data-component]) {
|
|
75
|
-
/*
|
|
126
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
127
|
+
|
|
128
|
+
/* One line box tall, so the icon centres on the first line of text. */
|
|
76
129
|
|
|
77
130
|
/* A link in the callout's text is underlined, so it reads as a link by more than colour. */
|
|
78
131
|
.content :where([data-slotted], [data-slotted] *):is(a) {
|
package/styles/ui-checkbox.css
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-checkbox-gap {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-checkbox-size {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
2
10
|
@scope ([data-component~="ui-checkbox"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
11
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
12
|
+
|
|
13
|
+
:scope {
|
|
14
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
15
|
+
--_ui-checkbox-size: var(--ui-checkbox-size);
|
|
16
|
+
|
|
4
17
|
display: inline-flex;
|
|
5
18
|
align-items: flex-start;
|
|
6
19
|
gap: var(--ui-checkbox-gap, var(--ui-space-2));
|
|
@@ -37,8 +50,8 @@
|
|
|
37
50
|
-webkit-appearance: none;
|
|
38
51
|
position: relative;
|
|
39
52
|
flex: 0 0 auto;
|
|
40
|
-
inline-size: var(--
|
|
41
|
-
block-size: var(--
|
|
53
|
+
inline-size: var(--_ui-checkbox-size, 1.125rem);
|
|
54
|
+
block-size: var(--_ui-checkbox-size, 1.125rem);
|
|
42
55
|
margin: 0.125em 0 0;
|
|
43
56
|
border: 1px solid var(--ui-control-border-hover, var(--ui-border-strong));
|
|
44
57
|
border-radius: var(--ui-radius-sm);
|
|
@@ -98,7 +111,7 @@
|
|
|
98
111
|
}
|
|
99
112
|
|
|
100
113
|
:scope[data-ui-checkbox-state~="disabled"] {
|
|
101
|
-
color: var(--ui-text
|
|
114
|
+
color: var(--ui-disabled-text);
|
|
102
115
|
cursor: not-allowed;
|
|
103
116
|
}
|
|
104
117
|
:scope[data-ui-checkbox-state~="disabled"] input {
|
|
@@ -113,7 +126,9 @@
|
|
|
113
126
|
}
|
|
114
127
|
}
|
|
115
128
|
@scope ([data-component~="ui-checkbox"]) to ([data-component]) {
|
|
116
|
-
/*
|
|
129
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
130
|
+
|
|
131
|
+
/* The label, and under it an optional line saying what the choice means. */
|
|
117
132
|
|
|
118
133
|
/* Centre the tick's box, then lift it: a rotated L's ink sits ~0.11rem below its box centre. */
|
|
119
134
|
|
package/styles/ui-cluster.css
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-cluster-gap {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
2
6
|
@scope ([data-component~="ui-cluster"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
7
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
8
|
+
|
|
9
|
+
:scope {
|
|
4
10
|
--_layout-gap: var(--ui-space-3);
|
|
5
11
|
display: flex;
|
|
6
12
|
flex-wrap: wrap;
|
|
@@ -42,5 +48,7 @@
|
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
@scope ([data-component~="ui-cluster"]) to ([data-component]) {
|
|
45
|
-
/*
|
|
51
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
52
|
+
|
|
53
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
46
54
|
}
|
package/styles/ui-combobox.css
CHANGED
|
@@ -1,6 +1,60 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-combobox-affordance-text {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-combobox-item-input-min-inline-size {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
10
|
+
@property --ui-combobox-item-item-max-inline-size {
|
|
11
|
+
syntax: "*";
|
|
12
|
+
inherits: false;
|
|
13
|
+
}
|
|
14
|
+
@property --ui-combobox-item-min-block-size {
|
|
15
|
+
syntax: "*";
|
|
16
|
+
inherits: false;
|
|
17
|
+
}
|
|
18
|
+
@property --ui-combobox-label-font-size {
|
|
19
|
+
syntax: "*";
|
|
20
|
+
inherits: false;
|
|
21
|
+
}
|
|
22
|
+
@property --ui-combobox-label-text {
|
|
23
|
+
syntax: "*";
|
|
24
|
+
inherits: false;
|
|
25
|
+
}
|
|
26
|
+
@property --ui-combobox-max-block-size {
|
|
27
|
+
syntax: "*";
|
|
28
|
+
inherits: false;
|
|
29
|
+
}
|
|
30
|
+
@property --ui-combobox-message-text {
|
|
31
|
+
syntax: "*";
|
|
32
|
+
inherits: false;
|
|
33
|
+
}
|
|
34
|
+
@property --ui-combobox-option-check {
|
|
35
|
+
syntax: "*";
|
|
36
|
+
inherits: false;
|
|
37
|
+
}
|
|
38
|
+
@property --ui-combobox-option-text {
|
|
39
|
+
syntax: "*";
|
|
40
|
+
inherits: false;
|
|
41
|
+
}
|
|
2
42
|
@scope ([data-component~="ui-combobox"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
43
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
44
|
+
|
|
45
|
+
:scope {
|
|
46
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
47
|
+
--_ui-combobox-label-text: var(--ui-combobox-label-text);
|
|
48
|
+
--_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
|
|
49
|
+
--_ui-combobox-affordance-text: var(--ui-combobox-affordance-text);
|
|
50
|
+
--_ui-combobox-max-block-size: var(--ui-combobox-max-block-size);
|
|
51
|
+
--_ui-combobox-option-text: var(--ui-combobox-option-text);
|
|
52
|
+
--_ui-combobox-message-text: var(--ui-combobox-message-text);
|
|
53
|
+
--_ui-combobox-option-check: var(--ui-combobox-option-check);
|
|
54
|
+
--_ui-combobox-item-min-block-size: var(--ui-combobox-item-min-block-size);
|
|
55
|
+
--_ui-combobox-item-input-min-inline-size: var(--ui-combobox-item-input-min-inline-size);
|
|
56
|
+
--_ui-combobox-item-item-max-inline-size: var(--ui-combobox-item-item-max-inline-size);
|
|
57
|
+
|
|
4
58
|
display: grid;
|
|
5
59
|
gap: var(--ui-space-1);
|
|
6
60
|
min-inline-size: 0;
|
|
@@ -8,8 +62,8 @@
|
|
|
8
62
|
font: inherit;
|
|
9
63
|
}
|
|
10
64
|
label {
|
|
11
|
-
color: var(--
|
|
12
|
-
font-size: var(--
|
|
65
|
+
color: var(--_ui-combobox-label-text, var(--ui-text-primary));
|
|
66
|
+
font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
|
|
13
67
|
font-weight: 500;
|
|
14
68
|
}
|
|
15
69
|
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
@@ -107,7 +161,7 @@
|
|
|
107
161
|
border: 0;
|
|
108
162
|
border-radius: var(--ui-radius-md);
|
|
109
163
|
background: transparent;
|
|
110
|
-
color: var(--
|
|
164
|
+
color: var(--_ui-combobox-affordance-text, var(--ui-text-secondary));
|
|
111
165
|
font: inherit;
|
|
112
166
|
font-weight: 400;
|
|
113
167
|
min-inline-size: 2rem;
|
|
@@ -129,7 +183,7 @@
|
|
|
129
183
|
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
130
184
|
}
|
|
131
185
|
input:disabled, button:disabled {
|
|
132
|
-
color: var(--ui-text
|
|
186
|
+
color: var(--ui-disabled-text);
|
|
133
187
|
cursor: not-allowed;
|
|
134
188
|
}
|
|
135
189
|
.field:has(input:disabled) {
|
|
@@ -142,7 +196,7 @@
|
|
|
142
196
|
box-sizing: border-box;
|
|
143
197
|
min-inline-size: 12rem;
|
|
144
198
|
max-inline-size: calc(100vw - 1rem);
|
|
145
|
-
max-block-size: var(--
|
|
199
|
+
max-block-size: var(--_ui-combobox-max-block-size, 18rem);
|
|
146
200
|
overflow: auto;
|
|
147
201
|
margin: 0;
|
|
148
202
|
padding: var(--ui-space-1);
|
|
@@ -167,16 +221,16 @@
|
|
|
167
221
|
outline-offset: -1px;
|
|
168
222
|
}
|
|
169
223
|
.option[aria-disabled="true"] {
|
|
170
|
-
color: var(--ui-text
|
|
224
|
+
color: var(--ui-disabled-text);
|
|
171
225
|
cursor: not-allowed;
|
|
172
226
|
}
|
|
173
227
|
.primary {
|
|
174
228
|
display: block;
|
|
175
|
-
color: var(--
|
|
229
|
+
color: var(--_ui-combobox-option-text, var(--ui-text-primary));
|
|
176
230
|
font-weight: 500;
|
|
177
231
|
}
|
|
178
232
|
.message, .group {
|
|
179
|
-
color: var(--
|
|
233
|
+
color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
|
|
180
234
|
font-weight: 400;
|
|
181
235
|
font-size: var(--ui-font-size-sm);
|
|
182
236
|
line-height: var(--ui-line-height-md);
|
|
@@ -236,7 +290,7 @@
|
|
|
236
290
|
border-color: var(--ui-accent-solid);
|
|
237
291
|
background-color: var(--ui-accent-solid);
|
|
238
292
|
background-image: var(
|
|
239
|
-
--
|
|
293
|
+
--_ui-combobox-option-check,
|
|
240
294
|
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-9'/%3E%3C/svg%3E")
|
|
241
295
|
);
|
|
242
296
|
}
|
|
@@ -246,11 +300,11 @@
|
|
|
246
300
|
flex-wrap: wrap;
|
|
247
301
|
align-items: center;
|
|
248
302
|
gap: var(--ui-space-1);
|
|
249
|
-
min-block-size: var(--
|
|
303
|
+
min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
|
|
250
304
|
padding: var(--ui-space-1);
|
|
251
305
|
}
|
|
252
306
|
:scope[data-ui-combobox-state~="multiple"] input {
|
|
253
|
-
flex: 1 0 var(--
|
|
307
|
+
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
254
308
|
width: auto;
|
|
255
309
|
min-block-size: 1.75rem;
|
|
256
310
|
padding: var(--ui-space-0-5) var(--ui-space-1);
|
|
@@ -259,7 +313,7 @@
|
|
|
259
313
|
appearance: none;
|
|
260
314
|
display: inline-flex;
|
|
261
315
|
min-inline-size: 0;
|
|
262
|
-
max-inline-size: min(100%, var(--
|
|
316
|
+
max-inline-size: min(100%, var(--_ui-combobox-item-item-max-inline-size, 12rem));
|
|
263
317
|
overflow: hidden;
|
|
264
318
|
padding: 0;
|
|
265
319
|
border: 0;
|
|
@@ -283,7 +337,8 @@
|
|
|
283
337
|
}
|
|
284
338
|
}
|
|
285
339
|
@scope ([data-component~="ui-combobox"]) to ([data-component]) {
|
|
286
|
-
/*
|
|
340
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
341
|
+
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
287
342
|
not inside it, because a control's box holds its value. */
|
|
288
343
|
/* A ghost icon button: the affordance is the mark, not a box around it. */
|
|
289
344
|
@media (pointer: coarse) {
|
package/styles/ui-container.css
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-container-gutters {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
@property --ui-container-measure {
|
|
7
|
+
syntax: "*";
|
|
8
|
+
inherits: false;
|
|
9
|
+
}
|
|
2
10
|
@scope ([data-component~="ui-container"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
11
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
12
|
+
|
|
13
|
+
:scope {
|
|
4
14
|
--_container-measure: 65ch;
|
|
5
15
|
--_container-gutters: var(--ui-space-4);
|
|
6
16
|
display: block;
|
|
@@ -32,5 +42,7 @@
|
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
44
|
@scope ([data-component~="ui-container"]) to ([data-component]) {
|
|
35
|
-
/*
|
|
45
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
46
|
+
|
|
47
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
36
48
|
}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
|
|
2
|
+
@property --ui-context-menu-z-index {
|
|
3
|
+
syntax: "*";
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
2
6
|
@scope ([data-component~="ui-context-menu"]) to ([data-component], [data-slotted]) {
|
|
3
|
-
|
|
7
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
8
|
+
|
|
9
|
+
:scope {
|
|
10
|
+
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
11
|
+
--_ui-context-menu-z-index: var(--ui-context-menu-z-index);
|
|
12
|
+
|
|
4
13
|
display: contents;
|
|
5
14
|
}
|
|
6
15
|
|
|
@@ -18,7 +27,7 @@
|
|
|
18
27
|
box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
|
|
19
28
|
outline: 0;
|
|
20
29
|
overflow: auto;
|
|
21
|
-
z-index: var(--
|
|
30
|
+
z-index: var(--_ui-context-menu-z-index, 1000);
|
|
22
31
|
min-width: 12rem;
|
|
23
32
|
opacity: 0;
|
|
24
33
|
transform: translateY(-4px) scale(0.99);
|
|
@@ -58,7 +67,9 @@
|
|
|
58
67
|
}
|
|
59
68
|
}
|
|
60
69
|
@scope ([data-component~="ui-context-menu"]) to ([data-component]) {
|
|
61
|
-
|
|
70
|
+
/* This component's hooks style the element they are set on, and never a nested one. */
|
|
71
|
+
|
|
72
|
+
@starting-style {
|
|
62
73
|
}
|
|
63
74
|
|
|
64
75
|
@media (prefers-reduced-motion: reduce) {
|