@contember/react-board 1.3.0-alpha.8 → 1.3.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/development/components/Board.cjs +270 -0
  2. package/dist/development/components/Board.cjs.map +1 -0
  3. package/dist/development/components/Board.js +270 -0
  4. package/dist/development/components/Board.js.map +1 -0
  5. package/dist/development/components/BoardColumn.cjs +7 -0
  6. package/dist/development/components/BoardColumn.cjs.map +1 -0
  7. package/dist/development/components/BoardColumn.js +7 -0
  8. package/dist/development/components/BoardColumn.js.map +1 -0
  9. package/dist/development/components/BoardColumnLabel.cjs +14 -0
  10. package/dist/development/components/BoardColumnLabel.cjs.map +1 -0
  11. package/dist/development/components/BoardColumnLabel.js +14 -0
  12. package/dist/development/components/BoardColumnLabel.js.map +1 -0
  13. package/dist/development/components/BoardEachColumn.cjs +38 -0
  14. package/dist/development/components/BoardEachColumn.cjs.map +1 -0
  15. package/dist/development/components/BoardEachColumn.js +38 -0
  16. package/dist/development/components/BoardEachColumn.js.map +1 -0
  17. package/dist/development/components/BoardEachItem.cjs +56 -0
  18. package/dist/development/components/BoardEachItem.cjs.map +1 -0
  19. package/dist/development/components/BoardEachItem.js +56 -0
  20. package/dist/development/components/BoardEachItem.js.map +1 -0
  21. package/dist/development/components/BoardItem.cjs +8 -0
  22. package/dist/development/components/BoardItem.cjs.map +1 -0
  23. package/dist/development/components/BoardItem.js +8 -0
  24. package/dist/development/components/BoardItem.js.map +1 -0
  25. package/dist/development/components/BoardNullColumn.cjs +18 -0
  26. package/dist/development/components/BoardNullColumn.cjs.map +1 -0
  27. package/dist/development/components/BoardNullColumn.js +18 -0
  28. package/dist/development/components/BoardNullColumn.js.map +1 -0
  29. package/dist/development/contexts.cjs +24 -0
  30. package/dist/development/contexts.cjs.map +1 -0
  31. package/dist/development/contexts.js +24 -0
  32. package/dist/development/contexts.js.map +1 -0
  33. package/dist/development/index.cjs +23 -6
  34. package/dist/development/index.cjs.map +1 -1
  35. package/dist/development/index.js +23 -6
  36. package/dist/development/index.js.map +1 -1
  37. package/dist/development/internal/boardAnalyzer.cjs +16 -0
  38. package/dist/development/internal/boardAnalyzer.cjs.map +1 -0
  39. package/dist/development/internal/boardAnalyzer.js +16 -0
  40. package/dist/development/internal/boardAnalyzer.js.map +1 -0
  41. package/dist/development/internal/useBoardItemsMethods.cjs.map +1 -1
  42. package/dist/development/internal/useBoardItemsMethods.js.map +1 -1
  43. package/dist/development/internal/{useBoardColumns.cjs → useCreateBoardColumns.cjs} +10 -24
  44. package/dist/development/internal/useCreateBoardColumns.cjs.map +1 -0
  45. package/dist/development/internal/{useBoardColumns.js → useCreateBoardColumns.js} +10 -24
  46. package/dist/development/internal/useCreateBoardColumns.js.map +1 -0
  47. package/dist/{production → development/internal}/useDynamicBoard.cjs +14 -18
  48. package/dist/development/internal/useDynamicBoard.cjs.map +1 -0
  49. package/dist/{production → development/internal}/useDynamicBoard.js +14 -18
  50. package/dist/development/internal/useDynamicBoard.js.map +1 -0
  51. package/dist/{production → development/internal}/useStaticBoard.cjs +8 -16
  52. package/dist/development/internal/useStaticBoard.cjs.map +1 -0
  53. package/dist/{production → development/internal}/useStaticBoard.js +9 -17
  54. package/dist/development/internal/useStaticBoard.js.map +1 -0
  55. package/dist/production/components/Board.cjs +118 -0
  56. package/dist/production/components/Board.cjs.map +1 -0
  57. package/dist/production/components/Board.js +118 -0
  58. package/dist/production/components/Board.js.map +1 -0
  59. package/dist/production/components/BoardColumn.cjs +7 -0
  60. package/dist/production/components/BoardColumn.cjs.map +1 -0
  61. package/dist/production/components/BoardColumn.js +7 -0
  62. package/dist/production/components/BoardColumn.js.map +1 -0
  63. package/dist/production/components/BoardColumnLabel.cjs +10 -0
  64. package/dist/production/components/BoardColumnLabel.cjs.map +1 -0
  65. package/dist/production/components/BoardColumnLabel.js +10 -0
  66. package/dist/production/components/BoardColumnLabel.js.map +1 -0
  67. package/dist/production/components/BoardEachColumn.cjs +22 -0
  68. package/dist/production/components/BoardEachColumn.cjs.map +1 -0
  69. package/dist/production/components/BoardEachColumn.js +22 -0
  70. package/dist/production/components/BoardEachColumn.js.map +1 -0
  71. package/dist/production/components/BoardEachItem.cjs +33 -0
  72. package/dist/production/components/BoardEachItem.cjs.map +1 -0
  73. package/dist/production/components/BoardEachItem.js +33 -0
  74. package/dist/production/components/BoardEachItem.js.map +1 -0
  75. package/dist/production/components/BoardItem.cjs +8 -0
  76. package/dist/production/components/BoardItem.cjs.map +1 -0
  77. package/dist/production/components/BoardItem.js +8 -0
  78. package/dist/production/components/BoardItem.js.map +1 -0
  79. package/dist/production/components/BoardNullColumn.cjs +14 -0
  80. package/dist/production/components/BoardNullColumn.cjs.map +1 -0
  81. package/dist/production/components/BoardNullColumn.js +14 -0
  82. package/dist/production/components/BoardNullColumn.js.map +1 -0
  83. package/dist/production/contexts.cjs +24 -0
  84. package/dist/production/contexts.cjs.map +1 -0
  85. package/dist/production/contexts.js +24 -0
  86. package/dist/production/contexts.js.map +1 -0
  87. package/dist/production/index.cjs +23 -6
  88. package/dist/production/index.cjs.map +1 -1
  89. package/dist/production/index.js +23 -6
  90. package/dist/production/index.js.map +1 -1
  91. package/dist/production/internal/boardAnalyzer.cjs +16 -0
  92. package/dist/production/internal/boardAnalyzer.cjs.map +1 -0
  93. package/dist/production/internal/boardAnalyzer.js +16 -0
  94. package/dist/production/internal/boardAnalyzer.js.map +1 -0
  95. package/dist/production/internal/useBoardItemsMethods.cjs.map +1 -1
  96. package/dist/production/internal/useBoardItemsMethods.js.map +1 -1
  97. package/dist/production/internal/{useBoardColumns.cjs → useCreateBoardColumns.cjs} +10 -24
  98. package/dist/production/internal/useCreateBoardColumns.cjs.map +1 -0
  99. package/dist/production/internal/{useBoardColumns.js → useCreateBoardColumns.js} +10 -24
  100. package/dist/production/internal/useCreateBoardColumns.js.map +1 -0
  101. package/dist/{development → production/internal}/useDynamicBoard.cjs +14 -18
  102. package/dist/production/internal/useDynamicBoard.cjs.map +1 -0
  103. package/dist/{development → production/internal}/useDynamicBoard.js +14 -18
  104. package/dist/production/internal/useDynamicBoard.js.map +1 -0
  105. package/dist/{development → production/internal}/useStaticBoard.cjs +8 -16
  106. package/dist/production/internal/useStaticBoard.cjs.map +1 -0
  107. package/dist/{development → production/internal}/useStaticBoard.js +9 -17
  108. package/dist/production/internal/useStaticBoard.js.map +1 -0
  109. package/dist/types/{types.d.ts → components/Board.d.ts} +5 -8
  110. package/dist/types/components/Board.d.ts.map +1 -0
  111. package/dist/types/components/BoardColumn.d.ts +5 -0
  112. package/dist/types/components/BoardColumn.d.ts.map +1 -0
  113. package/dist/types/components/BoardColumnLabel.d.ts +2 -0
  114. package/dist/types/components/BoardColumnLabel.d.ts.map +1 -0
  115. package/dist/types/components/BoardEachColumn.d.ts +10 -0
  116. package/dist/types/components/BoardEachColumn.d.ts.map +1 -0
  117. package/dist/types/components/BoardEachItem.d.ts +10 -0
  118. package/dist/types/components/BoardEachItem.d.ts.map +1 -0
  119. package/dist/types/components/BoardItem.d.ts +8 -0
  120. package/dist/types/components/BoardItem.d.ts.map +1 -0
  121. package/dist/types/components/BoardNullColumn.d.ts +7 -0
  122. package/dist/types/components/BoardNullColumn.d.ts.map +1 -0
  123. package/dist/types/components/index.d.ts +8 -0
  124. package/dist/types/components/index.d.ts.map +1 -0
  125. package/dist/types/contexts.d.ts +18 -0
  126. package/dist/types/contexts.d.ts.map +1 -0
  127. package/dist/types/index.d.ts +2 -4
  128. package/dist/types/index.d.ts.map +1 -1
  129. package/dist/types/internal/boardAnalyzer.d.ts +6 -0
  130. package/dist/types/internal/boardAnalyzer.d.ts.map +1 -0
  131. package/dist/types/internal/useBoardItemsMethods.d.ts +1 -1
  132. package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
  133. package/dist/types/internal/useCreateBoardColumns.d.ts +10 -0
  134. package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -0
  135. package/dist/types/{useDynamicBoard.d.ts → internal/useDynamicBoard.d.ts} +4 -3
  136. package/dist/types/internal/useDynamicBoard.d.ts.map +1 -0
  137. package/dist/types/internal/useGroupItemsByColumn.d.ts.map +1 -1
  138. package/dist/types/{useStaticBoard.d.ts → internal/useStaticBoard.d.ts} +4 -3
  139. package/dist/types/internal/useStaticBoard.d.ts.map +1 -0
  140. package/dist/types/tsconfig.tsbuildinfo +1 -1
  141. package/dist/types/types/BoardColumnNode.d.ts +15 -0
  142. package/dist/types/types/BoardColumnNode.d.ts.map +1 -0
  143. package/dist/types/types/BoardData.d.ts +5 -0
  144. package/dist/types/types/BoardData.d.ts.map +1 -0
  145. package/dist/types/types/BoardItemNode.d.ts +7 -0
  146. package/dist/types/types/BoardItemNode.d.ts.map +1 -0
  147. package/dist/types/{BoardBindingProps.d.ts → types/BoardMethods.d.ts} +4 -23
  148. package/dist/types/types/BoardMethods.d.ts.map +1 -0
  149. package/dist/types/types/index.d.ts +4 -0
  150. package/dist/types/types/index.d.ts.map +1 -0
  151. package/package.json +10 -7
  152. package/src/components/Board.tsx +219 -0
  153. package/src/components/BoardColumn.tsx +7 -0
  154. package/src/components/BoardColumnLabel.tsx +6 -0
  155. package/src/components/BoardEachColumn.tsx +32 -0
  156. package/src/components/BoardEachItem.tsx +48 -0
  157. package/src/components/BoardItem.tsx +8 -0
  158. package/src/components/BoardNullColumn.tsx +20 -0
  159. package/src/components/index.ts +7 -0
  160. package/src/contexts.ts +23 -0
  161. package/src/index.ts +2 -4
  162. package/src/internal/boardAnalyzer.ts +25 -0
  163. package/src/internal/useBoardItemsMethods.ts +1 -1
  164. package/src/internal/{useBoardColumns.ts → useCreateBoardColumns.ts} +11 -28
  165. package/src/{useDynamicBoard.ts → internal/useDynamicBoard.ts} +21 -18
  166. package/src/{useStaticBoard.ts → internal/useStaticBoard.ts} +13 -18
  167. package/src/tsconfig.json +3 -0
  168. package/src/types/BoardColumnNode.ts +16 -0
  169. package/src/types/BoardData.ts +6 -0
  170. package/src/types/BoardItemNode.ts +7 -0
  171. package/src/{BoardBindingProps.ts → types/BoardMethods.ts} +3 -29
  172. package/src/types/index.ts +3 -0
  173. package/dist/development/Board.cjs +0 -116
  174. package/dist/development/Board.cjs.map +0 -1
  175. package/dist/development/Board.js +0 -116
  176. package/dist/development/Board.js.map +0 -1
  177. package/dist/development/internal/useBoardColumns.cjs.map +0 -1
  178. package/dist/development/internal/useBoardColumns.js.map +0 -1
  179. package/dist/development/useDynamicBoard.cjs.map +0 -1
  180. package/dist/development/useDynamicBoard.js.map +0 -1
  181. package/dist/development/useStaticBoard.cjs.map +0 -1
  182. package/dist/development/useStaticBoard.js.map +0 -1
  183. package/dist/production/Board.cjs +0 -116
  184. package/dist/production/Board.cjs.map +0 -1
  185. package/dist/production/Board.js +0 -116
  186. package/dist/production/Board.js.map +0 -1
  187. package/dist/production/internal/useBoardColumns.cjs.map +0 -1
  188. package/dist/production/internal/useBoardColumns.js.map +0 -1
  189. package/dist/production/useDynamicBoard.cjs.map +0 -1
  190. package/dist/production/useDynamicBoard.js.map +0 -1
  191. package/dist/production/useStaticBoard.cjs.map +0 -1
  192. package/dist/production/useStaticBoard.js.map +0 -1
  193. package/dist/types/Board.d.ts +0 -10
  194. package/dist/types/Board.d.ts.map +0 -1
  195. package/dist/types/BoardBindingProps.d.ts.map +0 -1
  196. package/dist/types/internal/useBoardColumns.d.ts +0 -11
  197. package/dist/types/internal/useBoardColumns.d.ts.map +0 -1
  198. package/dist/types/types.d.ts.map +0 -1
  199. package/dist/types/useDynamicBoard.d.ts.map +0 -1
  200. package/dist/types/useStaticBoard.d.ts.map +0 -1
  201. package/src/Board.tsx +0 -156
  202. package/src/types.ts +0 -64
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
+ const contexts = require("../contexts.cjs");
5
+ const BoardColumnLabel = () => {
6
+ const value = contexts.useBoardCurrentColumn().value;
7
+ return value && "label" in value ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: value.label }, void 0, false, {
8
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardColumnLabel.tsx",
9
+ lineNumber: 5,
10
+ columnNumber: 37
11
+ }, void 0) : null;
12
+ };
13
+ exports.BoardColumnLabel = BoardColumnLabel;
14
+ //# sourceMappingURL=BoardColumnLabel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardColumnLabel.cjs","sources":["../../../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","jsxDEV","Fragment","this"],"mappings":";;;;AAEO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,QAAQA,+BAAwB,EAAA;AACtC,SAAO,SAAS,WAAW,QAAQC,8BAAA,OAAAC,cAAA,UAAA,EAAG,gBAAM,MAAT,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAAe,IAAM;AACzD;;"}
@@ -0,0 +1,14 @@
1
+ import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
2
+ import { useBoardCurrentColumn } from "../contexts.js";
3
+ const BoardColumnLabel = () => {
4
+ const value = useBoardCurrentColumn().value;
5
+ return value && "label" in value ? /* @__PURE__ */ jsxDEV(Fragment, { children: value.label }, void 0, false, {
6
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardColumnLabel.tsx",
7
+ lineNumber: 5,
8
+ columnNumber: 37
9
+ }, void 0) : null;
10
+ };
11
+ export {
12
+ BoardColumnLabel
13
+ };
14
+ //# sourceMappingURL=BoardColumnLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardColumnLabel.js","sources":["../../../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":["this"],"mappings":";;AAEO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,QAAQ,sBAAwB,EAAA;AACtC,SAAO,SAAS,WAAW,QAAQ,uBAAA,UAAA,EAAG,gBAAM,MAAT,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAe,IAAM;AACzD;"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
+ const binding = require("@contember/binding");
5
+ const reactBinding = require("@contember/react-binding");
6
+ const contexts = require("../contexts.cjs");
7
+ const BoardColumn = require("./BoardColumn.cjs");
8
+ const _const = require("../const.cjs");
9
+ const BoardEachColumn = ({ children }) => {
10
+ const columns = contexts.useBoardColumns();
11
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: columns.map((column) => {
12
+ if (column.id === _const.BoardNullColumnPlaceholder) {
13
+ return null;
14
+ }
15
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentColumnContext.Provider, { value: column, children: column.value instanceof binding.EntityAccessor ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.Entity, { accessor: column.value, children }, void 0, false, {
16
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
17
+ lineNumber: 21,
18
+ columnNumber: 7
19
+ }, void 0) : children }, column.id, false, {
20
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
21
+ lineNumber: 19,
22
+ columnNumber: 5
23
+ }, void 0);
24
+ }) }, void 0, false, {
25
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
26
+ lineNumber: 13,
27
+ columnNumber: 9
28
+ }, void 0);
29
+ };
30
+ BoardEachColumn.staticRender = ({ children }) => {
31
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(BoardColumn.BoardColumn, { children }, void 0, false, {
32
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
33
+ lineNumber: 31,
34
+ columnNumber: 9
35
+ }, void 0);
36
+ };
37
+ exports.BoardEachColumn = BoardEachColumn;
38
+ //# sourceMappingURL=BoardEachColumn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardEachColumn.cjs","sources":["../../../src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor } from '@contember/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{column.value instanceof EntityAccessor ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["useBoardColumns","jsxDEV","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","EntityAccessor","Entity","this","BoardColumn"],"mappings":";;;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA;AAET,SAAAC,8BAAAA,OAAAC,cAAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAOC,mCAA4B;AACtC,aAAA;AAAA,IACR;AACA,WACEF,8BAAA,OAAAG,SAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAA,OAAO,iBAAiBC,QAAAA,iBACvBJ,8BAAAA,OAAAK,aAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SADF,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAEAC,MAAA,IACG,SALmD,GAAA,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAMA,GAAAA,MAAA;AAAA,EAAA,CAED,EAdK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAeP,GAAAA,MAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAAN,8BAAAA,OAACO,YAAAA,eAAa,SAAd,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAuB,GAAAD,MAAA;AAC/B;;"}
@@ -0,0 +1,38 @@
1
+ import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
2
+ import { EntityAccessor } from "@contember/binding";
3
+ import { Entity } from "@contember/react-binding";
4
+ import { useBoardColumns, BoardCurrentColumnContext } from "../contexts.js";
5
+ import { BoardColumn } from "./BoardColumn.js";
6
+ import { BoardNullColumnPlaceholder } from "../const.js";
7
+ const BoardEachColumn = ({ children }) => {
8
+ const columns = useBoardColumns();
9
+ return /* @__PURE__ */ jsxDEV(Fragment, { children: columns.map((column) => {
10
+ if (column.id === BoardNullColumnPlaceholder) {
11
+ return null;
12
+ }
13
+ return /* @__PURE__ */ jsxDEV(BoardCurrentColumnContext.Provider, { value: column, children: column.value instanceof EntityAccessor ? /* @__PURE__ */ jsxDEV(Entity, { accessor: column.value, children }, void 0, false, {
14
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
15
+ lineNumber: 21,
16
+ columnNumber: 7
17
+ }, void 0) : children }, column.id, false, {
18
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
19
+ lineNumber: 19,
20
+ columnNumber: 5
21
+ }, void 0);
22
+ }) }, void 0, false, {
23
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
24
+ lineNumber: 13,
25
+ columnNumber: 9
26
+ }, void 0);
27
+ };
28
+ BoardEachColumn.staticRender = ({ children }) => {
29
+ return /* @__PURE__ */ jsxDEV(BoardColumn, { children }, void 0, false, {
30
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachColumn.tsx",
31
+ lineNumber: 31,
32
+ columnNumber: 9
33
+ }, void 0);
34
+ };
35
+ export {
36
+ BoardEachColumn
37
+ };
38
+ //# sourceMappingURL=BoardEachColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardEachColumn.js","sources":["../../../src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor } from '@contember/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{column.value instanceof EntityAccessor ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["this"],"mappings":";;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU;AAET,SAAA,uBAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAO,4BAA4B;AACtC,aAAA;AAAA,IACR;AACA,WACE,uBAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAA,OAAO,iBAAiB,iBACvB,uBAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SADF,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAEAA,MAAA,IACG,SALmD,GAAA,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAMA,GAAAA,MAAA;AAAA,EAAA,CAED,EAdK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAeP,GAAAA,MAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAA,uBAAC,eAAa,SAAd,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAuB,GAAAA,MAAA;AAC/B;"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
+ const react = require("react");
5
+ const contexts = require("../contexts.cjs");
6
+ const reactBinding = require("@contember/react-binding");
7
+ const BoardItem = require("./BoardItem.cjs");
8
+ const BoardEachItem = ({ children }) => {
9
+ const currentColumn = contexts.useBoardCurrentColumn();
10
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: currentColumn.items.map((item, index) => {
11
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
12
+ BoardEachItemInner,
13
+ {
14
+ item,
15
+ column: currentColumn,
16
+ children
17
+ },
18
+ item.id,
19
+ false,
20
+ {
21
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
22
+ lineNumber: 15,
23
+ columnNumber: 5
24
+ },
25
+ void 0
26
+ );
27
+ }) }, void 0, false, {
28
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
29
+ lineNumber: 12,
30
+ columnNumber: 9
31
+ }, void 0);
32
+ };
33
+ BoardEachItem.staticRender = ({ children }) => {
34
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(BoardItem.BoardItem, { children }, void 0, false, {
35
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
36
+ lineNumber: 27,
37
+ columnNumber: 9
38
+ }, void 0);
39
+ };
40
+ const BoardEachItemInner = ({ children, item, column }) => {
41
+ const itemWithColumn = react.useMemo(() => ({
42
+ ...item,
43
+ column
44
+ }), [item, column]);
45
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentItemContext.Provider, { value: itemWithColumn, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.Entity, { accessor: item.value, children }, void 0, false, {
46
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
47
+ lineNumber: 43,
48
+ columnNumber: 4
49
+ }, void 0) }, item.id, false, {
50
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
51
+ lineNumber: 42,
52
+ columnNumber: 3
53
+ }, void 0);
54
+ };
55
+ exports.BoardEachItem = BoardEachItem;
56
+ //# sourceMappingURL=BoardEachItem.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardEachItem.cjs","sources":["../../../src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn <>\n\t\t{currentColumn.items.map((item, index) => {\n\t\t\treturn (\n\t\t\t\t<BoardEachItemInner\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardEachItemInner>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["useBoardCurrentColumn","jsxDEV","this","BoardItem","useMemo","BoardCurrentItemContext","Entity"],"mappings":";;;;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgBA,SAAAA;AAEtB,wEACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAAC,8BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,MADX;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAAC;AAAAA,IAAA;AAAA,EAMA,CAED,EAXK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAYP,GAAAA,MAAA;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAAD,8BAAAA,OAACE,UAAAA,aAAW,SAAZ,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAqB,GAAAD,MAAA;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiBE,MAAAA,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EACG,IAAA,CAAC,MAAM,MAAM,CAAC;AAGjB,SAAAH,8BAAAA,OAACI,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAAJ,8BAAA,OAACK,aAAO,QAAA,EAAA,UAAU,KAAK,OACrB,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAJ,MAAA,EAAA,GAH6D,KAAK,IAAnE,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAAA,MAAA;AAEF;;"}
@@ -0,0 +1,56 @@
1
+ import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
2
+ import { useMemo } from "react";
3
+ import { useBoardCurrentColumn, BoardCurrentItemContext } from "../contexts.js";
4
+ import { Entity } from "@contember/react-binding";
5
+ import { BoardItem } from "./BoardItem.js";
6
+ const BoardEachItem = ({ children }) => {
7
+ const currentColumn = useBoardCurrentColumn();
8
+ return /* @__PURE__ */ jsxDEV(Fragment, { children: currentColumn.items.map((item, index) => {
9
+ return /* @__PURE__ */ jsxDEV(
10
+ BoardEachItemInner,
11
+ {
12
+ item,
13
+ column: currentColumn,
14
+ children
15
+ },
16
+ item.id,
17
+ false,
18
+ {
19
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
20
+ lineNumber: 15,
21
+ columnNumber: 5
22
+ },
23
+ void 0
24
+ );
25
+ }) }, void 0, false, {
26
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
27
+ lineNumber: 12,
28
+ columnNumber: 9
29
+ }, void 0);
30
+ };
31
+ BoardEachItem.staticRender = ({ children }) => {
32
+ return /* @__PURE__ */ jsxDEV(BoardItem, { children }, void 0, false, {
33
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
34
+ lineNumber: 27,
35
+ columnNumber: 9
36
+ }, void 0);
37
+ };
38
+ const BoardEachItemInner = ({ children, item, column }) => {
39
+ const itemWithColumn = useMemo(() => ({
40
+ ...item,
41
+ column
42
+ }), [item, column]);
43
+ return /* @__PURE__ */ jsxDEV(BoardCurrentItemContext.Provider, { value: itemWithColumn, children: /* @__PURE__ */ jsxDEV(Entity, { accessor: item.value, children }, void 0, false, {
44
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
45
+ lineNumber: 43,
46
+ columnNumber: 4
47
+ }, void 0) }, item.id, false, {
48
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardEachItem.tsx",
49
+ lineNumber: 42,
50
+ columnNumber: 3
51
+ }, void 0);
52
+ };
53
+ export {
54
+ BoardEachItem
55
+ };
56
+ //# sourceMappingURL=BoardEachItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardEachItem.js","sources":["../../../src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn <>\n\t\t{currentColumn.items.map((item, index) => {\n\t\t\treturn (\n\t\t\t\t<BoardEachItemInner\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardEachItemInner>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgB;AAEtB,4CACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,MADX;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAAA;AAAAA,IAAA;AAAA,EAMA,CAED,EAXK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAYP,GAAAA,MAAA;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAA,uBAAC,aAAW,SAAZ,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAqB,GAAAA,MAAA;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiB,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EACG,IAAA,CAAC,MAAM,MAAM,CAAC;AAGjB,SAAA,uBAAC,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAA,uBAAC,QAAO,EAAA,UAAU,KAAK,OACrB,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA,EAAA,GAH6D,KAAK,IAAnE,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAAA,MAAA;AAEF;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const BoardItem = ({}) => {
4
+ return null;
5
+ };
6
+ BoardItem.staticRender = () => null;
7
+ exports.BoardItem = BoardItem;
8
+ //# sourceMappingURL=BoardItem.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardItem.cjs","sources":["../../../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,8 @@
1
+ const BoardItem = ({}) => {
2
+ return null;
3
+ };
4
+ BoardItem.staticRender = () => null;
5
+ export {
6
+ BoardItem
7
+ };
8
+ //# sourceMappingURL=BoardItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardItem.js","sources":["../../../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,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
+ const contexts = require("../contexts.cjs");
5
+ const _const = require("../const.cjs");
6
+ const BoardNullColumn = ({ children, hideEmpty }) => {
7
+ const column = contexts.useBoardColumns().find((it) => it.id === _const.BoardNullColumnPlaceholder);
8
+ if (!column || hideEmpty && column.items.length === 0) {
9
+ return null;
10
+ }
11
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentColumnContext.Provider, { value: column, children }, void 0, false, {
12
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardNullColumn.tsx",
13
+ lineNumber: 16,
14
+ columnNumber: 3
15
+ }, void 0);
16
+ };
17
+ exports.BoardNullColumn = BoardNullColumn;
18
+ //# sourceMappingURL=BoardNullColumn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardNullColumn.cjs","sources":["../../../src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n};\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["useBoardColumns","BoardNullColumnPlaceholder","BoardCurrentColumnContext","this"],"mappings":";;;;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAASA,SAAgB,gBAAA,EAAE,KAAK,CAAM,OAAA,GAAG,OAAOC,OAAAA,0BAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EACR;AAEA,8CACEC,mCAA0B,UAA1B,EAAmC,OAAO,QACzC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAC,MAAA;AAEF;;"}
@@ -0,0 +1,18 @@
1
+ import { jsxDEV } from "react/jsx-dev-runtime";
2
+ import { useBoardColumns, BoardCurrentColumnContext } from "../contexts.js";
3
+ import { BoardNullColumnPlaceholder } from "../const.js";
4
+ const BoardNullColumn = ({ children, hideEmpty }) => {
5
+ const column = useBoardColumns().find((it) => it.id === BoardNullColumnPlaceholder);
6
+ if (!column || hideEmpty && column.items.length === 0) {
7
+ return null;
8
+ }
9
+ return /* @__PURE__ */ jsxDEV(BoardCurrentColumnContext.Provider, { value: column, children }, void 0, false, {
10
+ fileName: "/__w/interface/interface/packages/react-board/src/components/BoardNullColumn.tsx",
11
+ lineNumber: 16,
12
+ columnNumber: 3
13
+ }, void 0);
14
+ };
15
+ export {
16
+ BoardNullColumn
17
+ };
18
+ //# sourceMappingURL=BoardNullColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardNullColumn.js","sources":["../../../src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n};\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAAS,gBAAgB,EAAE,KAAK,CAAM,OAAA,GAAG,OAAO,0BAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EACR;AAEA,gCACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA;AAEF;"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const reactUtils = require("@contember/react-utils");
4
+ const _BoardMethodsContext = reactUtils.createRequiredContext("BoardMethodsContext");
5
+ const BoardMethodsContext = _BoardMethodsContext[0];
6
+ const useBoardMethods = _BoardMethodsContext[1];
7
+ const BoardColumnsContext_ = reactUtils.createRequiredContext("BoardColumnsContext");
8
+ const BoardColumnsContext = BoardColumnsContext_[0];
9
+ const useBoardColumns = BoardColumnsContext_[1];
10
+ const _BoardColumnContext = reactUtils.createRequiredContext("BoardCurrentColumnContext");
11
+ const BoardCurrentColumnContext = _BoardColumnContext[0];
12
+ const useBoardCurrentColumn = _BoardColumnContext[1];
13
+ const BoardCurrentItemContext_ = reactUtils.createRequiredContext("BoardCurrentItemContext");
14
+ const BoardCurrentItemContext = BoardCurrentItemContext_[0];
15
+ const useBoardCurrentItem = BoardCurrentItemContext_[1];
16
+ exports.BoardColumnsContext = BoardColumnsContext;
17
+ exports.BoardCurrentColumnContext = BoardCurrentColumnContext;
18
+ exports.BoardCurrentItemContext = BoardCurrentItemContext;
19
+ exports.BoardMethodsContext = BoardMethodsContext;
20
+ exports.useBoardColumns = useBoardColumns;
21
+ exports.useBoardCurrentColumn = useBoardCurrentColumn;
22
+ exports.useBoardCurrentItem = useBoardCurrentItem;
23
+ exports.useBoardMethods = useBoardMethods;
24
+ //# sourceMappingURL=contexts.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.cjs","sources":["../../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,24 @@
1
+ import { createRequiredContext } from "@contember/react-utils";
2
+ const _BoardMethodsContext = createRequiredContext("BoardMethodsContext");
3
+ const BoardMethodsContext = _BoardMethodsContext[0];
4
+ const useBoardMethods = _BoardMethodsContext[1];
5
+ const BoardColumnsContext_ = createRequiredContext("BoardColumnsContext");
6
+ const BoardColumnsContext = BoardColumnsContext_[0];
7
+ const useBoardColumns = BoardColumnsContext_[1];
8
+ const _BoardColumnContext = createRequiredContext("BoardCurrentColumnContext");
9
+ const BoardCurrentColumnContext = _BoardColumnContext[0];
10
+ const useBoardCurrentColumn = _BoardColumnContext[1];
11
+ const BoardCurrentItemContext_ = createRequiredContext("BoardCurrentItemContext");
12
+ const BoardCurrentItemContext = BoardCurrentItemContext_[0];
13
+ const useBoardCurrentItem = BoardCurrentItemContext_[1];
14
+ export {
15
+ BoardColumnsContext,
16
+ BoardCurrentColumnContext,
17
+ BoardCurrentItemContext,
18
+ BoardMethodsContext,
19
+ useBoardColumns,
20
+ useBoardCurrentColumn,
21
+ useBoardCurrentItem,
22
+ useBoardMethods
23
+ };
24
+ //# sourceMappingURL=contexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contexts.js","sources":["../../src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":[],"mappings":";AAGA,MAAM,uBAAuB,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAGrD,MAAM,uBAAuB,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsB,sBAAuC,2BAA2B;AAEjF,MAAA,4BAA4B,oBAAoB,CAAC;AACjD,MAAA,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2B,sBAAmE,yBAAyB;AAEhH,MAAA,0BAA0B,yBAAyB,CAAC;AACpD,MAAA,sBAAsB,yBAAyB,CAAC;"}
@@ -1,11 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Board = require("./Board.cjs");
4
3
  const _const = require("./const.cjs");
