@contember/react-board 2.0.0-alpha.3 → 2.0.0-alpha.31

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 (232) hide show
  1. package/api-extractor.json +3 -0
  2. package/dist/development/index.cjs +9 -9
  3. package/dist/development/index.js +9 -9
  4. package/dist/development/{components → src/components}/Board.cjs +87 -83
  5. package/dist/development/src/components/Board.cjs.map +1 -0
  6. package/dist/development/{components → src/components}/Board.js +81 -77
  7. package/dist/development/src/components/Board.js.map +1 -0
  8. package/dist/development/src/components/BoardColumn.cjs.map +1 -0
  9. package/dist/development/src/components/BoardColumn.js.map +1 -0
  10. package/dist/development/{components → src/components}/BoardColumnLabel.cjs +1 -1
  11. package/dist/development/src/components/BoardColumnLabel.cjs.map +1 -0
  12. package/dist/development/{components → src/components}/BoardColumnLabel.js +1 -1
  13. package/dist/development/src/components/BoardColumnLabel.js.map +1 -0
  14. package/dist/development/{components → src/components}/BoardEachColumn.cjs +5 -6
  15. package/dist/development/src/components/BoardEachColumn.cjs.map +1 -0
  16. package/dist/development/{components → src/components}/BoardEachColumn.js +6 -7
  17. package/dist/development/src/components/BoardEachColumn.js.map +1 -0
  18. package/dist/development/{components → src/components}/BoardEachItem.cjs +7 -7
  19. package/dist/development/src/components/BoardEachItem.cjs.map +1 -0
  20. package/dist/development/{components → src/components}/BoardEachItem.js +5 -5
  21. package/dist/development/src/components/BoardEachItem.js.map +1 -0
  22. package/dist/development/src/components/BoardItem.cjs.map +1 -0
  23. package/dist/development/src/components/BoardItem.js.map +1 -0
  24. package/dist/development/{components → src/components}/BoardNullColumn.cjs +1 -1
  25. package/dist/development/src/components/BoardNullColumn.cjs.map +1 -0
  26. package/dist/development/{components → src/components}/BoardNullColumn.js +1 -1
  27. package/dist/development/src/components/BoardNullColumn.js.map +1 -0
  28. package/dist/development/src/const.cjs.map +1 -0
  29. package/dist/development/src/const.js.map +1 -0
  30. package/dist/development/src/contexts.cjs.map +1 -0
  31. package/dist/development/src/contexts.js.map +1 -0
  32. package/dist/development/src/internal/boardAnalyzer.cjs +13 -0
  33. package/dist/development/src/internal/boardAnalyzer.cjs.map +1 -0
  34. package/dist/development/src/internal/boardAnalyzer.js +13 -0
  35. package/dist/development/src/internal/boardAnalyzer.js.map +1 -0
  36. package/dist/development/{internal → src/internal}/useBoardItemsMethods.cjs +6 -6
  37. package/dist/development/src/internal/useBoardItemsMethods.cjs.map +1 -0
  38. package/dist/development/src/internal/useBoardItemsMethods.js.map +1 -0
  39. package/dist/development/{internal → src/internal}/useCreateBoardColumns.cjs +2 -2
  40. package/dist/development/src/internal/useCreateBoardColumns.cjs.map +1 -0
  41. package/dist/development/src/internal/useCreateBoardColumns.js.map +1 -0
  42. package/dist/{production → development/src}/internal/useDynamicBoard.cjs +11 -11
  43. package/dist/development/src/internal/useDynamicBoard.cjs.map +1 -0
  44. package/dist/development/{internal → src/internal}/useDynamicBoard.js +2 -2
  45. package/dist/development/src/internal/useDynamicBoard.js.map +1 -0
  46. package/dist/{production → development/src}/internal/useGroupItemsByColumn.cjs +2 -2
  47. package/dist/development/src/internal/useGroupItemsByColumn.cjs.map +1 -0
  48. package/dist/development/src/internal/useGroupItemsByColumn.js.map +1 -0
  49. package/dist/{production → development/src}/internal/useStaticBoard.cjs +6 -6
  50. package/dist/development/src/internal/useStaticBoard.cjs.map +1 -0
  51. package/dist/{production → development/src}/internal/useStaticBoard.js +2 -2
  52. package/dist/development/src/internal/useStaticBoard.js.map +1 -0
  53. package/dist/development/src/utils/arrayMove.cjs.map +1 -0
  54. package/dist/development/src/utils/arrayMove.js.map +1 -0
  55. package/dist/production/index.cjs +9 -9
  56. package/dist/production/index.js +9 -9
  57. package/dist/production/{components → src/components}/Board.cjs +17 -13
  58. package/dist/production/src/components/Board.cjs.map +1 -0
  59. package/dist/production/{components → src/components}/Board.js +11 -7
  60. package/dist/production/src/components/Board.js.map +1 -0
  61. package/dist/production/src/components/BoardColumn.cjs.map +1 -0
  62. package/dist/production/src/components/BoardColumn.js.map +1 -0
  63. package/dist/production/src/components/BoardColumnLabel.cjs.map +1 -0
  64. package/dist/production/src/components/BoardColumnLabel.js.map +1 -0
  65. package/dist/production/{components → src/components}/BoardEachColumn.cjs +1 -2
  66. package/dist/production/src/components/BoardEachColumn.cjs.map +1 -0
  67. package/dist/production/{components → src/components}/BoardEachColumn.js +2 -3
  68. package/dist/production/src/components/BoardEachColumn.js.map +1 -0
  69. package/dist/production/{components → src/components}/BoardEachItem.cjs +2 -2
  70. package/dist/production/src/components/BoardEachItem.cjs.map +1 -0
  71. package/dist/production/src/components/BoardEachItem.js.map +1 -0
  72. package/dist/production/src/components/BoardItem.cjs.map +1 -0
  73. package/dist/production/src/components/BoardItem.js.map +1 -0
  74. package/dist/production/src/components/BoardNullColumn.cjs.map +1 -0
  75. package/dist/production/src/components/BoardNullColumn.js.map +1 -0
  76. package/dist/production/src/const.cjs.map +1 -0
  77. package/dist/production/src/const.js.map +1 -0
  78. package/dist/production/src/contexts.cjs.map +1 -0
  79. package/dist/production/src/contexts.js.map +1 -0
  80. package/dist/production/src/internal/boardAnalyzer.cjs +13 -0
  81. package/dist/production/src/internal/boardAnalyzer.cjs.map +1 -0
  82. package/dist/production/src/internal/boardAnalyzer.js +13 -0
  83. package/dist/production/src/internal/boardAnalyzer.js.map +1 -0
  84. package/dist/production/{internal → src/internal}/useBoardItemsMethods.cjs +6 -6
  85. package/dist/production/src/internal/useBoardItemsMethods.cjs.map +1 -0
  86. package/dist/production/src/internal/useBoardItemsMethods.js.map +1 -0
  87. package/dist/production/{internal → src/internal}/useCreateBoardColumns.cjs +2 -2
  88. package/dist/production/src/internal/useCreateBoardColumns.cjs.map +1 -0
  89. package/dist/production/src/internal/useCreateBoardColumns.js.map +1 -0
  90. package/dist/{development → production/src}/internal/useDynamicBoard.cjs +11 -11
  91. package/dist/production/src/internal/useDynamicBoard.cjs.map +1 -0
  92. package/dist/production/{internal → src/internal}/useDynamicBoard.js +2 -2
  93. package/dist/production/src/internal/useDynamicBoard.js.map +1 -0
  94. package/dist/{development → production/src}/internal/useGroupItemsByColumn.cjs +2 -2
  95. package/dist/production/src/internal/useGroupItemsByColumn.cjs.map +1 -0
  96. package/dist/production/src/internal/useGroupItemsByColumn.js.map +1 -0
  97. package/dist/{development → production/src}/internal/useStaticBoard.cjs +6 -6
  98. package/dist/production/src/internal/useStaticBoard.cjs.map +1 -0
  99. package/dist/{development → production/src}/internal/useStaticBoard.js +2 -2
  100. package/dist/production/src/internal/useStaticBoard.js.map +1 -0
  101. package/dist/production/src/utils/arrayMove.cjs.map +1 -0
  102. package/dist/production/src/utils/arrayMove.js.map +1 -0
  103. package/dist/types/components/Board.d.ts.map +1 -1
  104. package/dist/types/components/BoardNullColumn.d.ts.map +1 -1
  105. package/dist/types/contexts.d.ts.map +1 -1
  106. package/dist/types/internal/boardAnalyzer.d.ts +5 -3
  107. package/dist/types/internal/boardAnalyzer.d.ts.map +1 -1
  108. package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
  109. package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -1
  110. package/dist/types/internal/useDynamicBoard.d.ts.map +1 -1
  111. package/dist/types/internal/useStaticBoard.d.ts.map +1 -1
  112. package/dist/types/tsconfig.tsbuildinfo +1 -1
  113. package/dist/types/types/BoardColumnNode.d.ts +1 -1
  114. package/dist/types/types/BoardColumnNode.d.ts.map +1 -1
  115. package/dist/types/types/BoardItemNode.d.ts +1 -1
  116. package/dist/types/types/BoardItemNode.d.ts.map +1 -1
  117. package/dist/types/types/BoardMethods.d.ts +1 -1
  118. package/dist/types/types/BoardMethods.d.ts.map +1 -1
  119. package/package.json +6 -16
  120. package/src/components/Board.tsx +16 -12
  121. package/src/components/BoardEachColumn.tsx +2 -2
  122. package/src/components/BoardNullColumn.tsx +1 -1
  123. package/src/internal/boardAnalyzer.ts +6 -16
  124. package/src/internal/useBoardItemsMethods.ts +1 -1
  125. package/src/internal/useCreateBoardColumns.ts +1 -1
  126. package/src/internal/useDynamicBoard.ts +2 -2
  127. package/src/internal/useStaticBoard.ts +2 -2
  128. package/src/tsconfig.json +0 -1
  129. package/src/types/BoardColumnNode.ts +1 -1
  130. package/src/types/BoardItemNode.ts +1 -1
  131. package/src/types/BoardMethods.ts +7 -7
  132. package/tsconfig.json +7 -0
  133. package/tsdoc.json +6 -0
  134. package/dist/development/components/Board.cjs.map +0 -1
  135. package/dist/development/components/Board.js.map +0 -1
  136. package/dist/development/components/BoardColumn.cjs.map +0 -1
  137. package/dist/development/components/BoardColumn.js.map +0 -1
  138. package/dist/development/components/BoardColumnLabel.cjs.map +0 -1
  139. package/dist/development/components/BoardColumnLabel.js.map +0 -1
  140. package/dist/development/components/BoardEachColumn.cjs.map +0 -1
  141. package/dist/development/components/BoardEachColumn.js.map +0 -1
  142. package/dist/development/components/BoardEachItem.cjs.map +0 -1
  143. package/dist/development/components/BoardEachItem.js.map +0 -1
  144. package/dist/development/components/BoardItem.cjs.map +0 -1
  145. package/dist/development/components/BoardItem.js.map +0 -1
  146. package/dist/development/components/BoardNullColumn.cjs.map +0 -1
  147. package/dist/development/components/BoardNullColumn.js.map +0 -1
  148. package/dist/development/const.cjs.map +0 -1
  149. package/dist/development/const.js.map +0 -1
  150. package/dist/development/contexts.cjs.map +0 -1
  151. package/dist/development/contexts.js.map +0 -1
  152. package/dist/development/internal/boardAnalyzer.cjs +0 -18
  153. package/dist/development/internal/boardAnalyzer.cjs.map +0 -1
  154. package/dist/development/internal/boardAnalyzer.js +0 -18
  155. package/dist/development/internal/boardAnalyzer.js.map +0 -1
  156. package/dist/development/internal/useBoardItemsMethods.cjs.map +0 -1
  157. package/dist/development/internal/useBoardItemsMethods.js.map +0 -1
  158. package/dist/development/internal/useCreateBoardColumns.cjs.map +0 -1
  159. package/dist/development/internal/useCreateBoardColumns.js.map +0 -1
  160. package/dist/development/internal/useDynamicBoard.cjs.map +0 -1
  161. package/dist/development/internal/useDynamicBoard.js.map +0 -1
  162. package/dist/development/internal/useGroupItemsByColumn.cjs.map +0 -1
  163. package/dist/development/internal/useGroupItemsByColumn.js.map +0 -1
  164. package/dist/development/internal/useStaticBoard.cjs.map +0 -1
  165. package/dist/development/internal/useStaticBoard.js.map +0 -1
  166. package/dist/development/utils/arrayMove.cjs.map +0 -1
  167. package/dist/development/utils/arrayMove.js.map +0 -1
  168. package/dist/production/components/Board.cjs.map +0 -1
  169. package/dist/production/components/Board.js.map +0 -1
  170. package/dist/production/components/BoardColumn.cjs.map +0 -1
  171. package/dist/production/components/BoardColumn.js.map +0 -1
  172. package/dist/production/components/BoardColumnLabel.cjs.map +0 -1
  173. package/dist/production/components/BoardColumnLabel.js.map +0 -1
  174. package/dist/production/components/BoardEachColumn.cjs.map +0 -1
  175. package/dist/production/components/BoardEachColumn.js.map +0 -1
  176. package/dist/production/components/BoardEachItem.cjs.map +0 -1
  177. package/dist/production/components/BoardEachItem.js.map +0 -1
  178. package/dist/production/components/BoardItem.cjs.map +0 -1
  179. package/dist/production/components/BoardItem.js.map +0 -1
  180. package/dist/production/components/BoardNullColumn.cjs.map +0 -1
  181. package/dist/production/components/BoardNullColumn.js.map +0 -1
  182. package/dist/production/const.cjs.map +0 -1
  183. package/dist/production/const.js.map +0 -1
  184. package/dist/production/contexts.cjs.map +0 -1
  185. package/dist/production/contexts.js.map +0 -1
  186. package/dist/production/internal/boardAnalyzer.cjs +0 -18
  187. package/dist/production/internal/boardAnalyzer.cjs.map +0 -1
  188. package/dist/production/internal/boardAnalyzer.js +0 -18
  189. package/dist/production/internal/boardAnalyzer.js.map +0 -1
  190. package/dist/production/internal/useBoardItemsMethods.cjs.map +0 -1
  191. package/dist/production/internal/useBoardItemsMethods.js.map +0 -1
  192. package/dist/production/internal/useCreateBoardColumns.cjs.map +0 -1
  193. package/dist/production/internal/useCreateBoardColumns.js.map +0 -1
  194. package/dist/production/internal/useDynamicBoard.cjs.map +0 -1
  195. package/dist/production/internal/useDynamicBoard.js.map +0 -1
  196. package/dist/production/internal/useGroupItemsByColumn.cjs.map +0 -1
  197. package/dist/production/internal/useGroupItemsByColumn.js.map +0 -1
  198. package/dist/production/internal/useStaticBoard.cjs.map +0 -1
  199. package/dist/production/internal/useStaticBoard.js.map +0 -1
  200. package/dist/production/utils/arrayMove.cjs.map +0 -1
  201. package/dist/production/utils/arrayMove.js.map +0 -1
  202. /package/dist/development/{components → src/components}/BoardColumn.cjs +0 -0
  203. /package/dist/development/{components → src/components}/BoardColumn.js +0 -0
  204. /package/dist/development/{components → src/components}/BoardItem.cjs +0 -0
  205. /package/dist/development/{components → src/components}/BoardItem.js +0 -0
  206. /package/dist/development/{const.cjs → src/const.cjs} +0 -0
  207. /package/dist/development/{const.js → src/const.js} +0 -0
  208. /package/dist/development/{contexts.cjs → src/contexts.cjs} +0 -0
  209. /package/dist/development/{contexts.js → src/contexts.js} +0 -0
  210. /package/dist/development/{internal → src/internal}/useBoardItemsMethods.js +0 -0
  211. /package/dist/development/{internal → src/internal}/useCreateBoardColumns.js +0 -0
  212. /package/dist/development/{internal → src/internal}/useGroupItemsByColumn.js +0 -0
  213. /package/dist/development/{utils → src/utils}/arrayMove.cjs +0 -0
  214. /package/dist/development/{utils → src/utils}/arrayMove.js +0 -0
  215. /package/dist/production/{components → src/components}/BoardColumn.cjs +0 -0
  216. /package/dist/production/{components → src/components}/BoardColumn.js +0 -0
  217. /package/dist/production/{components → src/components}/BoardColumnLabel.cjs +0 -0
  218. /package/dist/production/{components → src/components}/BoardColumnLabel.js +0 -0
  219. /package/dist/production/{components → src/components}/BoardEachItem.js +0 -0
  220. /package/dist/production/{components → src/components}/BoardItem.cjs +0 -0
  221. /package/dist/production/{components → src/components}/BoardItem.js +0 -0
  222. /package/dist/production/{components → src/components}/BoardNullColumn.cjs +0 -0
  223. /package/dist/production/{components → src/components}/BoardNullColumn.js +0 -0
  224. /package/dist/production/{const.cjs → src/const.cjs} +0 -0
  225. /package/dist/production/{const.js → src/const.js} +0 -0
  226. /package/dist/production/{contexts.cjs → src/contexts.cjs} +0 -0
  227. /package/dist/production/{contexts.js → src/contexts.js} +0 -0
  228. /package/dist/production/{internal → src/internal}/useBoardItemsMethods.js +0 -0
  229. /package/dist/production/{internal → src/internal}/useCreateBoardColumns.js +0 -0
  230. /package/dist/production/{internal → src/internal}/useGroupItemsByColumn.js +0 -0
  231. /package/dist/production/{utils → src/utils}/arrayMove.cjs +0 -0
  232. /package/dist/production/{utils → src/utils}/arrayMove.js +0 -0
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const reactBinding = require("@contember/react-binding");
5
5
  const boardAnalyzer = require("../internal/boardAnalyzer.cjs");
