bootstrap-vue-next 0.45.4 → 0.45.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BAutocomplete-BCOfyy8g.js → BAutocomplete-D8Qkcqcy.js} +2 -2
- package/dist/{BAutocomplete-BCOfyy8g.js.map → BAutocomplete-D8Qkcqcy.js.map} +1 -1
- package/dist/{BAutocomplete-j3KJbBFs.mjs → BAutocomplete-DRzLhACU.mjs} +2 -2
- package/dist/{BAutocomplete-j3KJbBFs.mjs.map → BAutocomplete-DRzLhACU.mjs.map} +1 -1
- package/dist/{BForm-CriVh5cC.js → BForm-B0bPQ4kx.js} +2 -2
- package/dist/{BForm-CriVh5cC.js.map → BForm-B0bPQ4kx.js.map} +1 -1
- package/dist/{BForm-__5Chigr.mjs → BForm-CoQKIJzv.mjs} +2 -2
- package/dist/{BForm-__5Chigr.mjs.map → BForm-CoQKIJzv.mjs.map} +1 -1
- package/dist/{BFormSelect-CUkyKBNN.js → BFormSelect-CtcsnTlz.js} +2 -2
- package/dist/{BFormSelect-CUkyKBNN.js.map → BFormSelect-CtcsnTlz.js.map} +1 -1
- package/dist/{BFormSelect-Co-ZU8yY.mjs → BFormSelect-eS-C3M0J.mjs} +2 -2
- package/dist/{BFormSelect-Co-ZU8yY.mjs.map → BFormSelect-eS-C3M0J.mjs.map} +1 -1
- package/dist/bootstrap-vue-next.mjs +3 -3
- package/dist/bootstrap-vue-next.umd.js +3 -3
- package/dist/src/components/BAutocomplete/index.mjs +1 -1
- package/dist/src/components/BAutocomplete/index.umd.js +1 -1
- package/dist/src/components/BForm/index.mjs +1 -1
- package/dist/src/components/BForm/index.umd.js +1 -1
- package/dist/src/components/BFormSelect/index.mjs +1 -1
- package/dist/src/components/BFormSelect/index.umd.js +1 -1
- package/dist/src/components/index.mjs +3 -3
- package/dist/src/components/index.umd.js +3 -3
- package/dist/{useFormSelect-C0nvno12.mjs → useFormSelect-BM0rsjni.mjs} +9 -2
- package/dist/useFormSelect-BM0rsjni.mjs.map +1 -0
- package/dist/{useFormSelect-CjAziZpu.js → useFormSelect-ClmzGzOy.js} +9 -2
- package/dist/useFormSelect-ClmzGzOy.js.map +1 -0
- package/package.json +1 -1
- package/dist/useFormSelect-C0nvno12.mjs.map +0 -1
- package/dist/useFormSelect-CjAziZpu.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_BFormSelectOption = require("../../../BFormSelectOption-CQ3j1Q5j.js");
|
|
3
|
-
const require_BFormSelect = require("../../../BFormSelect-
|
|
3
|
+
const require_BFormSelect = require("../../../BFormSelect-CtcsnTlz.js");
|
|
4
4
|
exports.BFormSelect = require_BFormSelect.BFormSelect_default;
|
|
5
5
|
exports.BFormSelectOption = require_BFormSelectOption.BFormSelectOption_default;
|
|
6
6
|
exports.BFormSelectOptionGroup = require_BFormSelect.BFormSelectOptionGroup_default;
|
|
@@ -10,7 +10,7 @@ import { t as BSpinner_default } from "../../BSpinner-CAo-XD04.mjs";
|
|
|
10
10
|
import { t as BButton_default } from "../../BButton-D_sCrjpg.mjs";
|
|
11
11
|
import { t as BAlert_default } from "../../BAlert-BFPBalmr.mjs";
|
|
12
12
|
import { n as BOrchestrator_default, t as BApp_default } from "../../BApp-CIu-zI8K.mjs";
|
|
13
|
-
import { t as BAutocomplete_default } from "../../BAutocomplete-
|
|
13
|
+
import { t as BAutocomplete_default } from "../../BAutocomplete-DRzLhACU.mjs";
|
|
14
14
|
import { t as BFormOtp_default } from "../../BFormOtp-B4al7MJf.mjs";
|
|
15
15
|
import { n as BDatePicker_default, t as BDateRangePicker_default } from "../../BDatePicker-ZuMpgD91.mjs";
|
|
16
16
|
import { t as BTimeField_default } from "../../BTimeField-DSf4cMpN.mjs";
|
|
@@ -36,7 +36,7 @@ import { t as BDropdown_default } from "../../BDropdown-B2vWJ-u0.mjs";
|
|
|
36
36
|
import { a as BDropdownGroup_default, i as BDropdownHeader_default, n as BDropdownItemButton_default, o as BDropdownForm_default, r as BDropdownItem_default, s as BDropdownDivider_default, t as BDropdownText_default } from "../../BDropdown-D2ep4wKG.mjs";
|
|
37
37
|
import { t as BForm_default } from "../../BForm-CpNuvbIt.mjs";
|
|
38
38
|
import { t as BFormSelectOption_default } from "../../BFormSelectOption-B3BO50XB.mjs";
|
|
39
|
-
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "../../BForm-
|
|
39
|
+
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "../../BForm-CoQKIJzv.mjs";
|
|
40
40
|
import { i as BFormInvalidFeedback_default, n as BFormText_default, r as BFormRow_default, t as BFormValidFeedback_default } from "../../BFormValidFeedback-DWkakzVO.mjs";
|
|
41
41
|
import { n as BFormCheckbox_default, t as BFormCheckboxGroup_default } from "../../BFormCheckbox-xN7AQw4O.mjs";
|
|
42
42
|
import { t as BFormFile_default } from "../../BFormFile-DXdAyYmv.mjs";
|
|
@@ -44,7 +44,7 @@ import { t as BFormGroup_default } from "../../BFormGroup-ayltvQts.mjs";
|
|
|
44
44
|
import "./BFormInput/index.mjs";
|
|
45
45
|
import { n as BFormRadio_default, t as BFormRadioGroup_default } from "../../BFormRadio-DHx68AdL.mjs";
|
|
46
46
|
import { t as BFormRating_default } from "../../BFormRating-BR7RMvZG.mjs";
|
|
47
|
-
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "../../BFormSelect-
|
|
47
|
+
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "../../BFormSelect-eS-C3M0J.mjs";
|
|
48
48
|
import { t as BFormSpinbutton_default } from "../../BFormSpinbutton-CPsVUIh9.mjs";
|
|
49
49
|
import { t as BFormTags_default } from "../../BFormTags-D2Dk598Q.mjs";
|
|
50
50
|
import { t as BFormTextarea_default } from "../../BFormTextarea-M21mholw.mjs";
|
|
@@ -11,7 +11,7 @@ const require_BSpinner = require("../../BSpinner-C1bm8U4-.js");
|
|
|
11
11
|
const require_BButton = require("../../BButton-Dr-RadYQ.js");
|
|
12
12
|
const require_BAlert = require("../../BAlert-Dk3rgEOI.js");
|
|
13
13
|
const require_BApp = require("../../BApp-cBKQc5Dd.js");
|
|
14
|
-
const require_BAutocomplete = require("../../BAutocomplete-
|
|
14
|
+
const require_BAutocomplete = require("../../BAutocomplete-D8Qkcqcy.js");
|
|
15
15
|
const require_BFormOtp = require("../../BFormOtp-UcLR9oFd.js");
|
|
16
16
|
const require_BDatePicker = require("../../BDatePicker-m2drV1fl.js");
|
|
17
17
|
const require_BTimeField = require("../../BTimeField-W2LqGCjB.js");
|
|
@@ -37,7 +37,7 @@ const require_BDropdown = require("../../BDropdown-BSCasYDc.js");
|
|
|
37
37
|
const require_BDropdown$1 = require("../../BDropdown-CL-erjq8.js");
|
|
38
38
|
const require_BForm = require("../../BForm-K67Ciyza.js");
|
|
39
39
|
const require_BFormSelectOption = require("../../BFormSelectOption-CQ3j1Q5j.js");
|
|
40
|
-
const require_BForm$1 = require("../../BForm-
|
|
40
|
+
const require_BForm$1 = require("../../BForm-B0bPQ4kx.js");
|
|
41
41
|
const require_BFormValidFeedback = require("../../BFormValidFeedback-BhkEhSa0.js");
|
|
42
42
|
const require_BFormCheckbox = require("../../BFormCheckbox-g7gtIrhy.js");
|
|
43
43
|
const require_BFormFile = require("../../BFormFile-DC-x9wQo.js");
|
|
@@ -45,7 +45,7 @@ const require_BFormGroup = require("../../BFormGroup-DZTiChgT.js");
|
|
|
45
45
|
require("./BFormInput/index.umd.js");
|
|
46
46
|
const require_BFormRadio = require("../../BFormRadio-DX-gM5Rc.js");
|
|
47
47
|
const require_BFormRating = require("../../BFormRating-CF-x5qkB.js");
|
|
48
|
-
const require_BFormSelect = require("../../BFormSelect-
|
|
48
|
+
const require_BFormSelect = require("../../BFormSelect-CtcsnTlz.js");
|
|
49
49
|
const require_BFormSpinbutton = require("../../BFormSpinbutton-DPCXum9q.js");
|
|
50
50
|
const require_BFormTags = require("../../BFormTags-BIZyBseI.js");
|
|
51
51
|
const require_BFormTextarea = require("../../BFormTextarea-CYh47SxL.js");
|
|
@@ -26,8 +26,15 @@ var useFormSelect = (options, props) => {
|
|
|
26
26
|
label,
|
|
27
27
|
options: opts
|
|
28
28
|
};
|
|
29
|
+
const simpleOption = typeof option === "object" ? { ...option } : {};
|
|
30
|
+
const fieldsToOmit = new Set(["label", "options"]);
|
|
31
|
+
if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField);
|
|
32
|
+
if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField);
|
|
33
|
+
fieldsToOmit.forEach((field) => {
|
|
34
|
+
delete simpleOption[field];
|
|
35
|
+
});
|
|
29
36
|
return {
|
|
30
|
-
...
|
|
37
|
+
...simpleOption,
|
|
31
38
|
value,
|
|
32
39
|
text,
|
|
33
40
|
disabled
|
|
@@ -42,4 +49,4 @@ var useFormSelect = (options, props) => {
|
|
|
42
49
|
//#endregion
|
|
43
50
|
export { useFormSelect as t };
|
|
44
51
|
|
|
45
|
-
//# sourceMappingURL=useFormSelect-
|
|
52
|
+
//# sourceMappingURL=useFormSelect-BM0rsjni.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormSelect-BM0rsjni.mjs","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n const simpleOption =\n typeof option === 'object'\n ? {...(option as Record<string, unknown>)}\n : ({} as Record<string, unknown>)\n\n const fieldsToOmit = new Set(['label', 'options'])\n if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField)\n if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField)\n fieldsToOmit.forEach((field) => {\n delete simpleOption[field]\n })\n\n return {\n ...simpleOption,\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,aAAa,QAAQ,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;EAGH,MAAM,eACJ,OAAO,WAAW,WACd,EAAC,GAAI,QAAmC,GACvC,EAAE;EAET,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAClD,MAAI,WAAW,WAAY,cAAa,IAAI,WAAW,WAAW;AAClE,MAAI,WAAW,aAAc,cAAa,IAAI,WAAW,aAAa;AACtE,eAAa,SAAS,UAAU;AAC9B,UAAO,aAAa;IACpB;AAEF,SAAO;GACL,GAAG;GACH;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,mBAFkB,eAAe,iBAAiB,QAAQ,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
|
|
@@ -27,8 +27,15 @@ var useFormSelect = (options, props) => {
|
|
|
27
27
|
label,
|
|
28
28
|
options: opts
|
|
29
29
|
};
|
|
30
|
+
const simpleOption = typeof option === "object" ? { ...option } : {};
|
|
31
|
+
const fieldsToOmit = new Set(["label", "options"]);
|
|
32
|
+
if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField);
|
|
33
|
+
if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField);
|
|
34
|
+
fieldsToOmit.forEach((field) => {
|
|
35
|
+
delete simpleOption[field];
|
|
36
|
+
});
|
|
30
37
|
return {
|
|
31
|
-
...
|
|
38
|
+
...simpleOption,
|
|
32
39
|
value,
|
|
33
40
|
text,
|
|
34
41
|
disabled
|
|
@@ -48,4 +55,4 @@ Object.defineProperty(exports, "useFormSelect", {
|
|
|
48
55
|
}
|
|
49
56
|
});
|
|
50
57
|
|
|
51
|
-
//# sourceMappingURL=useFormSelect-
|
|
58
|
+
//# sourceMappingURL=useFormSelect-ClmzGzOy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormSelect-ClmzGzOy.js","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n const simpleOption =\n typeof option === 'object'\n ? {...(option as Record<string, unknown>)}\n : ({} as Record<string, unknown>)\n\n const fieldsToOmit = new Set(['label', 'options'])\n if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField)\n if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField)\n fieldsToOmit.forEach((field) => {\n delete simpleOption[field]\n })\n\n return {\n ...simpleOption,\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,cAAA,GAAA,IAAA,SAAqB,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,eAAA,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,eAAA,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,eAAA,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,eAAA,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,eAAA,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;EAGH,MAAM,eACJ,OAAO,WAAW,WACd,EAAC,GAAI,QAAmC,GACvC,EAAE;EAET,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAClD,MAAI,WAAW,WAAY,cAAa,IAAI,WAAW,WAAW;AAClE,MAAI,WAAW,aAAc,cAAa,IAAI,WAAW,aAAa;AACtE,eAAa,SAAS,UAAU;AAC9B,UAAO,aAAa;IACpB;AAEF,SAAO;GACL,GAAG;GACH;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,oBAAA,GAAA,IAAA,gBAFiC,kBAAA,GAAA,IAAA,SAAyB,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "bootstrap-vue-next",
|
|
3
3
|
"displayName": "BootstrapVueNext",
|
|
4
4
|
"description": "Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development",
|
|
5
|
-
"version": "0.45.
|
|
5
|
+
"version": "0.45.5",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "./dist/bootstrap-vue-next.umd.js",
|
|
8
8
|
"module": "./dist/bootstrap-vue-next.mjs",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFormSelect-C0nvno12.mjs","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n return {\n ...(typeof option === 'object' ? option : undefined),\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,aAAa,QAAQ,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;AAGH,SAAO;GACL,GAAI,OAAO,WAAW,WAAW,SAAS,KAAA;GAC1C;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,mBAFkB,eAAe,iBAAiB,QAAQ,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFormSelect-CjAziZpu.js","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n return {\n ...(typeof option === 'object' ? option : undefined),\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,cAAA,GAAA,IAAA,SAAqB,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,eAAA,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,eAAA,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,eAAA,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,eAAA,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,eAAA,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;AAGH,SAAO;GACL,GAAI,OAAO,WAAW,WAAW,SAAS,KAAA;GAC1C;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,oBAAA,GAAA,IAAA,gBAFiC,kBAAA,GAAA,IAAA,SAAyB,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
|