@skyservice-developers/vue-dev-kit 2.13.4 → 2.14.1
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/README.md +79 -4
- package/dist/features/SkyCheckboxFilter/SkyCheckboxFilter.vue.d.ts +7 -0
- package/dist/features/SkySelectFilter/SkySelectFilter.vue.d.ts +73 -0
- package/dist/features/SkySelectFilter/index.d.ts +1 -0
- package/dist/features/index.d.ts +1 -0
- package/dist/shared/ui/SkyFilterDropdown/FilterSearch.vue.d.ts +25 -0
- package/dist/shared/ui/SkyFilterDropdown/SkyFilterDropdown.vue.d.ts +86 -0
- package/dist/shared/ui/SkyFilterDropdown/index.d.ts +1 -0
- package/dist/shared/ui/index.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/vue-dev-kit.cjs +13 -13
- package/dist/vue-dev-kit.js +5103 -4976
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -33,10 +33,11 @@ import {
|
|
|
33
33
|
SkyTableRoot, SkyTableHeader, SkyTableHead, SkyTableBody, SkyTableRow, SkyTableCell,
|
|
34
34
|
useTableSort, useTableSelection, useColumnVisibility,
|
|
35
35
|
FunctionalCalendar, SkyDateRangePicker,
|
|
36
|
+
SkyFilterDropdown,
|
|
36
37
|
// widgets
|
|
37
38
|
SkyTileCard,
|
|
38
39
|
// features
|
|
39
|
-
SkyCheckboxFilter,
|
|
40
|
+
SkyCheckboxFilter, SkySelectFilter,
|
|
40
41
|
TableMassActions, TableColumnSettings, TableVirtualBody,
|
|
41
42
|
// sdk
|
|
42
43
|
navigate, SkyserviceAPI, isInsideIframe,
|
|
@@ -1110,7 +1111,7 @@ const range = reactive({ start: '', end: '' }) // { start, end } у формат
|
|
|
1110
1111
|
|
|
1111
1112
|
### SkyCheckboxFilter
|
|
1112
1113
|
|
|
1113
|
-
Кнопка-фільтр з дропдауном, пошуком і мульти-вибором (через `SkyCheckbox`).
|
|
1114
|
+
Кнопка-фільтр з дропдауном, пошуком і мульти-вибором (через `SkyCheckbox`). Оболонку — тригер, панель, позиціювання, закриття — тримає `SkyFilterDropdown`. Стилі повторюють адмінку Skymarket 1:1.
|
|
1114
1115
|
|
|
1115
1116
|
```vue
|
|
1116
1117
|
<SkyCheckboxFilter
|
|
@@ -1130,12 +1131,84 @@ const range = reactive({ start: '', end: '' }) // { start, end } у формат
|
|
|
1130
1131
|
| `title` | `String` | — | Заголовок фільтра (показується у тригері) |
|
|
1131
1132
|
| `options` | `Array<{ value, name }>` | `[]` | Опції для вибору |
|
|
1132
1133
|
| `modelValue` | `Array<String\|Number>` | `[]` | Вибрані значення (v-model) |
|
|
1133
|
-
| `selectAllLabel` | `String` | `'
|
|
1134
|
+
| `selectAllLabel` | `String` | `'Обрати все'` | Лейбл кнопки "Обрати все" |
|
|
1134
1135
|
| `clearLabel` | `String` | `'Очистити'` | Лейбл кнопки "Очистити" |
|
|
1135
1136
|
| `doneLabel` | `String` | `'Готово'` | Лейбл кнопки "Готово" |
|
|
1136
1137
|
| `searchPlaceholder` | `String` | `'Пошук'` | Placeholder пошуку |
|
|
1138
|
+
| `selectAll` | `Boolean` | `true` | Показувати «Обрати все» |
|
|
1137
1139
|
| `disabled` | `Boolean` | `false` | Вимкнений стан |
|
|
1138
1140
|
|
|
1141
|
+
### SkySelectFilter
|
|
1142
|
+
|
|
1143
|
+
Той самий фільтр-чіп, але з **одиничним** вибором — для випадків, коли бекенд приймає рівно
|
|
1144
|
+
одне значення. Після вибору дропдаун закривається.
|
|
1145
|
+
|
|
1146
|
+
```vue
|
|
1147
|
+
<SkySelectFilter
|
|
1148
|
+
v-model="categoryId"
|
|
1149
|
+
title="Категорія"
|
|
1150
|
+
all-label="Усі категорії"
|
|
1151
|
+
:options="[
|
|
1152
|
+
{ value: 10, name: 'Напої', depth: 0 },
|
|
1153
|
+
{ value: 11, name: 'Кава', depth: 1 },
|
|
1154
|
+
]"
|
|
1155
|
+
/>
|
|
1156
|
+
```
|
|
1157
|
+
|
|
1158
|
+
#### Props
|
|
1159
|
+
|
|
1160
|
+
| Prop | Тип | За замовчуванням | Опис |
|
|
1161
|
+
|------|-----|------------------|------|
|
|
1162
|
+
| `title` | `String` | — | Заголовок фільтра (показується у тригері) |
|
|
1163
|
+
| `options` | `Array<{ value, name, depth? }>` | — | Опції; `depth` лише відступає рядок |
|
|
1164
|
+
| `modelValue` | `String\|Number\|null` | `null` | Обране значення (v-model); `null` — фільтр вимкнено |
|
|
1165
|
+
| `allLabel` | `String` | `''` | Лейбл рядка «без фільтра»; порожній — рядка немає |
|
|
1166
|
+
| `searchPlaceholder` | `String` | `'Пошук'` | Placeholder пошуку |
|
|
1167
|
+
| `emptyLabel` | `String` | `'Нічого не знайдено'` | Текст порожнього результату пошуку |
|
|
1168
|
+
| `searchable` | `Boolean` | `true` | Показувати поле пошуку |
|
|
1169
|
+
| `disabled` | `Boolean` | `false` | Вимкнений стан |
|
|
1170
|
+
|
|
1171
|
+
---
|
|
1172
|
+
|
|
1173
|
+
## SkyFilterDropdown
|
|
1174
|
+
|
|
1175
|
+
Оболонка фільтра: тригер-чіп + панель. Бере на себе тільки спільне — стан відкриття,
|
|
1176
|
+
позиціювання, закриття і доступність; вміст панелі за викликачем. На ній побудовані
|
|
1177
|
+
`SkyCheckboxFilter` і `SkySelectFilter`; бери її напряму для фільтра з власним вмістом.
|
|
1178
|
+
|
|
1179
|
+
Панель телепортується у `<body>` (щоб `transform` у предка не ламав `position: fixed`),
|
|
1180
|
+
перепозиціюється на скрол і resize, притискається до країв екрана й розкривається вгору,
|
|
1181
|
+
коли знизу тісно. Скрол сторінки **не** локиться. Закриття — клік поза межами, `Esc`.
|
|
1182
|
+
|
|
1183
|
+
```vue
|
|
1184
|
+
<SkyFilterDropdown title="Період" summary="Цей тиждень">
|
|
1185
|
+
<template #default="{ close }">
|
|
1186
|
+
<button @click="close">Готово</button>
|
|
1187
|
+
</template>
|
|
1188
|
+
</SkyFilterDropdown>
|
|
1189
|
+
```
|
|
1190
|
+
|
|
1191
|
+
#### Props
|
|
1192
|
+
|
|
1193
|
+
| Prop | Тип | За замовчуванням | Опис |
|
|
1194
|
+
|------|-----|------------------|------|
|
|
1195
|
+
| `title` | `String` | — | Лейбл чіпа |
|
|
1196
|
+
| `summary` | `String` | `''` | Заміняє `title`, коли обрано рівно одне |
|
|
1197
|
+
| `badge` | `String\|Number` | `''` | Показується поруч із `title` (напр. лічильник) |
|
|
1198
|
+
| `align` | `'start'\|'end'` | `'start'` | До якого краю тригера притискається панель |
|
|
1199
|
+
| `width` | `Number` | `280` | Ширина панелі в px |
|
|
1200
|
+
| `disabled` | `Boolean` | `false` | Вимкнений стан |
|
|
1201
|
+
|
|
1202
|
+
#### Slots / Events / Expose
|
|
1203
|
+
|
|
1204
|
+
| | |
|
|
1205
|
+
|---|---|
|
|
1206
|
+
| slot `default` | `{ close }` — вміст панелі |
|
|
1207
|
+
| events | `open`, `close` |
|
|
1208
|
+
| expose | `open()`, `close()`, `toggle()`, `isOpen` |
|
|
1209
|
+
|
|
1210
|
+
CSS-змінні (`--sky-filter-*`) — див. [доки](https://74cfe434-a2b3-4d49-8fa7-db7343e399dc.apps.platform365.online/components/sky-filter-dropdown).
|
|
1211
|
+
|
|
1139
1212
|
---
|
|
1140
1213
|
|
|
1141
1214
|
## sky-service-ui-components
|
|
@@ -1287,6 +1360,7 @@ src/
|
|
|
1287
1360
|
│ ├── table/ # примітиви композиційної таблиці (Root/Header/Head/Body/Row/Cell/Empty)
|
|
1288
1361
|
│ ├── SkyTable/ # готова віртуал-скрол таблиця (Header/Row/Footer/DynamicScroller/items/*)
|
|
1289
1362
|
│ ├── SkyTileCard/
|
|
1363
|
+
│ ├── SkyFilterDropdown/ # оболонка фільтра (тригер + панель) + FilterSearch
|
|
1290
1364
|
│ ├── functional-calendar/ # форк vue-functional-calendar, перенесений зі SkyMarket 1:1
|
|
1291
1365
|
│ ├── SkyDateRangePicker/ # DatePickerRange зі SkyMarket, store/langs → props/локальний стан
|
|
1292
1366
|
│ └── <Component>/
|
|
@@ -1296,7 +1370,8 @@ src/
|
|
|
1296
1370
|
│ └── table/ # skyTableFeatures + useTableSort / useTableSelection / useColumnVisibility
|
|
1297
1371
|
├── features/ # фічові блоки (orchestration shared/ui)
|
|
1298
1372
|
│ ├── index.ts
|
|
1299
|
-
│ ├── SkyCheckboxFilter/
|
|
1373
|
+
│ ├── SkyCheckboxFilter/ # мульти-вибір на SkyFilterDropdown
|
|
1374
|
+
│ ├── SkySelectFilter/ # одиничний вибір на SkyFilterDropdown
|
|
1300
1375
|
│ ├── table/ # TableMassActions / TableColumnSettings / TableVirtualBody
|
|
1301
1376
|
│ └── data-table/ # SkyDataTable на TanStack v9 + перемикач колонок
|
|
1302
1377
|
├── sdk/ # TypeScript SDK (без Vue залежностей)
|
|
@@ -11,9 +11,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
11
11
|
clearLabel?: string;
|
|
12
12
|
doneLabel?: string;
|
|
13
13
|
searchPlaceholder?: string;
|
|
14
|
+
/** Сховати «Обрати все» — коли споживач не може прийняти більше одного значення. */
|
|
15
|
+
selectAll?: boolean;
|
|
14
16
|
disabled?: boolean;
|
|
15
17
|
}>, {
|
|
16
18
|
modelValue: () => never[];
|
|
19
|
+
selectAll: boolean;
|
|
17
20
|
selectAllLabel: string;
|
|
18
21
|
clearLabel: string;
|
|
19
22
|
doneLabel: string;
|
|
@@ -29,9 +32,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
29
32
|
clearLabel?: string;
|
|
30
33
|
doneLabel?: string;
|
|
31
34
|
searchPlaceholder?: string;
|
|
35
|
+
/** Сховати «Обрати все» — коли споживач не може прийняти більше одного значення. */
|
|
36
|
+
selectAll?: boolean;
|
|
32
37
|
disabled?: boolean;
|
|
33
38
|
}>, {
|
|
34
39
|
modelValue: () => never[];
|
|
40
|
+
selectAll: boolean;
|
|
35
41
|
selectAllLabel: string;
|
|
36
42
|
clearLabel: string;
|
|
37
43
|
doneLabel: string;
|
|
@@ -46,6 +52,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
46
52
|
clearLabel: string;
|
|
47
53
|
doneLabel: string;
|
|
48
54
|
searchPlaceholder: string;
|
|
55
|
+
selectAll: boolean;
|
|
49
56
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
50
57
|
export default _default;
|
|
51
58
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
type OptionValue = string | number;
|
|
2
|
+
interface Option {
|
|
3
|
+
value: OptionValue;
|
|
4
|
+
name: string;
|
|
5
|
+
/** Nesting level for tree-shaped lists; indents the row, nothing more. */
|
|
6
|
+
depth?: number;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
9
|
+
title: string;
|
|
10
|
+
options: Option[];
|
|
11
|
+
/** `null` — nothing picked, i.e. the filter is off. */
|
|
12
|
+
modelValue?: OptionValue | null;
|
|
13
|
+
/** Label of the leading "no filter" row; omit to hide that row. */
|
|
14
|
+
allLabel?: string;
|
|
15
|
+
searchPlaceholder?: string;
|
|
16
|
+
emptyLabel?: string;
|
|
17
|
+
searchable?: boolean;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
}>, {
|
|
20
|
+
modelValue: null;
|
|
21
|
+
allLabel: string;
|
|
22
|
+
searchPlaceholder: string;
|
|
23
|
+
emptyLabel: string;
|
|
24
|
+
searchable: boolean;
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
27
|
+
"update:modelValue": (args_0: OptionValue | null) => void;
|
|
28
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
29
|
+
title: string;
|
|
30
|
+
options: Option[];
|
|
31
|
+
/** `null` — nothing picked, i.e. the filter is off. */
|
|
32
|
+
modelValue?: OptionValue | null;
|
|
33
|
+
/** Label of the leading "no filter" row; omit to hide that row. */
|
|
34
|
+
allLabel?: string;
|
|
35
|
+
searchPlaceholder?: string;
|
|
36
|
+
emptyLabel?: string;
|
|
37
|
+
searchable?: boolean;
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
}>, {
|
|
40
|
+
modelValue: null;
|
|
41
|
+
allLabel: string;
|
|
42
|
+
searchPlaceholder: string;
|
|
43
|
+
emptyLabel: string;
|
|
44
|
+
searchable: boolean;
|
|
45
|
+
disabled: boolean;
|
|
46
|
+
}>>> & Readonly<{
|
|
47
|
+
"onUpdate:modelValue"?: ((args_0: OptionValue | null) => any) | undefined;
|
|
48
|
+
}>, {
|
|
49
|
+
modelValue: OptionValue | null;
|
|
50
|
+
disabled: boolean;
|
|
51
|
+
searchPlaceholder: string;
|
|
52
|
+
allLabel: string;
|
|
53
|
+
emptyLabel: string;
|
|
54
|
+
searchable: boolean;
|
|
55
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
56
|
+
export default _default;
|
|
57
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
58
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
59
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
60
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
61
|
+
} : {
|
|
62
|
+
type: import('vue').PropType<T[K]>;
|
|
63
|
+
required: true;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
type __VLS_WithDefaults<P, D> = {
|
|
67
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
68
|
+
default: D[K];
|
|
69
|
+
}> : P[K];
|
|
70
|
+
};
|
|
71
|
+
type __VLS_Prettify<T> = {
|
|
72
|
+
[K in keyof T]: T[K];
|
|
73
|
+
} & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './SkySelectFilter.vue';
|
package/dist/features/index.d.ts
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
modelValue: string;
|
|
3
|
+
placeholder?: string;
|
|
4
|
+
/** Rendered as the field's accessible name (the row has no visible label). */
|
|
5
|
+
label?: string;
|
|
6
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
"update:modelValue": (args_0: string) => void;
|
|
8
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
9
|
+
modelValue: string;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
/** Rendered as the field's accessible name (the row has no visible label). */
|
|
12
|
+
label?: string;
|
|
13
|
+
}>>> & Readonly<{
|
|
14
|
+
"onUpdate:modelValue"?: ((args_0: string) => any) | undefined;
|
|
15
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
18
|
+
type __VLS_TypePropsToRuntimeProps<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
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
declare function open(): void;
|
|
2
|
+
declare function close(): void;
|
|
3
|
+
declare function toggle(): void;
|
|
4
|
+
declare function __VLS_template(): {
|
|
5
|
+
default?(_: {
|
|
6
|
+
close: typeof close;
|
|
7
|
+
}): any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
10
|
+
/** Chip label, always visible. */
|
|
11
|
+
title: string;
|
|
12
|
+
/** Replaces the title when exactly one thing is picked (e.g. the option name). */
|
|
13
|
+
summary?: string;
|
|
14
|
+
/** Shown next to the title when several things are picked (e.g. the count). */
|
|
15
|
+
badge?: string | number;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/** Which trigger edge the panel lines up with when it fits. */
|
|
18
|
+
align?: "start" | "end";
|
|
19
|
+
/** Panel width in px; the panel never grows past the viewport. */
|
|
20
|
+
width?: number;
|
|
21
|
+
}>, {
|
|
22
|
+
summary: string;
|
|
23
|
+
badge: string;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
align: string;
|
|
26
|
+
width: number;
|
|
27
|
+
}>>, {
|
|
28
|
+
open: typeof open;
|
|
29
|
+
close: typeof close;
|
|
30
|
+
toggle: typeof toggle;
|
|
31
|
+
isOpen: import('vue').Ref<boolean, boolean>;
|
|
32
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
33
|
+
open: () => void;
|
|
34
|
+
close: () => void;
|
|
35
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
36
|
+
/** Chip label, always visible. */
|
|
37
|
+
title: string;
|
|
38
|
+
/** Replaces the title when exactly one thing is picked (e.g. the option name). */
|
|
39
|
+
summary?: string;
|
|
40
|
+
/** Shown next to the title when several things are picked (e.g. the count). */
|
|
41
|
+
badge?: string | number;
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
/** Which trigger edge the panel lines up with when it fits. */
|
|
44
|
+
align?: "start" | "end";
|
|
45
|
+
/** Panel width in px; the panel never grows past the viewport. */
|
|
46
|
+
width?: number;
|
|
47
|
+
}>, {
|
|
48
|
+
summary: string;
|
|
49
|
+
badge: string;
|
|
50
|
+
disabled: boolean;
|
|
51
|
+
align: string;
|
|
52
|
+
width: number;
|
|
53
|
+
}>>> & Readonly<{
|
|
54
|
+
onOpen?: (() => any) | undefined;
|
|
55
|
+
onClose?: (() => any) | undefined;
|
|
56
|
+
}>, {
|
|
57
|
+
disabled: boolean;
|
|
58
|
+
summary: string;
|
|
59
|
+
badge: string | number;
|
|
60
|
+
align: "start" | "end";
|
|
61
|
+
width: number;
|
|
62
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
63
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
64
|
+
export default _default;
|
|
65
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
66
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
67
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
68
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
69
|
+
} : {
|
|
70
|
+
type: import('vue').PropType<T[K]>;
|
|
71
|
+
required: true;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
type __VLS_WithDefaults<P, D> = {
|
|
75
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
76
|
+
default: D[K];
|
|
77
|
+
}> : P[K];
|
|
78
|
+
};
|
|
79
|
+
type __VLS_Prettify<T> = {
|
|
80
|
+
[K in keyof T]: T[K];
|
|
81
|
+
} & {};
|
|
82
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
83
|
+
new (): {
|
|
84
|
+
$slots: S;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './SkyFilterDropdown.vue';
|
|
@@ -13,6 +13,7 @@ export { default as SkyCardHeader } from './SkyCardHeader';
|
|
|
13
13
|
export { default as SkyCardRow } from './SkyCardRow';
|
|
14
14
|
export { default as SkyCheckbox } from './SkyCheckbox';
|
|
15
15
|
export { default as SkyDateRangePicker } from './SkyDateRangePicker';
|
|
16
|
+
export { default as SkyFilterDropdown } from './SkyFilterDropdown';
|
|
16
17
|
export { default as SkyInput } from './SkyInput';
|
|
17
18
|
export { default as SkyLoader } from './SkyLoader';
|
|
18
19
|
export { default as SkySelect } from './SkySelect';
|