@onereach/ui-components 2.69.2-beta.2133.0 → 2.69.2-beta.2142.0

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 (147) hide show
  1. package/dist/bundled/v2/{OrAvatar-ae61bfb9.js → OrAvatar-2fa559e1.js} +15 -41
  2. package/dist/bundled/v2/{OrButton-0e91a808.js → OrButton-66d37aff.js} +14 -1
  3. package/dist/bundled/v2/{OrConfirm-18c534df.js → OrConfirm-e1ca1422.js} +1 -1
  4. package/dist/bundled/v2/OrPagination-734cb415.js +297 -0
  5. package/dist/bundled/v2/{OrSelect-b20a9be0.js → OrSelect-ff9e4fbd.js} +3 -3
  6. package/dist/bundled/v2/components/index.d.ts +1 -0
  7. package/dist/bundled/v2/components/index.js +5 -4
  8. package/dist/bundled/v2/components/or-avatar-v3/OrAvatar.stories3.d.ts +1 -1
  9. package/dist/bundled/v2/components/or-avatar-v3/OrAvatar.vue.d.ts +0 -11
  10. package/dist/bundled/v2/components/or-avatar-v3/index.js +1 -2
  11. package/dist/bundled/v2/components/or-avatar-v3/props.d.ts +1 -2
  12. package/dist/bundled/v2/components/or-avatar-v3/styles.d.ts +0 -2
  13. package/dist/bundled/v2/components/or-button-v3/OrButton.vue.d.ts +11 -0
  14. package/dist/bundled/v2/components/or-button-v3/index.js +1 -1
  15. package/dist/bundled/v2/components/or-confirm-v3/index.js +2 -2
  16. package/dist/bundled/v2/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  17. package/dist/bundled/v2/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  18. package/dist/bundled/v2/components/or-pagination-v3/index.d.ts +2 -0
  19. package/dist/bundled/v2/components/or-pagination-v3/index.js +20 -0
  20. package/dist/bundled/v2/components/or-pagination-v3/styles.d.ts +3 -0
  21. package/dist/bundled/v2/components/or-pagination-v3/types.d.ts +4 -0
  22. package/dist/bundled/v2/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  23. package/dist/bundled/v2/components/or-select-v3/index.d.ts +1 -0
  24. package/dist/bundled/v2/components/or-select-v3/index.js +1 -1
  25. package/dist/bundled/v2/components/or-select-v3/types.d.ts +1 -1
  26. package/dist/bundled/v2/index.js +6 -5
  27. package/dist/bundled/v3/{OrAvatar.vue_vue_type_script_lang-0426862b.js → OrAvatar.vue_vue_type_script_lang-22e46ce1.js} +13 -35
  28. package/dist/bundled/v3/OrButton-9640286b.js +34 -0
  29. package/dist/bundled/v3/{OrButton.vue_vue_type_script_lang-3718b300.js → OrButton.vue_vue_type_script_lang-06d8ead1.js} +13 -1
  30. package/dist/bundled/v3/{OrCardCollection.vue_vue_type_script_lang-861158b5.js → OrCardCollection.vue_vue_type_script_lang-3993a015.js} +2 -2
  31. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-289b5600.js → OrConfirm.vue_vue_type_script_lang-f1b81f00.js} +6 -36
  32. package/dist/bundled/v3/{OrIconButton-1581013c.js → OrIconButton-4bd33e3c.js} +1 -1
  33. package/dist/bundled/v3/{OrIconButton.vue_vue_type_script_lang-f6f801ff.js → OrIconButton.vue_vue_type_script_lang-641f6e06.js} +1 -1
  34. package/dist/bundled/v3/{OrInlineInput.vue_vue_type_script_lang-f29483f4.js → OrInlineInput.vue_vue_type_script_lang-3a8189f4.js} +2 -2
  35. package/dist/bundled/v3/{OrInlineTextarea.vue_vue_type_script_lang-cc40af48.js → OrInlineTextarea.vue_vue_type_script_lang-890b97ab.js} +2 -2
  36. package/dist/bundled/v3/OrInput.vue_vue_type_script_lang-f6d793d3.js +2 -2
  37. package/dist/bundled/v3/OrMenu-f26e8e55.js +29 -0
  38. package/dist/bundled/v3/{OrModal.vue_vue_type_script_lang-80a7b906.js → OrModal.vue_vue_type_script_lang-00a477f0.js} +2 -2
  39. package/dist/bundled/v3/OrNotification.vue_vue_type_script_lang-fbb35355.js +2 -2
  40. package/dist/bundled/v3/OrPagination.vue_vue_type_script_lang-d852d8af.js +180 -0
  41. package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-15285ce4.js → OrSelect.vue_vue_type_script_lang-05b03858.js} +3 -3
  42. package/dist/bundled/v3/{OrTabs.vue_vue_type_script_lang-919b2021.js → OrTabs.vue_vue_type_script_lang-61b79a5a.js} +10 -36
  43. package/dist/bundled/v3/{OrTag.vue_vue_type_script_lang-dc6a4011.js → OrTag.vue_vue_type_script_lang-92d9fb12.js} +2 -2
  44. package/dist/bundled/v3/{OrToastContainer-7c3c0b12.js → OrToastContainer-afb51e5d.js} +1 -1
  45. package/dist/bundled/v3/components/index.d.ts +1 -0
  46. package/dist/bundled/v3/components/index.js +17 -14
  47. package/dist/bundled/v3/components/or-avatar-v3/OrAvatar.stories3.d.ts +1 -1
  48. package/dist/bundled/v3/components/or-avatar-v3/OrAvatar.vue.d.ts +0 -11
  49. package/dist/bundled/v3/components/or-avatar-v3/index.js +1 -3
  50. package/dist/bundled/v3/components/or-avatar-v3/props.d.ts +1 -2
  51. package/dist/bundled/v3/components/or-avatar-v3/styles.d.ts +0 -2
  52. package/dist/bundled/v3/components/or-button-v3/OrButton.vue.d.ts +11 -0
  53. package/dist/bundled/v3/components/or-button-v3/index.js +1 -1
  54. package/dist/bundled/v3/components/or-card-collection-v3/index.js +3 -3
  55. package/dist/bundled/v3/components/or-confirm-v3/index.js +5 -4
  56. package/dist/bundled/v3/components/or-icon-button-v3/index.js +1 -1
  57. package/dist/bundled/v3/components/or-inline-input-v3/index.js +3 -3
  58. package/dist/bundled/v3/components/or-inline-textarea-v3/index.js +3 -3
  59. package/dist/bundled/v3/components/or-input-v3/index.js +2 -2
  60. package/dist/bundled/v3/components/or-modal-v3/index.js +3 -3
  61. package/dist/bundled/v3/components/or-notification-v3/index.js +2 -2
  62. package/dist/bundled/v3/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  63. package/dist/bundled/v3/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  64. package/dist/bundled/v3/components/or-pagination-v3/index.d.ts +2 -0
  65. package/dist/bundled/v3/components/or-pagination-v3/index.js +22 -0
  66. package/dist/bundled/v3/components/or-pagination-v3/styles.d.ts +3 -0
  67. package/dist/bundled/v3/components/or-pagination-v3/types.d.ts +4 -0
  68. package/dist/bundled/v3/components/or-search-v3/index.js +2 -2
  69. package/dist/bundled/v3/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  70. package/dist/bundled/v3/components/or-select-v3/index.d.ts +1 -0
  71. package/dist/bundled/v3/components/or-select-v3/index.js +4 -4
  72. package/dist/bundled/v3/components/or-select-v3/types.d.ts +1 -1
  73. package/dist/bundled/v3/components/or-tabs-v3/index.js +2 -1
  74. package/dist/bundled/v3/components/or-tag-v3/index.js +3 -3
  75. package/dist/bundled/v3/components/or-toast-v3/index.js +4 -4
  76. package/dist/bundled/v3/index.js +254 -177
  77. package/dist/bundled/v3/{types-dcc78caa.js → types-6c5eee23.js} +2 -2
  78. package/dist/esm/v2/{OrAvatar-3d155af3.js → OrAvatar-0afdef36.js} +15 -41
  79. package/dist/esm/v2/{OrButton-357a5756.js → OrButton-3d4fc9da.js} +14 -1
  80. package/dist/esm/v2/{OrConfirm-b0b2e43c.js → OrConfirm-ba3f8c45.js} +1 -1
  81. package/dist/esm/v2/OrPagination-07246e59.js +297 -0
  82. package/dist/esm/v2/{OrSelect-f0ff5a85.js → OrSelect-651bb83e.js} +3 -3
  83. package/dist/esm/v2/components/index.d.ts +1 -0
  84. package/dist/esm/v2/components/index.js +5 -4
  85. package/dist/esm/v2/components/or-avatar-v3/OrAvatar.stories3.d.ts +1 -1
  86. package/dist/esm/v2/components/or-avatar-v3/OrAvatar.vue.d.ts +0 -11
  87. package/dist/esm/v2/components/or-avatar-v3/index.js +1 -2
  88. package/dist/esm/v2/components/or-avatar-v3/props.d.ts +1 -2
  89. package/dist/esm/v2/components/or-avatar-v3/styles.d.ts +0 -2
  90. package/dist/esm/v2/components/or-button-v3/OrButton.vue.d.ts +11 -0
  91. package/dist/esm/v2/components/or-button-v3/index.js +1 -1
  92. package/dist/esm/v2/components/or-confirm-v3/index.js +2 -2
  93. package/dist/esm/v2/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  94. package/dist/esm/v2/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  95. package/dist/esm/v2/components/or-pagination-v3/index.d.ts +2 -0
  96. package/dist/esm/v2/components/or-pagination-v3/index.js +18 -0
  97. package/dist/esm/v2/components/or-pagination-v3/styles.d.ts +3 -0
  98. package/dist/esm/v2/components/or-pagination-v3/types.d.ts +4 -0
  99. package/dist/esm/v2/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  100. package/dist/esm/v2/components/or-select-v3/index.d.ts +1 -0
  101. package/dist/esm/v2/components/or-select-v3/index.js +1 -1
  102. package/dist/esm/v2/components/or-select-v3/types.d.ts +1 -1
  103. package/dist/esm/v2/index.js +5 -4
  104. package/dist/esm/v3/{OrAvatar-53a4429d.js → OrAvatar-ef88d31c.js} +16 -43
  105. package/dist/esm/v3/{OrButton-f4b9ee51.js → OrButton-970ae320.js} +15 -2
  106. package/dist/esm/v3/{OrConfirm-906427ef.js → OrConfirm-7cb2f36b.js} +1 -1
  107. package/dist/esm/v3/OrPagination-e1122a8e.js +258 -0
  108. package/dist/esm/v3/{OrSelect-7e813982.js → OrSelect-28a175dc.js} +3 -3
  109. package/dist/esm/v3/components/index.d.ts +1 -0
  110. package/dist/esm/v3/components/index.js +5 -4
  111. package/dist/esm/v3/components/or-avatar-v3/OrAvatar.stories3.d.ts +1 -1
  112. package/dist/esm/v3/components/or-avatar-v3/OrAvatar.vue.d.ts +0 -11
  113. package/dist/esm/v3/components/or-avatar-v3/index.js +1 -2
  114. package/dist/esm/v3/components/or-avatar-v3/props.d.ts +1 -2
  115. package/dist/esm/v3/components/or-avatar-v3/styles.d.ts +0 -2
  116. package/dist/esm/v3/components/or-button-v3/OrButton.vue.d.ts +11 -0
  117. package/dist/esm/v3/components/or-button-v3/index.js +1 -1
  118. package/dist/esm/v3/components/or-confirm-v3/index.js +2 -2
  119. package/dist/esm/v3/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  120. package/dist/esm/v3/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  121. package/dist/esm/v3/components/or-pagination-v3/index.d.ts +2 -0
  122. package/dist/esm/v3/components/or-pagination-v3/index.js +17 -0
  123. package/dist/esm/v3/components/or-pagination-v3/styles.d.ts +3 -0
  124. package/dist/esm/v3/components/or-pagination-v3/types.d.ts +4 -0
  125. package/dist/esm/v3/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  126. package/dist/esm/v3/components/or-select-v3/index.d.ts +1 -0
  127. package/dist/esm/v3/components/or-select-v3/index.js +1 -1
  128. package/dist/esm/v3/components/or-select-v3/types.d.ts +1 -1
  129. package/dist/esm/v3/index.js +5 -4
  130. package/package.json +1 -1
  131. package/src/components/index.ts +1 -0
  132. package/src/components/or-avatar-v3/OrAvatar.stories3.ts +7 -9
  133. package/src/components/or-avatar-v3/OrAvatar.vue +2 -22
  134. package/src/components/or-avatar-v3/props.ts +0 -1
  135. package/src/components/or-avatar-v3/styles.ts +11 -49
  136. package/src/components/or-button-v3/OrButton.stories3.ts +4 -0
  137. package/src/components/or-button-v3/OrButton.vue +6 -0
  138. package/src/components/or-button-v3/styles.ts +15 -1
  139. package/src/components/or-pagination-v3/OrPagination.docs.mdx +7 -0
  140. package/src/components/or-pagination-v3/OrPagination.stories3.ts +87 -0
  141. package/src/components/or-pagination-v3/OrPagination.vue +261 -0
  142. package/src/components/or-pagination-v3/index.ts +2 -0
  143. package/src/components/or-pagination-v3/styles.ts +30 -0
  144. package/src/components/or-pagination-v3/types.ts +4 -0
  145. package/src/components/or-select-v3/OrSelect.vue +3 -3
  146. package/src/components/or-select-v3/index.ts +1 -0
  147. package/src/components/or-select-v3/types.ts +1 -1