6
- const react = require("react");
6
+ const React = require("react");
7
7
  const useDynamicBoard = require("../internal/useDynamicBoard.cjs");
8
8
  const useStaticBoard = require("../internal/useStaticBoard.cjs");
9
9
  const contexts = require("../contexts.cjs");
@@ -36,17 +36,18 @@ const BoardQualifiedDynamic = reactBinding.Component(({ entities, orderBy, limit
36
36
  });
37
37
  return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
38
38
  }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
39
- const columnChildren = boardAnalyzer.boardColumnsAnalyzer.processChildren(children, env);
40
- const itemChildren = boardAnalyzer.boardItemsAnalyzer.processChildren(children, env);
39
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
40
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
41
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
41
42
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
42
43
  /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
43
44
  /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
44
45
  sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
45
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: it }, index))
46
+ itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
46
47
  ] }),
47
48
  /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
48
49
  columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
49
- columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: it }, index))
50
+ columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
50
51
  ] })
51
52
  ] });
52
53
  });
@@ -64,17 +65,18 @@ const RelativeDynamicBoard = reactBinding.Component(({ field, orderBy, limit, of
64
65
  });
65
66
  return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
66
67
  }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
67
- const columnChildren = boardAnalyzer.boardColumnsAnalyzer.processChildren(children, env);
68
- const itemChildren = boardAnalyzer.boardItemsAnalyzer.processChildren(children, env);
68
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
69
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
70
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
69
71
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
70
72
  /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
