@contember/react-board 2.0.0-alpha.5 → 2.0.0-alpha.8

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 (221) 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 +4 -4
  15. package/dist/development/src/components/BoardEachColumn.cjs.map +1 -0
  16. package/dist/development/{components → src/components}/BoardEachColumn.js +4 -4
  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 +9 -9
  43. package/dist/development/src/internal/useDynamicBoard.cjs.map +1 -0
  44. package/dist/development/src/internal/useDynamicBoard.js.map +1 -0
  45. package/dist/{production → development/src}/internal/useGroupItemsByColumn.cjs +2 -2
  46. package/dist/development/src/internal/useGroupItemsByColumn.cjs.map +1 -0
  47. package/dist/development/src/internal/useGroupItemsByColumn.js.map +1 -0
  48. package/dist/{production → development/src}/internal/useStaticBoard.cjs +4 -4
  49. package/dist/development/src/internal/useStaticBoard.cjs.map +1 -0
  50. package/dist/development/src/internal/useStaticBoard.js.map +1 -0
  51. package/dist/development/src/utils/arrayMove.cjs.map +1 -0
  52. package/dist/development/src/utils/arrayMove.js.map +1 -0
  53. package/dist/production/index.cjs +9 -9
  54. package/dist/production/index.js +9 -9
  55. package/dist/production/{components → src/components}/Board.cjs +17 -13
  56. package/dist/production/src/components/Board.cjs.map +1 -0
  57. package/dist/production/{components → src/components}/Board.js +11 -7
  58. package/dist/production/src/components/Board.js.map +1 -0
  59. package/dist/production/src/components/BoardColumn.cjs.map +1 -0
  60. package/dist/production/src/components/BoardColumn.js.map +1 -0
  61. package/dist/production/src/components/BoardColumnLabel.cjs.map +1 -0
  62. package/dist/production/src/components/BoardColumnLabel.js.map +1 -0
  63. package/dist/production/src/components/BoardEachColumn.cjs.map +1 -0
  64. package/dist/production/src/components/BoardEachColumn.js.map +1 -0
  65. package/dist/production/{components → src/components}/BoardEachItem.cjs +2 -2
  66. package/dist/production/src/components/BoardEachItem.cjs.map +1 -0
  67. package/dist/production/src/components/BoardEachItem.js.map +1 -0
  68. package/dist/production/src/components/BoardItem.cjs.map +1 -0
  69. package/dist/production/src/components/BoardItem.js.map +1 -0
  70. package/dist/production/src/components/BoardNullColumn.cjs.map +1 -0
  71. package/dist/production/src/components/BoardNullColumn.js.map +1 -0
  72. package/dist/production/src/const.cjs.map +1 -0
  73. package/dist/production/src/const.js.map +1 -0
  74. package/dist/production/src/contexts.cjs.map +1 -0
  75. package/dist/production/src/contexts.js.map +1 -0
  76. package/dist/production/src/internal/boardAnalyzer.cjs +13 -0
  77. package/dist/production/src/internal/boardAnalyzer.cjs.map +1 -0
  78. package/dist/production/src/internal/boardAnalyzer.js +13 -0
  79. package/dist/production/src/internal/boardAnalyzer.js.map +1 -0
  80. package/dist/production/{internal → src/internal}/useBoardItemsMethods.cjs +6 -6
  81. package/dist/production/src/internal/useBoardItemsMethods.cjs.map +1 -0
  82. package/dist/production/src/internal/useBoardItemsMethods.js.map +1 -0
  83. package/dist/production/{internal → src/internal}/useCreateBoardColumns.cjs +2 -2
  84. package/dist/production/src/internal/useCreateBoardColumns.cjs.map +1 -0
  85. package/dist/production/src/internal/useCreateBoardColumns.js.map +1 -0
  86. package/dist/{development → production/src}/internal/useDynamicBoard.cjs +9 -9
  87. package/dist/production/src/internal/useDynamicBoard.cjs.map +1 -0
  88. package/dist/production/src/internal/useDynamicBoard.js.map +1 -0
  89. package/dist/{development → production/src}/internal/useGroupItemsByColumn.cjs +2 -2
  90. package/dist/production/src/internal/useGroupItemsByColumn.cjs.map +1 -0
  91. package/dist/production/src/internal/useGroupItemsByColumn.js.map +1 -0
  92. package/dist/{development → production/src}/internal/useStaticBoard.cjs +4 -4
  93. package/dist/production/src/internal/useStaticBoard.cjs.map +1 -0
  94. package/dist/production/src/internal/useStaticBoard.js.map +1 -0
  95. package/dist/production/src/utils/arrayMove.cjs.map +1 -0
  96. package/dist/production/src/utils/arrayMove.js.map +1 -0
  97. package/dist/types/components/Board.d.ts.map +1 -1
  98. package/dist/types/components/BoardNullColumn.d.ts.map +1 -1
  99. package/dist/types/contexts.d.ts.map +1 -1
  100. package/dist/types/internal/boardAnalyzer.d.ts +4 -2
  101. package/dist/types/internal/boardAnalyzer.d.ts.map +1 -1
  102. package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
  103. package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -1
  104. package/dist/types/internal/useDynamicBoard.d.ts.map +1 -1
  105. package/dist/types/internal/useStaticBoard.d.ts.map +1 -1
  106. package/dist/types/tsconfig.tsbuildinfo +1 -1
  107. package/dist/types/types/BoardMethods.d.ts.map +1 -1
  108. package/package.json +7 -16
  109. package/src/components/Board.tsx +16 -12
  110. package/src/components/BoardNullColumn.tsx +1 -1
  111. package/src/internal/boardAnalyzer.ts +5 -15
  112. package/src/internal/useBoardItemsMethods.ts +1 -1
  113. package/src/internal/useCreateBoardColumns.ts +1 -1
  114. package/src/types/BoardMethods.ts +6 -6
  115. package/tsconfig.json +7 -0
  116. package/tsdoc.json +6 -0
  117. package/dist/development/components/Board.cjs.map +0 -1
  118. package/dist/development/components/Board.js.map +0 -1
  119. package/dist/development/components/BoardColumn.cjs.map +0 -1
  120. package/dist/development/components/BoardColumn.js.map +0 -1
  121. package/dist/development/components/BoardColumnLabel.cjs.map +0 -1
  122. package/dist/development/components/BoardColumnLabel.js.map +0 -1
  123. package/dist/development/components/BoardEachColumn.cjs.map +0 -1
  124. package/dist/development/components/BoardEachColumn.js.map +0 -1
  125. package/dist/development/components/BoardEachItem.cjs.map +0 -1
  126. package/dist/development/components/BoardEachItem.js.map +0 -1
  127. package/dist/development/components/BoardItem.cjs.map +0 -1
  128. package/dist/development/components/BoardItem.js.map +0 -1
  129. package/dist/development/components/BoardNullColumn.cjs.map +0 -1
  130. package/dist/development/components/BoardNullColumn.js.map +0 -1
  131. package/dist/development/const.cjs.map +0 -1
  132. package/dist/development/const.js.map +0 -1
  133. package/dist/development/contexts.cjs.map +0 -1
  134. package/dist/development/contexts.js.map +0 -1
  135. package/dist/development/internal/boardAnalyzer.cjs +0 -18
  136. package/dist/development/internal/boardAnalyzer.cjs.map +0 -1
  137. package/dist/development/internal/boardAnalyzer.js +0 -18
  138. package/dist/development/internal/boardAnalyzer.js.map +0 -1
  139. package/dist/development/internal/useBoardItemsMethods.cjs.map +0 -1
  140. package/dist/development/internal/useBoardItemsMethods.js.map +0 -1
  141. package/dist/development/internal/useCreateBoardColumns.cjs.map +0 -1
  142. package/dist/development/internal/useCreateBoardColumns.js.map +0 -1
  143. package/dist/development/internal/useDynamicBoard.cjs.map +0 -1
  144. package/dist/development/internal/useDynamicBoard.js.map +0 -1
  145. package/dist/development/internal/useGroupItemsByColumn.cjs.map +0 -1
  146. package/dist/development/internal/useGroupItemsByColumn.js.map +0 -1
  147. package/dist/development/internal/useStaticBoard.cjs.map +0 -1
  148. package/dist/development/internal/useStaticBoard.js.map +0 -1
  149. package/dist/development/utils/arrayMove.cjs.map +0 -1
  150. package/dist/development/utils/arrayMove.js.map +0 -1
  151. package/dist/production/components/Board.cjs.map +0 -1
  152. package/dist/production/components/Board.js.map +0 -1
  153. package/dist/production/components/BoardColumn.cjs.map +0 -1
  154. package/dist/production/components/BoardColumn.js.map +0 -1
  155. package/dist/production/components/BoardColumnLabel.cjs.map +0 -1
  156. package/dist/production/components/BoardColumnLabel.js.map +0 -1
  157. package/dist/production/components/BoardEachColumn.cjs.map +0 -1
  158. package/dist/production/components/BoardEachColumn.js.map +0 -1
  159. package/dist/production/components/BoardEachItem.cjs.map +0 -1
  160. package/dist/production/components/BoardEachItem.js.map +0 -1
  161. package/dist/production/components/BoardItem.cjs.map +0 -1
  162. package/dist/production/components/BoardItem.js.map +0 -1
  163. package/dist/production/components/BoardNullColumn.cjs.map +0 -1
  164. package/dist/production/components/BoardNullColumn.js.map +0 -1
  165. package/dist/production/const.cjs.map +0 -1
  166. package/dist/production/const.js.map +0 -1
  167. package/dist/production/contexts.cjs.map +0 -1
  168. package/dist/production/contexts.js.map +0 -1
  169. package/dist/production/internal/boardAnalyzer.cjs +0 -18
  170. package/dist/production/internal/boardAnalyzer.cjs.map +0 -1
  171. package/dist/production/internal/boardAnalyzer.js +0 -18
  172. package/dist/production/internal/boardAnalyzer.js.map +0 -1
  173. package/dist/production/internal/useBoardItemsMethods.cjs.map +0 -1
  174. package/dist/production/internal/useBoardItemsMethods.js.map +0 -1
  175. package/dist/production/internal/useCreateBoardColumns.cjs.map +0 -1
  176. package/dist/production/internal/useCreateBoardColumns.js.map +0 -1
  177. package/dist/production/internal/useDynamicBoard.cjs.map +0 -1
  178. package/dist/production/internal/useDynamicBoard.js.map +0 -1
  179. package/dist/production/internal/useGroupItemsByColumn.cjs.map +0 -1
  180. package/dist/production/internal/useGroupItemsByColumn.js.map +0 -1
  181. package/dist/production/internal/useStaticBoard.cjs.map +0 -1
  182. package/dist/production/internal/useStaticBoard.js.map +0 -1
  183. package/dist/production/utils/arrayMove.cjs.map +0 -1
  184. package/dist/production/utils/arrayMove.js.map +0 -1
  185. /package/dist/development/{components → src/components}/BoardColumn.cjs +0 -0
  186. /package/dist/development/{components → src/components}/BoardColumn.js +0 -0
  187. /package/dist/development/{components → src/components}/BoardItem.cjs +0 -0
  188. /package/dist/development/{components → src/components}/BoardItem.js +0 -0
  189. /package/dist/development/{const.cjs → src/const.cjs} +0 -0
  190. /package/dist/development/{const.js → src/const.js} +0 -0
  191. /package/dist/development/{contexts.cjs → src/contexts.cjs} +0 -0
  192. /package/dist/development/{contexts.js → src/contexts.js} +0 -0
  193. /package/dist/development/{internal → src/internal}/useBoardItemsMethods.js +0 -0
  194. /package/dist/development/{internal → src/internal}/useCreateBoardColumns.js +0 -0
  195. /package/dist/development/{internal → src/internal}/useDynamicBoard.js +0 -0
  196. /package/dist/development/{internal → src/internal}/useGroupItemsByColumn.js +0 -0
  197. /package/dist/development/{internal → src/internal}/useStaticBoard.js +0 -0
  198. /package/dist/development/{utils → src/utils}/arrayMove.cjs +0 -0
  199. /package/dist/development/{utils → src/utils}/arrayMove.js +0 -0
  200. /package/dist/production/{components → src/components}/BoardColumn.cjs +0 -0
  201. /package/dist/production/{components → src/components}/BoardColumn.js +0 -0
  202. /package/dist/production/{components → src/components}/BoardColumnLabel.cjs +0 -0
  203. /package/dist/production/{components → src/components}/BoardColumnLabel.js +0 -0
  204. /package/dist/production/{components → src/components}/BoardEachColumn.cjs +0 -0
  205. /package/dist/production/{components → src/components}/BoardEachColumn.js +0 -0
  206. /package/dist/production/{components → src/components}/BoardEachItem.js +0 -0
  207. /package/dist/production/{components → src/components}/BoardItem.cjs +0 -0
  208. /package/dist/production/{components → src/components}/BoardItem.js +0 -0
  209. /package/dist/production/{components → src/components}/BoardNullColumn.cjs +0 -0
  210. /package/dist/production/{components → src/components}/BoardNullColumn.js +0 -0
  211. /package/dist/production/{const.cjs → src/const.cjs} +0 -0
  212. /package/dist/production/{const.js → src/const.js} +0 -0
  213. /package/dist/production/{contexts.cjs → src/contexts.cjs} +0 -0
  214. /package/dist/production/{contexts.js → src/contexts.js} +0 -0
  215. /package/dist/production/{internal → src/internal}/useBoardItemsMethods.js +0 -0
  216. /package/dist/production/{internal → src/internal}/useCreateBoardColumns.js +0 -0
  217. /package/dist/production/{internal → src/internal}/useDynamicBoard.js +0 -0
  218. /package/dist/production/{internal → src/internal}/useGroupItemsByColumn.js +0 -0
  219. /package/dist/production/{internal → src/internal}/useStaticBoard.js +0 -0
  220. /package/dist/production/{utils → src/utils}/arrayMove.cjs +0 -0
  221. /package/dist/production/{utils → src/utils}/arrayMove.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BoardMethods.d.ts","sourceRoot":"","sources":["../../../src/types/BoardMethods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,KAAK,IAAI,CAAC;AACxH,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACpF,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AACvE,MAAM,MAAM,mBAAmB,CAAC,WAAW,SAAS,gBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACpJ,MAAM,MAAM,kBAAkB,CAAC,WAAW,SAAS,gBAAgB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,KAAK,IAAI,CAAC;AACxL,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAErE,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,gBAAgB,GAAG,gBAAgB,IAAI;IACnF,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IAChC,YAAY,CAAC,EAAE,uBAAuB,CAAA;IAEtC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACzC,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAClC,CAAA"}