@@ -0,0 +1,261 @@
1
+ <template>
2
+ <div
3
+ ref="root"
4
+ v-bind="$attrs"
5
+ :class="rootStyles"
6
+ >
7
+ <div :class="offsetControlStyles">
8
+ <OrButton
9
+ :variant="'link'"
10
+ :color="'inherit'"
11
+ :disabled="currentPage === firstPage"
12
+ @click.stop="toPreviousPage()"
13
+ >
14
+ <OrIcon :icon="'keyboard_arrow_left'" />
15
+ </OrButton>
16
+
17
+ <OrButton
18
+ v-for="(page, index) in buttonGroup"
19
+ :key="index"
20
+ :variant="'link'"
21
+ :color="'inherit'"
22
+ :activated="currentPage === page"
23
+ @click.stop="typeof page === 'number' && toPage(page)"
24
+ >
25
+ {{ page }}
26
+ </OrButton>
27
+
28
+ <OrButton
29
+ :variant="'link'"
30
+ :color="'inherit'"
31
+ :disabled="currentPage === lastPage"
32
+ @click.stop="toNextPage()"
33
+ >
34
+ <OrIcon :icon="'keyboard_arrow_right'" />
35
+ </OrButton>
36
+ </div>
37
+
38
+ <div :class="limitControlStyles">
39
+ Per page:
40
+
41
+ <OrButton
42
+ ref="limitButton"
43
+ :variant="'link'"
44
+ :color="'inherit'"
45
+ :activated="true"
46
+ @click.stop="limitMenu.open()"
47
+ >
48
+ {{ currentLimit }} <OrIcon :icon="'arrow_drop_down'" />
49
+ </OrButton>
50
+
51
+ <OrMenu
52
+ ref="limitMenu"
53
+ :trigger="limitButtonRoot"
54
+ :placement="'top'"
55
+ >
56
+ <OrMenuItem
57
+ v-for="pageSize in pageSizeOptions"
58
+ :key="pageSize"
59
+ @click.stop="currentLimit = pageSize"
60
+ >
61
+ {{ pageSize }}
62
+ </OrMenuItem>
63
+ </OrMenu>
64
+ </div>
65
+ </div>
66
+ </template>
67
+
68
+ <script lang="ts">
69
+ import { computed, defineComponent, PropType, ref } from 'vue-demi';
70
+ import { useClassAttribute } from '../../hooks';
71
+ import { OrButtonV3 as OrButton } from '../or-button-v3';
72
+ import { OrIconV3 as OrIcon } from '../or-icon-v3';
73
+ import { OrMenuItemV3 as OrMenuItem } from '../or-menu-item-v3';
74
+ import { OrMenuV3 as OrMenu } from '../or-menu-v3';
75
+ import { PaginationLimitControl, PaginationOffsetControl, PaginationRoot } from './styles';
76
+ import { PaginationModel } from './types';
77
+
78
+ export default defineComponent({
79
+ name: 'OrPagination',
80
+
81
+ components: {
82
+ OrButton,
83
+ OrIcon,
84
+ OrMenu,
85
+ OrMenuItem,
86
+ },
87
+
88
+ inheritAttrs: false,
89
+
90
+ props: {
91
+ modelValue: {
92
+ type: Object as PropType<PaginationModel>,
93
+ default: undefined,
94
+ },
95
+
96
+ value: { // TODO: Remove Vue 2 fallback
97
+ type: Object as PropType<PaginationModel>,
98
+ default: undefined,
99
+ },
100
+
101
+ length: {
102
+ type: Number,
103
+ required: true,
104
+ },
105
+
106
+ pageSizeOptions: {
107
+ type: Array as PropType<number[]>,
108
+ default: () => [50, 20, 10, 5],
109
+ },
110
+ },
111
+
112
+ emits: [
113
+ 'update:modelValue',
114
+
115
+ 'input',
116
+ ],
117
+
118
+ expose: [
119
+ 'root',
120
+ ],
121
+
122
+ setup(props, context) {
123
+ // Refs
124
+ const root = ref<HTMLElement>();
125
+
126
+ const limitButton = ref<InstanceType<typeof OrButton>>();
127
+ const limitButtonRoot = computed(() => limitButton.value?.root);
128
+
129
+ const limitMenu = ref<InstanceType<typeof OrMenu>>();
130
+ const limitMenuRoot = computed(() => limitMenu.value?.root);
131
+
132
+ // Styles
133
+ const classAttribute = useClassAttribute();
134
+
135
+ const rootStyles = computed(() => [
136
+ 'or-pagination',
137
+ ...PaginationRoot,
138
+ classAttribute.value,
139
+ ]);
140
+
141
+ const offsetControlStyles = computed(() => [
142
+ ...PaginationOffsetControl,
143
+ ]);
144
+
145
+ const limitControlStyles = computed(() => [
146
+ ...PaginationLimitControl,
147
+ ]);
148
+
149
+ // State
150
+ const proxyModelValue = computed({
151
+ get: () => {
152
+ return props.modelValue ?? props.value; // TODO: Remove Vue 2 fallback
153
+ },
154
+
155
+ set: (value) => {
156
+ context.emit('input', value);
157
+ context.emit('update:modelValue', value);
158
+ },
159
+ });
160
+
161
+ const currentLimit = computed<number>({
162
+ get: () => {
163
+ return proxyModelValue.value?.limit ?? props.pageSizeOptions[0];
164
+ },
165
+
166
+ set: (value) => {
167
+ proxyModelValue.value = {
168
+ limit: value,
169
+ offset: 0,
170
+ };
171
+ },
172
+ });
173
+
174
+ const currentOffset = computed<number>({
175
+ get: () => {
176
+ return proxyModelValue.value?.offset ?? 0;
177
+ },
178
+
179
+ set: (value) => {
180
+ proxyModelValue.value = {
181
+ limit: currentLimit.value,
182
+ offset: value,
183
+ };
184
+ },
185
+ });
186
+
187
+ const currentPage = computed<number>({
188
+ get: () => {
189
+ return Math.floor(currentOffset.value / currentLimit.value) + 1;
190
+ },
191
+
192
+ set: (value) => {
193
+ currentOffset.value = (value - 1) * currentLimit.value;
194
+ },
195
+ });
196
+
197
+ const firstPage = computed<number>(() => {
198
+ return 1;
199
+ });
200
+
201
+ const lastPage = computed<number>(() => {
202
+ return Math.ceil(props.length / currentLimit.value);
203
+ });
204
+
205
+ const buttonGroup = computed<(number | string)[]>(() => {
206
+ return Array.from({ length: lastPage.value }, (_, index) => index + 1)
207
+ .map((page) => {
208
+ switch (true) {
209
+ case page > firstPage.value && page < currentPage.value - 1:
210
+ case page > currentPage.value + 1 && page < lastPage.value:
211
+ return '…';
212
+
213
+ default:
214
+ return page;
215
+ }
216
+ })
217
+ .reduce((accumulator, page) => {
218
+ if (accumulator[accumulator.length - 1] === page) {
219
+ return accumulator;
220
+ }
221
+
222
+ return [...accumulator, page];
223
+ }, [] as (number | string)[]);
224
+ });
225
+
226
+ // Functions
227
+ function toPreviousPage(): void {
228
+ currentPage.value = currentPage.value - 1;
229
+ }
230
+
231
+ function toNextPage(): void {
232
+ currentPage.value = currentPage.value + 1;
233
+ }
234
+
235
+ function toPage(page: number): void {
236
+ currentPage.value = page;
237
+ }
238
+
239
+ return {
240
+ root,
241
+ limitButton,
242
+ limitButtonRoot,
243
+ limitMenu,
244
+ limitMenuRoot,
245
+ rootStyles,
246
+ offsetControlStyles,
247
+ limitControlStyles,
248
+ proxyModelValue,
249
+ currentLimit,
250
+ currentOffset,
251
+ currentPage,
252
+ firstPage,
253
+ lastPage,
254
+ buttonGroup,
255
+ toPreviousPage,
256
+ toNextPage,
257
+ toPage,
258
+ };
259
+ },
260
+ });
261
+ </script>
@@ -0,0 +1,2 @@
1
+ export { default as OrPaginationV3 } from './OrPagination.vue';
2
+ export * from './types';
@@ -0,0 +1,30 @@
1
+ export const PaginationRoot: string[] = [
2
+ // Layout
3
+ 'layout-row',
4
+
5
+ // Spacing
6
+ 'gap-xl',
7
+
8
+ // Typography
9
+ 'typography-caption-regular',
10
+
11
+ // Theme
12
+ 'theme-foreground-outline',
13
+ 'dark:theme-foreground-outline-dark',
14
+ ];
15
+
16
+ export const PaginationOffsetControl: string[] = [
17
+ // Layout
18
+ 'layout-row',
19
+
20
+ // Spacing
21
+ 'gap-md',
22
+ ];
23
+
24
+ export const PaginationLimitControl: string[] = [
25
+ // Layout
26
+ 'layout-row',
27
+
28
+ // Spacing
29
+ 'gap-sm',
30
+ ];
@@ -0,0 +1,4 @@
1
+ export interface PaginationModel {
2
+ limit: number;
3
+ offset: number;
4
+ }
@@ -38,7 +38,7 @@
38
38
  @focus="$emit('focus', $event)"
39
39
  @blur="$emit('blur', $event)"
40
40
  >
41
- <template v-if="proxyModelValue && proxyModelValue.length > 0">
41
+ <template v-if="proxyModelValue !== undefined">
42
42
  <template v-if="multiple">
43
43
  <slot
44
44
  name="valueTemplate"
@@ -265,12 +265,12 @@ export default defineComponent({
265
265
  },
266
266
 
267
267
  modelValue: {
268
- type: [String, Array] as PropType<string | string[]>,
268
+ type: [String, Number, Array] as PropType<string | number | (string | number)[]>,
269
269
  default: undefined,
270
270
  },
271
271
 
272
272
  value: { // TODO: Remove Vue 2 fallback
273
- type: [String, Array] as PropType<string | string[]>,
273
+ type: [String, Number, Array] as PropType<string | number | (string | number)[]>,
274
274
  default: undefined,
275
275
  },
276
276
 
@@ -1,2 +1,3 @@
1
1
  export { default as OrSelectV3 } from './OrSelect.vue';
2
2
  export * from './props';
3
+ export * from './types';
@@ -1,5 +1,5 @@
1
1
  export interface SelectOption {
2
- value: string;
2
+ value: string | number;
3
3
  label: string;
4
4
  }
5
5