@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
package/vue/chunks/UiTabs.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 { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps,
|
|
3
|
+
import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderList, renderSlot, toDisplayString, useTemplateRef } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-tabs/ui-tabs.js";
|
|
4
5
|
//#region .build/vue/UiTabs.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = ["data-ui-tabs-state"];
|
|
@@ -44,109 +45,27 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
44
45
|
props.stretch && "stretch",
|
|
45
46
|
props.orientation && `orientation orientation=${props.orientation}`
|
|
46
47
|
].filter(Boolean).join(" "));
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const emitEvent = emit;
|
|
61
|
-
emitEvent(name, detail);
|
|
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 === "internalValue") return internalValue.value;
|
|
72
|
-
if (name === "tabs") return tabs.value;
|
|
73
|
-
return props[name];
|
|
74
|
-
}
|
|
75
|
-
function write(name, value) {
|
|
76
|
-
if (name === "internalValue") {
|
|
77
|
-
internalValue.value = value;
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
if (name === "tabs") {
|
|
81
|
-
tabs.value = value;
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
85
|
-
}
|
|
86
|
-
const stops = [];
|
|
87
|
-
const host = {
|
|
88
|
-
get element() {
|
|
89
|
-
return root.value;
|
|
90
|
-
},
|
|
91
|
-
state: new Proxy({}, {
|
|
92
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
93
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
94
|
-
}),
|
|
48
|
+
const isSelectDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && typeof detail["previousValue"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
49
|
+
"value",
|
|
50
|
+
"previousValue",
|
|
51
|
+
"trigger"
|
|
52
|
+
].includes(key));
|
|
53
|
+
const dispatch = createDispatch(root, emit, {
|
|
54
|
+
checks: { select: isSelectDetail },
|
|
55
|
+
modeled: ["value"]
|
|
56
|
+
});
|
|
57
|
+
useComponentHost(controllerModule.default, {
|
|
58
|
+
root,
|
|
59
|
+
dispatch,
|
|
60
|
+
props,
|
|
95
61
|
refs: {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
},
|
|
99
|
-
get panels() {
|
|
100
|
-
return panelsElement.value;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
104
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
105
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
106
|
-
} }),
|
|
107
|
-
signal(initialValue) {
|
|
108
|
-
const value = shallowRef(initialValue);
|
|
109
|
-
return {
|
|
110
|
-
get: () => value.value,
|
|
111
|
-
set: (next) => {
|
|
112
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
113
|
-
},
|
|
114
|
-
update: (next) => {
|
|
115
|
-
const updated = next(value.value);
|
|
116
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
},
|
|
120
|
-
computed(compute) {
|
|
121
|
-
const value = computed(compute);
|
|
122
|
-
return { get: () => value.value };
|
|
62
|
+
list: listElement,
|
|
63
|
+
panels: panelsElement
|
|
123
64
|
},
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}, { flush: "post" });
|
|
129
|
-
stops.push(stop);
|
|
130
|
-
return stop;
|
|
131
|
-
},
|
|
132
|
-
on(event, listener) {
|
|
133
|
-
const element = root.value;
|
|
134
|
-
element?.addEventListener(event, listener);
|
|
135
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
136
|
-
stops.push(off);
|
|
137
|
-
return off;
|
|
138
|
-
},
|
|
139
|
-
dispatch
|
|
140
|
-
};
|
|
141
|
-
let cleanup;
|
|
142
|
-
onMounted(() => {
|
|
143
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
144
|
-
cleanup = result;
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
onBeforeUnmount(() => {
|
|
148
|
-
for (const stop of stops.splice(0)) stop();
|
|
149
|
-
if (typeof cleanup === "function") cleanup();
|
|
65
|
+
state: {
|
|
66
|
+
internalValue,
|
|
67
|
+
tabs
|
|
68
|
+
}
|
|
150
69
|
});
|
|
151
70
|
return (_ctx, _cache) => {
|
|
152
71
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-tabs" }, _ctx.$attrs, {
|
|
@@ -172,6 +91,6 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
172
91
|
}), 128))], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
|
|
173
92
|
};
|
|
174
93
|
}
|
|
175
|
-
}), [["__scopeId", "data-v-
|
|
94
|
+
}), [["__scopeId", "data-v-f288c3b2"]]);
|
|
176
95
|
//#endregion
|
|
177
96
|
export { UiTabs_default as t };
|
package/vue/chunks/UiTextarea.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, vModelText, withDirectives } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-textarea/ui-textarea.js";
|
|
4
5
|
//#region .build/vue/UiTextarea.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = [
|
|
@@ -44,77 +45,11 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
44
45
|
set: (value) => emit("update:modelValue", value)
|
|
45
46
|
});
|
|
46
47
|
const root = ref(null);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
detail
|
|
53
|
-
})) ?? true;
|
|
54
|
-
}
|
|
55
|
-
function read(name) {
|
|
56
|
-
return props[name];
|
|
57
|
-
}
|
|
58
|
-
function write(name, value) {
|
|
59
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
60
|
-
}
|
|
61
|
-
const stops = [];
|
|
62
|
-
const host = {
|
|
63
|
-
get element() {
|
|
64
|
-
return root.value;
|
|
65
|
-
},
|
|
66
|
-
state: new Proxy({}, {
|
|
67
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
68
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
69
|
-
}),
|
|
70
|
-
refs: {},
|
|
71
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
72
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
73
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
74
|
-
} }),
|
|
75
|
-
signal(initialValue) {
|
|
76
|
-
const value = shallowRef(initialValue);
|
|
77
|
-
return {
|
|
78
|
-
get: () => value.value,
|
|
79
|
-
set: (next) => {
|
|
80
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
81
|
-
},
|
|
82
|
-
update: (next) => {
|
|
83
|
-
const updated = next(value.value);
|
|
84
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
},
|
|
88
|
-
computed(compute) {
|
|
89
|
-
const value = computed(compute);
|
|
90
|
-
return { get: () => value.value };
|
|
91
|
-
},
|
|
92
|
-
effect(run) {
|
|
93
|
-
const stop = watchEffect((onCleanup) => {
|
|
94
|
-
const cleanup = run();
|
|
95
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
96
|
-
}, { flush: "post" });
|
|
97
|
-
stops.push(stop);
|
|
98
|
-
return stop;
|
|
99
|
-
},
|
|
100
|
-
on(event, listener) {
|
|
101
|
-
const element = root.value;
|
|
102
|
-
element?.addEventListener(event, listener);
|
|
103
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
104
|
-
stops.push(off);
|
|
105
|
-
return off;
|
|
106
|
-
},
|
|
107
|
-
dispatch
|
|
108
|
-
};
|
|
109
|
-
let cleanup;
|
|
110
|
-
onMounted(() => {
|
|
111
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
112
|
-
cleanup = result;
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
onBeforeUnmount(() => {
|
|
116
|
-
for (const stop of stops.splice(0)) stop();
|
|
117
|
-
if (typeof cleanup === "function") cleanup();
|
|
48
|
+
const dispatch = createDispatch(root);
|
|
49
|
+
useComponentHost(controllerModule.default, {
|
|
50
|
+
root,
|
|
51
|
+
dispatch,
|
|
52
|
+
props
|
|
118
53
|
});
|
|
119
54
|
return (_ctx, _cache) => {
|
|
120
55
|
return withDirectives((openBlock(), createElementBlock("textarea", mergeProps({ "data-component": "ui-textarea" }, _ctx.$attrs, {
|
|
@@ -129,6 +64,6 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
129
64
|
}), null, 16, _hoisted_1)), [[vModelText, model.value]]);
|
|
130
65
|
};
|
|
131
66
|
}
|
|
132
|
-
}), [["__scopeId", "data-v-
|
|
67
|
+
}), [["__scopeId", "data-v-fd749c95"]]);
|
|
133
68
|
//#endregion
|
|
134
69
|
export { UiTextarea_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 UiIconButton_default } from "./UiIconButton.js";
|
|
3
|
-
import { Fragment,
|
|
4
|
+
import { Fragment, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, withCtx } from "vue";
|
|
4
5
|
import * as controllerModule from "@threadlabs/looma/components/ui-toast-region/ui-toast-region.js";
|
|
5
6
|
//#region .build/vue/UiToastRegion.vue?vue&type=script&setup=true&lang.ts
|
|
6
7
|
var _hoisted_1 = ["id", "role"];
|
|
@@ -34,120 +35,34 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
34
35
|
const root = ref(null);
|
|
35
36
|
const internalOpen = ref(false);
|
|
36
37
|
const toasts = ref([]);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const checks = {
|
|
52
|
-
close: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "timeout" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
53
|
-
"open",
|
|
54
|
-
"reason",
|
|
55
|
-
"trigger"
|
|
56
|
-
].includes(key)),
|
|
57
|
-
dismiss: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && (detail["reason"] === "action" || detail["reason"] === "timeout") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
58
|
-
"id",
|
|
59
|
-
"reason",
|
|
60
|
-
"trigger"
|
|
61
|
-
].includes(key))
|
|
62
|
-
};
|
|
63
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
64
|
-
const emitEvent = emit;
|
|
65
|
-
emitEvent(name, detail);
|
|
66
|
-
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
67
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
68
|
-
bubbles: true,
|
|
69
|
-
composed: true,
|
|
70
|
-
...declared[name],
|
|
71
|
-
detail
|
|
72
|
-
})) ?? true;
|
|
73
|
-
}
|
|
74
|
-
function read(name) {
|
|
75
|
-
if (name === "internalOpen") return internalOpen.value;
|
|
76
|
-
if (name === "toasts") return toasts.value;
|
|
77
|
-
return props[name];
|
|
78
|
-
}
|
|
79
|
-
function write(name, value) {
|
|
80
|
-
if (name === "internalOpen") {
|
|
81
|
-
internalOpen.value = value;
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
if (name === "toasts") {
|
|
85
|
-
toasts.value = value;
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
89
|
-
}
|
|
90
|
-
const stops = [];
|
|
91
|
-
const host = {
|
|
92
|
-
get element() {
|
|
93
|
-
return root.value;
|
|
94
|
-
},
|
|
95
|
-
state: new Proxy({}, {
|
|
96
|
-
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
97
|
-
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
98
|
-
}),
|
|
99
|
-
refs: {},
|
|
100
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
101
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
102
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
103
|
-
} }),
|
|
104
|
-
signal(initialValue) {
|
|
105
|
-
const value = shallowRef(initialValue);
|
|
106
|
-
return {
|
|
107
|
-
get: () => value.value,
|
|
108
|
-
set: (next) => {
|
|
109
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
110
|
-
},
|
|
111
|
-
update: (next) => {
|
|
112
|
-
const updated = next(value.value);
|
|
113
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
114
|
-
}
|
|
115
|
-
};
|
|
38
|
+
const isCloseDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "timeout" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
39
|
+
"open",
|
|
40
|
+
"reason",
|
|
41
|
+
"trigger"
|
|
42
|
+
].includes(key));
|
|
43
|
+
const isDismissDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && (detail["reason"] === "action" || detail["reason"] === "timeout") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
44
|
+
"id",
|
|
45
|
+
"reason",
|
|
46
|
+
"trigger"
|
|
47
|
+
].includes(key));
|
|
48
|
+
const dispatch = createDispatch(root, emit, {
|
|
49
|
+
checks: {
|
|
50
|
+
close: isCloseDetail,
|
|
51
|
+
dismiss: isDismissDetail
|
|
116
52
|
},
|
|
117
|
-
|
|
118
|
-
const value = computed(compute);
|
|
119
|
-
return { get: () => value.value };
|
|
120
|
-
},
|
|
121
|
-
effect(run) {
|
|
122
|
-
const stop = watchEffect((onCleanup) => {
|
|
123
|
-
const cleanup = run();
|
|
124
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
125
|
-
}, { flush: "post" });
|
|
126
|
-
stops.push(stop);
|
|
127
|
-
return stop;
|
|
128
|
-
},
|
|
129
|
-
on(event, listener) {
|
|
130
|
-
const element = root.value;
|
|
131
|
-
element?.addEventListener(event, listener);
|
|
132
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
133
|
-
stops.push(off);
|
|
134
|
-
return off;
|
|
135
|
-
},
|
|
136
|
-
dispatch
|
|
137
|
-
};
|
|
138
|
-
let cleanup;
|
|
139
|
-
let ready;
|
|
140
|
-
onMounted(() => {
|
|
141
|
-
ready = Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
142
|
-
cleanup = result;
|
|
143
|
-
});
|
|
53
|
+
modeled: ["open"]
|
|
144
54
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
55
|
+
const { host, ready } = useComponentHost(controllerModule.default, {
|
|
56
|
+
root,
|
|
57
|
+
dispatch,
|
|
58
|
+
props,
|
|
59
|
+
state: {
|
|
60
|
+
internalOpen,
|
|
61
|
+
toasts
|
|
62
|
+
}
|
|
148
63
|
});
|
|
149
64
|
__expose({ show: async (...args) => {
|
|
150
|
-
await ready;
|
|
65
|
+
await ready();
|
|
151
66
|
return controllerModule["show"](host, ...args);
|
|
152
67
|
} });
|
|
153
68
|
return (_ctx, _cache) => {
|
|
@@ -188,6 +103,6 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
188
103
|
}), 128))], 16);
|
|
189
104
|
};
|
|
190
105
|
}
|
|
191
|
-
}), [["__scopeId", "data-v-
|
|
106
|
+
}), [["__scopeId", "data-v-925e00c2"]]);
|
|
192
107
|
//#endregion
|
|
193
108
|
export { UiToastRegion_default as t };
|
package/vue/chunks/UiTooltip.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 } from "vue";
|
|
3
4
|
import * as controllerModule from "@threadlabs/looma/components/ui-tooltip/ui-tooltip.js";
|
|
4
5
|
//#region .build/vue/UiTooltip.vue?vue&type=script&setup=true&lang.ts
|
|
5
6
|
var _hoisted_1 = ["hidden", "data-ui-tooltip-state"];
|
|
@@ -41,112 +42,23 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
41
42
|
props.placement && "placement",
|
|
42
43
|
`placement=${encodeURIComponent(props.placement)}`
|
|
43
44
|
].filter(Boolean).join(" "));
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
close:
|
|
53
|
-
bubbles: true,
|
|
54
|
-
composed: true,
|
|
55
|
-
cancelable: false
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const checks = {
|
|
59
|
-
open: (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) => [
|
|
60
|
-
"open",
|
|
61
|
-
"reason",
|
|
62
|
-
"trigger"
|
|
63
|
-
].includes(key)),
|
|
64
|
-
close: (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) => [
|
|
65
|
-
"open",
|
|
66
|
-
"reason",
|
|
67
|
-
"trigger"
|
|
68
|
-
].includes(key))
|
|
69
|
-
};
|
|
70
|
-
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
71
|
-
const emitEvent = emit;
|
|
72
|
-
emitEvent(name, detail);
|
|
73
|
-
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
74
|
-
if (detail !== null && typeof detail === "object" && "trigger" in detail) emitEvent("update:trigger", detail["trigger"]);
|
|
75
|
-
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
76
|
-
bubbles: true,
|
|
77
|
-
composed: true,
|
|
78
|
-
...declared[name],
|
|
79
|
-
detail
|
|
80
|
-
})) ?? true;
|
|
81
|
-
}
|
|
82
|
-
function read(name) {
|
|
83
|
-
if (name === "internalOpen") return internalOpen.value;
|
|
84
|
-
return props[name];
|
|
85
|
-
}
|
|
86
|
-
function write(name, value) {
|
|
87
|
-
if (name === "internalOpen") {
|
|
88
|
-
internalOpen.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;
|
|
45
|
+
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) => [
|
|
46
|
+
"open",
|
|
47
|
+
"reason",
|
|
48
|
+
"trigger"
|
|
49
|
+
].includes(key));
|
|
50
|
+
const dispatch = createDispatch(root, emit, {
|
|
51
|
+
checks: {
|
|
52
|
+
open: isOpenDetail,
|
|
53
|
+
close: isOpenDetail
|
|
97
54
|
},
|
|
98
|
-
|
|
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: {},
|
|
103
|
-
elements: new Proxy({}, { get: (_target, name) => {
|
|
104
|
-
if (typeof name !== "string" || root.value === null) return void 0;
|
|
105
|
-
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
106
|
-
} }),
|
|
107
|
-
signal(initialValue) {
|
|
108
|
-
const value = shallowRef(initialValue);
|
|
109
|
-
return {
|
|
110
|
-
get: () => value.value,
|
|
111
|
-
set: (next) => {
|
|
112
|
-
if (!Object.is(value.value, next)) value.value = next;
|
|
113
|
-
},
|
|
114
|
-
update: (next) => {
|
|
115
|
-
const updated = next(value.value);
|
|
116
|
-
if (!Object.is(value.value, updated)) value.value = updated;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
},
|
|
120
|
-
computed(compute) {
|
|
121
|
-
const value = computed(compute);
|
|
122
|
-
return { get: () => value.value };
|
|
123
|
-
},
|
|
124
|
-
effect(run) {
|
|
125
|
-
const stop = watchEffect((onCleanup) => {
|
|
126
|
-
const cleanup = run();
|
|
127
|
-
if (typeof cleanup === "function") onCleanup(cleanup);
|
|
128
|
-
}, { flush: "post" });
|
|
129
|
-
stops.push(stop);
|
|
130
|
-
return stop;
|
|
131
|
-
},
|
|
132
|
-
on(event, listener) {
|
|
133
|
-
const element = root.value;
|
|
134
|
-
element?.addEventListener(event, listener);
|
|
135
|
-
const off = () => element?.removeEventListener(event, listener);
|
|
136
|
-
stops.push(off);
|
|
137
|
-
return off;
|
|
138
|
-
},
|
|
139
|
-
dispatch
|
|
140
|
-
};
|
|
141
|
-
let cleanup;
|
|
142
|
-
onMounted(() => {
|
|
143
|
-
Promise.resolve(controllerModule.default(host)).then((result) => {
|
|
144
|
-
cleanup = result;
|
|
145
|
-
});
|
|
55
|
+
modeled: ["open", "trigger"]
|
|
146
56
|
});
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
57
|
+
useComponentHost(controllerModule.default, {
|
|
58
|
+
root,
|
|
59
|
+
dispatch,
|
|
60
|
+
props,
|
|
61
|
+
state: { internalOpen }
|
|
150
62
|
});
|
|
151
63
|
return (_ctx, _cache) => {
|
|
152
64
|
return openBlock(), createElementBlock("span", mergeProps({
|
|
@@ -160,6 +72,6 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
160
72
|
}), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
161
73
|
};
|
|
162
74
|
}
|
|
163
|
-
}), [["__scopeId", "data-v-
|
|
75
|
+
}), [["__scopeId", "data-v-5952fbd4"]]);
|
|
164
76
|
//#endregion
|
|
165
77
|
export { UiTooltip_default as t };
|
package/vue/chunks/UiTopBar.js
CHANGED