@websolutespa/payload-plugin-bowl 2.0.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/CHANGELOG.md +23 -4
  2. package/README.md +1 -1
  3. package/dist/blocks/MenuItem.js +219 -0
  4. package/dist/blocks/MenuItem.js.map +1 -0
  5. package/dist/blocks/index.js +4 -0
  6. package/dist/blocks/index.js.map +1 -0
  7. package/dist/blocks/withComponentBlock.js +31 -0
  8. package/dist/blocks/withComponentBlock.js.map +1 -0
  9. package/dist/bowl.js +331 -0
  10. package/dist/bowl.js.map +1 -0
  11. package/dist/collections/Address.js +7 -0
  12. package/dist/collections/Address.js.map +1 -0
  13. package/dist/collections/Category.js +94 -0
  14. package/dist/collections/Category.js.map +1 -0
  15. package/dist/collections/ConsentPreference.js +34 -0
  16. package/dist/collections/ConsentPreference.js.map +1 -0
  17. package/dist/collections/Continent.js +24 -0
  18. package/dist/collections/Continent.js.map +1 -0
  19. package/dist/collections/Country.js +66 -0
  20. package/dist/collections/Country.js.map +1 -0
  21. package/dist/collections/CountryZone.js +24 -0
  22. package/dist/collections/CountryZone.js.map +1 -0
  23. package/dist/collections/EmailConfig.js +84 -0
  24. package/dist/collections/EmailConfig.js.map +1 -0
  25. package/dist/collections/EndUsers.js +24 -0
  26. package/dist/collections/EndUsers.js.map +1 -0
  27. package/dist/collections/Label.js +26 -0
  28. package/dist/collections/Label.js.map +1 -0
  29. package/dist/collections/Language.js +35 -0
  30. package/dist/collections/Language.js.map +1 -0
  31. package/dist/collections/LegalNotice.js +29 -0
  32. package/dist/collections/LegalNotice.js.map +1 -0
  33. package/dist/collections/Market.js +106 -0
  34. package/dist/collections/Market.js.map +1 -0
  35. package/dist/collections/Media.js +40 -0
  36. package/dist/collections/Media.js.map +1 -0
  37. package/dist/collections/Menu.js +49 -0
  38. package/dist/collections/Menu.js.map +1 -0
  39. package/dist/collections/Municipality.js +68 -0
  40. package/dist/collections/Municipality.js.map +1 -0
  41. package/dist/collections/Province.js +59 -0
  42. package/dist/collections/Province.js.map +1 -0
  43. package/dist/collections/Redirect.js +90 -0
  44. package/dist/collections/Redirect.js.map +1 -0
  45. package/dist/collections/Region.js +45 -0
  46. package/dist/collections/Region.js.map +1 -0
  47. package/dist/collections/SubContinent.js +36 -0
  48. package/dist/collections/SubContinent.js.map +1 -0
  49. package/dist/collections/Template.js +79 -0
  50. package/dist/collections/Template.js.map +1 -0
  51. package/dist/collections/Users.js +11 -0
  52. package/dist/collections/Users.js.map +1 -0
  53. package/dist/components/Category/CategoryMenu.js +47 -0
  54. package/dist/components/Category/CategoryMenu.js.map +1 -0
  55. package/dist/components/Category/CategoryTree.js +430 -0
  56. package/dist/components/Category/CategoryTree.js.map +1 -0
  57. package/dist/components/Category/CategoryTree.scss +330 -0
  58. package/dist/components/Category/CategoryTreeRoute.js +51 -0
  59. package/dist/components/Category/CategoryTreeRoute.js.map +1 -0
  60. package/dist/components/Category/category.service.js +32 -0
  61. package/dist/components/Category/category.service.js.map +1 -0
  62. package/dist/components/DataTree/DataTree.js +281 -0
  63. package/dist/components/DataTree/DataTree.js.map +1 -0
  64. package/dist/components/DataTree/DataTree.scss +363 -0
  65. package/dist/components/DataTree/DataTreeProvider.js +67 -0
  66. package/dist/components/DataTree/DataTreeProvider.js.map +1 -0
  67. package/dist/components/DataTree/EventEmitter.js +38 -0
  68. package/dist/components/DataTree/EventEmitter.js.map +1 -0
  69. package/dist/components/DataTree/useDataTree.js +52 -0
  70. package/dist/components/DataTree/useDataTree.js.map +1 -0
  71. package/dist/components/DecoratedList/DecoratedList.js +17 -0
  72. package/dist/components/DecoratedList/DecoratedList.js.map +1 -0
  73. package/dist/components/IconServer/IconServer.js +15 -0
  74. package/dist/components/IconServer/IconServer.js.map +1 -0
  75. package/dist/components/IconServer/IconServer.scss +14 -0
  76. package/dist/components/ImportExport/ImportExportList.js +91 -0
  77. package/dist/components/ImportExport/ImportExportList.js.map +1 -0
  78. package/dist/components/ImportExport/ImportExportList.scss +70 -0
  79. package/dist/components/ImportExport/ImportExportRedirect.js +142 -0
  80. package/dist/components/ImportExport/ImportExportRedirect.js.map +1 -0
  81. package/dist/components/ImportExport/ImportModal.js +458 -0
  82. package/dist/components/ImportExport/ImportModal.js.map +1 -0
  83. package/dist/components/ImportExport/ImportModal.scss +99 -0
  84. package/dist/components/ImportExport/types.js +3 -0
  85. package/dist/components/ImportExport/types.js.map +1 -0
  86. package/dist/components/LeaveWithoutSaving/LeaveWithoutSaving.js +83 -0
  87. package/dist/components/LeaveWithoutSaving/LeaveWithoutSaving.js.map +1 -0
  88. package/dist/components/LeaveWithoutSaving/LeaveWithoutSaving.scss +46 -0
  89. package/dist/components/LeaveWithoutSaving/usePreventLeave.js +119 -0
  90. package/dist/components/LeaveWithoutSaving/usePreventLeave.js.map +1 -0
  91. package/dist/components/LocalizedDescription/LocalizedDescriptionClient.js +15 -0
  92. package/dist/components/LocalizedDescription/LocalizedDescriptionClient.js.map +1 -0
  93. package/dist/components/LocalizedDescription/LocalizedDescriptionServer.js +13 -0
  94. package/dist/components/LocalizedDescription/LocalizedDescriptionServer.js.map +1 -0
  95. package/dist/components/LogoServer/LogoServer.js +20 -0
  96. package/dist/components/LogoServer/LogoServer.js.map +1 -0
  97. package/dist/components/LogoServer/LogoServer.scss +21 -0
  98. package/dist/core/access/access.js +181 -0
  99. package/dist/core/access/access.js.map +1 -0
  100. package/dist/core/access/access.test.js +454 -0
  101. package/dist/core/access/access.test.js.map +1 -0
  102. package/dist/core/access/index.js +3 -0
  103. package/dist/core/access/index.js.map +1 -0
  104. package/dist/core/api/action.service.js +441 -0
  105. package/dist/core/api/action.service.js.map +1 -0
  106. package/dist/core/api/action.service.test.js +218 -0
  107. package/dist/core/api/action.service.test.js.map +1 -0
  108. package/dist/core/api/cache.service.js +33 -0
  109. package/dist/core/api/cache.service.js.map +1 -0
  110. package/dist/core/api/cache.service.test.js +33 -0
  111. package/dist/core/api/cache.service.test.js.map +1 -0
  112. package/dist/core/api/category.service.js +53 -0
  113. package/dist/core/api/category.service.js.map +1 -0
  114. package/dist/core/api/collection.service.js +457 -0
  115. package/dist/core/api/collection.service.js.map +1 -0
  116. package/dist/core/api/collection.service.test.js +318 -0
  117. package/dist/core/api/collection.service.test.js.map +1 -0
  118. package/dist/core/api/email.service.js +84 -0
  119. package/dist/core/api/email.service.js.map +1 -0
  120. package/dist/core/api/global.service.js +18 -0
  121. package/dist/core/api/global.service.js.map +1 -0
  122. package/dist/core/api/health.service.js +12 -0
  123. package/dist/core/api/health.service.js.map +1 -0
  124. package/dist/core/api/index.js +16 -0
  125. package/dist/core/api/index.js.map +1 -0
  126. package/dist/core/api/locale.service.js +58 -0
  127. package/dist/core/api/locale.service.js.map +1 -0
  128. package/dist/core/api/locale.service.test.js +46 -0
  129. package/dist/core/api/locale.service.test.js.map +1 -0
  130. package/dist/core/api/menu.service.js +81 -0
  131. package/dist/core/api/menu.service.js.map +1 -0
  132. package/dist/core/api/menu.service.test.js +300 -0
  133. package/dist/core/api/menu.service.test.js.map +1 -0
  134. package/dist/core/api/page.service.js +171 -0
  135. package/dist/core/api/page.service.js.map +1 -0
  136. package/dist/core/api/page.service.test.js +68 -0
  137. package/dist/core/api/page.service.test.js.map +1 -0
  138. package/dist/core/api/pagination.service.js +29 -0
  139. package/dist/core/api/pagination.service.js.map +1 -0
  140. package/dist/core/api/pagination.service.test.js +175 -0
  141. package/dist/core/api/pagination.service.test.js.map +1 -0
  142. package/dist/core/api/redirect.service.js +106 -0
  143. package/dist/core/api/redirect.service.js.map +1 -0
  144. package/dist/core/api/redirect.service.test.js +106 -0
  145. package/dist/core/api/redirect.service.test.js.map +1 -0
  146. package/dist/core/api/route.service.js +451 -0
  147. package/dist/core/api/route.service.js.map +1 -0
  148. package/dist/core/api/route.service.test.js +214 -0
  149. package/dist/core/api/route.service.test.js.map +1 -0
  150. package/dist/core/api/static.service.js +249 -0
  151. package/dist/core/api/static.service.js.map +1 -0
  152. package/dist/core/api/static.service.test.js +240 -0
  153. package/dist/core/api/static.service.test.js.map +1 -0
  154. package/dist/core/api/store.service.js +336 -0
  155. package/dist/core/api/store.service.js.map +1 -0
  156. package/dist/core/api/store.service.test.js +105 -0
  157. package/dist/core/api/store.service.test.js.map +1 -0
  158. package/dist/core/api/types.js +21 -0
  159. package/dist/core/api/types.js.map +1 -0
  160. package/dist/core/api/utils.js +83 -0
  161. package/dist/core/api/utils.js.map +1 -0
  162. package/dist/core/api/where.service.js +231 -0
  163. package/dist/core/api/where.service.js.map +1 -0
  164. package/dist/core/collections/index.js +12 -0
  165. package/dist/core/collections/index.js.map +1 -0
  166. package/dist/core/collections/withAction.js +91 -0
  167. package/dist/core/collections/withAction.js.map +1 -0
  168. package/dist/core/collections/withAction.test.js +68 -0
  169. package/dist/core/collections/withAction.test.js.map +1 -0
  170. package/dist/core/collections/withAddress.js +122 -0
  171. package/dist/core/collections/withAddress.js.map +1 -0
  172. package/dist/core/collections/withBlock.js +17 -0
  173. package/dist/core/collections/withBlock.js.map +1 -0
  174. package/dist/core/collections/withBlock.test.js +68 -0
  175. package/dist/core/collections/withBlock.test.js.map +1 -0
  176. package/dist/core/collections/withCollection.js +61 -0
  177. package/dist/core/collections/withCollection.js.map +1 -0
  178. package/dist/core/collections/withCollection.test.js +64 -0
  179. package/dist/core/collections/withCollection.test.js.map +1 -0
  180. package/dist/core/collections/withEndUser.js +301 -0
  181. package/dist/core/collections/withEndUser.js.map +1 -0
  182. package/dist/core/collections/withGlobal.js +27 -0
  183. package/dist/core/collections/withGlobal.js.map +1 -0
  184. package/dist/core/collections/withGlobal.test.js +57 -0
  185. package/dist/core/collections/withGlobal.test.js.map +1 -0
  186. package/dist/core/collections/withMenu.js +19 -0
  187. package/dist/core/collections/withMenu.js.map +1 -0
  188. package/dist/core/collections/withMenu.test.js +63 -0
  189. package/dist/core/collections/withMenu.test.js.map +1 -0
  190. package/dist/core/collections/withPage.js +126 -0
  191. package/dist/core/collections/withPage.js.map +1 -0
  192. package/dist/core/collections/withPage.test.js +103 -0
  193. package/dist/core/collections/withPage.test.js.map +1 -0
  194. package/dist/core/collections/withStaticCollection.js +60 -0
  195. package/dist/core/collections/withStaticCollection.js.map +1 -0
  196. package/dist/core/collections/withStaticCollection.test.js +84 -0
  197. package/dist/core/collections/withStaticCollection.test.js.map +1 -0
  198. package/dist/core/collections/withUser.js +56 -0
  199. package/dist/core/collections/withUser.js.map +1 -0
  200. package/dist/core/decorators/category.js +28 -0
  201. package/dist/core/decorators/category.js.map +1 -0
  202. package/dist/core/decorators/components.js +9 -0
  203. package/dist/core/decorators/components.js.map +1 -0
  204. package/dist/core/decorators/href.js +25 -0
  205. package/dist/core/decorators/href.js.map +1 -0
  206. package/dist/core/decorators/index.js +11 -0
  207. package/dist/core/decorators/index.js.map +1 -0
  208. package/dist/core/decorators/localize.js +27 -0
  209. package/dist/core/decorators/localize.js.map +1 -0
  210. package/dist/core/decorators/menu.js +246 -0
  211. package/dist/core/decorators/menu.js.map +1 -0
  212. package/dist/core/decorators/nav.js +42 -0
  213. package/dist/core/decorators/nav.js.map +1 -0
  214. package/dist/core/decorators/rich-text.js +39 -0
  215. package/dist/core/decorators/rich-text.js.map +1 -0
  216. package/dist/core/decorators/schema.js +16 -0
  217. package/dist/core/decorators/schema.js.map +1 -0
  218. package/dist/core/decorators/upload.js +44 -0
  219. package/dist/core/decorators/upload.js.map +1 -0
  220. package/dist/core/encryption/encryption.js +66 -0
  221. package/dist/core/encryption/encryption.js.map +1 -0
  222. package/dist/core/encryption/index.js +3 -0
  223. package/dist/core/encryption/index.js.map +1 -0
  224. package/dist/core/fields/index.js +28 -0
  225. package/dist/core/fields/index.js.map +1 -0
  226. package/dist/core/fields/withAbstract.js +15 -0
  227. package/dist/core/fields/withAbstract.js.map +1 -0
  228. package/dist/core/fields/withAbstract.test.js +72 -0
  229. package/dist/core/fields/withAbstract.test.js.map +1 -0
  230. package/dist/core/fields/withAnchor.js +56 -0
  231. package/dist/core/fields/withAnchor.js.map +1 -0
  232. package/dist/core/fields/withCategory.js +21 -0
  233. package/dist/core/fields/withCategory.js.map +1 -0
  234. package/dist/core/fields/withCategory.test.js +63 -0
  235. package/dist/core/fields/withCategory.test.js.map +1 -0
  236. package/dist/core/fields/withCheckbox.js +19 -0
  237. package/dist/core/fields/withCheckbox.js.map +1 -0
  238. package/dist/core/fields/withCheckbox.test.js +59 -0
  239. package/dist/core/fields/withCheckbox.test.js.map +1 -0
  240. package/dist/core/fields/withComponents.js +17 -0
  241. package/dist/core/fields/withComponents.js.map +1 -0
  242. package/dist/core/fields/withComponents.test.js +62 -0
  243. package/dist/core/fields/withComponents.test.js.map +1 -0
  244. package/dist/core/fields/withDate.js +18 -0
  245. package/dist/core/fields/withDate.js.map +1 -0
  246. package/dist/core/fields/withDate.test.js +56 -0
  247. package/dist/core/fields/withDate.test.js.map +1 -0
  248. package/dist/core/fields/withDescription.js +15 -0
  249. package/dist/core/fields/withDescription.js.map +1 -0
  250. package/dist/core/fields/withDescription.test.js +72 -0
  251. package/dist/core/fields/withDescription.test.js.map +1 -0
  252. package/dist/core/fields/withId.js +19 -0
  253. package/dist/core/fields/withId.js.map +1 -0
  254. package/dist/core/fields/withId.test.js +61 -0
  255. package/dist/core/fields/withId.test.js.map +1 -0
  256. package/dist/core/fields/withIsActive.js +15 -0
  257. package/dist/core/fields/withIsActive.js.map +1 -0
  258. package/dist/core/fields/withIsActive.test.js +59 -0
  259. package/dist/core/fields/withIsActive.test.js.map +1 -0
  260. package/dist/core/fields/withIsDefault.js +15 -0
  261. package/dist/core/fields/withIsDefault.js.map +1 -0
  262. package/dist/core/fields/withIsDefault.test.js +59 -0
  263. package/dist/core/fields/withIsDefault.test.js.map +1 -0
  264. package/dist/core/fields/withLink.js +116 -0
  265. package/dist/core/fields/withLink.js.map +1 -0
  266. package/dist/core/fields/withLink.test.js +144 -0
  267. package/dist/core/fields/withLink.test.js.map +1 -0
  268. package/dist/core/fields/withMarkets.js +21 -0
  269. package/dist/core/fields/withMarkets.js.map +1 -0
  270. package/dist/core/fields/withMarkets.test.js +65 -0
  271. package/dist/core/fields/withMarkets.test.js.map +1 -0
  272. package/dist/core/fields/withMedia.js +20 -0
  273. package/dist/core/fields/withMedia.js.map +1 -0
  274. package/dist/core/fields/withMedia.test.js +41 -0
  275. package/dist/core/fields/withMedia.test.js.map +1 -0
  276. package/dist/core/fields/withMedias.js +25 -0
  277. package/dist/core/fields/withMedias.js.map +1 -0
  278. package/dist/core/fields/withMedias.test.js +46 -0
  279. package/dist/core/fields/withMedias.test.js.map +1 -0
  280. package/dist/core/fields/withName.js +17 -0
  281. package/dist/core/fields/withName.js.map +1 -0
  282. package/dist/core/fields/withName.test.js +59 -0
  283. package/dist/core/fields/withName.test.js.map +1 -0
  284. package/dist/core/fields/withNav.js +28 -0
  285. package/dist/core/fields/withNav.js.map +1 -0
  286. package/dist/core/fields/withNavs.js +53 -0
  287. package/dist/core/fields/withNavs.js.map +1 -0
  288. package/dist/core/fields/withOrder.js +80 -0
  289. package/dist/core/fields/withOrder.js.map +1 -0
  290. package/dist/core/fields/withOrder.test.js +56 -0
  291. package/dist/core/fields/withOrder.test.js.map +1 -0
  292. package/dist/core/fields/withRelated.js +18 -0
  293. package/dist/core/fields/withRelated.js.map +1 -0
  294. package/dist/core/fields/withRelated.test.js +62 -0
  295. package/dist/core/fields/withRelated.test.js.map +1 -0
  296. package/dist/core/fields/withRichText.js +68 -0
  297. package/dist/core/fields/withRichText.js.map +1 -0
  298. package/dist/core/fields/withRichText.test.js +72 -0
  299. package/dist/core/fields/withRichText.test.js.map +1 -0
  300. package/dist/core/fields/withRoles.js +27 -0
  301. package/dist/core/fields/withRoles.js.map +1 -0
  302. package/dist/core/fields/withRoles.test.js +49 -0
  303. package/dist/core/fields/withRoles.test.js.map +1 -0
  304. package/dist/core/fields/withSelect.js +23 -0
  305. package/dist/core/fields/withSelect.js.map +1 -0
  306. package/dist/core/fields/withSelect.test.js +59 -0
  307. package/dist/core/fields/withSelect.test.js.map +1 -0
  308. package/dist/core/fields/withSeoWeight.js +19 -0
  309. package/dist/core/fields/withSeoWeight.js.map +1 -0
  310. package/dist/core/fields/withSlug.js +33 -0
  311. package/dist/core/fields/withSlug.js.map +1 -0
  312. package/dist/core/fields/withSlug.test.js +71 -0
  313. package/dist/core/fields/withSlug.test.js.map +1 -0
  314. package/dist/core/fields/withTemplate.js +49 -0
  315. package/dist/core/fields/withTemplate.js.map +1 -0
  316. package/dist/core/fields/withTemplate.test.js +93 -0
  317. package/dist/core/fields/withTemplate.test.js.map +1 -0
  318. package/dist/core/fields/withTenants.js +21 -0
  319. package/dist/core/fields/withTenants.js.map +1 -0
  320. package/dist/core/fields/withTenants.test.js +42 -0
  321. package/dist/core/fields/withTenants.test.js.map +1 -0
  322. package/dist/core/fields/withText.js +18 -0
  323. package/dist/core/fields/withText.js.map +1 -0
  324. package/dist/core/fields/withText.test.js +56 -0
  325. package/dist/core/fields/withText.test.js.map +1 -0
  326. package/dist/core/fields/withTitle.js +17 -0
  327. package/dist/core/fields/withTitle.js.map +1 -0
  328. package/dist/core/fields/withTitle.test.js +58 -0
  329. package/dist/core/fields/withTitle.test.js.map +1 -0
  330. package/dist/core/index.js +11 -0
  331. package/dist/core/index.js.map +1 -0
  332. package/dist/core/logger/index.js +3 -0
  333. package/dist/core/logger/index.js.map +1 -0
  334. package/dist/core/logger/logger.js +9 -0
  335. package/dist/core/logger/logger.js.map +1 -0
  336. package/dist/core/translations/index.js +3 -0
  337. package/dist/core/translations/index.js.map +1 -0
  338. package/dist/core/translations/translations.js +137 -0
  339. package/dist/core/translations/translations.js.map +1 -0
  340. package/dist/core/translations/translations.test.js +72 -0
  341. package/dist/core/translations/translations.test.js.map +1 -0
  342. package/dist/core/utils/findByIDHandler.js +28 -0
  343. package/dist/core/utils/findByIDHandler.js.map +1 -0
  344. package/dist/core/utils/findHandler.js +31 -0
  345. package/dist/core/utils/findHandler.js.map +1 -0
  346. package/dist/core/utils/getPreviewURL.js +45 -0
  347. package/dist/core/utils/getPreviewURL.js.map +1 -0
  348. package/dist/core/utils/getRequestCollection.js +49 -0
  349. package/dist/core/utils/getRequestCollection.js.map +1 -0
  350. package/dist/core/utils/index.js +7 -0
  351. package/dist/core/utils/index.js.map +1 -0
  352. package/dist/core/utils/mergeCollections.js +18 -0
  353. package/dist/core/utils/mergeCollections.js.map +1 -0
  354. package/dist/core/utils/mergeFields.js +20 -0
  355. package/dist/core/utils/mergeFields.js.map +1 -0
  356. package/dist/core/utils/mergeGlobals.js +17 -0
  357. package/dist/core/utils/mergeGlobals.js.map +1 -0
  358. package/dist/core/utils/richText.js +29 -0
  359. package/dist/core/utils/richText.js.map +1 -0
  360. package/dist/core/utils/sortByGroup.js +36 -0
  361. package/dist/core/utils/sortByGroup.js.map +1 -0
  362. package/dist/debug.js +25 -0
  363. package/dist/debug.js.map +1 -0
  364. package/dist/declaration.d.js +3 -0
  365. package/dist/declaration.d.js.map +1 -0
  366. package/dist/exports/client.d.ts +36 -0
  367. package/dist/exports/client.d.ts.map +1 -0
  368. package/dist/exports/client.js +8 -0
  369. package/dist/exports/client.js.map +1 -0
  370. package/dist/exports/rsc.d.ts +18 -0
  371. package/dist/exports/rsc.d.ts.map +1 -0
  372. package/dist/exports/rsc.js +5 -0
  373. package/dist/exports/rsc.js.map +1 -0
  374. package/dist/fields/color-picker/ColorCell.js +19 -0
  375. package/dist/fields/color-picker/ColorCell.js.map +1 -0
  376. package/dist/fields/color-picker/ColorField.js +131 -0
  377. package/dist/fields/color-picker/ColorField.js.map +1 -0
  378. package/dist/fields/color-picker/index.js +26 -0
  379. package/dist/fields/color-picker/index.js.map +1 -0
  380. package/dist/fields/color-picker/styles.scss +113 -0
  381. package/dist/fields/color-picker/utils.js +6 -0
  382. package/dist/fields/color-picker/utils.js.map +1 -0
  383. package/dist/fields/index.js +3 -0
  384. package/dist/fields/index.js.map +1 -0
  385. package/dist/globals/App.js +97 -0
  386. package/dist/globals/App.js.map +1 -0
  387. package/dist/globals/Locale.js +82 -0
  388. package/dist/globals/Locale.js.map +1 -0
  389. package/dist/globals/LocaleRowLabel.js +16 -0
  390. package/dist/globals/LocaleRowLabel.js.map +1 -0
  391. package/dist/index.d.ts +891 -844
  392. package/dist/index.d.ts.map +1 -0
  393. package/dist/index.js +11 -9263
  394. package/dist/index.js.map +1 -0
  395. package/dist/mapper.js +199 -0
  396. package/dist/mapper.js.map +1 -0
  397. package/dist/options.js +76 -0
  398. package/dist/options.js.map +1 -0
  399. package/dist/test/blocks/blocks.js +13 -0
  400. package/dist/test/blocks/blocks.js.map +1 -0
  401. package/dist/test/collections/ActionCollection.js +12 -0
  402. package/dist/test/collections/ActionCollection.js.map +1 -0
  403. package/dist/test/collections/AdminCollection.js +18 -0
  404. package/dist/test/collections/AdminCollection.js.map +1 -0
  405. package/dist/test/collections/BlockCollection.js +16 -0
  406. package/dist/test/collections/BlockCollection.js.map +1 -0
  407. package/dist/test/collections/Collection.js +12 -0
  408. package/dist/test/collections/Collection.js.map +1 -0
  409. package/dist/test/collections/FieldCollection.js +84 -0
  410. package/dist/test/collections/FieldCollection.js.map +1 -0
  411. package/dist/test/collections/GlobalCollection.js +12 -0
  412. package/dist/test/collections/GlobalCollection.js.map +1 -0
  413. package/dist/test/collections/LinkCollection.js +12 -0
  414. package/dist/test/collections/LinkCollection.js.map +1 -0
  415. package/dist/test/collections/MenuCollection.js +12 -0
  416. package/dist/test/collections/MenuCollection.js.map +1 -0
  417. package/dist/test/collections/PageCollection.js +12 -0
  418. package/dist/test/collections/PageCollection.js.map +1 -0
  419. package/dist/test/collections/RoleCollection.js +19 -0
  420. package/dist/test/collections/RoleCollection.js.map +1 -0
  421. package/dist/test/collections/RoleFieldCollection.js +40 -0
  422. package/dist/test/collections/RoleFieldCollection.js.map +1 -0
  423. package/dist/test/collections/StaticCollection.js +56 -0
  424. package/dist/test/collections/StaticCollection.js.map +1 -0
  425. package/dist/test/collections/StorePageCollection.js +12 -0
  426. package/dist/test/collections/StorePageCollection.js.map +1 -0
  427. package/dist/test/collections/TenantCollection.js +22 -0
  428. package/dist/test/collections/TenantCollection.js.map +1 -0
  429. package/dist/test/collections/TranslationCollection.js +16 -0
  430. package/dist/test/collections/TranslationCollection.js.map +1 -0
  431. package/dist/test/collections/TypeACollection.js +18 -0
  432. package/dist/test/collections/TypeACollection.js.map +1 -0
  433. package/dist/test/collections/TypeBCollection.js +18 -0
  434. package/dist/test/collections/TypeBCollection.js.map +1 -0
  435. package/dist/test/collections/actions/NewsletterAction.js +29 -0
  436. package/dist/test/collections/actions/NewsletterAction.js.map +1 -0
  437. package/dist/test/collections/actions/RegisterAction.js +44 -0
  438. package/dist/test/collections/actions/RegisterAction.js.map +1 -0
  439. package/dist/test/collections/users/EndUsers.js +40 -0
  440. package/dist/test/collections/users/EndUsers.js.map +1 -0
  441. package/dist/test/collections/users/Users.js +20 -0
  442. package/dist/test/collections/users/Users.js.map +1 -0
  443. package/dist/test/index.js +32 -0
  444. package/dist/test/index.js.map +1 -0
  445. package/dist/test/payload.config.js +106 -0
  446. package/dist/test/payload.config.js.map +1 -0
  447. package/dist/test/utils.js +52 -0
  448. package/dist/test/utils.js.map +1 -0
  449. package/dist/translations.js +467 -0
  450. package/dist/translations.js.map +1 -0
  451. package/dist/types.js +31 -0
  452. package/dist/types.js.map +1 -0
  453. package/package.json +119 -37
  454. package/scss/styles.scss +0 -1
  455. package/dist/index.css +0 -796
