@threadlabs/looma 0.22.13 → 0.22.14
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/shared/icons.js +4 -0
- package/components/ui-card/ui-card.html +21 -2
- package/components/ui-icon/ui-icon.html +4 -0
- package/components/ui-input/ui-input.html +1 -0
- package/components/ui-input-group/ui-input-group.html +11 -0
- package/components/ui-popover/ui-popover.html +15 -0
- package/components/ui-scroll-area/ui-scroll-area.html +12 -0
- package/components/ui-search-result-row/ui-search-result-row.html +11 -0
- package/components/ui-stack/ui-stack.html +6 -3
- package/components/ui-text/ui-text.html +12 -0
- package/dist/index.js +1 -1
- package/editor/chunks/extensions.js +55 -2
- package/editor/extensions/index.d.ts +1 -0
- package/editor/extensions/index.js +2 -2
- package/editor/extensions/preset.d.ts +2 -0
- package/editor/extensions/relative-links.d.ts +8 -0
- package/editor/icons.d.ts +4 -0
- package/editor/index.js +7 -3
- package/package.json +1 -1
- package/styles/ui-card.css +17 -0
- package/styles/ui-input-group.css +9 -0
- package/styles/ui-input.css +1 -0
- package/styles/ui-popover.css +13 -0
- package/styles/ui-scroll-area.css +10 -0
- package/styles/ui-search-result-row.css +9 -0
- package/styles/ui-stack.css +3 -0
- package/styles/ui-text.css +8 -0
- package/vanilla/UiCard.d.ts +2 -1
- package/vanilla/UiCard.js +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiInputGroup.d.ts +1 -0
- package/vanilla/UiInputGroup.js +1 -1
- package/vanilla/UiPopover.d.ts +1 -0
- package/vanilla/UiPopover.js +1 -1
- package/vanilla/UiScrollArea.d.ts +1 -0
- package/vanilla/UiScrollArea.js +1 -1
- package/vanilla/UiSearchResultRow.d.ts +1 -0
- package/vanilla/UiSearchResultRow.js +1 -1
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +1 -1
- package/vanilla/UiText.d.ts +2 -0
- package/vanilla/UiText.js +1 -1
- package/vue/UiCard.d.ts +12 -3
- package/vue/UiCard.vue +49 -5
- package/vue/UiIcon.vue +23 -0
- package/vue/UiInput.vue +1 -0
- package/vue/UiInputGroup.d.ts +9 -0
- package/vue/UiInputGroup.vue +33 -2
- package/vue/UiPopover.d.ts +9 -0
- package/vue/UiPopover.vue +43 -2
- package/vue/UiScrollArea.d.ts +9 -0
- package/vue/UiScrollArea.vue +35 -2
- package/vue/UiSearchResultRow.d.ts +9 -0
- package/vue/UiSearchResultRow.vue +38 -1
- package/vue/UiStack.d.ts +3 -3
- package/vue/UiStack.vue +10 -4
- package/vue/UiText.d.ts +18 -0
- package/vue/UiText.vue +70 -0
- package/vue/chunks/UiCard.js +39 -3
- package/vue/chunks/UiIcon.js +69 -1
- package/vue/chunks/UiInput.js +1 -1
- package/vue/chunks/UiInputGroup.js +59 -22
- package/vue/chunks/UiPopover.js +37 -5
- package/vue/chunks/UiScrollArea.js +66 -23
- package/vue/chunks/UiSearchResultRow.js +28 -2
- package/vue/chunks/UiStack.js +3 -2
- package/vue/chunks/UiText.js +92 -4
- package/vue/components.css +174 -301
- package/vue/editor/LoomaEditor.d.ts +11 -0
- package/vue/editor/index.js +261 -145
package/vue/chunks/UiCard.js
CHANGED
|
@@ -6,6 +6,7 @@ import { computed, createElementBlock, defineComponent, getCurrentInstance, merg
|
|
|
6
6
|
var _hoisted_1 = [
|
|
7
7
|
"data-as",
|
|
8
8
|
"data-padding",
|
|
9
|
+
"data-size",
|
|
9
10
|
"data-tone",
|
|
10
11
|
"data-variant",
|
|
11
12
|
"data-ui-card-state"
|
|
@@ -13,6 +14,7 @@ var _hoisted_1 = [
|
|
|
13
14
|
var _hoisted_2 = [
|
|
14
15
|
"data-as",
|
|
15
16
|
"data-padding",
|
|
17
|
+
"data-size",
|
|
16
18
|
"data-tone",
|
|
17
19
|
"data-variant",
|
|
18
20
|
"data-ui-card-state"
|
|
@@ -20,6 +22,7 @@ var _hoisted_2 = [
|
|
|
20
22
|
var _hoisted_3 = [
|
|
21
23
|
"data-as",
|
|
22
24
|
"data-padding",
|
|
25
|
+
"data-size",
|
|
23
26
|
"data-tone",
|
|
24
27
|
"data-variant",
|
|
25
28
|
"data-ui-card-state"
|
|
@@ -27,6 +30,7 @@ var _hoisted_3 = [
|
|
|
27
30
|
var _hoisted_4 = [
|
|
28
31
|
"data-as",
|
|
29
32
|
"data-padding",
|
|
33
|
+
"data-size",
|
|
30
34
|
"data-tone",
|
|
31
35
|
"data-variant",
|
|
32
36
|
"data-ui-card-state"
|
|
@@ -45,6 +49,10 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
45
49
|
type: null,
|
|
46
50
|
default: "md"
|
|
47
51
|
},
|
|
52
|
+
size: {
|
|
53
|
+
type: null,
|
|
54
|
+
default: "content"
|
|
55
|
+
},
|
|
48
56
|
tone: {
|
|
49
57
|
type: null,
|
|
50
58
|
default: "neutral"
|
|
@@ -79,14 +87,31 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
79
87
|
},
|
|
80
88
|
required: false,
|
|
81
89
|
target: { attribute: "padding" },
|
|
82
|
-
description: "The space inside the card: sm is snug (0.75rem), md is the default (1.5rem), and lg is roomy (2rem).",
|
|
90
|
+
description: "The space inside the card: xs is compact (0.5rem), sm is snug (0.75rem), md is the default (1.5rem), and lg is roomy (2rem).",
|
|
83
91
|
values: [
|
|
92
|
+
"xs",
|
|
84
93
|
"sm",
|
|
85
94
|
"md",
|
|
86
95
|
"lg"
|
|
87
96
|
],
|
|
88
97
|
default: "md"
|
|
89
98
|
},
|
|
99
|
+
size: {
|
|
100
|
+
type: {
|
|
101
|
+
kind: "terminal",
|
|
102
|
+
name: "keyword"
|
|
103
|
+
},
|
|
104
|
+
required: false,
|
|
105
|
+
target: { attribute: "size" },
|
|
106
|
+
description: "Optional size preset. content keeps the existing intrinsic sizing; the other sizes constrain the surface for compact, medium, or large content.",
|
|
107
|
+
values: [
|
|
108
|
+
"content",
|
|
109
|
+
"sm",
|
|
110
|
+
"md",
|
|
111
|
+
"lg"
|
|
112
|
+
],
|
|
113
|
+
default: "content"
|
|
114
|
+
},
|
|
90
115
|
tone: {
|
|
91
116
|
type: {
|
|
92
117
|
kind: "terminal",
|
|
@@ -118,6 +143,7 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
118
143
|
const acceptedProps = {
|
|
119
144
|
as: "div",
|
|
120
145
|
padding: "md",
|
|
146
|
+
size: "content",
|
|
121
147
|
tone: "neutral",
|
|
122
148
|
variant: "outlined"
|
|
123
149
|
};
|
|
@@ -130,6 +156,10 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
130
156
|
kind: "terminal",
|
|
131
157
|
name: "keyword"
|
|
132
158
|
}, false, "padding", acceptedProps),
|
|
159
|
+
size: checkedProp(props["size"], {
|
|
160
|
+
kind: "terminal",
|
|
161
|
+
name: "keyword"
|
|
162
|
+
}, false, "size", acceptedProps),
|
|
133
163
|
tone: checkedProp(props["tone"], {
|
|
134
164
|
kind: "terminal",
|
|
135
165
|
name: "keyword"
|
|
@@ -173,7 +203,9 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
173
203
|
checkedProps.value.variant && "variant",
|
|
174
204
|
checkedProps.value.variant != null && `variant=${encodeURIComponent(checkedProps.value.variant)}`,
|
|
175
205
|
checkedProps.value.tone && "tone",
|
|
176
|
-
checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}
|
|
206
|
+
checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`,
|
|
207
|
+
checkedProps.value.size && "size",
|
|
208
|
+
checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`
|
|
177
209
|
].filter(Boolean).join(" "));
|
|
178
210
|
return (_ctx, _cache) => {
|
|
179
211
|
return checkedProps.value.as === "section" ? withDirectives((openBlock(), createElementBlock("section", mergeProps({
|
|
@@ -182,6 +214,7 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
182
214
|
}, nativeAttrs(_ctx.$attrs), {
|
|
183
215
|
"data-as": reflectedProp("as", "as", checkedProps.value.as, void 0, false),
|
|
184
216
|
"data-padding": reflectedProp("padding", "padding", checkedProps.value.padding, void 0, false),
|
|
217
|
+
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
185
218
|
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
186
219
|
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
187
220
|
"data-ui-card-state": hostState.value || void 0,
|
|
@@ -195,6 +228,7 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
195
228
|
}, nativeAttrs(_ctx.$attrs), {
|
|
196
229
|
"data-as": reflectedProp("as", "as", checkedProps.value.as, void 0, false),
|
|
197
230
|
"data-padding": reflectedProp("padding", "padding", checkedProps.value.padding, void 0, false),
|
|
231
|
+
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
198
232
|
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
199
233
|
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
200
234
|
"data-ui-card-state": hostState.value || void 0,
|
|
@@ -208,6 +242,7 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
208
242
|
}, nativeAttrs(_ctx.$attrs), {
|
|
209
243
|
"data-as": reflectedProp("as", "as", checkedProps.value.as, void 0, false),
|
|
210
244
|
"data-padding": reflectedProp("padding", "padding", checkedProps.value.padding, void 0, false),
|
|
245
|
+
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
211
246
|
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
212
247
|
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
213
248
|
"data-ui-card-state": hostState.value || void 0,
|
|
@@ -221,6 +256,7 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
221
256
|
}, nativeAttrs(_ctx.$attrs), {
|
|
222
257
|
"data-as": reflectedProp("as", "as", checkedProps.value.as, void 0, false),
|
|
223
258
|
"data-padding": reflectedProp("padding", "padding", checkedProps.value.padding, void 0, false),
|
|
259
|
+
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
224
260
|
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
225
261
|
"data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
|
|
226
262
|
"data-ui-card-state": hostState.value || void 0,
|
|
@@ -231,6 +267,6 @@ var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
231
267
|
}]]);
|
|
232
268
|
};
|
|
233
269
|
}
|
|
234
|
-
}), [["__scopeId", "data-v-
|
|
270
|
+
}), [["__scopeId", "data-v-5ac43da6"]]);
|
|
235
271
|
//#endregion
|
|
236
272
|
export { UiCard_default as t };
|
package/vue/chunks/UiIcon.js
CHANGED
|
@@ -352,6 +352,20 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
352
352
|
tag: "path",
|
|
353
353
|
d: "m5.082 11.09 8.828 8.828"
|
|
354
354
|
}],
|
|
355
|
+
"external-link": [
|
|
356
|
+
{
|
|
357
|
+
tag: "path",
|
|
358
|
+
d: "M15 3h6v6"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
tag: "path",
|
|
362
|
+
d: "M10 14 21 3"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
tag: "path",
|
|
366
|
+
d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
|
|
367
|
+
}
|
|
368
|
+
],
|
|
355
369
|
"file-text": [
|
|
356
370
|
{
|
|
357
371
|
tag: "path",
|
|
@@ -824,6 +838,13 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
824
838
|
tag: "path",
|
|
825
839
|
d: "M3 9h18"
|
|
826
840
|
}],
|
|
841
|
+
pencil: [{
|
|
842
|
+
tag: "path",
|
|
843
|
+
d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"
|
|
844
|
+
}, {
|
|
845
|
+
tag: "path",
|
|
846
|
+
d: "m15 5 4 4"
|
|
847
|
+
}],
|
|
827
848
|
pilcrow: [
|
|
828
849
|
{
|
|
829
850
|
tag: "path",
|
|
@@ -891,6 +912,15 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
891
912
|
d: "M21 15H3"
|
|
892
913
|
}
|
|
893
914
|
],
|
|
915
|
+
search: [{
|
|
916
|
+
tag: "path",
|
|
917
|
+
d: "m21 21-4.34-4.34"
|
|
918
|
+
}, {
|
|
919
|
+
tag: "circle",
|
|
920
|
+
cx: "11",
|
|
921
|
+
cy: "11",
|
|
922
|
+
r: "8"
|
|
923
|
+
}],
|
|
894
924
|
settings: [{
|
|
895
925
|
tag: "path",
|
|
896
926
|
d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"
|
|
@@ -1028,6 +1058,44 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
1028
1058
|
tag: "path",
|
|
1029
1059
|
d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"
|
|
1030
1060
|
}],
|
|
1061
|
+
unlink: [
|
|
1062
|
+
{
|
|
1063
|
+
tag: "path",
|
|
1064
|
+
d: "m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
tag: "path",
|
|
1068
|
+
d: "m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
tag: "line",
|
|
1072
|
+
x1: "8",
|
|
1073
|
+
x2: "8",
|
|
1074
|
+
y1: "2",
|
|
1075
|
+
y2: "5"
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
tag: "line",
|
|
1079
|
+
x1: "2",
|
|
1080
|
+
x2: "5",
|
|
1081
|
+
y1: "8",
|
|
1082
|
+
y2: "8"
|
|
1083
|
+
},
|
|
1084
|
+
{
|
|
1085
|
+
tag: "line",
|
|
1086
|
+
x1: "16",
|
|
1087
|
+
x2: "16",
|
|
1088
|
+
y1: "19",
|
|
1089
|
+
y2: "22"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
tag: "line",
|
|
1093
|
+
x1: "19",
|
|
1094
|
+
x2: "22",
|
|
1095
|
+
y1: "16",
|
|
1096
|
+
y2: "16"
|
|
1097
|
+
}
|
|
1098
|
+
],
|
|
1031
1099
|
"user-round": [{
|
|
1032
1100
|
tag: "circle",
|
|
1033
1101
|
cx: "12",
|
|
@@ -1123,6 +1191,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
1123
1191
|
}]]);
|
|
1124
1192
|
};
|
|
1125
1193
|
}
|
|
1126
|
-
}), [["__scopeId", "data-v-
|
|
1194
|
+
}), [["__scopeId", "data-v-5aa6beca"]]);
|
|
1127
1195
|
//#endregion
|
|
1128
1196
|
export { UiIcon_default as t };
|
package/vue/chunks/UiInput.js
CHANGED
|
@@ -3,7 +3,11 @@ import { r as useComponentHost, t as createDispatch } from "./host.js";
|
|
|
3
3
|
import { i as vPropValidity, n as propValidityState, t as checkedProp } from "./props.js";
|
|
4
4
|
import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
|
|
5
5
|
//#region .build/vue/UiInputGroup.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var _hoisted_1 = [
|
|
6
|
+
var _hoisted_1 = [
|
|
7
|
+
"data-disabled",
|
|
8
|
+
"data-prefix-kind",
|
|
9
|
+
"data-ui-input-group-state"
|
|
10
|
+
];
|
|
7
11
|
var _hoisted_2 = { class: "affix" };
|
|
8
12
|
var _hoisted_3 = { class: "field" };
|
|
9
13
|
var _hoisted_4 = { class: "affix" };
|
|
@@ -13,27 +17,55 @@ var _hoisted_5 = { class: "action" };
|
|
|
13
17
|
var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
14
18
|
inheritAttrs: false,
|
|
15
19
|
__name: "UiInputGroup",
|
|
16
|
-
props: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
props: {
|
|
21
|
+
disabled: {
|
|
22
|
+
type: null,
|
|
23
|
+
default: false
|
|
24
|
+
},
|
|
25
|
+
prefixKind: {
|
|
26
|
+
type: null,
|
|
27
|
+
default: "text"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
20
30
|
setup(__props) {
|
|
21
|
-
const propValidityContract = { props: {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
const propValidityContract = { props: {
|
|
32
|
+
disabled: {
|
|
33
|
+
type: {
|
|
34
|
+
kind: "terminal",
|
|
35
|
+
name: "boolean"
|
|
36
|
+
},
|
|
37
|
+
required: false,
|
|
38
|
+
target: { attribute: "disabled" },
|
|
39
|
+
description: "Fades the group's framing to match a disabled input inside it. Disable the input itself too.",
|
|
40
|
+
default: false
|
|
25
41
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
42
|
+
prefixKind: {
|
|
43
|
+
type: {
|
|
44
|
+
kind: "terminal",
|
|
45
|
+
name: "keyword"
|
|
46
|
+
},
|
|
47
|
+
required: false,
|
|
48
|
+
target: { attribute: "prefixkind" },
|
|
49
|
+
description: "Text affixes have their own framing. An icon prefix shares the field surface and uses one compact icon-to-value gap.",
|
|
50
|
+
values: ["text", "icon"],
|
|
51
|
+
default: "text"
|
|
52
|
+
}
|
|
53
|
+
} };
|
|
31
54
|
const props = __props;
|
|
32
|
-
const acceptedProps = {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
55
|
+
const acceptedProps = {
|
|
56
|
+
disabled: false,
|
|
57
|
+
prefixKind: "text"
|
|
58
|
+
};
|
|
59
|
+
const checkedProps = computed(() => ({
|
|
60
|
+
disabled: checkedProp(props["disabled"], {
|
|
61
|
+
kind: "terminal",
|
|
62
|
+
name: "boolean"
|
|
63
|
+
}, false, "disabled", acceptedProps),
|
|
64
|
+
prefixKind: checkedProp(props["prefixKind"], {
|
|
65
|
+
kind: "terminal",
|
|
66
|
+
name: "keyword"
|
|
67
|
+
}, false, "prefixKind", acceptedProps)
|
|
68
|
+
}));
|
|
37
69
|
checkedProps.value;
|
|
38
70
|
watchSyncEffect(() => {
|
|
39
71
|
checkedProps.value;
|
|
@@ -61,7 +93,11 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
61
93
|
})
|
|
62
94
|
});
|
|
63
95
|
/** The values the styles' :host-state() rules test. */
|
|
64
|
-
const hostState = computed(() => [
|
|
96
|
+
const hostState = computed(() => [
|
|
97
|
+
checkedProps.value.disabled && "disabled",
|
|
98
|
+
checkedProps.value.prefixKind && "prefixKind",
|
|
99
|
+
checkedProps.value.prefixKind != null && `prefixKind=${encodeURIComponent(checkedProps.value.prefixKind)}`
|
|
100
|
+
].filter(Boolean).join(" "));
|
|
65
101
|
const dispatch = createDispatch(root);
|
|
66
102
|
useComponentHost(() => import("@threadlabs/looma/components/ui-input-group/ui-input-group.js"), {
|
|
67
103
|
root,
|
|
@@ -76,7 +112,7 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
76
112
|
const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
|
|
77
113
|
return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
|
|
78
114
|
},
|
|
79
|
-
propNames: ["disabled"],
|
|
115
|
+
propNames: ["disabled", "prefixKind"],
|
|
80
116
|
propValidity: (name) => propValidityState({
|
|
81
117
|
contract: propValidityContract,
|
|
82
118
|
values: { ...props }
|
|
@@ -85,6 +121,7 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
85
121
|
return (_ctx, _cache) => {
|
|
86
122
|
return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-input-group" }, nativeAttrs(_ctx.$attrs), {
|
|
87
123
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
124
|
+
"data-prefix-kind": reflectedProp("prefixKind", "prefix-kind", checkedProps.value.prefixKind, void 0, false),
|
|
88
125
|
"data-ui-input-group-state": hostState.value || void 0,
|
|
89
126
|
ref_key: "root",
|
|
90
127
|
ref: root
|
|
@@ -99,6 +136,6 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
99
136
|
}]]);
|
|
100
137
|
};
|
|
101
138
|
}
|
|
102
|
-
}), [["__scopeId", "data-v-
|
|
139
|
+
}), [["__scopeId", "data-v-7050a5eb"]]);
|
|
103
140
|
//#endregion
|
|
104
141
|
export { UiInputGroup_default as t };
|
package/vue/chunks/UiPopover.js
CHANGED
|
@@ -7,6 +7,7 @@ var _hoisted_1 = [
|
|
|
7
7
|
"data-for",
|
|
8
8
|
"data-open",
|
|
9
9
|
"data-placement",
|
|
10
|
+
"data-size",
|
|
10
11
|
"data-ui-popover-state"
|
|
11
12
|
];
|
|
12
13
|
var _hoisted_2 = { class: "surface" };
|
|
@@ -27,6 +28,10 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
27
28
|
placement: {
|
|
28
29
|
type: null,
|
|
29
30
|
default: "bottom-start"
|
|
31
|
+
},
|
|
32
|
+
size: {
|
|
33
|
+
type: null,
|
|
34
|
+
default: "content"
|
|
30
35
|
}
|
|
31
36
|
},
|
|
32
37
|
emits: [
|
|
@@ -79,13 +84,30 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
79
84
|
"right-end"
|
|
80
85
|
],
|
|
81
86
|
default: "bottom-start"
|
|
87
|
+
},
|
|
88
|
+
size: {
|
|
89
|
+
type: {
|
|
90
|
+
kind: "terminal",
|
|
91
|
+
name: "keyword"
|
|
92
|
+
},
|
|
93
|
+
required: false,
|
|
94
|
+
target: { attribute: "size" },
|
|
95
|
+
description: "Optional size preset. content keeps the existing intrinsic sizing; the other sizes constrain the surface for compact, medium, or large content.",
|
|
96
|
+
values: [
|
|
97
|
+
"content",
|
|
98
|
+
"sm",
|
|
99
|
+
"md",
|
|
100
|
+
"lg"
|
|
101
|
+
],
|
|
102
|
+
default: "content"
|
|
82
103
|
}
|
|
83
104
|
} };
|
|
84
105
|
const props = __props;
|
|
85
106
|
const acceptedProps = {
|
|
86
107
|
for: "",
|
|
87
108
|
open: false,
|
|
88
|
-
placement: "bottom-start"
|
|
109
|
+
placement: "bottom-start",
|
|
110
|
+
size: "content"
|
|
89
111
|
};
|
|
90
112
|
const checkedProps = computed(() => ({
|
|
91
113
|
for: checkedProp(props["for"], {
|
|
@@ -99,7 +121,11 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
99
121
|
placement: checkedProp(props["placement"], {
|
|
100
122
|
kind: "terminal",
|
|
101
123
|
name: "keyword"
|
|
102
|
-
}, false, "placement", acceptedProps)
|
|
124
|
+
}, false, "placement", acceptedProps),
|
|
125
|
+
size: checkedProp(props["size"], {
|
|
126
|
+
kind: "terminal",
|
|
127
|
+
name: "keyword"
|
|
128
|
+
}, false, "size", acceptedProps)
|
|
103
129
|
}));
|
|
104
130
|
checkedProps.value;
|
|
105
131
|
watchSyncEffect(() => {
|
|
@@ -131,7 +157,11 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
131
157
|
})
|
|
132
158
|
});
|
|
133
159
|
/** The values the styles' :host-state() rules test. */
|
|
134
|
-
const hostState = computed(() => [
|
|
160
|
+
const hostState = computed(() => [
|
|
161
|
+
internalOpen.value && "internalOpen",
|
|
162
|
+
checkedProps.value.size && "size",
|
|
163
|
+
checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`
|
|
164
|
+
].filter(Boolean).join(" "));
|
|
135
165
|
const isOpenDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
136
166
|
"open",
|
|
137
167
|
"reason",
|
|
@@ -160,7 +190,8 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
160
190
|
propNames: [
|
|
161
191
|
"for",
|
|
162
192
|
"open",
|
|
163
|
-
"placement"
|
|
193
|
+
"placement",
|
|
194
|
+
"size"
|
|
164
195
|
],
|
|
165
196
|
propValidity: (name) => propValidityState({
|
|
166
197
|
contract: propValidityContract,
|
|
@@ -173,6 +204,7 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
173
204
|
"data-for": reflectedProp("for", "for", checkedProps.value.for, void 0, false),
|
|
174
205
|
"data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
|
|
175
206
|
"data-placement": reflectedProp("placement", "placement", checkedProps.value.placement, void 0, false),
|
|
207
|
+
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
176
208
|
"data-ui-popover-state": hostState.value || void 0,
|
|
177
209
|
ref_key: "root",
|
|
178
210
|
ref: root
|
|
@@ -182,6 +214,6 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
182
214
|
}]]);
|
|
183
215
|
};
|
|
184
216
|
}
|
|
185
|
-
}), [["__scopeId", "data-v-
|
|
217
|
+
}), [["__scopeId", "data-v-639bc886"]]);
|
|
186
218
|
//#endregion
|
|
187
219
|
export { UiPopover_default as t };
|
|
@@ -3,7 +3,11 @@ import { r as useComponentHost, t as createDispatch } from "./host.js";
|
|
|
3
3
|
import { i as vPropValidity, n as propValidityState, t as checkedProp } from "./props.js";
|
|
4
4
|
import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
|
|
5
5
|
//#region .build/vue/UiScrollArea.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
-
var _hoisted_1 = [
|
|
6
|
+
var _hoisted_1 = [
|
|
7
|
+
"data-orientation",
|
|
8
|
+
"data-size",
|
|
9
|
+
"data-ui-scroll-area-state"
|
|
10
|
+
];
|
|
7
11
|
var _hoisted_2 = {
|
|
8
12
|
class: "content",
|
|
9
13
|
ref: "content"
|
|
@@ -13,28 +17,61 @@ var _hoisted_2 = {
|
|
|
13
17
|
var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
14
18
|
inheritAttrs: false,
|
|
15
19
|
__name: "UiScrollArea",
|
|
16
|
-
props: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
props: {
|
|
21
|
+
orientation: {
|
|
22
|
+
type: null,
|
|
23
|
+
default: "vertical"
|
|
24
|
+
},
|
|
25
|
+
size: {
|
|
26
|
+
type: null,
|
|
27
|
+
default: "content"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
20
30
|
setup(__props) {
|
|
21
|
-
const propValidityContract = { props: {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
const propValidityContract = { props: {
|
|
32
|
+
orientation: {
|
|
33
|
+
type: {
|
|
34
|
+
kind: "terminal",
|
|
35
|
+
name: "keyword"
|
|
36
|
+
},
|
|
37
|
+
required: false,
|
|
38
|
+
target: { attribute: "orientation" },
|
|
39
|
+
description: "The direction the content scrolls. Vertical scrolls up and down and clips sideways overflow; horizontal scrolls sideways and clips vertical\n overflow.",
|
|
40
|
+
values: ["vertical", "horizontal"],
|
|
41
|
+
default: "vertical"
|
|
25
42
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
43
|
+
size: {
|
|
44
|
+
type: {
|
|
45
|
+
kind: "terminal",
|
|
46
|
+
name: "keyword"
|
|
47
|
+
},
|
|
48
|
+
required: false,
|
|
49
|
+
target: { attribute: "size" },
|
|
50
|
+
description: "Optional height preset. content keeps intrinsic sizing; sm fits three compact 3.125rem result rows, md is 20rem, and lg is 30rem.",
|
|
51
|
+
values: [
|
|
52
|
+
"content",
|
|
53
|
+
"sm",
|
|
54
|
+
"md",
|
|
55
|
+
"lg"
|
|
56
|
+
],
|
|
57
|
+
default: "content"
|
|
58
|
+
}
|
|
59
|
+
} };
|
|
32
60
|
const props = __props;
|
|
33
|
-
const acceptedProps = {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
61
|
+
const acceptedProps = {
|
|
62
|
+
orientation: "vertical",
|
|
63
|
+
size: "content"
|
|
64
|
+
};
|
|
65
|
+
const checkedProps = computed(() => ({
|
|
66
|
+
orientation: checkedProp(props["orientation"], {
|
|
67
|
+
kind: "terminal",
|
|
68
|
+
name: "keyword"
|
|
69
|
+
}, false, "orientation", acceptedProps),
|
|
70
|
+
size: checkedProp(props["size"], {
|
|
71
|
+
kind: "terminal",
|
|
72
|
+
name: "keyword"
|
|
73
|
+
}, false, "size", acceptedProps)
|
|
74
|
+
}));
|
|
38
75
|
checkedProps.value;
|
|
39
76
|
watchSyncEffect(() => {
|
|
40
77
|
checkedProps.value;
|
|
@@ -63,7 +100,12 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
63
100
|
})
|
|
64
101
|
});
|
|
65
102
|
/** The values the styles' :host-state() rules test. */
|
|
66
|
-
const hostState = computed(() => [
|
|
103
|
+
const hostState = computed(() => [
|
|
104
|
+
checkedProps.value.orientation && "orientation",
|
|
105
|
+
checkedProps.value.orientation != null && `orientation=${encodeURIComponent(checkedProps.value.orientation)}`,
|
|
106
|
+
checkedProps.value.size && "size",
|
|
107
|
+
checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`
|
|
108
|
+
].filter(Boolean).join(" "));
|
|
67
109
|
const dispatch = createDispatch(root);
|
|
68
110
|
useComponentHost(() => import("@threadlabs/looma/components/ui-scroll-area/ui-scroll-area.js"), {
|
|
69
111
|
root,
|
|
@@ -78,7 +120,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
78
120
|
const kebab = name.replace(/[A-Z]/g, (letter) => "-" + letter.toLowerCase());
|
|
79
121
|
return incoming !== null && incoming !== void 0 ? incoming[name] ?? incoming[kebab] ?? null : null;
|
|
80
122
|
},
|
|
81
|
-
propNames: ["orientation"],
|
|
123
|
+
propNames: ["orientation", "size"],
|
|
82
124
|
propValidity: (name) => propValidityState({
|
|
83
125
|
contract: propValidityContract,
|
|
84
126
|
values: { ...props }
|
|
@@ -88,6 +130,7 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
88
130
|
return (_ctx, _cache) => {
|
|
89
131
|
return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-scroll-area" }, nativeAttrs(_ctx.$attrs), {
|
|
90
132
|
"data-orientation": reflectedProp("orientation", "orientation", checkedProps.value.orientation, void 0, false),
|
|
133
|
+
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
91
134
|
"data-ui-scroll-area-state": hostState.value || void 0,
|
|
92
135
|
ref_key: "root",
|
|
93
136
|
ref: root
|
|
@@ -97,6 +140,6 @@ var UiScrollArea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
97
140
|
}]]);
|
|
98
141
|
};
|
|
99
142
|
}
|
|
100
|
-
}), [["__scopeId", "data-v-
|
|
143
|
+
}), [["__scopeId", "data-v-97150230"]]);
|
|
101
144
|
//#endregion
|
|
102
145
|
export { UiScrollArea_default as t };
|