@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/UiSwitcher.js
CHANGED
|
@@ -13,26 +13,17 @@ var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
13
13
|
threshold: {}
|
|
14
14
|
},
|
|
15
15
|
setup(__props) {
|
|
16
|
-
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) };
|
|
17
16
|
const props = __props;
|
|
18
|
-
/** The
|
|
17
|
+
/** The values the styles' :host-state() rules test. */
|
|
19
18
|
const hostState = computed(() => [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
].
|
|
24
|
-
const value = read(name);
|
|
25
|
-
const tokens = hn.t(value) ? [name] : [];
|
|
26
|
-
if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
|
|
27
|
-
return tokens;
|
|
28
|
-
}).join(" "));
|
|
29
|
-
function read(name) {
|
|
30
|
-
return props[name];
|
|
31
|
-
}
|
|
19
|
+
props.gap && `gap gap=${props.gap}`,
|
|
20
|
+
props.threshold && `threshold threshold=${props.threshold}`,
|
|
21
|
+
props.align && `align align=${props.align}`
|
|
22
|
+
].filter(Boolean).join(" "));
|
|
32
23
|
return (_ctx, _cache) => {
|
|
33
24
|
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, { "data-ui-switcher-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
|
|
34
25
|
};
|
|
35
26
|
}
|
|
36
|
-
}), [["__scopeId", "data-v-
|
|
27
|
+
}), [["__scopeId", "data-v-4c7859e6"]]);
|
|
37
28
|
//#endregion
|
|
38
29
|
export { UiSwitcher_default as t };
|
package/vue/chunks/UiTabs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
-
import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, watchEffect } from "vue";
|
|
2
|
+
import { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, useTemplateRef, watchEffect } from "vue";
|
|
3
3
|
import * as controllerModule from "@threadlabs/looma/components/ui-tabs/ui-tabs.js";
|
|
4
4
|
//#region .build/vue/UiTabs.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = ["data-ui-tabs-state"];
|
|
@@ -10,6 +10,10 @@ var _hoisted_3 = [
|
|
|
10
10
|
"aria-controls",
|
|
11
11
|
"aria-selected"
|
|
12
12
|
];
|
|
13
|
+
var _hoisted_4 = {
|
|
14
|
+
class: "panels",
|
|
15
|
+
ref: "panels"
|
|
16
|
+
};
|
|
13
17
|
//#endregion
|
|
14
18
|
//#region .build/vue/UiTabs.vue
|
|
15
19
|
var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -19,99 +23,57 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
19
23
|
label: { default: "Tabs" },
|
|
20
24
|
orientation: { default: "horizontal" },
|
|
21
25
|
stretch: {
|
|
22
|
-
type:
|
|
26
|
+
type: Boolean,
|
|
23
27
|
default: false
|
|
24
28
|
},
|
|
25
29
|
value: { default: "" }
|
|
26
30
|
},
|
|
27
|
-
emits: ["select"],
|
|
31
|
+
emits: ["update:value", "select"],
|
|
28
32
|
setup(__props, { emit: __emit }) {
|
|
29
|
-
const hn = {
|
|
30
|
-
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),
|
|
31
|
-
n: (v) => typeof v === "number" && v === v ? v : void 0,
|
|
32
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
|
|
33
|
-
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),
|
|
34
|
-
enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v),
|
|
35
|
-
call: (fn, ...args) => {
|
|
36
|
-
if (fn === "format") {
|
|
37
|
-
let index = 1;
|
|
38
|
-
return typeof args[0] === "string" ? args[0].replace(/%s/g, () => index < args.length ? hn.text(args[index++]) : "%s") : void 0;
|
|
39
|
-
}
|
|
40
|
-
const n = args.map(hn.n);
|
|
41
|
-
if (n.some((value) => value === void 0)) return void 0;
|
|
42
|
-
const v = n;
|
|
43
|
-
switch (fn) {
|
|
44
|
-
case "abs": return v.length === 1 ? Math.abs(v[0]) : void 0;
|
|
45
|
-
case "round": return v.length === 1 ? Math.round(v[0]) : void 0;
|
|
46
|
-
case "min": return v.length > 0 ? Math.min(...v) : void 0;
|
|
47
|
-
case "max": return v.length > 0 ? Math.max(...v) : void 0;
|
|
48
|
-
case "clamp": return v.length === 3 ? Math.min(Math.max(v[0], v[1]), v[2]) : void 0;
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
shape: (items, where, sort, limit) => {
|
|
52
|
-
let list = Array.isArray(items) ? items.slice() : [];
|
|
53
|
-
if (where !== void 0) list = list.filter((item) => hn.t(where(item)));
|
|
54
|
-
if (sort.length > 0) {
|
|
55
|
-
const field = (item, path) => item !== null && typeof item === "object" && !Array.isArray(item) ? path.split(".").reduce((value, key) => value?.[key], item) : item;
|
|
56
|
-
const compare = (a, b) => typeof a === "number" && typeof b === "number" ? a - b : hn.text(a).localeCompare(hn.text(b));
|
|
57
|
-
list.sort((a, b) => {
|
|
58
|
-
for (const key of sort) {
|
|
59
|
-
const descending = key.startsWith("-");
|
|
60
|
-
const order = compare(field(a, descending ? key.slice(1) : key), field(b, descending ? key.slice(1) : key));
|
|
61
|
-
if (order !== 0) return descending ? -order : order;
|
|
62
|
-
}
|
|
63
|
-
return 0;
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
return typeof limit === "number" ? list.slice(0, Math.max(0, Math.trunc(limit))) : list;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
33
|
const props = __props;
|
|
70
34
|
const emit = __emit;
|
|
71
35
|
const root = ref(null);
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
36
|
+
const listElement = useTemplateRef("list");
|
|
37
|
+
const panelsElement = useTemplateRef("panels");
|
|
38
|
+
const internalValue = ref("");
|
|
39
|
+
const tabs = ref([]);
|
|
40
|
+
/** The values the styles' :host-state() rules test. */
|
|
41
|
+
const hostState = computed(() => [props.stretch && "stretch", props.orientation && `orientation orientation=${props.orientation}`].filter(Boolean).join(" "));
|
|
75
42
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
76
|
-
|
|
77
|
-
const declared = {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
43
|
+
function dispatch(name, detail) {
|
|
44
|
+
const declared = { select: {
|
|
45
|
+
bubbles: true,
|
|
46
|
+
composed: true,
|
|
47
|
+
cancelable: false
|
|
81
48
|
} };
|
|
82
|
-
const checks = {
|
|
49
|
+
const checks = { 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) => [
|
|
83
50
|
"value",
|
|
84
51
|
"previousValue",
|
|
85
52
|
"trigger"
|
|
86
53
|
].includes(key)) };
|
|
87
54
|
if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
|
|
88
|
-
emit
|
|
55
|
+
const emitEvent = emit;
|
|
56
|
+
emitEvent(name, detail);
|
|
57
|
+
if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
|
|
89
58
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
90
59
|
bubbles: true,
|
|
91
60
|
composed: true,
|
|
92
61
|
...declared[name],
|
|
93
62
|
detail
|
|
94
63
|
})) ?? true;
|
|
95
|
-
}
|
|
96
|
-
/** The resolved values the styles' :host-state() rules test. */
|
|
97
|
-
const hostState = computed(() => ["stretch", "orientation"].flatMap((name) => {
|
|
98
|
-
const value = read(name);
|
|
99
|
-
const tokens = hn.t(value) ? [name] : [];
|
|
100
|
-
if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
|
|
101
|
-
return tokens;
|
|
102
|
-
}).join(" "));
|
|
64
|
+
}
|
|
103
65
|
function read(name) {
|
|
104
|
-
if (name === "internalValue") return
|
|
105
|
-
if (name === "tabs") return
|
|
66
|
+
if (name === "internalValue") return internalValue.value;
|
|
67
|
+
if (name === "tabs") return tabs.value;
|
|
106
68
|
return props[name];
|
|
107
69
|
}
|
|
108
70
|
function write(name, value) {
|
|
109
71
|
if (name === "internalValue") {
|
|
110
|
-
|
|
72
|
+
internalValue.value = value;
|
|
111
73
|
return true;
|
|
112
74
|
}
|
|
113
75
|
if (name === "tabs") {
|
|
114
|
-
|
|
76
|
+
tabs.value = value;
|
|
115
77
|
return true;
|
|
116
78
|
}
|
|
117
79
|
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
@@ -125,7 +87,14 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
125
87
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
126
88
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
127
89
|
}),
|
|
128
|
-
refs
|
|
90
|
+
refs: {
|
|
91
|
+
get list() {
|
|
92
|
+
return listElement.value;
|
|
93
|
+
},
|
|
94
|
+
get panels() {
|
|
95
|
+
return panelsElement.value;
|
|
96
|
+
}
|
|
97
|
+
},
|
|
129
98
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
130
99
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
131
100
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -182,29 +151,22 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
182
151
|
}), [createElementVNode("div", {
|
|
183
152
|
class: "list",
|
|
184
153
|
role: "tablist",
|
|
185
|
-
"aria-label":
|
|
186
|
-
"aria-orientation":
|
|
187
|
-
ref:
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(hn.shape(state_tabs.value, void 0, [], void 0), (tab, index) => {
|
|
154
|
+
"aria-label": __props.label,
|
|
155
|
+
"aria-orientation": __props.orientation,
|
|
156
|
+
ref: "list"
|
|
157
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => {
|
|
191
158
|
return openBlock(), createElementBlock("button", {
|
|
192
|
-
key: tab
|
|
159
|
+
key: tab.id,
|
|
193
160
|
type: "button",
|
|
194
161
|
role: "tab",
|
|
195
|
-
id:
|
|
196
|
-
value:
|
|
197
|
-
"aria-controls":
|
|
198
|
-
"aria-selected":
|
|
199
|
-
}, toDisplayString(
|
|
200
|
-
}), 128))], 8, _hoisted_2), createElementVNode("div",
|
|
201
|
-
class: "panels",
|
|
202
|
-
ref: (element) => {
|
|
203
|
-
refs["panels"] = element;
|
|
204
|
-
}
|
|
205
|
-
}, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
|
|
162
|
+
id: `${tab.id}-tab`,
|
|
163
|
+
value: tab.id,
|
|
164
|
+
"aria-controls": tab.id,
|
|
165
|
+
"aria-selected": tab.id === internalValue.value
|
|
166
|
+
}, toDisplayString(tab.label), 9, _hoisted_3);
|
|
167
|
+
}), 128))], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
|
|
206
168
|
};
|
|
207
169
|
}
|
|
208
|
-
}), [["__scopeId", "data-v-
|
|
170
|
+
}), [["__scopeId", "data-v-d4ecb8b6"]]);
|
|
209
171
|
//#endregion
|
|
210
172
|
export { UiTabs_default as t };
|
package/vue/chunks/UiTextarea.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, vModelText, watchEffect, withDirectives } from "vue";
|
|
3
3
|
import * as controllerModule from "@threadlabs/looma/components/ui-textarea/ui-textarea.js";
|
|
4
4
|
//#region .build/vue/UiTextarea.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = [
|
|
6
|
-
"value",
|
|
7
6
|
"disabled",
|
|
8
7
|
"readonly",
|
|
9
8
|
"required",
|
|
@@ -17,19 +16,19 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
17
16
|
__name: "UiTextarea",
|
|
18
17
|
props: {
|
|
19
18
|
disabled: {
|
|
20
|
-
type:
|
|
19
|
+
type: Boolean,
|
|
21
20
|
default: false
|
|
22
21
|
},
|
|
23
22
|
invalid: {
|
|
24
|
-
type:
|
|
23
|
+
type: Boolean,
|
|
25
24
|
default: false
|
|
26
25
|
},
|
|
27
26
|
readonly: {
|
|
28
|
-
type:
|
|
27
|
+
type: Boolean,
|
|
29
28
|
default: false
|
|
30
29
|
},
|
|
31
30
|
required: {
|
|
32
|
-
type:
|
|
31
|
+
type: Boolean,
|
|
33
32
|
default: false
|
|
34
33
|
},
|
|
35
34
|
rows: { default: 4 },
|
|
@@ -38,24 +37,21 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
38
37
|
},
|
|
39
38
|
emits: ["update:modelValue"],
|
|
40
39
|
setup(__props, { emit: __emit }) {
|
|
41
|
-
const hn = {
|
|
42
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
|
|
43
|
-
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),
|
|
44
|
-
enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v)
|
|
45
|
-
};
|
|
46
40
|
const props = __props;
|
|
47
41
|
const emit = __emit;
|
|
48
|
-
const
|
|
42
|
+
const model = computed({
|
|
43
|
+
get: () => props.modelValue ?? props.value ?? void 0,
|
|
44
|
+
set: (value) => emit("update:modelValue", value)
|
|
45
|
+
});
|
|
49
46
|
const root = ref(null);
|
|
50
|
-
const refs = {};
|
|
51
47
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
52
|
-
|
|
48
|
+
function dispatch(name, detail) {
|
|
53
49
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
54
50
|
bubbles: true,
|
|
55
51
|
composed: true,
|
|
56
52
|
detail
|
|
57
53
|
})) ?? true;
|
|
58
|
-
}
|
|
54
|
+
}
|
|
59
55
|
function read(name) {
|
|
60
56
|
return props[name];
|
|
61
57
|
}
|
|
@@ -71,7 +67,7 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
71
67
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
72
68
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
73
69
|
}),
|
|
74
|
-
refs,
|
|
70
|
+
refs: {},
|
|
75
71
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
76
72
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
77
73
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -121,19 +117,18 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
121
117
|
if (typeof cleanup === "function") cleanup();
|
|
122
118
|
});
|
|
123
119
|
return (_ctx, _cache) => {
|
|
124
|
-
return openBlock(), createElementBlock("textarea", mergeProps({ "data-component": "ui-textarea" }, _ctx.$attrs, {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
onInput: updateModel,
|
|
120
|
+
return withDirectives((openBlock(), createElementBlock("textarea", mergeProps({ "data-component": "ui-textarea" }, _ctx.$attrs, {
|
|
121
|
+
disabled: __props.disabled,
|
|
122
|
+
readonly: __props.readonly,
|
|
123
|
+
required: __props.required,
|
|
124
|
+
"aria-invalid": __props.invalid,
|
|
125
|
+
rows: __props.rows,
|
|
126
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
132
127
|
ref_key: "root",
|
|
133
128
|
ref: root
|
|
134
|
-
}), null, 16, _hoisted_1);
|
|
129
|
+
}), null, 16, _hoisted_1)), [[vModelText, model.value]]);
|
|
135
130
|
};
|
|
136
131
|
}
|
|
137
|
-
}), [["__scopeId", "data-v-
|
|
132
|
+
}), [["__scopeId", "data-v-3c990207"]]);
|
|
138
133
|
//#endregion
|
|
139
134
|
export { UiTextarea_default as t };
|
|
@@ -13,110 +13,76 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
13
13
|
__name: "UiToastRegion",
|
|
14
14
|
props: {
|
|
15
15
|
auto: {
|
|
16
|
-
type:
|
|
16
|
+
type: Boolean,
|
|
17
17
|
default: false
|
|
18
18
|
},
|
|
19
19
|
duration: { default: 5e3 },
|
|
20
20
|
message: { default: "Notification" },
|
|
21
21
|
open: {
|
|
22
|
-
type:
|
|
22
|
+
type: Boolean,
|
|
23
23
|
default: false
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
|
-
emits: [
|
|
26
|
+
emits: [
|
|
27
|
+
"update:open",
|
|
28
|
+
"close",
|
|
29
|
+
"dismiss"
|
|
30
|
+
],
|
|
27
31
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
28
|
-
const hn = {
|
|
29
|
-
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),
|
|
30
|
-
n: (v) => typeof v === "number" && v === v ? v : void 0,
|
|
31
|
-
text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
|
|
32
|
-
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),
|
|
33
|
-
call: (fn, ...args) => {
|
|
34
|
-
if (fn === "format") {
|
|
35
|
-
let index = 1;
|
|
36
|
-
return typeof args[0] === "string" ? args[0].replace(/%s/g, () => index < args.length ? hn.text(args[index++]) : "%s") : void 0;
|
|
37
|
-
}
|
|
38
|
-
const n = args.map(hn.n);
|
|
39
|
-
if (n.some((value) => value === void 0)) return void 0;
|
|
40
|
-
const v = n;
|
|
41
|
-
switch (fn) {
|
|
42
|
-
case "abs": return v.length === 1 ? Math.abs(v[0]) : void 0;
|
|
43
|
-
case "round": return v.length === 1 ? Math.round(v[0]) : void 0;
|
|
44
|
-
case "min": return v.length > 0 ? Math.min(...v) : void 0;
|
|
45
|
-
case "max": return v.length > 0 ? Math.max(...v) : void 0;
|
|
46
|
-
case "clamp": return v.length === 3 ? Math.min(Math.max(v[0], v[1]), v[2]) : void 0;
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
shape: (items, where, sort, limit) => {
|
|
50
|
-
let list = Array.isArray(items) ? items.slice() : [];
|
|
51
|
-
if (where !== void 0) list = list.filter((item) => hn.t(where(item)));
|
|
52
|
-
if (sort.length > 0) {
|
|
53
|
-
const field = (item, path) => item !== null && typeof item === "object" && !Array.isArray(item) ? path.split(".").reduce((value, key) => value?.[key], item) : item;
|
|
54
|
-
const compare = (a, b) => typeof a === "number" && typeof b === "number" ? a - b : hn.text(a).localeCompare(hn.text(b));
|
|
55
|
-
list.sort((a, b) => {
|
|
56
|
-
for (const key of sort) {
|
|
57
|
-
const descending = key.startsWith("-");
|
|
58
|
-
const order = compare(field(a, descending ? key.slice(1) : key), field(b, descending ? key.slice(1) : key));
|
|
59
|
-
if (order !== 0) return descending ? -order : order;
|
|
60
|
-
}
|
|
61
|
-
return 0;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return typeof limit === "number" ? list.slice(0, Math.max(0, Math.trunc(limit))) : list;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
32
|
const props = __props;
|
|
68
33
|
const emit = __emit;
|
|
69
34
|
const root = ref(null);
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
const state_toasts = ref([]);
|
|
35
|
+
const internalOpen = ref(false);
|
|
36
|
+
const toasts = ref([]);
|
|
73
37
|
/** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
|
|
74
|
-
|
|
38
|
+
function dispatch(name, detail) {
|
|
75
39
|
const declared = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
40
|
+
close: {
|
|
41
|
+
bubbles: true,
|
|
42
|
+
composed: true,
|
|
43
|
+
cancelable: false
|
|
80
44
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
45
|
+
dismiss: {
|
|
46
|
+
bubbles: true,
|
|
47
|
+
composed: true,
|
|
48
|
+
cancelable: false
|
|
85
49
|
}
|
|
86
50
|
};
|
|
87
51
|
const checks = {
|
|
88
|
-
|
|
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) => [
|
|
89
53
|
"open",
|
|
90
54
|
"reason",
|
|
91
55
|
"trigger"
|
|
92
56
|
].includes(key)),
|
|
93
|
-
|
|
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) => [
|
|
94
58
|
"id",
|
|
95
59
|
"reason",
|
|
96
60
|
"trigger"
|
|
97
61
|
].includes(key))
|
|
98
62
|
};
|
|
99
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.`);
|
|
100
|
-
emit
|
|
64
|
+
const emitEvent = emit;
|
|
65
|
+
emitEvent(name, detail);
|
|
66
|
+
if (detail !== null && typeof detail === "object" && "open" in detail) emitEvent("update:open", detail["open"]);
|
|
101
67
|
return root.value?.dispatchEvent(new CustomEvent(name, {
|
|
102
68
|
bubbles: true,
|
|
103
69
|
composed: true,
|
|
104
70
|
...declared[name],
|
|
105
71
|
detail
|
|
106
72
|
})) ?? true;
|
|
107
|
-
}
|
|
73
|
+
}
|
|
108
74
|
function read(name) {
|
|
109
|
-
if (name === "internalOpen") return
|
|
110
|
-
if (name === "toasts") return
|
|
75
|
+
if (name === "internalOpen") return internalOpen.value;
|
|
76
|
+
if (name === "toasts") return toasts.value;
|
|
111
77
|
return props[name];
|
|
112
78
|
}
|
|
113
79
|
function write(name, value) {
|
|
114
80
|
if (name === "internalOpen") {
|
|
115
|
-
|
|
81
|
+
internalOpen.value = value;
|
|
116
82
|
return true;
|
|
117
83
|
}
|
|
118
84
|
if (name === "toasts") {
|
|
119
|
-
|
|
85
|
+
toasts.value = value;
|
|
120
86
|
return true;
|
|
121
87
|
}
|
|
122
88
|
throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
|
|
@@ -130,7 +96,7 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
130
96
|
get: (_target, name) => typeof name === "string" ? read(name) : void 0,
|
|
131
97
|
set: (_target, name, value) => typeof name === "string" && write(name, value)
|
|
132
98
|
}),
|
|
133
|
-
refs,
|
|
99
|
+
refs: {},
|
|
134
100
|
elements: new Proxy({}, { get: (_target, name) => {
|
|
135
101
|
if (typeof name !== "string" || root.value === null) return void 0;
|
|
136
102
|
return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
|
|
@@ -194,20 +160,20 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
194
160
|
}, _ctx.$attrs, {
|
|
195
161
|
ref_key: "root",
|
|
196
162
|
ref: root
|
|
197
|
-
}), [renderSlot(_ctx.$slots, "default"), (openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
163
|
+
}), [renderSlot(_ctx.$slots, "default"), (openBlock(true), createElementBlock(Fragment, null, renderList(toasts.value, (toast) => {
|
|
198
164
|
return openBlock(), createElementBlock("div", {
|
|
199
|
-
key: toast
|
|
200
|
-
class: normalizeClass(["toast", {
|
|
201
|
-
id:
|
|
202
|
-
role:
|
|
203
|
-
}, [createElementVNode("span", _hoisted_2, toDisplayString(
|
|
165
|
+
key: toast.id,
|
|
166
|
+
class: normalizeClass(["toast", { closing: toast.closing }]),
|
|
167
|
+
id: toast.id,
|
|
168
|
+
role: toast.role
|
|
169
|
+
}, [createElementVNode("span", _hoisted_2, toDisplayString(toast.message), 1), createElementVNode("span", {
|
|
204
170
|
class: "dismiss",
|
|
205
|
-
"data-toast":
|
|
171
|
+
"data-toast": toast.id
|
|
206
172
|
}, [createVNode(UiIconButton_default, {
|
|
207
173
|
size: "sm",
|
|
208
174
|
variant: "ghost",
|
|
209
175
|
round: true,
|
|
210
|
-
label:
|
|
176
|
+
label: `Dismiss ${toast.message}`
|
|
211
177
|
}, {
|
|
212
178
|
default: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
|
|
213
179
|
viewBox: "0 0 24 24",
|
|
@@ -222,6 +188,6 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
222
188
|
}), 128))], 16);
|
|
223
189
|
};
|
|
224
190
|
}
|
|
225
|
-
}), [["__scopeId", "data-v-
|
|
191
|
+
}), [["__scopeId", "data-v-d98878bd"]]);
|
|
226
192
|
//#endregion
|
|
227
193
|
export { UiToastRegion_default as t };
|