5
- const useDynamicBoard = require("./useDynamicBoard.cjs");
6
- const useStaticBoard = require("./useStaticBoard.cjs");
7
- exports.createBoard = Board.createBoard;
4
+ const contexts = require("./contexts.cjs");
5
+ const Board = require("./components/Board.cjs");
6
+ const BoardColumn = require("./components/BoardColumn.cjs");
7
+ const BoardItem = require("./components/BoardItem.cjs");
8
+ const BoardEachColumn = require("./components/BoardEachColumn.cjs");
9
+ const BoardEachItem = require("./components/BoardEachItem.cjs");
10
+ const BoardNullColumn = require("./components/BoardNullColumn.cjs");
11
+ const BoardColumnLabel = require("./components/BoardColumnLabel.cjs");
8
12
  exports.BoardNullColumnPlaceholder = _const.BoardNullColumnPlaceholder;
9
- exports.useDynamicBoard = useDynamicBoard.useDynamicBoard;
10
- exports.useStaticBoard = useStaticBoard.useStaticBoard;
13
+ exports.BoardColumnsContext = contexts.BoardColumnsContext;
14
+ exports.BoardCurrentColumnContext = contexts.BoardCurrentColumnContext;
15
+ exports.BoardCurrentItemContext = contexts.BoardCurrentItemContext;
16
+ exports.BoardMethodsContext = contexts.BoardMethodsContext;
17
+ exports.useBoardColumns = contexts.useBoardColumns;
18
+ exports.useBoardCurrentColumn = contexts.useBoardCurrentColumn;
19
+ exports.useBoardCurrentItem = contexts.useBoardCurrentItem;
20
+ exports.useBoardMethods = contexts.useBoardMethods;
21
+ exports.Board = Board.Board;
22
+ exports.BoardColumn = BoardColumn.BoardColumn;
23
+ exports.BoardItem = BoardItem.BoardItem;
24
+ exports.BoardEachColumn = BoardEachColumn.BoardEachColumn;
25
+ exports.BoardEachItem = BoardEachItem.BoardEachItem;
26
+ exports.BoardNullColumn = BoardNullColumn.BoardNullColumn;
27
+ exports.BoardColumnLabel = BoardColumnLabel.BoardColumnLabel;
11
28
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,28 @@
1
- import { createBoard } from "./Board.js";
2
1
  import { BoardNullColumnPlaceholder } from "./const.js";
