@threadlabs/looma 0.6.4 → 0.6.5
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/package.json +2 -2
- package/styles/ui-affordance-scope.css +1 -1
- package/styles/ui-avatar-group.css +1 -1
- package/styles/ui-avatar.css +1 -1
- package/styles/ui-badge.css +1 -1
- package/styles/ui-button.css +1 -1
- package/styles/ui-callout.css +1 -1
- package/styles/ui-checkbox.css +1 -1
- package/styles/ui-cluster.css +1 -1
- package/styles/ui-combobox.css +1 -1
- package/styles/ui-container.css +1 -1
- package/styles/ui-context-menu.css +1 -1
- package/styles/ui-dialog.css +1 -1
- package/styles/ui-disclosure.css +1 -1
- package/styles/ui-editable.css +1 -1
- package/styles/ui-editor-insert-table-grid.css +1 -1
- package/styles/ui-editor-mention-menu.css +1 -1
- package/styles/ui-editor-slash-menu.css +1 -1
- package/styles/ui-editor-table-context-menu.css +1 -1
- package/styles/ui-editor-table-overlay.css +1 -1
- package/styles/ui-editor-table-toolbar.css +1 -1
- package/styles/ui-editor-toolbar.css +1 -1
- package/styles/ui-floating-action-button.css +1 -1
- package/styles/ui-form-field.css +1 -1
- package/styles/ui-grid.css +1 -1
- package/styles/ui-icon-button.css +1 -1
- package/styles/ui-icon.css +1 -1
- package/styles/ui-input.css +1 -1
- package/styles/ui-menu-item.css +1 -1
- package/styles/ui-menu.css +1 -1
- package/styles/ui-popover.css +1 -1
- package/styles/ui-radio-group.css +1 -1
- package/styles/ui-radio.css +1 -1
- package/styles/ui-reel.css +1 -1
- package/styles/ui-search-result-row.css +1 -1
- package/styles/ui-search-shell.css +1 -1
- package/styles/ui-select.css +1 -1
- package/styles/ui-separator.css +1 -1
- package/styles/ui-sidebar.css +1 -1
- package/styles/ui-stack.css +1 -1
- package/styles/ui-switch.css +1 -1
- package/styles/ui-switcher.css +1 -1
- package/styles/ui-tabs.css +1 -1
- package/styles/ui-textarea.css +1 -1
- package/styles/ui-toast-region.css +1 -1
- package/styles/ui-tooltip.css +1 -1
- package/styles/ui-top-bar.css +1 -1
- package/styles/ui-tree-item.css +1 -1
- package/styles/ui-tree.css +1 -1
- package/vanilla/UiAffordanceScope.d.ts +1 -1
- package/vanilla/UiAffordanceScope.js +1 -1
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +1 -1
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +1 -1
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +1 -1
- package/vanilla/UiButton.d.ts +1 -1
- package/vanilla/UiButton.js +1 -1
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +1 -1
- package/vanilla/UiCheckbox.d.ts +1 -1
- package/vanilla/UiCheckbox.js +1 -1
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +1 -1
- package/vanilla/UiCombobox.d.ts +1 -1
- package/vanilla/UiCombobox.js +1 -1
- package/vanilla/UiContainer.d.ts +1 -1
- package/vanilla/UiContainer.js +1 -1
- package/vanilla/UiContextMenu.d.ts +1 -1
- package/vanilla/UiContextMenu.js +1 -1
- package/vanilla/UiDialog.d.ts +1 -1
- package/vanilla/UiDialog.js +1 -1
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +1 -1
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +1 -1
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +1 -1
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +1 -1
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +1 -1
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +1 -1
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +1 -1
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +1 -1
- package/vanilla/UiEditorToolbar.d.ts +1 -1
- package/vanilla/UiEditorToolbar.js +1 -1
- package/vanilla/UiFloatingActionButton.d.ts +1 -1
- package/vanilla/UiFloatingActionButton.js +1 -1
- package/vanilla/UiFormField.d.ts +1 -1
- package/vanilla/UiFormField.js +1 -1
- package/vanilla/UiGrid.d.ts +1 -1
- package/vanilla/UiGrid.js +1 -1
- package/vanilla/UiIcon.d.ts +1 -1
- package/vanilla/UiIcon.js +1 -1
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +1 -1
- package/vanilla/UiInput.d.ts +1 -1
- package/vanilla/UiInput.js +1 -1
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +1 -1
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +1 -1
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +1 -1
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +1 -1
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +1 -1
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +1 -1
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +1 -1
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +1 -1
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +1 -1
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +1 -1
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +1 -1
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +1 -1
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +1 -1
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +1 -1
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +1 -1
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +1 -1
- package/vanilla/UiToastRegion.d.ts +1 -1
- package/vanilla/UiToastRegion.js +1 -1
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +1 -1
- package/vanilla/UiTopBar.d.ts +1 -1
- package/vanilla/UiTopBar.js +1 -1
- package/vanilla/UiTree.d.ts +1 -1
- package/vanilla/UiTree.js +1 -1
- package/vanilla/UiTreeItem.d.ts +1 -1
- package/vanilla/UiTreeItem.js +1 -1
- package/vue/UiAffordanceScope.vue +8 -84
- package/vue/UiAvatar.d.ts +1 -1
- package/vue/UiAvatar.vue +9 -106
- package/vue/UiAvatarGroup.vue +9 -96
- package/vue/UiBadge.vue +1 -1
- package/vue/UiButton.vue +1 -1
- package/vue/UiCallout.vue +1 -1
- package/vue/UiCheckbox.vue +22 -123
- package/vue/UiCluster.vue +1 -1
- package/vue/UiCombobox.d.ts +1 -1
- package/vue/UiCombobox.vue +224 -475
- package/vue/UiContainer.vue +1 -1
- package/vue/UiContextMenu.vue +34 -141
- package/vue/UiDialog.vue +25 -126
- package/vue/UiDisclosure.vue +26 -138
- package/vue/UiEditable.vue +46 -158
- package/vue/UiEditorInsertTableGrid.vue +19 -138
- package/vue/UiEditorMentionMenu.vue +17 -124
- package/vue/UiEditorSlashMenu.vue +17 -109
- package/vue/UiEditorTableContextMenu.vue +34 -122
- package/vue/UiEditorTableOverlay.vue +61 -167
- package/vue/UiEditorTableToolbar.vue +34 -142
- package/vue/UiEditorToolbar.vue +1 -1
- package/vue/UiFloatingActionButton.vue +1 -1
- package/vue/UiFormField.vue +7 -79
- package/vue/UiGrid.vue +1 -1
- package/vue/UiIcon.vue +8 -84
- package/vue/UiIconButton.vue +7 -79
- package/vue/UiInput.vue +7 -79
- package/vue/UiMenu.vue +42 -127
- package/vue/UiMenuItem.vue +1 -1
- package/vue/UiPopover.vue +25 -121
- package/vue/UiRadio.vue +22 -123
- package/vue/UiRadioGroup.d.ts +1 -1
- package/vue/UiRadioGroup.vue +32 -119
- package/vue/UiReel.vue +1 -1
- package/vue/UiSearchResultRow.vue +1 -1
- package/vue/UiSearchShell.vue +25 -121
- package/vue/UiSelect.vue +7 -79
- package/vue/UiSeparator.vue +1 -1
- package/vue/UiSidebar.vue +32 -133
- package/vue/UiStack.vue +1 -1
- package/vue/UiSwitch.vue +22 -123
- package/vue/UiSwitcher.vue +1 -1
- package/vue/UiTabs.vue +24 -128
- package/vue/UiTextarea.vue +7 -79
- package/vue/UiToastRegion.vue +37 -126
- package/vue/UiTooltip.vue +25 -124
- package/vue/UiTopBar.vue +1 -1
- package/vue/UiTree.vue +56 -137
- package/vue/UiTreeItem.vue +28 -144
- package/vue/chunks/UiAffordanceScope.js +9 -78
- package/vue/chunks/UiAvatar.js +13 -89
- package/vue/chunks/UiAvatarGroup.js +10 -80
- 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 +17 -95
- package/vue/chunks/UiCluster.js +1 -1
- package/vue/chunks/UiCombobox.js +114 -325
- package/vue/chunks/UiContainer.js +1 -1
- package/vue/chunks/UiContextMenu.js +21 -113
- package/vue/chunks/UiDialog.js +20 -99
- package/vue/chunks/UiDisclosure.js +22 -112
- package/vue/chunks/UiEditable.js +32 -128
- package/vue/chunks/UiEditorInsertTableGrid.js +22 -116
- package/vue/chunks/UiEditorMentionMenu.js +18 -116
- package/vue/chunks/UiEditorSlashMenu.js +15 -101
- package/vue/chunks/UiEditorTableContextMenu.js +12 -91
- package/vue/chunks/UiEditorTableOverlay.js +29 -120
- package/vue/chunks/UiEditorTableToolbar.js +16 -111
- package/vue/chunks/UiEditorToolbar.js +1 -1
- package/vue/chunks/UiFloatingActionButton.js +1 -1
- package/vue/chunks/UiFormField.js +8 -73
- package/vue/chunks/UiGrid.js +1 -1
- package/vue/chunks/UiIcon.js +9 -78
- package/vue/chunks/UiIconButton.js +8 -73
- package/vue/chunks/UiInput.js +8 -73
- package/vue/chunks/UiMenu.js +25 -111
- package/vue/chunks/UiMenuItem.js +1 -1
- package/vue/chunks/UiPopover.js +18 -105
- package/vue/chunks/UiRadio.js +17 -95
- package/vue/chunks/UiRadioGroup.js +23 -105
- package/vue/chunks/UiReel.js +1 -1
- package/vue/chunks/UiSearchResultRow.js +1 -1
- package/vue/chunks/UiSearchShell.js +17 -94
- package/vue/chunks/UiSelect.js +8 -73
- package/vue/chunks/UiSeparator.js +1 -1
- package/vue/chunks/UiSidebar.js +23 -108
- package/vue/chunks/UiStack.js +1 -1
- package/vue/chunks/UiSwitch.js +17 -95
- package/vue/chunks/UiSwitcher.js +1 -1
- package/vue/chunks/UiTabs.js +22 -103
- package/vue/chunks/UiTextarea.js +8 -73
- package/vue/chunks/UiToastRegion.js +27 -112
- package/vue/chunks/UiTooltip.js +18 -106
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +31 -109
- package/vue/chunks/UiTreeItem.js +29 -119
- package/vue/chunks/host.js +101 -0
- package/vue/components.css +706 -706
- package/vue/host.ts +154 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { n as useComponentHost, t as createDispatch } from "./host.js";
|
|
1
2
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import {
|
|
3
|
+
import { createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, useTemplateRef } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-search-shell/ui-search-shell.js";
|
|
4
5
|
//#region .build/vue/UiSearchShell.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = ["aria-label"];
|
|
@@ -35,99 +36,21 @@ var UiSearchShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
35
36
|
const root = ref(null);
|
|
36
37
|
const dialogElement = useTemplateRef("dialog");
|
|
37
38
|
const internalOpen = ref(false);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"open",
|
|
47
|
-
"reason",
|
|
48
|
-
"trigger"
|
|
49
|
-
].includes(key)) };
|
|
50
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
51
|
-
const emitEvent = emit;
|
|
52
|
-
emitEvent(name, detail);
|
|
53
|
-
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
54
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
55
|
-
bubbles: true,
|
|
56
|
-
composed: true,
|
|
57
|
-
...declared[name],
|
|
58
|
-
detail
|
|
59
|
-
})) ?? true;
|
|
60
|
-
}
|
|
61
|
-
function read(name) {
|
|
62
|
-
if (name === "internalOpen") return internalOpen.value;
|
|
63
|
-
return props[name];
|
|
64
|
-
}
|
|
65
|
-
function write(name, value) {
|
|
66
|
-
if (name === "internalOpen") {
|
|
67
|
-
internalOpen.value = value;
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
71
|
-
}
|
|
72
|
-
const stops = [];
|
|
73
|
-
const host = {
|
|
74
|
-
get element() {
|
|
75
|
-
return root.value;
|
|
76
|
-
},
|
|
77
|
-
state: new Proxy({}, {
|
|
78
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
79
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
80
|
-
}),
|
|
81
|
-
refs: { get dialog() {
|
|
82
|
-
return dialogElement.value;
|
|
83
|
-
} },
|
|
84
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
85
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
86
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
87
|
-
} }),
|
|
88
|
-
signal(initialValue) {
|
|
89
|
-
const value = shallowRef(initialValue);
|
|
90
|
-
return {
|
|
91
|
-
get: () => value.value,
|
|
92
|
-
set: (next) => {
|
|
93
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
94
|
-
},
|
|
95
|
-
update: (next) => {
|
|
96
|
-
const updated = next(value.value);
|
|
97
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
},
|
|
101
|
-
computed(compute) {
|
|
102
|
-
const value = computed(compute);
|
|
103
|
-
return { get: () => value.value };
|
|
104
|
-
},
|
|
105
|
-
effect(run) {
|
|
106
|
-
const stop = watchEffect((onCleanup) => {
|
|
107
|
-
const cleanup = run();
|
|
108
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
109
|
-
}, { flush: "post" });
|
|
110
|
-
stops.push(stop);
|
|
111
|
-
return stop;
|
|
112
|
-
},
|
|
113
|
-
on(event, listener) {
|
|
114
|
-
const element = root.value;
|
|
115
|
-
element?.addEventListener(event, listener);
|
|
116
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
117
|
-
stops.push(off);
|
|
118
|
-
return off;
|
|
119
|
-
},
|
|
120
|
-
dispatch
|
|
121
|
-
};
|
|
122
|
-
let cleanup;
|
|
123
|
-
onMounted(() => {
|
|
124
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
125
|
-
cleanup = result;
|
|
126
|
-
});
|
|
39
|
+
const isCloseDetail = (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) => [
|
|
40
|
+
"open",
|
|
41
|
+
"reason",
|
|
42
|
+
"trigger"
|
|
43
|
+
].includes(key));
|
|
44
|
+
const dispatch = createDispatch(root, emit, {
|
|
45
|
+
checks: { close: isCloseDetail },
|
|
46
|
+
modeled: ["open"]
|
|
127
47
|
});
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
48
|
+
useComponentHost(controllerModule.default, {
|
|
49
|
+
root,
|
|
50
|
+
dispatch,
|
|
51
|
+
props,
|
|
52
|
+
refs: { dialog: dialogElement },
|
|
53
|
+
state: { internalOpen }
|
|
131
54
|
});
|
|
132
55
|
return (_ctx, _cache) => {
|
|
133
56
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-search-shell" }, _ctx.$attrs, {
|
|
@@ -144,6 +67,6 @@ var UiSearchShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
144
67
|
])], 8, _hoisted_1)], 16);
|
|
145
68
|
};
|
|
146
69
|
}
|
|
147
|
-
}), [["__scopeId", "data-v-
|
|
70
|
+
}), [["__scopeId", "data-v-d27d0d8a"]]);
|
|
148
71
|
//#endregion
|
|
149
72
|
export { UiSearchShell_default as t };
|
package/vue/chunks/UiSelect.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { n as useComponentHost, t as createDispatch } from "./host.js";
|
|
1
2
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import { computed, createElementBlock, defineComponent, mergeProps,
|
|
3
|
+
import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, vModelSelect, withDirectives } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-select/ui-select.js";
|
|
4
5
|
//#region .build/vue/UiSelect.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = [
|
|
@@ -42,77 +43,11 @@ var UiSelect_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
42
43
|
set: (value) => emit("update:modelValue", value)
|
|
43
44
|
});
|
|
44
45
|
const root = ref(null);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
detail
|
|
51
|
-
})) ?? true;
|
|
52
|
-
}
|
|
53
|
-
function read(name) {
|
|
54
|
-
return props[name];
|
|
55
|
-
}
|
|
56
|
-
function write(name, value) {
|
|
57
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
58
|
-
}
|
|
59
|
-
const stops = [];
|
|
60
|
-
const host = {
|
|
61
|
-
get element() {
|
|
62
|
-
return root.value;
|
|
63
|
-
},
|
|
64
|
-
state: new Proxy({}, {
|
|
65
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
66
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
67
|
-
}),
|
|
68
|
-
refs: {},
|
|
69
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
70
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
71
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
72
|
-
} }),
|
|
73
|
-
signal(initialValue) {
|
|
74
|
-
const value = shallowRef(initialValue);
|
|
75
|
-
return {
|
|
76
|
-
get: () => value.value,
|
|
77
|
-
set: (next) => {
|
|
78
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
79
|
-
},
|
|
80
|
-
update: (next) => {
|
|
81
|
-
const updated = next(value.value);
|
|
82
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
},
|
|
86
|
-
computed(compute) {
|
|
87
|
-
const value = computed(compute);
|
|
88
|
-
return { get: () => value.value };
|
|
89
|
-
},
|
|
90
|
-
effect(run) {
|
|
91
|
-
const stop = watchEffect((onCleanup) => {
|
|
92
|
-
const cleanup = run();
|
|
93
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
94
|
-
}, { flush: "post" });
|
|
95
|
-
stops.push(stop);
|
|
96
|
-
return stop;
|
|
97
|
-
},
|
|
98
|
-
on(event, listener) {
|
|
99
|
-
const element = root.value;
|
|
100
|
-
element?.addEventListener(event, listener);
|
|
101
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
102
|
-
stops.push(off);
|
|
103
|
-
return off;
|
|
104
|
-
},
|
|
105
|
-
dispatch
|
|
106
|
-
};
|
|
107
|
-
let cleanup;
|
|
108
|
-
onMounted(() => {
|
|
109
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
110
|
-
cleanup = result;
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
onBeforeUnmount(() => {
|
|
114
|
-
for (const stop of stops.splice(0)) stop();
|
|
115
|
-
if (typeof cleanup === "function") cleanup();
|
|
46
|
+
const dispatch = createDispatch(root);
|
|
47
|
+
useComponentHost(controllerModule.default, {
|
|
48
|
+
root,
|
|
49
|
+
dispatch,
|
|
50
|
+
props
|
|
116
51
|
});
|
|
117
52
|
return (_ctx, _cache) => {
|
|
118
53
|
return withDirectives((openBlock(), createElementBlock("select", mergeProps({ "data-component": "ui-select" }, _ctx.$attrs, {
|
|
@@ -126,6 +61,6 @@ var UiSelect_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
126
61
|
}), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1)), [[vModelSelect, model.value]]);
|
|
127
62
|
};
|
|
128
63
|
}
|
|
129
|
-
}), [["__scopeId", "data-v-
|
|
64
|
+
}), [["__scopeId", "data-v-d36968b7"]]);
|
|
130
65
|
//#endregion
|
|
131
66
|
export { UiSelect_default as t };
|
|
@@ -13,6 +13,6 @@ var UiSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
13
13
|
return openBlock(), createElementBlock("hr", mergeProps({ "data-component": "ui-separator" }, _ctx.$attrs, { "aria-orientation": __props.orientation }), null, 16, _hoisted_1);
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
}), [["__scopeId", "data-v-
|
|
16
|
+
}), [["__scopeId", "data-v-f07c3800"]]);
|
|
17
17
|
//#endregion
|
|
18
18
|
export { UiSeparator_default as t };
|
package/vue/chunks/UiSidebar.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { n as useComponentHost, t as createDispatch } from "./host.js";
|
|
1
2
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps,
|
|
3
|
+
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, useTemplateRef } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-sidebar/ui-sidebar.js";
|
|
4
5
|
//#region .build/vue/UiSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = ["data-ui-sidebar-state"];
|
|
@@ -41,114 +42,28 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
41
42
|
const drawer = ref(false);
|
|
42
43
|
/** The values the styles' :host-state() rules test. */
|
|
43
44
|
const hostState = computed(() => [props.side && `side side=${props.side}`, internalCollapsed.value && "internalCollapsed"].filter(Boolean).join(" "));
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
composed: true,
|
|
55
|
-
cancelable: false
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const checks = {
|
|
59
|
-
resize: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["width"] === "number" && Number.isFinite(detail["width"]) && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["width", "trigger"].includes(key)),
|
|
60
|
-
toggle: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["mode"] === "docked" || detail["mode"] === "drawer") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
61
|
-
"open",
|
|
62
|
-
"mode",
|
|
63
|
-
"trigger"
|
|
64
|
-
].includes(key))
|
|
65
|
-
};
|
|
66
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
67
|
-
const emitEvent = emit;
|
|
68
|
-
emitEvent(name, detail);
|
|
69
|
-
if (detail !== null && typeof detail === "object" && "width" in detail) emitEvent("update:width", detail["width"]);
|
|
70
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
71
|
-
bubbles: true,
|
|
72
|
-
composed: true,
|
|
73
|
-
...declared[name],
|
|
74
|
-
detail
|
|
75
|
-
})) ?? true;
|
|
76
|
-
}
|
|
77
|
-
function read(name) {
|
|
78
|
-
if (name === "internalCollapsed") return internalCollapsed.value;
|
|
79
|
-
if (name === "drawer") return drawer.value;
|
|
80
|
-
return props[name];
|
|
81
|
-
}
|
|
82
|
-
function write(name, value) {
|
|
83
|
-
if (name === "internalCollapsed") {
|
|
84
|
-
internalCollapsed.value = value;
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
if (name === "drawer") {
|
|
88
|
-
drawer.value = value;
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
92
|
-
}
|
|
93
|
-
const stops = [];
|
|
94
|
-
const host = {
|
|
95
|
-
get element() {
|
|
96
|
-
return root.value;
|
|
97
|
-
},
|
|
98
|
-
state: new Proxy({}, {
|
|
99
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
100
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
101
|
-
}),
|
|
102
|
-
refs: { get resizer() {
|
|
103
|
-
return resizerElement.value;
|
|
104
|
-
} },
|
|
105
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
106
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
107
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
108
|
-
} }),
|
|
109
|
-
signal(initialValue) {
|
|
110
|
-
const value = shallowRef(initialValue);
|
|
111
|
-
return {
|
|
112
|
-
get: () => value.value,
|
|
113
|
-
set: (next) => {
|
|
114
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
115
|
-
},
|
|
116
|
-
update: (next) => {
|
|
117
|
-
const updated = next(value.value);
|
|
118
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
},
|
|
122
|
-
computed(compute) {
|
|
123
|
-
const value = computed(compute);
|
|
124
|
-
return { get: () => value.value };
|
|
45
|
+
const isResizeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["width"] === "number" && Number.isFinite(detail["width"]) && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["width", "trigger"].includes(key));
|
|
46
|
+
const isToggleDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["mode"] === "docked" || detail["mode"] === "drawer") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
47
|
+
"open",
|
|
48
|
+
"mode",
|
|
49
|
+
"trigger"
|
|
50
|
+
].includes(key));
|
|
51
|
+
const dispatch = createDispatch(root, emit, {
|
|
52
|
+
checks: {
|
|
53
|
+
resize: isResizeDetail,
|
|
54
|
+
toggle: isToggleDetail
|
|
125
55
|
},
|
|
126
|
-
|
|
127
|
-
const stop = watchEffect((onCleanup) => {
|
|
128
|
-
const cleanup = run();
|
|
129
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
130
|
-
}, { flush: "post" });
|
|
131
|
-
stops.push(stop);
|
|
132
|
-
return stop;
|
|
133
|
-
},
|
|
134
|
-
on(event, listener) {
|
|
135
|
-
const element = root.value;
|
|
136
|
-
element?.addEventListener(event, listener);
|
|
137
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
138
|
-
stops.push(off);
|
|
139
|
-
return off;
|
|
140
|
-
},
|
|
141
|
-
dispatch
|
|
142
|
-
};
|
|
143
|
-
let cleanup;
|
|
144
|
-
onMounted(() => {
|
|
145
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
146
|
-
cleanup = result;
|
|
147
|
-
});
|
|
56
|
+
modeled: ["width"]
|
|
148
57
|
});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
58
|
+
useComponentHost(controllerModule.default, {
|
|
59
|
+
root,
|
|
60
|
+
dispatch,
|
|
61
|
+
props,
|
|
62
|
+
refs: { resizer: resizerElement },
|
|
63
|
+
state: {
|
|
64
|
+
internalCollapsed,
|
|
65
|
+
drawer
|
|
66
|
+
}
|
|
152
67
|
});
|
|
153
68
|
return (_ctx, _cache) => {
|
|
154
69
|
return openBlock(), createElementBlock("aside", mergeProps({ "data-component": "ui-sidebar" }, _ctx.$attrs, {
|
|
@@ -170,6 +85,6 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
170
85
|
}, null, -1)])], 8, _hoisted_3)], 16, _hoisted_1);
|
|
171
86
|
};
|
|
172
87
|
}
|
|
173
|
-
}), [["__scopeId", "data-v-
|
|
88
|
+
}), [["__scopeId", "data-v-4bcdb743"]]);
|
|
174
89
|
//#endregion
|
|
175
90
|
export { UiSidebar_default as t };
|
package/vue/chunks/UiStack.js
CHANGED
|
@@ -24,6 +24,6 @@ var UiStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
24
24
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-stack" }, _ctx.$attrs, { "data-ui-stack-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
}), [["__scopeId", "data-v-
|
|
27
|
+
}), [["__scopeId", "data-v-43678d8b"]]);
|
|
28
28
|
//#endregion
|
|
29
29
|
export { UiStack_default as t };
|
package/vue/chunks/UiSwitch.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { n as useComponentHost, t as createDispatch } from "./host.js";
|
|
1
2
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps,
|
|
3
|
+
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, useTemplateRef } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-switch/ui-switch.js";
|
|
4
5
|
//#region .build/vue/UiSwitch.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = ["data-ui-switch-state"];
|
|
@@ -43,100 +44,21 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
43
44
|
const internalChecked = ref(false);
|
|
44
45
|
/** The values the styles' :host-state() rules test. */
|
|
45
46
|
const hostState = computed(() => [props.disabled && "disabled"].filter(Boolean).join(" "));
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"checked",
|
|
55
|
-
"value",
|
|
56
|
-
"trigger"
|
|
57
|
-
].includes(key)) };
|
|
58
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
59
|
-
const emitEvent = emit;
|
|
60
|
-
emitEvent(name, detail);
|
|
61
|
-
if (detail !== null && typeof detail === "object" && "checked" in detail) emitEvent("update:checked", detail["checked"]);
|
|
62
|
-
if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
|
|
63
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
64
|
-
bubbles: true,
|
|
65
|
-
composed: true,
|
|
66
|
-
...declared[name],
|
|
67
|
-
detail
|
|
68
|
-
})) ?? true;
|
|
69
|
-
}
|
|
70
|
-
function read(name) {
|
|
71
|
-
if (name === "internalChecked") return internalChecked.value;
|
|
72
|
-
return props[name];
|
|
73
|
-
}
|
|
74
|
-
function write(name, value) {
|
|
75
|
-
if (name === "internalChecked") {
|
|
76
|
-
internalChecked.value = value;
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
80
|
-
}
|
|
81
|
-
const stops = [];
|
|
82
|
-
const host = {
|
|
83
|
-
get element() {
|
|
84
|
-
return root.value;
|
|
85
|
-
},
|
|
86
|
-
state: new Proxy({}, {
|
|
87
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
88
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
89
|
-
}),
|
|
90
|
-
refs: { get input() {
|
|
91
|
-
return inputElement.value;
|
|
92
|
-
} },
|
|
93
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
94
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
95
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
96
|
-
} }),
|
|
97
|
-
signal(initialValue) {
|
|
98
|
-
const value = shallowRef(initialValue);
|
|
99
|
-
return {
|
|
100
|
-
get: () => value.value,
|
|
101
|
-
set: (next) => {
|
|
102
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
103
|
-
},
|
|
104
|
-
update: (next) => {
|
|
105
|
-
const updated = next(value.value);
|
|
106
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
},
|
|
110
|
-
computed(compute) {
|
|
111
|
-
const value = computed(compute);
|
|
112
|
-
return { get: () => value.value };
|
|
113
|
-
},
|
|
114
|
-
effect(run) {
|
|
115
|
-
const stop = watchEffect((onCleanup) => {
|
|
116
|
-
const cleanup = run();
|
|
117
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
118
|
-
}, { flush: "post" });
|
|
119
|
-
stops.push(stop);
|
|
120
|
-
return stop;
|
|
121
|
-
},
|
|
122
|
-
on(event, listener) {
|
|
123
|
-
const element = root.value;
|
|
124
|
-
element?.addEventListener(event, listener);
|
|
125
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
126
|
-
stops.push(off);
|
|
127
|
-
return off;
|
|
128
|
-
},
|
|
129
|
-
dispatch
|
|
130
|
-
};
|
|
131
|
-
let cleanup;
|
|
132
|
-
onMounted(() => {
|
|
133
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
134
|
-
cleanup = result;
|
|
135
|
-
});
|
|
47
|
+
const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
48
|
+
"checked",
|
|
49
|
+
"value",
|
|
50
|
+
"trigger"
|
|
51
|
+
].includes(key));
|
|
52
|
+
const dispatch = createDispatch(root, emit, {
|
|
53
|
+
checks: { change: isChangeDetail },
|
|
54
|
+
modeled: ["checked", "value"]
|
|
136
55
|
});
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
56
|
+
useComponentHost(controllerModule.default, {
|
|
57
|
+
root,
|
|
58
|
+
dispatch,
|
|
59
|
+
props,
|
|
60
|
+
refs: { input: inputElement },
|
|
61
|
+
state: { internalChecked }
|
|
140
62
|
});
|
|
141
63
|
return (_ctx, _cache) => {
|
|
142
64
|
return openBlock(), createElementBlock("label", mergeProps({ "data-component": "ui-switch" }, _ctx.$attrs, {
|
|
@@ -154,6 +76,6 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
|
|
|
154
76
|
}, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
155
77
|
};
|
|
156
78
|
}
|
|
157
|
-
}), [["__scopeId", "data-v-
|
|
79
|
+
}), [["__scopeId", "data-v-529fe437"]]);
|
|
158
80
|
//#endregion
|
|
159
81
|
export { UiSwitch_default as t };
|
package/vue/chunks/UiSwitcher.js
CHANGED
|
@@ -24,6 +24,6 @@ var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
24
24
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, { "data-ui-switcher-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
}), [["__scopeId", "data-v-
|
|
27
|
+
}), [["__scopeId", "data-v-3ed2c685"]]);
|
|
28
28
|
//#endregion
|
|
29
29
|
export { UiSwitcher_default as t };
|