1
+ {"version":3,"file":"BoardMethods.d.ts","sourceRoot":"","sources":["../../../src/types/BoardMethods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,KAAK,IAAI,CAAA;AACvH,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;AACnF,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,mBAAmB,CAAC,WAAW,SAAS,gBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;AACnJ,MAAM,MAAM,kBAAkB,CAAC,WAAW,SAAS,gBAAgB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,KAAK,IAAI,CAAA;AACvL,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;AAEpE,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,gBAAgB,GAAG,gBAAgB,IAAI;IACnF,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IAChC,YAAY,CAAC,EAAE,uBAAuB,CAAA;IAEtC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACzC,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAClC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contember/react-board",
3
3
  "license": "Apache-2.0",
4
- "version": "2.0.0-alpha.5",
4
+ "version": "2.0.0-alpha.8",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "./dist/production/index.js",
@@ -15,18 +15,10 @@
15
15
  }
16
16
  }
17
17
  },
18
- "files": [
19
- "dist/",
20
- "src/"
21
- ],
22
18
  "typings": "./dist/types/index.d.ts",
23
19
  "scripts": {
24
- "build": "yarn build:js:dev && yarn build:js:prod",
25
- "build:js:dev": "NODE_ENV=development vite build --mode development",
26
- "build:js:prod": "vite build --mode production",
27
20
  "ae:build": "api-extractor run --local",
28
- "ae:test": "api-extractor run",
29
- "test": "vitest"
21
+ "ae:test": "api-extractor run"
30
22
  },
