@shwfed/config 2.7.4 → 2.7.6
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/dist/mcp.mjs +25 -5
- package/dist/module.json +1 -1
- package/dist/preview/assets/{badge-BKq7Eh7r.js → badge-C-IvPZBx.js} +1 -1
- package/dist/preview/assets/{config-DD3McP6M.js → config-B7hXY5FF.js} +1 -1
- package/dist/preview/assets/{config-CXomiRuI.js → config-Bl8L6943.js} +1 -1
- package/dist/preview/assets/{config-Dg3cJb4i.js → config-C947O8za.js} +1 -1
- package/dist/preview/assets/{config-De_RAxft.js → config-DXlCQMVi.js} +1 -1
- package/dist/preview/assets/{config-DpTBe8_L.js → config-DhAntnE5.js} +1 -1
- package/dist/preview/assets/{config-DM58--pQ.js → config-Dj0rEZRq.js} +1 -1
- package/dist/preview/assets/{config-C2XmKu42.js → config-DppExb4h.js} +1 -1
- package/dist/preview/assets/{config-CnsvNcA2.js → config-_aVQvlhc.js} +1 -1
- package/dist/preview/assets/{config-C31gRv6X.js → config-l01zamcS.js} +1 -1
- package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-D-K8Bmbj.js → definition.vue_vue_type_script_setup_true_lang-BbuC0qEM.js} +1 -1
- package/dist/preview/assets/index-B0PL01fm.css +1 -0
- package/dist/preview/assets/index-BNaI1T0H.js +680 -0
- package/dist/preview/assets/index-BwoBmSxu.js +1 -0
- package/dist/preview/assets/{index-4Jigs5K_.js → index-DiC1rvCq.js} +1 -1
- package/dist/preview/assets/{item-DnUV5B-b.js → item-GFiAkFW6.js} +1 -1
- package/dist/preview/assets/{runtime-ChaoQZI9.js → runtime-5h5U6Ozr.js} +1 -1
- package/dist/preview/assets/{runtime-CG4uOgGu.js → runtime-B6dXW6zW.js} +1 -1
- package/dist/preview/assets/{runtime-BqhvXsJ-.js → runtime-BEOIc4zU.js} +1 -1
- package/dist/preview/assets/{runtime-DnlIppMg.js → runtime-BQnHKogz.js} +1 -1
- package/dist/preview/assets/{runtime-W5CcSnyo.js → runtime-Bx7G-5dR.js} +1 -1
- package/dist/preview/assets/{runtime-Dj43RjZC.js → runtime-DmV_M4B_.js} +1 -1
- package/dist/preview/assets/{runtime-Dhi2Tk84.js → runtime-TNDFpOlo.js} +1 -1
- package/dist/preview/assets/{runtime-DAfJmoV1.js → runtime-g9hb36Vh.js} +1 -1
- package/dist/preview/assets/{runtime-BCxzICuW.js → runtime-kLWO8JbC.js} +1 -1
- package/dist/preview/index.html +2 -2
- package/dist/runtime/components/block-layout-editor/index.d.vue.ts +19 -1
- package/dist/runtime/components/block-layout-editor/index.vue +131 -38
- package/dist/runtime/components/block-layout-editor/index.vue.d.ts +19 -1
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.d.vue.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.vue.d.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.d.vue.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.vue.d.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +4 -0
- package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +6 -0
- package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.card/runtime.vue +46 -26
- package/dist/runtime/components/config/blocks/2026-06-02/com.shwfed.block.card/schema.js +1 -1
- package/dist/runtime/components/config/config.vue +9 -1
- package/dist/runtime/components/config/index.vue +11 -1
- package/dist/runtime/components/config/schema.d.ts +25 -0
- package/dist/runtime/components/config/schema.js +8 -0
- package/dist/runtime/components/form/config.vue +49 -1
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.actions/schema.js +4 -1
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/schema.js +4 -1
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-18/com.shwfed.form.field.table/schema.js +4 -1
- package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/schema.d.ts +1 -0
- package/dist/runtime/components/form/fields/2026-05-20/com.shwfed.form.field.collapsible/schema.js +4 -1
- package/dist/runtime/components/form/index.d.vue.ts +1 -0
- package/dist/runtime/components/form/index.vue +8 -0
- package/dist/runtime/components/form/index.vue.d.ts +1 -0
- package/dist/runtime/components/form/schema.d.ts +25 -0
- package/dist/runtime/components/form/schema.js +17 -0
- package/dist/runtime/components/form/unit-config.vue +32 -4
- package/dist/runtime/components/form/utils/history.d.ts +8 -0
- package/dist/runtime/components/form/utils/history.js +8 -0
- package/dist/runtime/components/form/utils/resolve.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.d.vue.ts +26 -26
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/config.vue.d.ts +26 -26
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.d.vue.ts +26 -26
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/config.vue.d.ts +26 -26
- package/dist/runtime/components/table/schema.d.ts +8 -0
- package/dist/runtime/components/ui/command/CommandItem.d.vue.ts +2 -2
- package/dist/runtime/components/ui/command/CommandItem.vue +1 -0
- package/dist/runtime/components/ui/command/CommandItem.vue.d.ts +2 -2
- package/dist/runtime/components/ui/context-menu/ContextMenuContent.d.vue.ts +0 -1
- package/dist/runtime/components/ui/context-menu/ContextMenuContent.vue +3 -4
- package/dist/runtime/components/ui/context-menu/ContextMenuContent.vue.d.ts +0 -1
- package/dist/runtime/components/ui/expression-editor/CodeMirrorInput.vue +17 -2
- package/dist/runtime/components/ui/input-group/InputGroupCombobox.d.vue.ts +2 -8
- package/dist/runtime/components/ui/input-group/InputGroupCombobox.vue +6 -5
- package/dist/runtime/components/ui/input-group/InputGroupCombobox.vue.d.ts +2 -8
- package/dist/runtime/components/ui/popover/PopoverContent.d.vue.ts +0 -1
- package/dist/runtime/components/ui/popover/PopoverContent.vue +3 -4
- package/dist/runtime/components/ui/popover/PopoverContent.vue.d.ts +0 -1
- package/dist/runtime/components/ui/tooltip/TooltipContent.d.vue.ts +0 -1
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue +3 -4
- package/dist/runtime/components/ui/tooltip/TooltipContent.vue.d.ts +0 -1
- package/dist/runtime/share/event-bus.d.ts +23 -4
- package/package.json +1 -1
- package/dist/preview/assets/index-CfwL2UCH.js +0 -680
- package/dist/preview/assets/index-DNHGrCDe.css +0 -1
- package/dist/preview/assets/index-DUo1pTg2.js +0 -1
|
@@ -10,9 +10,9 @@ type __VLS_Props = ListboxItemProps & {
|
|
|
10
10
|
*/
|
|
11
11
|
keywords?: string;
|
|
12
12
|
};
|
|
13
|
-
declare var
|
|
13
|
+
declare var __VLS_12: {};
|
|
14
14
|
type __VLS_Slots = {} & {
|
|
15
|
-
default?: (props: typeof
|
|
15
|
+
default?: (props: typeof __VLS_12) => any;
|
|
16
16
|
};
|
|
17
17
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
18
18
|
select: (event: import("reka-ui").ListboxItemSelectEvent<import("reka-ui").AcceptableValue>) => any;
|
|
@@ -76,6 +76,7 @@ onUnmounted(() => {
|
|
|
76
76
|
data-slot="command-item"
|
|
77
77
|
:class="cn('data-highlighted:bg-zinc-100 data-highlighted:text-zinc-700 hover:bg-zinc-50 [&_svg:not([class*=\'text-\'])]:text-zinc-700 cursor-pointer relative flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4', props.class)"
|
|
78
78
|
@select="handleSelect"
|
|
79
|
+
@mousedown.prevent
|
|
79
80
|
>
|
|
80
81
|
<slot />
|
|
81
82
|
</ListboxItem>
|
|
@@ -10,9 +10,9 @@ type __VLS_Props = ListboxItemProps & {
|
|
|
10
10
|
*/
|
|
11
11
|
keywords?: string;
|
|
12
12
|
};
|
|
13
|
-
declare var
|
|
13
|
+
declare var __VLS_12: {};
|
|
14
14
|
type __VLS_Slots = {} & {
|
|
15
|
-
default?: (props: typeof
|
|
15
|
+
default?: (props: typeof __VLS_12) => any;
|
|
16
16
|
};
|
|
17
17
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
18
18
|
select: (event: import("reka-ui").ListboxItemSelectEvent<import("reka-ui").AcceptableValue>) => any;
|
|
@@ -2,7 +2,6 @@ import type { ContextMenuContentProps } from 'reka-ui';
|
|
|
2
2
|
import type { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = ContextMenuContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
-
to?: string | HTMLElement | null;
|
|
6
5
|
};
|
|
7
6
|
declare var __VLS_14: {};
|
|
8
7
|
type __VLS_Slots = {} & {
|
|
@@ -27,16 +27,15 @@ const props = defineProps({
|
|
|
27
27
|
reference: { type: null, required: false },
|
|
28
28
|
asChild: { type: Boolean, required: false },
|
|
29
29
|
as: { type: null, required: false },
|
|
30
|
-
class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
|
|
31
|
-
to: { type: null, required: false }
|
|
30
|
+
class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
|
|
32
31
|
});
|
|
33
32
|
const emits = defineEmits(["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "closeAutoFocus"]);
|
|
34
|
-
const delegatedProps = reactiveOmit(props, "class"
|
|
33
|
+
const delegatedProps = reactiveOmit(props, "class");
|
|
35
34
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
36
35
|
</script>
|
|
37
36
|
|
|
38
37
|
<template>
|
|
39
|
-
<ContextMenuPortal
|
|
38
|
+
<ContextMenuPortal>
|
|
40
39
|
<ContextMenuContent
|
|
41
40
|
data-slot="context-menu-content"
|
|
42
41
|
v-bind="{ ...$attrs, ...forwarded }"
|
|
@@ -2,7 +2,6 @@ import type { ContextMenuContentProps } from 'reka-ui';
|
|
|
2
2
|
import type { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = ContextMenuContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
-
to?: string | HTMLElement | null;
|
|
6
5
|
};
|
|
7
6
|
declare var __VLS_14: {};
|
|
8
7
|
type __VLS_Slots = {} & {
|
|
@@ -41,7 +41,14 @@ const editorTheme = EditorView.theme({
|
|
|
41
41
|
},
|
|
42
42
|
".cm-scroller": {
|
|
43
43
|
fontFamily: "var(--font-mono)",
|
|
44
|
-
lineHeight: "1.5"
|
|
44
|
+
lineHeight: "1.5",
|
|
45
|
+
// Behave like a native <input>: a single line that outgrows a narrow editor
|
|
46
|
+
// scrolls horizontally with the caret, but never surfaces a scrollbar —
|
|
47
|
+
// whose track would otherwise read as a stray line under the field.
|
|
48
|
+
scrollbarWidth: "none"
|
|
49
|
+
},
|
|
50
|
+
".cm-scroller::-webkit-scrollbar": {
|
|
51
|
+
display: "none"
|
|
45
52
|
},
|
|
46
53
|
".cm-line": {
|
|
47
54
|
padding: "0"
|
|
@@ -127,8 +134,16 @@ defineExpose({ insertAtSelection, focus });
|
|
|
127
134
|
data-slot="input-group-control"
|
|
128
135
|
:class="cn(
|
|
129
136
|
'flex-1 min-w-0 self-stretch overflow-x-auto px-3',
|
|
130
|
-
|
|
137
|
+
// Single-line: `overflow-x-auto` on its own makes the browser promote
|
|
138
|
+
// `overflow-y` from `visible` to `auto` (CSS spec quirk), so the 1px gap
|
|
139
|
+
// between the 35px content box and the 34px `h-9` host surfaces a phantom
|
|
140
|
+
// vertical scrollbar. Pin it hidden — one line never scrolls vertically.
|
|
141
|
+
props.multiline ? '[&_.cm-content]:min-h-16' : 'overflow-y-hidden [&_.cm-scroller]:items-center',
|
|
131
142
|
props.class
|
|
132
143
|
)"
|
|
133
144
|
/>
|
|
134
145
|
</template>
|
|
146
|
+
|
|
147
|
+
<style scoped>
|
|
148
|
+
[data-slot=input-group-control]{scrollbar-width:none}[data-slot=input-group-control]::-webkit-scrollbar{display:none}
|
|
149
|
+
</style>
|
|
@@ -2,16 +2,10 @@ import { type PopoverContentProps } from 'reka-ui';
|
|
|
2
2
|
type __VLS_Props = PopoverContentProps & {
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
invalid?: boolean;
|
|
5
|
-
/**
|
|
6
|
-
* Render target for the popover portal. Pass a container ref to keep the
|
|
7
|
-
* dropdown inside (e.g. a fullscreen ancestor); leave unset for the
|
|
8
|
-
* default body-level portal.
|
|
9
|
-
*/
|
|
10
|
-
to?: string | HTMLElement | null;
|
|
11
5
|
};
|
|
12
|
-
declare var
|
|
6
|
+
declare var __VLS_52: {};
|
|
13
7
|
type __VLS_Slots = {} & {
|
|
14
|
-
default?: (props: typeof
|
|
8
|
+
default?: (props: typeof __VLS_52) => any;
|
|
15
9
|
};
|
|
16
10
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
17
11
|
blur: (...args: any[]) => void;
|
|
@@ -5,6 +5,7 @@ import InputGroupComboboxInput from "./InputGroupComboboxInput.vue";
|
|
|
5
5
|
import { Icon } from "@iconify/vue";
|
|
6
6
|
import { useForwardProps } from "reka-ui";
|
|
7
7
|
import { reactiveOmit } from "@vueuse/core";
|
|
8
|
+
import { ref } from "vue";
|
|
8
9
|
import { useI18n } from "vue-i18n";
|
|
9
10
|
import { getInputGroupReference } from ".";
|
|
10
11
|
const { t } = useI18n({
|
|
@@ -39,20 +40,21 @@ const props = defineProps({
|
|
|
39
40
|
as: { type: null, required: false },
|
|
40
41
|
disableOutsidePointerEvents: { type: Boolean, required: false },
|
|
41
42
|
disabled: { type: Boolean, required: false },
|
|
42
|
-
invalid: { type: Boolean, required: false }
|
|
43
|
-
to: { type: null, required: false }
|
|
43
|
+
invalid: { type: Boolean, required: false }
|
|
44
44
|
});
|
|
45
45
|
const emits = defineEmits(["blur"]);
|
|
46
|
-
const delegatedProps = reactiveOmit(props, "disabled", "invalid"
|
|
46
|
+
const delegatedProps = reactiveOmit(props, "disabled", "invalid");
|
|
47
47
|
const forwarded = useForwardProps(delegatedProps);
|
|
48
|
+
const open = ref(false);
|
|
48
49
|
</script>
|
|
49
50
|
|
|
50
51
|
<template>
|
|
51
52
|
<Command
|
|
52
53
|
as-child
|
|
53
54
|
:disabled="props.disabled"
|
|
55
|
+
@update:model-value="open = false"
|
|
54
56
|
>
|
|
55
|
-
<Popover>
|
|
57
|
+
<Popover v-model:open="open">
|
|
56
58
|
<PopoverTrigger
|
|
57
59
|
as="input"
|
|
58
60
|
as-child
|
|
@@ -64,7 +66,6 @@ const forwarded = useForwardProps(delegatedProps);
|
|
|
64
66
|
</PopoverTrigger>
|
|
65
67
|
<PopoverContent
|
|
66
68
|
v-bind="forwarded"
|
|
67
|
-
:to="props.to ?? void 0"
|
|
68
69
|
:reference="getInputGroupReference().value ?? void 0"
|
|
69
70
|
:style="{
|
|
70
71
|
width: 'var(--reka-popover-trigger-width)'
|
|
@@ -2,16 +2,10 @@ import { type PopoverContentProps } from 'reka-ui';
|
|
|
2
2
|
type __VLS_Props = PopoverContentProps & {
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
invalid?: boolean;
|
|
5
|
-
/**
|
|
6
|
-
* Render target for the popover portal. Pass a container ref to keep the
|
|
7
|
-
* dropdown inside (e.g. a fullscreen ancestor); leave unset for the
|
|
8
|
-
* default body-level portal.
|
|
9
|
-
*/
|
|
10
|
-
to?: string | HTMLElement | null;
|
|
11
5
|
};
|
|
12
|
-
declare var
|
|
6
|
+
declare var __VLS_52: {};
|
|
13
7
|
type __VLS_Slots = {} & {
|
|
14
|
-
default?: (props: typeof
|
|
8
|
+
default?: (props: typeof __VLS_52) => any;
|
|
15
9
|
};
|
|
16
10
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
17
11
|
blur: (...args: any[]) => void;
|
|
@@ -2,7 +2,6 @@ import type { PopoverContentProps } from 'reka-ui';
|
|
|
2
2
|
import type { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = PopoverContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
-
to?: string | HTMLElement | null;
|
|
6
5
|
};
|
|
7
6
|
declare var __VLS_14: {};
|
|
8
7
|
type __VLS_Slots = {} & {
|
|
@@ -32,16 +32,15 @@ const props = defineProps({
|
|
|
32
32
|
asChild: { type: Boolean, required: false },
|
|
33
33
|
as: { type: null, required: false },
|
|
34
34
|
disableOutsidePointerEvents: { type: Boolean, required: false },
|
|
35
|
-
class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
|
|
36
|
-
to: { type: null, required: false }
|
|
35
|
+
class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
|
|
37
36
|
});
|
|
38
37
|
const emits = defineEmits(["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "openAutoFocus", "closeAutoFocus"]);
|
|
39
|
-
const delegatedProps = reactiveOmit(props, "class"
|
|
38
|
+
const delegatedProps = reactiveOmit(props, "class");
|
|
40
39
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
41
40
|
</script>
|
|
42
41
|
|
|
43
42
|
<template>
|
|
44
|
-
<PopoverPortal
|
|
43
|
+
<PopoverPortal>
|
|
45
44
|
<PopoverContent
|
|
46
45
|
data-slot="popover-content"
|
|
47
46
|
v-bind="{ ...$attrs, ...forwarded }"
|
|
@@ -2,7 +2,6 @@ import type { PopoverContentProps } from 'reka-ui';
|
|
|
2
2
|
import type { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = PopoverContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
-
to?: string | HTMLElement | null;
|
|
6
5
|
};
|
|
7
6
|
declare var __VLS_14: {};
|
|
8
7
|
type __VLS_Slots = {} & {
|
|
@@ -2,7 +2,6 @@ import type { TooltipContentProps } from 'reka-ui';
|
|
|
2
2
|
import type { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = TooltipContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
-
to?: string | HTMLElement | null;
|
|
6
5
|
};
|
|
7
6
|
declare var __VLS_14: {};
|
|
8
7
|
type __VLS_Slots = {} & {
|
|
@@ -22,16 +22,15 @@ const props = defineProps({
|
|
|
22
22
|
hideWhenDetached: { type: Boolean, required: false },
|
|
23
23
|
positionStrategy: { type: String, required: false },
|
|
24
24
|
updatePositionStrategy: { type: String, required: false },
|
|
25
|
-
class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
|
|
26
|
-
to: { type: null, required: false }
|
|
25
|
+
class: { type: [Boolean, null, String, Object, Array], required: false, skipCheck: true }
|
|
27
26
|
});
|
|
28
27
|
const emits = defineEmits(["escapeKeyDown", "pointerDownOutside"]);
|
|
29
|
-
const delegatedProps = reactiveOmit(props, "class"
|
|
28
|
+
const delegatedProps = reactiveOmit(props, "class");
|
|
30
29
|
const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|
31
30
|
</script>
|
|
32
31
|
|
|
33
32
|
<template>
|
|
34
|
-
<TooltipPortal
|
|
33
|
+
<TooltipPortal>
|
|
35
34
|
<TooltipContent
|
|
36
35
|
data-slot="tooltip-content"
|
|
37
36
|
v-bind="{ ...forwarded, ...$attrs }"
|
|
@@ -2,7 +2,6 @@ import type { TooltipContentProps } from 'reka-ui';
|
|
|
2
2
|
import type { HTMLAttributes } from 'vue';
|
|
3
3
|
type __VLS_Props = TooltipContentProps & {
|
|
4
4
|
class?: HTMLAttributes['class'];
|
|
5
|
-
to?: string | HTMLElement | null;
|
|
6
5
|
};
|
|
7
6
|
declare var __VLS_14: {};
|
|
8
7
|
type __VLS_Slots = {} & {
|
|
@@ -41,10 +41,29 @@ export type EventChannel = Readonly<{
|
|
|
41
41
|
}>;
|
|
42
42
|
/**
|
|
43
43
|
* Operation id → handler, for one operation-exposing instance. Handlers
|
|
44
|
-
* return an Effect so the bus can run them serially and in order.
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
44
|
+
* return an Effect so the bus can run them serially and in order.
|
|
45
|
+
*
|
|
46
|
+
* The `void` error channel pins handlers as infallible *failures* — a handler
|
|
47
|
+
* that hits a recoverable hiccup must swallow/log it internally (mirrors the
|
|
48
|
+
* table's fetch-error contract) rather than surface it, since the bus has no
|
|
49
|
+
* error channel to carry it.
|
|
50
|
+
*
|
|
51
|
+
* A handler MAY still *halt* the chain — the "guard" shape: stop everything
|
|
52
|
+
* queued after it. `dispatchTriggers` runs the list with `Effect.forEach`,
|
|
53
|
+
* which short-circuits the moment one request's effect aborts, so triggers
|
|
54
|
+
* after the guard never dispatch. The page's `close` op is the canonical case
|
|
55
|
+
* (it halts unconditionally — nothing should run after a close). It halts with
|
|
56
|
+
* `Effect.die`, not `Effect.fail`: a defect aborts the chain without widening
|
|
57
|
+
* the `void` error channel here (and `ActionEffect`'s `catchTags` union over in
|
|
58
|
+
* `actions/components/group.vue`). The defect propagates to that runner's
|
|
59
|
+
* `runPromise`, whose outer try/catch absorbs it silently — `catchTags` only
|
|
60
|
+
* intercepts typed failures, so no toast.
|
|
61
|
+
*
|
|
62
|
+
* Pre-submit form validation is the same guard shape but doesn't run over this
|
|
63
|
+
* bus yet — it injects the separate `share/form-validate` seam. The intended
|
|
64
|
+
* end state folds it in as a fallible `validate` operation here, at which point
|
|
65
|
+
* the error channel widens to carry a typed validation failure (see the note in
|
|
66
|
+
* `form-validate.ts`).
|
|
48
67
|
*/
|
|
49
68
|
export type OperationHandlers = Readonly<Record<string, () => Effect.Effect<void>>>;
|
|
50
69
|
export declare const EVENT_CHANNEL_KEY: InjectionKey<EventChannel>;
|