@tap-payments/os-micro-frontend-shared 0.1.372-test.2-test.3-test.4-test.5-test.6 → 0.1.372-test.2-test.3-test.4

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 (48) hide show
  1. package/build/components/Sandbox/style.js +2 -3
  2. package/build/components/TableHeader/FiltersRow.d.ts +1 -1
  3. package/build/components/TableHeader/FiltersRow.js +3 -3
  4. package/build/components/TableHeader/TableHeader.d.ts +1 -1
  5. package/build/components/TableHeader/TableHeader.js +2 -2
  6. package/build/components/TableHeader/TableView/CreateViewDialog.d.ts +1 -1
  7. package/build/components/TableHeader/TableView/CreateViewDialog.js +42 -11
  8. package/build/components/TableHeader/TableView/ViewsDropdown.d.ts +1 -1
  9. package/build/components/TableHeader/TableView/ViewsDropdown.js +91 -93
  10. package/build/components/TableHeader/TableView/ViewsMenu.d.ts +5 -0
  11. package/build/components/TableHeader/TableView/ViewsMenu.js +76 -0
  12. package/build/components/TableHeader/TableView/components/ViewsSubmenu.js +46 -23
  13. package/build/components/TableHeader/TableView/constants.d.ts +1 -1
  14. package/build/components/TableHeader/TableView/constants.js +1 -1
  15. package/build/components/TableHeader/TableView/hooks/index.d.ts +1 -1
  16. package/build/components/TableHeader/TableView/hooks/index.js +1 -1
  17. package/build/components/TableHeader/TableView/hooks/useCreateViewDialog.js +15 -5
  18. package/build/components/TableHeader/TableView/hooks/useNestedSubmenu.js +2 -9
  19. package/build/components/TableHeader/TableView/hooks/useViewsManager.d.ts +5 -8
  20. package/build/components/TableHeader/TableView/hooks/useViewsManager.js +50 -94
  21. package/build/components/TableHeader/TableView/hooks/useViewsMenu.d.ts +44 -0
  22. package/build/components/TableHeader/TableView/hooks/useViewsMenu.js +177 -0
  23. package/build/components/TableHeader/TableView/index.d.ts +3 -3
  24. package/build/components/TableHeader/TableView/index.js +2 -4
  25. package/build/components/TableHeader/TableView/styles.js +11 -2
  26. package/build/components/TableHeader/TableView/types.d.ts +34 -32
  27. package/build/components/TableHeader/TableView/utils.d.ts +6 -5
  28. package/build/components/TableHeader/TableView/utils.js +56 -13
  29. package/build/components/TableHeader/index.d.ts +1 -0
  30. package/build/components/TableHeader/type.d.ts +2 -8
  31. package/build/components/Toolbar/Toolbar.js +1 -1
  32. package/build/components/VirtualTables/VirtualTable/VirtualTable.d.ts +1 -1
  33. package/build/components/VirtualTables/VirtualTable/VirtualTable.js +4 -3
  34. package/build/constants/apps.js +2 -0
  35. package/build/constants/assets.d.ts +1 -0
  36. package/build/constants/assets.js +1 -0
  37. package/build/types/reports.d.ts +21 -0
  38. package/build/types/table.d.ts +1 -0
  39. package/build/utils/date.js +5 -3
  40. package/build/utils/index.d.ts +1 -0
  41. package/build/utils/index.js +1 -0
  42. package/build/utils/skeletonColumns.d.ts +4 -0
  43. package/build/utils/skeletonColumns.js +17 -0
  44. package/package.json +2 -2
  45. package/build/components/TableHeader/TableView/ViewSelector.d.ts +0 -5
  46. package/build/components/TableHeader/TableView/ViewSelector.js +0 -44
  47. package/build/components/TableHeader/TableView/hooks/useViewSelector.d.ts +0 -56
  48. package/build/components/TableHeader/TableView/hooks/useViewSelector.js +0 -122