3
- import { useDynamicBoard } from "./useDynamicBoard.js";
4
- import { useStaticBoard } from "./useStaticBoard.js";
2
+ import { BoardColumnsContext, BoardCurrentColumnContext, BoardCurrentItemContext, BoardMethodsContext, useBoardColumns, useBoardCurrentColumn, useBoardCurrentItem, useBoardMethods } from "./contexts.js";
3
+ import { Board } from "./components/Board.js";
4
+ import { BoardColumn } from "./components/BoardColumn.js";
5
+ import { BoardItem } from "./components/BoardItem.js";
6
+ import { BoardEachColumn } from "./components/BoardEachColumn.js";
7
+ import { BoardEachItem } from "./components/BoardEachItem.js";
8
+ import { BoardNullColumn } from "./components/BoardNullColumn.js";
9
+ import { BoardColumnLabel } from "./components/BoardColumnLabel.js";
5
10
  export {
11
+ Board,
12
+ BoardColumn,
13
+ BoardColumnLabel,
14
+ BoardColumnsContext,
15
+ BoardCurrentColumnContext,
16
+ BoardCurrentItemContext,
17
+ BoardEachColumn,
18
+ BoardEachItem,
19
+ BoardItem,
20
+ BoardMethodsContext,
21
+ BoardNullColumn,
6
22
  BoardNullColumnPlaceholder,
7
- createBoard,
8
- useDynamicBoard,
9
- useStaticBoard
23
+ useBoardColumns,
24
+ useBoardCurrentColumn,
25
+ useBoardCurrentItem,
26
+ useBoardMethods
10
27
  };
