@contember/react-board 2.1.0-alpha.9 → 2.1.0-beta.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.
Files changed (102) hide show
  1. package/dist/development/index.cjs +4 -4
  2. package/dist/development/index.js +2 -2
  3. package/dist/development/src/components/Board.cjs +217 -207
  4. package/dist/development/src/components/Board.cjs.map +1 -1
  5. package/dist/development/src/components/Board.js +218 -208
  6. package/dist/development/src/components/Board.js.map +1 -1
  7. package/dist/development/src/components/BoardColumn.cjs.map +1 -1
  8. package/dist/development/src/components/BoardColumn.js.map +1 -1
  9. package/dist/development/src/components/BoardColumnLabel.cjs.map +1 -1
  10. package/dist/development/src/components/BoardColumnLabel.js.map +1 -1
  11. package/dist/development/src/components/BoardEachColumn.cjs +7 -7
  12. package/dist/development/src/components/BoardEachColumn.cjs.map +1 -1
  13. package/dist/development/src/components/BoardEachColumn.js +7 -7
  14. package/dist/development/src/components/BoardEachColumn.js.map +1 -1
  15. package/dist/development/src/components/BoardEachItem.cjs +7 -7
  16. package/dist/development/src/components/BoardEachItem.cjs.map +1 -1
  17. package/dist/development/src/components/BoardEachItem.js +7 -7
  18. package/dist/development/src/components/BoardEachItem.js.map +1 -1
  19. package/dist/development/src/components/BoardItem.cjs.map +1 -1
  20. package/dist/development/src/components/BoardItem.js.map +1 -1
  21. package/dist/development/src/components/BoardNullColumn.cjs.map +1 -1
  22. package/dist/development/src/components/BoardNullColumn.js.map +1 -1
  23. package/dist/development/src/contexts.cjs.map +1 -1
  24. package/dist/development/src/contexts.js.map +1 -1
  25. package/dist/development/src/internal/boardAnalyzer.cjs.map +1 -1
  26. package/dist/development/src/internal/boardAnalyzer.js +1 -1
  27. package/dist/development/src/internal/boardAnalyzer.js.map +1 -1
  28. package/dist/development/src/internal/useBoardItemsMethods.cjs +11 -1
  29. package/dist/development/src/internal/useBoardItemsMethods.cjs.map +1 -1
  30. package/dist/development/src/internal/useBoardItemsMethods.js +11 -1
  31. package/dist/development/src/internal/useBoardItemsMethods.js.map +1 -1
  32. package/dist/development/src/internal/useCreateBoardColumns.cjs.map +1 -1
  33. package/dist/development/src/internal/useCreateBoardColumns.js.map +1 -1
  34. package/dist/development/src/internal/useDynamicBoard.cjs.map +1 -1
  35. package/dist/development/src/internal/useDynamicBoard.js.map +1 -1
  36. package/dist/development/src/internal/useGroupItemsByColumn.cjs.map +1 -1
  37. package/dist/development/src/internal/useGroupItemsByColumn.js.map +1 -1
  38. package/dist/development/src/internal/useStaticBoard.cjs.map +1 -1
  39. package/dist/development/src/internal/useStaticBoard.js.map +1 -1
  40. package/dist/development/src/utils/arrayMove.cjs.map +1 -1
  41. package/dist/development/src/utils/arrayMove.js.map +1 -1
  42. package/dist/production/index.cjs +4 -4
  43. package/dist/production/index.js +2 -2
  44. package/dist/production/src/components/Board.cjs +102 -92
  45. package/dist/production/src/components/Board.cjs.map +1 -1
  46. package/dist/production/src/components/Board.js +104 -94
  47. package/dist/production/src/components/Board.js.map +1 -1
  48. package/dist/production/src/components/BoardColumn.cjs.map +1 -1
  49. package/dist/production/src/components/BoardColumn.js.map +1 -1
  50. package/dist/production/src/components/BoardColumnLabel.cjs.map +1 -1
  51. package/dist/production/src/components/BoardColumnLabel.js.map +1 -1
  52. package/dist/production/src/components/BoardEachColumn.cjs.map +1 -1
  53. package/dist/production/src/components/BoardEachColumn.js.map +1 -1
  54. package/dist/production/src/components/BoardEachItem.cjs.map +1 -1
  55. package/dist/production/src/components/BoardEachItem.js.map +1 -1
  56. package/dist/production/src/components/BoardItem.cjs.map +1 -1
  57. package/dist/production/src/components/BoardItem.js.map +1 -1
  58. package/dist/production/src/components/BoardNullColumn.cjs.map +1 -1
  59. package/dist/production/src/components/BoardNullColumn.js.map +1 -1
  60. package/dist/production/src/contexts.cjs.map +1 -1
  61. package/dist/production/src/contexts.js.map +1 -1
  62. package/dist/production/src/internal/boardAnalyzer.cjs.map +1 -1
  63. package/dist/production/src/internal/boardAnalyzer.js +1 -1
  64. package/dist/production/src/internal/boardAnalyzer.js.map +1 -1
  65. package/dist/production/src/internal/useBoardItemsMethods.cjs +11 -1
  66. package/dist/production/src/internal/useBoardItemsMethods.cjs.map +1 -1
  67. package/dist/production/src/internal/useBoardItemsMethods.js +11 -1
  68. package/dist/production/src/internal/useBoardItemsMethods.js.map +1 -1
  69. package/dist/production/src/internal/useCreateBoardColumns.cjs.map +1 -1
  70. package/dist/production/src/internal/useCreateBoardColumns.js.map +1 -1
  71. package/dist/production/src/internal/useDynamicBoard.cjs.map +1 -1
  72. package/dist/production/src/internal/useDynamicBoard.js.map +1 -1
  73. package/dist/production/src/internal/useGroupItemsByColumn.cjs.map +1 -1
  74. package/dist/production/src/internal/useGroupItemsByColumn.js.map +1 -1
  75. package/dist/production/src/internal/useStaticBoard.cjs.map +1 -1
  76. package/dist/production/src/internal/useStaticBoard.js.map +1 -1
  77. package/dist/production/src/utils/arrayMove.cjs.map +1 -1
  78. package/dist/production/src/utils/arrayMove.js.map +1 -1
  79. package/dist/types/components/Board.d.ts.map +1 -1
  80. package/dist/types/components/BoardEachColumn.d.ts.map +1 -1
  81. package/dist/types/components/BoardEachItem.d.ts.map +1 -1
  82. package/dist/types/contexts.d.ts.map +1 -1
  83. package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
  84. package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -1
  85. package/dist/types/internal/useDynamicBoard.d.ts.map +1 -1
  86. package/dist/types/internal/useGroupItemsByColumn.d.ts.map +1 -1
  87. package/dist/types/internal/useStaticBoard.d.ts.map +1 -1
  88. package/dist/types/tsconfig.tsbuildinfo +1 -1
  89. package/dist/types/types/BoardData.d.ts.map +1 -1
  90. package/dist/types/types/BoardMethods.d.ts.map +1 -1
  91. package/package.json +9 -9
  92. package/src/components/Board.tsx +152 -143
  93. package/src/components/BoardEachColumn.tsx +20 -16
  94. package/src/components/BoardEachItem.tsx +15 -14
  95. package/src/contexts.ts +0 -1
  96. package/src/internal/useBoardItemsMethods.ts +13 -8
  97. package/src/internal/useCreateBoardColumns.ts +0 -3
  98. package/src/internal/useDynamicBoard.ts +2 -13
  99. package/src/internal/useGroupItemsByColumn.ts +4 -1
  100. package/src/internal/useStaticBoard.ts +0 -2
  101. package/src/types/BoardData.ts +3 -4
  102. package/src/types/BoardMethods.ts +5 -1