@@ -1,44 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { memo } from 'react';
3
- import { useTranslation } from 'react-i18next';
4
- import ClickAwayListener from '@mui/material/ClickAwayListener';
5
- import { Icon, StyledButton } from '../../index.js';
6
- import { viewIcon } from '../../../constants/index.js';
7
- import ViewsDropdown from './ViewsDropdown';
8
- import CreateViewDialog from './CreateViewDialog';
9
- import { ViewWrapper } from './styles';
10
- import { useViewsManager } from './hooks';
11
- import { useViewSelector } from './hooks/useViewSelector';
12
- function ViewSelector({ onViewChange, setIsViewVisible, setTableViews, tableViews: externalTableViews, resetTableViews, customViews: externalCustomViews, onCreateCustomView, onEditCustomView, onDeleteCustomView, tableMode = 'default', onTableViewsChange, onCustomViewsChange, templates, lang = 'en', }) {
13
- const { t } = useTranslation();
14
- // Map tableMode to viewMode: 'sheet' → 'sheet', 'default' → 'advanced'
15
- const mode = tableMode === 'sheet' ? 'sheet' : 'advanced';
16
- const { defaultColumns, setDefaultColumns, internalTableViews, setInternalTableViews, internalCustomViews, setInternalCustomViews, defaultTemplate, } = useViewsManager({
17
- mode,
18
- templates,
19
- lang,
20
- });
21
- const tableViews = externalTableViews !== null && externalTableViews !== void 0 ? externalTableViews : internalTableViews;
22
- const customViews = externalCustomViews !== null && externalCustomViews !== void 0 ? externalCustomViews : internalCustomViews;
23
- const { anchorViewEl, defaultViewEl, setDefaultViewElement, isCreateDialogOpen, editingView, selectedViewInfo, shouldUseCurrentState, handleViewButtonClick, handleCloseViewDropdown, handleSelectedViewInfo, handleOpenCreateDialog, handleOpenEditDialog, handleCloseCreateDialog, handleSaveView, handleDeleteView, handleResetViews, handleTableViewsChange, } = useViewSelector({
24
- mode,
25
- onViewChange,
26
- onTableViewsChange,
27
- onCustomViewsChange,
28
- onCreateCustomView,
29
- onEditCustomView,
30
- onDeleteCustomView,
31
- resetTableViews,
32
- setTableViews,
33
- tableViews,
34
- customViews,
35
- defaultColumns,
36
- defaultTemplate,
37
- setInternalCustomViews,
38
- setInternalTableViews,
39
- });
40
- return (_jsxs(_Fragment, { children: [_jsx(ClickAwayListener, Object.assign({ onClickAway: handleCloseViewDropdown }, { children: _jsxs(ViewWrapper, Object.assign({ sx: { width: '32px' }, "data-testid": "ViewSelector" }, { children: [_jsx(StyledButton, Object.assign({ title: t('tableView'), "data-testid": "ViewSelector_button", onClick: handleViewButtonClick }, { children: _jsx(Icon, { src: viewIcon, alt: "view", sx: { width: 14, height: 14 } }) })), _jsx(ViewsDropdown, { open: Boolean(defaultViewEl), anchorEl: anchorViewEl, setSelectedViewInfo: handleSelectedViewInfo, selectedViewInfo: selectedViewInfo, onSelect: (e, selectedView) => {
41
- setDefaultViewElement(defaultViewEl ? null : e.currentTarget);
42
- }, setViews: handleResetViews, tableViews: tableViews, setTableViews: handleTableViewsChange, onCreateCustomView: handleOpenCreateDialog, customViews: customViews, onEditCustomView: handleOpenEditDialog, defaultColumns: defaultColumns, setDefaultColumns: setDefaultColumns })] })) })), _jsx(CreateViewDialog, { open: isCreateDialogOpen, onClose: handleCloseCreateDialog, availableColumns: defaultColumns, defaultColumns: defaultColumns, onCreate: handleSaveView, editingView: editingView, onDelete: handleDeleteView, tableViews: shouldUseCurrentState ? defaultColumns : undefined, mode: mode })] }));
43
- }
44
- export default memo(ViewSelector);
@@ -1,56 +0,0 @@
1
- import { type MouseEvent } from 'react';
2
- import type { ColumnViewProps } from '../../../../types/index.js';
3
- import type { ViewMenuItem, LayoutSection, ViewMode } from '../types';
4
- import type { ViewOption } from '../../type';
5
- export interface UseViewSelectorProps {
6
- mode: ViewMode;
7
- onViewChange?: (selectedView?: ViewMenuItem) => void;
8
- onTableViewsChange?: (tableViews: ColumnViewProps[]) => void;
9
- onCustomViewsChange?: (customViews: ViewMenuItem[]) => void;
10
- onCreateCustomView?: (data: {
11
- name: string;
12
- selectedColumns: ColumnViewProps[];
13
- layout: LayoutSection;
14
- }) => Promise<void>;
15
- onEditCustomView?: (viewId: string, data: {
16
- name: string;
17
- selectedColumns: ColumnViewProps[];
18
- layout: LayoutSection;
19
- }) => Promise<void>;
20
- onDeleteCustomView?: (viewId: string) => Promise<void>;
21
- resetTableViews?: (view: {
22
- id: string;
23
- label: string;
24
- }) => void;
25
- setTableViews?: (columns: ColumnViewProps[]) => void;
26
- tableViews: ColumnViewProps[];
27
- customViews: ViewMenuItem[];
28
- defaultColumns: ColumnViewProps[];
29
- defaultTemplate?: ViewMenuItem;
30
- setInternalCustomViews: (views: ViewMenuItem[]) => void;
31
- setInternalTableViews: (views: ColumnViewProps[]) => void;
32
- }
33
- export declare const useViewSelector: ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, }: UseViewSelectorProps) => {
34
- anchorViewEl: HTMLDivElement | null;
35
- defaultViewEl: HTMLDivElement | null;
36
- setDefaultViewElement: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null>>;
37
- isCreateDialogOpen: boolean;
38
- editingView: ViewMenuItem | null;
39
- selectedViewInfo: ViewOption;
40
- shouldUseCurrentState: boolean;
41
- handleViewButtonClick: (event: MouseEvent<HTMLDivElement>) => void;
42
- handleCloseViewDropdown: () => void;
43
- handleClose: () => void;
44
- handleSelectedViewInfo: (selected: ViewOption, viewMenuItem?: ViewMenuItem) => void;
45
- handleOpenCreateDialog: (useCurrentState?: boolean) => void;
46
- handleOpenEditDialog: (view: ViewMenuItem) => void;
47
- handleCloseCreateDialog: () => void;
48
- handleSaveView: (data: {
49
- name: string;
50
- selectedColumns: ColumnViewProps[];
51
- layout: LayoutSection;
52
- }) => Promise<void>;
53
- handleDeleteView: (viewId: string) => Promise<void>;
54
- handleResetViews: (views: string[]) => void;
55
- handleTableViewsChange: (newTableViews: ColumnViewProps[]) => void;
56
- };
@@ -1,122 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { useState, useCallback, useEffect } from 'react';
11
- import { createCustomViewMenuItem } from '../utils';
12
- export const useViewSelector = ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, }) => {
13
- const [anchorViewEl, setAnchorViewEl] = useState(null);
14
- const [defaultViewEl, setDefaultViewElement] = useState(null);
15
- const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false);
16
- const [editingView, setEditingView] = useState(null);
17
- const [selectedViewInfo, setSelectedViewInfo] = useState({ id: 'default', label: 'Default' });
18
- const [shouldUseCurrentState, setShouldUseCurrentState] = useState(false);
19
- const [selectedView, setSelectedView] = useState(undefined);
20
- // Notify parent of initial view on mount
21
- useEffect(() => {
22
- // Use defaultTemplate if available, otherwise undefined (built-in default view)
23
- const initialView = defaultTemplate || undefined;
24
- setSelectedView(initialView);
25
- onViewChange === null || onViewChange === void 0 ? void 0 : onViewChange(initialView);
26
- }, [onViewChange, defaultTemplate]);
27
- const handleTableViewsChange = useCallback((newTableViews) => {
28
- const setTableViewsState = setTableViews !== null && setTableViews !== void 0 ? setTableViews : setInternalTableViews;
29
- setTableViewsState(newTableViews);
30
- onTableViewsChange === null || onTableViewsChange === void 0 ? void 0 : onTableViewsChange(newTableViews);
31
- }, [setTableViews, setInternalTableViews, onTableViewsChange]);
32
- const handleCustomViewsChange = useCallback((newCustomViews) => {
33
- setInternalCustomViews(newCustomViews);
34
- onCustomViewsChange === null || onCustomViewsChange === void 0 ? void 0 : onCustomViewsChange(newCustomViews);
35
- }, [setInternalCustomViews, onCustomViewsChange]);
36
- const handleViewButtonClick = useCallback((event) => {
37
- setAnchorViewEl(event.currentTarget);
38
- setDefaultViewElement(event.currentTarget);
39
- }, []);
40
- const handleCloseViewDropdown = useCallback(() => {
41
- setDefaultViewElement(null);
42
- }, []);
43
- const handleClose = useCallback(() => {
44
- setAnchorViewEl(null);
45
- setDefaultViewElement(null);
46
- setSelectedViewInfo({ label: 'Default', id: 'default' });
47
- }, []);
48
- const handleSelectedViewInfo = useCallback((selected, viewMenuItem) => {
49
- setSelectedViewInfo(selected);
50
- // Update selected view and notify parent
51
- const newSelectedView = viewMenuItem || undefined;
52
- setSelectedView(newSelectedView);
53
- onViewChange === null || onViewChange === void 0 ? void 0 : onViewChange(newSelectedView);
54
- handleCloseViewDropdown();
55
- }, [handleCloseViewDropdown, onViewChange]);
56
- const handleOpenCreateDialog = useCallback((useCurrentState = false) => {
57
- setEditingView(null);
58
- setShouldUseCurrentState(useCurrentState);
59
- setIsCreateDialogOpen(true);
60
- setDefaultViewElement(null);
61
- }, []);
62
- const handleOpenEditDialog = useCallback((view) => {
63
- setEditingView(view);
64
- setShouldUseCurrentState(true);
65
- setIsCreateDialogOpen(true);
66
- }, []);
67
- const handleCloseCreateDialog = useCallback(() => {
68
- setIsCreateDialogOpen(false);
69
- setEditingView(null);
70
- setShouldUseCurrentState(false);
71
- }, []);
72
- const handleSaveView = useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
73
- if (editingView) {
74
- const updatedViews = customViews.map((view) => view.id === editingView.id
75
- ? Object.assign(Object.assign({}, view), { label: data.name, columns: data.selectedColumns.map((col) => col.name), submenu: data.selectedColumns }) : view);
76
- handleCustomViewsChange(updatedViews);
77
- yield (onEditCustomView === null || onEditCustomView === void 0 ? void 0 : onEditCustomView(editingView.id, data));
78
- }
79
- else {
80
- const newView = createCustomViewMenuItem(data.name, data.selectedColumns);
81
- const updatedViews = [...customViews, newView];
82
- handleCustomViewsChange(updatedViews);
83
- yield (onCreateCustomView === null || onCreateCustomView === void 0 ? void 0 : onCreateCustomView(data));
84
- }
85
- }), [editingView, customViews, handleCustomViewsChange, onEditCustomView, onCreateCustomView]);
86
- const handleDeleteView = useCallback((viewId) => __awaiter(void 0, void 0, void 0, function* () {
87
- const updatedViews = customViews.filter((view) => view.id !== viewId);
88
- handleCustomViewsChange(updatedViews);
89
- yield (onDeleteCustomView === null || onDeleteCustomView === void 0 ? void 0 : onDeleteCustomView(viewId));
90
- }), [customViews, handleCustomViewsChange, onDeleteCustomView]);
91
- const handleResetViews = useCallback((views) => {
92
- if (resetTableViews) {
93
- resetTableViews({ id: views[0], label: views[0] });
94
- }
95
- else {
96
- // Reset to default columns from templates
97
- handleTableViewsChange([...defaultColumns]);
98
- }
99
- }, [resetTableViews, defaultColumns, handleTableViewsChange]);
100
- return {
101
- // State
102
- anchorViewEl,
103
- defaultViewEl,
104
- setDefaultViewElement,
105
- isCreateDialogOpen,
106
- editingView,
107
- selectedViewInfo,
108
- shouldUseCurrentState,
109
- // Handlers
110
- handleViewButtonClick,
111
- handleCloseViewDropdown,
112
- handleClose,
113
- handleSelectedViewInfo,
114
- handleOpenCreateDialog,
115
- handleOpenEditDialog,
116
- handleCloseCreateDialog,
117
- handleSaveView,
118
- handleDeleteView,
119
- handleResetViews,
120
- handleTableViewsChange,
121
- };
122
- };