11
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,16 @@
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) => node.props.children, BoardItem.BoardItem);
7
+ const columnLeaf = new reactMultipassRendering.Leaf((node) => node.props.children, BoardColumn.BoardColumn);
8
+ const boardColumnsAnalyzer = new reactMultipassRendering.ChildrenAnalyzer([columnLeaf], {
9
+ staticRenderFactoryName: "staticRender"
10
+ });
11
+ const boardItemsAnalyzer = new reactMultipassRendering.ChildrenAnalyzer([itemLeaf], {
12
+ staticRenderFactoryName: "staticRender"
13
+ });
14
+ exports.boardColumnsAnalyzer = boardColumnsAnalyzer;
15
+ exports.boardItemsAnalyzer = boardItemsAnalyzer;
16
+ //# sourceMappingURL=boardAnalyzer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boardAnalyzer.cjs","sources":["../../../src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/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 => node.props.children, BoardItem)\nconst columnLeaf = new Leaf(node => node.props.children, BoardColumn)\n\n\nexport const boardColumnsAnalyzer = new ChildrenAnalyzer<\n\tReactNode,\n\tnever,\n\tEnvironment\n>([columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n})\n\nexport const boardItemsAnalyzer = new ChildrenAnalyzer<\n\tReactNode,\n\tnever,\n\tEnvironment\n>([itemLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAA,KAAK,UAAQ,KAAK,MAAM,UAAUC,UAAAA,SAAS;AAChE,MAAM,aAAa,IAAID,wBAAA,KAAK,UAAQ,KAAK,MAAM,UAAUE,YAAAA,WAAW;AAG7D,MAAM,uBAAuB,IAAIC,wBAAAA,iBAItC,CAAC,UAAU,GAAG;AAAA,EACf,yBAAyB;AAC1B,CAAC;AAEM,MAAM,qBAAqB,IAAIA,wBAAAA,iBAIpC,CAAC,QAAQ,GAAG;AAAA,EACb,yBAAyB;AAC1B,CAAC;;;"}
@@ -0,0 +1,16 @@
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) => node.props.children, BoardItem);
5
+ const columnLeaf = new Leaf((node) => node.props.children, BoardColumn);
6
+ const boardColumnsAnalyzer = new ChildrenAnalyzer([columnLeaf], {
7
+ staticRenderFactoryName: "staticRender"
8
+ });
9
+ const boardItemsAnalyzer = new ChildrenAnalyzer([itemLeaf], {
10
+ staticRenderFactoryName: "staticRender"
11
+ });
12
+ export {
13
+ boardColumnsAnalyzer,
14
+ boardItemsAnalyzer
15
+ };
16
+ //# sourceMappingURL=boardAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boardAnalyzer.js","sources":["../../../src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/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 => node.props.children, BoardItem)\nconst columnLeaf = new Leaf(node => node.props.children, BoardColumn)\n\n\nexport const boardColumnsAnalyzer = new ChildrenAnalyzer<\n\tReactNode,\n\tnever,\n\tEnvironment\n>([columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n})\n\nexport const boardItemsAnalyzer = new ChildrenAnalyzer<\n\tReactNode,\n\tnever,\n\tEnvironment\n>([itemLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,UAAQ,KAAK,MAAM,UAAU,SAAS;AAChE,MAAM,aAAa,IAAI,KAAK,UAAQ,KAAK,MAAM,UAAU,WAAW;AAG7D,MAAM,uBAAuB,IAAI,iBAItC,CAAC,UAAU,GAAG;AAAA,EACf,yBAAyB;AAC1B,CAAC;AAEM,MAAM,qBAAqB,IAAI,iBAIpC,CAAC,QAAQ,GAAG;AAAA,EACb,yBAAyB;AAC1B,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBoardItemsMethods.cjs","sources":["../../../src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../BoardBindingProps'\nimport { 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'\n\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn,\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\n\t\t}\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["useCallback","itemEntities","sortEntities","BindingError","repairEntitiesOrder","useMemo","currentIndex","arrayMove"],"mappings":"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"}
1
+ {"version":3,"file":"useBoardItemsMethods.cjs","sources":["../../../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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"}