@@ -13,23 +13,23 @@ const BoardEachColumn = ({ children }) => {
13
13
  }
14
14
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentColumnContext.Provider, { value: column, children: reactBinding.isEntityAccessor(column.value) ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.Entity, { accessor: column.value, children }, void 0, false, {
15
15
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
16
- lineNumber: 21,
17
- columnNumber: 7
16
+ lineNumber: 23,
17
+ columnNumber: 9
18
18
  }, void 0) : children }, column.id, false, {
19
19
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
20
- lineNumber: 19,
21
- columnNumber: 5
20
+ lineNumber: 20,
21
+ columnNumber: 6
22
22
  }, void 0);
23
23
  }) }, void 0, false, {
24
24
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
25
- lineNumber: 13,
26
- columnNumber: 9
25
+ lineNumber: 14,
26
+ columnNumber: 3
27
27
  }, void 0);
28
28
  };
29
29
  BoardEachColumn.staticRender = ({ children }) => {
30
30
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(BoardColumn.BoardColumn, { children }, void 0, false, {
31
31
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
32
- lineNumber: 31,
32
+ lineNumber: 35,
33
33
  columnNumber: 9
34
34
  }, void 0);
35
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["useBoardColumns","jsxDEV","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","isEntityAccessor","Entity","this","BoardColumn"],"mappings":";;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA,gBAAgB;AAEzB,SAAAC,8BAAAA,OAAAC,cAAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAOC,mCAA4B;AACtC,aAAA;AAAA,IAAA;AAER,WACEF,8BAAA,OAAAG,SAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAAC,aAAA,iBAAiB,OAAO,KAAK,IAC5BJ,qCAAAK,aAAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SADF,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAEAC,MAAA,IACG,SALmD,GAAA,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAMA,GAAAA,MAAA;AAAA,EAAA,CAED,EAdK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAeP,GAAAA,MAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAAN,8BAAAA,OAACO,YAAAA,eAAa,SAAd,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAuB,GAAAD,MAAA;AAC/B;;"}
1
+ {"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn (\n\t\t<>\n\t\t\t{columns.map(column => {\n\t\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t\t{isEntityAccessor(column.value)\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Entity>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: children}\n\t\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t\t)\n\t\t\t})}\n\t\t</>\n\t)\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["useBoardColumns","jsxDEV","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","isEntityAccessor","Entity","this","BoardColumn"],"mappings":";;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA,gBAAA;AAEhB,SACCC,8BAAAA,OAAAC,cAAAA,UAAA,EACE,UAAA,QAAQ,IAAI,CAAA,WAAU;AACtB,QAAI,OAAO,OAAOC,mCAA4B;AAC7C,aAAO;AAAA,IACR;AACA,WACCF,8BAAAA,OAACG,SAAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAAC,aAAAA,iBAAiB,OAAO,KAAK,IAE5BJ,qCAACK,aAAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SAAA,GADF,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAAC,MAEA,IAEC,SAAA,GAPoD,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAAA,MAQA;AAAA,EAEF,CAAC,EAAA,GAhBF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAiBA;AAEF;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AACzE,SAAON,8BAAAA,OAACO,YAAAA,eAAa,SAAA,GAAd,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAD,MAAuB;AAC/B;;"}
@@ -11,23 +11,23 @@ const BoardEachColumn = ({ children }) => {
11
11
  }
12
12
  return /* @__PURE__ */ jsxDEV(BoardCurrentColumnContext.Provider, { value: column, children: isEntityAccessor(column.value) ? /* @__PURE__ */ jsxDEV(Entity, { accessor: column.value, children }, void 0, false, {
13
13
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
14
- lineNumber: 21,
15
- columnNumber: 7
14
+ lineNumber: 23,
15
+ columnNumber: 9
16
16
  }, void 0) : children }, column.id, false, {
17
17
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
18
- lineNumber: 19,
19
- columnNumber: 5
18
+ lineNumber: 20,
19
+ columnNumber: 6
20
20
  }, void 0);
21
21
  }) }, void 0, false, {
22
22
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
23
- lineNumber: 13,
24
- columnNumber: 9
23
+ lineNumber: 14,
24
+ columnNumber: 3
25
25
  }, void 0);