71
73
  /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
72
74
  sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
73
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: it }, index))
75
+ itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
74
76
  ] }),
75
77
  /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
76
78
  columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
77
- columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: it }, index))
79
+ columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
78
80
  ] })
79
81
  ] });
80
82
  });
@@ -89,11 +91,12 @@ const BoardQualifiedStatic = reactBinding.Component(({ entities, orderBy, limit,
89
91
  });
90
92
  return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
91
93
  }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
92
- const itemChildren = boardAnalyzer.boardItemsAnalyzer.processChildren(children, env);
94
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
95
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
93
96
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
94
97
  /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
95
98
  sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
96
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: it }, index))
99
+ itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
97
100
  ] }) });
98
101
  });
99
102
  const RelativeStaticBoard = reactBinding.Component(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
@@ -107,11 +110,12 @@ const RelativeStaticBoard = reactBinding.Component(({ field, orderBy, limit, off
107
110
  });
108
111
  return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
109
112
  }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
110
- const itemChildren = boardAnalyzer.boardItemsAnalyzer.processChildren(children, env);
113
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
114
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
111
115
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
112
116
  /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
113
117
  sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
114
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: it }, index))
118
+ itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
115
119
  ] }) });
116
120
  });
117
121
  exports.Board = Board;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Board.cjs","sources":["../../../../../packages/react-board/src/components/Board.tsx"],"sourcesContent":["import {\n\tComponent,\n\tEntityListSubTree,\n\tField,\n\tHasMany,\n\tHasOne,\n\tSugaredQualifiedEntityList,\n\tSugaredRelativeEntityList,\n\tSugaredRelativeSingleEntity,\n\tSugaredRelativeSingleField,\n\tuseEntityList,\n\tuseEntityListSubTree,\n} from '@contember/react-binding'\nimport { boardAnalyzer } from '../internal/boardAnalyzer'\nimport { Fragment, ReactNode } from 'react'\nimport { useDynamicBoard } from '../internal/useDynamicBoard'\nimport { useStaticBoard } from '../internal/useStaticBoard'\nimport { BoardColumnsContext, BoardMethodsContext } from '../contexts'\n\nexport type BoardProps =\n\t| BoardQualifiedDynamicProps\n\t| BoardRelativeDynamicProps\n\t| BoardQualifiedStaticProps\n\t| BoardRelativeStaticProps\n\n\nexport const Board = Component<BoardProps>(props => {\n\tif ('entities' in props) {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <BoardQualifiedStatic {...(props as BoardQualifiedStaticProps)} />\n\t\t} else {\n\t\t\treturn <BoardQualifiedDynamic {...(props as BoardQualifiedDynamicProps)} />\n\t\t}\n\t} else {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps)} />\n\t\t} else {\n\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps)} />\n\t\t}\n\t}\n})\n\nexport type BoardDynamicColumnsBindingProps = {\n\tcolumns: SugaredQualifiedEntityList['entities']\n\tcolumnsSortableBy?: string | SugaredRelativeSingleField\n\tdiscriminationField: string | SugaredRelativeSingleEntity\n}\n\nexport type BoardStaticColumnsBindingProps = {\n\tcolumns: {\n\t\tvalue: string\n\t\tlabel: ReactNode\n\t}[]\n\tdiscriminationField: string | SugaredRelativeSingleField\n}\n\nexport type BoardCommonProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tsortableBy?: string | SugaredRelativeSingleField\n\t\tsortScope?: 'column' | 'board'\n\t}\n\nexport type BoardQualifiedItemsProps =\n\t& Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardRelativeItemsProps =\n\t& Pick<SugaredRelativeEntityList, 'field' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardQualifiedDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardRelativeItemsProps\n\n\nconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\nexport type BoardQualifiedStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\n\nconst BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeStaticBoard = Component<BoardRelativeStaticProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t</>)\n})\n"],"names":["Component","jsx","useEntityListSubTree","useDynamicBoard","BoardMethodsContext","BoardColumnsContext","boardAnalyzer","jsxs","Fragment","EntityListSubTree","HasOne","Field","useEntityList","HasMany","useStaticBoard"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { Component, useEntityListSubTree, EntityListSubTree, HasOne, Field, useEntityList, HasMany } from "@contember/react-binding";
