@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 { Fragment,
|
|
3
|
+
import { Fragment, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, toDisplayString } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-editor-mention-menu/ui-editor-mention-menu.js";
|
|
4
5
|
//#region .build/vue/UiEditorMentionMenu.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = ["aria-busy", "hidden"];
|
|
@@ -57,121 +58,22 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
|
|
|
57
58
|
const searching = ref(false);
|
|
58
59
|
const active = ref(0);
|
|
59
60
|
const prefix = ref("ui-editor-mention-menu");
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
highlight: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key)),
|
|
76
|
-
select: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key))
|
|
77
|
-
};
|
|
78
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
79
|
-
emit(name, detail);
|
|
80
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
81
|
-
bubbles: true,
|
|
82
|
-
composed: true,
|
|
83
|
-
...declared[name],
|
|
84
|
-
detail
|
|
85
|
-
})) ?? true;
|
|
86
|
-
}
|
|
87
|
-
function read(name) {
|
|
88
|
-
if (name === "visible") return visible.value;
|
|
89
|
-
if (name === "rows") return rows.value;
|
|
90
|
-
if (name === "searching") return searching.value;
|
|
91
|
-
if (name === "active") return active.value;
|
|
92
|
-
if (name === "prefix") return prefix.value;
|
|
93
|
-
return props[name];
|
|
94
|
-
}
|
|
95
|
-
function write(name, value) {
|
|
96
|
-
if (name === "visible") {
|
|
97
|
-
visible.value = value;
|
|
98
|
-
return true;
|
|
61
|
+
const isHighlightDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key));
|
|
62
|
+
const dispatch = createDispatch(root, emit, { checks: {
|
|
63
|
+
highlight: isHighlightDetail,
|
|
64
|
+
select: isHighlightDetail
|
|
65
|
+
} });
|
|
66
|
+
useComponentHost(controllerModule.default, {
|
|
67
|
+
root,
|
|
68
|
+
dispatch,
|
|
69
|
+
props,
|
|
70
|
+
state: {
|
|
71
|
+
visible,
|
|
72
|
+
rows,
|
|
73
|
+
searching,
|
|
74
|
+
active,
|
|
75
|
+
prefix
|
|
99
76
|
}
|
|
100
|
-
if (name === "rows") {
|
|
101
|
-
rows.value = value;
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
if (name === "searching") {
|
|
105
|
-
searching.value = value;
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
if (name === "active") {
|
|
109
|
-
active.value = value;
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
if (name === "prefix") {
|
|
113
|
-
prefix.value = value;
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
117
|
-
}
|
|
118
|
-
const stops = [];
|
|
119
|
-
const host = {
|
|
120
|
-
get element() {
|
|
121
|
-
return root.value;
|
|
122
|
-
},
|
|
123
|
-
state: new Proxy({}, {
|
|
124
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
125
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
126
|
-
}),
|
|
127
|
-
refs: {},
|
|
128
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
129
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
130
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
131
|
-
} }),
|
|
132
|
-
signal(initialValue) {
|
|
133
|
-
const value = shallowRef(initialValue);
|
|
134
|
-
return {
|
|
135
|
-
get: () => value.value,
|
|
136
|
-
set: (next) => {
|
|
137
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
138
|
-
},
|
|
139
|
-
update: (next) => {
|
|
140
|
-
const updated = next(value.value);
|
|
141
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
computed(compute) {
|
|
146
|
-
const value = computed(compute);
|
|
147
|
-
return { get: () => value.value };
|
|
148
|
-
},
|
|
149
|
-
effect(run) {
|
|
150
|
-
const stop = watchEffect((onCleanup) => {
|
|
151
|
-
const cleanup = run();
|
|
152
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
153
|
-
}, { flush: "post" });
|
|
154
|
-
stops.push(stop);
|
|
155
|
-
return stop;
|
|
156
|
-
},
|
|
157
|
-
on(event, listener) {
|
|
158
|
-
const element = root.value;
|
|
159
|
-
element?.addEventListener(event, listener);
|
|
160
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
161
|
-
stops.push(off);
|
|
162
|
-
return off;
|
|
163
|
-
},
|
|
164
|
-
dispatch
|
|
165
|
-
};
|
|
166
|
-
let cleanup;
|
|
167
|
-
onMounted(() => {
|
|
168
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
169
|
-
cleanup = result;
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
onBeforeUnmount(() => {
|
|
173
|
-
for (const stop of stops.splice(0)) stop();
|
|
174
|
-
if (typeof cleanup === "function") cleanup();
|
|
175
77
|
});
|
|
176
78
|
return (_ctx, _cache) => {
|
|
177
79
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -199,6 +101,6 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
|
|
|
199
101
|
], 16, _hoisted_1);
|
|
200
102
|
};
|
|
201
103
|
}
|
|
202
|
-
}), [["__scopeId", "data-v-
|
|
104
|
+
}), [["__scopeId", "data-v-78edc5f6"]]);
|
|
203
105
|
//#endregion
|
|
204
106
|
export { UiEditorMentionMenu_default as t };
|
|
@@ -1,6 +1,7 @@
|
|
|
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
3
|
import { t as UiIcon_default } from "./UiIcon.js";
|
|
3
|
-
import { Fragment,
|
|
4
|
+
import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, toDisplayString } from "vue";
|
|
4
5
|
import * as controllerModule from "@threadlabs/looma/components/ui-editor-slash-menu/ui-editor-slash-menu.js";
|
|
5
6
|
//#region .build/vue/UiEditorSlashMenu.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var _hoisted_1 = ["hidden"];
|
|
@@ -46,106 +47,19 @@ var UiEditorSlashMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
|
|
|
46
47
|
const root = ref(null);
|
|
47
48
|
const visible = ref(false);
|
|
48
49
|
const active = ref(0);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const checks = {
|
|
64
|
-
highlight: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key)),
|
|
65
|
-
select: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key))
|
|
66
|
-
};
|
|
67
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
68
|
-
emit(name, detail);
|
|
69
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
70
|
-
bubbles: true,
|
|
71
|
-
composed: true,
|
|
72
|
-
...declared[name],
|
|
73
|
-
detail
|
|
74
|
-
})) ?? true;
|
|
75
|
-
}
|
|
76
|
-
function read(name) {
|
|
77
|
-
if (name === "visible") return visible.value;
|
|
78
|
-
if (name === "active") return active.value;
|
|
79
|
-
return props[name];
|
|
80
|
-
}
|
|
81
|
-
function write(name, value) {
|
|
82
|
-
if (name === "visible") {
|
|
83
|
-
visible.value = value;
|
|
84
|
-
return true;
|
|
50
|
+
const isHighlightDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key));
|
|
51
|
+
const dispatch = createDispatch(root, emit, { checks: {
|
|
52
|
+
highlight: isHighlightDetail,
|
|
53
|
+
select: isHighlightDetail
|
|
54
|
+
} });
|
|
55
|
+
useComponentHost(controllerModule.default, {
|
|
56
|
+
root,
|
|
57
|
+
dispatch,
|
|
58
|
+
props,
|
|
59
|
+
state: {
|
|
60
|
+
visible,
|
|
61
|
+
active
|
|
85
62
|
}
|
|
86
|
-
if (name === "active") {
|
|
87
|
-
active.value = value;
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
91
|
-
}
|
|
92
|
-
const stops = [];
|
|
93
|
-
const host = {
|
|
94
|
-
get element() {
|
|
95
|
-
return root.value;
|
|
96
|
-
},
|
|
97
|
-
state: new Proxy({}, {
|
|
98
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
99
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
100
|
-
}),
|
|
101
|
-
refs: {},
|
|
102
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
103
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
104
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
105
|
-
} }),
|
|
106
|
-
signal(initialValue) {
|
|
107
|
-
const value = shallowRef(initialValue);
|
|
108
|
-
return {
|
|
109
|
-
get: () => value.value,
|
|
110
|
-
set: (next) => {
|
|
111
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
112
|
-
},
|
|
113
|
-
update: (next) => {
|
|
114
|
-
const updated = next(value.value);
|
|
115
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
},
|
|
119
|
-
computed(compute) {
|
|
120
|
-
const value = computed(compute);
|
|
121
|
-
return { get: () => value.value };
|
|
122
|
-
},
|
|
123
|
-
effect(run) {
|
|
124
|
-
const stop = watchEffect((onCleanup) => {
|
|
125
|
-
const cleanup = run();
|
|
126
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
127
|
-
}, { flush: "post" });
|
|
128
|
-
stops.push(stop);
|
|
129
|
-
return stop;
|
|
130
|
-
},
|
|
131
|
-
on(event, listener) {
|
|
132
|
-
const element = root.value;
|
|
133
|
-
element?.addEventListener(event, listener);
|
|
134
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
135
|
-
stops.push(off);
|
|
136
|
-
return off;
|
|
137
|
-
},
|
|
138
|
-
dispatch
|
|
139
|
-
};
|
|
140
|
-
let cleanup;
|
|
141
|
-
onMounted(() => {
|
|
142
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
143
|
-
cleanup = result;
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
onBeforeUnmount(() => {
|
|
147
|
-
for (const stop of stops.splice(0)) stop();
|
|
148
|
-
if (typeof cleanup === "function") cleanup();
|
|
149
63
|
});
|
|
150
64
|
return (_ctx, _cache) => {
|
|
151
65
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -181,6 +95,6 @@ var UiEditorSlashMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
|
|
|
181
95
|
], 16, _hoisted_1);
|
|
182
96
|
};
|
|
183
97
|
}
|
|
184
|
-
}), [["__scopeId", "data-v-
|
|
98
|
+
}), [["__scopeId", "data-v-346835f7"]]);
|
|
185
99
|
//#endregion
|
|
186
100
|
export { UiEditorSlashMenu_default as t };
|
|
@@ -1,6 +1,7 @@
|
|
|
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
3
|
import { t as UiIcon_default } from "./UiIcon.js";
|
|
3
|
-
import { Fragment,
|
|
4
|
+
import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString } from "vue";
|
|
4
5
|
import * as controllerModule from "@threadlabs/looma/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js";
|
|
5
6
|
//#region .build/vue/UiEditorTableContextMenu.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var _hoisted_1 = ["hidden"];
|
|
@@ -45,96 +46,16 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
|
|
|
45
46
|
const root = ref(null);
|
|
46
47
|
const swatches = ref([]);
|
|
47
48
|
const sections = ref([]);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
emit(name, detail);
|
|
58
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
59
|
-
bubbles: true,
|
|
60
|
-
composed: true,
|
|
61
|
-
...declared[name],
|
|
62
|
-
detail
|
|
63
|
-
})) ?? true;
|
|
64
|
-
}
|
|
65
|
-
function read(name) {
|
|
66
|
-
if (name === "swatches") return swatches.value;
|
|
67
|
-
if (name === "sections") return sections.value;
|
|
68
|
-
return props[name];
|
|
69
|
-
}
|
|
70
|
-
function write(name, value) {
|
|
71
|
-
if (name === "swatches") {
|
|
72
|
-
swatches.value = value;
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
if (name === "sections") {
|
|
76
|
-
sections.value = value;
|
|
77
|
-
return true;
|
|
49
|
+
const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "align-left" || detail["action"] === "align-center" || detail["action"] === "align-right" || detail["action"] === "background-none" || detail["action"] === "background-gray" || detail["action"] === "background-yellow" || detail["action"] === "background-blue" || detail["action"] === "background-green" || detail["action"] === "background-red" || detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after" || detail["action"] === "clear-cells" || detail["action"] === "merge-cells" || detail["action"] === "split-cell" || detail["action"] === "delete-row" || detail["action"] === "delete-column" || detail["action"] === "delete-table") && Object.keys(detail).every((key) => ["action"].includes(key));
|
|
50
|
+
const dispatch = createDispatch(root, emit, { checks: { action: isActionDetail } });
|
|
51
|
+
useComponentHost(controllerModule.default, {
|
|
52
|
+
root,
|
|
53
|
+
dispatch,
|
|
54
|
+
props,
|
|
55
|
+
state: {
|
|
56
|
+
swatches,
|
|
57
|
+
sections
|
|
78
58
|
}
|
|
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: {},
|
|
91
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
92
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
93
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
94
|
-
} }),
|
|
95
|
-
signal(initialValue) {
|
|
96
|
-
const value = shallowRef(initialValue);
|
|
97
|
-
return {
|
|
98
|
-
get: () => value.value,
|
|
99
|
-
set: (next) => {
|
|
100
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
101
|
-
},
|
|
102
|
-
update: (next) => {
|
|
103
|
-
const updated = next(value.value);
|
|
104
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
},
|
|
108
|
-
computed(compute) {
|
|
109
|
-
const value = computed(compute);
|
|
110
|
-
return { get: () => value.value };
|
|
111
|
-
},
|
|
112
|
-
effect(run) {
|
|
113
|
-
const stop = watchEffect((onCleanup) => {
|
|
114
|
-
const cleanup = run();
|
|
115
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
116
|
-
}, { flush: "post" });
|
|
117
|
-
stops.push(stop);
|
|
118
|
-
return stop;
|
|
119
|
-
},
|
|
120
|
-
on(event, listener) {
|
|
121
|
-
const element = root.value;
|
|
122
|
-
element?.addEventListener(event, listener);
|
|
123
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
124
|
-
stops.push(off);
|
|
125
|
-
return off;
|
|
126
|
-
},
|
|
127
|
-
dispatch
|
|
128
|
-
};
|
|
129
|
-
let cleanup;
|
|
130
|
-
onMounted(() => {
|
|
131
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
132
|
-
cleanup = result;
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
onBeforeUnmount(() => {
|
|
136
|
-
for (const stop of stops.splice(0)) stop();
|
|
137
|
-
if (typeof cleanup === "function") cleanup();
|
|
138
59
|
});
|
|
139
60
|
return (_ctx, _cache) => {
|
|
140
61
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -172,6 +93,6 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
|
|
|
172
93
|
}), 128))], 16, _hoisted_1);
|
|
173
94
|
};
|
|
174
95
|
}
|
|
175
|
-
}), [["__scopeId", "data-v-
|
|
96
|
+
}), [["__scopeId", "data-v-a938b94a"]]);
|
|
176
97
|
//#endregion
|
|
177
98
|
export { UiEditorTableContextMenu_default as t };
|
|
@@ -1,6 +1,7 @@
|
|
|
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
3
|
import { t as UiIcon_default } from "./UiIcon.js";
|
|
3
|
-
import { Fragment,
|
|
4
|
+
import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString } from "vue";
|
|
4
5
|
import * as controllerModule from "@threadlabs/looma/components/ui-editor-table-overlay/ui-editor-table-overlay.js";
|
|
5
6
|
//#region .build/vue/UiEditorTableOverlay.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var _hoisted_1 = ["hidden"];
|
|
@@ -55,125 +56,33 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
55
56
|
const hovered = ref(null);
|
|
56
57
|
const active = ref(null);
|
|
57
58
|
const activeKey = ref("");
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
composed: true,
|
|
85
|
-
...declared[name],
|
|
86
|
-
detail
|
|
87
|
-
})) ?? true;
|
|
88
|
-
}
|
|
89
|
-
function read(name) {
|
|
90
|
-
if (name === "rows") return rows.value;
|
|
91
|
-
if (name === "cols") return cols.value;
|
|
92
|
-
if (name === "hovered") return hovered.value;
|
|
93
|
-
if (name === "active") return active.value;
|
|
94
|
-
if (name === "activeKey") return activeKey.value;
|
|
95
|
-
return props[name];
|
|
96
|
-
}
|
|
97
|
-
function write(name, value) {
|
|
98
|
-
if (name === "rows") {
|
|
99
|
-
rows.value = value;
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
if (name === "cols") {
|
|
103
|
-
cols.value = value;
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
if (name === "hovered") {
|
|
107
|
-
hovered.value = value;
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
if (name === "active") {
|
|
111
|
-
active.value = value;
|
|
112
|
-
return true;
|
|
59
|
+
const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after") && Number.isInteger(detail["boundaryIndex"]) && Object.keys(detail).every((key) => ["action", "boundaryIndex"].includes(key)) || detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "select-row" || detail["action"] === "select-column") && Number.isInteger(detail["rowIndex"]) && Number.isInteger(detail["columnIndex"]) && Object.keys(detail).every((key) => [
|
|
60
|
+
"action",
|
|
61
|
+
"rowIndex",
|
|
62
|
+
"columnIndex"
|
|
63
|
+
].includes(key)) || detail !== null && typeof detail === "object" && !Array.isArray(detail) && detail["action"] === "open-cell-menu" && Number.isInteger(detail["rowIndex"]) && Number.isInteger(detail["columnIndex"]) && detail["anchor"] !== null && typeof detail["anchor"] === "object" && !Array.isArray(detail["anchor"]) && typeof detail["anchor"]["left"] === "number" && Number.isFinite(detail["anchor"]["left"]) && typeof detail["anchor"]["top"] === "number" && Number.isFinite(detail["anchor"]["top"]) && typeof detail["anchor"]["right"] === "number" && Number.isFinite(detail["anchor"]["right"]) && typeof detail["anchor"]["bottom"] === "number" && Number.isFinite(detail["anchor"]["bottom"]) && Object.keys(detail["anchor"]).every((key) => [
|
|
64
|
+
"left",
|
|
65
|
+
"top",
|
|
66
|
+
"right",
|
|
67
|
+
"bottom"
|
|
68
|
+
].includes(key)) && Object.keys(detail).every((key) => [
|
|
69
|
+
"action",
|
|
70
|
+
"rowIndex",
|
|
71
|
+
"columnIndex",
|
|
72
|
+
"anchor"
|
|
73
|
+
].includes(key));
|
|
74
|
+
const dispatch = createDispatch(root, emit, { checks: { action: isActionDetail } });
|
|
75
|
+
useComponentHost(controllerModule.default, {
|
|
76
|
+
root,
|
|
77
|
+
dispatch,
|
|
78
|
+
props,
|
|
79
|
+
state: {
|
|
80
|
+
rows,
|
|
81
|
+
cols,
|
|
82
|
+
hovered,
|
|
83
|
+
active,
|
|
84
|
+
activeKey
|
|
113
85
|
}
|
|
114
|
-
if (name === "activeKey") {
|
|
115
|
-
activeKey.value = value;
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
119
|
-
}
|
|
120
|
-
const stops = [];
|
|
121
|
-
const host = {
|
|
122
|
-
get element() {
|
|
123
|
-
return root.value;
|
|
124
|
-
},
|
|
125
|
-
state: new Proxy({}, {
|
|
126
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
127
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
128
|
-
}),
|
|
129
|
-
refs: {},
|
|
130
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
131
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
132
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
133
|
-
} }),
|
|
134
|
-
signal(initialValue) {
|
|
135
|
-
const value = shallowRef(initialValue);
|
|
136
|
-
return {
|
|
137
|
-
get: () => value.value,
|
|
138
|
-
set: (next) => {
|
|
139
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
140
|
-
},
|
|
141
|
-
update: (next) => {
|
|
142
|
-
const updated = next(value.value);
|
|
143
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
},
|
|
147
|
-
computed(compute) {
|
|
148
|
-
const value = computed(compute);
|
|
149
|
-
return { get: () => value.value };
|
|
150
|
-
},
|
|
151
|
-
effect(run) {
|
|
152
|
-
const stop = watchEffect((onCleanup) => {
|
|
153
|
-
const cleanup = run();
|
|
154
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
155
|
-
}, { flush: "post" });
|
|
156
|
-
stops.push(stop);
|
|
157
|
-
return stop;
|
|
158
|
-
},
|
|
159
|
-
on(event, listener) {
|
|
160
|
-
const element = root.value;
|
|
161
|
-
element?.addEventListener(event, listener);
|
|
162
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
163
|
-
stops.push(off);
|
|
164
|
-
return off;
|
|
165
|
-
},
|
|
166
|
-
dispatch
|
|
167
|
-
};
|
|
168
|
-
let cleanup;
|
|
169
|
-
onMounted(() => {
|
|
170
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
171
|
-
cleanup = result;
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
onBeforeUnmount(() => {
|
|
175
|
-
for (const stop of stops.splice(0)) stop();
|
|
176
|
-
if (typeof cleanup === "function") cleanup();
|
|
177
86
|
});
|
|
178
87
|
return (_ctx, _cache) => {
|
|
179
88
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -272,6 +181,6 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
|
|
|
272
181
|
], 16, _hoisted_1);
|
|
273
182
|
};
|
|
274
183
|
}
|
|
275
|
-
}), [["__scopeId", "data-v-
|
|
184
|
+
}), [["__scopeId", "data-v-61a70a30"]]);
|
|
276
185
|
//#endregion
|
|
277
186
|
export { UiEditorTableOverlay_default as t };
|