@join-x5/react-data-grid-settings 1.0.0-rc
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/dist/Area/index.d.ts +11 -0
- package/dist/Area/index.es.js +140 -0
- package/dist/Area/index.es.js.map +1 -0
- package/dist/AreaItem/AreaItem.d.ts +14 -0
- package/dist/AreaItem/AreaItem.es.js +78 -0
- package/dist/AreaItem/AreaItem.es.js.map +1 -0
- package/dist/AreaItem/Content.d.ts +6 -0
- package/dist/AreaItem/Content.es.js +26 -0
- package/dist/AreaItem/Content.es.js.map +1 -0
- package/dist/AreaItem/Handle.d.ts +4 -0
- package/dist/AreaItem/Handle.es.js +20 -0
- package/dist/AreaItem/Handle.es.js.map +1 -0
- package/dist/AreaItem/ItemContent.d.ts +10 -0
- package/dist/AreaItem/ItemContent.es.js +44 -0
- package/dist/AreaItem/ItemContent.es.js.map +1 -0
- package/dist/AreaItem/Visibility.d.ts +4 -0
- package/dist/AreaItem/Visibility.es.js +29 -0
- package/dist/AreaItem/Visibility.es.js.map +1 -0
- package/dist/AreaItem/index.d.ts +7 -0
- package/dist/AreaItem/index.es.js +48 -0
- package/dist/AreaItem/index.es.js.map +1 -0
- package/dist/Columns/hook.d.ts +13 -0
- package/dist/Columns/hook.es.js +66 -0
- package/dist/Columns/hook.es.js.map +1 -0
- package/dist/Columns/index.d.ts +1 -0
- package/dist/Columns/index.es.js +61 -0
- package/dist/Columns/index.es.js.map +1 -0
- package/dist/Columns/utils.d.ts +11 -0
- package/dist/Columns/utils.es.js +72 -0
- package/dist/Columns/utils.es.js.map +1 -0
- package/dist/DataGridSettings.d.ts +2 -0
- package/dist/DataGridSettings.es.js +51 -0
- package/dist/DataGridSettings.es.js.map +1 -0
- package/dist/DataGridSettingsContext.d.ts +12 -0
- package/dist/DataGridSettingsContext.es.js +22 -0
- package/dist/DataGridSettingsContext.es.js.map +1 -0
- package/dist/Footer/LeftButtons.d.ts +1 -0
- package/dist/Footer/LeftButtons.es.js +67 -0
- package/dist/Footer/LeftButtons.es.js.map +1 -0
- package/dist/Footer/index.d.ts +1 -0
- package/dist/Footer/index.es.js +30 -0
- package/dist/Footer/index.es.js.map +1 -0
- package/dist/Search/index.d.ts +1 -0
- package/dist/Search/index.es.js +43 -0
- package/dist/Search/index.es.js.map +1 -0
- package/dist/index.cjs +15 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.es.js +7 -0
- package/dist/index.es.js.map +1 -0
- package/dist/types.d.ts +65 -0
- package/dist/types.es.js +5 -0
- package/dist/types.es.js.map +1 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.es.js +53 -0
- package/dist/utils.es.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.es.js","sources":["../src/utils.ts"],"sourcesContent":["import {SizeTokenValue} from '@join-x5/react-theme';\n\nimport {ColumnArea} from './types';\n\nimport type {ColumnData, ColumnItem, ItemsById} from './types';\n\nexport const getColumnsData = (items: ColumnItem[], areas: ColumnArea[]) => {\n const columns: ColumnData[] = [];\n const itemsById: ItemsById = new Map();\n\n const areaFactor = {\n [ColumnArea.Default]: 0,\n [ColumnArea.FixedLeft]: -1,\n [ColumnArea.FixedRight]: 1,\n };\n\n const sortedItems = [...items].sort((a, b) => {\n const aSort = a.sort + items.length * areaFactor[a.area];\n const bSort = b.sort + items.length * areaFactor[b.area];\n\n return aSort - bSort;\n });\n\n const withFixedLeft = areas.includes(ColumnArea.FixedLeft);\n const withFixedRight = areas.includes(ColumnArea.FixedRight);\n\n const itemsInColumn = (() => {\n const ITEMS_IN_COLUMN = 15;\n const COLUMNS_MAX = 4;\n\n const rem = Math.ceil(items.length / ITEMS_IN_COLUMN);\n const columnsCount = rem > COLUMNS_MAX ? COLUMNS_MAX : rem;\n\n const result = Math.ceil(items.length / columnsCount);\n\n return (result > ITEMS_IN_COLUMN ? result : ITEMS_IN_COLUMN) + (withFixedLeft || withFixedRight ? 1 : 0);\n })();\n\n while (sortedItems.length > 0) {\n const isFirstColumn = columns.length === 0;\n\n const hasFixedLeftArea = isFirstColumn && withFixedLeft;\n const hasFixedLeftItems = sortedItems[0]?.area === ColumnArea.FixedLeft;\n\n const newItemsInColumn = itemsInColumn - (hasFixedLeftArea ? 2 - +hasFixedLeftItems : 0);\n const columnItems = sortedItems.splice(0, newItemsInColumn);\n\n const hasFixedRightArea = sortedItems.length === 0 && withFixedRight;\n const hasFixedRightItems = columnItems.findIndex(item => item.area === ColumnArea.FixedRight) !== -1;\n\n const column: ColumnData = new Map();\n\n if (hasFixedLeftArea || hasFixedLeftItems) {\n column.set(ColumnArea.FixedLeft, []);\n }\n\n column.set(ColumnArea.Default, []);\n\n if (hasFixedRightArea || hasFixedRightItems) {\n column.set(ColumnArea.FixedRight, []);\n }\n\n for (const columnItem of columnItems) {\n const area = column.get(columnItem.area);\n if (!area) {\n continue;\n }\n\n itemsById.set(columnItem.id, columnItem);\n area.push(columnItem.id);\n }\n\n const defaultAreaIsEmpty = column.get(ColumnArea.Default)?.length === 0;\n\n if (defaultAreaIsEmpty) {\n column.delete(ColumnArea.Default);\n }\n\n columns.push(column);\n }\n\n const noDefaultColumnAdded = columns.findIndex(column => column.has(ColumnArea.Default)) === -1;\n if (noDefaultColumnAdded && columns.length) {\n const fixedRightIndex = columns.findIndex(column => column.has(ColumnArea.FixedRight));\n\n if (fixedRightIndex !== -1) {\n const columnAreas = columns[fixedRightIndex];\n const rightItems = columnAreas.get(ColumnArea.FixedRight);\n\n if (rightItems) {\n columnAreas.delete(ColumnArea.FixedRight);\n columnAreas.set(ColumnArea.Default, []);\n columnAreas.set(ColumnArea.FixedRight, rightItems);\n } else {\n columnAreas.set(ColumnArea.Default, []);\n }\n } else {\n columns[columns.length - 1].set(ColumnArea.Default, []);\n }\n }\n\n const size = ((): SizeTokenValue => {\n switch (columns.length) {\n case 1:\n return SizeTokenValue.Small;\n case 2:\n return SizeTokenValue.Medium;\n case 3:\n return SizeTokenValue.Large;\n }\n\n return SizeTokenValue.XLarge;\n })();\n\n return {columns, itemsById, size};\n};\n"],"names":["getColumnsData","items","areas","columns","itemsById","Map","areaFactor","ColumnArea","Default","FixedLeft","FixedRight","sortedItems","sort","a","b","aSort","length","area","bSort","withFixedLeft","includes","withFixedRight","itemsInColumn","rem","Math","ceil","ITEMS_IN_COLUMN","columnsCount","COLUMNS_MAX","result","hasFixedLeftArea","hasFixedLeftItems","newItemsInColumn","columnItems","splice","hasFixedRightArea","hasFixedRightItems","findIndex","item","column","set","columnItem","get","id","push","delete","noDefaultColumnAdded","has","fixedRightIndex","columnAreas","rightItems","size","SizeTokenValue","Small","Medium","Large","XLarge"],"mappings":";;AAMaA,MAAAA,IAAiBA,CAACC,GAAqBC,MAAwB;;AAC1E,QAAMC,IAAwB,CAAE,GAC1BC,wBAA2BC,IAAI,GAE/BC,IAAa;AAAA,IACjB,CAACC,EAAWC,OAAO,GAAG;AAAA,IACtB,CAACD,EAAWE,SAAS,GAAG;AAAA,IACxB,CAACF,EAAWG,UAAU,GAAG;AAAA,EAC3B,GAEMC,IAAc,CAAC,GAAGV,CAAK,EAAEW,KAAK,CAACC,GAAGC,MAAM;AAC5C,UAAMC,IAAQF,EAAED,OAAOX,EAAMe,SAASV,EAAWO,EAAEI,IAAI,GACjDC,IAAQJ,EAAEF,OAAOX,EAAMe,SAASV,EAAWQ,EAAEG,IAAI;AAEvD,WAAOF,IAAQG;AAAAA,EAAAA,CAChB,GAEKC,IAAgBjB,EAAMkB,SAASb,EAAWE,SAAS,GACnDY,IAAiBnB,EAAMkB,SAASb,EAAWG,UAAU,GAErDY,KAAiB,MAAM;AAI3B,UAAMC,IAAMC,KAAKC,KAAKxB,EAAMe,SAASU,EAAe,GAC9CC,IAAeJ,IAAMK,IAAcA,IAAcL,GAEjDM,IAASL,KAAKC,KAAKxB,EAAMe,SAASW,CAAY;AAEpD,YAAQE,IAASH,KAAkBG,IAASH,OAAoBP,KAAiBE,IAAiB,IAAI;AAAA,EAAA,GACrG;AAEIV,SAAAA,EAAYK,SAAS,KAAG;AAG7B,UAAMc,IAFgB3B,EAAQa,WAAW,KAECG,GACpCY,MAAoBpB,IAAAA,EAAY,CAAC,MAAbA,gBAAAA,EAAgBM,UAASV,EAAWE,WAExDuB,IAAmBV,KAAiBQ,IAAmB,IAAI,CAACC,IAAoB,IAChFE,IAActB,EAAYuB,OAAO,GAAGF,CAAgB,GAEpDG,IAAoBxB,EAAYK,WAAW,KAAKK,GAChDe,IAAqBH,EAAYI,UAAUC,CAAAA,MAAQA,EAAKrB,SAASV,EAAWG,UAAU,MAAM,IAE5F6B,wBAAyBlC,IAAI;AAEnC,KAAIyB,KAAoBC,MACtBQ,EAAOC,IAAIjC,EAAWE,WAAW,CAAA,CAAE,GAGrC8B,EAAOC,IAAIjC,EAAWC,SAAS,CAAA,CAAE,IAE7B2B,KAAqBC,MACvBG,EAAOC,IAAIjC,EAAWG,YAAY,CAAA,CAAE;AAGtC,eAAW+B,KAAcR,GAAa;AACpC,YAAMhB,IAAOsB,EAAOG,IAAID,EAAWxB,IAAI;AACvC,MAAKA,MAIKuB,EAAAA,IAAIC,EAAWE,IAAIF,CAAU,GAClCG,EAAAA,KAAKH,EAAWE,EAAE;AAAA,IAAA;AAKzB,MAF2BJ,IAAAA,EAAOG,IAAInC,EAAWC,OAAO,MAA7B+B,gBAAAA,EAAgCvB,YAAW,KAG7D6B,EAAAA,OAAOtC,EAAWC,OAAO,GAGlCL,EAAQyC,KAAKL,CAAM;AAAA,EAAA;AAIjBO,MADyB3C,EAAQkC,UAAUE,CAAAA,MAAUA,EAAOQ,IAAIxC,EAAWC,OAAO,CAAC,MAAM,MACjEL,EAAQa,QAAQ;AACpCgC,UAAAA,IAAkB7C,EAAQkC,UAAUE,CAAAA,MAAUA,EAAOQ,IAAIxC,EAAWG,UAAU,CAAC;AAErF,QAAIsC,MAAoB,IAAI;AACpBC,YAAAA,IAAc9C,EAAQ6C,CAAe,GACrCE,IAAaD,EAAYP,IAAInC,EAAWG,UAAU;AAExD,MAAIwC,KACUL,EAAAA,OAAOtC,EAAWG,UAAU,GACxCuC,EAAYT,IAAIjC,EAAWC,SAAS,CAAA,CAAE,GAC1BgC,EAAAA,IAAIjC,EAAWG,YAAYwC,CAAU,KAEjDD,EAAYT,IAAIjC,EAAWC,SAAS,CAAA,CAAE;AAAA,IACxC;AAEQL,MAAAA,EAAAA,EAAQa,SAAS,CAAC,EAAEwB,IAAIjC,EAAWC,SAAS,EAAE;AAAA,EACxD;AAGF,QAAM2C,KAAQ,MAAsB;AAClC,YAAQhD,EAAQa,QAAM;AAAA,MACpB,KAAK;AACH,eAAOoC,EAAeC;AAAAA,MACxB,KAAK;AACH,eAAOD,EAAeE;AAAAA,MACxB,KAAK;AACH,eAAOF,EAAeG;AAAAA,IAAAA;AAG1B,WAAOH,EAAeI;AAAAA,EAAAA,GACrB;AAEI,SAAA;AAAA,IAACrD,SAAAA;AAAAA,IAASC,WAAAA;AAAAA,IAAW+C,MAAAA;AAAAA,EAAI;AAClC;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@join-x5/react-data-grid-settings",
|
|
3
|
+
"version": "1.0.0-rc",
|
|
4
|
+
"private": false,
|
|
5
|
+
"homepage": "https://www.figma.com/design/c0xn3Ib5FZSfPcnfsOIrmy4i/Join-Web%3A-component",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "dist/index.cjs",
|
|
8
|
+
"module": "dist/index.es.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc --noEmit && vite build",
|
|
15
|
+
"lint": "eslint src --ignore-pattern \"**/*.stories.tsx\""
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@emotion/babel-plugin": "^11.13.5",
|
|
19
|
+
"@eslint/js": "^9.3.0",
|
|
20
|
+
"@laynezh/vite-plugin-lib-assets": "^0.5.24",
|
|
21
|
+
"@types/react": "^18.3.11",
|
|
22
|
+
"@types/react-dom": "^18.3.0",
|
|
23
|
+
"@types/react-window": "^1.8.8",
|
|
24
|
+
"@vitejs/plugin-react": "^4.3.2",
|
|
25
|
+
"eslint": "^8.57.0",
|
|
26
|
+
"eslint-config-prettier": "^9.1.0",
|
|
27
|
+
"eslint-import-resolver-typescript": "^3.6.3",
|
|
28
|
+
"eslint-plugin-import": "^2.31.0",
|
|
29
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
30
|
+
"eslint-plugin-react": "^7.34.1",
|
|
31
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
|
32
|
+
"eslint-plugin-workspaces": "^0.10.1",
|
|
33
|
+
"jsdom": "^25.0.1",
|
|
34
|
+
"prettier": "3.3.3",
|
|
35
|
+
"react": "^18.3.1",
|
|
36
|
+
"react-dom": "^18.3.1",
|
|
37
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
38
|
+
"rollup-plugin-preserve-directives": "^0.4.0",
|
|
39
|
+
"typescript": "^5.4.5",
|
|
40
|
+
"typescript-eslint": "^7.10.0",
|
|
41
|
+
"vite": "^5.4.8",
|
|
42
|
+
"vite-plugin-dts": "^4.2.4",
|
|
43
|
+
"vite-tsconfig-paths": "^5.0.1"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@join-x5/react": "1.0.0-rc",
|
|
47
|
+
"@join-x5/react-theme": "1.0.0-rc",
|
|
48
|
+
"@join-x5/react-icons": "1.0.0-rc",
|
|
49
|
+
"@emotion/react": "^11.11.4",
|
|
50
|
+
"@emotion/styled": "^11.11.5",
|
|
51
|
+
"@dnd-kit/core": "^6.2.0",
|
|
52
|
+
"@dnd-kit/sortable": "^9.0.0"
|
|
53
|
+
},
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@join-x5/react": "1.0.0-rc",
|
|
56
|
+
"@join-x5/react-theme": "1.0.0-rc",
|
|
57
|
+
"@join-x5/react-icons": "1.0.0-rc",
|
|
58
|
+
"@emotion/react": "^11.11.4",
|
|
59
|
+
"@emotion/styled": "^11.11.5",
|
|
60
|
+
"@dnd-kit/core": "^6.2.0",
|
|
61
|
+
"@dnd-kit/sortable": "^9.0.0",
|
|
62
|
+
"react": ">=17.0.0",
|
|
63
|
+
"react-dom": ">=17.0.0"
|
|
64
|
+
}
|
|
65
|
+
}
|