@skyservice-developers/vue-dev-kit 2.16.0 → 2.17.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.
package/README.md CHANGED
@@ -34,7 +34,7 @@ import {
34
34
  SkyTableRow, SkyTableCell,
35
35
  useTableSort, useTableSelection, useColumnVisibility,
36
36
  FunctionalCalendar, SkyDateRangePicker,
37
- SkyFilterDropdown,
37
+ SkyFilterDropdown, SkyPagination,
38
38
  // widgets
39
39
  SkyTileCard,
40
40
  // features
@@ -184,7 +184,7 @@ import {
184
184
  | `dropdownTitle` | `String` | `'Останні відвідані розділи'` | Заголовок дропдауну |
185
185
  | `visitLabel` | `String` | `'Останнє відвідування'` | Підпис часу в дропдауні |
186
186
  | `trackPageName` | `String` | `''` | Назва сторінки для трекінгу відвідувань |
187
- | `trackPagePath` | `String` | `''` | Шлях сторінки для трекінгу |
187
+ | `trackPagePath` | `String` | `''` | Шлях сторінки для трекінгу (за замовчуванням `/apps/{trackPageName}`; актуальний дашборд підставляє свій реальний маршрут) |
188
188
  | `appId` | `String` | `''` | Ідентифікатор додатку для iframe bridge |
189
189
 
190
190
  #### Slots
@@ -1209,6 +1209,7 @@ const range = reactive({ start: '', end: '' }) // { start, end } у формат
1209
1209
  | `doneLabel` | `String` | `'Готово'` | Лейбл кнопки "Готово" |
1210
1210
  | `searchPlaceholder` | `String` | `'Пошук'` | Placeholder пошуку |
1211
1211
  | `selectAll` | `Boolean` | `true` | Показувати «Обрати все» |
1212
+ | `searchable` | `Boolean` | `true` | Показувати поле пошуку |
1212
1213
  | `disabled` | `Boolean` | `false` | Вимкнений стан |
1213
1214
 
1214
1215
  ### SkySelectFilter
@@ -1243,6 +1244,42 @@ const range = reactive({ start: '', end: '' }) // { start, end } у формат
1243
1244
 
1244
1245
  ---
1245
1246
 
1247
+ ## SkyPagination
1248
+
1249
+ Посторінкова навігація в стилі таблиць адмінки: селектор кількості на сторінці, далі
1250
+ номери зі згортанням у «…». Нічого не завантажує — лише повідомляє, що обрали.
1251
+
1252
+ ```vue
1253
+ <SkyPagination
1254
+ :total="total"
1255
+ :page="page"
1256
+ :page-size="pageSize"
1257
+ :all-label="(n) => `Усі ${n}`"
1258
+ @update:page="page = $event; reload()"
1259
+ @update:page-size="pageSize = $event; page = 1; reload()"
1260
+ />
1261
+ ```
1262
+
1263
+ #### Props
1264
+
1265
+ | Prop | Тип | За замовчуванням | Опис |
1266
+ |------|-----|------------------|------|
1267
+ | `total` | `Number` | — | Скільки всього записів у вибірці, не на сторінці |
1268
+ | `page` | `Number` | — | Поточна сторінка, з одиниці |
1269
+ | `pageSize` | `Number` | — | Записів на сторінці |
1270
+ | `pageSizeOptions` | `Number[]` | `[5,10,25,50,100,200,500,750,1000]` | Варіанти селектора; лишаються менші за `total` |
1271
+ | `allLabel` | `(total) => String` | — | Підпис пункту «показати все»; без нього пункту немає |
1272
+ | `allLimit` | `Number` | `1000` | До якої кількості пропонувати «показати все» |
1273
+ | `siblings` | `Number` | `1` | Скільки сусідніх сторінок показувати обабіч поточної |
1274
+ | `disabled` | `Boolean` | `false` | Вимкнений стан |
1275
+
1276
+ Events: `update:page`, `update:pageSize`. CSS-змінні — `--sky-pagination-*`.
1277
+
1278
+ **Потрібен `total`.** Для курсорних джерел, де загальна кількість невідома, а вперед ведуть
1279
+ лише курсори, номери сторінок неможливі — там потрібна навігація «назад / далі».
1280
+
1281
+ ---
1282
+
1246
1283
  ## SkyFilterDropdown
1247
1284
 
1248
1285
  Оболонка фільтра: тригер-чіп + панель. Бере на себе тільки спільне — стан відкриття,
@@ -1434,6 +1471,7 @@ src/
1434
1471
  │ ├── SkyTable/ # готова віртуал-скрол таблиця (Header/Row/Footer/DynamicScroller/items/*)
1435
1472
  │ ├── SkyTileCard/
1436
1473
  │ ├── SkyFilterDropdown/ # оболонка фільтра (тригер + панель) + FilterSearch
1474
+ │ ├── SkyPagination/ # посторінкова навігація зі селектором кількості
1437
1475
  │ ├── functional-calendar/ # форк vue-functional-calendar, перенесений зі SkyMarket 1:1
1438
1476
  │ ├── SkyDateRangePicker/ # DatePickerRange зі SkyMarket, store/langs → props/локальний стан
1439
1477
  │ └── <Component>/
@@ -13,10 +13,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
13
13
  searchPlaceholder?: string;
14
14
  /** Сховати «Обрати все» — коли споживач не може прийняти більше одного значення. */
15
15
  selectAll?: boolean;
16
+ /** Сховати пошук — для коротких фіксованих списків він лише шумить. */
17
+ searchable?: boolean;
16
18
  disabled?: boolean;
17
19
  }>, {
18
20
  modelValue: () => never[];
19
21
  selectAll: boolean;
22
+ searchable: boolean;
20
23
  selectAllLabel: string;
21
24
  clearLabel: string;
22
25
  doneLabel: string;
@@ -34,10 +37,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
34
37
  searchPlaceholder?: string;
35
38
  /** Сховати «Обрати все» — коли споживач не може прийняти більше одного значення. */
36
39
  selectAll?: boolean;
40
+ /** Сховати пошук — для коротких фіксованих списків він лише шумить. */
41
+ searchable?: boolean;
37
42
  disabled?: boolean;
38
43
  }>, {
39
44
  modelValue: () => never[];
40
45
  selectAll: boolean;
46
+ searchable: boolean;
41
47
  selectAllLabel: string;
42
48
  clearLabel: string;
43
49
  doneLabel: string;
@@ -53,6 +59,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
53
59
  doneLabel: string;
54
60
  searchPlaceholder: string;
55
61
  selectAll: boolean;
62
+ searchable: boolean;
56
63
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
57
64
  export default _default;
58
65
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -49,9 +49,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
49
49
  modelValue: OptionValue | null;
50
50
  disabled: boolean;
51
51
  searchPlaceholder: string;
52
+ searchable: boolean;
52
53
  allLabel: string;
53
54
  emptyLabel: string;
54
- searchable: boolean;
55
55
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
56
56
  export default _default;
57
57
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -0,0 +1,77 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
2
+ /** Скільки всього записів у вибірці (не на сторінці). */
3
+ total: number;
4
+ /** Поточна сторінка, з одиниці. */
5
+ page: number;
6
+ pageSize: number;
7
+ /** Варіанти для селектора; лишаються тільки менші за `total`. */
8
+ pageSizeOptions?: number[];
9
+ /**
10
+ * Підпис пункту «показати все». Отримує кількість: `(n) => `Усі ${n}``.
11
+ * Порожній — пункту немає. З'являється, лише поки записів менше за `allLimit`.
12
+ */
13
+ allLabel?: (total: number) => string;
14
+ allLimit?: number;
15
+ /** Скільки сусідніх сторінок показувати обабіч поточної. */
16
+ siblings?: number;
17
+ disabled?: boolean;
18
+ }>, {
19
+ pageSizeOptions: () => number[];
20
+ allLabel: undefined;
21
+ allLimit: number;
22
+ siblings: number;
23
+ disabled: boolean;
24
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
25
+ "update:page": (args_0: number) => void;
26
+ "update:pageSize": (args_0: number) => void;
27
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
28
+ /** Скільки всього записів у вибірці (не на сторінці). */
29
+ total: number;
30
+ /** Поточна сторінка, з одиниці. */
31
+ page: number;
32
+ pageSize: number;
33
+ /** Варіанти для селектора; лишаються тільки менші за `total`. */
34
+ pageSizeOptions?: number[];
35
+ /**
36
+ * Підпис пункту «показати все». Отримує кількість: `(n) => `Усі ${n}``.
37
+ * Порожній — пункту немає. З'являється, лише поки записів менше за `allLimit`.
38
+ */
39
+ allLabel?: (total: number) => string;
40
+ allLimit?: number;
41
+ /** Скільки сусідніх сторінок показувати обабіч поточної. */
42
+ siblings?: number;
43
+ disabled?: boolean;
44
+ }>, {
45
+ pageSizeOptions: () => number[];
46
+ allLabel: undefined;
47
+ allLimit: number;
48
+ siblings: number;
49
+ disabled: boolean;
50
+ }>>> & Readonly<{
51
+ "onUpdate:page"?: ((args_0: number) => any) | undefined;
52
+ "onUpdate:pageSize"?: ((args_0: number) => any) | undefined;
53
+ }>, {
54
+ disabled: boolean;
55
+ allLabel: (total: number) => string;
56
+ pageSizeOptions: number[];
57
+ allLimit: number;
58
+ siblings: number;
59
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
60
+ export default _default;
61
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
62
+ type __VLS_TypePropsToRuntimeProps<T> = {
63
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
64
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
65
+ } : {
66
+ type: import('vue').PropType<T[K]>;
67
+ required: true;
68
+ };
69
+ };
70
+ type __VLS_WithDefaults<P, D> = {
71
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
72
+ default: D[K];
73
+ }> : P[K];
74
+ };
75
+ type __VLS_Prettify<T> = {
76
+ [K in keyof T]: T[K];
77
+ } & {};
@@ -0,0 +1 @@
1
+ export { default } from './SkyPagination.vue';
@@ -16,6 +16,7 @@ export { default as SkyDateRangePicker } from './SkyDateRangePicker';
16
16
  export { default as SkyFilterDropdown } from './SkyFilterDropdown';
17
17
  export { default as SkyInput } from './SkyInput';
18
18
  export { default as SkyLoader } from './SkyLoader';
19
+ export { default as SkyPagination } from './SkyPagination';
19
20
  export { default as SkySelect } from './SkySelect';
20
21
  export { default as SkySelectSearch } from './SkySelectSearch';
21
22
  export { default as SkySearchInput } from './SkySearchInput';