26
26
  };
27
27
  BoardEachColumn.staticRender = ({ children }) => {
28
28
  return /* @__PURE__ */ jsxDEV(BoardColumn, { children }, void 0, false, {
29
29
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
30
- lineNumber: 31,
30
+ lineNumber: 35,
31
31
  columnNumber: 9
32
32
  }, void 0);
33
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["this"],"mappings":";;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU,gBAAgB;AAEzB,SAAA,uBAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAO,4BAA4B;AACtC,aAAA;AAAA,IAAA;AAER,WACE,uBAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAA,iBAAiB,OAAO,KAAK,IAC5B,uBAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SADF,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAEAA,MAAA,IACG,SALmD,GAAA,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAMA,GAAAA,MAAA;AAAA,EAAA,CAED,EAdK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAeP,GAAAA,MAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAA,uBAAC,eAAa,SAAd,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAuB,GAAAA,MAAA;AAC/B;"}
1
+ {"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn (\n\t\t<>\n\t\t\t{columns.map(column => {\n\t\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t\t{isEntityAccessor(column.value)\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Entity>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: children}\n\t\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t\t)\n\t\t\t})}\n\t\t</>\n\t)\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["this"],"mappings":";;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU,gBAAA;AAEhB,SACC,uBAAA,UAAA,EACE,UAAA,QAAQ,IAAI,CAAA,WAAU;AACtB,QAAI,OAAO,OAAO,4BAA4B;AAC7C,aAAO;AAAA,IACR;AACA,WACC,uBAAC,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAA,iBAAiB,OAAO,KAAK,IAE5B,uBAAC,QAAA,EAAO,UAAU,OAAO,OACvB,SAAA,GADF,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAAA,MAEA,IAEC,SAAA,GAPoD,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAAA,MAQA;AAAA,EAEF,CAAC,EAAA,GAhBF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAiBA;AAEF;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AACzE,SAAO,uBAAC,eAAa,SAAA,GAAd,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAuB;AAC/B;"}
@@ -19,21 +19,21 @@ const BoardEachItem = ({ children }) => {
19
19
  false,
20
20
  {
21
21
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
22
- lineNumber: 15,
23
- columnNumber: 5
22
+ lineNumber: 16,
23
+ columnNumber: 6
24
24
  },
25
25
  void 0
26
26
  );
27
27
  }) }, void 0, false, {
28
28
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
29
- lineNumber: 12,
30
- columnNumber: 9
29
+ lineNumber: 13,
30
+ columnNumber: 3
31
31
  }, void 0);
32
32
  };
33
33
  BoardEachItem.staticRender = ({ children }) => {
34
34
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(BoardItem.BoardItem, { children }, void 0, false, {
35
35
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
36
- lineNumber: 27,
36
+ lineNumber: 29,
37
37
  columnNumber: 9
38
38
  }, void 0);
39
39
  };
@@ -44,11 +44,11 @@ const BoardEachItemInner = ({ children, item, column }) => {
44
44
  }), [item, column]);
45
45
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentItemContext.Provider, { value: itemWithColumn, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.Entity, { accessor: item.value, children }, void 0, false, {
46
46
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
47
- lineNumber: 43,
47
+ lineNumber: 44,
48
48
  columnNumber: 4
49
49
  }, void 0) }, item.id, false, {
50
50
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
51
- lineNumber: 42,
51
+ lineNumber: 43,
52
52
  columnNumber: 3
53
53
  }, void 0);
54
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BoardEachItem.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn <>\n\t\t{currentColumn.items.map((item, index) => {\n\t\t\treturn (\n\t\t\t\t<BoardEachItemInner\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardEachItemInner>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["useBoardCurrentColumn","jsxDEV","this","BoardItem","useMemo","BoardCurrentItemContext","Entity"],"mappings":";;;;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgBA,SAAAA,sBAAsB;AAE5C,wEACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAAC,8BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,MADX;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAAC;AAAAA,IAMA;AAAA,EAAA,CAED,EAXK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAYP,GAAAA,MAAA;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAAD,8BAAAA,OAACE,UAAAA,aAAW,SAAZ,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAqB,GAAAD,MAAA;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiBE,MAAAA,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EAAA,IACG,CAAC,MAAM,MAAM,CAAC;AAGjB,SAAAH,8BAAAA,OAACI,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAAJ,8BAAA,OAACK,aAAO,QAAA,EAAA,UAAU,KAAK,OACrB,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAJ,MAAA,EAAA,GAH6D,KAAK,IAAnE,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAAA,MAAA;AAEF;;"}
1
+ {"version":3,"file":"BoardEachItem.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn (\n\t\t<>\n\t\t\t{currentColumn.items.map((item, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t<BoardEachItemInner\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</BoardEachItemInner>\n\t\t\t\t)\n\t\t\t})}\n\t\t</>\n\t)\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["useBoardCurrentColumn","jsxDEV","this","BoardItem","useMemo","BoardCurrentItemContext","Entity"],"mappings":";;;;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgBA,SAAAA,sBAAA;AAEtB,wEAEG,UAAA,cAAc,MAAM,IAAI,CAAC,MAAM,UAAU;AACzC,WACCC,8BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,MADX;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAAC;AAAAA,IAAA;AAAA,EAQF,CAAC,EAAA,GAXF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAYA;AAEF;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AACvE,SAAOD,8BAAAA,OAACE,UAAAA,aAAW,SAAA,GAAZ,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAD,MAAqB;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAIxC;AACL,QAAM,iBAAiBE,MAAAA,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EAAA,IACG,CAAC,MAAM,MAAM,CAAC;AAElB,SACCH,8BAAAA,OAACI,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAAJ,8BAAAA,OAACK,aAAAA,QAAA,EAAO,UAAU,KAAK,OACrB,SAAA,GADF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAJ,MAEA,EAAA,GAH6D,KAAK,IAAnE,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA;AAEF;;"}
@@ -17,21 +17,21 @@ const BoardEachItem = ({ children }) => {
17
17
  false,
18
18
  {
19
19
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
20
- lineNumber: 15,
21
- columnNumber: 5
20
+ lineNumber: 16,
21
+ columnNumber: 6
22
22
  },
23
23
  void 0
24
24
  );
25
25
  }) }, void 0, false, {
26
26
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
27
- lineNumber: 12,
28
- columnNumber: 9
27
+ lineNumber: 13,
28
+ columnNumber: 3
29
29
  }, void 0);
