@threadlabs/looma 0.26.16 → 0.26.18
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-menu/ui-menu.html +6 -0
- package/components/ui-menu-item/ui-menu-item.html +26 -0
- package/components/ui-meter/ui-meter.html +59 -8
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-menu-item.css +25 -0
- package/styles/ui-menu.css +5 -0
- package/styles/ui-meter.css +34 -0
- package/vanilla/UiMenu.d.ts +1 -0
- package/vanilla/UiMenu.js +4 -4
- package/vanilla/UiMenuItem.d.ts +1 -0
- package/vanilla/UiMenuItem.js +77 -49
- package/vanilla/UiMeter.d.ts +2 -0
- package/vanilla/UiMeter.js +136 -38
- package/vue/UiMenu.d.ts +9 -0
- package/vue/UiMenu.vue +25 -1
- package/vue/UiMenuItem.d.ts +13 -0
- package/vue/UiMenuItem.vue +48 -2
- package/vue/UiMeter.d.ts +27 -0
- package/vue/UiMeter.vue +514 -77
- package/vue/chunks/UiMenu.js +24 -1
- package/vue/chunks/UiMenuItem.js +55 -12
- package/vue/chunks/UiMeter.js +271 -57
- package/vue/components.css +101 -52
package/vue/chunks/UiMenu.js
CHANGED
|
@@ -6,6 +6,7 @@ import { computed, createElementBlock, createElementVNode, defineComponent, getC
|
|
|
6
6
|
var _hoisted_1 = [
|
|
7
7
|
"data-density",
|
|
8
8
|
"data-for",
|
|
9
|
+
"data-icons",
|
|
9
10
|
"data-inline",
|
|
10
11
|
"data-open",
|
|
11
12
|
"data-placement",
|
|
@@ -27,6 +28,10 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
27
28
|
type: null,
|
|
28
29
|
default: ""
|
|
29
30
|
},
|
|
31
|
+
icons: {
|
|
32
|
+
type: null,
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
30
35
|
inline: {
|
|
31
36
|
type: null,
|
|
32
37
|
default: false
|
|
@@ -73,6 +78,16 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
73
78
|
description: "ID of the control that toggles and anchors the menu.",
|
|
74
79
|
default: ""
|
|
75
80
|
},
|
|
81
|
+
icons: {
|
|
82
|
+
type: {
|
|
83
|
+
kind: "terminal",
|
|
84
|
+
name: "boolean"
|
|
85
|
+
},
|
|
86
|
+
required: false,
|
|
87
|
+
target: { attribute: "icons" },
|
|
88
|
+
description: "Reserves a fixed icon column in every item, including items without an icon. Supply item icons through their icon slot.",
|
|
89
|
+
default: false
|
|
90
|
+
},
|
|
76
91
|
inline: {
|
|
77
92
|
type: {
|
|
78
93
|
kind: "terminal",
|
|
@@ -119,6 +134,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
119
134
|
const acceptedProps = {
|
|
120
135
|
density: "comfortable",
|
|
121
136
|
for: "",
|
|
137
|
+
icons: false,
|
|
122
138
|
inline: false,
|
|
123
139
|
open: false,
|
|
124
140
|
placement: "bottom-start",
|
|
@@ -133,6 +149,10 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
133
149
|
kind: "terminal",
|
|
134
150
|
name: "string"
|
|
135
151
|
}, false, "for", acceptedProps),
|
|
152
|
+
icons: checkedProp(props["icons"], {
|
|
153
|
+
kind: "terminal",
|
|
154
|
+
name: "boolean"
|
|
155
|
+
}, false, "icons", acceptedProps),
|
|
136
156
|
inline: checkedProp(props["inline"], {
|
|
137
157
|
kind: "terminal",
|
|
138
158
|
name: "boolean"
|
|
@@ -185,6 +205,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
185
205
|
checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
|
|
186
206
|
checkedProps.value.size && "size",
|
|
187
207
|
checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`,
|
|
208
|
+
checkedProps.value.icons && "icons",
|
|
188
209
|
internalOpen.value && "internalOpen",
|
|
189
210
|
checkedProps.value.inline && "inline"
|
|
190
211
|
].filter(Boolean).join(" "));
|
|
@@ -231,6 +252,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
231
252
|
propNames: [
|
|
232
253
|
"density",
|
|
233
254
|
"for",
|
|
255
|
+
"icons",
|
|
234
256
|
"inline",
|
|
235
257
|
"open",
|
|
236
258
|
"placement",
|
|
@@ -250,6 +272,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
250
272
|
}, nativeAttrs(_ctx.$attrs), {
|
|
251
273
|
"data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
|
|
252
274
|
"data-for": reflectedProp("for", "for", checkedProps.value.for, void 0, false),
|
|
275
|
+
"data-icons": reflectedProp("icons", "icons", checkedProps.value.icons, void 0, false),
|
|
253
276
|
"data-inline": reflectedProp("inline", "inline", checkedProps.value.inline, void 0, false),
|
|
254
277
|
"data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
|
|
255
278
|
"data-placement": reflectedProp("placement", "placement", checkedProps.value.placement, void 0, false),
|
|
@@ -263,6 +286,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
263
286
|
}]]);
|
|
264
287
|
};
|
|
265
288
|
}
|
|
266
|
-
}), [["__scopeId", "data-v-
|
|
289
|
+
}), [["__scopeId", "data-v-b6bd5ab3"]]);
|
|
267
290
|
//#endregion
|
|
268
291
|
export { UiMenu_default as t };
|
package/vue/chunks/UiMenuItem.js
CHANGED
|
@@ -10,32 +10,42 @@ var _hoisted_1 = [
|
|
|
10
10
|
"data-checked",
|
|
11
11
|
"data-disabled",
|
|
12
12
|
"data-href",
|
|
13
|
+
"data-tone",
|
|
13
14
|
"data-type",
|
|
14
15
|
"data-value",
|
|
15
16
|
"data-ui-menu-item-state"
|
|
16
17
|
];
|
|
17
|
-
var _hoisted_2 = {
|
|
18
|
-
|
|
18
|
+
var _hoisted_2 = {
|
|
19
|
+
class: "icon",
|
|
20
|
+
"aria-hidden": "true"
|
|
21
|
+
};
|
|
22
|
+
var _hoisted_3 = { class: "label" };
|
|
23
|
+
var _hoisted_4 = {
|
|
19
24
|
class: "shortcut",
|
|
20
25
|
"aria-hidden": "true"
|
|
21
26
|
};
|
|
22
|
-
var
|
|
27
|
+
var _hoisted_5 = [
|
|
23
28
|
"role",
|
|
24
29
|
"aria-checked",
|
|
25
30
|
"aria-disabled",
|
|
26
31
|
"data-checked",
|
|
27
32
|
"data-disabled",
|
|
28
33
|
"data-href",
|
|
34
|
+
"data-tone",
|
|
29
35
|
"data-type",
|
|
30
36
|
"data-value",
|
|
31
37
|
"data-ui-menu-item-state"
|
|
32
38
|
];
|
|
33
|
-
var
|
|
39
|
+
var _hoisted_6 = {
|
|
34
40
|
class: "indicator",
|
|
35
41
|
"aria-hidden": "true"
|
|
36
42
|
};
|
|
37
|
-
var _hoisted_6 = { class: "label" };
|
|
38
43
|
var _hoisted_7 = {
|
|
44
|
+
class: "icon",
|
|
45
|
+
"aria-hidden": "true"
|
|
46
|
+
};
|
|
47
|
+
var _hoisted_8 = { class: "label" };
|
|
48
|
+
var _hoisted_9 = {
|
|
39
49
|
class: "shortcut",
|
|
40
50
|
"aria-hidden": "true"
|
|
41
51
|
};
|
|
@@ -65,6 +75,10 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
65
75
|
type: null,
|
|
66
76
|
default: ""
|
|
67
77
|
},
|
|
78
|
+
tone: {
|
|
79
|
+
type: null,
|
|
80
|
+
default: "neutral"
|
|
81
|
+
},
|
|
68
82
|
type: {
|
|
69
83
|
type: null,
|
|
70
84
|
default: "action"
|
|
@@ -112,6 +126,17 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
112
126
|
description: "A destination makes an action item a real link, with native navigation and link context actions.",
|
|
113
127
|
default: ""
|
|
114
128
|
},
|
|
129
|
+
tone: {
|
|
130
|
+
type: {
|
|
131
|
+
kind: "terminal",
|
|
132
|
+
name: "keyword"
|
|
133
|
+
},
|
|
134
|
+
required: false,
|
|
135
|
+
target: { attribute: "tone" },
|
|
136
|
+
description: "Danger identifies a destructive action without changing its behavior.",
|
|
137
|
+
values: ["neutral", "danger"],
|
|
138
|
+
default: "neutral"
|
|
139
|
+
},
|
|
115
140
|
type: {
|
|
116
141
|
type: {
|
|
117
142
|
kind: "terminal",
|
|
@@ -143,6 +168,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
143
168
|
checked: false,
|
|
144
169
|
disabled: false,
|
|
145
170
|
href: "",
|
|
171
|
+
tone: "neutral",
|
|
146
172
|
type: "action",
|
|
147
173
|
value: ""
|
|
148
174
|
};
|
|
@@ -159,6 +185,10 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
159
185
|
kind: "terminal",
|
|
160
186
|
name: "string"
|
|
161
187
|
}, false, "href", acceptedProps),
|
|
188
|
+
tone: checkedProp(props["tone"], {
|
|
189
|
+
kind: "terminal",
|
|
190
|
+
name: "keyword"
|
|
191
|
+
}, false, "tone", acceptedProps),
|
|
162
192
|
type: checkedProp(props["type"], {
|
|
163
193
|
kind: "terminal",
|
|
164
194
|
name: "keyword"
|
|
@@ -227,7 +257,12 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
227
257
|
})
|
|
228
258
|
});
|
|
229
259
|
/** The values the styles' :host-state() rules test. */
|
|
230
|
-
const hostState = computed(() => [
|
|
260
|
+
const hostState = computed(() => [
|
|
261
|
+
checkedProps.value.tone && "tone",
|
|
262
|
+
checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`,
|
|
263
|
+
checkedProps.value.type && "type",
|
|
264
|
+
checkedProps.value.type != null && `type=${encodeURIComponent(checkedProps.value.type)}`
|
|
265
|
+
].filter(Boolean).join(" "));
|
|
231
266
|
const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["type"] === "checkbox" || detail["type"] === "radio") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
232
267
|
"checked",
|
|
233
268
|
"value",
|
|
@@ -263,6 +298,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
263
298
|
"checked",
|
|
264
299
|
"disabled",
|
|
265
300
|
"href",
|
|
301
|
+
"tone",
|
|
266
302
|
"type",
|
|
267
303
|
"value"
|
|
268
304
|
],
|
|
@@ -298,11 +334,16 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
298
334
|
"data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
|
|
299
335
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
300
336
|
"data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
|
|
337
|
+
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
301
338
|
"data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
|
|
302
339
|
"data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
|
|
303
340
|
"data-ui-menu-item-state": hostState.value || void 0,
|
|
304
341
|
ref: "@html-next/root"
|
|
305
|
-
}), [
|
|
342
|
+
}), [
|
|
343
|
+
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "icon")]),
|
|
344
|
+
createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default")]),
|
|
345
|
+
createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "shortcut")])
|
|
346
|
+
], 16, _hoisted_1)), [[unref(vPropValidity), {
|
|
306
347
|
contract: propValidityContract,
|
|
307
348
|
values: { ...props }
|
|
308
349
|
}]]) : withDirectives((openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -320,23 +361,25 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
320
361
|
"data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
|
|
321
362
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
322
363
|
"data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
|
|
364
|
+
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
323
365
|
"data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
|
|
324
366
|
"data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
|
|
325
367
|
"data-ui-menu-item-state": hostState.value || void 0,
|
|
326
368
|
ref: "@html-next/root"
|
|
327
369
|
}), [
|
|
328
|
-
createElementVNode("span",
|
|
370
|
+
createElementVNode("span", _hoisted_6, [(checkedProps.value.type === "checkbox" || checkedProps.value.type === "radio") && internalChecked.value ? (openBlock(), createBlock(UiIcon_default, {
|
|
329
371
|
key: 0,
|
|
330
372
|
name: "check"
|
|
331
373
|
})) : createCommentVNode("v-if", true)]),
|
|
332
|
-
createElementVNode("span",
|
|
333
|
-
createElementVNode("span",
|
|
334
|
-
|
|
374
|
+
createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "icon")]),
|
|
375
|
+
createElementVNode("span", _hoisted_8, [renderSlot(_ctx.$slots, "default")]),
|
|
376
|
+
createElementVNode("span", _hoisted_9, [renderSlot(_ctx.$slots, "shortcut")])
|
|
377
|
+
], 16, _hoisted_5)), [[unref(vPropValidity), {
|
|
335
378
|
contract: propValidityContract,
|
|
336
379
|
values: { ...props }
|
|
337
380
|
}]]);
|
|
338
381
|
};
|
|
339
382
|
}
|
|
340
|
-
}), [["__scopeId", "data-v-
|
|
383
|
+
}), [["__scopeId", "data-v-32e2a3e1"]]);
|
|
341
384
|
//#endregion
|
|
342
385
|
export { UiMenuItem_default as t };
|