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.
Files changed (62) hide show
  1. package/README.md +68 -25
  2. package/dist/r3ui-lib.css +6 -2
  3. package/dist/{ui-library.es.js → r3ui-lib.es.js} +10835 -8420
  4. package/dist/r3ui-lib.umd.js +54 -0
  5. package/dist/types/components/DefaultButton.vue.d.ts +2 -2
  6. package/dist/types/components/DefaultButton.vue.d.ts.map +1 -1
  7. package/dist/types/components/Divider.vue.d.ts +2 -2
  8. package/dist/types/components/cards/CardInfo.vue.d.ts +2 -2
  9. package/dist/types/components/cards/CardInfo.vue.d.ts.map +1 -1
  10. package/dist/types/components/form/CustomInput.vue.d.ts +14 -6
  11. package/dist/types/components/form/CustomInput.vue.d.ts.map +1 -1
  12. package/dist/types/components/forms/AddressForm.stories.d.ts +3 -0
  13. package/dist/types/components/forms/AddressForm.stories.d.ts.map +1 -1
  14. package/dist/types/components/forms/AddressForm.vue.d.ts +2 -2
  15. package/dist/types/components/forms/AddressForm.vue.d.ts.map +1 -1
  16. package/dist/types/components/forms/Flatpickr.vue.d.ts +3 -1
  17. package/dist/types/components/forms/Flatpickr.vue.d.ts.map +1 -1
  18. package/dist/types/components/layout/Breadcrumbs.vue.d.ts.map +1 -1
  19. package/dist/types/components/layout/Header.vue.d.ts +13 -1
  20. package/dist/types/components/layout/Header.vue.d.ts.map +1 -1
  21. package/dist/types/components/layout/MainComponent.vue.d.ts.map +1 -1
  22. package/dist/types/components/logo/Logo.stories.d.ts +12 -0
  23. package/dist/types/components/logo/Logo.stories.d.ts.map +1 -0
  24. package/dist/types/components/logo/Logo.vue.d.ts +28 -0
  25. package/dist/types/components/logo/Logo.vue.d.ts.map +1 -0
  26. package/dist/types/components/modals/ConfirmationModal.vue.d.ts +2 -2
  27. package/dist/types/components/modals/ConfirmationModal.vue.d.ts.map +1 -1
  28. package/dist/types/components/modals/DefaultModal.vue.d.ts +15 -4
  29. package/dist/types/components/modals/DefaultModal.vue.d.ts.map +1 -1
  30. package/dist/types/components/modals/EditTableColumnsModalComponent.vue.d.ts.map +1 -1
  31. package/dist/types/components/modals/TableFilterModalComponent.vue.d.ts.map +1 -1
  32. package/dist/types/components/notifications/ErrorMessageComponent.vue.d.ts +1 -1
  33. package/dist/types/components/notifications/ErrorMessageComponent.vue.d.ts.map +1 -1
  34. package/dist/types/components/tables/EditTableColumns.vue.d.ts +4 -4
  35. package/dist/types/components/tables/EditTableColumns.vue.d.ts.map +1 -1
  36. package/dist/types/components/tables/Table.vue.d.ts +22 -2
  37. package/dist/types/components/tables/Table.vue.d.ts.map +1 -1
  38. package/dist/types/components/tables/TableColumnsButton.vue.d.ts +30 -0
  39. package/dist/types/components/tables/TableColumnsButton.vue.d.ts.map +1 -0
  40. package/dist/types/components/tables/TableColumnsModal.vue.d.ts +30 -0
  41. package/dist/types/components/tables/TableColumnsModal.vue.d.ts.map +1 -0
  42. package/dist/types/components/tables/TableCount.vue.d.ts.map +1 -1
  43. package/dist/types/composables/main/useBreadcrumbs.d.ts +34 -0
  44. package/dist/types/composables/main/useBreadcrumbs.d.ts.map +1 -0
  45. package/dist/types/composables/table/useTableColumns.d.ts +42 -0
  46. package/dist/types/composables/table/useTableColumns.d.ts.map +1 -0
  47. package/dist/types/composables/table/useTableColumnsEnhanced.d.ts +81 -0
  48. package/dist/types/composables/table/useTableColumnsEnhanced.d.ts.map +1 -0
  49. package/dist/types/composables/table/useTableColumnsIntegration.d.ts +111 -0
  50. package/dist/types/composables/table/useTableColumnsIntegration.d.ts.map +1 -0
  51. package/dist/types/composables/table/useTableDefault.d.ts +4 -2
  52. package/dist/types/composables/table/useTableDefault.d.ts.map +1 -1
  53. package/dist/types/main.d.ts +20 -3
  54. package/dist/types/main.d.ts.map +1 -1
  55. package/dist/types/types/table.d.ts +33 -0
  56. package/dist/types/types/table.d.ts.map +1 -0
  57. package/dist/types/utils/table-columns-utils.d.ts +163 -0
  58. package/dist/types/utils/table-columns-utils.d.ts.map +1 -0
  59. package/dist/types/utils/tableLocalizations.d.ts +24 -1
  60. package/dist/types/utils/tableLocalizations.d.ts.map +1 -1
  61. package/package.json +8 -6
  62. 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;IACnC,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;;;;uCAkH8B,KAAK,QAAQ,MAAM;;4BAnDpC,GAAG,EAAE;;;;;+BA/CF,GAAG,EAAE;4BAqBR,GAAG,EAAE;;;;;;;;kCAZC,MAAM,OAAO,GAAG;;;;;;;CAkKxD,CAAA;AAED,eAAe,eAAe,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"}
@@ -1,5 +1,4 @@
1
- import "bootstrap/scss/bootstrap.scss";
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
- 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, CardInfo, PageCard, Toast, ErrorMessageComponent, DefaultAccordion, KindCheckboxesAccordion, Table, TableCount, ColumnSubFilter, TableAppliedFiltersStorage, TableQuickFilterComponent, EditTableColumns, ToggleAllTableRowButtons, MultipleQuickFilterComponent, Spinner, Icon, Divider, DefaultDropDown, QuestionIcon, FilterValuesPanel, useTableDefault, useTableStorage, helpers, };
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
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;CA+BjC,CAAC"}
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.0",
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/ui-library.umd.js",
27
- "module": "./dist/ui-library.es.js",
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/ui-library.es.js",
33
- "require": "./dist/ui-library.umd.js"
32
+ "import": "./dist/r3ui-lib.es.js",
33
+ "require": "./dist/r3ui-lib.umd.js"
34
34
  },
35
- "./dist/style.css": "./dist/style.css"
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",