3
- import { boardColumnsAnalyzer, boardItemsAnalyzer } from "../internal/boardAnalyzer.js";
3
+ import { boardAnalyzer } from "../internal/boardAnalyzer.js";
4
4
  import { Fragment as Fragment$1 } from "react";
5
5
  import { useDynamicBoard } from "../internal/useDynamicBoard.js";
6
6
  import { useStaticBoard } from "../internal/useStaticBoard.js";
@@ -34,8 +34,9 @@ const BoardQualifiedDynamic = Component(({ entities, orderBy, limit, offset, col
34
34
  });
35
35
  return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
36
36
  }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
37
- const columnChildren = boardColumnsAnalyzer.processChildren(children, env);
38
- const itemChildren = boardItemsAnalyzer.processChildren(children, env);
37
+ const childrenByType = boardAnalyzer.processChildren(children, env);
38
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
39
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
39
40
  return /* @__PURE__ */ jsxs(Fragment, { children: [
40
41
  /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
41
42
  /* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
@@ -62,8 +63,9 @@ const RelativeDynamicBoard = Component(({ field, orderBy, limit, offset, columns
62
63
  });
63
64
  return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
64
65
  }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
65
- const columnChildren = boardColumnsAnalyzer.processChildren(children, env);
66
- const itemChildren = boardItemsAnalyzer.processChildren(children, env);
66
+ const childrenByType = boardAnalyzer.processChildren(children, env);
67
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
68
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
67
69
  return /* @__PURE__ */ jsxs(Fragment, { children: [
68
70
  /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
69
71
  /* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
@@ -87,7 +89,8 @@ const BoardQualifiedStatic = Component(({ entities, orderBy, limit, offset, colu
87
89
  });
88
90
  return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
89
91
  }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
90
- const itemChildren = boardItemsAnalyzer.processChildren(children, env);
92
+ const childrenByType = boardAnalyzer.processChildren(children, env);
93
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
91
94
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
92
95
  /* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
93
96
  sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
@@ -105,7 +108,8 @@ const RelativeStaticBoard = Component(({ field, orderBy, limit, offset, columns,
105
108
  });
106
109
  return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
107
110
  }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
108
- const itemChildren = boardItemsAnalyzer.processChildren(children, env);
111
+ const childrenByType = boardAnalyzer.processChildren(children, env);
112
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
109
113
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
110
114
  /* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
111
115
  sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Board.js","sources":["../../../../../packages/react-board/src/components/Board.tsx"],"sourcesContent":["import {\n\tComponent,\n\tEntityListSubTree,\n\tField,\n\tHasMany,\n\tHasOne,\n\tSugaredQualifiedEntityList,\n\tSugaredRelativeEntityList,\n\tSugaredRelativeSingleEntity,\n\tSugaredRelativeSingleField,\n\tuseEntityList,\n\tuseEntityListSubTree,\n} from '@contember/react-binding'\nimport { boardAnalyzer } from '../internal/boardAnalyzer'\nimport { Fragment, ReactNode } from 'react'\nimport { useDynamicBoard } from '../internal/useDynamicBoard'\nimport { useStaticBoard } from '../internal/useStaticBoard'\nimport { BoardColumnsContext, BoardMethodsContext } from '../contexts'\n\nexport type BoardProps =\n\t| BoardQualifiedDynamicProps\n\t| BoardRelativeDynamicProps\n\t| BoardQualifiedStaticProps\n\t| BoardRelativeStaticProps\n\n\nexport const Board = Component<BoardProps>(props => {\n\tif ('entities' in props) {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <BoardQualifiedStatic {...(props as BoardQualifiedStaticProps)} />\n\t\t} else {\n\t\t\treturn <BoardQualifiedDynamic {...(props as BoardQualifiedDynamicProps)} />\n\t\t}\n\t} else {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps)} />\n\t\t} else {\n\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps)} />\n\t\t}\n\t}\n})\n\nexport type BoardDynamicColumnsBindingProps = {\n\tcolumns: SugaredQualifiedEntityList['entities']\n\tcolumnsSortableBy?: string | SugaredRelativeSingleField\n\tdiscriminationField: string | SugaredRelativeSingleEntity\n}\n\nexport type BoardStaticColumnsBindingProps = {\n\tcolumns: {\n\t\tvalue: string\n\t\tlabel: ReactNode\n\t}[]\n\tdiscriminationField: string | SugaredRelativeSingleField\n}\n\nexport type BoardCommonProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tsortableBy?: string | SugaredRelativeSingleField\n\t\tsortScope?: 'column' | 'board'\n\t}\n\nexport type BoardQualifiedItemsProps =\n\t& Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardRelativeItemsProps =\n\t& Pick<SugaredRelativeEntityList, 'field' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardQualifiedDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardRelativeItemsProps\n\n\nconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\nexport type BoardQualifiedStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\n\nconst BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeStaticBoard = Component<BoardRelativeStaticProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t</>)\n})\n"],"names":["Fragment"],"mappings":";;;;;;;AA0Ba,MAAA,QAAQ,UAAsB,CAAS,UAAA;AACnD,MAAI,cAAc,OAAO;AACxB,QAAI,MAAM,QAAQ,MAAM,OAAO,GAAG;AAC1B,aAAA,oBAAC,sBAAsB,EAAA,GAAI,MAAqC,CAAA;AAAA,IAAA,OACjE;AACC,aAAA,oBAAC,uBAAuB,EAAA,GAAI,MAAsC,CAAA;AAAA,IAC1E;AAAA,EAAA,OACM;AACN,QAAI,MAAM,QAAQ,MAAM,OAAO,GAAG;AAC1B,aAAA,oBAAC,qBAAqB,EAAA,GAAI,MAAoC,CAAA;AAAA,IAAA,OAC/D;AACC,aAAA,oBAAC,sBAAsB,EAAA,GAAI,MAAqC,CAAA;AAAA,IACxE;AAAA,EACD;AACD,CAAC;AAoCD,MAAM,wBAAwB,UAAsC,CAAC,EAAE,UAAU,SAAS,OAAO,QAAQ,SAAS,mBAAmB,qBAAqB,YAAY,WAAW,eAAe;AAC/L,QAAM,gBAAgB,qBAAqB,EAAE,UAAU,SAAS,OAAO,QAAQ;AAC/E,QAAM,kBAAkB,qBAAqB,EAAE,UAAU,QAAS,CAAA;AAClE,QAAM,CAAC,MAAM,OAAO,IAAI,gBAAgB;AAAA,IACvC,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AACD,SACE,oBAAA,oBAAoB,UAApB,EAA6B,OAAO,SACpC,UAAA,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,KAAK,SACxC,UACF,EACD,CAAA;AAEF,GAAG,CAAC,EAAE,UAAU,SAAS,OAAO,QAAQ,SAAS,qBAAqB,YAAY,mBAAmB,SAAS,GAAG,QAAQ;AAExH,QAAM,iBAAiB,cAAc,gBAAgB,UAAU,GAAG;AAC5D,QAAA,iBAAiB,eAAe,OAAO,CAAM,OAAA,GAAG,SAAS,QAAQ,EAAE,IAAI,CAAM,OAAA,GAAG,QAAQ;AACxF,QAAA,eAAe,eAAe,OAAO,CAAM,OAAA,GAAG,SAAS,MAAM,EAAE,IAAI,CAAM,OAAA,GAAG,QAAQ;AAE1F,SACC,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,qBAAC,mBAAkB,EAAA,UAAoB,SAAkB,OAAc,QACtE,UAAA;AAAA,MAAC,oBAAA,QAAA,EAAQ,GAAG,OAAO,wBAAwB,WAAW,EAAE,OAAO,wBAAwB,qBAAqB;AAAA,MAC3G,cAAe,oBAAA,OAAA,EAAO,GAAG,OAAO,eAAe,WAAW,EAAE,OAAO,WAAW,IAAI,WAAY,CAAA;AAAA,MAC9F,aAAa,IAAI,CAAC,IAAI,8BAAWA,YAAA,EAAsB,UAAR,GAAA,GAAA,KAAW,CAAW;AAAA,IAAA,GACvE;AAAA,IACA,qBAAC,mBAAkB,EAAA,UAAU,SAC3B,UAAA;AAAA,MAAqB,qBAAA,oBAAC,OAAO,EAAA,GAAG,OAAO,sBAAsB,WAAW,EAAE,OAAO,kBAAkB,IAAI,kBAAmB,CAAA;AAAA,MAC1H,eAAe,IAAI,CAAC,IAAI,8BAAWA,YAAA,EAAsB,UAAR,GAAA,GAAA,KAAW,CAAW;AAAA,IAAA,GACzE;AAAA,EACD,EAAA,CAAA;AACD,CAAC;AASD,MAAM,uBAAuB,UAAqC,CAAC,EAAE,OAAO,SAAS,OAAO,QAAQ,SAAS,mBAAmB,qBAAqB,YAAY,WAAW,eAAe;AAC1L,QAAM,gBAAgB,cAAc,EAAE,OAAO,SAAS,OAAO,QAAQ;AACrE,QAAM,kBAAkB,qBAAqB,EAAE,UAAU,QAAS,CAAA;AAClE,QAAM,CAAC,MAAM,OAAO,IAAI,gBAAgB;AAAA,IACvC,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AACD,SACE,oBAAA,oBAAoB,UAApB,EAA6B,OAAO,SACpC,UAAA,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,KAAK,SACxC,UACF,EACD,CAAA;AAEF,GAAG,CAAC,EAAE,OAAO,SAAS,OAAO,QAAQ,SAAS,qBAAqB,YAAY,mBAAmB,SAAS,GAAG,QAAQ;AACrH,QAAM,iBAAiB,cAAc,gBAAgB,UAAU,GAAG;AAC5D,QAAA,iBAAiB,eAAe,OAAO,CAAM,OAAA,GAAG,SAAS,QAAQ,EAAE,IAAI,CAAM,OAAA,GAAG,QAAQ;AACxF,QAAA,eAAe,eAAe,OAAO,CAAM,OAAA,GAAG,SAAS,MAAM,EAAE,IAAI,CAAM,OAAA,GAAG,QAAQ;AAC1F,SACC,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,qBAAC,SAAQ,EAAA,OAAc,SAAkB,OAAc,QACtD,UAAA;AAAA,MAAC,oBAAA,QAAA,EAAQ,GAAG,OAAO,wBAAwB,WAAW,EAAE,OAAO,wBAAwB,qBAAqB;AAAA,MAC3G,cAAe,oBAAA,OAAA,EAAO,GAAG,OAAO,eAAe,WAAW,EAAE,OAAO,WAAW,IAAI,WAAY,CAAA;AAAA,MAC9F,aAAa,IAAI,CAAC,IAAI,8BAAWA,YAAA,EAAsB,UAAR,GAAA,GAAA,KAAW,CAAW;AAAA,IAAA,GACvE;AAAA,IACA,qBAAC,mBAAkB,EAAA,UAAU,SAC3B,UAAA;AAAA,MAAqB,qBAAA,oBAAC,OAAO,EAAA,GAAG,OAAO,sBAAsB,WAAW,EAAE,OAAO,kBAAkB,IAAI,kBAAmB,CAAA;AAAA,MAC1H,eAAe,IAAI,CAAC,IAAI,8BAAWA,YAAA,EAAsB,UAAR,GAAA,GAAA,KAAW,CAAW;AAAA,IAAA,GACzE;AAAA,EACD,EAAA,CAAA;AACD,CAAC;AAOD,MAAM,uBAAuB,UAAqC,CAAC,EAAE,UAAU,SAAS,OAAO,QAAQ,SAAS,qBAAqB,YAAY,WAAW,eAAe;AAC1K,QAAM,gBAAgB,qBAAqB,EAAE,UAAU,SAAS,OAAO,QAAQ;AAC/E,QAAM,CAAC,MAAM,OAAO,IAAI,eAAe;AAAA,IACtC,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AACD,SACE,oBAAA,oBAAoB,UAApB,EAA6B,OAAO,SACpC,UAAA,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,KAAK,SACxC,UACF,EACD,CAAA;AAEF,GAAG,CAAC,EAAE,UAAU,SAAS,OAAO,QAAQ,SAAS,qBAAqB,YAAY,SAAS,GAAG,QAAQ;AACrG,QAAM,iBAAiB,cAAc,gBAAgB,UAAU,GAAG;AAC5D,QAAA,eAAe,eAAe,OAAO,CAAM,OAAA,GAAG,SAAS,MAAM,EAAE,IAAI,CAAM,OAAA,GAAG,QAAQ;AAC1F,yCACC,UAAC,qBAAA,mBAAA,EAAkB,UAAoB,SAAkB,OAAc,QACtE,UAAA;AAAA,IAAC,oBAAA,OAAA,EAAO,GAAG,OAAO,wBAAwB,WAAW,EAAE,OAAO,wBAAwB,qBAAqB;AAAA,IAC1G,cAAe,oBAAA,OAAA,EAAO,GAAG,OAAO,eAAe,WAAW,EAAE,OAAO,WAAW,IAAI,WAAY,CAAA;AAAA,IAC9F,aAAa,IAAI,CAAC,IAAI,8BAAWA,YAAA,EAAsB,UAAR,GAAA,GAAA,KAAW,CAAW;AAAA,EAAA,EACvE,CAAA,EACD,CAAA;AACD,CAAC;AAQD,MAAM,sBAAsB,UAAoC,CAAC,EAAE,OAAO,SAAS,OAAO,QAAQ,SAAS,qBAAqB,YAAY,WAAW,eAAe;AACrK,QAAM,gBAAgB,cAAc,EAAE,OAAO,SAAS,OAAO,QAAQ;AACrE,QAAM,CAAC,MAAM,OAAO,IAAI,eAAe;AAAA,IACtC,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AACD,SACE,oBAAA,oBAAoB,UAApB,EAA6B,OAAO,SACpC,UAAA,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,KAAK,SACxC,UACF,EACD,CAAA;AAEF,GAAG,CAAC,EAAE,OAAO,SAAS,OAAO,QAAQ,SAAS,qBAAqB,YAAY,SAAS,GAAG,QAAQ;AAClG,QAAM,iBAAiB,cAAc,gBAAgB,UAAU,GAAG;AAC5D,QAAA,eAAe,eAAe,OAAO,CAAM,OAAA,GAAG,SAAS,MAAM,EAAE,IAAI,CAAM,OAAA,GAAG,QAAQ;AAC1F,yCACC,UAAC,qBAAA,SAAA,EAAQ,OAAc,SAAkB,OAAc,QACtD,UAAA;AAAA,IAAC,oBAAA,OAAA,EAAO,GAAG,OAAO,wBAAwB,WAAW,EAAE,OAAO,wBAAwB,qBAAqB;AAAA,IAC1G,cAAe,oBAAA,OAAA,EAAO,GAAG,OAAO,eAAe,WAAW,EAAE,OAAO,WAAW,IAAI,WAAY,CAAA;AAAA,IAC9F,aAAa,IAAI,CAAC,IAAI,8BAAWA,YAAA,EAAsB,UAAR,GAAA,GAAA,KAAW,CAAW;AAAA,EAAA,EACvE,CAAA,EACD,CAAA;AACD,CAAC;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardColumn.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardColumn = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\n"],"names":[],"mappings":";;AAEa,MAAA,cAAc,CAAC,CAAA,MAEtB;AACE,SAAA;AACR;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardColumn.js","sources":["../../../../../packages/react-board/src/components/BoardColumn.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardColumn = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\n"],"names":[],"mappings":"AAEa,MAAA,cAAc,CAAC,CAAA,MAEtB;AACE,SAAA;AACR;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardColumnLabel.cjs","sources":["../../../../../packages/react-board/src/components/BoardColumnLabel.tsx"],"sourcesContent":["import { useBoardCurrentColumn } from '../contexts'\n\nexport const BoardColumnLabel = () => {\n\tconst value = useBoardCurrentColumn().value\n\treturn value && 'label' in value ? <>{value.label}</> : null\n}\n"],"names":["useBoardCurrentColumn","jsx","Fragment"],"mappings":";;;;AAEO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,QAAQA,+BAAwB,EAAA;AACtC,SAAO,SAAS,WAAW,QAAWC,+BAAAC,WAAAA,UAAA,EAAA,UAAA,MAAM,MAAM,CAAA,IAAM;AACzD;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardColumnLabel.js","sources":["../../../../../packages/react-board/src/components/BoardColumnLabel.tsx"],"sourcesContent":["import { useBoardCurrentColumn } from '../contexts'\n\nexport const BoardColumnLabel = () => {\n\tconst value = useBoardCurrentColumn().value\n\treturn value && 'label' in value ? <>{value.label}</> : null\n}\n"],"names":[],"mappings":";;AAEO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,QAAQ,sBAAwB,EAAA;AACtC,SAAO,SAAS,WAAW,QAAW,oBAAA,UAAA,EAAA,UAAA,MAAM,MAAM,CAAA,IAAM;AACzD;"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const binding = require("@contember/binding");
5
4
  const reactBinding = require("@contember/react-binding");
6
5
  const contexts = require("../contexts.cjs");
7
6
  const BoardColumn = require("./BoardColumn.cjs");
@@ -12,7 +11,7 @@ const BoardEachColumn = ({ children }) => {
12
11
  if (column.id === _const.BoardNullColumnPlaceholder) {
13
12
  return null;
14
13
  }
15
- return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardCurrentColumnContext.Provider, { value: column, children: column.value instanceof binding.EntityAccessor ? /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Entity, { accessor: column.value, children }) : children }, column.id);
14
+ return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardCurrentColumnContext.Provider, { value: column, children: reactBinding.isEntityAccessor(column.value) ? /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Entity, { accessor: column.value, children }) : children }, column.id);
16
15
  }) });
17
16
  };
18
17
  BoardEachColumn.staticRender = ({ children }) => {
@@ -0,0 +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","jsx","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","Entity","BoardColumn"],"mappings":";;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA;AAET,SAAAC,2BAAAA,IAAAC,WAAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAOC,mCAA4B;AACtC,aAAA;AAAA,IACR;AACA,0CACEC,mCAA0B,UAA1B,EAAmC,OAAO,QACzC,wCAAiB,OAAO,KAAK,IAC5BH,+BAAAI,aAAAA,QAAA,EAAO,UAAU,OAAO,OACvB,UACF,IACG,SAAA,GALmD,OAAO,EAM/D;AAAA,EAED,CAAA,EACF,CAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAAJ,+BAACK,YAAAA,eAAa,SAAS,CAAA;AAC/B;;"}
@@ -1,6 +1,5 @@
1
1
  import { jsx, Fragment } from "react/jsx-runtime";
2
- import { EntityAccessor } from "@contember/binding";
3
- import { Entity } from "@contember/react-binding";
2
+ import { isEntityAccessor, Entity } from "@contember/react-binding";
4
3
  import { useBoardColumns, BoardCurrentColumnContext } from "../contexts.js";
5
4
  import { BoardColumn } from "./BoardColumn.js";
6
5
  import { BoardNullColumnPlaceholder } from "../const.js";
@@ -10,7 +9,7 @@ const BoardEachColumn = ({ children }) => {
10
9
  if (column.id === BoardNullColumnPlaceholder) {
11
10
  return null;
12
11
  }
13
- return /* @__PURE__ */ jsx(BoardCurrentColumnContext.Provider, { value: column, children: column.value instanceof EntityAccessor ? /* @__PURE__ */ jsx(Entity, { accessor: column.value, children }) : children }, column.id);
12
+ return /* @__PURE__ */ jsx(BoardCurrentColumnContext.Provider, { value: column, children: isEntityAccessor(column.value) ? /* @__PURE__ */ jsx(Entity, { accessor: column.value, children }) : children }, column.id);
14
13
  }) });
15
14
  };
16
15
  BoardEachColumn.staticRender = ({ children }) => {
@@ -0,0 +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":[],"mappings":";;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU;AAET,SAAA,oBAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAO,4BAA4B;AACtC,aAAA;AAAA,IACR;AACA,+BACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,2BAAiB,OAAO,KAAK,IAC5B,oBAAA,QAAA,EAAO,UAAU,OAAO,OACvB,UACF,IACG,SAAA,GALmD,OAAO,EAM/D;AAAA,EAED,CAAA,EACF,CAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAA,oBAAC,eAAa,SAAS,CAAA;AAC/B;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const react = require("react");
4
+ const React = require("react");
5
5
  const contexts = require("../contexts.cjs");
6
6
  const reactBinding = require("@contember/react-binding");
7
7
  const BoardItem = require("./BoardItem.cjs");
@@ -23,7 +23,7 @@ BoardEachItem.staticRender = ({ children }) => {
23
23
  return /* @__PURE__ */ jsxRuntime.jsx(BoardItem.BoardItem, { children });
24
24
  };
25
25
  const BoardEachItemInner = ({ children, item, column }) => {
26
- const itemWithColumn = react.useMemo(() => ({
26
+ const itemWithColumn = React.useMemo(() => ({
27
27
  ...item,
28
28
  column
29
29
  }), [item, column]);
@@ -0,0 +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","jsx","BoardItem","useMemo","BoardCurrentItemContext","Entity"],"mappings":";;;;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgBA,SAAAA;AAEtB,+DACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAAC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,IAAA;AAAA,EAOZ,CAAA,EACF,CAAA;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAAA,+BAACC,UAAAA,aAAW,SAAS,CAAA;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiBC,MAAAA,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EACG,IAAA,CAAC,MAAM,MAAM,CAAC;AAElB,SACEF,2BAAAA,IAAAG,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAAH,+BAACI,aAAAA,QAAO,EAAA,UAAU,KAAK,OACrB,SACF,CAAA,KAH6D,KAAK,EAInE;AAEF;;"}
@@ -0,0 +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":[],"mappings":";;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgB;AAEtB,yCACE,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,IAAA;AAAA,EAOZ,CAAA,EACF,CAAA;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAA,oBAAC,aAAW,SAAS,CAAA;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiB,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EACG,IAAA,CAAC,MAAM,MAAM,CAAC;AAElB,SACE,oBAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAA,oBAAC,QAAO,EAAA,UAAU,KAAK,OACrB,SACF,CAAA,KAH6D,KAAK,EAInE;AAEF;"}
@@ -0,0 +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;;"}
@@ -0,0 +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;"}
@@ -0,0 +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"],"mappings":";;;;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAASA,SAAgB,gBAAA,EAAE,KAAK,CAAM,OAAA,GAAG,OAAOC,OAAAA,0BAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EACR;AAEA,wCACEC,SAAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,SACF,CAAA;AAEF;;"}
@@ -0,0 +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":[],"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,EACR;AAEA,6BACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,SACF,CAAA;AAEF;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.cjs","sources":["../../../../packages/react-board/src/const.ts"],"sourcesContent":["export const BoardNullColumnPlaceholder = '__null_column'\n"],"names":[],"mappings":";;AAAO,MAAM,6BAA6B;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sources":["../../../../packages/react-board/src/const.ts"],"sourcesContent":["export const BoardNullColumnPlaceholder = '__null_column'\n"],"names":[],"mappings":"AAAO,MAAM,6BAA6B;"}
@@ -0,0 +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,WAAAA,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAGrD,MAAM,uBAAuBA,WAAAA,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsBA,WAAAA,sBAAuC,2BAA2B;AAEjF,MAAA,4BAA4B,oBAAoB,CAAC;AACjD,MAAA,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2BA,WAAAA,sBAAmE,yBAAyB;AAEhH,MAAA,0BAA0B,yBAAyB,CAAC;AACpD,MAAA,sBAAsB,yBAAyB,CAAC;;;;;;;;;"}
@@ -0,0 +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;"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactMultipassRendering = require("@contember/react-multipass-rendering");
4
+ const BoardItem = require("../components/BoardItem.cjs");
5
+ const BoardColumn = require("../components/BoardColumn.cjs");
6
+ const itemLeaf = new reactMultipassRendering.Leaf((node) => ({ type: "item", children: node.props.children }), BoardItem.BoardItem);
7
+ const columnLeaf = new reactMultipassRendering.Leaf((node) => ({ type: "column", children: node.props.children }), BoardColumn.BoardColumn);
8
+ const boardAnalyzer = new reactMultipassRendering.ChildrenAnalyzer([itemLeaf, columnLeaf], {
9
+ staticRenderFactoryName: "staticRender",
10
+ staticContextFactoryName: "generateEnvironment"
11
+ });
12
+ exports.boardAnalyzer = boardAnalyzer;
13
+ //# sourceMappingURL=boardAnalyzer.cjs.map
@@ -0,0 +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,UAAS,SAAA;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAW,WAAA;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
@@ -0,0 +1,13 @@
1
+ import { Leaf, ChildrenAnalyzer } from "@contember/react-multipass-rendering";
2
+ import { BoardItem } from "../components/BoardItem.js";
3
+ import { BoardColumn } from "../components/BoardColumn.js";
4
+ const itemLeaf = new Leaf((node) => ({ type: "item", children: node.props.children }), BoardItem);
5
+ const columnLeaf = new Leaf((node) => ({ type: "column", children: node.props.children }), BoardColumn);
6
+ const boardAnalyzer = new ChildrenAnalyzer([itemLeaf, columnLeaf], {
7
+ staticRenderFactoryName: "staticRender",
8
+ staticContextFactoryName: "generateEnvironment"
9
+ });
10
+ export {
11
+ boardAnalyzer
12
+ };
13
+ //# sourceMappingURL=boardAnalyzer.js.map
@@ -0,0 +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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const react = require("react");
3
+ const React = require("react");
4
4
  const reactBinding = require("@contember/react-binding");
5
5
  const arrayMove = require("../utils/arrayMove.cjs");
6
6
  const useBoardItemsMethods = ({
@@ -13,11 +13,11 @@ const useBoardItemsMethods = ({
13
13
  sortScope = "column"
14
14
  }) => {
15
15
  const itemEntitiesEntitiesGetter = itemEntities.getAccessor;
16
- const getSortScopeItems = react.useCallback((column) => {
16
+ const getSortScopeItems = React.useCallback((column) => {
17
17
  const itemEntities2 = itemEntitiesEntitiesGetter();
18
18
  return sortScope === "column" ? groupItemsByColumn(itemEntities2).get(column)?.slice() ?? [] : reactBinding.sortEntities(Array.from(itemEntities2), desugaredSortableByField);
19
19
  }, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope]);
20
- const resolveScopedIndex = react.useCallback((column, index) => {
20
+ const resolveScopedIndex = React.useCallback((column, index) => {
21
21
  if (index === void 0) {
22
22
  return void 0;
23
23
  }
@@ -32,7 +32,7 @@ const useBoardItemsMethods = ({
32
32
  const sortScopeItems = getSortScopeItems(column);
33
33
  return sortScopeItems.findIndex((it) => it.id === columnOnIndex.id) ?? sortScopeItems.length;
34
34
  }, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope]);
35
- const addItem = react.useCallback((column, index, preprocess) => {
35
+ const addItem = React.useCallback((column, index, preprocess) => {
36
36
  const itemEntities2 = itemEntitiesEntitiesGetter();
37
37
  const resolvedPreprocess = (getAccessor, options) => {
38
38
  connectItemToColumn(getAccessor(), column);
@@ -53,7 +53,7 @@ const useBoardItemsMethods = ({
53
53
  resolvedPreprocess?.(getEntity, options);
54
54
  });
55
55
  }, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex]);
56
- const moveItem = react.useMemo(() => {
56
+ const moveItem = React.useMemo(() => {
57
57
  if (!desugaredSortableByField) {
58
58
  return void 0;
59
59
  }
@@ -80,7 +80,7 @@ const useBoardItemsMethods = ({
80
80
  reactBinding.repairEntitiesOrder(desugaredSortableByField, newColumnItems);
81
81
  };
82
82
  }, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope]);
83
- const removeItem = react.useCallback((entity) => {
83
+ const removeItem = React.useCallback((entity) => {
84
84
  if (desugaredSortableByField) {
85
85
  const currentColumn = getDiscriminatorValue(entity);
86
86
  const sortScopeItems = getSortScopeItems(currentColumn);
@@ -0,0 +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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"}
@@ -0,0 +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,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const react = require("react");
3
+ const React = require("react");
4
4
  const _const = require("../const.cjs");
5
5
  const useCreateBoardColumns = ({ groupItemsByColumn, items, columns, columnIdGetter }) => {
6
- return react.useMemo(() => {
6
+ return React.useMemo(() => {
7
7
  const itemsByColumn = groupItemsByColumn(items);
8
8
  const nullItems = itemsByColumn.get(null) ?? [];
9
9
  const result = [
@@ -0,0 +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,CAAA;AAC7C,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,OAAQ,EAAA;AAAA,MACtE;AAAA,IAAA;AAED,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,SAAQ,KAAK,CAAC;AAAA,MAAA,CAC5G;AAAA,IACF;AACO,WAAA;AAAA,KAEL,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;;"}
@@ -0,0 +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,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,OAAQ,EAAA;AAAA,MACtE;AAAA,IAAA;AAED,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,SAAQ,KAAK,CAAC;AAAA,MAAA,CAC5G;AAAA,IACF;AACO,WAAA;AAAA,KAEL,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;"}