@threadlabs/looma 0.29.16 → 0.29.17
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-icon-button/ui-icon-button.html +5 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-icon-button.css +3 -3
- package/vanilla/UiIconButton.d.ts +1 -0
- package/vanilla/UiIconButton.js +4 -4
- package/vue/UiIconButton.d.ts +9 -0
- package/vue/UiIconButton.vue +23 -3
- package/vue/chunks/UiIconButton.js +24 -1
- package/vue/components.css +60 -7
- package/vue/editor/index.js +3209 -2978
package/package.json
CHANGED
|
@@ -162,13 +162,13 @@
|
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
@media (hover: hover) and (pointer: fine) {
|
|
165
|
-
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
165
|
+
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="revealed"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
166
166
|
border-color: transparent;
|
|
167
167
|
background-color: transparent;
|
|
168
168
|
box-shadow: none;
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
171
|
+
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="revealed"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
172
172
|
.content {
|
|
173
173
|
opacity: 0;
|
|
174
174
|
transform: scale(0.65);
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
179
|
+
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="revealed"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
180
180
|
opacity: 0;
|
|
181
181
|
}
|
|
182
182
|
|
package/vanilla/UiIconButton.js
CHANGED
|
@@ -8,7 +8,7 @@ const T1 = ["ui-spinner",["size","sm"]];
|
|
|
8
8
|
const T2 = ["",[]];
|
|
9
9
|
let P0, P1, P2;
|
|
10
10
|
const S = { n: [], t: [], f: import.meta.url, g: "ui-icon-button" };
|
|
11
|
-
const D = { g: "ui-icon-button", props: { "anticipatory": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "disabled": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "guide": { "required":false,"values":["dot","bar"],"default":"dot", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "label": { "required":false, c: checkString, t: "string", j: 0, m: "s" }, "loading": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "matchButton": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "pending": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "round": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "size": { "required":false,"values":["sm","md","lg"],"default":"md", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "tone": { "required":false,"values":["accent","neutral"], c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "variant": { "required":false,"values":["ghost","outline","solid"],"default":"ghost", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] } } };
|
|
11
|
+
const D = { g: "ui-icon-button", props: { "anticipatory": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "disabled": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "guide": { "required":false,"values":["dot","bar"],"default":"dot", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "label": { "required":false, c: checkString, t: "string", j: 0, m: "s" }, "loading": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "matchButton": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "pending": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "revealed": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "round": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "size": { "required":false,"values":["sm","md","lg"],"default":"md", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "tone": { "required":false,"values":["accent","neutral"], c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "variant": { "required":false,"values":["ghost","outline","solid"],"default":"ghost", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] } } };
|
|
12
12
|
const C = (host) => controller.default(host);
|
|
13
13
|
|
|
14
14
|
export function createUiIconButton(options = {}, html) {
|
|
@@ -21,7 +21,7 @@ export function createUiIconButton(options = {}, html) {
|
|
|
21
21
|
if (!element.hasAttribute("type")) element.setAttribute("type", "button");
|
|
22
22
|
element.setAttribute("data-component", "ui-icon-button");
|
|
23
23
|
element.append((P0 ??= buildTemplate(T0)).cloneNode(true));
|
|
24
|
-
const v = [null, null, null, null, null, null, null, null, null, null, null];
|
|
24
|
+
const v = [null, null, null, null, null, null, null, null, null, null, null, null];
|
|
25
25
|
const B = acceptProps(element, D, S.n, v, componentProps, [], html);
|
|
26
26
|
const m1 = (d) => {
|
|
27
27
|
const n = (P1 ??= buildTemplate(T1)).cloneNode(true);
|
|
@@ -67,8 +67,8 @@ export function createUiIconButton(options = {}, html) {
|
|
|
67
67
|
const s4 = toAttribute(x4, "aria-busy");
|
|
68
68
|
if (s4 !== r.v4) writeAttribute(r.n, "aria-busy", r.v4 = s4);
|
|
69
69
|
}
|
|
70
|
-
if (c &
|
|
71
|
-
const x5 = hostState(["tone","anticipatory","guide","variant","loading","pending","size","matchButton","round"], [v[
|
|
70
|
+
if (c & 4085) {
|
|
71
|
+
const x5 = hostState(["tone","anticipatory","guide","revealed","variant","loading","pending","size","matchButton","round"], [v[10], v[0], v[2], v[7], v[11], v[4], v[6], v[9], v[5], v[8]]);
|
|
72
72
|
const s5 = x5;
|
|
73
73
|
if (s5 !== r.v5) writeAttribute(r.n, "data-ui-icon-button-state", (r.v5 = s5) === "" ? null : s5);
|
|
74
74
|
}
|
package/vue/UiIconButton.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
32
32
|
type: PropType<boolean | null>;
|
|
33
33
|
default: boolean;
|
|
34
34
|
};
|
|
35
|
+
revealed: {
|
|
36
|
+
type: PropType<boolean | null>;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
35
39
|
round: {
|
|
36
40
|
type: PropType<boolean | null>;
|
|
37
41
|
default: boolean;
|
|
@@ -77,6 +81,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
77
81
|
type: PropType<boolean | null>;
|
|
78
82
|
default: boolean;
|
|
79
83
|
};
|
|
84
|
+
revealed: {
|
|
85
|
+
type: PropType<boolean | null>;
|
|
86
|
+
default: boolean;
|
|
87
|
+
};
|
|
80
88
|
round: {
|
|
81
89
|
type: PropType<boolean | null>;
|
|
82
90
|
default: boolean;
|
|
@@ -104,6 +112,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
104
112
|
loading: boolean | null;
|
|
105
113
|
pending: boolean | null;
|
|
106
114
|
anticipatory: boolean | null;
|
|
115
|
+
revealed: boolean | null;
|
|
107
116
|
matchButton: boolean | null;
|
|
108
117
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
109
118
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/vue/UiIconButton.vue
CHANGED
|
@@ -72,6 +72,14 @@ const propValidityContract = {
|
|
|
72
72
|
description: 'Deprecated alias for loading.',
|
|
73
73
|
default: false,
|
|
74
74
|
},
|
|
75
|
+
revealed: {
|
|
76
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
77
|
+
required: false,
|
|
78
|
+
target: { attribute: 'revealed' },
|
|
79
|
+
description:
|
|
80
|
+
'Keeps an anticipatory button visible while its context is active, such as a selected block or an open popup. It does not imply a pressed or expanded state.',
|
|
81
|
+
default: false,
|
|
82
|
+
},
|
|
75
83
|
round: {
|
|
76
84
|
type: { kind: 'terminal', name: 'boolean' },
|
|
77
85
|
required: false,
|
|
@@ -115,6 +123,7 @@ const props = defineProps({
|
|
|
115
123
|
loading: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
116
124
|
matchButton: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
117
125
|
pending: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
126
|
+
revealed: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
118
127
|
round: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
119
128
|
size: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: 'md' },
|
|
120
129
|
tone: { type: null as unknown as PropType<'accent' | 'neutral' | null>, default: null },
|
|
@@ -131,6 +140,7 @@ const acceptedProps: Record<string, unknown> = {
|
|
|
131
140
|
loading: false,
|
|
132
141
|
matchButton: false,
|
|
133
142
|
pending: false,
|
|
143
|
+
revealed: false,
|
|
134
144
|
round: false,
|
|
135
145
|
size: 'md',
|
|
136
146
|
tone: null,
|
|
@@ -186,6 +196,13 @@ const checkedProps = computed(() => ({
|
|
|
186
196
|
'pending',
|
|
187
197
|
acceptedProps,
|
|
188
198
|
) as boolean,
|
|
199
|
+
revealed: checkedProp<boolean>(
|
|
200
|
+
props['revealed'],
|
|
201
|
+
{ kind: 'terminal', name: 'boolean' },
|
|
202
|
+
false,
|
|
203
|
+
'revealed',
|
|
204
|
+
acceptedProps,
|
|
205
|
+
) as boolean,
|
|
189
206
|
round: checkedProp<boolean>(
|
|
190
207
|
props['round'],
|
|
191
208
|
{ kind: 'terminal', name: 'boolean' },
|
|
@@ -271,6 +288,7 @@ const hostState = computed(() =>
|
|
|
271
288
|
checkedProps.value.anticipatory && 'anticipatory',
|
|
272
289
|
checkedProps.value.guide && 'guide',
|
|
273
290
|
checkedProps.value.guide != null && `guide=${encodeURIComponent(checkedProps.value.guide)}`,
|
|
291
|
+
checkedProps.value.revealed && 'revealed',
|
|
274
292
|
checkedProps.value.variant && 'variant',
|
|
275
293
|
checkedProps.value.variant != null
|
|
276
294
|
&& `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
@@ -308,6 +326,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
|
|
|
308
326
|
'loading',
|
|
309
327
|
'matchButton',
|
|
310
328
|
'pending',
|
|
329
|
+
'revealed',
|
|
311
330
|
'round',
|
|
312
331
|
'size',
|
|
313
332
|
'tone',
|
|
@@ -338,6 +357,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
|
|
|
338
357
|
:data-ui-icon-button-prop-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
|
|
339
358
|
:data-ui-icon-button-prop-match-button="reflectedProp('matchButton', 'match-button', checkedProps.matchButton, undefined, false)"
|
|
340
359
|
:data-ui-icon-button-prop-pending="reflectedProp('pending', 'pending', checkedProps.pending, undefined, false)"
|
|
360
|
+
:data-ui-icon-button-prop-revealed="reflectedProp('revealed', 'revealed', checkedProps.revealed, undefined, false)"
|
|
341
361
|
:data-ui-icon-button-prop-round="reflectedProp('round', 'round', checkedProps.round, undefined, false)"
|
|
342
362
|
:data-ui-icon-button-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
343
363
|
:data-ui-icon-button-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
|
|
@@ -534,13 +554,13 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
|
|
|
534
554
|
}
|
|
535
555
|
|
|
536
556
|
@media (hover: hover) and (pointer: fine) {
|
|
537
|
-
:global(:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])) {
|
|
557
|
+
:global(:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="revealed"], :scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])) {
|
|
538
558
|
border-color: transparent;
|
|
539
559
|
background-color: transparent;
|
|
540
560
|
box-shadow: none;
|
|
541
561
|
}
|
|
542
562
|
|
|
543
|
-
:global(:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
563
|
+
:global(:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="revealed"], :scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
544
564
|
.content:where([data-hn-ui-icon-button])) {
|
|
545
565
|
opacity: 0;
|
|
546
566
|
transform: scale(0.65);
|
|
@@ -548,7 +568,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
|
|
|
548
568
|
}
|
|
549
569
|
}
|
|
550
570
|
|
|
551
|
-
:global(:scope[data-ui-icon-button-state~="anticipatory"]:is(:scope[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])::before) {
|
|
571
|
+
:global(:scope[data-ui-icon-button-state~="anticipatory"]:is(:scope[data-ui-icon-button-state~="revealed"], :scope[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])::before) {
|
|
552
572
|
opacity: 0;
|
|
553
573
|
}
|
|
554
574
|
|
|
@@ -16,6 +16,7 @@ var _hoisted_1 = [
|
|
|
16
16
|
"data-ui-icon-button-prop-loading",
|
|
17
17
|
"data-ui-icon-button-prop-match-button",
|
|
18
18
|
"data-ui-icon-button-prop-pending",
|
|
19
|
+
"data-ui-icon-button-prop-revealed",
|
|
19
20
|
"data-ui-icon-button-prop-round",
|
|
20
21
|
"data-ui-icon-button-prop-size",
|
|
21
22
|
"data-ui-icon-button-prop-tone",
|
|
@@ -60,6 +61,10 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
60
61
|
type: null,
|
|
61
62
|
default: false
|
|
62
63
|
},
|
|
64
|
+
revealed: {
|
|
65
|
+
type: null,
|
|
66
|
+
default: false
|
|
67
|
+
},
|
|
63
68
|
round: {
|
|
64
69
|
type: null,
|
|
65
70
|
default: false
|
|
@@ -149,6 +154,16 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
149
154
|
description: "Deprecated alias for loading.",
|
|
150
155
|
default: false
|
|
151
156
|
},
|
|
157
|
+
revealed: {
|
|
158
|
+
type: {
|
|
159
|
+
kind: "terminal",
|
|
160
|
+
name: "boolean"
|
|
161
|
+
},
|
|
162
|
+
required: false,
|
|
163
|
+
target: { attribute: "revealed" },
|
|
164
|
+
description: "Keeps an anticipatory button visible while its context is active, such as a selected block or an open popup. It does not imply a pressed or expanded state.",
|
|
165
|
+
default: false
|
|
166
|
+
},
|
|
152
167
|
round: {
|
|
153
168
|
type: {
|
|
154
169
|
kind: "terminal",
|
|
@@ -209,6 +224,7 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
209
224
|
loading: false,
|
|
210
225
|
matchButton: false,
|
|
211
226
|
pending: false,
|
|
227
|
+
revealed: false,
|
|
212
228
|
round: false,
|
|
213
229
|
size: "md",
|
|
214
230
|
tone: null,
|
|
@@ -243,6 +259,10 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
243
259
|
kind: "terminal",
|
|
244
260
|
name: "boolean"
|
|
245
261
|
}, false, "pending", acceptedProps),
|
|
262
|
+
revealed: checkedProp(props["revealed"], {
|
|
263
|
+
kind: "terminal",
|
|
264
|
+
name: "boolean"
|
|
265
|
+
}, false, "revealed", acceptedProps),
|
|
246
266
|
round: checkedProp(props["round"], {
|
|
247
267
|
kind: "terminal",
|
|
248
268
|
name: "boolean"
|
|
@@ -292,6 +312,7 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
292
312
|
checkedProps.value.anticipatory && "anticipatory",
|
|
293
313
|
checkedProps.value.guide && "guide",
|
|
294
314
|
checkedProps.value.guide != null && `guide=${encodeURIComponent(checkedProps.value.guide)}`,
|
|
315
|
+
checkedProps.value.revealed && "revealed",
|
|
295
316
|
checkedProps.value.variant && "variant",
|
|
296
317
|
checkedProps.value.variant != null && `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
297
318
|
checkedProps.value.loading && "loading",
|
|
@@ -323,6 +344,7 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
323
344
|
"loading",
|
|
324
345
|
"matchButton",
|
|
325
346
|
"pending",
|
|
347
|
+
"revealed",
|
|
326
348
|
"round",
|
|
327
349
|
"size",
|
|
328
350
|
"tone",
|
|
@@ -352,6 +374,7 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
352
374
|
"data-ui-icon-button-prop-loading": unref(reflectedProp)("loading", "loading", checkedProps.value.loading, void 0, false),
|
|
353
375
|
"data-ui-icon-button-prop-match-button": unref(reflectedProp)("matchButton", "match-button", checkedProps.value.matchButton, void 0, false),
|
|
354
376
|
"data-ui-icon-button-prop-pending": unref(reflectedProp)("pending", "pending", checkedProps.value.pending, void 0, false),
|
|
377
|
+
"data-ui-icon-button-prop-revealed": unref(reflectedProp)("revealed", "revealed", checkedProps.value.revealed, void 0, false),
|
|
355
378
|
"data-ui-icon-button-prop-round": unref(reflectedProp)("round", "round", checkedProps.value.round, void 0, false),
|
|
356
379
|
"data-ui-icon-button-prop-size": unref(reflectedProp)("size", "size", checkedProps.value.size, void 0, false),
|
|
357
380
|
"data-ui-icon-button-prop-tone": unref(reflectedProp)("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
@@ -373,6 +396,6 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
373
396
|
}]]);
|
|
374
397
|
};
|
|
375
398
|
}
|
|
376
|
-
}), [["__scopeId", "data-v-
|
|
399
|
+
}), [["__scopeId", "data-v-213e5302"]]);
|
|
377
400
|
//#endregion
|
|
378
401
|
export { UiIconButton_default as t };
|
package/vue/components.css
CHANGED
|
@@ -4656,19 +4656,19 @@ legend.sr-only:where([data-hn-ui-radio-group]) {
|
|
|
4656
4656
|
transform calc(var(--ui-motion-fast) * 2) cubic-bezier(0.2, 1.4, 0.35, 1);
|
|
4657
4657
|
}
|
|
4658
4658
|
@media (hover: hover) and (pointer: fine) {
|
|
4659
|
-
:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button]) {
|
|
4659
|
+
:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="revealed"], :scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button]) {
|
|
4660
4660
|
border-color: transparent;
|
|
4661
4661
|
background-color: transparent;
|
|
4662
4662
|
box-shadow: none;
|
|
4663
4663
|
}
|
|
4664
|
-
:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
4664
|
+
:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="revealed"], :scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
4665
4665
|
.content:where([data-hn-ui-icon-button]) {
|
|
4666
4666
|
opacity: 0;
|
|
4667
4667
|
transform: scale(0.65);
|
|
4668
4668
|
transition-duration: var(--ui-motion-fast);
|
|
4669
4669
|
}
|
|
4670
4670
|
}
|
|
4671
|
-
:scope[data-ui-icon-button-state~="anticipatory"]:is(:scope[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])::before {
|
|
4671
|
+
:scope[data-ui-icon-button-state~="anticipatory"]:is(:scope[data-ui-icon-button-state~="revealed"], :scope[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])::before {
|
|
4672
4672
|
opacity: 0;
|
|
4673
4673
|
}
|
|
4674
4674
|
:scope:where([data-hn-ui-icon-button]) {
|
|
@@ -10361,11 +10361,30 @@ html[data-ui-input-modality="touch"]
|
|
|
10361
10361
|
}
|
|
10362
10362
|
@media (pointer: coarse) { .looma-compact-editor { font-size: var(--ui-font-size-md); } }
|
|
10363
10363
|
/* The editor surface owns its renderer canvas. Existing hooks retain their defaults. */
|
|
10364
|
+
/* Native TOC wrappers position the composed control beyond the active-block guide.
|
|
10365
|
+
The IconButton itself owns its dot, motion, focus and touch treatment. */
|
|
10366
|
+
.looma-editor .ProseMirror nav[data-looma-toc] {
|
|
10367
|
+
position: relative;
|
|
10368
|
+
}
|
|
10369
|
+
|
|
10370
|
+
.looma-editor .ProseMirror [data-looma-toc-gutter] {
|
|
10371
|
+
position: absolute;
|
|
10372
|
+
inset-block-start: calc(-1 * var(--ui-space-1));
|
|
10373
|
+
inset-inline-end: calc(100% + var(--ui-editor-active-block-offset, var(--ui-space-3)) + var(--ui-space-1));
|
|
10374
|
+
display: flex;
|
|
10375
|
+
}
|
|
10376
|
+
|
|
10377
|
+
/* Default canvases reserve the author gutter; consumers with their own outer
|
|
10378
|
+
gutter retain their explicit content-padding hook. Compact readers need none. */
|
|
10379
|
+
.looma-editor .ProseMirror:has([data-looma-toc-gutter]:not([hidden])) {
|
|
10380
|
+
--_ui-editor-toc-gutter: calc(var(--ui-space-6) + var(--ui-space-4));
|
|
10381
|
+
}
|
|
10382
|
+
|
|
10364
10383
|
:is([data-component~="ui-editor-surface"], .ui-editor-surface) .ProseMirror {
|
|
10365
10384
|
min-height: var(--ui-editor-content-min-height, var(--_ui-editor-content-min-height, 300px));
|
|
10366
10385
|
padding:
|
|
10367
10386
|
var(--ui-editor-content-padding-block, var(--_ui-editor-content-padding-block, var(--ui-space-4)))
|
|
10368
|
-
var(--ui-editor-content-padding-inline, var(--_ui-editor-content-padding-inline, var(--ui-space-6)));
|
|
10387
|
+
var(--ui-editor-content-padding-inline, var(--_ui-editor-content-padding-inline, var(--_ui-editor-toc-gutter, var(--ui-space-6))));
|
|
10369
10388
|
outline: none;
|
|
10370
10389
|
color: var(--ui-editor-content-color, var(--ui-text-primary));
|
|
10371
10390
|
caret-color: var(--ui-editor-caret-color, var(--ui-accent-solid));
|
|
@@ -11520,6 +11539,40 @@ html[data-ui-input-modality="touch"]
|
|
|
11520
11539
|
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
11521
11540
|
}
|
|
11522
11541
|
@supports (-moz-appearance: none) {
|
|
11542
|
+
[data-component~="ui-affordance-scope"] { --html-next-scope-owner: "ui-affordance-scope" !important; }
|
|
11543
|
+
}
|
|
11544
|
+
@scope ([data-component~="ui-affordance-scope"]) to ([data-component], [data-slotted]) {
|
|
11545
|
+
:scope:where([data-component~="ui-affordance-scope"]) {
|
|
11546
|
+
display: contents;
|
|
11547
|
+
--ui-affordance-scope-engaged: 0;
|
|
11548
|
+
--ui-affordance-scope-guide: 1;
|
|
11549
|
+
}
|
|
11550
|
+
|
|
11551
|
+
:scope:where([data-component~="ui-affordance-scope"])[data-ui-affordance-scope-state~="engaged"] {
|
|
11552
|
+
--ui-affordance-scope-engaged: 1;
|
|
11553
|
+
}
|
|
11554
|
+
|
|
11555
|
+
/* Published to descendants: each guide multiplies its opacity by it, so none reaches them all. */
|
|
11556
|
+
:scope:where([data-component~="ui-affordance-scope"])[data-ui-affordance-scope-state~="guide=none"] {
|
|
11557
|
+
--ui-affordance-scope-guide: 0;
|
|
11558
|
+
}
|
|
11559
|
+
|
|
11560
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11561
|
+
:scope:where([data-component~="ui-affordance-scope"])[hidden] {
|
|
11562
|
+
display: none;
|
|
11563
|
+
}
|
|
11564
|
+
}
|
|
11565
|
+
@scope ([data-component~="ui-affordance-scope"]) to ([data-component]) {
|
|
11566
|
+
/* Published to descendants: each guide multiplies its opacity by it, so none reaches them all. */
|
|
11567
|
+
|
|
11568
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
11569
|
+
}
|
|
11570
|
+
/* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
|
|
11571
|
+
@supports (-moz-appearance: none) {
|
|
11572
|
+
:where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
|
|
11573
|
+
:where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
|
|
11574
|
+
}
|
|
11575
|
+
@supports (-moz-appearance: none) {
|
|
11523
11576
|
[data-component~="ui-cluster"] { --html-next-scope-owner: "ui-cluster" !important; }
|
|
11524
11577
|
}
|
|
11525
11578
|
@scope ([data-component~="ui-cluster"]) to ([data-component], [data-slotted]) {
|
|
@@ -11956,13 +12009,13 @@ html[data-ui-input-modality="touch"]
|
|
|
11956
12009
|
}
|
|
11957
12010
|
|
|
11958
12011
|
@media (hover: hover) and (pointer: fine) {
|
|
11959
|
-
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
12012
|
+
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="revealed"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
11960
12013
|
border-color: transparent;
|
|
11961
12014
|
background-color: transparent;
|
|
11962
12015
|
box-shadow: none;
|
|
11963
12016
|
}
|
|
11964
12017
|
|
|
11965
|
-
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
12018
|
+
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="revealed"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
|
|
11966
12019
|
.content {
|
|
11967
12020
|
opacity: 0;
|
|
11968
12021
|
transform: scale(0.65);
|
|
@@ -11970,7 +12023,7 @@ html[data-ui-input-modality="touch"]
|
|
|
11970
12023
|
}
|
|
11971
12024
|
}
|
|
11972
12025
|
|
|
11973
|
-
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
12026
|
+
:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="revealed"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
11974
12027
|
opacity: 0;
|
|
11975
12028
|
}
|
|
11976
12029
|
|