31
23
  "repository": {
32
24
  "type": "git",
@@ -34,10 +26,10 @@
34
26
  "directory": "packages/react-board"
35
27
  },
36
28
  "dependencies": {
37
- "@contember/binding": "2.0.0-alpha.5",
38
- "@contember/react-binding": "2.0.0-alpha.5",
39
- "@contember/react-multipass-rendering": "2.0.0-alpha.5",
40
- "@contember/react-utils": "2.0.0-alpha.5"
29
+ "@contember/binding": "2.0.0-alpha.8",
30
+ "@contember/react-binding": "2.0.0-alpha.8",
31
+ "@contember/react-multipass-rendering": "2.0.0-alpha.8",
32
+ "@contember/react-utils": "2.0.0-alpha.8"
41
33
  },
42
34
  "peerDependencies": {
43
35
  "react": "^18 || ^19",
@@ -46,6 +38,5 @@
46
38
  "devDependencies": {
47
39
  "react": "^18.3.1",
48
40
  "react-dom": "^18.3.1"
49
- },
50
- "stableVersion": "0.0.0"
41
+ }
51
42
  }
@@ -11,7 +11,7 @@ import {
11
11
  useEntityList,
12
12
  useEntityListSubTree,
13
13
  } from '@contember/react-binding'
14
- import { boardColumnsAnalyzer, boardItemsAnalyzer } from '../internal/boardAnalyzer'
14
+ import { boardAnalyzer } from '../internal/boardAnalyzer'
15
15
  import { Fragment, ReactNode } from 'react'