@@ -0,0 +1,281 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Button } from '@payloadcms/ui';
4
+ import { getClassNames } from '@websolutespa/bom-core';
5
+ import React, { useImperativeHandle, useRef } from 'react';
6
+ import { InteractionMode, Tree, UncontrolledTreeEnvironment } from 'react-complex-tree';
7
+ import './DataTree.scss';
8
+ import { DataTreeProvider } from './DataTreeProvider';
9
+ const canRename = false;
10
+ export function getTreeItemClassName(props) {
11
+ const { context, item, depth, title, arrow, children } = props;
12
+ return getClassNames('rct-tree-item-title-container', {
13
+ 'rct-tree-item-title-container-isFolder': item.isFolder,
14
+ 'rct-tree-item-title-container-selected': context.isSelected,
15
+ 'rct-tree-item-title-container-expanded': context.isExpanded,
16
+ 'rct-tree-item-title-container-focused': context.isFocused,
17
+ 'rct-tree-item-title-container-dragging-over': context.isDraggingOver,
18
+ 'rct-tree-item-title-container-search-match': context.isSearchMatching
19
+ });
20
+ }
21
+ export const DataTreeItemLi = (props)=>{
22
+ const { context, item, depth, title, arrow, children, interactive } = props;
23
+ return /*#__PURE__*/ _jsxs("li", {
24
+ className: "rct-tree-item-li",
25
+ ...context.itemContainerWithChildrenProps,
26
+ children: [
27
+ /*#__PURE__*/ _jsx("div", {
28
+ className: getTreeItemClassName(props),
29
+ ...context.itemContainerWithoutChildrenProps,
30
+ children: /*#__PURE__*/ _jsx("div", {
31
+ className: "rct-tree-item-content",
32
+ children: interactive
33
+ })
34
+ }),
35
+ children
36
+ ]
37
+ });
38
+ };
39
+ export const DataTreeDragItem = (props)=>{
40
+ const { context, item, depth, title, arrow, children } = props;
41
+ const { extra } = item.data;
42
+ // console.log('DataTreeDragItem', extra);
43
+ return /*#__PURE__*/ _jsxs(_Fragment, {
44
+ children: [
45
+ item.children && item.children.length > 0 && arrow,
46
+ /*#__PURE__*/ _jsx("button", {
47
+ type: "button",
48
+ className: "rct-tree-item-button",
49
+ ...context.interactiveElementProps,
50
+ children: /*#__PURE__*/ _jsxs("span", {
51
+ className: "data-tree__item",
52
+ style: {
53
+ paddingLeft: `${depth * 6}px`
54
+ },
55
+ children: [
56
+ /*#__PURE__*/ _jsx("span", {
57
+ className: "data-tree__title",
58
+ children: title
59
+ }),
60
+ extra && /*#__PURE__*/ _jsx("span", {
61
+ className: "data-tree__extra",
62
+ children: extra
63
+ })
64
+ ]
65
+ })
66
+ }),
67
+ canRename && /*#__PURE__*/ _jsx(Button, {
68
+ type: "button",
69
+ onClick: context.startRenamingItem,
70
+ children: "Rename"
71
+ }),
72
+ /*#__PURE__*/ _jsx(Button, {
73
+ type: "button",
74
+ buttonStyle: "pill",
75
+ size: "small",
76
+ icon: /*#__PURE__*/ _jsx("svg", {
77
+ clipRule: "evenodd",
78
+ fillRule: "evenodd",
79
+ strokeLinejoin: "round",
80
+ strokeMiterlimit: "2",
81
+ viewBox: "0 0 24 24",
82
+ xmlns: "http://www.w3.org/2000/svg",
83
+ children: /*#__PURE__*/ _jsx("path", {
84
+ fill: "currentColor",
85
+ d: "m19 20.25c0-.402-.356-.75-.75-.75-2.561 0-11.939 0-14.5 0-.394 0-.75.348-.75.75s.356.75.75.75h14.5c.394 0 .75-.348.75-.75zm-7.403-3.398 9.124-9.125c.171-.171.279-.423.279-.684 0-.229-.083-.466-.28-.662l-3.115-3.104c-.185-.185-.429-.277-.672-.277s-.486.092-.672.277l-9.143 9.103c-.569 1.763-1.555 4.823-1.626 5.081-.02.075-.029.15-.029.224 0 .461.349.848.765.848.511 0 .991-.189 5.369-1.681zm-3.27-3.342 2.137 2.137-3.168 1.046zm.955-1.166 7.651-7.616 2.335 2.327-7.637 7.638z",
86
+ fillRule: "nonzero"
87
+ })
88
+ }),
89
+ iconPosition: "left",
90
+ onClick: context.primaryAction,
91
+ children: "Edit"
92
+ })
93
+ ]
94
+ });
95
+ };
96
+ export const DataTreeRenameItem = (props)=>{
97
+ const { context, item, depth, title, arrow, children } = props;
98
+ const { extra } = item.data;
99
+ console.log('DataTreeRenameItem', extra);
100
+ return /*#__PURE__*/ _jsxs(_Fragment, {
101
+ children: [
102
+ item.children && item.children.length > 0 && arrow,
103
+ /*#__PURE__*/ _jsx("div", {
104
+ className: "rct-tree-item-button",
105
+ ...context.interactiveElementProps,
106
+ children: /*#__PURE__*/ _jsxs("span", {
107
+ className: "data-tree__item",
108
+ style: {
109
+ paddingLeft: `${depth * 6}px`
110
+ },
111
+ children: [
112
+ /*#__PURE__*/ _jsx("span", {
113
+ className: "data-tree__title",
114
+ children: title
115
+ }),
116
+ extra && /*#__PURE__*/ _jsx("span", {
117
+ className: "data-tree__extra",
118
+ children: extra
119
+ })
120
+ ]
121
+ })
122
+ })
123
+ ]
124
+ });
125
+ };
126
+ export const DataTreeItem = (props)=>{
127
+ const { context, item, depth, title, arrow, children } = props;
128
+ return /*#__PURE__*/ _jsx(DataTreeItemLi, {
129
+ ...props,
130
+ interactive: context.isRenaming ? /*#__PURE__*/ _jsx(DataTreeRenameItem, {
131
+ ...props
132
+ }) : /*#__PURE__*/ _jsx(DataTreeDragItem, {
133
+ ...props
134
+ })
135
+ });
136
+ };
137
+ function DataTree_(props, ref) {
138
+ const { items, rootItem = '_root', treeId = 'tree', treeLabel = 'Label', onChange, onEdit } = props;
139
+ const treeEnvironment = useRef(null);
140
+ const tree = useRef(null);
141
+ const expandedItem = items[rootItem]?.children ? items[rootItem]?.children[0] : undefined;
142
+ const viewState = {
143
+ tree: {
144
+ expandedItems: expandedItem ? [
145
+ expandedItem
146
+ ] : []
147
+ }
148
+ };
149
+ const onSetData = (item, data)=>({
150
+ ...item,
151
+ data
152
+ });
153
+ useImperativeHandle(ref, ()=>({
154
+ onSetData
155
+ }));
156
+ const dataProvider = new DataTreeProvider(items, onSetData);
157
+ dataProvider.onItemsDidChange((items)=>{
158
+ // console.log('onItemsDidChange', items);
159
+ if (typeof onChange === 'function') {
160
+ onChange(items);
161
+ }
162
+ });
163
+ /*
164
+ dataProvider.onDidChangeTreeData(async (changedItemIds: TreeItemIndex[]) => {
165
+ const item = await dataProvider.getTreeItem(changedItemIds[0]);
166
+ console.log('onDidChangeTreeData', changedItemIds, item);
167
+ });
168
+ */ const getItemTitle = (item)=>item.data.title;
169
+ /*
170
+ const onStateDidChange = () => {
171
+ const currentItems = treeEnvironment.current.items;
172
+ console.log(
173
+ 'onStateDidChange',
174
+ 'items', Object.keys(items).join(', '),
175
+ 'currentItems', Object.keys(currentItems).join(', '),
176
+ items === currentItems,
177
+ JSON.stringify(items) === JSON.stringify(currentItems),
178
+ );
179
+ };
180
+
181
+ const onDrop = (items: TreeItem<any>[], target: DraggingPosition) => {
182
+ console.log('onDrop', items, target);
183
+ console.log(tree.current, treeEnvironment.current);
184
+ console.log(treeEnvironment.current.items['product_index'].children.join(', '));
185
+ onStateDidChange();
186
+ };
187
+
188
+ const onRenameItem = (item: TreeItem<any>, name: string, treeId: string) => {
189
+ console.log('onRenameItem', item, treeId);
190
+ onStateDidChange();
191
+ };
192
+
193
+ */ const onPrimaryAction = (items, treeId)=>{
194
+ // console.log('onPrimaryAction', items, treeId);
195
+ if (typeof onEdit === 'function') {
196
+ onEdit(items, treeId);
197
+ }
198
+ };
199
+ const onExpandAll = (event)=>{
200
+ tree.current?.expandAll();
201
+ };
202
+ const onCollapseAll = (event)=>{
203
+ tree.current?.collapseAll();
204
+ };
205
+ /*
206
+ useEffect(() => {
207
+ tree.current?.collapseAll();
208
+ tree.current?.expandAll();
209
+ console.log('useEffect.expandAll');
210
+ }, [items]);
211
+ */ const baseClass = 'category-tree';
212
+ return /*#__PURE__*/ _jsxs(_Fragment, {
213
+ children: [
214
+ /*#__PURE__*/ _jsx("div", {
215
+ className: "list-controls",
216
+ children: /*#__PURE__*/ _jsx("div", {
217
+ className: "list-controls__wrap",
218
+ children: /*#__PURE__*/ _jsxs("div", {
219
+ className: `${baseClass}__actions`,
220
+ children: [
221
+ /*#__PURE__*/ _jsx("button", {
222
+ type: "button",
223
+ onClick: onExpandAll,
224
+ children: "Expand"
225
+ }),
226
+ /*#__PURE__*/ _jsx("button", {
227
+ type: "button",
228
+ onClick: onCollapseAll,
229
+ children: "Collapse"
230
+ })
231
+ ]
232
+ })
233
+ })
234
+ }),
235
+ /*#__PURE__*/ _jsx(UncontrolledTreeEnvironment, {
236
+ ref: treeEnvironment,
237
+ dataProvider: dataProvider,
238
+ getItemTitle: getItemTitle,
239
+ viewState: viewState,
240
+ /*
241
+ renderTreeContainer={({ children, containerProps }) => (
242
+ <div {...containerProps}>{children}</div>
243
+ )}
244
+ renderItemsContainer={({ children, containerProps }) => (
245
+ <ul {...containerProps}>{children}</ul>
246
+ )}
247
+ */ renderItem: DataTreeItem,
248
+ /*
249
+ renderItemTitle={({ title }) => <span>{title}</span>}
250
+ renderItemArrow={({ item, context }) =>
251
+ item.isFolder ? (
252
+ context.isExpanded ? (
253
+ <span>{'>'}</span>
254
+ ) : (
255
+ <span>v</span>
256
+ )
257
+ ) : null
258
+ }
259
+ */ defaultInteractionMode: InteractionMode.ClickArrowToExpand,
260
+ canDragAndDrop: true,
261
+ canReorderItems: true,
262
+ canDropOnFolder: true,
263
+ canDropOnNonFolder: false,
264
+ canRename: canRename,
265
+ /*
266
+ onDrop={onDrop}
267
+ onRenameItem={onRenameItem}
268
+ */ onPrimaryAction: onPrimaryAction,
269
+ children: /*#__PURE__*/ _jsx(Tree, {
270
+ ref: tree,
271
+ rootItem: rootItem,
272
+ treeId: treeId,
273
+ treeLabel: treeLabel
274
+ })
275
+ })
276
+ ]
277
+ });
278
+ }
279
+ export const DataTree = /*#__PURE__*/ React.forwardRef(DataTree_);
280
+
281
+ //# sourceMappingURL=DataTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/DataTree/DataTree.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { Button } from '@payloadcms/ui';\r\nimport { getClassNames } from '@websolutespa/bom-core';\r\nimport React, { ReactNode, useImperativeHandle, useRef } from 'react';\r\nimport { InteractionMode, Tree, TreeEnvironmentRef, TreeInformation, TreeItem, TreeItemIndex, TreeItemRenderContext, TreeRef, UncontrolledTreeEnvironment } from 'react-complex-tree';\r\nimport './DataTree.scss';\r\n\r\nimport { DataTreeProvider, TreeItemData } from './DataTreeProvider';\r\n\r\nconst canRename = false;\r\n\r\nexport type TreeItems<T extends TreeItemData> = Record<TreeItemIndex, TreeItem<T>>;\r\n\r\nexport type DataTreeItemProps<T extends TreeItemData = TreeItemData, C extends string = never> = {\r\n item: TreeItem<T>;\r\n depth: number;\r\n children: React.ReactNode | null;\r\n title: React.ReactNode;\r\n arrow: React.ReactNode;\r\n context: TreeItemRenderContext<C>;\r\n info: TreeInformation;\r\n};\r\n\r\nexport function getTreeItemClassName(props: DataTreeItemProps): string {\r\n const { context, item, depth, title, arrow, children } = props;\r\n return getClassNames(\r\n 'rct-tree-item-title-container',\r\n {\r\n 'rct-tree-item-title-container-isFolder': item.isFolder,\r\n 'rct-tree-item-title-container-selected': context.isSelected,\r\n 'rct-tree-item-title-container-expanded': context.isExpanded,\r\n 'rct-tree-item-title-container-focused': context.isFocused,\r\n 'rct-tree-item-title-container-dragging-over': context.isDraggingOver,\r\n 'rct-tree-item-title-container-search-match': context.isSearchMatching,\r\n }\r\n );\r\n}\r\n\r\nexport const DataTreeItemLi = (props: DataTreeItemProps & { interactive: ReactNode }): React.ReactElement => {\r\n const { context, item, depth, title, arrow, children, interactive } = props;\r\n return (\r\n <li className=\"rct-tree-item-li\"\r\n {...(context.itemContainerWithChildrenProps)}\r\n >\r\n <div className={getTreeItemClassName(props)}\r\n {...(context.itemContainerWithoutChildrenProps)}\r\n >\r\n <div className=\"rct-tree-item-content\">{interactive}</div>\r\n </div>\r\n {children}\r\n </li>\r\n );\r\n};\r\n\r\nexport const DataTreeDragItem = (props: DataTreeItemProps): React.ReactElement => {\r\n const { context, item, depth, title, arrow, children } = props;\r\n const { extra } = item.data;\r\n // console.log('DataTreeDragItem', extra);\r\n return (\r\n <>\r\n {item.children && item.children.length > 0 && arrow}\r\n <button type=\"button\" className=\"rct-tree-item-button\"\r\n {...(context.interactiveElementProps as any)}\r\n >\r\n <span className=\"data-tree__item\" style={{ paddingLeft: `${depth * 6}px` }}>\r\n <span className=\"data-tree__title\">{title}</span>\r\n {extra && (<span className=\"data-tree__extra\">{extra}</span>)}\r\n </span>\r\n </button>\r\n {canRename && (\r\n <Button type=\"button\" onClick={context.startRenamingItem}>\r\n Rename\r\n </Button>\r\n )}\r\n <Button type=\"button\" buttonStyle=\"pill\" size=\"small\" icon={(\r\n <svg clipRule=\"evenodd\" fillRule=\"evenodd\" strokeLinejoin=\"round\" strokeMiterlimit=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill=\"currentColor\" d=\"m19 20.25c0-.402-.356-.75-.75-.75-2.561 0-11.939 0-14.5 0-.394 0-.75.348-.75.75s.356.75.75.75h14.5c.394 0 .75-.348.75-.75zm-7.403-3.398 9.124-9.125c.171-.171.279-.423.279-.684 0-.229-.083-.466-.28-.662l-3.115-3.104c-.185-.185-.429-.277-.672-.277s-.486.092-.672.277l-9.143 9.103c-.569 1.763-1.555 4.823-1.626 5.081-.02.075-.029.15-.029.224 0 .461.349.848.765.848.511 0 .991-.189 5.369-1.681zm-3.27-3.342 2.137 2.137-3.168 1.046zm.955-1.166 7.651-7.616 2.335 2.327-7.637 7.638z\" fillRule=\"nonzero\" />\r\n </svg>\r\n )} iconPosition=\"left\" onClick={context.primaryAction}>\r\n Edit\r\n </Button>\r\n </>\r\n );\r\n};\r\n\r\nexport const DataTreeRenameItem = (props: DataTreeItemProps): React.ReactElement => {\r\n const { context, item, depth, title, arrow, children } = props;\r\n const { extra } = item.data;\r\n console.log('DataTreeRenameItem', extra);\r\n return (\r\n <>\r\n {item.children && item.children.length > 0 && arrow}\r\n <div className=\"rct-tree-item-button\" {...(context.interactiveElementProps)}>\r\n <span className=\"data-tree__item\" style={{ paddingLeft: `${depth * 6}px` }}>\r\n <span className=\"data-tree__title\">{title}</span>\r\n {extra && (<span className=\"data-tree__extra\">{extra}</span>)}\r\n </span>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport const DataTreeItem = (props: DataTreeItemProps): React.ReactElement => {\r\n const { context, item, depth, title, arrow, children } = props;\r\n return (\r\n <DataTreeItemLi {...props} interactive={\r\n context.isRenaming ?\r\n <DataTreeRenameItem {...props} /> :\r\n <DataTreeDragItem {...props} />\r\n } />\r\n );\r\n};\r\n\r\nexport type DataTreeInstance<T extends TreeItemData> = {\r\n onSetData: (item: TreeItem<T>, data: T) => TreeItem<T>;\r\n};\r\n\r\nexport type DataTreeProps<T extends TreeItemData> = {\r\n items: TreeItems<T>;\r\n rootItem?: string;\r\n treeId?: string;\r\n treeLabel?: string;\r\n onChange?: (items: TreeItems<T>) => void;\r\n onEdit?: (items: TreeItem<T>, treeId: string) => void;\r\n};\r\n\r\nfunction DataTree_<T extends TreeItemData>(\r\n props: DataTreeProps<T>,\r\n ref: React.ForwardedRef<DataTreeInstance<T>>\r\n) {\r\n\r\n const { items, rootItem = '_root', treeId = 'tree', treeLabel = 'Label', onChange, onEdit } = props;\r\n\r\n const treeEnvironment = useRef<TreeEnvironmentRef>(null);\r\n const tree = useRef<TreeRef>(null);\r\n\r\n const expandedItem = items[rootItem]?.children ? items[rootItem]?.children[0] : undefined;\r\n\r\n const viewState = {\r\n tree: {\r\n expandedItems: expandedItem ? [expandedItem] : [],\r\n },\r\n };\r\n\r\n const onSetData = (item: TreeItem<T>, data: T) => ({\r\n ...item,\r\n data,\r\n });\r\n\r\n useImperativeHandle(ref, () => ({\r\n onSetData,\r\n }));\r\n\r\n const dataProvider = new DataTreeProvider(items, onSetData);\r\n\r\n dataProvider.onItemsDidChange((items) => {\r\n // console.log('onItemsDidChange', items);\r\n if (typeof onChange === 'function') {\r\n onChange(items);\r\n }\r\n });\r\n\r\n /*\r\n dataProvider.onDidChangeTreeData(async (changedItemIds: TreeItemIndex[]) => {\r\n const item = await dataProvider.getTreeItem(changedItemIds[0]);\r\n console.log('onDidChangeTreeData', changedItemIds, item);\r\n });\r\n */\r\n\r\n const getItemTitle = (item: TreeItem<T>) => item.data.title;\r\n\r\n /*\r\n const onStateDidChange = () => {\r\n const currentItems = treeEnvironment.current.items;\r\n console.log(\r\n 'onStateDidChange',\r\n 'items', Object.keys(items).join(', '),\r\n 'currentItems', Object.keys(currentItems).join(', '),\r\n items === currentItems,\r\n JSON.stringify(items) === JSON.stringify(currentItems),\r\n );\r\n };\r\n\r\n const onDrop = (items: TreeItem<any>[], target: DraggingPosition) => {\r\n console.log('onDrop', items, target);\r\n console.log(tree.current, treeEnvironment.current);\r\n console.log(treeEnvironment.current.items['product_index'].children.join(', '));\r\n onStateDidChange();\r\n };\r\n\r\n const onRenameItem = (item: TreeItem<any>, name: string, treeId: string) => {\r\n console.log('onRenameItem', item, treeId);\r\n onStateDidChange();\r\n };\r\n\r\n */\r\n\r\n const onPrimaryAction = (items: TreeItem<T>, treeId: string) => {\r\n // console.log('onPrimaryAction', items, treeId);\r\n if (typeof onEdit === 'function') {\r\n onEdit(items, treeId);\r\n }\r\n };\r\n\r\n const onExpandAll = (event: React.MouseEvent) => {\r\n tree.current?.expandAll();\r\n };\r\n\r\n const onCollapseAll = (event: React.MouseEvent) => {\r\n tree.current?.collapseAll();\r\n };\r\n\r\n /*\r\n useEffect(() => {\r\n tree.current?.collapseAll();\r\n tree.current?.expandAll();\r\n console.log('useEffect.expandAll');\r\n }, [items]);\r\n */\r\n\r\n const baseClass = 'category-tree';\r\n\r\n return (\r\n <>\r\n <div className=\"list-controls\">\r\n <div className=\"list-controls__wrap\">\r\n <div className={`${baseClass}__actions`}>\r\n <button type=\"button\" onClick={onExpandAll}>\r\n Expand\r\n </button>\r\n <button type=\"button\" onClick={onCollapseAll}>\r\n Collapse\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <UncontrolledTreeEnvironment<T>\r\n ref={treeEnvironment}\r\n dataProvider={dataProvider}\r\n getItemTitle={getItemTitle}\r\n viewState={viewState}\r\n /*\r\n renderTreeContainer={({ children, containerProps }) => (\r\n <div {...containerProps}>{children}</div>\r\n )}\r\n renderItemsContainer={({ children, containerProps }) => (\r\n <ul {...containerProps}>{children}</ul>\r\n )}\r\n */\r\n renderItem={DataTreeItem}\r\n /*\r\n renderItemTitle={({ title }) => <span>{title}</span>}\r\n renderItemArrow={({ item, context }) =>\r\n item.isFolder ? (\r\n context.isExpanded ? (\r\n <span>{'>'}</span>\r\n ) : (\r\n <span>v</span>\r\n )\r\n ) : null\r\n }\r\n */\r\n defaultInteractionMode={InteractionMode.ClickArrowToExpand}\r\n canDragAndDrop={true}\r\n canReorderItems={true}\r\n canDropOnFolder={true}\r\n canDropOnNonFolder={false}\r\n canRename={canRename}\r\n /*\r\n onDrop={onDrop}\r\n onRenameItem={onRenameItem}\r\n */\r\n onPrimaryAction={onPrimaryAction}\r\n >\r\n <Tree ref={tree} rootItem={rootItem} treeId={treeId} treeLabel={treeLabel} />\r\n </UncontrolledTreeEnvironment>\r\n </>\r\n );\r\n}\r\n\r\nexport const DataTree = React.forwardRef(DataTree_) as <T extends TreeItemData>(\r\n props: DataTreeProps<T> & { ref?: React.ForwardedRef<DataTreeInstance<T>> }\r\n) => ReturnType<typeof DataTree_>;\r\n"],"names":["Button","getClassNames","React","useImperativeHandle","useRef","InteractionMode","Tree","UncontrolledTreeEnvironment","DataTreeProvider","canRename","getTreeItemClassName","props","context","item","depth","title","arrow","children","isFolder","isSelected","isExpanded","isFocused","isDraggingOver","isSearchMatching","DataTreeItemLi","interactive","li","className","itemContainerWithChildrenProps","div","itemContainerWithoutChildrenProps","DataTreeDragItem","extra","data","length","button","type","interactiveElementProps","span","style","paddingLeft","onClick","startRenamingItem","buttonStyle","size","icon","svg","clipRule","fillRule","strokeLinejoin","strokeMiterlimit","viewBox","xmlns","path","fill","d","iconPosition","primaryAction","DataTreeRenameItem","console","log","DataTreeItem","isRenaming","DataTree_","ref","items","rootItem","treeId","treeLabel","onChange","onEdit","treeEnvironment","tree","expandedItem","undefined","viewState","expandedItems","onSetData","dataProvider","onItemsDidChange","getItemTitle","onPrimaryAction","onExpandAll","event","current","expandAll","onCollapseAll","collapseAll","baseClass","renderItem","defaultInteractionMode","ClickArrowToExpand","canDragAndDrop","canReorderItems","canDropOnFolder","canDropOnNonFolder","DataTree","forwardRef"],"mappings":"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"}
@@ -0,0 +1,363 @@
1
+ @use "sass:math";
2
+
3
+ :root {
4
+ --rct-item-height: 32px;
5
+ --rct-item-margin: 2px;
6
+ --rct-item-padding: 6px 0px;
7
+ --rct-item-gap: 0px;
8
+ --rct-item-border-radius: 2px;
9
+ --rct-title-container-gap: 2px;
10
+ --rct-bar-offset: 6px;
11
+ --rct-bar-width: 2px;
12
+ --rct-arrow-size: 10px;
13
+ --rct-arrow-container-size: 16px;
14
+ --rct-arrow-padding: 6px;
15
+ --rct-search-width: 120px;
16
+ --rct-search-height: 16px;
17
+ --rct-search-padding: 20px;
18
+ --rct-search-text-offset: calc(var(--rct-search-padding) * 2 + 16px);
19
+ --rct-search-container-width: calc(var(--rct-search-width) + var(--rct-search-text-offset) + var(--rct-search-padding) + 2px);
20
+ --rct-cursor: pointer;
21
+ }
22
+
23
+ /* light */
24
+ :root {
25
+ --rct-color-arrow: #373a3f;
26
+ --rct-color-bar-bg: #0366d6;
27
+ --rct-color-drag-between-line-bg: #0366d6;
28
+ --rct-color-focustree-item-active-bg: #e4e6eb;
29
+ --rct-color-focustree-item-active-text: #4f4f4f;
30
+ --rct-color-focustree-item-draggingover-bg: #ebf0f4;
31
+ --rct-color-focustree-item-draggingover-color: inherit;
32
+ --rct-color-focustree-item-focused-border: #0366d6;
33
+ --rct-color-focustree-item-hover-bg: #f0f2f5;
34
+ --rct-color-focustree-item-hover-text: inherit;
35
+ --rct-color-focustree-item-selected-bg: #f0f2f5;
36
+ --rct-color-focustree-item-selected-text: inherit;
37
+ --rct-color-nonfocustree-item-focused-border: #dbdbdb;
38
+ --rct-color-nonfocustree-item-selected-bg: #e8eaed;
39
+ --rct-color-nonfocustree-item-selected-text: inherit;
40
+ --rct-color-renaming-input-submitbutton-bg-active: #095fc1;
41
+ --rct-color-renaming-input-submitbutton-bg-hover: #0366d6;
42
+ --rct-color-renaming-input-submitbutton-bg: inherit;
43
+ --rct-color-renaming-input-submitbutton-text-active: #ffffff;
44
+ --rct-color-renaming-input-submitbutton-text-hover: #ffffff;
45
+ --rct-color-renaming-input-submitbutton-text: inherit;
46
+ --rct-color-search-border-bottom: #0366d6;
47
+ --rct-color-search-border: #b4b7bd;
48
+ --rct-color-search-highlight-bg: #acccf1;
49
+ --rct-color-tree-bg: transparent;
50
+ --rct-color-tree-focus-outline: transparent;
51
+ --rct-focus-outline: #000000;
52
+ --rct-search-bg: #f8f9fa;
53
+ --rct-search-text: #000000;
54
+ }
55
+
56
+ /* dark */
57
+ html[data-theme=dark],
58
+ .rct-dark {
59
+ --rct-color-arrow: #ffffff;
60
+ --rct-color-bar-bg: var(--color-success-400);
61
+ --rct-color-drag-between-line-bg: var(--color-success-400);
62
+ --rct-color-focustree-item-focused-border: var(--color-success-400);
63
+ --rct-color-focustree-item-active-bg: #313131;
64
+ --rct-color-focustree-item-active-text: #ffffff;
65
+ --rct-color-focustree-item-draggingover-bg: #313131;
66
+ --rct-color-focustree-item-draggingover-color: #ffffff;
67
+ --rct-color-focustree-item-hover-bg: #373737;
68
+ --rct-color-focustree-item-hover-text: #ffffff;
69
+ --rct-color-focustree-item-selected-bg: #373737;
70
+ --rct-color-focustree-item-selected-text: #ffffff;
71
+ --rct-color-search-border-bottom: var(--color-success-400);
72
+ --rct-color-search-border: #4f4f4f;
73
+ --rct-color-search-highlight-bg: #2f5381;
74
+ --rct-focus-outline: #ffffff;
75
+ --rct-search-bg: #373737;
76
+ --rct-search-text: #ffffff;
77
+ }
78
+
79
+ .rct-tree-root {
80
+ font-family: sans-serif;
81
+ background-color: var(--rct-color-tree-bg);
82
+ padding: 4px 0;
83
+
84
+ &-focus {
85
+ outline: 1px solid var(--rct-color-tree-focus-outline);
86
+ }
87
+
88
+ &.rct-tree-root-focus {
89
+ .rct-tree-item-title-container-selected {
90
+ background-color: var(--rct-color-focustree-item-selected-bg);
91
+ color: var(--rct-color-focustree-item-selected-text);
92
+ }
93
+
94
+ .rct-tree-item-title-container-focused {
95
+ outline: none;
96
+ border-color: var(--rct-color-focustree-item-focused-border);
97
+ }
98
+ }
99
+
100
+ &:not(.rct-tree-root-focus) {
101
+ .rct-tree-item-title-container-selected {
102
+ background-color: var(--rct-color-nonfocustree-item-selected-bg);
103
+ color: var(--rct-color-nonfocustree-item-selected-text);
104
+ }
105
+
106
+ .rct-tree-item-title-container-focused {
107
+ outline: none;
108
+ border-color: var(--rct-color-nonfocustree-item-focused-border);
109
+ }
110
+ }
111
+ }
112
+
113
+ .rct-tree-items-container {
114
+ margin: 0;
115
+ padding: 0;
116
+ outline: 1px solid var(--theme-elevation-100);
117
+ /*
118
+ display: flex;
119
+ flex-direction: column;
120
+ gap: 0.4rem;
121
+ // border-top: 1px 0 0 0 solid var(--theme-elevation-100);
122
+ // box-shadow: 0 -1px 0 var(--theme-elevation-100);
123
+ */
124
+ }
125
+
126
+ .rct-tree-item {
127
+ &-li {
128
+ list-style-type: none;
129
+ margin: 0;
130
+ padding: 0;
131
+ // border-radius: 0.2rem;
132
+ // outline: 1px solid var(--theme-elevation-100);
133
+ }
134
+
135
+ &-content {
136
+ display: flex;
137
+ align-items: center;
138
+ width: 100%;
139
+ gap: 0.4rem;
140
+ padding: 0.3rem;
141
+ // border-radius: 0.2rem;
142
+ // border: 1px solid var(--theme-elevation-100);
143
+
144
+ .btn {
145
+ margin: 0;
146
+ padding: 0;
147
+ flex: 0 0 60px;
148
+
149
+ &__label {
150
+ display: flex;
151
+ justify-content: center;
152
+ align-items: center;
153
+ width: auto;
154
+ gap: 0.3em;
155
+
156
+ svg {
157
+ flex: 0 0 1.5em;
158
+ fill: currentColor;
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ &-title-container {
165
+ display: flex;
166
+ align-items: center;
167
+ column-gap: var(--rct-title-container-gap);
168
+ background-color: unset !important;
169
+
170
+ &-dragging-over {
171
+ background-color: var(--rct-color-focustree-item-draggingover-bg);
172
+ color: var(--rct-color-focustree-item-draggingover-color);
173
+ outline: 1px solid var(--color-success-400);
174
+
175
+ .rct-tree-item-button {
176
+ background-color: var(--rct-color-focustree-item-draggingover-bg);
177
+ color: var(--rct-color-focustree-item-draggingover-color);
178
+ }
179
+ }
180
+
181
+ &-selected {
182
+ .rct-tree-item-button {
183
+ // background-color: var(--rct-color-focustree-item-selected-bg);
184
+ // color: var(--rct-color-focustree-item-selected-text);
185
+
186
+ &::before {
187
+ content: '';
188
+ position: absolute;
189
+ top: calc(var(--rct-bar-offset) + var(--rct-item-margin));
190
+ /* left: calc(-1 * var(--rct-bar-width));*/
191
+ left: calc(-0.5 * var(--rct-bar-width));
192
+ height: calc(var(--rct-item-height) - 2 * var(--rct-bar-offset));
193
+ width: var(--rct-bar-width);
194
+ background-color: var(--rct-color-bar-bg);
195
+ border-radius: 1px;
196
+ }
197
+ }
198
+ }
199
+ }
200
+
201
+ &-arrow {
202
+ position: absolute;
203
+ z-index: 1;
204
+ // margin-right: calc(-1 * var(--rct-arrow-container-size) + var(--rct-arrow-padding));
205
+ margin-left: 4px;
206
+ width: var(--rct-arrow-container-size);
207
+ height: var(--rct-arrow-container-size);
208
+ display: flex;
209
+ justify-content: center;
210
+ align-content: center;
211
+ border-radius: var(--rct-item-border-radius);
212
+ cursor: var(--rct-cursor);
213
+
214
+ & svg {
215
+ width: var(--rct-arrow-size);
216
+ }
217
+
218
+ &.rct-tree-item-arrow-isFolder:hover {
219
+ background-color: var(--rct-color-focustree-item-hover-bg);
220
+ // background-color: rgba(255, 255, 255, 0.05);
221
+ color: var(--rct-color-focustree-item-hover-text);
222
+ }
223
+ }
224
+
225
+ &-arrow-path {
226
+ fill: var(--rct-color-arrow);
227
+ }
228
+
229
+ &-button {
230
+ flex-grow: 1;
231
+ box-sizing: border-box;
232
+ position: relative;
233
+ display: flex;
234
+ align-items: center;
235
+ width: 100%;
236
+ height: var(--rct-item-height);
237
+ // margin-bottom: var(--rct-item-margin);
238
+ // margin-left: calc(-1 * var(--rct-arrow-size));
239
+ // margin-top: var(--rct-item-margin);
240
+ padding: var(--rct-item-padding);
241
+ padding-left: calc(var(--rct-arrow-container-size) + var(--rct-arrow-padding));
242
+ // padding: 0 var(--rct-item-gap) 0 calc(var(--rct-item-gap) + var(--rct-arrow-container-size) + var(--rct-arrow-padding));
243
+ border: none;
244
+ border-radius: var(--rct-item-border-radius);
245
+ background-color: transparent;
246
+ font-family: inherit;
247
+ font-size: inherit;
248
+ text-align: left;
249
+ color: inherit;
250
+ outline: none;
251
+ transition: color 100ms ease-out, background-color 100ms ease-out;
252
+ cursor: var(--rct-cursor);
253
+
254
+ &:focus-visible {
255
+ outline: 2px solid var(--rct-focus-outline);
256
+ }
257
+
258
+ &:hover {
259
+ background-color: var(--rct-color-focustree-item-hover-bg);
260
+ // background-color: rgba(255, 255, 255, 0.05);
261
+ color: var(--rct-color-focustree-item-hover-text);
262
+ }
263
+
264
+ &:active {
265
+ background-color: var(--rct-color-focustree-item-active-bg);
266
+ // background-color: rgba(255, 255, 255, 0.05);
267
+ color: var(--rct-color-focustree-item-active-text);
268
+ }
269
+ }
270
+
271
+ &-button-search-match {
272
+ font-style: italic;
273
+ }
274
+
275
+ &-search-highlight {
276
+ background-color: var(--rct-color-search-highlight-bg);
277
+ }
278
+
279
+ /* TODO see renaming form in multiple tree example, wraps around */
280
+ &-renaming-form {
281
+ flex-grow: 1;
282
+ display: flex;
283
+ }
284
+
285
+ &-renaming-input {
286
+ flex-grow: 1;
287
+ background-color: inherit;
288
+ border: none;
289
+ color: inherit;
290
+ outline: none;
291
+ }
292
+
293
+ &-renaming-submit-button {
294
+ border: none;
295
+ background-color: var(--rct-color-renaming-input-submitbutton-bg);
296
+ border-radius: var(--rct-item-border-radius);
297
+ color: var(--rct-color-renaming-input-submitbutton-text);
298
+ cursor: pointer;
299
+ visibility: hidden;
300
+
301
+ &:hover {
302
+ background-color: var(--rct-color-renaming-input-submitbutton-bg-hover);
303
+ color: var(--rct-color-renaming-input-submitbutton-text-hover);
304
+ }
305
+
306
+ &:active {
307
+ background-color: var(--rct-color-renaming-input-submitbutton-bg-active);
308
+ color: var(--rct-color-renaming-input-submitbutton-text-active);
309
+ }
310
+ }
311
+ }
312
+
313
+ .rct-tree-drag-between-line {
314
+ position: absolute;
315
+ right: 0;
316
+ top: -2px;
317
+ height: 3px;
318
+ border-radius: 99px;
319
+ background-color: var(--rct-color-drag-between-line-bg);
320
+
321
+ &-top {
322
+ top: 0px;
323
+ }
324
+
325
+ &-bottom {
326
+ top: -4px;
327
+ }
328
+ }
329
+
330
+ .rct-tree-search-input-container {
331
+ position: absolute;
332
+ top: 0;
333
+ right: 0;
334
+ width: var(--rct-search-container-width);
335
+ }
336
+
337
+ .rct-tree-search-input {
338
+ width: var(--rct-search-width);
339
+ height: var(--rct-search-height);
340
+ padding: var(--rct-search-padding);
341
+ padding-left: var(--rct-search-text-offset);
342
+ margin: 0;
343
+ border: 1px solid var(--rct-color-search-border);
344
+ border-bottom: 2px solid var(--rct-color-search-border-bottom);
345
+ border-radius: var(--rct-item-border-radius);
346
+ background-color: var(--rct-search-bg);
347
+ color: var(--rct-search-text);
348
+
349
+ &:focus {
350
+ outline: none;
351
+ }
352
+ }
353
+
354
+ .rct-tree-input-icon {
355
+ content: url(data:image/svg+xml,%3Csvg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%2016%2016%22%20height%3D%221em%22%20width%3D%221em%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.742%2010.344a6.5%206.5%200%201%200-1.397%201.398h-.001c.03.04.062.078.098.115l3.85%203.85a1%201%200%200%200%201.415-1.414l-3.85-3.85a1.007%201.007%200%200%200-.115-.1zM12%206.5a5.5%205.5%200%201%201-11%200%205.5%205.5%200%200%201%2011%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
356
+ position: fixed;
357
+ transform: translateY(var(--rct-search-padding)) translateX(var(--rct-search-padding));
358
+ z-index: 1;
359
+
360
+ .rct-dark & {
361
+ content: url(data:image/svg+xml,%3Csvg%20stroke%3D%22%23ffffff%22%20fill%3D%22%23ffffff%22%20stroke-width%3D%220%22%20viewBox%3D%220%200%2016%2016%22%20height%3D%221em%22%20width%3D%221em%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.742%2010.344a6.5%206.5%200%201%200-1.397%201.398h-.001c.03.04.062.078.098.115l3.85%203.85a1%201%200%200%200%201.415-1.414l-3.85-3.85a1.007%201.007%200%200%200-.115-.1zM12%206.5a5.5%205.5%200%201%201-11%200%205.5%205.5%200%200%201%2011%200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E);
362
+ }
363
+ }