@natoora-libs/core 0.1.20-dev-doug-3 → 0.2.0-vini-dev-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,40 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/hooks/index.ts
20
20
  var hooks_exports = {};
21
21
  __export(hooks_exports, {
22
- useDynamicScroll: () => useDynamicScroll
22
+ default: () => hooks_default
23
23
  });
24
24
  module.exports = __toCommonJS(hooks_exports);
25
-
26
- // src/hooks/useDynamicScroll/useDynamicScroll.ts
27
- var import_react = require("react");
28
- var useDynamicScroll = ({
29
- scrollRef,
30
- scrollAmount = 300,
31
- effectDependencies
32
- }) => {
33
- const [isScrollable, setIsScrollable] = (0, import_react.useState)(false);
34
- const checkIfScrollNeeded = (0, import_react.useCallback)(() => {
35
- if (scrollRef.current) {
36
- const { scrollWidth, clientWidth } = scrollRef.current;
37
- setIsScrollable(scrollWidth > clientWidth);
38
- }
39
- }, []);
40
- const scroll = (direction) => {
41
- if (scrollRef?.current) {
42
- scrollRef.current.scrollLeft += direction === "left" ? -scrollAmount : scrollAmount;
43
- }
44
- };
45
- (0, import_react.useEffect)(() => {
46
- checkIfScrollNeeded();
47
- window.addEventListener("resize", checkIfScrollNeeded);
48
- return () => {
49
- window.removeEventListener("resize", checkIfScrollNeeded);
50
- };
51
- }, [checkIfScrollNeeded, ...effectDependencies]);
52
- return { isScrollable, scroll };
53
- };
54
- // Annotate the CommonJS export names for ESM import in node:
55
- 0 && (module.exports = {
56
- useDynamicScroll
57
- });
25
+ var hooks_default = "@natoora-libs/core/hooks";
58
26
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/index.ts","../../src/hooks/useDynamicScroll/useDynamicScroll.ts"],"sourcesContent":["export { useDynamicScroll } from './useDynamicScroll/useDynamicScroll'\n","import { RefObject, useCallback, useEffect, useState } from 'react';\n\ntype useDynamicScrollParams = {\n scrollRef: RefObject<HTMLDivElement | null>;\n scrollAmount?: number;\n effectDependencies: unknown[];\n};\n\nexport const useDynamicScroll = ({\n scrollRef,\n scrollAmount = 300,\n effectDependencies,\n}: useDynamicScrollParams) => {\n const [isScrollable, setIsScrollable] = useState(false);\n\n const checkIfScrollNeeded = useCallback(() => {\n if (scrollRef.current) {\n const { scrollWidth, clientWidth } = scrollRef.current;\n setIsScrollable(scrollWidth > clientWidth);\n }\n }, []);\n\n const scroll = (direction: 'left' | 'right') => {\n if (scrollRef?.current) {\n scrollRef.current.scrollLeft +=\n direction === 'left' ? -scrollAmount : scrollAmount;\n }\n };\n\n useEffect(() => {\n checkIfScrollNeeded();\n\n window.addEventListener('resize', checkIfScrollNeeded);\n\n return () => {\n window.removeEventListener('resize', checkIfScrollNeeded);\n };\n }, [checkIfScrollNeeded, ...effectDependencies]);\n\n return { isScrollable, scroll };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA4D;AAQrD,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,eAAe;AAAA,EACf;AACF,MAA8B;AAC5B,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAS,KAAK;AAEtD,QAAM,0BAAsB,0BAAY,MAAM;AAC5C,QAAI,UAAU,SAAS;AACrB,YAAM,EAAE,aAAa,YAAY,IAAI,UAAU;AAC/C,sBAAgB,cAAc,WAAW;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,SAAS,CAAC,cAAgC;AAC9C,QAAI,WAAW,SAAS;AACtB,gBAAU,QAAQ,cAChB,cAAc,SAAS,CAAC,eAAe;AAAA,IAC3C;AAAA,EACF;AAEA,8BAAU,MAAM;AACd,wBAAoB;AAEpB,WAAO,iBAAiB,UAAU,mBAAmB;AAErD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,mBAAmB;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;AAE/C,SAAO,EAAE,cAAc,OAAO;AAChC;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export default '@natoora-libs/core/hooks';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,gBAAQ;","names":[]}
@@ -1,13 +1,3 @@
1
- import { RefObject } from 'react';
1
+ declare const _default: "@natoora-libs/core/hooks";
2
2
 
3
- type useDynamicScrollParams = {
4
- scrollRef: RefObject<HTMLDivElement | null>;
5
- scrollAmount?: number;
6
- effectDependencies: unknown[];
7
- };
8
- declare const useDynamicScroll: ({ scrollRef, scrollAmount, effectDependencies, }: useDynamicScrollParams) => {
9
- isScrollable: boolean;
10
- scroll: (direction: "left" | "right") => void;
11
- };
12
-
13
- export { useDynamicScroll };
3
+ export { _default as default };
@@ -1,13 +1,3 @@
1
- import { RefObject } from 'react';
1
+ declare const _default: "@natoora-libs/core/hooks";
2
2
 
3
- type useDynamicScrollParams = {
4
- scrollRef: RefObject<HTMLDivElement | null>;
5
- scrollAmount?: number;
6
- effectDependencies: unknown[];
7
- };
8
- declare const useDynamicScroll: ({ scrollRef, scrollAmount, effectDependencies, }: useDynamicScrollParams) => {
9
- isScrollable: boolean;
10
- scroll: (direction: "left" | "right") => void;
11
- };
12
-
13
- export { useDynamicScroll };
3
+ export { _default as default };
@@ -1,8 +1,8 @@
1
- import {
2
- useDynamicScroll
3
- } from "../chunk-IXEF6LYV.js";
4
1
  import "../chunk-5WRI5ZAA.js";
2
+
3
+ // src/hooks/index.ts
4
+ var hooks_default = "@natoora-libs/core/hooks";
5
5
  export {
6
- useDynamicScroll
6
+ hooks_default as default
7
7
  };
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export default '@natoora-libs/core/hooks';\n"],"mappings":";;;AAAA,IAAO,gBAAQ;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@natoora-libs/core",
3
- "version": "0.1.20-dev-doug-3",
3
+ "version": "0.2.0-vini-dev-1",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -27,11 +27,6 @@
27
27
  "types": "./dist/hooks/index.d.ts",
28
28
  "import": "./dist/hooks/index.js",
29
29
  "require": "./dist/hooks/index.cjs"
30
- },
31
- "./utils": {
32
- "types": "./dist/utils/index.d.ts",
33
- "import": "./dist/utils/index.js",
34
- "require": "./dist/utils/index.cjs"
35
30
  }
