@atscript/vue-form 0.1.58
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/LICENSE +21 -0
- package/README.md +35 -0
- package/dist/as-action-71f9E_bL.cjs +208 -0
- package/dist/as-action-DU17rykn.mjs +203 -0
- package/dist/as-action.cjs +2 -0
- package/dist/as-action.d.cts +2 -0
- package/dist/as-action.d.mts +2 -0
- package/dist/as-action.mjs +2 -0
- package/dist/as-action.vue-BdbAOZCL.d.cts +13 -0
- package/dist/as-action.vue-CmY3eil1.d.mts +13 -0
- package/dist/as-adornment-shell-9UmdNIPR.cjs +97 -0
- package/dist/as-adornment-shell-knFiB7Ct.mjs +92 -0
- package/dist/as-array-Bn27x9cq.cjs +466 -0
- package/dist/as-array-DwarTaKP.mjs +455 -0
- package/dist/as-array-clear-btn-DAGervXL.cjs +48 -0
- package/dist/as-array-clear-btn-DIhzCKC9.mjs +43 -0
- package/dist/as-array.cjs +11 -0
- package/dist/as-array.d.cts +2 -0
- package/dist/as-array.d.mts +2 -0
- package/dist/as-array.mjs +11 -0
- package/dist/as-array.vue-C5r_ycIa.d.mts +9 -0
- package/dist/as-array.vue-CeBZRVm7.d.cts +9 -0
- package/dist/as-checkbox-B_9mwla6.mjs +285 -0
- package/dist/as-checkbox-DXGTVHPE.cjs +296 -0
- package/dist/as-checkbox.cjs +6 -0
- package/dist/as-checkbox.d.cts +2 -0
- package/dist/as-checkbox.d.mts +2 -0
- package/dist/as-checkbox.mjs +6 -0
- package/dist/as-checkbox.vue-BL53Xjmi.d.mts +9 -0
- package/dist/as-checkbox.vue-Da1KVG5J.d.cts +9 -0
- package/dist/as-collapsible-CqxeJut7.cjs +148 -0
- package/dist/as-collapsible-DtNCofNT.mjs +143 -0
- package/dist/as-date-C7tFQDkh.mjs +253 -0
- package/dist/as-date-k3MW3dmA.cjs +258 -0
- package/dist/as-date.cjs +8 -0
- package/dist/as-date.d.cts +2 -0
- package/dist/as-date.d.mts +2 -0
- package/dist/as-date.mjs +8 -0
- package/dist/as-date.vue-C5JaS3Sd.d.mts +9 -0
- package/dist/as-date.vue-e2ewS_V4.d.cts +9 -0
- package/dist/as-datetime-C030mzI5.cjs +258 -0
- package/dist/as-datetime-elcOoDT5.mjs +253 -0
- package/dist/as-datetime.cjs +8 -0
- package/dist/as-datetime.d.cts +2 -0
- package/dist/as-datetime.d.mts +2 -0
- package/dist/as-datetime.mjs +8 -0
- package/dist/as-datetime.vue-ClsSnJSV.d.mts +9 -0
- package/dist/as-datetime.vue-vfHFsby6.d.cts +9 -0
- package/dist/as-decimal-BJIGgPXU.cjs +711 -0
- package/dist/as-decimal-DtXjFPhe.mjs +694 -0
- package/dist/as-decimal.cjs +7 -0
- package/dist/as-decimal.d.cts +2 -0
- package/dist/as-decimal.d.mts +2 -0
- package/dist/as-decimal.mjs +7 -0
- package/dist/as-decimal.vue-B1pEKdjM.d.cts +25 -0
- package/dist/as-decimal.vue-CSCtYRRa.d.mts +25 -0
- package/dist/as-field-CXVjrEPQ.mjs +481 -0
- package/dist/as-field-shell-B2iTn-iM.cjs +346 -0
- package/dist/as-field-shell-Pdy3sAvr.mjs +341 -0
- package/dist/as-field-shell.cjs +5 -0
- package/dist/as-field-shell.d.cts +2 -0
- package/dist/as-field-shell.d.mts +2 -0
- package/dist/as-field-shell.mjs +5 -0
- package/dist/as-field-shell.vue-Ddnp8KxY.d.mts +37 -0
- package/dist/as-field-shell.vue-Dmt05vGD.d.cts +37 -0
- package/dist/as-field-wLYoaZnT.cjs +498 -0
- package/dist/as-field.cjs +4 -0
- package/dist/as-field.d.cts +25 -0
- package/dist/as-field.d.mts +26 -0
- package/dist/as-field.mjs +4 -0
- package/dist/as-form-CWwgyvfw.mjs +425 -0
- package/dist/as-form-DAIkyt7H.cjs +448 -0
- package/dist/as-form.cjs +7 -0
- package/dist/as-form.d.cts +2 -0
- package/dist/as-form.d.mts +2 -0
- package/dist/as-form.mjs +7 -0
- package/dist/as-form.vue-B4Bn0pbC.d.cts +158 -0
- package/dist/as-form.vue-DRrb_yoj.d.mts +158 -0
- package/dist/as-input-CpbV2k3s.cjs +231 -0
- package/dist/as-input-DIa8BzLv.mjs +226 -0
- package/dist/as-input-control-BzELjheN.mjs +266 -0
- package/dist/as-input-control-C5-DelZT.cjs +271 -0
- package/dist/as-input.cjs +8 -0
- package/dist/as-input.d.cts +2 -0
- package/dist/as-input.d.mts +2 -0
- package/dist/as-input.mjs +8 -0
- package/dist/as-input.vue-11ldp9uT.d.cts +17 -0
- package/dist/as-input.vue-fUhcvfv2.d.mts +17 -0
- package/dist/as-iterator-BYMNe6UJ.cjs +61 -0
- package/dist/as-iterator-CT5y1jyn.mjs +56 -0
- package/dist/as-iterator.cjs +5 -0
- package/dist/as-iterator.d.cts +14 -0
- package/dist/as-iterator.d.mts +15 -0
- package/dist/as-iterator.mjs +5 -0
- package/dist/as-number-BA55JIq1.cjs +387 -0
- package/dist/as-number-JPEwPK8Q.mjs +376 -0
- package/dist/as-number.cjs +8 -0
- package/dist/as-number.d.cts +2 -0
- package/dist/as-number.d.mts +2 -0
- package/dist/as-number.mjs +8 -0
- package/dist/as-number.vue-Bk-W7Vwv.d.mts +26 -0
- package/dist/as-number.vue-C2Aih98s.d.cts +26 -0
- package/dist/as-object-CT6lNEqt.mjs +300 -0
- package/dist/as-object-qUL7l8V1.cjs +305 -0
- package/dist/as-object.cjs +11 -0
- package/dist/as-object.d.cts +2 -0
- package/dist/as-object.d.mts +2 -0
- package/dist/as-object.mjs +11 -0
- package/dist/as-object.vue-CKwMyM_F.d.cts +13 -0
- package/dist/as-object.vue-Cg52b61-.d.mts +13 -0
- package/dist/as-paragraph-BGO-j4US.cjs +203 -0
- package/dist/as-paragraph-jIG_dg7_.mjs +198 -0
- package/dist/as-paragraph.cjs +2 -0
- package/dist/as-paragraph.d.cts +2 -0
- package/dist/as-paragraph.d.mts +2 -0
- package/dist/as-paragraph.mjs +2 -0
- package/dist/as-paragraph.vue-BDt0pBG-.d.cts +9 -0
- package/dist/as-paragraph.vue-C3FgTEt5.d.mts +9 -0
- package/dist/as-radio-B1N-gmoI.mjs +242 -0
- package/dist/as-radio-U3OK7bTg.cjs +247 -0
- package/dist/as-radio.cjs +6 -0
- package/dist/as-radio.d.cts +2 -0
- package/dist/as-radio.d.mts +2 -0
- package/dist/as-radio.mjs +6 -0
- package/dist/as-radio.vue-D_fweoN1.d.mts +9 -0
- package/dist/as-radio.vue-ZC4kLBnT.d.cts +9 -0
- package/dist/as-ref-CIifSSCQ.mjs +337 -0
- package/dist/as-ref-SImaIrwK.cjs +342 -0
- package/dist/as-ref.cjs +7 -0
- package/dist/as-ref.d.cts +2 -0
- package/dist/as-ref.d.mts +2 -0
- package/dist/as-ref.mjs +7 -0
- package/dist/as-ref.vue-BNeQeQpO.d.cts +9 -0
- package/dist/as-ref.vue-Cr5jeNDn.d.mts +9 -0
- package/dist/as-select-BB3uxACS.cjs +246 -0
- package/dist/as-select-UBGCVhku.mjs +241 -0
- package/dist/as-select.cjs +6 -0
- package/dist/as-select.d.cts +2 -0
- package/dist/as-select.d.mts +2 -0
- package/dist/as-select.mjs +6 -0
- package/dist/as-select.vue-Dd7huPq2.d.cts +9 -0
- package/dist/as-select.vue-RYpbZbKt.d.mts +9 -0
- package/dist/as-time-C24rvslH.cjs +258 -0
- package/dist/as-time-CQsxUs8P.mjs +253 -0
- package/dist/as-time.cjs +8 -0
- package/dist/as-time.d.cts +2 -0
- package/dist/as-time.d.mts +2 -0
- package/dist/as-time.mjs +8 -0
- package/dist/as-time.vue-huLx2B4l.d.mts +9 -0
- package/dist/as-time.vue-nMEHLXke.d.cts +9 -0
- package/dist/as-tuple-BU--cuuI.cjs +351 -0
- package/dist/as-tuple-DkI9swlW.mjs +340 -0
- package/dist/as-tuple.cjs +11 -0
- package/dist/as-tuple.d.cts +2 -0
- package/dist/as-tuple.d.mts +2 -0
- package/dist/as-tuple.mjs +11 -0
- package/dist/as-tuple.vue-CQhzOJsn.d.mts +9 -0
- package/dist/as-tuple.vue-DyskCkf-.d.cts +9 -0
- package/dist/as-union-BGvdxr3G.mjs +351 -0
- package/dist/as-union-C0btoJn3.cjs +368 -0
- package/dist/as-union.cjs +6 -0
- package/dist/as-union.d.cts +2 -0
- package/dist/as-union.d.mts +2 -0
- package/dist/as-union.mjs +6 -0
- package/dist/as-union.vue-BjlDPZn0.d.mts +9 -0
- package/dist/as-union.vue-CqjU3O10.d.cts +9 -0
- package/dist/as-variant-picker-BVs0AvjK.mjs +96 -0
- package/dist/as-variant-picker-DObQZHmm.cjs +107 -0
- package/dist/index.cjs +173 -0
- package/dist/index.d.cts +966 -0
- package/dist/index.d.mts +966 -0
- package/dist/index.mjs +105 -0
- package/dist/types-C4HRSxgV.d.cts +233 -0
- package/dist/types-Czm-Gtud.d.mts +233 -0
- package/dist/use-as-date-B7CtcRQd.cjs +329 -0
- package/dist/use-as-date-C39i9mzE.mjs +318 -0
- package/dist/use-as-dropdown-BMnEm6jF.mjs +82 -0
- package/dist/use-as-dropdown-C-Qy7Vt0.cjs +105 -0
- package/dist/use-as-locale-BrFdAgnU.mjs +23 -0
- package/dist/use-as-locale-C4z5stwD.cjs +34 -0
- package/dist/use-as-nested-sections-store-jdMRxjBE.cjs +80 -0
- package/dist/use-as-nested-sections-store-lhi0z5z1.mjs +63 -0
- package/dist/use-as-optional-add-flow-CuXEir_i.mjs +43 -0
- package/dist/use-as-optional-add-flow-STOaQWo9.cjs +48 -0
- package/dist/use-as-value-help-CBykDEjZ.mjs +89 -0
- package/dist/use-as-value-help-uANI3zWa.cjs +100 -0
- package/dist/use-form-context-Dwr8Ai1v.cjs +207 -0
- package/dist/use-form-context-bAj7UoSe.mjs +106 -0
- package/package.json +180 -0
- package/styles.d.ts +2 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
require("./use-form-context-Dwr8Ai1v.cjs");
|
|
2
|
+
require("./use-as-nested-sections-store-jdMRxjBE.cjs");
|
|
3
|
+
require("./use-as-dropdown-C-Qy7Vt0.cjs");
|
|
4
|
+
require("./use-as-optional-add-flow-STOaQWo9.cjs");
|
|
5
|
+
const require_as_union = require("./as-union-C0btoJn3.cjs");
|
|
6
|
+
module.exports = require_as_union.as_union_default;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import "./use-form-context-bAj7UoSe.mjs";
|
|
2
|
+
import "./use-as-nested-sections-store-lhi0z5z1.mjs";
|
|
3
|
+
import "./use-as-dropdown-BMnEm6jF.mjs";
|
|
4
|
+
import "./use-as-optional-add-flow-CuXEir_i.mjs";
|
|
5
|
+
import { t as as_union_default } from "./as-union-BGvdxr3G.mjs";
|
|
6
|
+
export { as_union_default as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { i as TAsComponentProps } from "./types-Czm-Gtud.mjs";
|
|
2
|
+
import * as vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/defaults/as-union.vue.d.ts
|
|
5
|
+
type __VLS_Props = TAsComponentProps;
|
|
6
|
+
declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { _default as t };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { i as TAsComponentProps } from "./types-C4HRSxgV.cjs";
|
|
2
|
+
import * as vue from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/defaults/as-union.vue.d.ts
|
|
5
|
+
type __VLS_Props = TAsComponentProps;
|
|
6
|
+
declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { _default as t };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { t as useAsDropdown } from "./use-as-dropdown-BMnEm6jF.mjs";
|
|
2
|
+
import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, ref, renderList, toDisplayString, unref, withModifiers } from "vue";
|
|
3
|
+
//#region src/components/internal/as-optional-clear.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
const _hoisted_1$1 = [
|
|
5
|
+
"disabled",
|
|
6
|
+
"aria-label",
|
|
7
|
+
"title"
|
|
8
|
+
];
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/internal/as-optional-clear.vue
|
|
11
|
+
var as_optional_clear_default = /* @__PURE__ */ defineComponent({
|
|
12
|
+
__name: "as-optional-clear",
|
|
13
|
+
props: {
|
|
14
|
+
label: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: false
|
|
17
|
+
},
|
|
18
|
+
disabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
required: false
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
emits: ["clear"],
|
|
24
|
+
setup(__props) {
|
|
25
|
+
/** `label` only feeds the aria-label so screen-readers say "Unset City". */
|
|
26
|
+
return (_ctx, _cache) => {
|
|
27
|
+
return openBlock(), createElementBlock("button", {
|
|
28
|
+
type: "button",
|
|
29
|
+
class: "as-field-remove-btn",
|
|
30
|
+
disabled: __props.disabled,
|
|
31
|
+
"aria-label": __props.label ? `Unset ${__props.label}` : "Unset value",
|
|
32
|
+
title: __props.label ? `Unset ${__props.label}` : "Unset",
|
|
33
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("clear"), ["stop", "prevent"]))
|
|
34
|
+
}, [..._cache[1] || (_cache[1] = [createElementVNode("span", {
|
|
35
|
+
class: "as-field-remove-btn-icon",
|
|
36
|
+
"aria-hidden": "true"
|
|
37
|
+
}, null, -1)])], 8, _hoisted_1$1);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/components/internal/as-variant-picker.vue?vue&type=script&setup=true&lang.ts
|
|
43
|
+
const _hoisted_1 = ["disabled", "title"];
|
|
44
|
+
const _hoisted_2 = {
|
|
45
|
+
key: 0,
|
|
46
|
+
class: "as-dropdown-menu"
|
|
47
|
+
};
|
|
48
|
+
const _hoisted_3 = ["onClick"];
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/components/internal/as-variant-picker.vue
|
|
51
|
+
var as_variant_picker_default = /* @__PURE__ */ defineComponent({
|
|
52
|
+
__name: "as-variant-picker",
|
|
53
|
+
props: {
|
|
54
|
+
unionContext: {
|
|
55
|
+
type: Object,
|
|
56
|
+
required: true
|
|
57
|
+
},
|
|
58
|
+
disabled: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
required: false
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
setup(__props) {
|
|
64
|
+
const props = __props;
|
|
65
|
+
const dropdownRef = ref(null);
|
|
66
|
+
const { isOpen, toggle, select } = useAsDropdown(dropdownRef);
|
|
67
|
+
const currentLabel = computed(() => {
|
|
68
|
+
return (props.unionContext.variants[props.unionContext.currentIndex.value]?.label ?? "").replace(/^\d+\.\s+/, "");
|
|
69
|
+
});
|
|
70
|
+
function onSelectVariant(ctx, index) {
|
|
71
|
+
select(() => ctx.changeVariant(index));
|
|
72
|
+
}
|
|
73
|
+
return (_ctx, _cache) => {
|
|
74
|
+
return openBlock(), createElementBlock("div", {
|
|
75
|
+
ref_key: "dropdownRef",
|
|
76
|
+
ref: dropdownRef,
|
|
77
|
+
class: "as-dropdown"
|
|
78
|
+
}, [createElementVNode("button", {
|
|
79
|
+
type: "button",
|
|
80
|
+
class: "as-variant-trigger",
|
|
81
|
+
disabled: __props.disabled,
|
|
82
|
+
title: `Switch type — current: ${currentLabel.value}`,
|
|
83
|
+
onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
|
|
84
|
+
}, toDisplayString(currentLabel.value || "Switch"), 9, _hoisted_1), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.unionContext.variants, (v, vi) => {
|
|
85
|
+
return openBlock(), createElementBlock("button", {
|
|
86
|
+
key: vi,
|
|
87
|
+
type: "button",
|
|
88
|
+
class: normalizeClass(["as-dropdown-item", { "as-dropdown-item--active": __props.unionContext.currentIndex.value === vi }]),
|
|
89
|
+
onClick: ($event) => onSelectVariant(__props.unionContext, vi)
|
|
90
|
+
}, toDisplayString(v.label), 11, _hoisted_3);
|
|
91
|
+
}), 128))])) : createCommentVNode("v-if", true)], 512);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
//#endregion
|
|
96
|
+
export { as_optional_clear_default as n, as_variant_picker_default as t };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
const require_use_as_dropdown = require("./use-as-dropdown-C-Qy7Vt0.cjs");
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
//#region src/components/internal/as-optional-clear.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
const _hoisted_1$1 = [
|
|
5
|
+
"disabled",
|
|
6
|
+
"aria-label",
|
|
7
|
+
"title"
|
|
8
|
+
];
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/internal/as-optional-clear.vue
|
|
11
|
+
var as_optional_clear_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
12
|
+
__name: "as-optional-clear",
|
|
13
|
+
props: {
|
|
14
|
+
label: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: false
|
|
17
|
+
},
|
|
18
|
+
disabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
required: false
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
emits: ["clear"],
|
|
24
|
+
setup(__props) {
|
|
25
|
+
/** `label` only feeds the aria-label so screen-readers say "Unset City". */
|
|
26
|
+
return (_ctx, _cache) => {
|
|
27
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
|
|
28
|
+
type: "button",
|
|
29
|
+
class: "as-field-remove-btn",
|
|
30
|
+
disabled: __props.disabled,
|
|
31
|
+
"aria-label": __props.label ? `Unset ${__props.label}` : "Unset value",
|
|
32
|
+
title: __props.label ? `Unset ${__props.label}` : "Unset",
|
|
33
|
+
onClick: _cache[0] || (_cache[0] = (0, vue.withModifiers)(($event) => _ctx.$emit("clear"), ["stop", "prevent"]))
|
|
34
|
+
}, [..._cache[1] || (_cache[1] = [(0, vue.createElementVNode)("span", {
|
|
35
|
+
class: "as-field-remove-btn-icon",
|
|
36
|
+
"aria-hidden": "true"
|
|
37
|
+
}, null, -1)])], 8, _hoisted_1$1);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/components/internal/as-variant-picker.vue?vue&type=script&setup=true&lang.ts
|
|
43
|
+
const _hoisted_1 = ["disabled", "title"];
|
|
44
|
+
const _hoisted_2 = {
|
|
45
|
+
key: 0,
|
|
46
|
+
class: "as-dropdown-menu"
|
|
47
|
+
};
|
|
48
|
+
const _hoisted_3 = ["onClick"];
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/components/internal/as-variant-picker.vue
|
|
51
|
+
var as_variant_picker_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
52
|
+
__name: "as-variant-picker",
|
|
53
|
+
props: {
|
|
54
|
+
unionContext: {
|
|
55
|
+
type: Object,
|
|
56
|
+
required: true
|
|
57
|
+
},
|
|
58
|
+
disabled: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
required: false
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
setup(__props) {
|
|
64
|
+
const props = __props;
|
|
65
|
+
const dropdownRef = (0, vue.ref)(null);
|
|
66
|
+
const { isOpen, toggle, select } = require_use_as_dropdown.useAsDropdown(dropdownRef);
|
|
67
|
+
const currentLabel = (0, vue.computed)(() => {
|
|
68
|
+
return (props.unionContext.variants[props.unionContext.currentIndex.value]?.label ?? "").replace(/^\d+\.\s+/, "");
|
|
69
|
+
});
|
|
70
|
+
function onSelectVariant(ctx, index) {
|
|
71
|
+
select(() => ctx.changeVariant(index));
|
|
72
|
+
}
|
|
73
|
+
return (_ctx, _cache) => {
|
|
74
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
75
|
+
ref_key: "dropdownRef",
|
|
76
|
+
ref: dropdownRef,
|
|
77
|
+
class: "as-dropdown"
|
|
78
|
+
}, [(0, vue.createElementVNode)("button", {
|
|
79
|
+
type: "button",
|
|
80
|
+
class: "as-variant-trigger",
|
|
81
|
+
disabled: __props.disabled,
|
|
82
|
+
title: `Switch type — current: ${currentLabel.value}`,
|
|
83
|
+
onClick: _cache[0] || (_cache[0] = (...args) => (0, vue.unref)(toggle) && (0, vue.unref)(toggle)(...args))
|
|
84
|
+
}, (0, vue.toDisplayString)(currentLabel.value || "Switch"), 9, _hoisted_1), (0, vue.unref)(isOpen) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.unionContext.variants, (v, vi) => {
|
|
85
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
|
|
86
|
+
key: vi,
|
|
87
|
+
type: "button",
|
|
88
|
+
class: (0, vue.normalizeClass)(["as-dropdown-item", { "as-dropdown-item--active": __props.unionContext.currentIndex.value === vi }]),
|
|
89
|
+
onClick: ($event) => onSelectVariant(__props.unionContext, vi)
|
|
90
|
+
}, (0, vue.toDisplayString)(v.label), 11, _hoisted_3);
|
|
91
|
+
}), 128))])) : (0, vue.createCommentVNode)("v-if", true)], 512);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
//#endregion
|
|
96
|
+
Object.defineProperty(exports, "as_optional_clear_default", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function() {
|
|
99
|
+
return as_optional_clear_default;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "as_variant_picker_default", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function() {
|
|
105
|
+
return as_variant_picker_default;
|
|
106
|
+
}
|
|
107
|
+
});
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_use_form_context = require("./use-form-context-Dwr8Ai1v.cjs");
|
|
3
|
+
const require_use_as_nested_sections_store = require("./use-as-nested-sections-store-jdMRxjBE.cjs");
|
|
4
|
+
const require_use_as_value_help = require("./use-as-value-help-uANI3zWa.cjs");
|
|
5
|
+
const require_as_form = require("./as-form-DAIkyt7H.cjs");
|
|
6
|
+
const require_as_field = require("./as-field-wLYoaZnT.cjs");
|
|
7
|
+
const require_use_as_locale = require("./use-as-locale-C4z5stwD.cjs");
|
|
8
|
+
const require_as_iterator = require("./as-iterator-BYMNe6UJ.cjs");
|
|
9
|
+
const require_use_as_dropdown = require("./use-as-dropdown-C-Qy7Vt0.cjs");
|
|
10
|
+
const require_as_field_shell = require("./as-field-shell-B2iTn-iM.cjs");
|
|
11
|
+
require("./as-variant-picker-DObQZHmm.cjs");
|
|
12
|
+
require("./as-input-control-C5-DelZT.cjs");
|
|
13
|
+
require("./as-adornment-shell-9UmdNIPR.cjs");
|
|
14
|
+
const require_as_input = require("./as-input-CpbV2k3s.cjs");
|
|
15
|
+
const require_as_select = require("./as-select-BB3uxACS.cjs");
|
|
16
|
+
const require_as_radio = require("./as-radio-U3OK7bTg.cjs");
|
|
17
|
+
const require_as_checkbox = require("./as-checkbox-DXGTVHPE.cjs");
|
|
18
|
+
const require_as_paragraph = require("./as-paragraph-BGO-j4US.cjs");
|
|
19
|
+
const require_as_action = require("./as-action-71f9E_bL.cjs");
|
|
20
|
+
const require_use_as_optional_add_flow = require("./use-as-optional-add-flow-STOaQWo9.cjs");
|
|
21
|
+
require("./as-collapsible-CqxeJut7.cjs");
|
|
22
|
+
const require_as_object = require("./as-object-qUL7l8V1.cjs");
|
|
23
|
+
const require_as_array = require("./as-array-Bn27x9cq.cjs");
|
|
24
|
+
require("./as-array-clear-btn-DAGervXL.cjs");
|
|
25
|
+
const require_as_union = require("./as-union-C0btoJn3.cjs");
|
|
26
|
+
const require_as_tuple = require("./as-tuple-BU--cuuI.cjs");
|
|
27
|
+
const require_as_ref = require("./as-ref-SImaIrwK.cjs");
|
|
28
|
+
const require_as_decimal = require("./as-decimal-BJIGgPXU.cjs");
|
|
29
|
+
const require_as_number = require("./as-number-BA55JIq1.cjs");
|
|
30
|
+
const require_use_as_date = require("./use-as-date-B7CtcRQd.cjs");
|
|
31
|
+
const require_as_date = require("./as-date-k3MW3dmA.cjs");
|
|
32
|
+
const require_as_datetime = require("./as-datetime-C030mzI5.cjs");
|
|
33
|
+
const require_as_time = require("./as-time-C24rvslH.cjs");
|
|
34
|
+
let vue = require("vue");
|
|
35
|
+
let _atscript_ui = require("@atscript/ui");
|
|
36
|
+
//#region src/composables/create-as-form-def.ts
|
|
37
|
+
/**
|
|
38
|
+
* Creates a reactive form definition and data object from an ATScript annotated type.
|
|
39
|
+
*
|
|
40
|
+
* @param type - An ATScript annotated type (imported from a `.as` file).
|
|
41
|
+
* @param context - Optional context object forwarded to `ui.fn.value` resolvers during data creation.
|
|
42
|
+
* Only effective when `@atscript/ui-fns` is installed (dynamic resolver).
|
|
43
|
+
* @returns `{ def, formData }` — the FormDef and a Vue reactive data object with defaults applied
|
|
44
|
+
*/
|
|
45
|
+
function createAsFormDef(type, context) {
|
|
46
|
+
return {
|
|
47
|
+
def: (0, _atscript_ui.createFormDef)(type),
|
|
48
|
+
formData: (0, vue.reactive)((0, _atscript_ui.createFormData)(type, context ? (0, _atscript_ui.createFormValueResolver)({}, context) : void 0))
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/composables/create-default-types.ts
|
|
53
|
+
/**
|
|
54
|
+
* Returns a fresh type-to-component map pre-filled with all built-in defaults.
|
|
55
|
+
*
|
|
56
|
+
* Spread or assign additional entries to extend with custom field types:
|
|
57
|
+
* ```ts
|
|
58
|
+
* const types = { ...createDefaultTypes(), rating: MyRatingComponent }
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
function createDefaultTypes() {
|
|
62
|
+
return {
|
|
63
|
+
text: require_as_input.as_input_default,
|
|
64
|
+
textarea: require_as_input.as_input_default,
|
|
65
|
+
password: require_as_input.as_input_default,
|
|
66
|
+
number: require_as_number.as_number_default,
|
|
67
|
+
decimal: require_as_decimal.as_decimal_default,
|
|
68
|
+
select: require_as_select.as_select_default,
|
|
69
|
+
radio: require_as_radio.as_radio_default,
|
|
70
|
+
checkbox: require_as_checkbox.as_checkbox_default,
|
|
71
|
+
paragraph: require_as_paragraph.as_paragraph_default,
|
|
72
|
+
action: require_as_action.as_action_default,
|
|
73
|
+
object: require_as_object.as_object_default,
|
|
74
|
+
array: require_as_array.as_array_default,
|
|
75
|
+
union: require_as_union.as_union_default,
|
|
76
|
+
tuple: require_as_tuple.as_tuple_default,
|
|
77
|
+
ref: require_as_ref.as_ref_default,
|
|
78
|
+
date: require_as_date.as_date_default,
|
|
79
|
+
datetime: require_as_datetime.as_datetime_default,
|
|
80
|
+
time: require_as_time.as_time_default
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/composables/use-as-path.ts
|
|
85
|
+
const EMPTY_PATH = (0, vue.computed)(() => "");
|
|
86
|
+
/**
|
|
87
|
+
* Reactive read-only access to the absolute dotted path prefix at the
|
|
88
|
+
* current point in the `<AsForm>` tree. Returns `''` when called outside
|
|
89
|
+
* a form.
|
|
90
|
+
*/
|
|
91
|
+
function useAsPath() {
|
|
92
|
+
return { path: (0, vue.inject)(require_use_form_context.PATH_PREFIX_KEY, EMPTY_PATH) };
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/composables/use-as-error-dismiss.ts
|
|
96
|
+
const NOOP = () => {};
|
|
97
|
+
/**
|
|
98
|
+
* Returns the `dismissExternalAt` callback provided by the nearest
|
|
99
|
+
* ancestor `<AsForm>`. Outside a form the result is a no-op so calling
|
|
100
|
+
* it from a leaf component does not throw.
|
|
101
|
+
*/
|
|
102
|
+
function useAsErrorDismiss() {
|
|
103
|
+
return (0, vue.inject)(require_use_form_context.DISMISS_EXTERNAL_AT_KEY, null) ?? NOOP;
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
exports.AsAction = require_as_action.as_action_default;
|
|
107
|
+
exports.AsArray = require_as_array.as_array_default;
|
|
108
|
+
exports.AsCheckbox = require_as_checkbox.as_checkbox_default;
|
|
109
|
+
exports.AsDate = require_as_date.as_date_default;
|
|
110
|
+
exports.AsDatetime = require_as_datetime.as_datetime_default;
|
|
111
|
+
exports.AsDecimal = require_as_decimal.as_decimal_default;
|
|
112
|
+
exports.AsField = require_as_field.as_field_default;
|
|
113
|
+
exports.AsFieldShell = require_as_field_shell.as_field_shell_default;
|
|
114
|
+
exports.AsForm = require_as_form.as_form_default;
|
|
115
|
+
exports.AsInput = require_as_input.as_input_default;
|
|
116
|
+
exports.AsIterator = require_as_iterator.as_iterator_default;
|
|
117
|
+
exports.AsNumber = require_as_number.as_number_default;
|
|
118
|
+
exports.AsObject = require_as_object.as_object_default;
|
|
119
|
+
exports.AsParagraph = require_as_paragraph.as_paragraph_default;
|
|
120
|
+
exports.AsRadio = require_as_radio.as_radio_default;
|
|
121
|
+
exports.AsRef = require_as_ref.as_ref_default;
|
|
122
|
+
exports.AsSelect = require_as_select.as_select_default;
|
|
123
|
+
exports.AsTime = require_as_time.as_time_default;
|
|
124
|
+
exports.AsTuple = require_as_tuple.as_tuple_default;
|
|
125
|
+
exports.AsUnion = require_as_union.as_union_default;
|
|
126
|
+
exports.createAsFormDef = createAsFormDef;
|
|
127
|
+
exports.createDefaultTypes = createDefaultTypes;
|
|
128
|
+
exports.focusFirstAfter = require_use_as_dropdown.focusFirstAfter;
|
|
129
|
+
exports.focusNewFocusableAfter = require_use_as_dropdown.focusNewFocusableAfter;
|
|
130
|
+
exports.formatIndexedLabelParts = require_use_form_context.formatIndexedLabelParts;
|
|
131
|
+
Object.defineProperty(exports, "getDefaultClientFactory", {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function() {
|
|
134
|
+
return _atscript_ui.getDefaultClientFactory;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
exports.provideAsLocale = require_use_as_locale.provideAsLocale;
|
|
138
|
+
exports.provideAsNestedSectionsStore = require_use_as_nested_sections_store.provideAsNestedSectionsStore;
|
|
139
|
+
Object.defineProperty(exports, "resetDefaultClientFactory", {
|
|
140
|
+
enumerable: true,
|
|
141
|
+
get: function() {
|
|
142
|
+
return _atscript_ui.resetDefaultClientFactory;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
Object.defineProperty(exports, "setDefaultClientFactory", {
|
|
146
|
+
enumerable: true,
|
|
147
|
+
get: function() {
|
|
148
|
+
return _atscript_ui.setDefaultClientFactory;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
exports.useAsArray = require_as_array.useAsArray;
|
|
152
|
+
exports.useAsData = require_as_field.useAsData;
|
|
153
|
+
exports.useAsDate = require_use_as_date.useAsDate;
|
|
154
|
+
exports.useAsDecimal = require_as_decimal.useAsDecimal;
|
|
155
|
+
exports.useAsDropdown = require_use_as_dropdown.useAsDropdown;
|
|
156
|
+
exports.useAsDualInput = require_as_decimal.useAsDualInput;
|
|
157
|
+
exports.useAsErrorDismiss = useAsErrorDismiss;
|
|
158
|
+
exports.useAsExternalErrors = require_as_form.useAsExternalErrors;
|
|
159
|
+
exports.useAsField = require_as_field.useAsField;
|
|
160
|
+
exports.useAsFocusFirstAfter = require_use_as_dropdown.useAsFocusFirstAfter;
|
|
161
|
+
exports.useAsForm = require_as_form.useAsForm;
|
|
162
|
+
exports.useAsLocale = require_use_as_locale.useAsLocale;
|
|
163
|
+
exports.useAsNestedSectionsStore = require_use_as_nested_sections_store.useAsNestedSectionsStore;
|
|
164
|
+
exports.useAsNumber = require_as_number.useAsNumber;
|
|
165
|
+
exports.useAsOptionalAddFlow = require_use_as_optional_add_flow.useAsOptionalAddFlow;
|
|
166
|
+
exports.useAsPath = useAsPath;
|
|
167
|
+
exports.useAsState = require_as_form.useAsState;
|
|
168
|
+
exports.useAsTriStateCheckbox = require_as_checkbox.useAsTriStateCheckbox;
|
|
169
|
+
exports.useAsTuple = require_as_tuple.useAsTuple;
|
|
170
|
+
exports.useAsTypeMap = require_as_union.useAsTypeMap;
|
|
171
|
+
exports.useAsUnion = require_as_union.useAsUnion;
|
|
172
|
+
exports.useAsUnionVariant = require_use_form_context.useAsUnionVariant;
|
|
173
|
+
exports.useAsValueHelp = require_use_as_value_help.useAsValueHelp;
|