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.
Files changed (29) hide show
  1. package/dist/{BAutocomplete-BCOfyy8g.js → BAutocomplete-D8Qkcqcy.js} +2 -2
  2. package/dist/{BAutocomplete-BCOfyy8g.js.map → BAutocomplete-D8Qkcqcy.js.map} +1 -1
  3. package/dist/{BAutocomplete-j3KJbBFs.mjs → BAutocomplete-DRzLhACU.mjs} +2 -2
  4. package/dist/{BAutocomplete-j3KJbBFs.mjs.map → BAutocomplete-DRzLhACU.mjs.map} +1 -1
  5. package/dist/{BForm-CriVh5cC.js → BForm-B0bPQ4kx.js} +2 -2
  6. package/dist/{BForm-CriVh5cC.js.map → BForm-B0bPQ4kx.js.map} +1 -1
  7. package/dist/{BForm-__5Chigr.mjs → BForm-CoQKIJzv.mjs} +2 -2
  8. package/dist/{BForm-__5Chigr.mjs.map → BForm-CoQKIJzv.mjs.map} +1 -1
  9. package/dist/{BFormSelect-CUkyKBNN.js → BFormSelect-CtcsnTlz.js} +2 -2
  10. package/dist/{BFormSelect-CUkyKBNN.js.map → BFormSelect-CtcsnTlz.js.map} +1 -1
  11. package/dist/{BFormSelect-Co-ZU8yY.mjs → BFormSelect-eS-C3M0J.mjs} +2 -2
  12. package/dist/{BFormSelect-Co-ZU8yY.mjs.map → BFormSelect-eS-C3M0J.mjs.map} +1 -1
  13. package/dist/bootstrap-vue-next.mjs +3 -3
  14. package/dist/bootstrap-vue-next.umd.js +3 -3
  15. package/dist/src/components/BAutocomplete/index.mjs +1 -1
  16. package/dist/src/components/BAutocomplete/index.umd.js +1 -1
  17. package/dist/src/components/BForm/index.mjs +1 -1
  18. package/dist/src/components/BForm/index.umd.js +1 -1
  19. package/dist/src/components/BFormSelect/index.mjs +1 -1
  20. package/dist/src/components/BFormSelect/index.umd.js +1 -1
  21. package/dist/src/components/index.mjs +3 -3
  22. package/dist/src/components/index.umd.js +3 -3
  23. package/dist/{useFormSelect-C0nvno12.mjs → useFormSelect-BM0rsjni.mjs} +9 -2
  24. package/dist/useFormSelect-BM0rsjni.mjs.map +1 -0
  25. package/dist/{useFormSelect-CjAziZpu.js → useFormSelect-ClmzGzOy.js} +9 -2
  26. package/dist/useFormSelect-ClmzGzOy.js.map +1 -0
  27. package/package.json +1 -1
  28. package/dist/useFormSelect-C0nvno12.mjs.map +0 -1
  29. 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-CUkyKBNN.js");
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-j3KJbBFs.mjs";
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-__5Chigr.mjs";
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-Co-ZU8yY.mjs";
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-BCOfyy8g.js");
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-CriVh5cC.js");
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-CUkyKBNN.js");
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
- ...typeof option === "object" ? option : void 0,
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-C0nvno12.mjs.map
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
- ...typeof option === "object" ? option : void 0,
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-CjAziZpu.js.map
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.4",
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"}