16
16
  import { useDynamicBoard } from '../internal/useDynamicBoard'
17
17
  import { useStaticBoard } from '../internal/useStaticBoard'
@@ -48,7 +48,7 @@ export type BoardDynamicColumnsBindingProps = {
48
48
 
49
49
  export type BoardStaticColumnsBindingProps = {
50
50
  columns: {
51
- value: string,
51
+ value: string
52
52
  label: ReactNode
53
53
  }[]
54
54
  discriminationField: string | SugaredRelativeSingleField
@@ -56,10 +56,10 @@ export type BoardStaticColumnsBindingProps = {
56
56
 
57
57
  export type BoardCommonProps =
58
58
  & {
59
- children: ReactNode
60
- sortableBy?: string | SugaredRelativeSingleField
61
- sortScope?: 'column' | 'board'
62
- }
59
+ children: ReactNode
60
+ sortableBy?: string | SugaredRelativeSingleField
61
+ sortScope?: 'column' | 'board'
62
+ }
63
63
 
64
64
  export type BoardQualifiedItemsProps =
65
65
  & Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>
@@ -95,8 +95,9 @@ const BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(({ entities,
95
95
  )
96
96
  }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
97
97
 
98
- const columnChildren = boardColumnsAnalyzer.processChildren(children, env)
99
- const itemChildren = boardItemsAnalyzer.processChildren(children, env)
98
+ const childrenByType = boardAnalyzer.processChildren(children, env)
99
+ const columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)
100
+ const itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)
100
101
 
101
102
  return (<>
102
103
  <EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>
@@ -138,8 +139,9 @@ const RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(({ field, orde
138
139
  </BoardMethodsContext.Provider>
139
140
  )
140
141
  }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
141
- const columnChildren = boardColumnsAnalyzer.processChildren(children, env)
142
- const itemChildren = boardItemsAnalyzer.processChildren(children, env)
142
+ const childrenByType = boardAnalyzer.processChildren(children, env)
143
+ const columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)
144
+ const itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)
143
145
  return (<>
144
146
  <HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>
145
147
  <HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />
@@ -175,7 +177,8 @@ const BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(({ entities, o
175
177
  </BoardMethodsContext.Provider>
176
178
  )
177
179
  }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
178
- const itemChildren = boardItemsAnalyzer.processChildren(children, env)
180
+ const childrenByType = boardAnalyzer.processChildren(children, env)
181
+ const itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)
179
182
  return (<>
180
183
  <EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>
181
184
  <Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />
@@ -208,7 +211,8 @@ const RelativeStaticBoard = Component<BoardRelativeStaticProps>(({ field, orderB
208
211
  </BoardMethodsContext.Provider>
209
212
  )
210
213
  }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
211
- const itemChildren = boardItemsAnalyzer.processChildren(children, env)
214
+ const childrenByType = boardAnalyzer.processChildren(children, env)
215
+ const itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)
212
216
  return (<>
213
217
  <HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>
214
218
  <Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />
@@ -5,7 +5,7 @@ import { BoardNullColumnPlaceholder } from '../const'
5
5
  export type BoardNullColumnProps = {
6
6
  children: ReactNode
7
7
  hideEmpty?: boolean
8
- };
8
+ }
9
9
  export const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {
10
10
  const column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)
11
11
  if (!column || (hideEmpty && column.items.length === 0)) {
@@ -4,24 +4,14 @@ import { BoardItem } from '../components/BoardItem'
4
4
  import { ReactNode } from 'react'
5
5
  import { BoardColumn } from '../components/BoardColumn'
6
6
 
7
- const itemLeaf = new Leaf(node => node.props.children, BoardItem)
8
- const columnLeaf = new Leaf(node => node.props.children, BoardColumn)
7
+ const itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)
8
+ const columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)
9
9
 
10
-
11
- export const boardColumnsAnalyzer = new ChildrenAnalyzer<
12
- ReactNode,
13
- never,
14
- Environment
15
- >([columnLeaf], {
16
- staticRenderFactoryName: 'staticRender',
17
- staticContextFactoryName: 'generateEnvironment',
18
- })
19
-
20
- export const boardItemsAnalyzer = new ChildrenAnalyzer<
21
- ReactNode,
10
+ export const boardAnalyzer = new ChildrenAnalyzer<
11
+ { type: 'column' | 'item'; children: ReactNode },
22
12
  never,
23
13
  Environment
24
- >([itemLeaf], {
14
+ >([itemLeaf, columnLeaf], {
25
15
  staticRenderFactoryName: 'staticRender',
26
16
  staticContextFactoryName: 'generateEnvironment',
27
17
  })
@@ -17,7 +17,7 @@ export type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {
17
17
  connectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void
18
18
  desugaredSortableByField: RelativeSingleField | undefined
19
19
  sortScope?: 'column' | 'board'
20
- groupItemsByColumn: UseGroupItemsByColumn,
20
+ groupItemsByColumn: UseGroupItemsByColumn
21
21
  getDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey
22
22
  columnIdGetter: (column: ColumnValue) => string | number
23
23
  }
@@ -8,7 +8,7 @@ export const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ gr
8
8
  items: EntityListAccessor
9
9
  columns: Iterable<ColumnValue>
10
10
  columnIdGetter: (column: ColumnValue) => string | number
11
- groupItemsByColumn: UseGroupItemsByColumn,
11
+ groupItemsByColumn: UseGroupItemsByColumn
12
12
  }): BoardColumnNode<ColumnValue>[] => {
13
13
 
14
14
  return useMemo(() => {
@@ -1,12 +1,12 @@
1
1
  import { EntityAccessor } from '@contember/binding'
2
2
  import { BoardColumnValue } from './BoardColumnNode'
3
3
 
4
- export type BoardAddColumnMethod = (index: number | undefined, preprocess?: EntityAccessor.BatchUpdatesHandler) => void;
5
- export type BoardMoveColumnMethod = (entity: EntityAccessor, index: number) => void;
6
- export type BoardRemoveColumnMethod = (entity: EntityAccessor) => void;
7
- export type BoardMoveItemMethod<ColumnValue extends BoardColumnValue> = (entity: EntityAccessor, column: ColumnValue | null, index: number) => void;
8
- export type BoardAddItemMethod<ColumnValue extends BoardColumnValue> = (column: ColumnValue | null, index: number | undefined, preprocess?: EntityAccessor.BatchUpdatesHandler) => void;
9
- export type BoardRemoveItemMethod = (entity: EntityAccessor) => void;
4
+ export type BoardAddColumnMethod = (index: number | undefined, preprocess?: EntityAccessor.BatchUpdatesHandler) => void
5
+ export type BoardMoveColumnMethod = (entity: EntityAccessor, index: number) => void
6
+ export type BoardRemoveColumnMethod = (entity: EntityAccessor) => void
7
+ export type BoardMoveItemMethod<ColumnValue extends BoardColumnValue> = (entity: EntityAccessor, column: ColumnValue | null, index: number) => void
8
+ export type BoardAddItemMethod<ColumnValue extends BoardColumnValue> = (column: ColumnValue | null, index: number | undefined, preprocess?: EntityAccessor.BatchUpdatesHandler) => void
9
+ export type BoardRemoveItemMethod = (entity: EntityAccessor) => void
10
10
 
11
11
  export type BoardMethods<ColumnValue extends BoardColumnValue = BoardColumnValue> = {
12
12
  moveColumn?: BoardMoveColumnMethod
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "files": [],
3
+ "include": [],
4
+ "references": [
5
+ { "path": "./src" },
6
+ ],
7
+ }
package/tsdoc.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
3
+ "extends": [
4
+ "../../tsdoc.json"
5
+ ]
6
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Board.cjs","sources":["../../../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 { boardColumnsAnalyzer, boardItemsAnalyzer } 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\tchildren: ReactNode\n\tsortableBy?: string | SugaredRelativeSingleField\n\tsortScope?: 'column' | 'board'\n}\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 columnChildren = boardColumnsAnalyzer.processChildren(children, env)\n\tconst itemChildren = boardItemsAnalyzer.processChildren(children, env)\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 columnChildren = boardColumnsAnalyzer.processChildren(children, env)\n\tconst itemChildren = boardItemsAnalyzer.processChildren(children, env)\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 itemChildren = boardItemsAnalyzer.processChildren(children, env)\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 itemChildren = boardItemsAnalyzer.processChildren(children, env)\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","jsxDEV","this","useEntityListSubTree","useDynamicBoard","BoardMethodsContext","BoardColumnsContext","boardColumnsAnalyzer","boardItemsAnalyzer","Fragment","EntityListSubTree","HasOne","Field","useEntityList","HasMany","useStaticBoard"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Board.js","sources":["../../../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 { boardColumnsAnalyzer, boardItemsAnalyzer } 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\tchildren: ReactNode\n\tsortableBy?: string | SugaredRelativeSingleField\n\tsortScope?: 'column' | 'board'\n}\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 columnChildren = boardColumnsAnalyzer.processChildren(children, env)\n\tconst itemChildren = boardItemsAnalyzer.processChildren(children, env)\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 columnChildren = boardColumnsAnalyzer.processChildren(children, env)\n\tconst itemChildren = boardItemsAnalyzer.processChildren(children, env)\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 itemChildren = boardItemsAnalyzer.processChildren(children, env)\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 itemChildren = boardItemsAnalyzer.processChildren(children, env)\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":["this","Fragment"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoardColumn.cjs","sources":["../../../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;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BoardColumn.js","sources":["../../../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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
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;;"}
@@ -1 +0,0 @@
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;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.cjs","sources":["../../src/const.ts"],"sourcesContent":["export const BoardNullColumnPlaceholder = '__null_column'\n"],"names":[],"mappings":";;AAAO,MAAM,6BAA6B;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.js","sources":["../../src/const.ts"],"sourcesContent":["export const BoardNullColumnPlaceholder = '__null_column'\n"],"names":[],"mappings":"AAAO,MAAM,6BAA6B;"}
@@ -1 +0,0 @@
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;;;;;;;;;"}
@@ -1 +0,0 @@
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,18 +0,0 @@
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
- staticContextFactoryName: "generateEnvironment"
11
- });
12
- const boardItemsAnalyzer = new reactMultipassRendering.ChildrenAnalyzer([itemLeaf], {
13
- staticRenderFactoryName: "staticRender",
14
- staticContextFactoryName: "generateEnvironment"
15
- });
16
- exports.boardColumnsAnalyzer = boardColumnsAnalyzer;
17
- exports.boardItemsAnalyzer = boardItemsAnalyzer;
18
- //# sourceMappingURL=boardAnalyzer.cjs.map
@@ -1 +0,0 @@
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\tstaticContextFactoryName: 'generateEnvironment',\n})\n\nexport const boardItemsAnalyzer = new ChildrenAnalyzer<\n\tReactNode,\n\tnever,\n\tEnvironment\n>([itemLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\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;AAAA,EACzB,0BAA0B;AAC3B,CAAC;AAEM,MAAM,qBAAqB,IAAIA,wBAAAA,iBAIpC,CAAC,QAAQ,GAAG;AAAA,EACb,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;;"}
@@ -1,18 +0,0 @@
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
- staticContextFactoryName: "generateEnvironment"
9
- });
10
- const boardItemsAnalyzer = new ChildrenAnalyzer([itemLeaf], {
11
- staticRenderFactoryName: "staticRender",
12
- staticContextFactoryName: "generateEnvironment"
13
- });
14
- export {
15
- boardColumnsAnalyzer,
16
- boardItemsAnalyzer
17
- };
18
- //# sourceMappingURL=boardAnalyzer.js.map
@@ -1 +0,0 @@
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\tstaticContextFactoryName: 'generateEnvironment',\n})\n\nexport const boardItemsAnalyzer = new ChildrenAnalyzer<\n\tReactNode,\n\tnever,\n\tEnvironment\n>([itemLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\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;AAAA,EACzB,0BAA0B;AAC3B,CAAC;AAEM,MAAM,qBAAqB,IAAI,iBAIpC,CAAC,QAAQ,GAAG;AAAA,EACb,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
@@ -1 +0,0 @@
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":";;;;;AA0BO,MAAM,uBAAuB,CAAuC;AAAA,EAC1E;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACb,MAA8E;AAE7E,QAAM,6BAA6B,aAAa;AAE1C,QAAA,oBAAoBA,kBAAY,CAAC,WAAmC;AACzE,UAAMC,gBAAe;AACrB,WAAO,cAAc,WAClB,mBAAmBA,aAAY,EAAE,IAAI,MAAM,GAAG,MAAM,KAAK,CAAA,IACzDC,aAAAA,aAAa,MAAM,KAAKD,aAAY,GAAG,wBAAwB;AAAA,KAChE,CAAC,0BAA0B,oBAAoB,4BAA4B,SAAS,CAAC;AAExF,QAAM,qBAAqBD,MAAAA,YAAY,CAAC,QAAgC,UAA8B;AACrG,QAAI,UAAU,QAAW;AACjB,aAAA;AAAA,IACR;AACA,QAAI,cAAc,UAAU;AACpB,aAAA;AAAA,IACR;AACM,UAAA,cAAc,mBAAmB,YAAY,EAAE,IAAI,MAAM,GAAG,MAAM,KAAK;AACvE,UAAA,gBAAgB,YAAY,KAAK;AACvC,QAAI,CAAC,eAAe;AACZ,aAAA;AAAA,IACR;AAEM,UAAA,iBAAiB,kBAAkB,MAAM;AACxC,WAAA,eAAe,UAAU,CAAM,OAAA,GAAG,OAAO,cAAc,EAAE,KAAK,eAAe;AAAA,KAClF,CAAC,mBAAmB,oBAAoB,cAAc,SAAS,CAAC;AAEnE,QAAM,UAAUA,MAAA,YAA6C,CAAC,QAAQ,OAAO,eAAe;AAC3F,UAAMC,gBAAe;AACf,UAAA,qBAAqB,CAAC,aAAmC,YAAiC;AAC3E,0BAAA,eAAe,MAAM;AACzC,mBAAa,aAAa,OAAO;AAAA,IAAA;AAElC,QAAI,CAAC,0BAA0B;AAC9B,UAAI,UAAU,QAAW;AACjBA,eAAAA,cAAa,gBAAgB,kBAAkB;AAAA,MACvD;AACM,YAAA,IAAIE,aAAAA,aAAa,4DAA4D;AAAA,IACpF;AACA,UAAM,WAAW,SAAS,eAAe,MAAM,IAAI;AAC7C,UAAA,iBAAiB,kBAAkB,QAAQ;AAEjD,UAAM,gBAAgB,mBAAmB,UAAU,KAAK,KAAK,eAAe;AAG5EF,kBAAa,gBAAgB,CAAC,WAAW,YAAY;AACpD,qBAAe,OAAO,eAAe,GAAG,UAAW,CAAA;AACnDG,uCAAoB,0BAA0B,cAAc;AAC5D,2BAAqB,WAAW,OAAO;AAAA,IAAA,CACvC;AAAA,EAAA,GACC,CAAC,gBAAgB,qBAAqB,0BAA0B,mBAAmB,4BAA4B,kBAAkB,CAAC;AAG/H,QAAA,WAAWC,MAAAA,QAAsD,MAAM;AAC5E,QAAI,CAAC,0BAA0B;AACvB,aAAA;AAAA,IACR;AACO,WAAA,CAAC,QAAQ,QAAQ,UAAU;AAC3B,YAAA,gBAAgB,sBAAsB,MAAM;AAClD,YAAM,WAAW,SAAS,eAAe,MAAM,IAAI;AAEnD,0BAAoB,QAAQ,MAAM;AAE9B,UAAA,kBAAkB,YAAY,cAAc,SAAS;AAClD,cAAA,iBAAiB,kBAAkB,QAAQ;AACjD,cAAMC,gBAAe,eAAe,UAAU,QAAM,GAAG,OAAO,OAAO,EAAE;AACvE,cAAM,gBAAgB,mBAAmB,UAAU,KAAK,KAAK,eAAe;AAC5E,cAAM,gBAAgBC,UAAA,UAAU,gBAAgBD,eAAc,aAAa;AAC3EF,yCAAoB,0BAA0B,aAAa;AAC3D;AAAA,MACD;AAIA,YAAMH,gBAAe;AACf,YAAA,eAAe,mBAAmBA,aAAY;AAE9C,YAAA,qBAAqB,aAAa,IAAI,iBAAiB,IAAI,GAAG,WAAW;AAC/E,YAAM,eAAe,mBAAmB,UAAU,QAAM,GAAG,OAAO,OAAO,EAAE;AACxD,yBAAA,OAAO,cAAc,CAAC;AACzCG,uCAAoB,0BAA0B,kBAAkB;AAEhE,YAAM,iBAAiB,aAAa,IAAI,QAAQ,GAAG,WAAW;AAC/C,qBAAA,OAAO,OAAO,GAAG,MAAM;AACtCA,uCAAoB,0BAA0B,cAAc;AAAA,IAAA;AAAA,EAG9D,GAAG,CAAC,gBAAgB,qBAAqB,0BAA0B,uBAAuB,mBAAmB,oBAAoB,4BAA4B,oBAAoB,SAAS,CAAC;AAErL,QAAA,aAAaJ,kBAAmC,CAAU,WAAA;AAC/D,QAAI,0BAA0B;AACvB,YAAA,gBAAgB,sBAAsB,MAAM;AAC5C,YAAA,iBAAiB,kBAAkB,aAAa;AACtD,YAAM,eAAe,eAAe,UAAU,QAAM,GAAG,OAAO,OAAO,EAAE;AACxD,qBAAA,OAAO,cAAc,CAAC;AACrCI,uCAAoB,0BAA0B,cAAc;AAAA,IAC7D;AACA,WAAO,aAAa;AAAA,EAClB,GAAA,CAAC,0BAA0B,uBAAuB,iBAAiB,CAAC;AAEhE,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBoardItemsMethods.js","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":["itemEntities","currentIndex"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCreateBoardColumns.cjs","sources":["../../../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;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCreateBoardColumns.js","sources":["../../../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;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDynamicBoard.cjs","sources":["../../../src/internal/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport {\n\tBoardAddColumnMethod,\n\tBoardMethods,\n\tBoardMoveColumnMethod,\n\tBoardRemoveColumnMethod,\n} from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\n\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<EntityAccessor>] => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map(it => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getRelativeSingleEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getRelativeSingleEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["useCallback","sortEntities","useDesugaredRelativeSingleField","useDesugaredRelativeSingleEntity","useMemo","useGroupItemsByColumn","useCreateBoardColumns","columnEntities","BindingError","addEntityAtIndex","arrayMove","repairEntitiesOrder","useBoardItemsMethods"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDynamicBoard.js","sources":["../../../src/internal/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport {\n\tBoardAddColumnMethod,\n\tBoardMethods,\n\tBoardMoveColumnMethod,\n\tBoardRemoveColumnMethod,\n} from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\n\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<EntityAccessor>] => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map(it => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getRelativeSingleEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getRelativeSingleEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["columnEntities"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGroupItemsByColumn.cjs","sources":["../../../src/internal/useGroupItemsByColumn.ts"],"sourcesContent":["import { EntityAccessor, EntityId, EntityListAccessor, RelativeSingleField, sortEntities } from '@contember/react-binding'\nimport { useCallback } from 'react'\n\nexport type BoardColumnKey = string | EntityId | null\nexport type UseGroupItemsByColumn = (itemEntities: EntityListAccessor) => Map<BoardColumnKey, EntityAccessor[]>\nexport const useGroupItemsByColumn = (getDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey, sortBy: RelativeSingleField | undefined): UseGroupItemsByColumn => {\n\treturn useCallback((itemEntities: EntityListAccessor) => {\n\t\tconst itemsByColumn = new Map<BoardColumnKey, EntityAccessor[]>()\n\n\t\tfor (const item of sortEntities(Array.from(itemEntities), sortBy)) {\n\t\t\tconst discriminatedBy = getDiscriminatorValue(item)\n\t\t\tif (!itemsByColumn.has(discriminatedBy)) {\n\t\t\t\titemsByColumn.set(discriminatedBy, [])\n\t\t\t}\n\t\t\titemsByColumn.get(discriminatedBy)?.push(item)\n\t\t}\n\t\treturn itemsByColumn\n\t}, [getDiscriminatorValue, sortBy])\n}\n"],"names":["useCallback","sortEntities"],"mappings":";;;;AAKa,MAAA,wBAAwB,CAAC,uBAAmE,WAAmE;AACpK,SAAAA,MAAAA,YAAY,CAAC,iBAAqC;AAClD,UAAA,oCAAoB;AAE1B,eAAW,QAAQC,0BAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAC5D,YAAA,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AAC1B,sBAAA,IAAI,iBAAiB,CAAA,CAAE;AAAA,MACtC;AACA,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAC9C;AACO,WAAA;AAAA,EAAA,GACL,CAAC,uBAAuB,MAAM,CAAC;AACnC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGroupItemsByColumn.js","sources":["../../../src/internal/useGroupItemsByColumn.ts"],"sourcesContent":["import { EntityAccessor, EntityId, EntityListAccessor, RelativeSingleField, sortEntities } from '@contember/react-binding'\nimport { useCallback } from 'react'\n\nexport type BoardColumnKey = string | EntityId | null\nexport type UseGroupItemsByColumn = (itemEntities: EntityListAccessor) => Map<BoardColumnKey, EntityAccessor[]>\nexport const useGroupItemsByColumn = (getDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey, sortBy: RelativeSingleField | undefined): UseGroupItemsByColumn => {\n\treturn useCallback((itemEntities: EntityListAccessor) => {\n\t\tconst itemsByColumn = new Map<BoardColumnKey, EntityAccessor[]>()\n\n\t\tfor (const item of sortEntities(Array.from(itemEntities), sortBy)) {\n\t\t\tconst discriminatedBy = getDiscriminatorValue(item)\n\t\t\tif (!itemsByColumn.has(discriminatedBy)) {\n\t\t\t\titemsByColumn.set(discriminatedBy, [])\n\t\t\t}\n\t\t\titemsByColumn.get(discriminatedBy)?.push(item)\n\t\t}\n\t\treturn itemsByColumn\n\t}, [getDiscriminatorValue, sortBy])\n}\n"],"names":[],"mappings":";;AAKa,MAAA,wBAAwB,CAAC,uBAAmE,WAAmE;AACpK,SAAA,YAAY,CAAC,iBAAqC;AAClD,UAAA,oCAAoB;AAE1B,eAAW,QAAQ,aAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAC5D,YAAA,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AAC1B,sBAAA,IAAI,iBAAiB,CAAA,CAAE;AAAA,MACtC;AACA,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAC9C;AACO,WAAA;AAAA,EAAA,GACL,CAAC,uBAAuB,MAAM,CAAC;AACnC;"}