36
31
  },
37
32
  "engines": {
@@ -52,6 +47,7 @@
52
47
  "test:coverage": "jest --coverage"
53
48
  },
54
49
  "dependencies": {
50
+ "@natoora-libs/core": "link:.yalc/@natoora-libs/core",
55
51
  "classnames": "^2.3.2",
56
52
  "mdi-material-ui": "^7.9.3",
57
53
  "moment": "^2.29.4",
@@ -65,12 +61,12 @@
65
61
  "devDependencies": {
66
62
  "@emotion/react": "^11.14.0",
67
63
  "@emotion/styled": "^11.14.0",
68
- "@mui/icons-material": "^6.4.7",
69
- "@mui/lab": "^6.0.0-beta.30",
70
- "@mui/material": "^6.4.7",
71
- "@mui/types": "^7.4.4",
72
- "@mui/x-data-grid": "^7.27.2",
73
- "@mui/x-date-pickers": "5.x.x",
64
+ "@mui/icons-material": "^7.3.2",
65
+ "@mui/lab": "^7.0.0-beta.17",
66
+ "@mui/material": "^7.3.2",
67
+ "@mui/types": "^7.4.6",
68
+ "@mui/x-data-grid": "^8.11.3",
69
+ "@mui/x-date-pickers": "^8.11.3",
74
70
  "@storybook/addon-docs": "^9.0.16",
75
71
  "@storybook/addon-links": "^9.0.16",
76
72
  "@storybook/addon-onboarding": "^9.0.16",
@@ -113,11 +109,11 @@
113
109
  "peerDependencies": {
114
110
  "@emotion/react": "^11.14.0",
115
111
  "@emotion/styled": "^11.14.0",
116
- "@mui/icons-material": "^6.4.7",
117
- "@mui/lab": "^6.0.0-beta.30",
118
- "@mui/material": "^6.4.7",
119
- "@mui/x-data-grid": "^7.27.2",
120
- "@mui/x-date-pickers": "5.x.x",
112
+ "@mui/icons-material": "^7.3.2",
113
+ "@mui/lab": "^7.0.0-beta.17",
114
+ "@mui/material": "^7.3.2",
115
+ "@mui/x-data-grid": "^8.11.3",
116
+ "@mui/x-date-pickers": "^8.11.3",
121
117
  "mdi-material-ui": "^7.9.3",
122
118
  "react": "19.0.0",
123
119
  "react-dom": "19.0.0",
@@ -1,126 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ChangeEvent, FC, RefObject, ReactNode, ComponentType } from 'react';
3
- import { SelectChangeEvent } from '@mui/material';
4
-
5
- type TableDesktopFooterProps = {
6
- numPages: number;
7
- page: number;
8
- onPageChange: (event: ChangeEvent<unknown>, page: number) => void;
9
- pageSize?: number;
10
- pageSizeOptions?: number[];
11
- onPageSizeChange?: (event: SelectChangeEvent<number>) => void;
12
- refetchData?: () => Promise<unknown>;
13
- isFetching: boolean;
14
- };
15
- declare const TableDesktopFooter: FC<TableDesktopFooterProps>;
16
-
17
- type BulkChanges = {
18
- field: string;
19
- value: string | number | boolean;
20
- label: string | number | boolean;
21
- }[];
22
- type TableColumnConfigurationMenuProps = {
23
- anchorEl: HTMLElement | null;
24
- onCloseMenu: () => void;
25
- };
26
- type ExportCsvDialogProps = {
27
- headCells: HeadCell[];
28
- headerFilters: HeaderFilters;
29
- totalDataCount?: number;
30
- isOpen: boolean;
31
- onCloseDialog: () => void;
32
- };
33
- type BulkChangesDialogProps = {
34
- bulkChanges: BulkChanges;
35
- selectedRows: (string | number)[];
36
- shouldUpdateAll: boolean;
37
- visibleEditableColumns: HeadCell[];
38
- isBulkChangesDialogOpen: boolean;
39
- onCloseDialog: () => void;
40
- refetchData: () => Promise<unknown>;
41
- };
42
- type TableDesktopToolbarProps = {
43
- toolbarLabel?: string;
44
- headCells: HeadCell[];
45
- headerFilters: HeaderFilters;
46
- selectedRows: (string | number)[];
47
- isDataEmpty: boolean;
48
- totalDataCount?: number;
49
- isRowsFromAllPagesSelected: boolean;
50
- refetchData?: () => Promise<unknown>;
51
- tableToolbarMenuButtonRef: RefObject<HTMLButtonElement | null>;
52
- tableToolbarMenuAnchor: HTMLElement | null;
53
- onClickToolbarMenuOpen: () => void;
54
- onCloseMenu: () => void;
55
- disableBulkChangesMode?: boolean;
56
- isBulkChangesMode: boolean;
57
- onChangeBulkChangesMode: (checked: boolean) => void;
58
- renderExportCsvDialog?: (props: ExportCsvDialogProps) => ReactNode;
59
- renderBulkChangesDialog?: (props: BulkChangesDialogProps) => ReactNode;
60
- renderTableColumnConfigurationMenu?: (props: TableColumnConfigurationMenuProps) => ReactNode;
61
- renderInfoIcons?: ReactNode;
62
- };
63
- declare const TableDesktopToolbar: FC<TableDesktopToolbarProps>;
64
-
65
- type Order = 'asc' | 'desc';
66
- type EditableCellType = 'select' | 'checkbox' | 'text' | 'numeric';
67
- type HeaderFilterObject = {
68
- id: number | string;
69
- [key: string]: number | string;
70
- };
71
- type HeaderFilterOptions = string[] | HeaderFilterObject[];
72
- type HeaderFilters = {
73
- [key: string]: HeaderFilterOptions;
74
- };
75
- type HeadCell = {
76
- id: string;
77
- label?: string;
78
- labelTooltip?: string;
79
- fieldName?: string;
80
- numeric?: boolean;
81
- disablePadding?: boolean;
82
- width?: number | string;
83
- enabled?: boolean;
84
- disableSort?: boolean;
85
- RenderHeader?: ReactNode;
86
- editableCellType?: EditableCellType;
87
- validateInput?: (value: string | null) => boolean;
88
- onUpdateEditableCell?: (rowId: number, field: string, value: string | number | boolean, label: string | number | boolean) => void;
89
- filterOptions?: HeaderFilterOptions;
90
- refetchFilterOptions?: () => void;
91
- isFetchingFilterOptions?: boolean;
92
- isAutocompleteFilterMenu?: boolean;
93
- onAutocompleteFilterChange?: (value: string) => void;
94
- };
95
- type TableDesktopProps = {
96
- data: any[];
97
- headCells: HeadCell[];
98
- RenderItem: ComponentType<any>;
99
- renderToolbar?: (props: TableDesktopToolbarProps) => ReactNode;
100
- renderFooter?: (props: {
101
- refetchData: TableDesktopFooterProps["refetchData"];
102
- isFetching: TableDesktopFooterProps["isFetching"];
103
- }) => ReactNode;
104
- appliedFilters?: any;
105
- headerFilters?: HeaderFilters;
106
- children?: ReactNode;
107
- height?: number | string;
108
- rowHeight?: number;
109
- rowsPerPage?: number;
110
- totalDataCount?: number;
111
- isLoading?: boolean;
112
- enableEditMode?: boolean;
113
- disableInternalSort?: boolean;
114
- updateSort?: (sortField: string, sortDir: Order) => void;
115
- showClearFilterButton?: boolean;
116
- handleClickOnClearFiltersButton?: () => void;
117
- deleteItem?: (id: number, contentTypeName?: string, appTypeName?: string) => void;
118
- keyField?: string;
119
- tableLayout?: 'fixed' | 'auto';
120
- onApplyFilters?: (updatedFilters: HeaderFilters, shouldSave: boolean) => void;
121
- refetchData?: () => Promise<unknown>;
122
- shouldShowCheckOnFilter?: (columnId: string, filterOption?: string | HeaderFilterObject) => boolean;
123
- };
124
- declare const TableDesktop: ({ data, headCells, RenderItem, renderToolbar, renderFooter, appliedFilters, headerFilters, children, height, rowHeight, rowsPerPage, totalDataCount, isLoading, enableEditMode, disableInternalSort, updateSort, showClearFilterButton, handleClickOnClearFiltersButton, deleteItem, keyField, tableLayout, onApplyFilters, shouldShowCheckOnFilter, refetchData, }: TableDesktopProps) => react_jsx_runtime.JSX.Element;
125
-
126
- export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type TableDesktopProps as T, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, TableDesktop as d, TableDesktopFooter as e, type TableDesktopFooterProps as f, TableDesktopToolbar as g, type TableDesktopToolbarProps as h, type TableColumnConfigurationMenuProps as i, type BulkChangesDialogProps as j, type ExportCsvDialogProps as k };
@@ -1,126 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ChangeEvent, FC, RefObject, ReactNode, ComponentType } from 'react';
3
- import { SelectChangeEvent } from '@mui/material';
4
-
5
- type TableDesktopFooterProps = {
6
- numPages: number;
7
- page: number;
8
- onPageChange: (event: ChangeEvent<unknown>, page: number) => void;
9
- pageSize?: number;
10
- pageSizeOptions?: number[];
11
- onPageSizeChange?: (event: SelectChangeEvent<number>) => void;
12
- refetchData?: () => Promise<unknown>;
13
- isFetching: boolean;
14
- };
15
- declare const TableDesktopFooter: FC<TableDesktopFooterProps>;
16
-
17
- type BulkChanges = {
18
- field: string;
19
- value: string | number | boolean;
20
- label: string | number | boolean;
21
- }[];
22
- type TableColumnConfigurationMenuProps = {
23
- anchorEl: HTMLElement | null;
24
- onCloseMenu: () => void;
25
- };
26
- type ExportCsvDialogProps = {
27
- headCells: HeadCell[];
28
- headerFilters: HeaderFilters;
29
- totalDataCount?: number;
30
- isOpen: boolean;
31
- onCloseDialog: () => void;
32
- };
33
- type BulkChangesDialogProps = {
34
- bulkChanges: BulkChanges;
35
- selectedRows: (string | number)[];
36
- shouldUpdateAll: boolean;
37
- visibleEditableColumns: HeadCell[];
38
- isBulkChangesDialogOpen: boolean;
39
- onCloseDialog: () => void;
40
- refetchData: () => Promise<unknown>;
41
- };
42
- type TableDesktopToolbarProps = {
43
- toolbarLabel?: string;
44
- headCells: HeadCell[];
45
- headerFilters: HeaderFilters;
46
- selectedRows: (string | number)[];
47
- isDataEmpty: boolean;
48
- totalDataCount?: number;
49
- isRowsFromAllPagesSelected: boolean;
50
- refetchData?: () => Promise<unknown>;
51
- tableToolbarMenuButtonRef: RefObject<HTMLButtonElement | null>;
52
- tableToolbarMenuAnchor: HTMLElement | null;
53
- onClickToolbarMenuOpen: () => void;
54
- onCloseMenu: () => void;
55
- disableBulkChangesMode?: boolean;
56
- isBulkChangesMode: boolean;
57
- onChangeBulkChangesMode: (checked: boolean) => void;
58
- renderExportCsvDialog?: (props: ExportCsvDialogProps) => ReactNode;
59
- renderBulkChangesDialog?: (props: BulkChangesDialogProps) => ReactNode;
60
- renderTableColumnConfigurationMenu?: (props: TableColumnConfigurationMenuProps) => ReactNode;
61
- renderInfoIcons?: ReactNode;
62
- };
63
- declare const TableDesktopToolbar: FC<TableDesktopToolbarProps>;
64
-
65
- type Order = 'asc' | 'desc';
66
- type EditableCellType = 'select' | 'checkbox' | 'text' | 'numeric';
67
- type HeaderFilterObject = {
68
- id: number | string;
69
- [key: string]: number | string;
70
- };
71
- type HeaderFilterOptions = string[] | HeaderFilterObject[];
72
- type HeaderFilters = {
73
- [key: string]: HeaderFilterOptions;
74
- };
75
- type HeadCell = {
76
- id: string;
77
- label?: string;
78
- labelTooltip?: string;
79
- fieldName?: string;
80
- numeric?: boolean;
81
- disablePadding?: boolean;
82
- width?: number | string;
83
- enabled?: boolean;
84
- disableSort?: boolean;
85
- RenderHeader?: ReactNode;
86
- editableCellType?: EditableCellType;
87
- validateInput?: (value: string | null) => boolean;
88
- onUpdateEditableCell?: (rowId: number, field: string, value: string | number | boolean, label: string | number | boolean) => void;
89
- filterOptions?: HeaderFilterOptions;
90
- refetchFilterOptions?: () => void;
91
- isFetchingFilterOptions?: boolean;
92
- isAutocompleteFilterMenu?: boolean;
93
- onAutocompleteFilterChange?: (value: string) => void;
94
- };
95
- type TableDesktopProps = {
96
- data: any[];
97
- headCells: HeadCell[];
98
- RenderItem: ComponentType<any>;
99
- renderToolbar?: (props: TableDesktopToolbarProps) => ReactNode;
100
- renderFooter?: (props: {
101
- refetchData: TableDesktopFooterProps["refetchData"];
102
- isFetching: TableDesktopFooterProps["isFetching"];
103
- }) => ReactNode;
104
- appliedFilters?: any;
105
- headerFilters?: HeaderFilters;
106
- children?: ReactNode;
107
- height?: number | string;
108
- rowHeight?: number;
109
- rowsPerPage?: number;
110
- totalDataCount?: number;
111
- isLoading?: boolean;
112
- enableEditMode?: boolean;
113
- disableInternalSort?: boolean;
114
- updateSort?: (sortField: string, sortDir: Order) => void;
115
- showClearFilterButton?: boolean;
116
- handleClickOnClearFiltersButton?: () => void;
117
- deleteItem?: (id: number, contentTypeName?: string, appTypeName?: string) => void;
118
- keyField?: string;
119
- tableLayout?: 'fixed' | 'auto';
120
- onApplyFilters?: (updatedFilters: HeaderFilters, shouldSave: boolean) => void;
121
- refetchData?: () => Promise<unknown>;
122
- shouldShowCheckOnFilter?: (columnId: string, filterOption?: string | HeaderFilterObject) => boolean;
123
- };
124
- declare const TableDesktop: ({ data, headCells, RenderItem, renderToolbar, renderFooter, appliedFilters, headerFilters, children, height, rowHeight, rowsPerPage, totalDataCount, isLoading, enableEditMode, disableInternalSort, updateSort, showClearFilterButton, handleClickOnClearFiltersButton, deleteItem, keyField, tableLayout, onApplyFilters, shouldShowCheckOnFilter, refetchData, }: TableDesktopProps) => react_jsx_runtime.JSX.Element;
125
-
126
- export { type BulkChanges as B, type EditableCellType as E, type HeadCell as H, type Order as O, type TableDesktopProps as T, type HeaderFilters as a, type HeaderFilterOptions as b, type HeaderFilterObject as c, TableDesktop as d, TableDesktopFooter as e, type TableDesktopFooterProps as f, TableDesktopToolbar as g, type TableDesktopToolbarProps as h, type TableColumnConfigurationMenuProps as i, type BulkChangesDialogProps as j, type ExportCsvDialogProps as k };
@@ -1,33 +0,0 @@
1
- // src/hooks/useDynamicScroll/useDynamicScroll.ts
2
- import { useCallback, useEffect, useState } from "react";
3
- var useDynamicScroll = ({
4
- scrollRef,
5
- scrollAmount = 300,
6
- effectDependencies
7
- }) => {
8
- const [isScrollable, setIsScrollable] = useState(false);
9
- const checkIfScrollNeeded = useCallback(() => {
10
- if (scrollRef.current) {
11
- const { scrollWidth, clientWidth } = scrollRef.current;
12
- setIsScrollable(scrollWidth > clientWidth);
13
- }
14
- }, []);
15
- const scroll = (direction) => {
16
- if (scrollRef?.current) {
17
- scrollRef.current.scrollLeft += direction === "left" ? -scrollAmount : scrollAmount;
18
- }
19
- };
20
- useEffect(() => {
21
- checkIfScrollNeeded();
22
- window.addEventListener("resize", checkIfScrollNeeded);
23
- return () => {
24
- window.removeEventListener("resize", checkIfScrollNeeded);
25
- };
26
- }, [checkIfScrollNeeded, ...effectDependencies]);
27
- return { isScrollable, scroll };
28
- };
29
-
30
- export {
31
- useDynamicScroll
32
- };
33
- //# sourceMappingURL=chunk-IXEF6LYV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/useDynamicScroll/useDynamicScroll.ts"],"sourcesContent":["import { RefObject, useCallback, useEffect, useState } from 'react';\n\ntype useDynamicScrollParams = {\n scrollRef: RefObject<HTMLDivElement | null>;\n scrollAmount?: number;\n effectDependencies: unknown[];\n};\n\nexport const useDynamicScroll = ({\n scrollRef,\n scrollAmount = 300,\n effectDependencies,\n}: useDynamicScrollParams) => {\n const [isScrollable, setIsScrollable] = useState(false);\n\n const checkIfScrollNeeded = useCallback(() => {\n if (scrollRef.current) {\n const { scrollWidth, clientWidth } = scrollRef.current;\n setIsScrollable(scrollWidth > clientWidth);\n }\n }, []);\n\n const scroll = (direction: 'left' | 'right') => {\n if (scrollRef?.current) {\n scrollRef.current.scrollLeft +=\n direction === 'left' ? -scrollAmount : scrollAmount;\n }\n };\n\n useEffect(() => {\n checkIfScrollNeeded();\n\n window.addEventListener('resize', checkIfScrollNeeded);\n\n return () => {\n window.removeEventListener('resize', checkIfScrollNeeded);\n };\n }, [checkIfScrollNeeded, ...effectDependencies]);\n\n return { isScrollable, scroll };\n};\n"],"mappings":";AAAA,SAAoB,aAAa,WAAW,gBAAgB;AAQrD,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,eAAe;AAAA,EACf;AACF,MAA8B;AAC5B,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAEtD,QAAM,sBAAsB,YAAY,MAAM;AAC5C,QAAI,UAAU,SAAS;AACrB,YAAM,EAAE,aAAa,YAAY,IAAI,UAAU;AAC/C,sBAAgB,cAAc,WAAW;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,SAAS,CAAC,cAAgC;AAC9C,QAAI,WAAW,SAAS;AACtB,gBAAU,QAAQ,cAChB,cAAc,SAAS,CAAC,eAAe;AAAA,IAC3C;AAAA,EACF;AAEA,YAAU,MAAM;AACd,wBAAoB;AAEpB,WAAO,iBAAiB,UAAU,mBAAmB;AAErD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,mBAAmB;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;AAE/C,SAAO,EAAE,cAAc,OAAO;AAChC;","names":[]}
@@ -1,21 +0,0 @@
1
- // src/utils/flattenTableFilters/flattenTableFilters.ts
2
- var getFlattenedFiltersLabels = (filters, fieldName) => {
3
- return filters.map((value) => {
4
- if (typeof value === "object") {
5
- return value[fieldName] ?? "";
6
- }
7
- return value;
8
- });
9
- };
10
- var getFlattenedFiltersIds = (filters) => Object.fromEntries(
11
- Object.entries(filters).map(([id, values]) => [
12
- id,
13
- values.map((value) => typeof value === "object" ? value.id : value)
14
- ])
15
- );
16
-
17
- export {
18
- getFlattenedFiltersLabels,
19
- getFlattenedFiltersIds
20
- };
21
- //# sourceMappingURL=chunk-LRY6GATP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/flattenTableFilters/flattenTableFilters.ts"],"sourcesContent":["import { HeaderFilterObject, HeaderFilters } from \"@/components/TableDesktop/TableDesktop\";\n\nexport type FlattenedFilterIds = {\n [key: string]: (string | number)[];\n};\n\nexport const getFlattenedFiltersLabels = (\n filters: string[] | HeaderFilterObject[],\n fieldName: string,\n): (string | number)[] => {\n return filters.map((value: string | HeaderFilterObject) => {\n if (typeof value === 'object') {\n return value[fieldName] ?? '';\n }\n return value;\n });\n};\n\nexport const getFlattenedFiltersIds = (\n filters: HeaderFilters,\n): FlattenedFilterIds =>\n Object.fromEntries(\n Object.entries(filters).map(([id, values]) => [\n id,\n values.map((value) => (typeof value === 'object' ? value.id : value)),\n ]),\n );\n"],"mappings":";AAMO,IAAM,4BAA4B,CACvC,SACA,cACwB;AACxB,SAAO,QAAQ,IAAI,CAAC,UAAuC;AACzD,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,MAAM,SAAS,KAAK;AAAA,IAC7B;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAEO,IAAM,yBAAyB,CACpC,YAEA,OAAO;AAAA,EACL,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,MAAM;AAAA,IAC5C;AAAA,IACA,OAAO,IAAI,CAAC,UAAW,OAAO,UAAU,WAAW,MAAM,KAAK,KAAM;AAAA,EACtE,CAAC;AACH;","names":[]}
@@ -1,47 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/utils/index.ts
20
- var utils_exports = {};
21
- __export(utils_exports, {
22
- getFlattenedFiltersIds: () => getFlattenedFiltersIds,
23
- getFlattenedFiltersLabels: () => getFlattenedFiltersLabels
24
- });
25
- module.exports = __toCommonJS(utils_exports);
26
-
27
- // src/utils/flattenTableFilters/flattenTableFilters.ts
28
- var getFlattenedFiltersLabels = (filters, fieldName) => {
29
- return filters.map((value) => {
30
- if (typeof value === "object") {
31
- return value[fieldName] ?? "";
32
- }
33
- return value;
34
- });
35
- };
36
- var getFlattenedFiltersIds = (filters) => Object.fromEntries(
37
- Object.entries(filters).map(([id, values]) => [
38
- id,
39
- values.map((value) => typeof value === "object" ? value.id : value)
40
- ])
41
- );
42
- // Annotate the CommonJS export names for ESM import in node:
43
- 0 && (module.exports = {
44
- getFlattenedFiltersIds,
45
- getFlattenedFiltersLabels
46
- });
47
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/index.ts","../../src/utils/flattenTableFilters/flattenTableFilters.ts"],"sourcesContent":["export { getFlattenedFiltersLabels, getFlattenedFiltersIds, type FlattenedFilterIds } from './flattenTableFilters/flattenTableFilters';","import { HeaderFilterObject, HeaderFilters } from \"@/components/TableDesktop/TableDesktop\";\n\nexport type FlattenedFilterIds = {\n [key: string]: (string | number)[];\n};\n\nexport const getFlattenedFiltersLabels = (\n filters: string[] | HeaderFilterObject[],\n fieldName: string,\n): (string | number)[] => {\n return filters.map((value: string | HeaderFilterObject) => {\n if (typeof value === 'object') {\n return value[fieldName] ?? '';\n }\n return value;\n });\n};\n\nexport const getFlattenedFiltersIds = (\n filters: HeaderFilters,\n): FlattenedFilterIds =>\n Object.fromEntries(\n Object.entries(filters).map(([id, values]) => [\n id,\n values.map((value) => (typeof value === 'object' ? value.id : value)),\n ]),\n );\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACMO,IAAM,4BAA4B,CACvC,SACA,cACwB;AACxB,SAAO,QAAQ,IAAI,CAAC,UAAuC;AACzD,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,MAAM,SAAS,KAAK;AAAA,IAC7B;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAEO,IAAM,yBAAyB,CACpC,YAEA,OAAO;AAAA,EACL,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,MAAM;AAAA,IAC5C;AAAA,IACA,OAAO,IAAI,CAAC,UAAW,OAAO,UAAU,WAAW,MAAM,KAAK,KAAM;AAAA,EACtE,CAAC;AACH;","names":[]}
@@ -1,12 +0,0 @@
1
- import { c as HeaderFilterObject, a as HeaderFilters } from '../TableDesktop-BLEssG6r.cjs';
2
- import 'react/jsx-runtime';
3
- import 'react';
4
- import '@mui/material';
5
-
6
- type FlattenedFilterIds = {
7
- [key: string]: (string | number)[];
8
- };
9
- declare const getFlattenedFiltersLabels: (filters: string[] | HeaderFilterObject[], fieldName: string) => (string | number)[];
10
- declare const getFlattenedFiltersIds: (filters: HeaderFilters) => FlattenedFilterIds;
11
-
12
- export { type FlattenedFilterIds, getFlattenedFiltersIds, getFlattenedFiltersLabels };
@@ -1,12 +0,0 @@
1
- import { c as HeaderFilterObject, a as HeaderFilters } from '../TableDesktop-BLEssG6r.js';
2
- import 'react/jsx-runtime';
3
- import 'react';
4
- import '@mui/material';
5
-
6
- type FlattenedFilterIds = {
7
- [key: string]: (string | number)[];
8
- };
9
- declare const getFlattenedFiltersLabels: (filters: string[] | HeaderFilterObject[], fieldName: string) => (string | number)[];
10
- declare const getFlattenedFiltersIds: (filters: HeaderFilters) => FlattenedFilterIds;
11
-
12
- export { type FlattenedFilterIds, getFlattenedFiltersIds, getFlattenedFiltersLabels };
@@ -1,10 +0,0 @@
1
- import {
2
- getFlattenedFiltersIds,
3
- getFlattenedFiltersLabels
4
- } from "../chunk-LRY6GATP.js";
5
- import "../chunk-5WRI5ZAA.js";
6
- export {
7
- getFlattenedFiltersIds,
8
- getFlattenedFiltersLabels
9
- };
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}