sprintify-ui 0.6.83 → 0.6.85

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 (48) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/types/components/BaseAutocomplete.vue.d.ts +7 -7
  3. package/dist/types/components/BaseAutocompleteDrawer.vue.d.ts +1 -1
  4. package/dist/types/components/BaseAutocompleteFetch.vue.d.ts +5 -5
  5. package/dist/types/components/BaseBelongsTo.vue.d.ts +4 -4
  6. package/dist/types/components/BaseBelongsToFetch.vue.d.ts +5 -5
  7. package/dist/types/components/BaseButtonGroup.vue.d.ts +11 -11
  8. package/dist/types/components/BaseColor.vue.d.ts +6 -6
  9. package/dist/types/components/BaseDropdownAutocomplete.vue.d.ts +7 -7
  10. package/dist/types/components/BaseHasMany.vue.d.ts +5 -5
  11. package/dist/types/components/BaseJsonReader.vue.d.ts +6 -3
  12. package/dist/types/components/BaseJsonReaderItem.vue.d.ts +25 -0
  13. package/dist/types/components/BaseRadioGroup.vue.d.ts +3 -3
  14. package/dist/types/components/BaseSelect.vue.d.ts +4 -4
  15. package/dist/types/components/BaseTagAutocomplete.vue.d.ts +6 -6
  16. package/dist/types/components/BaseTagAutocompleteFetch.vue.d.ts +4 -4
  17. package/dist/types/composables/hasOptions.d.ts +2 -2
  18. package/dist/types/types/Media.d.ts +1 -1
  19. package/dist/types/types/Notification.d.ts +1 -1
  20. package/dist/types/types/UploadedFile.d.ts +1 -1
  21. package/dist/types/types/User.d.ts +1 -1
  22. package/dist/types/types/index.d.ts +6 -2
  23. package/dist/types/utils/sizes.d.ts +2 -1
  24. package/package.json +1 -1
  25. package/src/assets/main.css +0 -1
  26. package/src/components/BaseAutocomplete.vue +5 -5
  27. package/src/components/BaseAutocompleteFetch.vue +4 -4
  28. package/src/components/BaseBelongsTo.vue +3 -3
  29. package/src/components/BaseBelongsToFetch.vue +4 -4
  30. package/src/components/BaseButtonGroup.vue +5 -5
  31. package/src/components/BaseColor.vue +4 -4
  32. package/src/components/BaseDropdownAutocomplete.vue +5 -5
  33. package/src/components/BaseHasMany.vue +4 -4
  34. package/src/components/BaseJsonReader.stories.js +1 -1
  35. package/src/components/BaseJsonReader.vue +19 -165
  36. package/src/components/BaseJsonReaderItem.vue +112 -0
  37. package/src/components/BaseRadioGroup.vue +2 -2
  38. package/src/components/BaseSelect.vue +2 -2
  39. package/src/components/BaseTagAutocomplete.vue +3 -3
  40. package/src/components/BaseTagAutocompleteFetch.vue +3 -3
  41. package/src/composables/hasOptions.ts +3 -3
  42. package/src/types/Media.ts +1 -1
  43. package/src/types/Notification.ts +1 -1
  44. package/src/types/UploadedFile.ts +1 -1
  45. package/src/types/User.ts +1 -1
  46. package/src/types/index.ts +8 -2
  47. package/src/utils/sizes.ts +3 -1
  48. package/src/assets/base-json-reader.css +0 -32
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { Option } from '@/types';
2
+ import { RawOption } from '@/types';
3
3
  declare const _default: import("vue").DefineComponent<{
4
4
  modelValue: {
5
5
  default: undefined;
@@ -26,8 +26,8 @@ declare const _default: import("vue").DefineComponent<{
26
26
  default(): string[];
27
27
  };
28
28
  buttonColor: {
29
- default(option: Option, selected: boolean): any;
30
- type: PropType<(option: Option, selected: boolean) => string>;
29
+ default(option: RawOption, selected: boolean): any;
30
+ type: PropType<(option: RawOption, selected: boolean) => string>;
31
31
  };
32
32
  multiple: {
33
33
  default: boolean;
@@ -69,8 +69,8 @@ declare const _default: import("vue").DefineComponent<{
69
69
  default(): string[];
70
70
  };
71
71
  buttonColor: {
72
- default(option: Option, selected: boolean): any;
73
- type: PropType<(option: Option, selected: boolean) => string>;
72
+ default(option: RawOption, selected: boolean): any;
73
+ type: PropType<(option: RawOption, selected: boolean) => string>;
74
74
  };
75
75
  multiple: {
76
76
  default: boolean;
@@ -94,7 +94,7 @@ declare const _default: import("vue").DefineComponent<{
94
94
  disabled: boolean;
95
95
  hasError: boolean;
96
96
  buttonType: "button" | "submit";
97
- buttonColor: (option: Option, selected: boolean) => string;
97
+ buttonColor: (option: RawOption, selected: boolean) => string;
98
98
  multiple: boolean;
99
99
  colors: string[];
100
100
  }, {}>;
@@ -1,9 +1,9 @@
1
1
  import { PropType } from 'vue';
2
- import { Option, SelectConfiguration } from '@/types';
2
+ import { RawOption, SelectConfiguration } from '@/types';
3
3
  import { Placement } from '@floating-ui/vue';
4
4
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
5
5
  modelValue: {
6
- type: PropType<Option | Option[] | null | undefined>;
6
+ type: PropType<RawOption | RawOption[] | null | undefined>;
7
7
  default: undefined;
8
8
  };
9
9
  multiple: {
@@ -15,7 +15,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
15
15
  default: undefined;
16
16
  };
17
17
  options: {
18
- type: PropType<Option[] | undefined>;
18
+ type: PropType<RawOption[] | undefined>;
19
19
  default: undefined;
20
20
  };
21
21
  labelKey: {
@@ -50,7 +50,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
50
50
  "update:model-value": (...args: any[]) => void;
51
51
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
52
52
  modelValue: {
53
- type: PropType<Option | Option[] | null | undefined>;
53
+ type: PropType<RawOption | RawOption[] | null | undefined>;
54
54
  default: undefined;
55
55
  };
56
56
  multiple: {
@@ -62,7 +62,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
62
62
  default: undefined;
63
63
  };
64
64
  options: {
65
- type: PropType<Option[] | undefined>;
65
+ type: PropType<RawOption[] | undefined>;
66
66
  default: undefined;
67
67
  };
68
68
  labelKey: {
@@ -97,10 +97,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
97
97
  "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
98
98
  }, {
99
99
  required: boolean;
100
- modelValue: Option | Option[] | null | undefined;
100
+ modelValue: RawOption | RawOption[] | null | undefined;
101
101
  size: "xs" | "sm" | "base";
102
102
  select: SelectConfiguration | undefined;
103
- options: Option[] | undefined;
103
+ options: RawOption[] | undefined;
104
104
  labelKey: string;
105
105
  valueKey: string;
106
106
  emptyOptionLabel: string;
@@ -1,4 +1,4 @@
1
- import { Option } from '@/types';
1
+ import { RawOption } from '@/types';
2
2
  import { PropType } from 'vue';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  modelValue: {
@@ -43,7 +43,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
43
43
  };
44
44
  currentModels: {
45
45
  default(): undefined;
46
- type: PropType<Option[] | undefined>;
46
+ type: PropType<RawOption[] | undefined>;
47
47
  };
48
48
  hasError: {
49
49
  default: boolean;
@@ -100,7 +100,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
100
100
  };
101
101
  currentModels: {
102
102
  default(): undefined;
103
- type: PropType<Option[] | undefined>;
103
+ type: PropType<RawOption[] | undefined>;
104
104
  };
105
105
  hasError: {
106
106
  default: boolean;
@@ -118,7 +118,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
118
118
  max: number;
119
119
  primaryKey: string;
120
120
  showRouteUrl: ((ids: (string | number)[]) => string) | undefined;
121
- currentModels: Option[] | undefined;
121
+ currentModels: RawOption[] | undefined;
122
122
  }, {}>, {
123
123
  items?(_: {
124
124
  items: import("@/types").NormalizedOption[];
@@ -131,7 +131,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
131
131
  open: () => void;
132
132
  close: () => void;
133
133
  keywords: import("vue").ComputedRef<string>;
134
- option: Option;
134
+ option: RawOption;
135
135
  selected: boolean;
136
136
  active: boolean;
137
137
  }): any;
@@ -1,22 +1,25 @@
1
1
  import { Size } from '@/utils/sizes';
2
- interface JsonData {
3
- [key: string]: string | number | null | undefined | JsonData[];
4
- }
2
+ import { JsonData } from '@/types';
5
3
  declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<{
6
4
  modelValue: JsonData;
7
5
  size?: "xs" | "sm" | "md" | undefined;
8
6
  variant?: "list" | "collapse" | undefined;
7
+ class?: string | string[] | undefined;
9
8
  }>, {
10
9
  size: string;
11
10
  variant: string;
11
+ class: undefined;
12
12
  }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
13
13
  modelValue: JsonData;
14
14
  size?: "xs" | "sm" | "md" | undefined;
15
15
  variant?: "list" | "collapse" | undefined;
16
+ class?: string | string[] | undefined;
16
17
  }>, {
17
18
  size: string;
18
19
  variant: string;
20
+ class: undefined;
19
21
  }>>>, {
22
+ class: string | string[];
20
23
  size: Size;
21
24
  variant: 'list' | 'collapse';
22
25
  }, {}>;
@@ -0,0 +1,25 @@
1
+ import { JsonDataItem } from '@/types';
2
+ import { Size } from '@/utils/sizes';
3
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<{
4
+ modelValue: JsonDataItem;
5
+ label: string | number;
6
+ size: Size;
7
+ class?: string | string[] | undefined;
8
+ variant: 'list' | 'collapse';
9
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<{
10
+ modelValue: JsonDataItem;
11
+ label: string | number;
12
+ size: Size;
13
+ class?: string | string[] | undefined;
14
+ variant: 'list' | 'collapse';
15
+ }>>>, {}, {}>;
16
+ export default _default;
17
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
18
+ type __VLS_TypePropsToOption<T> = {
19
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
20
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
21
+ } : {
22
+ type: import('vue').PropType<T[K]>;
23
+ required: true;
24
+ };
25
+ };
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { NormalizedOption, Option, OptionValue } from '@/types';
2
+ import { NormalizedOption, RawOption, OptionValue } from '@/types';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  modelValue: {
5
5
  default: undefined;
@@ -19,7 +19,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
19
19
  };
20
20
  options: {
21
21
  required: true;
22
- type: PropType<Option[]>;
22
+ type: PropType<RawOption[]>;
23
23
  };
24
24
  labelKey: {
25
25
  required: true;
@@ -62,7 +62,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
62
62
  };
63
63
  options: {
64
64
  required: true;
65
- type: PropType<Option[]>;
65
+ type: PropType<RawOption[]>;
66
66
  };
67
67
  labelKey: {
68
68
  required: true;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { Option } from '@/types';
2
+ import { RawOption } from '@/types';
3
3
  type SelectOption = string | number | null;
4
4
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
5
5
  modelValue: {
@@ -36,7 +36,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
36
36
  };
37
37
  options: {
38
38
  default: undefined;
39
- type: PropType<Option[]>;
39
+ type: PropType<RawOption[]>;
40
40
  };
41
41
  labelKey: {
42
42
  default: undefined;
@@ -87,7 +87,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
87
87
  };
88
88
  options: {
89
89
  default: undefined;
90
- type: PropType<Option[]>;
90
+ type: PropType<RawOption[]>;
91
91
  };
92
92
  labelKey: {
93
93
  default: undefined;
@@ -108,7 +108,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
108
108
  required: boolean;
109
109
  modelValue: SelectOption | undefined;
110
110
  size: "xs" | "sm" | "md";
111
- options: Option[];
111
+ options: RawOption[];
112
112
  labelKey: string;
113
113
  valueKey: string;
114
114
  name: string;
@@ -1,5 +1,5 @@
1
1
  import { PropType, ComputedRef } from 'vue';
2
- import { NormalizedOption, Option } from '@/types';
2
+ import { NormalizedOption, RawOption } from '@/types';
3
3
  declare function open(): void;
4
4
  declare function close(): void;
5
5
  declare function setKeywords(input: string): void;
@@ -8,11 +8,11 @@ declare function blur(): void;
8
8
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
9
9
  modelValue: {
10
10
  required: true;
11
- type: PropType<Option[] | null>;
11
+ type: PropType<RawOption[] | null>;
12
12
  };
13
13
  options: {
14
14
  required: true;
15
- type: PropType<Option[]>;
15
+ type: PropType<RawOption[]>;
16
16
  };
17
17
  labelKey: {
18
18
  required: true;
@@ -97,11 +97,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
97
97
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
98
98
  modelValue: {
99
99
  required: true;
100
- type: PropType<Option[] | null>;
100
+ type: PropType<RawOption[] | null>;
101
101
  };
102
102
  options: {
103
103
  required: true;
104
- type: PropType<Option[]>;
104
+ type: PropType<RawOption[]>;
105
105
  };
106
106
  labelKey: {
107
107
  required: true;
@@ -212,7 +212,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
212
212
  open: typeof open;
213
213
  close: typeof close;
214
214
  keywords: ComputedRef<string>;
215
- option: Option;
215
+ option: RawOption;
216
216
  selected: boolean;
217
217
  active: boolean;
218
218
  }): any;
@@ -1,9 +1,9 @@
1
1
  import { PropType } from 'vue';
2
- import { Option } from '@/types';
2
+ import { RawOption } from '@/types';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  modelValue: {
5
5
  required: true;
6
- type: PropType<Option[]>;
6
+ type: PropType<RawOption[]>;
7
7
  };
8
8
  url: {
9
9
  required: true;
@@ -59,7 +59,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
59
59
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
60
60
  modelValue: {
61
61
  required: true;
62
- type: PropType<Option[]>;
62
+ type: PropType<RawOption[]>;
63
63
  };
64
64
  url: {
65
65
  required: true;
@@ -126,7 +126,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
126
126
  open: () => void;
127
127
  close: () => void;
128
128
  keywords: import("vue").ComputedRef<string>;
129
- option: Option;
129
+ option: RawOption;
130
130
  selected: boolean;
131
131
  active: boolean;
132
132
  }): any;
@@ -1,6 +1,6 @@
1
1
  import { Ref } from 'vue';
2
- import { NormalizedOption, Option } from '@/types';
3
- export declare function useHasOptions(modelValue: Ref<Option[] | Option | null | undefined>, options: Ref<Option[]>, labelKey: Ref<string>, valueKey: Ref<string>, multiple?: Ref<boolean>): {
2
+ import { NormalizedOption, RawOption } from '@/types';
3
+ export declare function useHasOptions(modelValue: Ref<RawOption[] | RawOption | null | undefined>, options: Ref<RawOption[]>, labelKey: Ref<string>, valueKey: Ref<string>, multiple?: Ref<boolean>): {
4
4
  normalizedOptions: import("vue").ComputedRef<NormalizedOption[]>;
5
5
  normalizedModelValue: import("vue").ComputedRef<NormalizedOption | NormalizedOption[] | null>;
6
6
  isSelected: (option: NormalizedOption) => boolean;
@@ -6,4 +6,4 @@ interface Media {
6
6
  mime_type: string;
7
7
  url: string;
8
8
  }
9
- export { Media };
9
+ export type { Media };
@@ -6,4 +6,4 @@ interface Notification {
6
6
  read?: boolean;
7
7
  created_at?: string;
8
8
  }
9
- export { Notification };
9
+ export type { Notification };
@@ -7,4 +7,4 @@ interface UploadedFile {
7
7
  original_file?: File;
8
8
  data_url?: string;
9
9
  }
10
- export { UploadedFile };
10
+ export type { UploadedFile };
@@ -3,4 +3,4 @@ interface User {
3
3
  email?: string;
4
4
  avatar_url?: string;
5
5
  }
6
- export { User };
6
+ export type { User };
@@ -27,9 +27,9 @@ export interface DataTableQuery extends Record<string, any> {
27
27
  filter?: Record<string, any>;
28
28
  }
29
29
  export type OptionValue = string | number | null;
30
- export type Option = Record<string, any>;
30
+ export type RawOption = Record<string, any>;
31
31
  export type NormalizedOption = {
32
- option: Option;
32
+ option: RawOption;
33
33
  value: OptionValue;
34
34
  label: string;
35
35
  };
@@ -220,3 +220,7 @@ export interface TimelineItem {
220
220
  onEdit?: () => void | Promise<void>;
221
221
  onDelete?: () => void | Promise<void>;
222
222
  }
223
+ export type JsonDataItem = string | number | null | undefined | JsonData[] | JsonData;
224
+ export interface JsonData {
225
+ [key: string]: JsonDataItem;
226
+ }
@@ -16,4 +16,5 @@ declare const sizes: {
16
16
  };
17
17
  };
18
18
  type Size = keyof typeof sizes;
19
- export { sizes, Size };
19
+ export { sizes };
20
+ export type { Size };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sprintify-ui",
3
- "version": "0.6.83",
3
+ "version": "0.6.85",
4
4
  "scripts": {
5
5
  "build": "rimraf dist && vue-tsc && vite build",
6
6
  "build-fast": "rimraf dist && vite build",
@@ -6,7 +6,6 @@
6
6
  @import "./base-table.css";
7
7
  @import "./base-tabs.css";
8
8
  @import "./base-spinner.css";
9
- @import "./base-json-reader";
10
9
 
11
10
  /** BaseAddressForm */
12
11
  @import "./google-pac.css";
@@ -108,7 +108,7 @@
108
108
 
109
109
  <script lang="ts" setup>
110
110
  import { PropType, ComputedRef } from 'vue';
111
- import { NormalizedOption, Option, OptionValue } from '@/types';
111
+ import { NormalizedOption, RawOption, OptionValue } from '@/types';
112
112
  import { useHasOptions } from '@/composables/hasOptions';
113
113
  import { useField } from '@/composables/field';
114
114
  import { Icon as BaseIcon } from '@iconify/vue';
@@ -122,11 +122,11 @@ import { BaseInput, BaseSelect } from '.';
122
122
  const props = defineProps({
123
123
  modelValue: {
124
124
  default: undefined,
125
- type: [Object, null] as PropType<Option | null | undefined>,
125
+ type: [Object, null] as PropType<RawOption | null | undefined>,
126
126
  },
127
127
  options: {
128
128
  required: true,
129
- type: Array as PropType<Option[]>,
129
+ type: Array as PropType<RawOption[]>,
130
130
  },
131
131
  labelKey: {
132
132
  required: true,
@@ -411,7 +411,7 @@ const clear = () => {
411
411
  emit('clear');
412
412
  };
413
413
 
414
- function onSelect(normalizedModelValue: Option | null | undefined) {
414
+ function onSelect(normalizedModelValue: RawOption | null | undefined) {
415
415
  focus();
416
416
  update(normalizedModelValue);
417
417
  if (props.dropdownShow == 'focus') {
@@ -419,7 +419,7 @@ function onSelect(normalizedModelValue: Option | null | undefined) {
419
419
  }
420
420
  }
421
421
 
422
- function update(normalizedSelection: Option | null | undefined) {
422
+ function update(normalizedSelection: RawOption | null | undefined) {
423
423
  // Re-activate filter
424
424
  shouldFilter.value = false;
425
425
 
@@ -66,7 +66,7 @@ import { debounce, throttle } from 'lodash';
66
66
  import { PropType } from 'vue';
67
67
  import {
68
68
  Collection,
69
- Option,
69
+ RawOption,
70
70
  PaginatedCollection,
71
71
  ResourceCollection,
72
72
  SelectConfiguration,
@@ -88,7 +88,7 @@ import { Size } from '@/utils/sizes';
88
88
  const props = defineProps({
89
89
  modelValue: {
90
90
  default: undefined,
91
- type: [Object, null] as PropType<Option | null | undefined>,
91
+ type: [Object, null] as PropType<RawOption | null | undefined>,
92
92
  },
93
93
  url: {
94
94
  required: true,
@@ -177,7 +177,7 @@ const fetching = ref(false);
177
177
  const firstSearch = ref(false);
178
178
  const keywords = ref('');
179
179
  const page = ref(1);
180
- const options = ref<Option[]>([]);
180
+ const options = ref<RawOption[]>([]);
181
181
 
182
182
  const data = ref<null | ResourceCollection | PaginatedCollection | Collection>(
183
183
  null
@@ -268,7 +268,7 @@ const debouncedSearch = debounce(() => {
268
268
  search();
269
269
  }, 300);
270
270
 
271
- function filterOptions(option: Option): boolean {
271
+ function filterOptions(option: RawOption): boolean {
272
272
  // Do nothing if showEmptyOption is false
273
273
  if (!props.showEmptyOption) {
274
274
  return true;
@@ -45,7 +45,7 @@
45
45
  <script lang="ts" setup>
46
46
  import { PropType } from 'vue';
47
47
  import BaseAutocomplete from './BaseAutocomplete.vue';
48
- import { Option, SelectConfiguration } from '@/types';
48
+ import { RawOption, SelectConfiguration } from '@/types';
49
49
  import { Size } from '@/utils/sizes';
50
50
 
51
51
  const props = defineProps({
@@ -57,7 +57,7 @@ const props = defineProps({
57
57
  },
58
58
  options: {
59
59
  required: true,
60
- type: Array as PropType<Option[]>,
60
+ type: Array as PropType<RawOption[]>,
61
61
  },
62
62
  primaryKey: {
63
63
  default: 'id',
@@ -135,7 +135,7 @@ const model = computed(() => {
135
135
  : null;
136
136
  });
137
137
 
138
- function onUpdate(newModel: Option | null) {
138
+ function onUpdate(newModel: RawOption | null) {
139
139
  if (!newModel) {
140
140
  emit('update:modelValue', null, null);
141
141
  } else {
@@ -47,7 +47,7 @@ import { PropType } from 'vue';
47
47
  import { AxiosResponse } from 'axios';
48
48
  import { config } from '@/index';
49
49
  import BaseAutocompleteFetch from './BaseAutocompleteFetch.vue';
50
- import { Option, SelectConfiguration } from '@/types';
50
+ import { RawOption, SelectConfiguration } from '@/types';
51
51
  import { Size } from '@/utils/sizes';
52
52
  import { debounce, isObject } from 'lodash';
53
53
 
@@ -92,7 +92,7 @@ const props = defineProps({
92
92
  },
93
93
  currentModel: {
94
94
  default: undefined,
95
- type: [Object, null, undefined] as PropType<Option | null | undefined>,
95
+ type: [Object, null, undefined] as PropType<RawOption | null | undefined>,
96
96
  },
97
97
  hasError: {
98
98
  default: false,
@@ -144,7 +144,7 @@ const autocompleteFetch = ref<InstanceType<
144
144
  typeof BaseAutocompleteFetch
145
145
  > | null>(null);
146
146
 
147
- const model = ref<Option | null>(null);
147
+ const model = ref<RawOption | null>(null);
148
148
  const ensureModelIsFilledDebounced = debounce(ensureModelIsFilled, 100);
149
149
 
150
150
  watch(
@@ -159,7 +159,7 @@ watch(
159
159
 
160
160
  ensureModelIsFilledDebounced();
161
161
 
162
- function onUpdate(newModel: Option | null) {
162
+ function onUpdate(newModel: RawOption | null) {
163
163
  if (!newModel) {
164
164
  model.value = null;
165
165
  emit('update:modelValue', null, null);
@@ -27,7 +27,7 @@
27
27
 
28
28
  <script lang="ts" setup>
29
29
  import { PropType, computed } from 'vue';
30
- import { NormalizedOption, Option } from '@/types';
30
+ import { NormalizedOption, RawOption } from '@/types';
31
31
  import { cloneDeep, isArray } from 'lodash';
32
32
  import { useHasOptions } from '@/composables/hasOptions';
33
33
  import { useField } from '@/composables/field';
@@ -43,7 +43,7 @@ const props = defineProps({
43
43
  modelValue: {
44
44
  default: undefined,
45
45
  type: [Object, Array, null, undefined] as PropType<
46
- Option[] | Option | null | undefined
46
+ RawOption[] | RawOption | null | undefined
47
47
  >,
48
48
  },
49
49
  class: {
@@ -67,10 +67,10 @@ const props = defineProps({
67
67
  type: String as PropType<'button' | 'submit'>,
68
68
  },
69
69
  buttonColor: {
70
- default(option: Option, selected: boolean) {
70
+ default(option: RawOption, selected: boolean) {
71
71
  return selected ? 'primary' : ''
72
72
  },
73
- type: Function as PropType<(option: Option, selected: boolean) => string>,
73
+ type: Function as PropType<(option: RawOption, selected: boolean) => string>,
74
74
  },
75
75
  twButton: {
76
76
  default: '',
@@ -82,7 +82,7 @@ const props = defineProps({
82
82
  },
83
83
  options: {
84
84
  required: true,
85
- type: Array as PropType<Option[]>,
85
+ type: Array as PropType<RawOption[]>,
86
86
  },
87
87
  labelKey: {
88
88
  required: true,
@@ -35,7 +35,7 @@ import { PropType } from 'vue';
35
35
  import { BaseButtonGroup } from '.';
36
36
  import { isArray } from 'lodash';
37
37
  import { useField } from '@/composables/field';
38
- import { Option } from '@/types';
38
+ import { RawOption } from '@/types';
39
39
  import { palette } from '@/utils/colors';
40
40
  import { getContrast } from 'color2k';
41
41
  import { Size } from '@/utils/sizes';
@@ -70,10 +70,10 @@ const props = defineProps({
70
70
  },
71
71
  },
72
72
  buttonColor: {
73
- default(option: Option, selected: boolean) {
73
+ default(option: RawOption, selected: boolean) {
74
74
  return option.value;
75
75
  },
76
- type: Function as PropType<(option: Option, selected: boolean) => string>,
76
+ type: Function as PropType<(option: RawOption, selected: boolean) => string>,
77
77
  },
78
78
  multiple: {
79
79
  default: false,
@@ -126,7 +126,7 @@ const { emitUpdate } = useField({
126
126
  emit: emit,
127
127
  });
128
128
 
129
- function transformModelValue(payload: Option | Option[] | null) {
129
+ function transformModelValue(payload: RawOption | RawOption[] | null) {
130
130
  if (props.multiple) {
131
131
  let newModalValue = [] as string[];
132
132
 
@@ -61,7 +61,7 @@
61
61
  <script lang="ts" setup>
62
62
  import { isArray } from 'lodash';
63
63
  import { PropType } from 'vue';
64
- import { Option, SelectConfiguration } from '@/types';
64
+ import { RawOption, SelectConfiguration } from '@/types';
65
65
  import BaseDropdown from './BaseDropdown.vue';
66
66
  import BaseAutocomplete from './BaseAutocomplete.vue';
67
67
  import BaseAutocompleteFetch from './BaseAutocompleteFetch.vue';
@@ -72,7 +72,7 @@ import { Placement } from '@floating-ui/vue';
72
72
  const props = defineProps({
73
73
  modelValue: {
74
74
  type: [Array, Object, null, undefined] as PropType<
75
- Option[] | Option | null | undefined
75
+ RawOption[] | RawOption | null | undefined
76
76
  >,
77
77
  default: undefined,
78
78
  },
@@ -85,7 +85,7 @@ const props = defineProps({
85
85
  default: undefined,
86
86
  },
87
87
  options: {
88
- type: Array as PropType<Option[] | undefined>,
88
+ type: Array as PropType<RawOption[] | undefined>,
89
89
  default: undefined,
90
90
  },
91
91
  labelKey: {
@@ -174,7 +174,7 @@ watch(
174
174
  );
175
175
 
176
176
  function onUpdate(
177
- value: Option | Option[] | null | undefined,
177
+ value: RawOption | RawOption[] | null | undefined,
178
178
  close: () => void
179
179
  ) {
180
180
  newValue.value = getNewValue(value);
@@ -186,7 +186,7 @@ function onUpdate(
186
186
  }
187
187
  }
188
188
 
189
- function getNewValue(value: Option | Option[] | null | undefined) {
189
+ function getNewValue(value: RawOption | RawOption[] | null | undefined) {
190
190
  if (isArray(value)) {
191
191
  return value;
192
192
  }