@threadlabs/looma 0.5.1 → 0.5.2
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/README.md +1 -1
- package/components/ui-button/ui-button.html +13 -0
- package/components/ui-combobox/ui-combobox.html +12 -4
- package/components/ui-dialog/ui-dialog.html +13 -0
- package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +1 -1
- package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
- package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +6 -2
- package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +20 -4
- package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +8 -4
- package/components/ui-form-field/ui-form-field.html +18 -7
- package/components/ui-icon/ui-icon.html +5 -1
- package/components/ui-icon-button/ui-icon-button.html +30 -0
- package/components/ui-popover/ui-popover.js +10 -2
- package/components/ui-search-shell/ui-search-shell.html +7 -0
- package/components/ui-search-shell/ui-search-shell.js +9 -0
- package/components/ui-tabs/ui-tabs.html +1 -1
- package/components/ui-toast-region/ui-toast-region.html +1 -1
- package/components/ui-tree-item/ui-tree-item.html +6 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- 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 +11 -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 +18 -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 +24 -10
- package/styles/ui-grid.css +1 -1
- package/styles/ui-icon-button.css +36 -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 +11 -2
- 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 +10 -2
- package/styles/ui-tree.css +1 -1
- package/vanilla/UiAffordanceScope.d.ts +1 -1
- package/vanilla/UiAffordanceScope.js +2 -2
- package/vanilla/UiAvatar.d.ts +1 -1
- package/vanilla/UiAvatar.js +2 -2
- package/vanilla/UiAvatarGroup.d.ts +1 -1
- package/vanilla/UiAvatarGroup.js +2 -2
- package/vanilla/UiBadge.d.ts +1 -1
- package/vanilla/UiBadge.js +2 -2
- package/vanilla/UiButton.d.ts +3 -1
- package/vanilla/UiButton.js +3 -3
- package/vanilla/UiCallout.d.ts +1 -1
- package/vanilla/UiCallout.js +2 -2
- package/vanilla/UiCheckbox.d.ts +1 -1
- package/vanilla/UiCheckbox.js +2 -2
- package/vanilla/UiCluster.d.ts +1 -1
- package/vanilla/UiCluster.js +2 -2
- package/vanilla/UiCombobox.d.ts +1 -1
- package/vanilla/UiCombobox.js +3 -3
- package/vanilla/UiContainer.d.ts +1 -1
- package/vanilla/UiContainer.js +2 -2
- package/vanilla/UiContextMenu.d.ts +1 -1
- package/vanilla/UiContextMenu.js +2 -2
- package/vanilla/UiDialog.d.ts +1 -1
- package/vanilla/UiDialog.js +2 -2
- package/vanilla/UiDisclosure.d.ts +1 -1
- package/vanilla/UiDisclosure.js +2 -2
- package/vanilla/UiEditable.d.ts +1 -1
- package/vanilla/UiEditable.js +2 -2
- package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
- package/vanilla/UiEditorInsertTableGrid.js +3 -3
- package/vanilla/UiEditorMentionMenu.d.ts +1 -1
- package/vanilla/UiEditorMentionMenu.js +3 -3
- package/vanilla/UiEditorSlashMenu.d.ts +1 -1
- package/vanilla/UiEditorSlashMenu.js +2 -2
- package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
- package/vanilla/UiEditorTableContextMenu.js +3 -3
- package/vanilla/UiEditorTableOverlay.d.ts +1 -1
- package/vanilla/UiEditorTableOverlay.js +3 -3
- package/vanilla/UiEditorTableToolbar.d.ts +1 -1
- package/vanilla/UiEditorTableToolbar.js +3 -3
- package/vanilla/UiEditorToolbar.d.ts +1 -1
- package/vanilla/UiEditorToolbar.js +2 -2
- package/vanilla/UiFloatingActionButton.d.ts +1 -1
- package/vanilla/UiFloatingActionButton.js +2 -2
- package/vanilla/UiFormField.d.ts +1 -1
- package/vanilla/UiFormField.js +15 -6
- package/vanilla/UiGrid.d.ts +1 -1
- package/vanilla/UiGrid.js +2 -2
- package/vanilla/UiIcon.d.ts +1 -1
- package/vanilla/UiIcon.js +3 -3
- package/vanilla/UiIconButton.d.ts +1 -1
- package/vanilla/UiIconButton.js +2 -2
- package/vanilla/UiInput.d.ts +1 -1
- package/vanilla/UiInput.js +2 -2
- package/vanilla/UiMenu.d.ts +1 -1
- package/vanilla/UiMenu.js +2 -2
- package/vanilla/UiMenuItem.d.ts +1 -1
- package/vanilla/UiMenuItem.js +2 -2
- package/vanilla/UiPopover.d.ts +1 -1
- package/vanilla/UiPopover.js +2 -2
- package/vanilla/UiRadio.d.ts +1 -1
- package/vanilla/UiRadio.js +2 -2
- package/vanilla/UiRadioGroup.d.ts +1 -1
- package/vanilla/UiRadioGroup.js +2 -2
- package/vanilla/UiReel.d.ts +1 -1
- package/vanilla/UiReel.js +2 -2
- package/vanilla/UiSearchResultRow.d.ts +1 -1
- package/vanilla/UiSearchResultRow.js +2 -2
- package/vanilla/UiSearchShell.d.ts +1 -1
- package/vanilla/UiSearchShell.js +2 -2
- package/vanilla/UiSelect.d.ts +1 -1
- package/vanilla/UiSelect.js +2 -2
- package/vanilla/UiSeparator.d.ts +1 -1
- package/vanilla/UiSeparator.js +2 -2
- package/vanilla/UiSidebar.d.ts +1 -1
- package/vanilla/UiSidebar.js +2 -2
- package/vanilla/UiStack.d.ts +1 -1
- package/vanilla/UiStack.js +2 -2
- package/vanilla/UiSwitch.d.ts +1 -1
- package/vanilla/UiSwitch.js +2 -2
- package/vanilla/UiSwitcher.d.ts +1 -1
- package/vanilla/UiSwitcher.js +2 -2
- package/vanilla/UiTabs.d.ts +1 -1
- package/vanilla/UiTabs.js +3 -3
- package/vanilla/UiTextarea.d.ts +1 -1
- package/vanilla/UiTextarea.js +2 -2
- package/vanilla/UiToastRegion.d.ts +1 -1
- package/vanilla/UiToastRegion.js +3 -3
- package/vanilla/UiTooltip.d.ts +1 -1
- package/vanilla/UiTooltip.js +2 -2
- package/vanilla/UiTopBar.d.ts +1 -1
- package/vanilla/UiTopBar.js +1 -1
- package/vanilla/UiTree.d.ts +1 -1
- package/vanilla/UiTree.js +2 -2
- package/vanilla/UiTreeItem.d.ts +1 -1
- package/vanilla/UiTreeItem.js +2 -2
- package/vue/UiAffordanceScope.d.ts +2 -2
- package/vue/UiAffordanceScope.vue +92 -73
- package/vue/UiAvatar.d.ts +7 -7
- package/vue/UiAvatar.vue +145 -105
- package/vue/UiAvatarGroup.d.ts +4 -4
- package/vue/UiAvatarGroup.vue +134 -118
- package/vue/UiBadge.d.ts +4 -4
- package/vue/UiBadge.vue +113 -114
- package/vue/UiButton.d.ts +10 -6
- package/vue/UiButton.vue +289 -248
- package/vue/UiCallout.d.ts +2 -2
- package/vue/UiCallout.vue +154 -87
- package/vue/UiCheckbox.d.ts +14 -10
- package/vue/UiCheckbox.vue +228 -162
- package/vue/UiCluster.d.ts +2 -2
- package/vue/UiCluster.vue +53 -60
- package/vue/UiCombobox.d.ts +36 -32
- package/vue/UiCombobox.vue +1005 -416
- package/vue/UiContainer.d.ts +2 -2
- package/vue/UiContainer.vue +48 -51
- package/vue/UiContextMenu.d.ts +6 -4
- package/vue/UiContextMenu.vue +205 -116
- package/vue/UiDialog.d.ts +11 -9
- package/vue/UiDialog.vue +287 -212
- package/vue/UiDisclosure.d.ts +8 -6
- package/vue/UiDisclosure.vue +248 -159
- package/vue/UiEditable.d.ts +16 -12
- package/vue/UiEditable.vue +325 -205
- package/vue/UiEditorInsertTableGrid.d.ts +8 -8
- package/vue/UiEditorInsertTableGrid.vue +216 -157
- package/vue/UiEditorMentionMenu.d.ts +9 -9
- package/vue/UiEditorMentionMenu.vue +265 -222
- package/vue/UiEditorSlashMenu.d.ts +7 -7
- package/vue/UiEditorSlashMenu.vue +286 -240
- package/vue/UiEditorTableContextMenu.d.ts +5 -5
- package/vue/UiEditorTableContextMenu.vue +306 -193
- package/vue/UiEditorTableOverlay.d.ts +2 -2
- package/vue/UiEditorTableOverlay.vue +609 -369
- package/vue/UiEditorTableToolbar.d.ts +7 -7
- package/vue/UiEditorTableToolbar.vue +443 -268
- package/vue/UiEditorToolbar.d.ts +2 -2
- package/vue/UiEditorToolbar.vue +134 -121
- package/vue/UiFloatingActionButton.d.ts +6 -6
- package/vue/UiFloatingActionButton.vue +100 -99
- package/vue/UiFormField.d.ts +6 -6
- package/vue/UiFormField.vue +112 -80
- package/vue/UiGrid.d.ts +2 -2
- package/vue/UiGrid.vue +51 -57
- package/vue/UiIcon.d.ts +2 -2
- package/vue/UiIcon.vue +118 -89
- package/vue/UiIconButton.d.ts +11 -11
- package/vue/UiIconButton.vue +283 -217
- package/vue/UiInput.d.ts +9 -9
- package/vue/UiInput.vue +153 -127
- package/vue/UiMenu.d.ts +8 -6
- package/vue/UiMenu.vue +217 -143
- package/vue/UiMenuItem.d.ts +4 -4
- package/vue/UiMenuItem.vue +52 -46
- package/vue/UiPopover.d.ts +8 -6
- package/vue/UiPopover.vue +197 -137
- package/vue/UiRadio.d.ts +14 -10
- package/vue/UiRadio.vue +183 -117
- package/vue/UiRadioGroup.d.ts +14 -12
- package/vue/UiRadioGroup.vue +172 -111
- package/vue/UiReel.d.ts +3 -3
- package/vue/UiReel.vue +77 -77
- package/vue/UiSearchResultRow.d.ts +4 -4
- package/vue/UiSearchResultRow.vue +124 -115
- package/vue/UiSearchShell.d.ts +10 -8
- package/vue/UiSearchShell.vue +245 -176
- package/vue/UiSelect.d.ts +9 -9
- package/vue/UiSelect.vue +162 -134
- package/vue/UiSeparator.d.ts +2 -2
- package/vue/UiSeparator.vue +22 -27
- package/vue/UiSidebar.d.ts +20 -18
- package/vue/UiSidebar.vue +312 -224
- package/vue/UiStack.d.ts +3 -3
- package/vue/UiStack.vue +64 -70
- package/vue/UiSwitch.d.ts +12 -8
- package/vue/UiSwitch.vue +218 -150
- package/vue/UiSwitcher.d.ts +3 -3
- package/vue/UiSwitcher.vue +73 -75
- package/vue/UiTabs.d.ts +10 -8
- package/vue/UiTabs.vue +251 -210
- package/vue/UiTextarea.d.ts +11 -11
- package/vue/UiTextarea.vue +155 -128
- package/vue/UiToastRegion.d.ts +10 -8
- package/vue/UiToastRegion.vue +261 -198
- package/vue/UiTooltip.d.ts +14 -12
- package/vue/UiTooltip.vue +241 -177
- package/vue/UiTopBar.vue +51 -42
- package/vue/UiTree.d.ts +8 -6
- package/vue/UiTree.vue +157 -70
- package/vue/UiTreeItem.d.ts +24 -22
- package/vue/UiTreeItem.vue +456 -339
- package/vue/chunks/UiAffordanceScope.js +9 -16
- package/vue/chunks/UiAvatar.js +23 -29
- package/vue/chunks/UiAvatarGroup.js +16 -39
- package/vue/chunks/UiBadge.js +3 -12
- package/vue/chunks/UiButton.js +15 -18
- package/vue/chunks/UiCallout.js +8 -17
- package/vue/chunks/UiCheckbox.js +37 -40
- package/vue/chunks/UiCluster.js +3 -12
- package/vue/chunks/UiCombobox.js +224 -266
- package/vue/chunks/UiContainer.js +3 -12
- package/vue/chunks/UiContextMenu.js +39 -34
- package/vue/chunks/UiDialog.js +36 -39
- package/vue/chunks/UiDisclosure.js +43 -48
- package/vue/chunks/UiEditable.js +55 -57
- package/vue/chunks/UiEditorInsertTableGrid.js +55 -73
- package/vue/chunks/UiEditorMentionMenu.js +40 -81
- package/vue/chunks/UiEditorSlashMenu.js +28 -52
- package/vue/chunks/UiEditorTableContextMenu.js +32 -56
- package/vue/chunks/UiEditorTableOverlay.js +58 -82
- package/vue/chunks/UiEditorTableToolbar.js +61 -85
- package/vue/chunks/UiEditorToolbar.js +4 -13
- package/vue/chunks/UiFloatingActionButton.js +7 -21
- package/vue/chunks/UiFormField.js +15 -12
- package/vue/chunks/UiGrid.js +3 -12
- package/vue/chunks/UiIcon.js +20 -43
- package/vue/chunks/UiIconButton.js +16 -28
- package/vue/chunks/UiInput.js +20 -25
- package/vue/chunks/UiMenu.js +29 -33
- package/vue/chunks/UiMenuItem.js +4 -10
- package/vue/chunks/UiPopover.js +28 -29
- package/vue/chunks/UiRadio.js +36 -39
- package/vue/chunks/UiRadioGroup.js +30 -34
- package/vue/chunks/UiReel.js +6 -15
- package/vue/chunks/UiSearchResultRow.js +6 -19
- package/vue/chunks/UiSearchShell.js +25 -28
- package/vue/chunks/UiSelect.js +20 -23
- package/vue/chunks/UiSeparator.js +2 -8
- package/vue/chunks/UiSidebar.js +39 -44
- package/vue/chunks/UiStack.js +6 -15
- package/vue/chunks/UiSwitch.js +35 -38
- package/vue/chunks/UiSwitcher.js +6 -15
- package/vue/chunks/UiTabs.js +47 -85
- package/vue/chunks/UiTextarea.js +21 -26
- package/vue/chunks/UiToastRegion.js +38 -72
- package/vue/chunks/UiTooltip.js +34 -35
- package/vue/chunks/UiTopBar.js +1 -1
- package/vue/chunks/UiTree.js +20 -15
- package/vue/chunks/UiTreeItem.js +85 -102
- package/vue/components.css +3994 -3801
package/vue/chunks/UiInput.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import { computed, createElementBlock, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, shallowRef, watchEffect } from "vue";
|
|
2
|
+
import { computed, createElementBlock, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, shallowRef, vModelDynamic, watchEffect, withDirectives } from "vue";
|
|
3
3
|
import * as controllerModule from "@threadlabs/looma/components/ui-input/ui-input.js";
|
|
4
4
|
//#region .build/vue/UiInput.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = [
|
|
6
|
-
"value",
|
|
7
6
|
"disabled",
|
|
8
7
|
"readonly",
|
|
9
8
|
"required",
|
|
@@ -16,19 +15,19 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
16
15
|
__name: "UiInput",
|
|
17
16
|
props: {
|
|
18
17
|
disabled: {
|
|
19
|
-
type:
|
|
18
|
+
type: Boolean,
|
|
20
19
|
default: false
|
|
21
20
|
},
|
|
22
21
|
invalid: {
|
|
23
|
-
type:
|
|
22
|
+
type: Boolean,
|
|
24
23
|
default: false
|
|
25
24
|
},
|
|
26
25
|
readonly: {
|
|
27
|
-
type:
|
|
26
|
+
type: Boolean,
|
|
28
27
|
default: false
|
|
29
28
|
},
|
|
30
29
|
required: {
|
|
31
|
-
type:
|
|
30
|
+
type: Boolean,
|
|
32
31
|
default: false
|
|
33
32
|
},
|
|
34
33
|
value: {},
|
|
@@ -36,24 +35,21 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
36
35
|
},
|
|
37
36
|
emits: ["update:modelValue"],
|
|
38
37
|
setup(__props, { emit: __emit }) {
|
|
39
|
-
const hn = {
|
|
40
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
|
|
41
|
-
attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v),
|
|
42
|
-
enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v)
|
|
43
|
-
};
|
|
44
38
|
const props = __props;
|
|
45
39
|
const emit = __emit;
|
|
46
|
-
const
|
|
40
|
+
const model = computed({
|
|
41
|
+
get: () => props.modelValue ?? props.value ?? void 0,
|
|
42
|
+
set: (value) => emit("update:modelValue", value)
|
|
43
|
+
});
|
|
47
44
|
const root = ref(null);
|
|
48
|
-
const refs = {};
|
|
49
45
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
50
|
-
|
|
46
|
+
function dispatch(name, detail) {
|
|
51
47
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
52
48
|
bubbles: true,
|
|
53
49
|
composed: true,
|
|
54
50
|
detail
|
|
55
51
|
})) ?? true;
|
|
56
|
-
}
|
|
52
|
+
}
|
|
57
53
|
function read(name) {
|
|
58
54
|
return props[name];
|
|
59
55
|
}
|
|
@@ -69,7 +65,7 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
69
65
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
70
66
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
71
67
|
}),
|
|
72
|
-
refs,
|
|
68
|
+
refs: {},
|
|
73
69
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
74
70
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
75
71
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -119,18 +115,17 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
119
115
|
if (typeof cleanup === "function") cleanup();
|
|
120
116
|
});
|
|
121
117
|
return (_ctx, _cache) => {
|
|
122
|
-
return openBlock(), createElementBlock("input", mergeProps({ "data-component": "ui-input" }, _ctx.$attrs, {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
"
|
|
128
|
-
onInput: updateModel,
|
|
118
|
+
return withDirectives((openBlock(), createElementBlock("input", mergeProps({ "data-component": "ui-input" }, _ctx.$attrs, {
|
|
119
|
+
disabled: __props.disabled,
|
|
120
|
+
readonly: __props.readonly,
|
|
121
|
+
required: __props.required,
|
|
122
|
+
"aria-invalid": __props.invalid,
|
|
123
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
129
124
|
ref_key: "root",
|
|
130
125
|
ref: root
|
|
131
|
-
}), null, 16, _hoisted_1);
|
|
126
|
+
}), null, 16, _hoisted_1)), [[vModelDynamic, model.value]]);
|
|
132
127
|
};
|
|
133
128
|
}
|
|
134
|
-
}), [["__scopeId", "data-v-
|
|
129
|
+
}), [["__scopeId", "data-v-e80b5857"]]);
|
|
135
130
|
//#endregion
|
|
136
131
|
export { UiInput_default as t };
|
package/vue/chunks/UiMenu.js
CHANGED
|
@@ -12,78 +12,74 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
12
12
|
props: {
|
|
13
13
|
for: { default: "" },
|
|
14
14
|
open: {
|
|
15
|
-
type:
|
|
15
|
+
type: Boolean,
|
|
16
16
|
default: false
|
|
17
17
|
},
|
|
18
18
|
placement: { default: "bottom-start" }
|
|
19
19
|
},
|
|
20
20
|
emits: [
|
|
21
|
+
"update:open",
|
|
21
22
|
"select",
|
|
22
23
|
"open",
|
|
23
24
|
"close"
|
|
24
25
|
],
|
|
25
26
|
setup(__props, { emit: __emit }) {
|
|
26
|
-
const hn = { t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false) };
|
|
27
27
|
const props = __props;
|
|
28
28
|
const emit = __emit;
|
|
29
29
|
const root = ref(null);
|
|
30
|
-
const
|
|
31
|
-
|
|
30
|
+
const internalOpen = ref(false);
|
|
31
|
+
/** The values the styles' :host-state() rules test. */
|
|
32
|
+
const hostState = computed(() => [internalOpen.value && "internalOpen"].filter(Boolean).join(" "));
|
|
32
33
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
33
|
-
|
|
34
|
+
function dispatch(name, detail) {
|
|
34
35
|
const declared = {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
select: {
|
|
37
|
+
bubbles: true,
|
|
38
|
+
composed: true,
|
|
39
|
+
cancelable: false
|
|
39
40
|
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
open: {
|
|
42
|
+
bubbles: true,
|
|
43
|
+
composed: true,
|
|
44
|
+
cancelable: false
|
|
44
45
|
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
close: {
|
|
47
|
+
bubbles: true,
|
|
48
|
+
composed: true,
|
|
49
|
+
cancelable: false
|
|
49
50
|
}
|
|
50
51
|
};
|
|
51
52
|
const checks = {
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
select: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["value", "trigger"].includes(key)),
|
|
54
|
+
open: (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
54
55
|
"open",
|
|
55
56
|
"reason",
|
|
56
57
|
"trigger"
|
|
57
58
|
].includes(key)),
|
|
58
|
-
|
|
59
|
+
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) => [
|
|
59
60
|
"open",
|
|
60
61
|
"reason",
|
|
61
62
|
"trigger"
|
|
62
63
|
].includes(key))
|
|
63
64
|
};
|
|
64
65
|
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
65
|
-
emit
|
|
66
|
+
const emitEvent = emit;
|
|
67
|
+
emitEvent(name, detail);
|
|
68
|
+
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
66
69
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
67
70
|
bubbles: true,
|
|
68
71
|
composed: true,
|
|
69
72
|
...declared[name],
|
|
70
73
|
detail
|
|
71
74
|
})) ?? true;
|
|
72
|
-
}
|
|
73
|
-
/** The resolved values the styles' :host-state() rules test. */
|
|
74
|
-
const hostState = computed(() => ["internalOpen"].flatMap((name) => {
|
|
75
|
-
const value = read(name);
|
|
76
|
-
const tokens = hn.t(value) ? [name] : [];
|
|
77
|
-
if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
|
|
78
|
-
return tokens;
|
|
79
|
-
}).join(" "));
|
|
75
|
+
}
|
|
80
76
|
function read(name) {
|
|
81
|
-
if (name === "internalOpen") return
|
|
77
|
+
if (name === "internalOpen") return internalOpen.value;
|
|
82
78
|
return props[name];
|
|
83
79
|
}
|
|
84
80
|
function write(name, value) {
|
|
85
81
|
if (name === "internalOpen") {
|
|
86
|
-
|
|
82
|
+
internalOpen.value = value;
|
|
87
83
|
return true;
|
|
88
84
|
}
|
|
89
85
|
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
@@ -97,7 +93,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
97
93
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
98
94
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
99
95
|
}),
|
|
100
|
-
refs,
|
|
96
|
+
refs: {},
|
|
101
97
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
102
98
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
103
99
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -158,6 +154,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
158
154
|
}), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
159
155
|
};
|
|
160
156
|
}
|
|
161
|
-
}), [["__scopeId", "data-v-
|
|
157
|
+
}), [["__scopeId", "data-v-3174acee"]]);
|
|
162
158
|
//#endregion
|
|
163
159
|
export { UiMenu_default as t };
|
package/vue/chunks/UiMenuItem.js
CHANGED
|
@@ -9,29 +9,23 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
9
9
|
__name: "UiMenuItem",
|
|
10
10
|
props: {
|
|
11
11
|
disabled: {
|
|
12
|
-
type:
|
|
12
|
+
type: Boolean,
|
|
13
13
|
default: false
|
|
14
14
|
},
|
|
15
15
|
value: { default: "" }
|
|
16
16
|
},
|
|
17
17
|
setup(__props) {
|
|
18
|
-
const hn = {
|
|
19
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
|
|
20
|
-
attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v),
|
|
21
|
-
enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v)
|
|
22
|
-
};
|
|
23
|
-
const props = __props;
|
|
24
18
|
return (_ctx, _cache) => {
|
|
25
19
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
26
20
|
"data-component": "ui-menu-item",
|
|
27
21
|
role: "menuitem",
|
|
28
22
|
tabindex: "-1"
|
|
29
23
|
}, _ctx.$attrs, {
|
|
30
|
-
"aria-disabled":
|
|
31
|
-
"data-value":
|
|
24
|
+
"aria-disabled": __props.disabled,
|
|
25
|
+
"data-value": __props.value
|
|
32
26
|
}), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
33
27
|
};
|
|
34
28
|
}
|
|
35
|
-
}), [["__scopeId", "data-v-
|
|
29
|
+
}), [["__scopeId", "data-v-732d4711"]]);
|
|
36
30
|
//#endregion
|
|
37
31
|
export { UiMenuItem_default as t };
|
package/vue/chunks/UiPopover.js
CHANGED
|
@@ -12,68 +12,67 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
12
12
|
props: {
|
|
13
13
|
for: { default: "" },
|
|
14
14
|
open: {
|
|
15
|
-
type:
|
|
15
|
+
type: Boolean,
|
|
16
16
|
default: false
|
|
17
17
|
},
|
|
18
18
|
placement: { default: "bottom-start" }
|
|
19
19
|
},
|
|
20
|
-
emits: [
|
|
20
|
+
emits: [
|
|
21
|
+
"update:open",
|
|
22
|
+
"open",
|
|
23
|
+
"close"
|
|
24
|
+
],
|
|
21
25
|
setup(__props, { emit: __emit }) {
|
|
22
|
-
const hn = { t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false) };
|
|
23
26
|
const props = __props;
|
|
24
27
|
const emit = __emit;
|
|
25
28
|
const root = ref(null);
|
|
26
|
-
const
|
|
27
|
-
|
|
29
|
+
const internalOpen = ref(false);
|
|
30
|
+
/** The values the styles' :host-state() rules test. */
|
|
31
|
+
const hostState = computed(() => [internalOpen.value && "internalOpen"].filter(Boolean).join(" "));
|
|
28
32
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
29
|
-
|
|
33
|
+
function dispatch(name, detail) {
|
|
30
34
|
const declared = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
open: {
|
|
36
|
+
bubbles: true,
|
|
37
|
+
composed: true,
|
|
38
|
+
cancelable: false
|
|
35
39
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
close: {
|
|
41
|
+
bubbles: true,
|
|
42
|
+
composed: true,
|
|
43
|
+
cancelable: false
|
|
40
44
|
}
|
|
41
45
|
};
|
|
42
46
|
const checks = {
|
|
43
|
-
|
|
47
|
+
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) => [
|
|
44
48
|
"open",
|
|
45
49
|
"reason",
|
|
46
50
|
"trigger"
|
|
47
51
|
].includes(key)),
|
|
48
|
-
|
|
52
|
+
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) => [
|
|
49
53
|
"open",
|
|
50
54
|
"reason",
|
|
51
55
|
"trigger"
|
|
52
56
|
].includes(key))
|
|
53
57
|
};
|
|
54
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.`);
|
|
55
|
-
emit
|
|
59
|
+
const emitEvent = emit;
|
|
60
|
+
emitEvent(name, detail);
|
|
61
|
+
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
56
62
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
57
63
|
bubbles: true,
|
|
58
64
|
composed: true,
|
|
59
65
|
...declared[name],
|
|
60
66
|
detail
|
|
61
67
|
})) ?? true;
|
|
62
|
-
}
|
|
63
|
-
/** The resolved values the styles' :host-state() rules test. */
|
|
64
|
-
const hostState = computed(() => ["internalOpen"].flatMap((name) => {
|
|
65
|
-
const value = read(name);
|
|
66
|
-
const tokens = hn.t(value) ? [name] : [];
|
|
67
|
-
if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
|
|
68
|
-
return tokens;
|
|
69
|
-
}).join(" "));
|
|
68
|
+
}
|
|
70
69
|
function read(name) {
|
|
71
|
-
if (name === "internalOpen") return
|
|
70
|
+
if (name === "internalOpen") return internalOpen.value;
|
|
72
71
|
return props[name];
|
|
73
72
|
}
|
|
74
73
|
function write(name, value) {
|
|
75
74
|
if (name === "internalOpen") {
|
|
76
|
-
|
|
75
|
+
internalOpen.value = value;
|
|
77
76
|
return true;
|
|
78
77
|
}
|
|
79
78
|
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
@@ -87,7 +86,7 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
87
86
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
88
87
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
89
88
|
}),
|
|
90
|
-
refs,
|
|
89
|
+
refs: {},
|
|
91
90
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
92
91
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
93
92
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -144,6 +143,6 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
144
143
|
}), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
145
144
|
};
|
|
146
145
|
}
|
|
147
|
-
}), [["__scopeId", "data-v-
|
|
146
|
+
}), [["__scopeId", "data-v-49809509"]]);
|
|
148
147
|
//#endregion
|
|
149
148
|
export { UiPopover_default as t };
|
package/vue/chunks/UiRadio.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, watchEffect } from "vue";
|
|
2
|
+
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, shallowRef, useTemplateRef, watchEffect } from "vue";
|
|
3
3
|
import * as controllerModule from "@threadlabs/looma/components/ui-radio/ui-radio.js";
|
|
4
4
|
//#region .build/vue/UiRadio.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = ["data-ui-radio-state"];
|
|
@@ -18,67 +18,64 @@ var UiRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
18
18
|
__name: "UiRadio",
|
|
19
19
|
props: {
|
|
20
20
|
checked: {
|
|
21
|
-
type:
|
|
21
|
+
type: Boolean,
|
|
22
22
|
default: false
|
|
23
23
|
},
|
|
24
24
|
disabled: {
|
|
25
|
-
type:
|
|
25
|
+
type: Boolean,
|
|
26
26
|
default: false
|
|
27
27
|
},
|
|
28
28
|
name: { default: "" },
|
|
29
29
|
required: {
|
|
30
|
-
type:
|
|
30
|
+
type: Boolean,
|
|
31
31
|
default: false
|
|
32
32
|
},
|
|
33
33
|
value: { default: "on" }
|
|
34
34
|
},
|
|
35
|
-
emits: [
|
|
35
|
+
emits: [
|
|
36
|
+
"update:checked",
|
|
37
|
+
"update:value",
|
|
38
|
+
"change"
|
|
39
|
+
],
|
|
36
40
|
setup(__props, { emit: __emit }) {
|
|
37
|
-
const hn = {
|
|
38
|
-
t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false),
|
|
39
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
|
|
40
|
-
attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v)
|
|
41
|
-
};
|
|
42
41
|
const props = __props;
|
|
43
42
|
const emit = __emit;
|
|
44
43
|
const root = ref(null);
|
|
45
|
-
const
|
|
46
|
-
const
|
|
44
|
+
const inputElement = useTemplateRef("input");
|
|
45
|
+
const internalChecked = ref(false);
|
|
46
|
+
/** The values the styles' :host-state() rules test. */
|
|
47
|
+
const hostState = computed(() => [props.disabled && "disabled"].filter(Boolean).join(" "));
|
|
47
48
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
48
|
-
|
|
49
|
-
const declared = {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
function dispatch(name, detail) {
|
|
50
|
+
const declared = { change: {
|
|
51
|
+
bubbles: true,
|
|
52
|
+
composed: true,
|
|
53
|
+
cancelable: false
|
|
53
54
|
} };
|
|
54
|
-
const checks = {
|
|
55
|
+
const checks = { change: (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) => [
|
|
55
56
|
"checked",
|
|
56
57
|
"value",
|
|
57
58
|
"trigger"
|
|
58
59
|
].includes(key)) };
|
|
59
60
|
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
60
|
-
emit
|
|
61
|
+
const emitEvent = emit;
|
|
62
|
+
emitEvent(name, detail);
|
|
63
|
+
if (detail !== null && typeof detail === "object" && "checked" in detail) emitEvent("update:checked", detail["checked"]);
|
|
64
|
+
if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
|
|
61
65
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
62
66
|
bubbles: true,
|
|
63
67
|
composed: true,
|
|
64
68
|
...declared[name],
|
|
65
69
|
detail
|
|
66
70
|
})) ?? true;
|
|
67
|
-
}
|
|
68
|
-
/** The resolved values the styles' :host-state() rules test. */
|
|
69
|
-
const hostState = computed(() => ["disabled"].flatMap((name) => {
|
|
70
|
-
const value = read(name);
|
|
71
|
-
const tokens = hn.t(value) ? [name] : [];
|
|
72
|
-
if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
|
|
73
|
-
return tokens;
|
|
74
|
-
}).join(" "));
|
|
71
|
+
}
|
|
75
72
|
function read(name) {
|
|
76
|
-
if (name === "internalChecked") return
|
|
73
|
+
if (name === "internalChecked") return internalChecked.value;
|
|
77
74
|
return props[name];
|
|
78
75
|
}
|
|
79
76
|
function write(name, value) {
|
|
80
77
|
if (name === "internalChecked") {
|
|
81
|
-
|
|
78
|
+
internalChecked.value = value;
|
|
82
79
|
return true;
|
|
83
80
|
}
|
|
84
81
|
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
@@ -92,7 +89,9 @@ var UiRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
92
89
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
93
90
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
94
91
|
}),
|
|
95
|
-
refs
|
|
92
|
+
refs: { get input() {
|
|
93
|
+
return inputElement.value;
|
|
94
|
+
} },
|
|
96
95
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
97
96
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
98
97
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -148,17 +147,15 @@ var UiRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
|
|
|
148
147
|
ref: root
|
|
149
148
|
}), [createElementVNode("input", {
|
|
150
149
|
type: "radio",
|
|
151
|
-
".checked":
|
|
152
|
-
disabled:
|
|
153
|
-
required:
|
|
154
|
-
value:
|
|
155
|
-
name:
|
|
156
|
-
ref:
|
|
157
|
-
refs["input"] = element;
|
|
158
|
-
}
|
|
150
|
+
".checked": internalChecked.value,
|
|
151
|
+
disabled: __props.disabled,
|
|
152
|
+
required: __props.required,
|
|
153
|
+
value: __props.value,
|
|
154
|
+
name: __props.name,
|
|
155
|
+
ref: "input"
|
|
159
156
|
}, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
160
157
|
};
|
|
161
158
|
}
|
|
162
|
-
}), [["__scopeId", "data-v-
|
|
159
|
+
}), [["__scopeId", "data-v-cb942e6f"]]);
|
|
163
160
|
//#endregion
|
|
164
161
|
export { UiRadio_default as t };
|
|
@@ -10,78 +10,74 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
10
10
|
__name: "UiRadioGroup",
|
|
11
11
|
props: {
|
|
12
12
|
disabled: {
|
|
13
|
-
type:
|
|
13
|
+
type: Boolean,
|
|
14
14
|
default: false
|
|
15
15
|
},
|
|
16
16
|
label: { default: "Options" },
|
|
17
17
|
name: { default: "" },
|
|
18
18
|
orientation: { default: "horizontal" },
|
|
19
19
|
required: {
|
|
20
|
-
type:
|
|
20
|
+
type: Boolean,
|
|
21
21
|
default: false
|
|
22
22
|
},
|
|
23
23
|
value: { default: "" }
|
|
24
24
|
},
|
|
25
|
-
emits: [
|
|
25
|
+
emits: [
|
|
26
|
+
"update:value",
|
|
27
|
+
"select",
|
|
28
|
+
"change"
|
|
29
|
+
],
|
|
26
30
|
setup(__props, { emit: __emit }) {
|
|
27
|
-
const hn = {
|
|
28
|
-
t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false),
|
|
29
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v)
|
|
30
|
-
};
|
|
31
31
|
const props = __props;
|
|
32
32
|
const emit = __emit;
|
|
33
33
|
const root = ref(null);
|
|
34
|
-
const
|
|
35
|
-
|
|
34
|
+
const internalValue = ref("");
|
|
35
|
+
/** The values the styles' :host-state() rules test. */
|
|
36
|
+
const hostState = computed(() => [props.orientation && `orientation orientation=${props.orientation}`].filter(Boolean).join(" "));
|
|
36
37
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
37
|
-
|
|
38
|
+
function dispatch(name, detail) {
|
|
38
39
|
const declared = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
select: {
|
|
41
|
+
bubbles: true,
|
|
42
|
+
composed: true,
|
|
43
|
+
cancelable: false
|
|
43
44
|
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
change: {
|
|
46
|
+
bubbles: true,
|
|
47
|
+
composed: true,
|
|
48
|
+
cancelable: false
|
|
48
49
|
}
|
|
49
50
|
};
|
|
50
51
|
const checks = {
|
|
51
|
-
|
|
52
|
+
select: (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) => [
|
|
52
53
|
"value",
|
|
53
54
|
"previousValue",
|
|
54
55
|
"trigger"
|
|
55
56
|
].includes(key)),
|
|
56
|
-
|
|
57
|
+
change: (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) => [
|
|
57
58
|
"checked",
|
|
58
59
|
"value",
|
|
59
60
|
"trigger"
|
|
60
61
|
].includes(key))
|
|
61
62
|
};
|
|
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.`);
|
|
63
|
-
emit
|
|
64
|
+
const emitEvent = emit;
|
|
65
|
+
emitEvent(name, detail);
|
|
66
|
+
if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
|
|
64
67
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
65
68
|
bubbles: true,
|
|
66
69
|
composed: true,
|
|
67
70
|
...declared[name],
|
|
68
71
|
detail
|
|
69
72
|
})) ?? true;
|
|
70
|
-
}
|
|
71
|
-
/** The resolved values the styles' :host-state() rules test. */
|
|
72
|
-
const hostState = computed(() => ["orientation"].flatMap((name) => {
|
|
73
|
-
const value = read(name);
|
|
74
|
-
const tokens = hn.t(value) ? [name] : [];
|
|
75
|
-
if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
|
|
76
|
-
return tokens;
|
|
77
|
-
}).join(" "));
|
|
73
|
+
}
|
|
78
74
|
function read(name) {
|
|
79
|
-
if (name === "internalValue") return
|
|
75
|
+
if (name === "internalValue") return internalValue.value;
|
|
80
76
|
return props[name];
|
|
81
77
|
}
|
|
82
78
|
function write(name, value) {
|
|
83
79
|
if (name === "internalValue") {
|
|
84
|
-
|
|
80
|
+
internalValue.value = value;
|
|
85
81
|
return true;
|
|
86
82
|
}
|
|
87
83
|
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
@@ -95,7 +91,7 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
95
91
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
96
92
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
97
93
|
}),
|
|
98
|
-
refs,
|
|
94
|
+
refs: {},
|
|
99
95
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
100
96
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
101
97
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -152,9 +148,9 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
152
148
|
"data-ui-radio-group-state": hostState.value || void 0,
|
|
153
149
|
ref_key: "root",
|
|
154
150
|
ref: root
|
|
155
|
-
}), [createElementVNode("legend", null, toDisplayString(
|
|
151
|
+
}), [createElementVNode("legend", null, toDisplayString(__props.label), 1), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
156
152
|
};
|
|
157
153
|
}
|
|
158
|
-
}), [["__scopeId", "data-v-
|
|
154
|
+
}), [["__scopeId", "data-v-df092584"]]);
|
|
159
155
|
//#endregion
|
|
160
156
|
export { UiRadioGroup_default as t };
|