r3ui-lib 1.2.0 → 1.2.2
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 +68 -25
- package/dist/r3ui-lib.css +6 -2
- package/dist/{ui-library.es.js → r3ui-lib.es.js} +10835 -8420
- package/dist/r3ui-lib.umd.js +54 -0
- package/dist/types/components/DefaultButton.vue.d.ts +2 -2
- package/dist/types/components/DefaultButton.vue.d.ts.map +1 -1
- package/dist/types/components/Divider.vue.d.ts +2 -2
- package/dist/types/components/cards/CardInfo.vue.d.ts +2 -2
- package/dist/types/components/cards/CardInfo.vue.d.ts.map +1 -1
- package/dist/types/components/form/CustomInput.vue.d.ts +14 -6
- package/dist/types/components/form/CustomInput.vue.d.ts.map +1 -1
- package/dist/types/components/forms/AddressForm.stories.d.ts +3 -0
- package/dist/types/components/forms/AddressForm.stories.d.ts.map +1 -1
- package/dist/types/components/forms/AddressForm.vue.d.ts +2 -2
- package/dist/types/components/forms/AddressForm.vue.d.ts.map +1 -1
- package/dist/types/components/forms/Flatpickr.vue.d.ts +3 -1
- package/dist/types/components/forms/Flatpickr.vue.d.ts.map +1 -1
- package/dist/types/components/layout/Breadcrumbs.vue.d.ts.map +1 -1
- package/dist/types/components/layout/Header.vue.d.ts +13 -1
- package/dist/types/components/layout/Header.vue.d.ts.map +1 -1
- package/dist/types/components/layout/MainComponent.vue.d.ts.map +1 -1
- package/dist/types/components/logo/Logo.stories.d.ts +12 -0
- package/dist/types/components/logo/Logo.stories.d.ts.map +1 -0
- package/dist/types/components/logo/Logo.vue.d.ts +28 -0
- package/dist/types/components/logo/Logo.vue.d.ts.map +1 -0
- package/dist/types/components/modals/ConfirmationModal.vue.d.ts +2 -2
- package/dist/types/components/modals/ConfirmationModal.vue.d.ts.map +1 -1
- package/dist/types/components/modals/DefaultModal.vue.d.ts +15 -4
- package/dist/types/components/modals/DefaultModal.vue.d.ts.map +1 -1
- package/dist/types/components/modals/EditTableColumnsModalComponent.vue.d.ts.map +1 -1
- package/dist/types/components/modals/TableFilterModalComponent.vue.d.ts.map +1 -1
- package/dist/types/components/notifications/ErrorMessageComponent.vue.d.ts +1 -1
- package/dist/types/components/notifications/ErrorMessageComponent.vue.d.ts.map +1 -1
- package/dist/types/components/tables/EditTableColumns.vue.d.ts +4 -4
- package/dist/types/components/tables/EditTableColumns.vue.d.ts.map +1 -1
- package/dist/types/components/tables/Table.vue.d.ts +22 -2
- package/dist/types/components/tables/Table.vue.d.ts.map +1 -1
- package/dist/types/components/tables/TableColumnsButton.vue.d.ts +30 -0
- package/dist/types/components/tables/TableColumnsButton.vue.d.ts.map +1 -0
- package/dist/types/components/tables/TableColumnsModal.vue.d.ts +30 -0
- package/dist/types/components/tables/TableColumnsModal.vue.d.ts.map +1 -0
- package/dist/types/components/tables/TableCount.vue.d.ts.map +1 -1
- package/dist/types/composables/main/useBreadcrumbs.d.ts +34 -0
- package/dist/types/composables/main/useBreadcrumbs.d.ts.map +1 -0
- package/dist/types/composables/table/useTableColumns.d.ts +42 -0
- package/dist/types/composables/table/useTableColumns.d.ts.map +1 -0
- package/dist/types/composables/table/useTableColumnsEnhanced.d.ts +81 -0
- package/dist/types/composables/table/useTableColumnsEnhanced.d.ts.map +1 -0
- package/dist/types/composables/table/useTableColumnsIntegration.d.ts +111 -0
- package/dist/types/composables/table/useTableColumnsIntegration.d.ts.map +1 -0
- package/dist/types/composables/table/useTableDefault.d.ts +4 -2
- package/dist/types/composables/table/useTableDefault.d.ts.map +1 -1
- package/dist/types/main.d.ts +20 -3
- package/dist/types/main.d.ts.map +1 -1
- package/dist/types/types/table.d.ts +33 -0
- package/dist/types/types/table.d.ts.map +1 -0
- package/dist/types/utils/table-columns-utils.d.ts +163 -0
- package/dist/types/utils/table-columns-utils.d.ts.map +1 -0
- package/dist/types/utils/tableLocalizations.d.ts +24 -1
- package/dist/types/utils/tableLocalizations.d.ts.map +1 -1
- package/package.json +8 -6
- package/dist/ui-library.umd.js +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBreadcrumbs.d.ts","sourceRoot":"","sources":["../../../../src/composables/main/useBreadcrumbs.ts"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAE7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAEpC,eAAe,CAAC,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,qBAA0B;iBAY5C,MAAM;;;;;;;cA7BpB,MAAM;cACN,MAAM;;cADN,MAAM;cACN,MAAM;;;;0BAmFiB,cAAc;CAmB5C,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { TableColumn, TableOptions } from '../../types/table';
|
|
3
|
+
/**
|
|
4
|
+
* Composable для управления видимостью колонок таблицы
|
|
5
|
+
*
|
|
6
|
+
* @param initialColumns - Начальные колонки таблицы
|
|
7
|
+
* @param tableOptions - Опции таблицы для прямого обновления (опционально)
|
|
8
|
+
* @returns Объект с состоянием и методами для управления колонками
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const { tableColumns, handleColumnVisibilityChange, handleColumnsSelectAll } = useTableColumns(columns, tableOptions)
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function useTableColumns(initialColumns: TableColumn[], tableOptions?: Ref<TableOptions>): {
|
|
16
|
+
columnsModalVisibility: Ref<boolean, boolean>;
|
|
17
|
+
tableColumns: Ref<{
|
|
18
|
+
[x: string]: any;
|
|
19
|
+
field: string;
|
|
20
|
+
title: string;
|
|
21
|
+
visible: boolean;
|
|
22
|
+
}[], TableColumn[] | {
|
|
23
|
+
[x: string]: any;
|
|
24
|
+
field: string;
|
|
25
|
+
title: string;
|
|
26
|
+
visible: boolean;
|
|
27
|
+
}[]>;
|
|
28
|
+
visibleColumns: import("vue").ComputedRef<{
|
|
29
|
+
[x: string]: any;
|
|
30
|
+
field: string;
|
|
31
|
+
title: string;
|
|
32
|
+
visible: boolean;
|
|
33
|
+
}[]>;
|
|
34
|
+
handleColumnsModalVisibility: (value: boolean) => void;
|
|
35
|
+
handleColumnVisibilityChange: (event: Event, field: string) => void;
|
|
36
|
+
handleColumnsApply: (columns?: TableColumn[]) => void;
|
|
37
|
+
handleColumnsSelectAll: () => void;
|
|
38
|
+
handleColumnsUnselectAll: () => void;
|
|
39
|
+
updateColumns: (newColumns: TableColumn[]) => void;
|
|
40
|
+
resetColumns: () => void;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useTableColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumns.d.ts","sourceRoot":"","sources":["../../../../src/composables/table/useTableColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;0CAU9C,OAAO;0CAIP,KAAK,SAAS,MAAM;mCAY3B,WAAW,EAAE;;;gCA4DhB,WAAW,EAAE;;EAkCnD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { TableColumn, TableOptions } from '../../types/table';
|
|
3
|
+
interface UseTableColumnsEnhancedOptions {
|
|
4
|
+
/** Начальные колонки таблицы */
|
|
5
|
+
initialColumns: TableColumn[];
|
|
6
|
+
/** Ключ для сохранения в localStorage */
|
|
7
|
+
localStorageKey?: string;
|
|
8
|
+
/** Опции таблицы для прямого обновления */
|
|
9
|
+
tableOptions?: Ref<TableOptions>;
|
|
10
|
+
/** Автоматически сохранять изменения в localStorage */
|
|
11
|
+
autoSave?: boolean;
|
|
12
|
+
/** Колбэк при изменении колонок */
|
|
13
|
+
onColumnsChange?: (columns: TableColumn[]) => void;
|
|
14
|
+
/** Колбэк при применении изменений */
|
|
15
|
+
onApply?: (columns: TableColumn[]) => void;
|
|
16
|
+
/** Валидировать колонки при изменении */
|
|
17
|
+
validateOnChange?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Расширенный composable для управления видимостью колонок таблицы
|
|
21
|
+
*
|
|
22
|
+
* @param options - опции конфигурации
|
|
23
|
+
* @returns объект с состоянием и методами для управления колонками
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const {
|
|
28
|
+
* tableColumns,
|
|
29
|
+
* visibleColumns,
|
|
30
|
+
* handleColumnVisibilityChange,
|
|
31
|
+
* handleColumnsApply,
|
|
32
|
+
* resetToDefault,
|
|
33
|
+
* hideAll,
|
|
34
|
+
* showAll
|
|
35
|
+
* } = useTableColumnsEnhanced({
|
|
36
|
+
* initialColumns: columns,
|
|
37
|
+
* localStorageKey: 'my-table-columns',
|
|
38
|
+
* autoSave: true,
|
|
39
|
+
* onColumnsChange: (cols) => console.log('Columns changed:', cols)
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function useTableColumnsEnhanced(options: UseTableColumnsEnhancedOptions): {
|
|
44
|
+
columnsModalVisibility: Ref<boolean, boolean>;
|
|
45
|
+
tableColumns: Ref<{
|
|
46
|
+
[x: string]: any;
|
|
47
|
+
field: string;
|
|
48
|
+
title: string;
|
|
49
|
+
visible: boolean;
|
|
50
|
+
}[], TableColumn[] | {
|
|
51
|
+
[x: string]: any;
|
|
52
|
+
field: string;
|
|
53
|
+
title: string;
|
|
54
|
+
visible: boolean;
|
|
55
|
+
}[]>;
|
|
56
|
+
visibleColumns: import("vue").ComputedRef<TableColumn[]>;
|
|
57
|
+
hasHidden: import("vue").ComputedRef<boolean>;
|
|
58
|
+
columnsCount: import("vue").ComputedRef<number>;
|
|
59
|
+
visibleCount: import("vue").ComputedRef<number>;
|
|
60
|
+
isInitialized: Ref<boolean, boolean>;
|
|
61
|
+
handleColumnsModalVisibility: (value: boolean) => void;
|
|
62
|
+
handleColumnVisibilityChange: (event: Event, field: string) => void;
|
|
63
|
+
handleColumnsApply: (columns?: TableColumn[]) => void;
|
|
64
|
+
handleColumnsSelectAll: () => void;
|
|
65
|
+
handleColumnsUnselectAll: () => void;
|
|
66
|
+
updateColumns: (newColumns: TableColumn[]) => void;
|
|
67
|
+
toggleColumn: (field: string) => void;
|
|
68
|
+
showColumn: (field: string) => void;
|
|
69
|
+
hideColumn: (field: string) => void;
|
|
70
|
+
resetToDefault: () => void;
|
|
71
|
+
showAll: () => void;
|
|
72
|
+
hideAll: () => void;
|
|
73
|
+
getColumn: (field: string) => TableColumn | undefined;
|
|
74
|
+
isColumnVisible: (field: string) => boolean;
|
|
75
|
+
saveToLocalStorage: (columns: TableColumn[]) => void;
|
|
76
|
+
loadFromLocalStorage: () => TableColumn[] | null;
|
|
77
|
+
clearLocalStorage: () => void;
|
|
78
|
+
syncWithTableOptions: () => void;
|
|
79
|
+
};
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=useTableColumnsEnhanced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumnsEnhanced.d.ts","sourceRoot":"","sources":["../../../../src/composables/table/useTableColumnsEnhanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAalE,UAAU,8BAA8B;IACpC,gCAAgC;IAChC,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;IAChC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mCAAmC;IACnC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;0CAmG9B,OAAO;0CANP,KAAK,SAAS,MAAM;mCAU3B,WAAW,EAAE;;;gCArBhB,WAAW,EAAE;0BAuCnB,MAAM;wBAKR,MAAM;wBAKN,MAAM;;;;uBAoBP,MAAM;6BAIA,MAAM;kCAhHD,WAAW,EAAE;gCAWjB,WAAW,EAAE,GAAG,IAAI;;;EAwKxD"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { TableColumn, TableOptions } from '../../types/table';
|
|
3
|
+
interface UseTableColumnsIntegrationOptions {
|
|
4
|
+
/** Ключ для сохранения в localStorage */
|
|
5
|
+
localStorageKey: string;
|
|
6
|
+
/** Функция получения колонок */
|
|
7
|
+
getColumns: () => TableColumn[];
|
|
8
|
+
/** Опции таблицы */
|
|
9
|
+
tableOptions: Ref<TableOptions>;
|
|
10
|
+
/** Экземпляр useTableDefault */
|
|
11
|
+
tableDefault?: any;
|
|
12
|
+
/** Колбэк при изменении колонок */
|
|
13
|
+
onColumnsChange?: (columns: TableColumn[]) => void;
|
|
14
|
+
/** Колбэк при применении изменений */
|
|
15
|
+
onApply?: (columns: TableColumn[]) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Composable для интеграции управления колонками с useTableDefault
|
|
19
|
+
*
|
|
20
|
+
* @param options - опции конфигурации
|
|
21
|
+
* @returns объект с состоянием и методами для управления колонками
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const {
|
|
26
|
+
* tableColumns,
|
|
27
|
+
* handleColumnsChanged,
|
|
28
|
+
* handleColumnsApply,
|
|
29
|
+
* syncWithTable
|
|
30
|
+
* } = useTableColumnsIntegration({
|
|
31
|
+
* localStorageKey: 'users-table-columns',
|
|
32
|
+
* getColumns: () => getColumns(),
|
|
33
|
+
* tableOptions,
|
|
34
|
+
* tableDefault
|
|
35
|
+
* })
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function useTableColumnsIntegration(options: UseTableColumnsIntegrationOptions): {
|
|
39
|
+
handleColumnsChanged: (columns: TableColumn[]) => void;
|
|
40
|
+
handleColumnsApply: () => void;
|
|
41
|
+
syncWithTableOptions: () => void;
|
|
42
|
+
syncWithTable: () => void;
|
|
43
|
+
setupTableDefaultIntegration: () => void;
|
|
44
|
+
columnsModalVisibility: Ref<boolean, boolean>;
|
|
45
|
+
tableColumns: Ref<{
|
|
46
|
+
[x: string]: any;
|
|
47
|
+
field: string;
|
|
48
|
+
title: string;
|
|
49
|
+
visible: boolean;
|
|
50
|
+
}[], TableColumn[] | {
|
|
51
|
+
[x: string]: any;
|
|
52
|
+
field: string;
|
|
53
|
+
title: string;
|
|
54
|
+
visible: boolean;
|
|
55
|
+
}[]>;
|
|
56
|
+
visibleColumns: import("vue").ComputedRef<TableColumn[]>;
|
|
57
|
+
hasHidden: import("vue").ComputedRef<boolean>;
|
|
58
|
+
columnsCount: import("vue").ComputedRef<number>;
|
|
59
|
+
visibleCount: import("vue").ComputedRef<number>;
|
|
60
|
+
isInitialized: Ref<boolean, boolean>;
|
|
61
|
+
handleColumnsModalVisibility: (value: boolean) => void;
|
|
62
|
+
handleColumnVisibilityChange: (event: Event, field: string) => void;
|
|
63
|
+
handleColumnsSelectAll: () => void;
|
|
64
|
+
handleColumnsUnselectAll: () => void;
|
|
65
|
+
updateColumns: (newColumns: TableColumn[]) => void;
|
|
66
|
+
toggleColumn: (field: string) => void;
|
|
67
|
+
showColumn: (field: string) => void;
|
|
68
|
+
hideColumn: (field: string) => void;
|
|
69
|
+
resetToDefault: () => void;
|
|
70
|
+
showAll: () => void;
|
|
71
|
+
hideAll: () => void;
|
|
72
|
+
getColumn: (field: string) => TableColumn | undefined;
|
|
73
|
+
isColumnVisible: (field: string) => boolean;
|
|
74
|
+
saveToLocalStorage: (columns: TableColumn[]) => void;
|
|
75
|
+
loadFromLocalStorage: () => TableColumn[] | null;
|
|
76
|
+
clearLocalStorage: () => void;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Создает готовые обработчики для использования в компонентах
|
|
80
|
+
*
|
|
81
|
+
* @param options - опции для создания обработчиков
|
|
82
|
+
* @returns объект с готовыми обработчиками
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const handlers = createColumnHandlers({
|
|
87
|
+
* tableColumns,
|
|
88
|
+
* tableOptions,
|
|
89
|
+
* tableDefault,
|
|
90
|
+
* onApply: () => console.log('Applied!')
|
|
91
|
+
* })
|
|
92
|
+
*
|
|
93
|
+
* // В шаблоне
|
|
94
|
+
* <TableColumnsButton
|
|
95
|
+
* :columns="tableColumns"
|
|
96
|
+
* @columns-changed="handlers.handleColumnsChanged"
|
|
97
|
+
* @apply="handlers.handleColumnsApply"
|
|
98
|
+
* />
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export declare function createColumnHandlers(options: {
|
|
102
|
+
tableColumns: Ref<TableColumn[]>;
|
|
103
|
+
tableOptions: Ref<TableOptions>;
|
|
104
|
+
tableDefault?: any;
|
|
105
|
+
onApply?: () => void;
|
|
106
|
+
}): {
|
|
107
|
+
handleColumnsChanged: (columns: TableColumn[]) => void;
|
|
108
|
+
handleColumnsApply: () => void;
|
|
109
|
+
};
|
|
110
|
+
export {};
|
|
111
|
+
//# sourceMappingURL=useTableColumnsIntegration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumnsIntegration.d.ts","sourceRoot":"","sources":["../../../../src/composables/table/useTableColumnsIntegration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGlE,UAAU,iCAAiC;IACvC,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAA;IACvB,gCAAgC;IAChC,UAAU,EAAE,MAAM,WAAW,EAAE,CAAA;IAC/B,oBAAoB;IACpB,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;IAC/B,gCAAgC;IAChC,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,mCAAmC;IACnC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iCAAiC;oCAkC1C,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4EvD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC1C,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;IAChC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;oCAG0C,WAAW,EAAE;;EA+BvD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface TableDefaultOptions {
|
|
2
2
|
localStorageKey?: string | null;
|
|
3
3
|
getAjaxUrl: () => string;
|
|
4
|
-
getAjaxResponse: () => Promise<any>;
|
|
4
|
+
getAjaxResponse: () => Promise<(url: string, params: any, response: any) => any>;
|
|
5
5
|
getColumns: (options?: {
|
|
6
6
|
selectedQuickFilter?: any;
|
|
7
7
|
}) => any[];
|
|
@@ -18,7 +18,7 @@ declare const useTableDefault: ({ localStorageKey, getAjaxUrl, getAjaxResponse,
|
|
|
18
18
|
fetchData: () => Promise<void>;
|
|
19
19
|
onHideColumn: (columns: any[]) => false | undefined;
|
|
20
20
|
getFilterData: () => Record<string, any>;
|
|
21
|
-
applyFilters: () => Promise<void>;
|
|
21
|
+
applyFilters: (tableInstance?: any) => Promise<void>;
|
|
22
22
|
reRenderTable: () => void;
|
|
23
23
|
resetFilters: () => Promise<void>;
|
|
24
24
|
onTableRowMoved: (columns: any[]) => false | undefined;
|
|
@@ -37,6 +37,8 @@ declare const useTableDefault: ({ localStorageKey, getAjaxUrl, getAjaxResponse,
|
|
|
37
37
|
editTableColumnsModalVisibility: import("vue").Ref<boolean, boolean>;
|
|
38
38
|
tableFilters: import("vue").Ref<Record<string, any>, Record<string, any>>;
|
|
39
39
|
tableOptions: any;
|
|
40
|
+
handleColumnsChanged: (columns: any[]) => void;
|
|
41
|
+
handleColumnsApply: () => void;
|
|
40
42
|
};
|
|
41
43
|
export default useTableDefault;
|
|
42
44
|
//# sourceMappingURL=useTableDefault.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableDefault.d.ts","sourceRoot":"","sources":["../../../../src/composables/table/useTableDefault.ts"],"names":[],"mappings":"AAIA,UAAU,mBAAmB;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,MAAM,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useTableDefault.d.ts","sourceRoot":"","sources":["../../../../src/composables/table/useTableDefault.ts"],"names":[],"mappings":"AAIA,UAAU,mBAAmB;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,MAAM,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;IAChF,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,EAAE,CAAA;IAC9D,YAAY,EAAE,GAAG,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1C,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/C,mBAAmB,CAAC,EAAE,GAAG,CAAA;CAC5B;AAED,QAAA,MAAM,eAAe,GAAI,sIAatB,mBAAmB;;;;uCA4M8B,KAAK,QAAQ,MAAM;;4BAzDpC,GAAG,EAAE;;mCAvDQ,GAAG;;;+BA1Eb,GAAG,EAAE;4BAkER,GAAG,EAAE;;;;;;;;kCAzDC,MAAM,OAAO,GAAG;;;;;;;oCAmNd,GAAG,EAAE;;CAiE/C,CAAA;AAED,eAAe,eAAe,CAAA"}
|
package/dist/types/main.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import "./styles/global.scss";
|
|
1
|
+
import "~/styles/main.scss";
|
|
3
2
|
import DefaultButton from "~/components/DefaultButton.vue";
|
|
4
3
|
import AddButton from "~/components/buttons/AddButton.vue";
|
|
5
4
|
import CollapseButton from "~/components/buttons/CollapseButton.vue";
|
|
@@ -26,8 +25,15 @@ import TableFilterModalComponent from "~/components/modals/TableFilterModalCompo
|
|
|
26
25
|
import EditTableColumnsModalComponent from "~/components/modals/EditTableColumnsModalComponent.vue";
|
|
27
26
|
import PageTitle from "~/components/layout/PageTitle.vue";
|
|
28
27
|
import Card from "~/components/layout/Card.vue";
|
|
28
|
+
import Footer from "~/components/layout/Footer.vue";
|
|
29
|
+
import Header from "~/components/layout/Header.vue";
|
|
30
|
+
import MainComponent from "~/components/layout/MainComponent.vue";
|
|
31
|
+
import Breadcrumbs from "~/components/layout/Breadcrumbs.vue";
|
|
29
32
|
import CardInfo from "~/components/cards/CardInfo.vue";
|
|
30
33
|
import PageCard from "~/components/cards/PageCard.vue";
|
|
34
|
+
import Sidebar from "~/components/sidebar/Sidebar.vue";
|
|
35
|
+
import SidebarLink from "~/components/sidebar/SidebarLink.vue";
|
|
36
|
+
import CollapsedSidebarLink from "~/components/sidebar/CollapsedSidebarLink.vue";
|
|
31
37
|
import Toast from "~/components/notifications/Toast.vue";
|
|
32
38
|
import ErrorMessageComponent from "~/components/notifications/ErrorMessageComponent.vue";
|
|
33
39
|
import DefaultAccordion from "~/components/accordions/DefaultAccordion.vue";
|
|
@@ -38,16 +44,27 @@ import ColumnSubFilter from "~/components/tables/ColumnSubFilter.vue";
|
|
|
38
44
|
import TableAppliedFiltersStorage from "~/components/tables/TableAppliedFiltersStorage.vue";
|
|
39
45
|
import TableQuickFilterComponent from "~/components/tables/TableQuickFilterComponent.vue";
|
|
40
46
|
import EditTableColumns from "~/components/tables/EditTableColumns.vue";
|
|
47
|
+
import TableColumnsButton from "~/components/tables/TableColumnsButton.vue";
|
|
48
|
+
import TableColumnsModal from "~/components/tables/TableColumnsModal.vue";
|
|
41
49
|
import ToggleAllTableRowButtons from "~/components/tables/ToggleAllTableRowButtons.vue";
|
|
50
|
+
import SubFilterToggleBtn from "~/components/tables/SubFilterToggleBtn.vue";
|
|
42
51
|
import MultipleQuickFilterComponent from "~/components/filters/MultipleQuickFilterComponent.vue";
|
|
43
52
|
import Spinner from "~/components/Spinner.vue";
|
|
44
53
|
import Icon from "~/components/Icon.vue";
|
|
45
54
|
import Divider from "~/components/Divider.vue";
|
|
55
|
+
import Slider from "~/components/Slider.vue";
|
|
46
56
|
import DefaultDropDown from "~/components/dropdowns/DefaultDropDown.vue";
|
|
47
57
|
import QuestionIcon from "~/components/icons/QuestionIcon.vue";
|
|
48
58
|
import FilterValuesPanel from "~/components/utilities/FilterValuesPanel.vue";
|
|
59
|
+
import Logo from "~/components/logo/Logo.vue";
|
|
49
60
|
import useTableDefault from "~/composables/table/useTableDefault";
|
|
50
61
|
import useTableStorage from "~/composables/table/useTableStorage";
|
|
62
|
+
import { useTableColumns } from "~/composables/table/useTableColumns";
|
|
63
|
+
import { useTableColumnsEnhanced } from "~/composables/table/useTableColumnsEnhanced";
|
|
64
|
+
import { useTableColumnsIntegration, createColumnHandlers } from "~/composables/table/useTableColumnsIntegration";
|
|
65
|
+
import { useBreadcrumbs } from "~/composables/main/useBreadcrumbs";
|
|
51
66
|
import * as helpers from "~/utils/helpers";
|
|
52
|
-
|
|
67
|
+
import * as tableColumnsUtils from "~/utils/table-columns-utils";
|
|
68
|
+
export type { TableColumn, TableOptions } from "~/types/table";
|
|
69
|
+
export { DefaultButton, AddButton, CollapseButton, ExportButton, PrintButton, ClearFormButton, ToggleButtons, ExportComponent, CustomInput, FormError, PasswordInput, Checkbox, VSelect, BooleanCheckbox, MultiCheckbox, MultiInput, Flatpickr, HeaderSearchForm, AddressForm, AgeFromAgeTo, DefaultModal, ConfirmationModal, TableFilterModalComponent, EditTableColumnsModalComponent, PageTitle, Card, Footer, Header, MainComponent, Breadcrumbs, CardInfo, PageCard, Sidebar, SidebarLink, CollapsedSidebarLink, Toast, ErrorMessageComponent, DefaultAccordion, KindCheckboxesAccordion, Table, TableCount, ColumnSubFilter, TableAppliedFiltersStorage, TableQuickFilterComponent, EditTableColumns, TableColumnsButton, TableColumnsModal, ToggleAllTableRowButtons, SubFilterToggleBtn, MultipleQuickFilterComponent, Spinner, Icon, Divider, Slider, DefaultDropDown, QuestionIcon, FilterValuesPanel, Logo, useTableDefault, useTableStorage, useTableColumns, useTableColumnsEnhanced, useTableColumnsIntegration, createColumnHandlers, useBreadcrumbs, helpers, tableColumnsUtils, };
|
|
53
70
|
//# sourceMappingURL=main.d.ts.map
|
package/dist/types/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Интерфейс для колонки таблицы
|
|
4
|
+
*/
|
|
5
|
+
export interface TableColumn {
|
|
6
|
+
/** Уникальный идентификатор поля */
|
|
7
|
+
field: string;
|
|
8
|
+
/** Заголовок колонки */
|
|
9
|
+
title: string;
|
|
10
|
+
/** Видимость колонки */
|
|
11
|
+
visible: boolean;
|
|
12
|
+
/** Дополнительные свойства колонки */
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Интерфейс для опций таблицы
|
|
17
|
+
*/
|
|
18
|
+
export interface TableOptions {
|
|
19
|
+
/** Конфигурация колонок */
|
|
20
|
+
columns?: TableColumn[];
|
|
21
|
+
/** Дополнительные опции таблицы */
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Параметры для useTableColumns
|
|
26
|
+
*/
|
|
27
|
+
export interface UseTableColumnsOptions {
|
|
28
|
+
/** Начальные колонки */
|
|
29
|
+
initialColumns: TableColumn[];
|
|
30
|
+
/** Опции таблицы для прямого обновления */
|
|
31
|
+
tableOptions?: Ref<TableOptions>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/types/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,sCAAsC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;IACvB,mCAAmC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,wBAAwB;IACxB,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACnC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import type { TableColumn } from '../types/table';
|
|
2
|
+
/**
|
|
3
|
+
* Подготавливает колонки для сохранения в localStorage
|
|
4
|
+
* Удаляет width и minWidth у скрытых колонок
|
|
5
|
+
*
|
|
6
|
+
* @param columns - массив колонок для подготовки
|
|
7
|
+
* @returns подготовленные колонки для сохранения
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const columns = [
|
|
12
|
+
* { field: 'id', title: 'ID', visible: true, width: 100 },
|
|
13
|
+
* { field: 'name', title: 'Name', visible: false, width: 200 }
|
|
14
|
+
* ]
|
|
15
|
+
* const prepared = prepareColumnsToSave(columns)
|
|
16
|
+
* // Результат: [{ field: 'id', title: 'ID', visible: true, width: 100 }, { field: 'name', title: 'Name', visible: false }]
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function prepareColumnsToSave(columns: TableColumn[]): TableColumn[];
|
|
20
|
+
/**
|
|
21
|
+
* Возвращает только видимые колонки
|
|
22
|
+
*
|
|
23
|
+
* @param columns - массив колонок
|
|
24
|
+
* @returns только видимые колонки
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const columns = [
|
|
29
|
+
* { field: 'id', title: 'ID', visible: true },
|
|
30
|
+
* { field: 'name', title: 'Name', visible: false },
|
|
31
|
+
* { field: 'email', title: 'Email', visible: true }
|
|
32
|
+
* ]
|
|
33
|
+
* const visible = getVisibleColumns(columns)
|
|
34
|
+
* // Результат: [{ field: 'id', title: 'ID', visible: true }, { field: 'email', title: 'Email', visible: true }]
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function getVisibleColumns(columns: TableColumn[]): TableColumn[];
|
|
38
|
+
/**
|
|
39
|
+
* Переключает видимость колонки по полю
|
|
40
|
+
*
|
|
41
|
+
* @param columns - массив колонок
|
|
42
|
+
* @param field - поле колонки для переключения
|
|
43
|
+
* @returns новый массив колонок с измененной видимостью
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const columns = [
|
|
48
|
+
* { field: 'id', title: 'ID', visible: true },
|
|
49
|
+
* { field: 'name', title: 'Name', visible: false }
|
|
50
|
+
* ]
|
|
51
|
+
* const toggled = toggleColumnVisibility(columns, 'name')
|
|
52
|
+
* // Результат: [{ field: 'id', title: 'ID', visible: true }, { field: 'name', title: 'Name', visible: true }]
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function toggleColumnVisibility(columns: TableColumn[], field: string): TableColumn[];
|
|
56
|
+
/**
|
|
57
|
+
* Сбрасывает все колонки к исходному состоянию (все видимые)
|
|
58
|
+
*
|
|
59
|
+
* @param columns - массив колонок
|
|
60
|
+
* @returns новый массив колонок с видимостью true
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const columns = [
|
|
65
|
+
* { field: 'id', title: 'ID', visible: false },
|
|
66
|
+
* { field: 'name', title: 'Name', visible: false }
|
|
67
|
+
* ]
|
|
68
|
+
* const reset = resetColumnsToDefault(columns)
|
|
69
|
+
* // Результат: [{ field: 'id', title: 'ID', visible: true }, { field: 'name', title: 'Name', visible: true }]
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function resetColumnsToDefault(columns: TableColumn[]): TableColumn[];
|
|
73
|
+
/**
|
|
74
|
+
* Скрывает все колонки с заголовками
|
|
75
|
+
*
|
|
76
|
+
* @param columns - массив колонок
|
|
77
|
+
* @returns новый массив колонок с видимостью false для колонок с title
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const columns = [
|
|
82
|
+
* { field: 'id', title: 'ID', visible: true },
|
|
83
|
+
* { field: 'name', title: 'Name', visible: true }
|
|
84
|
+
* ]
|
|
85
|
+
* const hidden = hideAllColumns(columns)
|
|
86
|
+
* // Результат: [{ field: 'id', title: 'ID', visible: false }, { field: 'name', title: 'Name', visible: false }]
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function hideAllColumns(columns: TableColumn[]): TableColumn[];
|
|
90
|
+
/**
|
|
91
|
+
* Валидирует структуру колонок
|
|
92
|
+
*
|
|
93
|
+
* @param columns - массив колонок для валидации
|
|
94
|
+
* @returns true если структура корректна, false если есть ошибки
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* const validColumns = [
|
|
99
|
+
* { field: 'id', title: 'ID', visible: true }
|
|
100
|
+
* ]
|
|
101
|
+
* const isValid = validateColumns(validColumns) // true
|
|
102
|
+
*
|
|
103
|
+
* const invalidColumns = [
|
|
104
|
+
* { field: '', title: 'ID', visible: true } // пустое поле
|
|
105
|
+
* ]
|
|
106
|
+
* const isInvalid = validateColumns(invalidColumns) // false
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function validateColumns(columns: TableColumn[]): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Проверяет, есть ли скрытые колонки
|
|
112
|
+
*
|
|
113
|
+
* @param columns - массив колонок
|
|
114
|
+
* @returns true если есть скрытые колонки с заголовками
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const columns = [
|
|
119
|
+
* { field: 'id', title: 'ID', visible: true },
|
|
120
|
+
* { field: 'name', title: 'Name', visible: false }
|
|
121
|
+
* ]
|
|
122
|
+
* const hasHidden = hasHiddenColumns(columns) // true
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export declare function hasHiddenColumns(columns: TableColumn[]): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Получает колонку по полю
|
|
128
|
+
*
|
|
129
|
+
* @param columns - массив колонок
|
|
130
|
+
* @param field - поле для поиска
|
|
131
|
+
* @returns найденная колонка или undefined
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const columns = [
|
|
136
|
+
* { field: 'id', title: 'ID', visible: true },
|
|
137
|
+
* { field: 'name', title: 'Name', visible: false }
|
|
138
|
+
* ]
|
|
139
|
+
* const column = getColumnByField(columns, 'name')
|
|
140
|
+
* // Результат: { field: 'name', title: 'Name', visible: false }
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export declare function getColumnByField(columns: TableColumn[], field: string): TableColumn | undefined;
|
|
144
|
+
/**
|
|
145
|
+
* Обновляет колонку по полю
|
|
146
|
+
*
|
|
147
|
+
* @param columns - массив колонок
|
|
148
|
+
* @param field - поле колонки для обновления
|
|
149
|
+
* @param updates - обновления для колонки
|
|
150
|
+
* @returns новый массив колонок с обновленной колонкой
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const columns = [
|
|
155
|
+
* { field: 'id', title: 'ID', visible: true },
|
|
156
|
+
* { field: 'name', title: 'Name', visible: false }
|
|
157
|
+
* ]
|
|
158
|
+
* const updated = updateColumn(columns, 'name', { visible: true, width: 200 })
|
|
159
|
+
* // Результат: [{ field: 'id', title: 'ID', visible: true }, { field: 'name', title: 'Name', visible: true, width: 200 }]
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export declare function updateColumn(columns: TableColumn[], field: string, updates: Partial<TableColumn>): TableColumn[];
|
|
163
|
+
//# sourceMappingURL=table-columns-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-columns-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/table-columns-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAS1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAEvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAM3F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAK3E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAKpE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAmB/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE/F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,EAAE,CAMhH"}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
export declare const getTableLocalizations: () => {
|
|
2
|
-
en: {
|
|
2
|
+
"en-en": {
|
|
3
|
+
pagination: {
|
|
4
|
+
first: string;
|
|
5
|
+
first_title: string;
|
|
6
|
+
last: string;
|
|
7
|
+
last_title: string;
|
|
8
|
+
prev: string;
|
|
9
|
+
prev_title: string;
|
|
10
|
+
next: string;
|
|
11
|
+
next_title: string;
|
|
12
|
+
all: string;
|
|
13
|
+
counter: {
|
|
14
|
+
showing: string;
|
|
15
|
+
of: string;
|
|
16
|
+
rows: string;
|
|
17
|
+
pages: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
data: {
|
|
21
|
+
loading: string;
|
|
22
|
+
error: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
"ru-ru": {
|
|
3
26
|
pagination: {
|
|
4
27
|
first: string;
|
|
5
28
|
first_title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableLocalizations.d.ts","sourceRoot":"","sources":["../../../src/utils/tableLocalizations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"tableLocalizations.d.ts","sourceRoot":"","sources":["../../../src/utils/tableLocalizations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "r3ui-lib",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.2",
|
|
5
5
|
"description": "Modern Vue 3 UI component library with TypeScript support",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"vue",
|
|
@@ -23,16 +23,17 @@
|
|
|
23
23
|
},
|
|
24
24
|
"homepage": "https://github.com/REGAGRO-LTD-CY/r3lib#readme",
|
|
25
25
|
"type": "module",
|
|
26
|
-
"main": "./dist/
|
|
27
|
-
"module": "./dist/
|
|
26
|
+
"main": "./dist/r3ui-lib.umd.js",
|
|
27
|
+
"module": "./dist/r3ui-lib.es.js",
|
|
28
28
|
"types": "./dist/types/main.d.ts",
|
|
29
29
|
"exports": {
|
|
30
30
|
".": {
|
|
31
31
|
"types": "./dist/types/main.d.ts",
|
|
32
|
-
"import": "./dist/
|
|
33
|
-
"require": "./dist/
|
|
32
|
+
"import": "./dist/r3ui-lib.es.js",
|
|
33
|
+
"require": "./dist/r3ui-lib.umd.js"
|
|
34
34
|
},
|
|
35
|
-
"./
|
|
35
|
+
"./styles": "./dist/r3ui-lib.css",
|
|
36
|
+
"./dist/r3ui-lib.css": "./dist/r3ui-lib.css"
|
|
36
37
|
},
|
|
37
38
|
"files": [
|
|
38
39
|
"dist",
|
|
@@ -71,6 +72,7 @@
|
|
|
71
72
|
},
|
|
72
73
|
"devDependencies": {
|
|
73
74
|
"@chromatic-com/storybook": "^4.1.1",
|
|
75
|
+
"@types/node": "^22.0.0",
|
|
74
76
|
"@storybook/addon-a11y": "^9.1.5",
|
|
75
77
|
"@storybook/addon-docs": "^9.1.5",
|
|
76
78
|
"@storybook/addon-onboarding": "^9.1.5",
|