30
30
  };
31
31
  BoardEachItem.staticRender = ({ children }) => {
32
32
  return /* @__PURE__ */ jsxDEV(BoardItem, { children }, void 0, false, {
33
33
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
34
- lineNumber: 27,
34
+ lineNumber: 29,
35
35
  columnNumber: 9
36
36
  }, void 0);
37
37
  };
@@ -42,11 +42,11 @@ const BoardEachItemInner = ({ children, item, column }) => {
42
42
  }), [item, column]);
43
43
  return /* @__PURE__ */ jsxDEV(BoardCurrentItemContext.Provider, { value: itemWithColumn, children: /* @__PURE__ */ jsxDEV(Entity, { accessor: item.value, children }, void 0, false, {
44
44
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
45
- lineNumber: 43,
45
+ lineNumber: 44,
46
46
  columnNumber: 4
47
47
  }, void 0) }, item.id, false, {
48
48
  fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachItem.tsx",
49
- lineNumber: 42,
49
+ lineNumber: 43,
50
50
  columnNumber: 3
51
51
  }, void 0);
52
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BoardEachItem.js","sources":["../../../../../packages/react-board/src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn <>\n\t\t{currentColumn.items.map((item, index) => {\n\t\t\treturn (\n\t\t\t\t<BoardEachItemInner\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardEachItemInner>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgB,sBAAsB;AAE5C,4CACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,MADX;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAAA;AAAAA,IAMA;AAAA,EAAA,CAED,EAXK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAYP,GAAAA,MAAA;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAA,uBAAC,aAAW,SAAZ,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAqB,GAAAA,MAAA;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiB,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EAAA,IACG,CAAC,MAAM,MAAM,CAAC;AAGjB,SAAA,uBAAC,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAA,uBAAC,QAAO,EAAA,UAAU,KAAK,OACrB,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA,EAAA,GAH6D,KAAK,IAAnE,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAAA,MAAA;AAEF;"}
1
+ {"version":3,"file":"BoardEachItem.js","sources":["../../../../../packages/react-board/src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn (\n\t\t<>\n\t\t\t{currentColumn.items.map((item, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t<BoardEachItemInner\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</BoardEachItemInner>\n\t\t\t\t)\n\t\t\t})}\n\t\t</>\n\t)\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgB,sBAAA;AAEtB,4CAEG,UAAA,cAAc,MAAM,IAAI,CAAC,MAAM,UAAU;AACzC,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,MADX;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAAA;AAAAA,IAAA;AAAA,EAQF,CAAC,EAAA,GAXF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAYA;AAEF;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AACvE,SAAO,uBAAC,aAAW,SAAA,GAAZ,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAqB;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAIxC;AACL,QAAM,iBAAiB,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EAAA,IACG,CAAC,MAAM,MAAM,CAAC;AAElB,SACC,uBAAC,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAA,uBAAC,QAAA,EAAO,UAAU,KAAK,OACrB,SAAA,GADF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAEA,EAAA,GAH6D,KAAK,IAAnE,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoardItem.cjs","sources":["../../../../../packages/react-board/src/components/BoardItem.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardItem = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\nBoardItem.staticRender = () => null\n"],"names":[],"mappings":";;AAEa,MAAA,YAAY,CAAC,CAAA,MAEpB;AACE,SAAA;AACR;AACA,UAAU,eAAe,MAAM;;"}
1
+ {"version":3,"file":"BoardItem.cjs","sources":["../../../../../packages/react-board/src/components/BoardItem.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardItem = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\nBoardItem.staticRender = () => null\n"],"names":[],"mappings":";;AAEO,MAAM,YAAY,CAAC,CAAA,MAEpB;AACL,SAAO;AACR;AACA,UAAU,eAAe,MAAM;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoardItem.js","sources":["../../../../../packages/react-board/src/components/BoardItem.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardItem = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\nBoardItem.staticRender = () => null\n"],"names":[],"mappings":"AAEa,MAAA,YAAY,CAAC,CAAA,MAEpB;AACE,SAAA;AACR;AACA,UAAU,eAAe,MAAM;"}
1
+ {"version":3,"file":"BoardItem.js","sources":["../../../../../packages/react-board/src/components/BoardItem.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardItem = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\nBoardItem.staticRender = () => null\n"],"names":[],"mappings":"AAEO,MAAM,YAAY,CAAC,CAAA,MAEpB;AACL,SAAO;AACR;AACA,UAAU,eAAe,MAAM;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoardNullColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n}\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["useBoardColumns","BoardNullColumnPlaceholder","BoardCurrentColumnContext","this"],"mappings":";;;;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAASA,SAAgB,gBAAA,EAAE,KAAK,CAAM,OAAA,GAAG,OAAOC,iCAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EAAA;AAGR,8CACEC,mCAA0B,UAA1B,EAAmC,OAAO,QACzC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAC,MAAA;AAEF;;"}
1
+ {"version":3,"file":"BoardNullColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n}\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["useBoardColumns","BoardNullColumnPlaceholder","BoardCurrentColumnContext","this"],"mappings":";;;;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAASA,SAAAA,gBAAA,EAAkB,KAAK,CAAA,OAAM,GAAG,OAAOC,iCAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACxD,WAAO;AAAA,EACR;AAEA,8CACEC,mCAA0B,UAA1B,EAAmC,OAAO,QACzC,SAAA,GADF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BoardNullColumn.js","sources":["../../../../../packages/react-board/src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n}\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAAS,gBAAgB,EAAE,KAAK,CAAM,OAAA,GAAG,OAAO,0BAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EAAA;AAGR,gCACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA;AAEF;"}
1
+ {"version":3,"file":"BoardNullColumn.js","sources":["../../../../../packages/react-board/src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n}\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAAS,gBAAA,EAAkB,KAAK,CAAA,OAAM,GAAG,OAAO,0BAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACxD,WAAO;AAAA,EACR;AAEA,gCACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,SAAA,GADF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAEA;AAEF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.cjs","sources":["../../../../packages/react-board/src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":["createRequiredContext"],"mappings":";;;AAGA,MAAM,uBAAuBA,iCAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAGrD,MAAM,uBAAuBA,iCAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsBA,iCAAuC,2BAA2B;AAEjF,MAAA,4BAA4B,oBAAoB,CAAC;AACjD,MAAA,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2BA,iCAAmE,yBAAyB;AAEhH,MAAA,0BAA0B,yBAAyB,CAAC;AACpD,MAAA,sBAAsB,yBAAyB,CAAC;;;;;;;;;"}
1
+ {"version":3,"file":"contexts.cjs","sources":["../../../../packages/react-board/src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":["createRequiredContext"],"mappings":";;;AAGA,MAAM,uBAAuBA,WAAAA,sBAAyC,qBAAqB;AAEpF,MAAM,sBAAsB,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,uBAAuBA,WAAAA,sBAAyC,qBAAqB;AAEpF,MAAM,sBAAsB,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsBA,WAAAA,sBAAuC,2BAA2B;AAEvF,MAAM,4BAA4B,oBAAoB,CAAC;AACvD,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2BA,WAAAA,sBAAmE,yBAAyB;AAEtH,MAAM,0BAA0B,yBAAyB,CAAC;AAC1D,MAAM,sBAAsB,yBAAyB,CAAC;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sources":["../../../../packages/react-board/src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":[],"mappings":";AAGA,MAAM,uBAAuB,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAGrD,MAAM,uBAAuB,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsB,sBAAuC,2BAA2B;AAEjF,MAAA,4BAA4B,oBAAoB,CAAC;AACjD,MAAA,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2B,sBAAmE,yBAAyB;AAEhH,MAAA,0BAA0B,yBAAyB,CAAC;AACpD,MAAA,sBAAsB,yBAAyB,CAAC;"}
1
+ {"version":3,"file":"contexts.js","sources":["../../../../packages/react-board/src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":[],"mappings":";AAGA,MAAM,uBAAuB,sBAAyC,qBAAqB;AAEpF,MAAM,sBAAsB,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,uBAAuB,sBAAyC,qBAAqB;AAEpF,MAAM,sBAAsB,qBAAqB,CAAC;AAClD,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsB,sBAAuC,2BAA2B;AAEvF,MAAM,4BAA4B,oBAAoB,CAAC;AACvD,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2B,sBAAmE,yBAAyB;AAEtH,MAAM,0BAA0B,yBAAyB,CAAC;AAC1D,MAAM,sBAAsB,yBAAyB,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAIC,UAAAA,SAAS;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAAA,WAAW;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
1
+ {"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAAA,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAA,IAAaC,UAAAA,SAAS;AACvG,MAAM,aAAa,IAAID,wBAAAA,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAA,IAAaE,YAAAA,WAAW;AAEtG,MAAM,gBAAgB,IAAIC,wBAAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
@@ -1,4 +1,4 @@
1
- import { Leaf, ChildrenAnalyzer } from "@contember/react-multipass-rendering";
1
+ import { ChildrenAnalyzer, Leaf } from "@contember/react-multipass-rendering";
2
2
  import { BoardItem } from "../components/BoardItem.js";
3
3
  import { BoardColumn } from "../components/BoardColumn.js";
4
4
  const itemLeaf = new Leaf((node) => ({ type: "item", children: node.props.children }), BoardItem);
@@ -1 +1 @@
1
- {"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAI,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
1
+ {"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAA,IAAa,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAA,IAAa,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
@@ -79,7 +79,17 @@ const useBoardItemsMethods = ({
79
79
  newColumnItems.splice(index, 0, entity);
80
80
  reactBinding.repairEntitiesOrder(desugaredSortableByField, newColumnItems);
81
81
  };
82
- }, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope]);
82
+ }, [
83
+ columnIdGetter,
84
+ connectItemToColumn,
85
+ desugaredSortableByField,
86
+ getDiscriminatorValue,
87
+ getSortScopeItems,
88
+ groupItemsByColumn,
89
+ itemEntitiesEntitiesGetter,
90
+ resolveScopedIndex,
91
+ sortScope
92
+ ]);
83
93
  const removeItem = React.useCallback((entity) => {
84
94
  if (desugaredSortableByField) {
85
95
  const currentColumn = getDiscriminatorValue(entity);
@@ -1 +1 @@
1
- {"version":3,"file":"useBoardItemsMethods.cjs","sources":["../../../../../packages/react-board/src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\tBatchUpdatesOptions,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder, sortEntities,\n} from '@contember/react-binding'\nimport { BoardColumnKey, UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { arrayMove } from '../utils/arrayMove'\nimport { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../types'\n\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\n\t\t}\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["useCallback","itemEntities","sortEntities","BindingError","repairEntitiesOrder","useMemo","currentIndex","arrayMove"],"mappings":"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"}
1
+ {"version":3,"file":"useBoardItemsMethods.cjs","sources":["../../../../../packages/react-board/src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\tBatchUpdatesOptions,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n} from '@contember/react-binding'\nimport { BoardColumnKey, UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { arrayMove } from '../utils/arrayMove'\nimport { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../types'\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\t\t}\n\t}, [\n\t\tcolumnIdGetter,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tgetDiscriminatorValue,\n\t\tgetSortScopeItems,\n\t\tgroupItemsByColumn,\n\t\titemEntitiesEntitiesGetter,\n\t\tresolveScopedIndex,\n\t\tsortScope,\n\t])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["useCallback","itemEntities","sortEntities","BindingError","repairEntitiesOrder","useMemo","currentIndex","arrayMove"],"mappings":"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"}
@@ -77,7 +77,17 @@ const useBoardItemsMethods = ({
77
77
  newColumnItems.splice(index, 0, entity);
78
78
  repairEntitiesOrder(desugaredSortableByField, newColumnItems);
79
79
  };
80
- }, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope]);
80
+ }, [
81
+ columnIdGetter,
82
+ connectItemToColumn,
83
+ desugaredSortableByField,
84
+ getDiscriminatorValue,
85
+ getSortScopeItems,
86
+ groupItemsByColumn,
87
+ itemEntitiesEntitiesGetter,
88
+ resolveScopedIndex,
89
+ sortScope
90
+ ]);
81
91
  const removeItem = useCallback((entity) => {
82
92
  if (desugaredSortableByField) {
83
93
  const currentColumn = getDiscriminatorValue(entity);
@@ -1 +1 @@
1
- {"version":3,"file":"useBoardItemsMethods.js","sources":["../../../../../packages/react-board/src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\tBatchUpdatesOptions,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder, sortEntities,\n} from '@contember/react-binding'\nimport { BoardColumnKey, UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { arrayMove } from '../utils/arrayMove'\nimport { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../types'\n\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\n\t\t}\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["itemEntities","currentIndex"],"mappings":"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"}
1
+ {"version":3,"file":"useBoardItemsMethods.js","sources":["../../../../../packages/react-board/src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\tBatchUpdatesOptions,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n} from '@contember/react-binding'\nimport { BoardColumnKey, UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { arrayMove } from '../utils/arrayMove'\nimport { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../types'\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\t\t}\n\t}, [\n\t\tcolumnIdGetter,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tgetDiscriminatorValue,\n\t\tgetSortScopeItems,\n\t\tgroupItemsByColumn,\n\t\titemEntitiesEntitiesGetter,\n\t\tresolveScopedIndex,\n\t\tsortScope,\n\t])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["itemEntities","currentIndex"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateBoardColumns.cjs","sources":["../../../../../packages/react-board/src/internal/useCreateBoardColumns.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardColumnNode, BoardColumnValue } from '../types'\n\nexport const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn\n}): BoardColumnNode<ColumnValue>[] => {\n\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\t\tconst result: BoardColumnNode<ColumnValue>[] = [\n\t\t\t{\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: Number.MAX_SAFE_INTEGER,\n\t\t\t\tvalue: null,\n\t\t\t\titems: nullItems.map((it, index) => ({ value: it, id: it.id, index })),\n\t\t\t},\n\t\t]\n\t\tlet index = 0\n\n\n\t\tfor (const column of columns) {\n\t\t\tresult.push({\n\t\t\t\tid: columnIdGetter(column),\n\t\t\t\tindex: index++,\n\t\t\t\tvalue: column,\n\t\t\t\titems: itemsByColumn.get(columnIdGetter(column))?.map((it, index) => ({ value: it, id: it.id, index })) ?? [],\n\t\t\t})\n\t\t}\n\t\treturn result\n\n\t}, [columnIdGetter, columns, groupItemsByColumn, items])\n}\n"],"names":["useMemo","BoardNullColumnPlaceholder","index"],"mappings":";;;;AAMO,MAAM,wBAAwB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,qBAK5E;AAErC,SAAOA,cAAQ,MAAM;AACd,UAAA,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAC;AAC9C,UAAM,SAAyC;AAAA,MAC9C;AAAA,QACC,IAAIC,OAAA;AAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIC,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,SAAQ;AAAA,MAAA;AAAA,IAEvE;AACA,QAAI,QAAQ;AAGZ,eAAW,UAAU,SAAS;AAC7B,aAAO,KAAK;AAAA,QACX,IAAI,eAAe,MAAM;AAAA,QACzB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc,IAAI,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAQ,EAAA,KAAK,CAAA;AAAA,MAAC,CAC5G;AAAA,IAAA;AAEK,WAAA;AAAA,KAEL,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;;"}
1
+ {"version":3,"file":"useCreateBoardColumns.cjs","sources":["../../../../../packages/react-board/src/internal/useCreateBoardColumns.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardColumnNode, BoardColumnValue } from '../types'\n\nexport const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn\n}): BoardColumnNode<ColumnValue>[] => {\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\t\tconst result: BoardColumnNode<ColumnValue>[] = [\n\t\t\t{\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: Number.MAX_SAFE_INTEGER,\n\t\t\t\tvalue: null,\n\t\t\t\titems: nullItems.map((it, index) => ({ value: it, id: it.id, index })),\n\t\t\t},\n\t\t]\n\t\tlet index = 0\n\n\t\tfor (const column of columns) {\n\t\t\tresult.push({\n\t\t\t\tid: columnIdGetter(column),\n\t\t\t\tindex: index++,\n\t\t\t\tvalue: column,\n\t\t\t\titems: itemsByColumn.get(columnIdGetter(column))?.map((it, index) => ({ value: it, id: it.id, index })) ?? [],\n\t\t\t})\n\t\t}\n\t\treturn result\n\t}, [columnIdGetter, columns, groupItemsByColumn, items])\n}\n"],"names":["useMemo","BoardNullColumnPlaceholder","index"],"mappings":";;;;AAMO,MAAM,wBAAwB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,qBAK5E;AACrC,SAAOA,MAAAA,QAAQ,MAAM;AACpB,UAAM,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAA;AAC7C,UAAM,SAAyC;AAAA,MAC9C;AAAA,QACC,IAAIC,OAAAA;AAAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIC,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,SAAQ;AAAA,MAAA;AAAA,IACtE;AAED,QAAI,QAAQ;AAEZ,eAAW,UAAU,SAAS;AAC7B,aAAO,KAAK;AAAA,QACX,IAAI,eAAe,MAAM;AAAA,QACzB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc,IAAI,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAAA,EAAQ,KAAK,CAAA;AAAA,MAAC,CAC5G;AAAA,IACF;AACA,WAAO;AAAA,EACR,GAAG,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateBoardColumns.js","sources":["../../../../../packages/react-board/src/internal/useCreateBoardColumns.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardColumnNode, BoardColumnValue } from '../types'\n\nexport const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn\n}): BoardColumnNode<ColumnValue>[] => {\n\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\t\tconst result: BoardColumnNode<ColumnValue>[] = [\n\t\t\t{\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: Number.MAX_SAFE_INTEGER,\n\t\t\t\tvalue: null,\n\t\t\t\titems: nullItems.map((it, index) => ({ value: it, id: it.id, index })),\n\t\t\t},\n\t\t]\n\t\tlet index = 0\n\n\n\t\tfor (const column of columns) {\n\t\t\tresult.push({\n\t\t\t\tid: columnIdGetter(column),\n\t\t\t\tindex: index++,\n\t\t\t\tvalue: column,\n\t\t\t\titems: itemsByColumn.get(columnIdGetter(column))?.map((it, index) => ({ value: it, id: it.id, index })) ?? [],\n\t\t\t})\n\t\t}\n\t\treturn result\n\n\t}, [columnIdGetter, columns, groupItemsByColumn, items])\n}\n"],"names":["index"],"mappings":";;AAMO,MAAM,wBAAwB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,qBAK5E;AAErC,SAAO,QAAQ,MAAM;AACd,UAAA,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAC;AAC9C,UAAM,SAAyC;AAAA,MAC9C;AAAA,QACC,IAAI;AAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,SAAQ;AAAA,MAAA;AAAA,IAEvE;AACA,QAAI,QAAQ;AAGZ,eAAW,UAAU,SAAS;AAC7B,aAAO,KAAK;AAAA,QACX,IAAI,eAAe,MAAM;AAAA,QACzB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc,IAAI,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAQ,EAAA,KAAK,CAAA;AAAA,MAAC,CAC5G;AAAA,IAAA;AAEK,WAAA;AAAA,KAEL,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;"}
1
+ {"version":3,"file":"useCreateBoardColumns.js","sources":["../../../../../packages/react-board/src/internal/useCreateBoardColumns.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardColumnNode, BoardColumnValue } from '../types'\n\nexport const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn\n}): BoardColumnNode<ColumnValue>[] => {\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\t\tconst result: BoardColumnNode<ColumnValue>[] = [\n\t\t\t{\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: Number.MAX_SAFE_INTEGER,\n\t\t\t\tvalue: null,\n\t\t\t\titems: nullItems.map((it, index) => ({ value: it, id: it.id, index })),\n\t\t\t},\n\t\t]\n\t\tlet index = 0\n\n\t\tfor (const column of columns) {\n\t\t\tresult.push({\n\t\t\t\tid: columnIdGetter(column),\n\t\t\t\tindex: index++,\n\t\t\t\tvalue: column,\n\t\t\t\titems: itemsByColumn.get(columnIdGetter(column))?.map((it, index) => ({ value: it, id: it.id, index })) ?? [],\n\t\t\t})\n\t\t}\n\t\treturn result\n\t}, [columnIdGetter, columns, groupItemsByColumn, items])\n}\n"],"names":["index"],"mappings":";;AAMO,MAAM,wBAAwB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,qBAK5E;AACrC,SAAO,QAAQ,MAAM;AACpB,UAAM,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAA;AAC7C,UAAM,SAAyC;AAAA,MAC9C;AAAA,QACC,IAAI;AAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,SAAQ;AAAA,MAAA;AAAA,IACtE;AAED,QAAI,QAAQ;AAEZ,eAAW,UAAU,SAAS;AAC7B,aAAO,KAAK;AAAA,QACX,IAAI,eAAe,MAAM;AAAA,QACzB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc,IAAI,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAAA,EAAQ,KAAK,CAAA;AAAA,MAAC,CAC5G;AAAA,IACF;AACA,WAAO;AAAA,EACR,GAAG,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDynamicBoard.cjs","sources":["../../../../../packages/react-board/src/internal/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport {\n\tBoardAddColumnMethod,\n\tBoardMethods,\n\tBoardMoveColumnMethod,\n\tBoardRemoveColumnMethod,\n} from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\n\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<EntityAccessor>] => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map(it => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["useCallback","sortEntities","useDesugaredRelativeSingleField","useDesugaredRelativeSingleEntity","useMemo","useGroupItemsByColumn","useCreateBoardColumns","columnEntities","BindingError","addEntityAtIndex","arrayMove","repairEntitiesOrder","useBoardItemsMethods"],"mappings":"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"}
1
+ {"version":3,"file":"useDynamicBoard.cjs","sources":["../../../../../packages/react-board/src/internal/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport { BoardAddColumnMethod, BoardMethods, BoardMoveColumnMethod, BoardRemoveColumnMethod } from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<EntityAccessor>] => {\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map((it: EntityAccessor) => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["useCallback","sortEntities","useDesugaredRelativeSingleField","useDesugaredRelativeSingleEntity","useMemo","useGroupItemsByColumn","useCreateBoardColumns","columnEntities","BindingError","addEntityAtIndex","arrayMove","repairEntitiesOrder","useBoardItemsMethods"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDynamicBoard.js","sources":["../../../../../packages/react-board/src/internal/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport {\n\tBoardAddColumnMethod,\n\tBoardMethods,\n\tBoardMoveColumnMethod,\n\tBoardRemoveColumnMethod,\n} from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\n\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<EntityAccessor>] => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map(it => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["columnEntities"],"mappings":"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"}
1
+ {"version":3,"file":"useDynamicBoard.js","sources":["../../../../../packages/react-board/src/internal/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport { BoardAddColumnMethod, BoardMethods, BoardMoveColumnMethod, BoardRemoveColumnMethod } from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<EntityAccessor>] => {\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map((it: EntityAccessor) => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["columnEntities"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupItemsByColumn.cjs","sources":["../../../../../packages/react-board/src/internal/useGroupItemsByColumn.ts"],"sourcesContent":["import { EntityAccessor, EntityId, EntityListAccessor, RelativeSingleField, sortEntities } from '@contember/react-binding'\nimport { useCallback } from 'react'\n\nexport type BoardColumnKey = string | EntityId | null\nexport type UseGroupItemsByColumn = (itemEntities: EntityListAccessor) => Map<BoardColumnKey, EntityAccessor[]>\nexport const useGroupItemsByColumn = (getDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey, sortBy: RelativeSingleField | undefined): UseGroupItemsByColumn => {\n\treturn useCallback((itemEntities: EntityListAccessor) => {\n\t\tconst itemsByColumn = new Map<BoardColumnKey, EntityAccessor[]>()\n\n\t\tfor (const item of sortEntities(Array.from(itemEntities), sortBy)) {\n\t\t\tconst discriminatedBy = getDiscriminatorValue(item)\n\t\t\tif (!itemsByColumn.has(discriminatedBy)) {\n\t\t\t\titemsByColumn.set(discriminatedBy, [])\n\t\t\t}\n\t\t\titemsByColumn.get(discriminatedBy)?.push(item)\n\t\t}\n\t\treturn itemsByColumn\n\t}, [getDiscriminatorValue, sortBy])\n}\n"],"names":["useCallback","sortEntities"],"mappings":";;;;AAKa,MAAA,wBAAwB,CAAC,uBAAmE,WAAmE;AACpK,SAAAA,MAAAA,YAAY,CAAC,iBAAqC;AAClD,UAAA,oCAAoB,IAAsC;AAEhE,eAAW,QAAQC,0BAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAC5D,YAAA,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AAC1B,sBAAA,IAAI,iBAAiB,EAAE;AAAA,MAAA;AAEtC,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAAA;AAEvC,WAAA;AAAA,EAAA,GACL,CAAC,uBAAuB,MAAM,CAAC;AACnC;;"}
1
+ {"version":3,"file":"useGroupItemsByColumn.cjs","sources":["../../../../../packages/react-board/src/internal/useGroupItemsByColumn.ts"],"sourcesContent":["import { EntityAccessor, EntityId, EntityListAccessor, RelativeSingleField, sortEntities } from '@contember/react-binding'\nimport { useCallback } from 'react'\n\nexport type BoardColumnKey = string | EntityId | null\nexport type UseGroupItemsByColumn = (itemEntities: EntityListAccessor) => Map<BoardColumnKey, EntityAccessor[]>\nexport const useGroupItemsByColumn = (\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey,\n\tsortBy: RelativeSingleField | undefined,\n): UseGroupItemsByColumn => {\n\treturn useCallback((itemEntities: EntityListAccessor) => {\n\t\tconst itemsByColumn = new Map<BoardColumnKey, EntityAccessor[]>()\n\n\t\tfor (const item of sortEntities(Array.from(itemEntities), sortBy)) {\n\t\t\tconst discriminatedBy = getDiscriminatorValue(item)\n\t\t\tif (!itemsByColumn.has(discriminatedBy)) {\n\t\t\t\titemsByColumn.set(discriminatedBy, [])\n\t\t\t}\n\t\t\titemsByColumn.get(discriminatedBy)?.push(item)\n\t\t}\n\t\treturn itemsByColumn\n\t}, [getDiscriminatorValue, sortBy])\n}\n"],"names":["useCallback","sortEntities"],"mappings":";;;;AAKO,MAAM,wBAAwB,CACpC,uBACA,WAC2B;AAC3B,SAAOA,MAAAA,YAAY,CAAC,iBAAqC;AACxD,UAAM,oCAAoB,IAAA;AAE1B,eAAW,QAAQC,0BAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAClE,YAAM,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AACxC,sBAAc,IAAI,iBAAiB,EAAE;AAAA,MACtC;AACA,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAC9C;AACA,WAAO;AAAA,EACR,GAAG,CAAC,uBAAuB,MAAM,CAAC;AACnC;;"}