@threadlabs/looma 0.17.2 → 0.17.4
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 +5 -0
- package/components/ui-checkbox/ui-checkbox.html +5 -5
- package/components/ui-icon-button/ui-icon-button.html +7 -7
- package/components/ui-input-group/ui-input-group.html +1 -1
- package/components/ui-search-result-row/ui-search-result-row.html +2 -6
- package/components/ui-search-shell/ui-search-shell.html +2 -11
- package/components/ui-spinner/ui-spinner.html +5 -11
- package/components/ui-tooltip/ui-tooltip.html +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-button.css +7 -0
- package/styles/ui-checkbox.css +6 -6
- package/styles/ui-icon-button.css +7 -7
- package/styles/ui-input-group.css +1 -1
- package/styles/ui-search-result-row.css +2 -6
- package/styles/ui-search-shell.css +2 -13
- package/styles/ui-spinner.css +5 -11
- package/styles/ui-tooltip.css +2 -2
- package/vue/UiButton.vue +5 -0
- package/vue/UiCheckbox.vue +5 -5
- package/vue/UiIconButton.vue +10 -7
- package/vue/UiInputGroup.vue +1 -1
- package/vue/UiSearchResultRow.vue +2 -6
- package/vue/UiSearchShell.vue +2 -13
- package/vue/UiSpinner.vue +5 -11
- package/vue/UiTooltip.vue +2 -2
- package/vue/chunks/UiButton.js +1 -1
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/chunks/UiInputGroup.js +1 -1
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.js +1 -1
- package/vue/chunks/UiSpinner.js +1 -1
- package/vue/chunks/UiTooltip.js +1 -1
- package/vue/components.css +207 -218
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
box-shadow: var(--ui-control-inset);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
/* Centre the tick's box
|
|
126
|
+
/* Centre the tick's box and lift it slightly for the rotated check shape. */
|
|
127
127
|
input:checked::after {
|
|
128
128
|
inset: 0;
|
|
129
129
|
margin: auto;
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
border-color: var(--ui-text-on-accent);
|
|
136
136
|
border-width: 0 0.125rem 0.125rem 0;
|
|
137
137
|
opacity: 1;
|
|
138
|
-
transform:
|
|
138
|
+
transform: translateY(-0.09rem) rotate(45deg);
|
|
139
139
|
animation: ui-checkbox-check 180ms var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -151,15 +151,15 @@
|
|
|
151
151
|
@keyframes ui-checkbox-check {
|
|
152
152
|
from {
|
|
153
153
|
opacity: 0;
|
|
154
|
-
transform:
|
|
154
|
+
transform: translateY(-0.09rem) rotate(45deg) scale(0.55);
|
|
155
155
|
}
|
|
156
156
|
65% {
|
|
157
157
|
opacity: 1;
|
|
158
|
-
transform:
|
|
158
|
+
transform: translateY(-0.09rem) rotate(45deg) scale(1.12);
|
|
159
159
|
}
|
|
160
160
|
to {
|
|
161
161
|
opacity: 1;
|
|
162
|
-
transform:
|
|
162
|
+
transform: translateY(-0.09rem) rotate(45deg) scale(1);
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
@media (hover: hover) and (pointer: fine) {
|
|
148
148
|
:host-state([anticipatory]):not(:host-state([variant="solid"]), :host-state([loading]), :host-state([pending]), :disabled, [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
149
149
|
border-color: transparent;
|
|
150
|
-
background: transparent;
|
|
150
|
+
background-color: transparent;
|
|
151
151
|
box-shadow: none;
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
margin: 0;
|
|
176
176
|
border: 1px solid transparent;
|
|
177
177
|
border-radius: var(--ui-icon-button-radius, var(--ui-action-radius, var(--ui-radius-md)));
|
|
178
|
-
background: var(--ui-icon-button-surface, transparent);
|
|
178
|
+
background-color: var(--ui-icon-button-surface, transparent);
|
|
179
179
|
color: inherit;
|
|
180
180
|
display: inline-flex;
|
|
181
181
|
align-items: center;
|
|
@@ -247,14 +247,14 @@
|
|
|
247
247
|
|
|
248
248
|
:host-state([variant="outline"]) {
|
|
249
249
|
border-color: var(--ui-icon-button-border, var(--ui-control-border, var(--ui-border-strong)));
|
|
250
|
-
background: var(--ui-icon-button-outline-surface, var(--ui-surface-default));
|
|
250
|
+
background-color: var(--ui-icon-button-outline-surface, var(--ui-surface-default));
|
|
251
251
|
background-image: var(--ui-raised-highlight);
|
|
252
252
|
color: var(--ui-icon-button-outline-text, var(--ui-text-primary));
|
|
253
253
|
box-shadow: var(--ui-raised);
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
:host-state([variant="solid"]) {
|
|
257
|
-
background: var(--ui-icon-button-solid-surface, var(--ui-accent-solid));
|
|
257
|
+
background-color: var(--ui-icon-button-solid-surface, var(--ui-accent-solid));
|
|
258
258
|
background-image: var(--ui-raised-highlight);
|
|
259
259
|
color: var(--ui-icon-button-solid-text, var(--ui-text-on-accent));
|
|
260
260
|
box-shadow: var(
|
|
@@ -265,7 +265,7 @@
|
|
|
265
265
|
|
|
266
266
|
:host:hover:enabled:not([aria-disabled="true"]) {
|
|
267
267
|
/* Derived from the text colour so the ghost hover shows on any background. */
|
|
268
|
-
background: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
|
|
268
|
+
background-color: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
|
|
269
269
|
color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
|
|
270
270
|
}
|
|
271
271
|
|
|
@@ -274,7 +274,7 @@
|
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
:host-state([variant="solid"]):hover:enabled:not([aria-disabled="true"]) {
|
|
277
|
-
background: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
|
|
277
|
+
background-color: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
:host:active:enabled:not([aria-disabled="true"]) {
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
/* Disabled is a flat neutral control, independent of the active variant's tone. */
|
|
310
310
|
:host:disabled {
|
|
311
311
|
border-color: var(--ui-disabled-border);
|
|
312
|
-
background: var(--ui-disabled-surface);
|
|
312
|
+
background-color: var(--ui-disabled-surface);
|
|
313
313
|
color: var(--ui-disabled-text);
|
|
314
314
|
filter: var(--ui-icon-button-disabled-filter, var(--ui-disabled-filter));
|
|
315
315
|
opacity: var(--ui-icon-button-disabled-opacity, 1);
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
flex: none;
|
|
129
129
|
align-items: center;
|
|
130
130
|
padding-inline: var(--ui-space-2);
|
|
131
|
-
color: var(--ui-text-
|
|
131
|
+
color: var(--ui-text-muted);
|
|
132
132
|
font-family: var(--ui-font-family-mono);
|
|
133
133
|
font-size: var(--ui-font-size-sm);
|
|
134
134
|
white-space: nowrap;
|
|
@@ -61,18 +61,14 @@
|
|
|
61
61
|
align-items: flex-start;
|
|
62
62
|
gap: var(--ui-search-result-row-gap, var(--ui-space-3));
|
|
63
63
|
background: var(--ui-search-result-row-surface, transparent);
|
|
64
|
-
border:
|
|
65
|
-
border-
|
|
64
|
+
border: 1px solid var(--ui-search-result-row-border, transparent);
|
|
65
|
+
border-radius: var(--ui-radius-md);
|
|
66
66
|
color: inherit;
|
|
67
67
|
cursor: pointer;
|
|
68
68
|
text-align: left;
|
|
69
69
|
transition: background-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
:host:last-child {
|
|
73
|
-
border-block-end: none;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
72
|
:host:hover:enabled {
|
|
77
73
|
background: var(--ui-search-result-row-hover-surface, color-mix(in srgb, var(--ui-surface) 85%, black 3%));
|
|
78
74
|
}
|
|
@@ -117,14 +117,6 @@
|
|
|
117
117
|
|
|
118
118
|
.search {
|
|
119
119
|
padding: var(--ui-space-3);
|
|
120
|
-
border-block-end: 1px solid var(--ui-border-divider);
|
|
121
|
-
transition: border-color var(--ui-motion-fast) var(--ui-motion-ease), box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/* The search region shows where typing goes, whatever the author put in it. */
|
|
125
|
-
.search:focus-within {
|
|
126
|
-
border-block-end-color: var(--_ui-search-shell-focus-color, var(--ui-control-focus));
|
|
127
|
-
box-shadow: inset 0 -1px 0 var(--_ui-search-shell-focus-color, var(--ui-control-focus));
|
|
128
120
|
}
|
|
129
121
|
|
|
130
122
|
:slotted(input[slot="search"]) {
|
|
@@ -141,7 +133,7 @@
|
|
|
141
133
|
}
|
|
142
134
|
|
|
143
135
|
:slotted(input[slot="search"]:focus-visible) {
|
|
144
|
-
border-color: var(--ui-control-focus);
|
|
136
|
+
border-color: var(--_ui-search-shell-focus-color, var(--ui-control-focus));
|
|
145
137
|
outline: 2px solid var(--ui-focus-ring);
|
|
146
138
|
outline-offset: 2px;
|
|
147
139
|
}
|
|
@@ -155,7 +147,7 @@
|
|
|
155
147
|
}
|
|
156
148
|
|
|
157
149
|
.status {
|
|
158
|
-
|
|
150
|
+
padding-block-start: 0;
|
|
159
151
|
}
|
|
160
152
|
|
|
161
153
|
/* Laid out like the dialog's action row: actions right-aligned, spaced as buttons, no fill. */
|
|
@@ -166,7 +158,6 @@
|
|
|
166
158
|
justify-content: flex-end;
|
|
167
159
|
gap: var(--ui-space-2);
|
|
168
160
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
169
|
-
border-block-start: 1px solid var(--ui-border-divider);
|
|
170
161
|
}
|
|
171
162
|
|
|
172
163
|
.status:empty,
|
|
@@ -19,22 +19,16 @@
|
|
|
19
19
|
flex: none;
|
|
20
20
|
align-items: center;
|
|
21
21
|
justify-content: center;
|
|
22
|
+
box-sizing: border-box;
|
|
22
23
|
inline-size: 1em;
|
|
23
24
|
block-size: 1em;
|
|
24
|
-
color: currentColor;
|
|
25
|
-
font-size: var(--ui-font-size-lg);
|
|
26
|
-
line-height: 1;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.ring {
|
|
30
|
-
display: block;
|
|
31
|
-
box-sizing: border-box;
|
|
32
|
-
inline-size: 100%;
|
|
33
|
-
block-size: 100%;
|
|
34
25
|
border: 2px solid transparent;
|
|
35
26
|
border-block-start-color: currentColor;
|
|
36
27
|
border-inline-end-color: color-mix(in srgb, currentColor 52%, transparent);
|
|
37
28
|
border-radius: 50%;
|
|
29
|
+
color: currentColor;
|
|
30
|
+
font-size: var(--ui-font-size-lg);
|
|
31
|
+
line-height: 1;
|
|
38
32
|
animation: ui-spinner-chase 1s linear infinite;
|
|
39
33
|
}
|
|
40
34
|
|
|
@@ -55,7 +49,7 @@
|
|
|
55
49
|
}
|
|
56
50
|
|
|
57
51
|
@media (prefers-reduced-motion: reduce) {
|
|
58
|
-
|
|
52
|
+
:host {
|
|
59
53
|
animation: none;
|
|
60
54
|
}
|
|
61
55
|
}
|
|
@@ -172,14 +172,14 @@
|
|
|
172
172
|
inset-inline-start: auto;
|
|
173
173
|
inset-inline-end: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - 0.5px);
|
|
174
174
|
border-inline-end-width: 1px;
|
|
175
|
-
border-block-
|
|
175
|
+
border-block-start-width: 1px;
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
:host[data-ui-actual-placement="right"] .surface::after {
|
|
179
179
|
inset-inline-start: calc(var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - 0.5px);
|
|
180
180
|
inset-inline-end: auto;
|
|
181
181
|
border-inline-start-width: 1px;
|
|
182
|
-
border-block-
|
|
182
|
+
border-block-end-width: 1px;
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
:host[data-ui-actual-placement="left"][data-ui-actual-align="start"] .surface::after,
|