@payloadcms/ui 3.0.0-alpha.0 → 3.0.0-alpha.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 (405) hide show
  1. package/dist/@types/assets.d.js +3 -0
  2. package/dist/config.js +13 -0
  3. package/dist/elements/ArrayAction/index.js +120 -0
  4. package/dist/elements/ArrayAction/types.js +6 -0
  5. package/dist/elements/Autosave/index.js +210 -0
  6. package/dist/elements/Autosave/types.js +6 -0
  7. package/dist/elements/Banner/index.js +52 -0
  8. package/dist/elements/Banner/types.js +6 -0
  9. package/dist/elements/Button/index.js +166 -0
  10. package/dist/elements/Button/types.js +6 -0
  11. package/dist/elements/Card/index.js +46 -0
  12. package/dist/elements/Card/types.js +6 -0
  13. package/dist/elements/CodeEditor/CodeEditor.js +53 -0
  14. package/dist/elements/CodeEditor/index.js +68 -0
  15. package/dist/elements/CodeEditor/types.js +6 -0
  16. package/dist/elements/Collapsible/index.js +128 -0
  17. package/dist/elements/Collapsible/provider.js +90 -0
  18. package/dist/elements/Collapsible/types.js +6 -0
  19. package/dist/elements/ColumnSelector/index.js +109 -0
  20. package/dist/elements/ColumnSelector/types.js +6 -0
  21. package/dist/elements/CopyToClipboard/index.js +98 -0
  22. package/dist/elements/CopyToClipboard/types.js +6 -0
  23. package/dist/elements/DatePicker/DatePicker.js +147 -0
  24. package/dist/elements/DatePicker/index.js +63 -0
  25. package/dist/elements/DatePicker/types.js +6 -0
  26. package/dist/elements/DeleteDocument/index.js +178 -0
  27. package/dist/elements/DeleteDocument/types.js +6 -0
  28. package/dist/elements/DeleteMany/index.js +176 -0
  29. package/dist/elements/DeleteMany/types.js +6 -0
  30. package/dist/elements/DocumentControls/index.js +159 -0
  31. package/dist/elements/DocumentDrawer/DrawerContent.js +219 -0
  32. package/dist/elements/DocumentDrawer/index.js +185 -0
  33. package/dist/elements/DocumentDrawer/types.js +6 -0
  34. package/dist/elements/DocumentFields/index.js +55 -0
  35. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +23 -0
  36. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +42 -0
  37. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +105 -0
  38. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +48 -0
  39. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
  40. package/dist/elements/DocumentHeader/Tabs/index.js +84 -0
  41. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +27 -0
  42. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +75 -0
  43. package/dist/elements/DocumentHeader/index.js +81 -0
  44. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +82 -0
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +6 -0
  46. package/dist/elements/DraggableSortable/index.js +96 -0
  47. package/dist/elements/DraggableSortable/types.js +6 -0
  48. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +32 -0
  49. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +6 -0
  50. package/dist/elements/Drawer/index.js +156 -0
  51. package/dist/elements/Drawer/types.js +6 -0
  52. package/dist/elements/Drawer/useDrawerSlug.js +23 -0
  53. package/dist/elements/Dropzone/index.js +117 -0
  54. package/dist/elements/DuplicateDocument/index.js +217 -0
  55. package/dist/elements/DuplicateDocument/types.js +6 -0
  56. package/dist/elements/EditMany/index.js +274 -0
  57. package/dist/elements/EditMany/types.js +6 -0
  58. package/dist/elements/EditUpload/index.js +390 -0
  59. package/dist/elements/ErrorPill/index.js +37 -0
  60. package/dist/elements/ErrorPill/types.js +6 -0
  61. package/dist/elements/FieldSelect/index.js +138 -0
  62. package/dist/elements/FileDetails/FileMeta/index.js +96 -0
  63. package/dist/elements/FileDetails/FileMeta/types.js +6 -0
  64. package/dist/elements/FileDetails/index.js +59 -0
  65. package/dist/elements/FileDetails/types.js +6 -0
  66. package/dist/elements/GenerateConfirmation/index.js +72 -0
  67. package/dist/elements/GenerateConfirmation/types.js +6 -0
  68. package/dist/elements/GetFilterOptions/index.js +57 -0
  69. package/dist/elements/Gutter/index.js +72 -0
  70. package/dist/elements/Hamburger/index.js +54 -0
  71. package/dist/elements/Header/index.js +141 -0
  72. package/dist/elements/HydrateClientUser/index.js +28 -0
  73. package/dist/elements/IDLabel/index.js +28 -0
  74. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +21 -0
  75. package/dist/elements/ListControls/index.js +149 -0
  76. package/dist/elements/ListControls/types.js +6 -0
  77. package/dist/elements/ListDrawer/DrawerContent.js +315 -0
  78. package/dist/elements/ListDrawer/index.js +198 -0
  79. package/dist/elements/ListDrawer/types.js +6 -0
  80. package/dist/elements/ListSelection/index.js +83 -0
  81. package/dist/elements/Loading/index.js +103 -0
  82. package/dist/elements/LoadingOverlay/index.js +130 -0
  83. package/dist/elements/LoadingOverlay/reducer.js +49 -0
  84. package/dist/elements/LoadingOverlay/types.js +6 -0
  85. package/dist/elements/Localizer/LocalizerLabel/index.js +43 -0
  86. package/dist/elements/Localizer/index.js +121 -0
  87. package/dist/elements/Logout/index.js +50 -0
  88. package/dist/elements/Nav/NavHamburger/index.js +34 -0
  89. package/dist/elements/Nav/NavToggler/index.js +53 -0
  90. package/dist/elements/Nav/NavWrapper/index.js +34 -0
  91. package/dist/elements/Nav/context.js +150 -0
  92. package/dist/elements/Nav/index.js +107 -0
  93. package/dist/elements/NavGroup/index.js +129 -0
  94. package/dist/elements/Pagination/ClickableArrow/index.js +36 -0
  95. package/dist/elements/Pagination/ClickableArrow/types.js +6 -0
  96. package/dist/elements/Pagination/Page/index.js +33 -0
  97. package/dist/elements/Pagination/Page/types.js +6 -0
  98. package/dist/elements/Pagination/Separator/index.js +22 -0
  99. package/dist/elements/Pagination/index.js +126 -0
  100. package/dist/elements/Pagination/types.js +6 -0
  101. package/dist/elements/PerPage/index.js +115 -0
  102. package/dist/elements/Pill/index.js +93 -0
  103. package/dist/elements/Pill/types.js +6 -0
  104. package/dist/elements/Popup/PopupButtonList/index.js +118 -0
  105. package/dist/elements/Popup/PopupTrigger/index.js +51 -0
  106. package/dist/elements/Popup/PopupTrigger/types.js +6 -0
  107. package/dist/elements/Popup/index.js +193 -0
  108. package/dist/elements/Popup/types.js +6 -0
  109. package/dist/elements/PreviewButton/index.js +129 -0
  110. package/dist/elements/PreviewSizes/index.js +163 -0
  111. package/dist/elements/Publish/index.js +153 -0
  112. package/dist/elements/PublishMany/index.js +169 -0
  113. package/dist/elements/PublishMany/types.js +6 -0
  114. package/dist/elements/ReactSelect/ClearIndicator/index.js +31 -0
  115. package/dist/elements/ReactSelect/Control/index.js +49 -0
  116. package/dist/elements/ReactSelect/MultiValue/index.js +55 -0
  117. package/dist/elements/ReactSelect/MultiValueLabel/index.js +34 -0
  118. package/dist/elements/ReactSelect/MultiValueRemove/index.js +48 -0
  119. package/dist/elements/ReactSelect/SingleValue/index.js +30 -0
  120. package/dist/elements/ReactSelect/ValueContainer/index.js +29 -0
  121. package/dist/elements/ReactSelect/index.js +177 -0
  122. package/dist/elements/ReactSelect/types.js +6 -0
  123. package/dist/elements/RenderCustomComponent/index.js +28 -0
  124. package/dist/elements/RenderCustomComponent/types.js +6 -0
  125. package/dist/elements/RenderTitle/index.js +42 -0
  126. package/dist/elements/RenderTitle/types.js +6 -0
  127. package/dist/elements/Save/index.js +103 -0
  128. package/dist/elements/SaveDraft/index.js +147 -0
  129. package/dist/elements/SearchFilter/index.js +138 -0
  130. package/dist/elements/SearchFilter/types.js +6 -0
  131. package/dist/elements/SelectAll/index.js +35 -0
  132. package/dist/elements/SelectRow/index.js +31 -0
  133. package/dist/elements/ShimmerEffect/index.js +96 -0
  134. package/dist/elements/SortColumn/index.js +138 -0
  135. package/dist/elements/SortColumn/types.js +6 -0
  136. package/dist/elements/SortComplex/index.js +156 -0
  137. package/dist/elements/SortComplex/types.js +6 -0
  138. package/dist/elements/Status/index.js +202 -0
  139. package/dist/elements/StayLoggedIn/index.js +57 -0
  140. package/dist/elements/StayLoggedIn/types.js +6 -0
  141. package/dist/elements/StepNav/SetStepNav.js +25 -0
  142. package/dist/elements/StepNav/index.js +129 -0
  143. package/dist/elements/StepNav/types.js +6 -0
  144. package/dist/elements/Table/TableCellProvider/index.js +47 -0
  145. package/dist/elements/Table/index.js +63 -0
  146. package/dist/elements/Table/types.js +6 -0
  147. package/dist/elements/TableColumns/buildColumns.js +77 -0
  148. package/dist/elements/TableColumns/columnReducer.js +47 -0
  149. package/dist/elements/TableColumns/index.js +199 -0
  150. package/dist/elements/Thumbnail/index.js +89 -0
  151. package/dist/elements/Thumbnail/types.js +6 -0
  152. package/dist/elements/ThumbnailCard/index.js +54 -0
  153. package/dist/elements/ThumbnailCard/types.js +6 -0
  154. package/dist/elements/Tooltip/index.js +114 -0
  155. package/dist/elements/Tooltip/types.js +6 -0
  156. package/dist/elements/Translation/index.js +81 -0
  157. package/dist/elements/UnpublishMany/index.js +169 -0
  158. package/dist/elements/UnpublishMany/types.js +6 -0
  159. package/dist/elements/Upload/index.js +250 -0
  160. package/dist/elements/Upload/types.js +6 -0
  161. package/dist/elements/ViewDescription/index.js +38 -0
  162. package/dist/elements/ViewDescription/types.js +21 -0
  163. package/dist/elements/WhereBuilder/Condition/Date/index.js +32 -0
  164. package/dist/elements/WhereBuilder/Condition/Date/types.js +6 -0
  165. package/dist/elements/WhereBuilder/Condition/Number/index.js +33 -0
  166. package/dist/elements/WhereBuilder/Condition/Number/types.js +6 -0
  167. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +337 -0
  168. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +98 -0
  169. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +6 -0
  170. package/dist/elements/WhereBuilder/Condition/Select/index.js +96 -0
  171. package/dist/elements/WhereBuilder/Condition/Select/types.js +6 -0
  172. package/dist/elements/WhereBuilder/Condition/Text/index.js +33 -0
  173. package/dist/elements/WhereBuilder/Condition/Text/types.js +6 -0
  174. package/dist/elements/WhereBuilder/Condition/index.js +203 -0
  175. package/dist/elements/WhereBuilder/Condition/types.js +6 -0
  176. package/dist/elements/WhereBuilder/field-types.js +185 -0
  177. package/dist/elements/WhereBuilder/index.js +235 -0
  178. package/dist/elements/WhereBuilder/reducer.js +88 -0
  179. package/dist/elements/WhereBuilder/transformWhereQuery.js +57 -0
  180. package/dist/elements/WhereBuilder/types.js +6 -0
  181. package/dist/elements/WhereBuilder/validateWhereQuery.js +46 -0
  182. package/dist/exports/assets.js +27 -0
  183. package/dist/exports/elements.js +226 -0
  184. package/dist/exports/forms.js +158 -0
  185. package/dist/exports/graphics.js +27 -0
  186. package/dist/exports/hooks.js +55 -0
  187. package/dist/exports/icons.js +82 -0
  188. package/dist/exports/index.js +28 -0
  189. package/dist/exports/providers.js +116 -0
  190. package/dist/exports/templates.js +22 -0
  191. package/dist/exports/types.js +6 -0
  192. package/dist/exports/utilities.js +62 -0
  193. package/dist/forms/Error/index.js +43 -0
  194. package/dist/forms/FieldDescription/index.js +38 -0
  195. package/dist/forms/FieldDescription/types.js +6 -0
  196. package/dist/forms/FieldPathProvider/index.js +44 -0
  197. package/dist/forms/FieldPathProvider/types.js +6 -0
  198. package/dist/forms/Form/buildFieldSchemaMap.js +54 -0
  199. package/dist/forms/Form/buildInitialState.js +26 -0
  200. package/dist/forms/Form/context.js +84 -0
  201. package/dist/forms/Form/createNestedFieldPath.js +25 -0
  202. package/dist/forms/Form/errorMessages.js +15 -0
  203. package/dist/forms/Form/fieldReducer.js +286 -0
  204. package/dist/forms/Form/getDataByPath.js +29 -0
  205. package/dist/forms/Form/getSiblingData.js +50 -0
  206. package/dist/forms/Form/index.js +565 -0
  207. package/dist/forms/Form/initContextState.js +45 -0
  208. package/dist/forms/Form/mergeServerFormState.js +45 -0
  209. package/dist/forms/Form/reduceFieldsToValues.js +34 -0
  210. package/dist/forms/Form/rows.js +53 -0
  211. package/dist/forms/Form/types.js +6 -0
  212. package/dist/forms/Label/index.js +36 -0
  213. package/dist/forms/NullifyField/index.js +103 -0
  214. package/dist/forms/RenderFields/RenderField.js +30 -0
  215. package/dist/forms/RenderFields/index.js +66 -0
  216. package/dist/forms/RenderFields/types.js +6 -0
  217. package/dist/forms/RowLabel/index.js +50 -0
  218. package/dist/forms/RowLabel/types.js +21 -0
  219. package/dist/forms/Submit/index.js +75 -0
  220. package/dist/forms/WatchChildErrors/buildPathSegments.js +37 -0
  221. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +35 -0
  222. package/dist/forms/WatchChildErrors/getNestedFieldState.js +28 -0
  223. package/dist/forms/WatchChildErrors/index.js +41 -0
  224. package/dist/forms/fields/Array/ArrayRow.js +87 -0
  225. package/dist/forms/fields/Array/index.js +305 -0
  226. package/dist/forms/fields/Array/types.js +6 -0
  227. package/dist/forms/fields/Blocks/BlockRow.js +101 -0
  228. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +37 -0
  229. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +134 -0
  230. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +6 -0
  231. package/dist/forms/fields/Blocks/RowActions.js +52 -0
  232. package/dist/forms/fields/Blocks/SectionTitle/index.js +54 -0
  233. package/dist/forms/fields/Blocks/SectionTitle/types.js +6 -0
  234. package/dist/forms/fields/Blocks/index.js +317 -0
  235. package/dist/forms/fields/Blocks/types.js +6 -0
  236. package/dist/forms/fields/Checkbox/Input.js +56 -0
  237. package/dist/forms/fields/Checkbox/index.js +134 -0
  238. package/dist/forms/fields/Checkbox/types.js +6 -0
  239. package/dist/forms/fields/Code/index.js +115 -0
  240. package/dist/forms/fields/Code/types.js +6 -0
  241. package/dist/forms/fields/Collapsible/index.js +169 -0
  242. package/dist/forms/fields/Collapsible/types.js +6 -0
  243. package/dist/forms/fields/ConfirmPassword/index.js +112 -0
  244. package/dist/forms/fields/ConfirmPassword/types.js +6 -0
  245. package/dist/forms/fields/DateTime/index.js +115 -0
  246. package/dist/forms/fields/DateTime/types.js +6 -0
  247. package/dist/forms/fields/Email/index.js +121 -0
  248. package/dist/forms/fields/Email/types.js +6 -0
  249. package/dist/forms/fields/Group/index.js +127 -0
  250. package/dist/forms/fields/Group/provider.js +74 -0
  251. package/dist/forms/fields/Group/types.js +6 -0
  252. package/dist/forms/fields/HiddenInput/index.js +88 -0
  253. package/dist/forms/fields/HiddenInput/types.js +6 -0
  254. package/dist/forms/fields/JSON/index.js +137 -0
  255. package/dist/forms/fields/JSON/types.js +6 -0
  256. package/dist/forms/fields/Number/index.js +212 -0
  257. package/dist/forms/fields/Number/types.js +6 -0
  258. package/dist/forms/fields/Password/index.js +116 -0
  259. package/dist/forms/fields/Password/types.js +6 -0
  260. package/dist/forms/fields/Point/index.js +147 -0
  261. package/dist/forms/fields/Point/types.js +6 -0
  262. package/dist/forms/fields/RadioGroup/Radio/index.js +45 -0
  263. package/dist/forms/fields/RadioGroup/index.js +147 -0
  264. package/dist/forms/fields/RadioGroup/types.js +6 -0
  265. package/dist/forms/fields/Relationship/AddNew/index.js +216 -0
  266. package/dist/forms/fields/Relationship/AddNew/types.js +6 -0
  267. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +27 -0
  268. package/dist/forms/fields/Relationship/createRelationMap.js +59 -0
  269. package/dist/forms/fields/Relationship/findOptionsByValue.js +45 -0
  270. package/dist/forms/fields/Relationship/index.js +509 -0
  271. package/dist/forms/fields/Relationship/optionsReducer.js +126 -0
  272. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +109 -0
  273. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +108 -0
  274. package/dist/forms/fields/Relationship/types.js +6 -0
  275. package/dist/forms/fields/RichText/index.js +16 -0
  276. package/dist/forms/fields/RichText/types.js +6 -0
  277. package/dist/forms/fields/Row/index.js +42 -0
  278. package/dist/forms/fields/Row/provider.js +74 -0
  279. package/dist/forms/fields/Row/types.js +6 -0
  280. package/dist/forms/fields/Select/index.js +183 -0
  281. package/dist/forms/fields/Select/types.js +6 -0
  282. package/dist/forms/fields/Tabs/Tab/index.js +85 -0
  283. package/dist/forms/fields/Tabs/index.js +167 -0
  284. package/dist/forms/fields/Tabs/provider.js +74 -0
  285. package/dist/forms/fields/Tabs/types.js +6 -0
  286. package/dist/forms/fields/Text/index.js +194 -0
  287. package/dist/forms/fields/Text/types.js +6 -0
  288. package/dist/forms/fields/Textarea/index.js +133 -0
  289. package/dist/forms/fields/Textarea/types.js +6 -0
  290. package/dist/forms/fields/UI/index.js +16 -0
  291. package/dist/forms/fields/Upload/Input.js +3 -0
  292. package/dist/forms/fields/Upload/index.js +210 -0
  293. package/dist/forms/fields/Upload/types.js +6 -0
  294. package/dist/forms/fields/getFilterOptionsQuery.js +39 -0
  295. package/dist/forms/fields/index.js +67 -0
  296. package/dist/forms/fields/shared.js +29 -0
  297. package/dist/forms/useField/index.js +169 -0
  298. package/dist/forms/useField/types.js +6 -0
  299. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +335 -0
  300. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +76 -0
  301. package/dist/forms/utilities/buildStateFromSchema/index.js +35 -0
  302. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +48 -0
  303. package/dist/forms/withCondition/WatchCondition.js +66 -0
  304. package/dist/forms/withCondition/index.js +33 -0
  305. package/dist/graphics/Account/Default/index.js +43 -0
  306. package/dist/graphics/Account/Gravatar/index.js +42 -0
  307. package/dist/graphics/Account/index.js +50 -0
  308. package/dist/graphics/DefaultBlockImage/index.js +84 -0
  309. package/dist/graphics/ExternalLink/index.js +34 -0
  310. package/dist/graphics/File/index.js +36 -0
  311. package/dist/graphics/Icon/index.js +64 -0
  312. package/dist/graphics/Logo/index.js +60 -0
  313. package/dist/graphics/Search/index.js +42 -0
  314. package/dist/hooks/useAdminThumbnail.js +17 -0
  315. package/dist/hooks/useDebounce.js +31 -0
  316. package/dist/hooks/useDebouncedCallback.js +29 -0
  317. package/dist/hooks/useDebouncedEffect.js +32 -0
  318. package/dist/hooks/useDelay.js +82 -0
  319. package/dist/hooks/useDelayedRender.js +97 -0
  320. package/dist/hooks/useHotkey.js +129 -0
  321. package/dist/hooks/useIntersect.js +39 -0
  322. package/dist/hooks/usePayloadAPI.js +94 -0
  323. package/dist/hooks/useResize.js +59 -0
  324. package/dist/hooks/useThrottledEffect.js +31 -0
  325. package/dist/hooks/useThumbnail.js +57 -0
  326. package/dist/hooks/useUseAsTitle.js +19 -0
  327. package/dist/icons/Calendar/index.js +48 -0
  328. package/dist/icons/Check/index.js +34 -0
  329. package/dist/icons/Chevron/index.js +36 -0
  330. package/dist/icons/CloseMenu/index.js +39 -0
  331. package/dist/icons/CodeBlock/index.js +32 -0
  332. package/dist/icons/Copy/index.js +33 -0
  333. package/dist/icons/DragHandle/index.js +57 -0
  334. package/dist/icons/Edit/index.js +37 -0
  335. package/dist/icons/Line/index.js +30 -0
  336. package/dist/icons/Link/index.js +33 -0
  337. package/dist/icons/LogOut/index.js +37 -0
  338. package/dist/icons/Menu/index.js +45 -0
  339. package/dist/icons/MinimizeMaximize/index.js +87 -0
  340. package/dist/icons/More/index.js +42 -0
  341. package/dist/icons/Plus/index.js +36 -0
  342. package/dist/icons/Search/index.js +36 -0
  343. package/dist/icons/Swap/index.js +43 -0
  344. package/dist/icons/X/index.js +41 -0
  345. package/dist/index.js +20 -0
  346. package/dist/providers/ActionsProvider/index.js +89 -0
  347. package/dist/providers/Auth/HydrateClientUser/index.js +28 -0
  348. package/dist/providers/Auth/index.js +373 -0
  349. package/dist/providers/Auth/types.js +6 -0
  350. package/dist/providers/ClientFunction/index.js +65 -0
  351. package/dist/providers/ComponentMapProvider/index.js +98 -0
  352. package/dist/providers/Config/index.js +70 -0
  353. package/dist/providers/CustomProvider/index.js +38 -0
  354. package/dist/providers/DocumentEvents/index.js +77 -0
  355. package/dist/providers/DocumentEvents/types.js +6 -0
  356. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +34 -0
  357. package/dist/providers/DocumentInfo/index.js +353 -0
  358. package/dist/providers/DocumentInfo/types.js +6 -0
  359. package/dist/providers/EditDepth/index.js +71 -0
  360. package/dist/providers/FormQueryParams/index.js +77 -0
  361. package/dist/providers/ListInfo/index.js +78 -0
  362. package/dist/providers/ListInfo/types.js +6 -0
  363. package/dist/providers/Locale/index.js +122 -0
  364. package/dist/providers/OperationProvider/index.js +71 -0
  365. package/dist/providers/Params/index.js +72 -0
  366. package/dist/providers/Portal/index.js +20 -0
  367. package/dist/providers/Preferences/index.js +184 -0
  368. package/dist/providers/Root/index.js +103 -0
  369. package/dist/providers/SearchParams/index.js +119 -0
  370. package/dist/providers/SearchParams/types.js +6 -0
  371. package/dist/providers/SelectionProvider/index.js +218 -0
  372. package/dist/providers/Theme/index.js +123 -0
  373. package/dist/providers/Theme/types.js +6 -0
  374. package/dist/providers/Theme/utilities.js +35 -0
  375. package/dist/providers/Translation/index.js +92 -0
  376. package/dist/templates/Default/NavHamburger/index.js +28 -0
  377. package/dist/templates/Default/Wrapper/index.js +32 -0
  378. package/dist/templates/Default/index.js +88 -0
  379. package/dist/templates/Default/types.js +6 -0
  380. package/dist/templates/Minimal/index.js +34 -0
  381. package/dist/templates/Minimal/types.js +6 -0
  382. package/dist/utilities/api.js +98 -0
  383. package/dist/utilities/arraysHaveSameStrings.js +28 -0
  384. package/dist/utilities/buildComponentMap/index.js +101 -0
  385. package/dist/utilities/buildComponentMap/mapFields.js +318 -0
  386. package/dist/utilities/buildComponentMap/types.js +6 -0
  387. package/dist/utilities/buildFieldSchemaMap/index.js +36 -0
  388. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +94 -0
  389. package/dist/utilities/buildFieldSchemaMap/types.js +6 -0
  390. package/dist/utilities/canUseDOM.js +13 -0
  391. package/dist/utilities/findLocaleFromCode.js +18 -0
  392. package/dist/utilities/formatDate/getSupportedDateLocale.js +21 -0
  393. package/dist/utilities/formatDate/index.js +78 -0
  394. package/dist/utilities/formatDocTitle.js +33 -0
  395. package/dist/utilities/formatFields.js +14 -0
  396. package/dist/utilities/getFormState.js +28 -0
  397. package/dist/utilities/getOffsetTop.js +26 -0
  398. package/dist/utilities/getRequestLanguage.js +17 -0
  399. package/dist/utilities/getSupportedMonacoLocale.js +26 -0
  400. package/dist/utilities/groupNavItems.js +61 -0
  401. package/dist/utilities/scrollToID.js +22 -0
  402. package/dist/utilities/setsAreEqual.js +17 -0
  403. package/dist/utilities/withMergedProps/index.js +27 -0
  404. package/dist/views/Global/RenderCustomView.js +3 -0
  405. package/package.json +3 -3
@@ -0,0 +1,129 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return _default;
10
+ }
11
+ });
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
+ const _reacttoastify = require("react-toastify");
14
+ const _RenderCustomComponent = require("../../elements/RenderCustomComponent");
15
+ const _Auth = require("../../providers/Auth");
16
+ const _Config = require("../../providers/Config");
17
+ const _DocumentInfo = require("../../providers/DocumentInfo");
18
+ const _Locale = require("../../providers/Locale");
19
+ const _Translation = require("../../providers/Translation");
20
+ const _Button = require("../Button");
21
+ function _getRequireWildcardCache(nodeInterop) {
22
+ if (typeof WeakMap !== "function") return null;
23
+ var cacheBabelInterop = new WeakMap();
24
+ var cacheNodeInterop = new WeakMap();
25
+ return (_getRequireWildcardCache = function(nodeInterop) {
26
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
+ })(nodeInterop);
28
+ }
29
+ function _interop_require_wildcard(obj, nodeInterop) {
30
+ if (!nodeInterop && obj && obj.__esModule) {
31
+ return obj;
32
+ }
33
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
+ return {
35
+ default: obj
36
+ };
37
+ }
38
+ var cache = _getRequireWildcardCache(nodeInterop);
39
+ if (cache && cache.has(obj)) {
40
+ return cache.get(obj);
41
+ }
42
+ var newObj = {
43
+ __proto__: null
44
+ };
45
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for(var key in obj){
47
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
+ if (desc && (desc.get || desc.set)) {
50
+ Object.defineProperty(newObj, key, desc);
51
+ } else {
52
+ newObj[key] = obj[key];
53
+ }
54
+ }
55
+ }
56
+ newObj.default = obj;
57
+ if (cache) {
58
+ cache.set(obj, newObj);
59
+ }
60
+ return newObj;
61
+ }
62
+ const baseClass = 'preview-btn';
63
+ const DefaultPreviewButton = ({ disabled, label, preview })=>{
64
+ return /*#__PURE__*/ _react.default.createElement(_Button.Button, {
65
+ buttonStyle: "secondary",
66
+ className: baseClass,
67
+ disabled: disabled,
68
+ onClick: preview,
69
+ size: "small"
70
+ }, label);
71
+ };
72
+ const PreviewButton = ({ CustomComponent, generatePreviewURL })=>{
73
+ const { id, collectionSlug, globalSlug } = (0, _DocumentInfo.useDocumentInfo)();
74
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
75
+ const { code: locale } = (0, _Locale.useLocale)();
76
+ const { token } = (0, _Auth.useAuth)();
77
+ const { routes: { api }, serverURL } = (0, _Config.useConfig)();
78
+ const { t } = (0, _Translation.useTranslation)();
79
+ const isGeneratingPreviewURL = (0, _react.useRef)(false);
80
+ // we need to regenerate the preview URL every time the button is clicked
81
+ // to do this we need to fetch the document data fresh from the API
82
+ // this will ensure the latest data is used when generating the preview URL
83
+ const preview = (0, _react.useCallback)(async ()=>{
84
+ if (!generatePreviewURL || isGeneratingPreviewURL.current) return;
85
+ isGeneratingPreviewURL.current = true;
86
+ try {
87
+ setIsLoading(true);
88
+ let url = `${serverURL}${api}`;
89
+ if (collectionSlug) url = `${url}/${collectionSlug}/${id}`;
90
+ if (globalSlug) url = `${url}/globals/${globalSlug}`;
91
+ const data = await fetch(`${url}?draft=true&locale=${locale}&fallback-locale=null`).then((res)=>res.json());
92
+ const previewURL = await generatePreviewURL(data, {
93
+ locale,
94
+ token
95
+ });
96
+ if (!previewURL) throw new Error();
97
+ setIsLoading(false);
98
+ isGeneratingPreviewURL.current = false;
99
+ window.open(previewURL, '_blank');
100
+ } catch (err) {
101
+ setIsLoading(false);
102
+ isGeneratingPreviewURL.current = false;
103
+ _reacttoastify.toast.error(t('error:previewing'));
104
+ }
105
+ }, [
106
+ serverURL,
107
+ api,
108
+ collectionSlug,
109
+ globalSlug,
110
+ id,
111
+ generatePreviewURL,
112
+ locale,
113
+ token,
114
+ t
115
+ ]);
116
+ return /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
117
+ CustomComponent: CustomComponent,
118
+ DefaultComponent: DefaultPreviewButton,
119
+ componentProps: {
120
+ DefaultButton: DefaultPreviewButton,
121
+ disabled: isLoading || !generatePreviewURL,
122
+ label: isLoading ? t('general:loading') : t('version:preview'),
123
+ preview
124
+ }
125
+ });
126
+ };
127
+ const _default = PreviewButton;
128
+
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9QcmV2aWV3QnV0dG9uL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVQcmV2aWV3VVJMIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEN1c3RvbVByZXZpZXdCdXR0b25Qcm9wcywgRGVmYXVsdFByZXZpZXdCdXR0b25Qcm9wcyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHsgUmVuZGVyQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbmZpZydcbmltcG9ydCB7IHVzZURvY3VtZW50SW5mbyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9Eb2N1bWVudEluZm8nXG5pbXBvcnQgeyB1c2VMb2NhbGUgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvTG9jYWxlJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVHJhbnNsYXRpb24nXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdwcmV2aWV3LWJ0bidcblxuY29uc3QgRGVmYXVsdFByZXZpZXdCdXR0b246IFJlYWN0LkZDPERlZmF1bHRQcmV2aWV3QnV0dG9uUHJvcHM+ID0gKHtcbiAgZGlzYWJsZWQsXG4gIGxhYmVsLFxuICBwcmV2aWV3LFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCdXR0b25cbiAgICAgIGJ1dHRvblN0eWxlPVwic2Vjb25kYXJ5XCJcbiAgICAgIGNsYXNzTmFtZT17YmFzZUNsYXNzfVxuICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgb25DbGljaz17cHJldmlld31cbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgPlxuICAgICAge2xhYmVsfVxuICAgIDwvQnV0dG9uPlxuICApXG59XG5cbnR5cGUgUHJvcHMgPSB7XG4gIEN1c3RvbUNvbXBvbmVudD86IEN1c3RvbVByZXZpZXdCdXR0b25Qcm9wc1xuICBnZW5lcmF0ZVByZXZpZXdVUkw/OiBHZW5lcmF0ZVByZXZpZXdVUkxcbn1cblxuY29uc3QgUHJldmlld0J1dHRvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHsgQ3VzdG9tQ29tcG9uZW50LCBnZW5lcmF0ZVByZXZpZXdVUkwgfSkgPT4ge1xuICBjb25zdCB7IGlkLCBjb2xsZWN0aW9uU2x1ZywgZ2xvYmFsU2x1ZyB9ID0gdXNlRG9jdW1lbnRJbmZvKClcblxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IHRva2VuIH0gPSB1c2VBdXRoKClcbiAgY29uc3Qge1xuICAgIHJvdXRlczogeyBhcGkgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgaXNHZW5lcmF0aW5nUHJldmlld1VSTCA9IHVzZVJlZihmYWxzZSlcblxuICAvLyB3ZSBuZWVkIHRvIHJlZ2VuZXJhdGUgdGhlIHByZXZpZXcgVVJMIGV2ZXJ5IHRpbWUgdGhlIGJ1dHRvbiBpcyBjbGlja2VkXG4gIC8vIHRvIGRvIHRoaXMgd2UgbmVlZCB0byBmZXRjaCB0aGUgZG9jdW1lbnQgZGF0YSBmcmVzaCBmcm9tIHRoZSBBUElcbiAgLy8gdGhpcyB3aWxsIGVuc3VyZSB0aGUgbGF0ZXN0IGRhdGEgaXMgdXNlZCB3aGVuIGdlbmVyYXRpbmcgdGhlIHByZXZpZXcgVVJMXG4gIGNvbnN0IHByZXZpZXcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFnZW5lcmF0ZVByZXZpZXdVUkwgfHwgaXNHZW5lcmF0aW5nUHJldmlld1VSTC5jdXJyZW50KSByZXR1cm5cbiAgICBpc0dlbmVyYXRpbmdQcmV2aWV3VVJMLmN1cnJlbnQgPSB0cnVlXG5cbiAgICB0cnkge1xuICAgICAgc2V0SXNMb2FkaW5nKHRydWUpXG5cbiAgICAgIGxldCB1cmwgPSBgJHtzZXJ2ZXJVUkx9JHthcGl9YFxuICAgICAgaWYgKGNvbGxlY3Rpb25TbHVnKSB1cmwgPSBgJHt1cmx9LyR7Y29sbGVjdGlvblNsdWd9LyR7aWR9YFxuICAgICAgaWYgKGdsb2JhbFNsdWcpIHVybCA9IGAke3VybH0vZ2xvYmFscy8ke2dsb2JhbFNsdWd9YFxuXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2goYCR7dXJsfT9kcmFmdD10cnVlJmxvY2FsZT0ke2xvY2FsZX0mZmFsbGJhY2stbG9jYWxlPW51bGxgKS50aGVuKFxuICAgICAgICAocmVzKSA9PiByZXMuanNvbigpLFxuICAgICAgKVxuICAgICAgY29uc3QgcHJldmlld1VSTCA9IGF3YWl0IGdlbmVyYXRlUHJldmlld1VSTChkYXRhLCB7IGxvY2FsZSwgdG9rZW4gfSlcbiAgICAgIGlmICghcHJldmlld1VSTCkgdGhyb3cgbmV3IEVycm9yKClcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzR2VuZXJhdGluZ1ByZXZpZXdVUkwuY3VycmVudCA9IGZhbHNlXG4gICAgICB3aW5kb3cub3BlbihwcmV2aWV3VVJMLCAnX2JsYW5rJylcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzR2VuZXJhdGluZ1ByZXZpZXdVUkwuY3VycmVudCA9IGZhbHNlXG4gICAgICB0b2FzdC5lcnJvcih0KCdlcnJvcjpwcmV2aWV3aW5nJykpXG4gICAgfVxuICB9LCBbc2VydmVyVVJMLCBhcGksIGNvbGxlY3Rpb25TbHVnLCBnbG9iYWxTbHVnLCBpZCwgZ2VuZXJhdGVQcmV2aWV3VVJMLCBsb2NhbGUsIHRva2VuLCB0XSlcblxuICByZXR1cm4gKFxuICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgIEN1c3RvbUNvbXBvbmVudD17Q3VzdG9tQ29tcG9uZW50fVxuICAgICAgRGVmYXVsdENvbXBvbmVudD17RGVmYXVsdFByZXZpZXdCdXR0b259XG4gICAgICBjb21wb25lbnRQcm9wcz17e1xuICAgICAgICBEZWZhdWx0QnV0dG9uOiBEZWZhdWx0UHJldmlld0J1dHRvbixcbiAgICAgICAgZGlzYWJsZWQ6IGlzTG9hZGluZyB8fCAhZ2VuZXJhdGVQcmV2aWV3VVJMLFxuICAgICAgICBsYWJlbDogaXNMb2FkaW5nID8gdCgnZ2VuZXJhbDpsb2FkaW5nJykgOiB0KCd2ZXJzaW9uOnByZXZpZXcnKSxcbiAgICAgICAgcHJldmlldyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBQcmV2aWV3QnV0dG9uXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwiRGVmYXVsdFByZXZpZXdCdXR0b24iLCJkaXNhYmxlZCIsImxhYmVsIiwicHJldmlldyIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiY2xhc3NOYW1lIiwib25DbGljayIsInNpemUiLCJQcmV2aWV3QnV0dG9uIiwiQ3VzdG9tQ29tcG9uZW50IiwiZ2VuZXJhdGVQcmV2aWV3VVJMIiwiaWQiLCJjb2xsZWN0aW9uU2x1ZyIsImdsb2JhbFNsdWciLCJ1c2VEb2N1bWVudEluZm8iLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJ1c2VTdGF0ZSIsImNvZGUiLCJsb2NhbGUiLCJ1c2VMb2NhbGUiLCJ0b2tlbiIsInVzZUF1dGgiLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJ1c2VDb25maWciLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJpc0dlbmVyYXRpbmdQcmV2aWV3VVJMIiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJjdXJyZW50IiwidXJsIiwiZGF0YSIsImZldGNoIiwidGhlbiIsInJlcyIsImpzb24iLCJwcmV2aWV3VVJMIiwiRXJyb3IiLCJ3aW5kb3ciLCJvcGVuIiwiZXJyIiwidG9hc3QiLCJlcnJvciIsIlJlbmRlckN1c3RvbUNvbXBvbmVudCIsIkRlZmF1bHRDb21wb25lbnQiLCJjb21wb25lbnRQcm9wcyIsIkRlZmF1bHRCdXR0b24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFnR0E7OztlQUFBOzs7K0RBNUZxRDsrQkFDL0I7dUNBRWdCO3NCQUNkO3dCQUNFOzhCQUNNO3dCQUNOOzZCQUNLO3dCQUNSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkIsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyx1QkFBNEQsQ0FBQyxFQUNqRUMsUUFBUSxFQUNSQyxLQUFLLEVBQ0xDLE9BQU8sRUFDUjtJQUNDLHFCQUNFLDZCQUFDQyxjQUFNO1FBQ0xDLGFBQVk7UUFDWkMsV0FBV1A7UUFDWEUsVUFBVUE7UUFDVk0sU0FBU0o7UUFDVEssTUFBSztPQUVKTjtBQUdQO0FBT0EsTUFBTU8sZ0JBQWlDLENBQUMsRUFBRUMsZUFBZSxFQUFFQyxrQkFBa0IsRUFBRTtJQUM3RSxNQUFNLEVBQUVDLEVBQUUsRUFBRUMsY0FBYyxFQUFFQyxVQUFVLEVBQUUsR0FBR0MsSUFBQUEsNkJBQWU7SUFFMUQsTUFBTSxDQUFDQyxXQUFXQyxhQUFhLEdBQUdDLElBQUFBLGVBQVEsRUFBQztJQUMzQyxNQUFNLEVBQUVDLE1BQU1DLE1BQU0sRUFBRSxHQUFHQyxJQUFBQSxpQkFBUztJQUNsQyxNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxJQUFBQSxhQUFPO0lBQ3pCLE1BQU0sRUFDSkMsUUFBUSxFQUFFQyxHQUFHLEVBQUUsRUFDZkMsU0FBUyxFQUNWLEdBQUdDLElBQUFBLGlCQUFTO0lBQ2IsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsMkJBQWM7SUFDNUIsTUFBTUMseUJBQXlCQyxJQUFBQSxhQUFNLEVBQUM7SUFFdEMseUVBQXlFO0lBQ3pFLG1FQUFtRTtJQUNuRSwyRUFBMkU7SUFDM0UsTUFBTTVCLFVBQVU2QixJQUFBQSxrQkFBVyxFQUFDO1FBQzFCLElBQUksQ0FBQ3JCLHNCQUFzQm1CLHVCQUF1QkcsT0FBTyxFQUFFO1FBQzNESCx1QkFBdUJHLE9BQU8sR0FBRztRQUVqQyxJQUFJO1lBQ0ZoQixhQUFhO1lBRWIsSUFBSWlCLE1BQU0sQ0FBQyxFQUFFUixVQUFVLEVBQUVELElBQUksQ0FBQztZQUM5QixJQUFJWixnQkFBZ0JxQixNQUFNLENBQUMsRUFBRUEsSUFBSSxDQUFDLEVBQUVyQixlQUFlLENBQUMsRUFBRUQsR0FBRyxDQUFDO1lBQzFELElBQUlFLFlBQVlvQixNQUFNLENBQUMsRUFBRUEsSUFBSSxTQUFTLEVBQUVwQixXQUFXLENBQUM7WUFFcEQsTUFBTXFCLE9BQU8sTUFBTUMsTUFBTSxDQUFDLEVBQUVGLElBQUksbUJBQW1CLEVBQUVkLE9BQU8scUJBQXFCLENBQUMsRUFBRWlCLElBQUksQ0FDdEYsQ0FBQ0MsTUFBUUEsSUFBSUMsSUFBSTtZQUVuQixNQUFNQyxhQUFhLE1BQU03QixtQkFBbUJ3QixNQUFNO2dCQUFFZjtnQkFBUUU7WUFBTTtZQUNsRSxJQUFJLENBQUNrQixZQUFZLE1BQU0sSUFBSUM7WUFDM0J4QixhQUFhO1lBQ2JhLHVCQUF1QkcsT0FBTyxHQUFHO1lBQ2pDUyxPQUFPQyxJQUFJLENBQUNILFlBQVk7UUFDMUIsRUFBRSxPQUFPSSxLQUFLO1lBQ1ozQixhQUFhO1lBQ2JhLHVCQUF1QkcsT0FBTyxHQUFHO1lBQ2pDWSxvQkFBSyxDQUFDQyxLQUFLLENBQUNsQixFQUFFO1FBQ2hCO0lBQ0YsR0FBRztRQUFDRjtRQUFXRDtRQUFLWjtRQUFnQkM7UUFBWUY7UUFBSUQ7UUFBb0JTO1FBQVFFO1FBQU9NO0tBQUU7SUFFekYscUJBQ0UsNkJBQUNtQiw0Q0FBcUI7UUFDcEJyQyxpQkFBaUJBO1FBQ2pCc0Msa0JBQWtCaEQ7UUFDbEJpRCxnQkFBZ0I7WUFDZEMsZUFBZWxEO1lBQ2ZDLFVBQVVlLGFBQWEsQ0FBQ0w7WUFDeEJULE9BQU9jLFlBQVlZLEVBQUUscUJBQXFCQSxFQUFFO1lBQzVDekI7UUFDRjs7QUFHTjtNQUVBLFdBQWVNIn0=
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ const _FileMeta = /*#__PURE__*/ _interop_require_default(require("../FileDetails/FileMeta"));
13
+ require("./index.scss");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ function _getRequireWildcardCache(nodeInterop) {
20
+ if (typeof WeakMap !== "function") return null;
21
+ var cacheBabelInterop = new WeakMap();
22
+ var cacheNodeInterop = new WeakMap();
23
+ return (_getRequireWildcardCache = function(nodeInterop) {
24
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
25
+ })(nodeInterop);
26
+ }
27
+ function _interop_require_wildcard(obj, nodeInterop) {
28
+ if (!nodeInterop && obj && obj.__esModule) {
29
+ return obj;
30
+ }
31
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
32
+ return {
33
+ default: obj
34
+ };
35
+ }
36
+ var cache = _getRequireWildcardCache(nodeInterop);
37
+ if (cache && cache.has(obj)) {
38
+ return cache.get(obj);
39
+ }
40
+ var newObj = {
41
+ __proto__: null
42
+ };
43
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
44
+ for(var key in obj){
45
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
46
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
47
+ if (desc && (desc.get || desc.set)) {
48
+ Object.defineProperty(newObj, key, desc);
49
+ } else {
50
+ newObj[key] = obj[key];
51
+ }
52
+ }
53
+ }
54
+ newObj.default = obj;
55
+ if (cache) {
56
+ cache.set(obj, newObj);
57
+ }
58
+ return newObj;
59
+ }
60
+ const baseClass = 'preview-sizes';
61
+ const sortSizes = (sizes, imageSizes)=>{
62
+ if (!imageSizes || imageSizes.length === 0) return sizes;
63
+ const orderedSizes = {};
64
+ imageSizes.forEach(({ name })=>{
65
+ if (sizes[name]) {
66
+ orderedSizes[name] = sizes[name];
67
+ }
68
+ });
69
+ return orderedSizes;
70
+ };
71
+ const PreviewSizeCard = ({ name, active, meta, onClick, previewSrc })=>{
72
+ return /*#__PURE__*/ _react.default.createElement("div", {
73
+ className: [
74
+ `${baseClass}__sizeOption`,
75
+ active && `${baseClass}--selected`
76
+ ].filter(Boolean).join(' '),
77
+ onClick: typeof onClick === 'function' ? onClick : undefined,
78
+ onKeyDown: (e)=>{
79
+ if (typeof onClick !== 'function') return;
80
+ if (e.key === 'Enter') onClick();
81
+ },
82
+ role: "button",
83
+ tabIndex: 0
84
+ }, /*#__PURE__*/ _react.default.createElement("div", {
85
+ className: `${baseClass}__image`
86
+ }, /*#__PURE__*/ _react.default.createElement("img", {
87
+ alt: meta.filename,
88
+ src: previewSrc
89
+ })), /*#__PURE__*/ _react.default.createElement("div", {
90
+ className: `${baseClass}__sizeMeta`
91
+ }, /*#__PURE__*/ _react.default.createElement("div", {
92
+ className: `${baseClass}__sizeName`
93
+ }, name), /*#__PURE__*/ _react.default.createElement(_FileMeta.default, meta)));
94
+ };
95
+ const PreviewSizes = ({ doc, imageCacheTag, uploadConfig })=>{
96
+ const { imageSizes } = uploadConfig;
97
+ const { sizes } = doc;
98
+ const [orderedSizes, setOrderedSizes] = (0, _react.useState)(()=>sortSizes(sizes, imageSizes));
99
+ const [selectedSize, setSelectedSize] = (0, _react.useState)(null);
100
+ const generateImageUrl = (doc)=>{
101
+ if (!doc.filename) return null;
102
+ if (doc.url) return `${doc.url}${imageCacheTag ? `?${imageCacheTag}` : ''}`;
103
+ };
104
+ (0, _react.useEffect)(()=>{
105
+ setOrderedSizes(sortSizes(sizes, imageSizes));
106
+ }, [
107
+ sizes,
108
+ imageSizes,
109
+ imageCacheTag
110
+ ]);
111
+ const mainPreviewSrc = selectedSize ? generateImageUrl(doc.sizes[selectedSize]) : generateImageUrl(doc);
112
+ const originalImage = (0, _react.useMemo)(()=>({
113
+ filename: doc.filename,
114
+ filesize: doc.filesize,
115
+ height: doc.height,
116
+ mimeType: doc.mimeType,
117
+ url: doc.url,
118
+ width: doc.width
119
+ }), [
120
+ doc
121
+ ]);
122
+ const originalFilename = 'Original';
123
+ return /*#__PURE__*/ _react.default.createElement("div", {
124
+ className: baseClass
125
+ }, /*#__PURE__*/ _react.default.createElement("div", {
126
+ className: `${baseClass}__imageWrap`
127
+ }, /*#__PURE__*/ _react.default.createElement("div", {
128
+ className: `${baseClass}__meta`
129
+ }, /*#__PURE__*/ _react.default.createElement("div", {
130
+ className: `${baseClass}__sizeName`
131
+ }, selectedSize || originalFilename), /*#__PURE__*/ _react.default.createElement(_FileMeta.default, selectedSize ? orderedSizes[selectedSize] : originalImage)), /*#__PURE__*/ _react.default.createElement("img", {
132
+ alt: doc.filename,
133
+ className: `${baseClass}__preview`,
134
+ src: mainPreviewSrc
135
+ })), /*#__PURE__*/ _react.default.createElement("div", {
136
+ className: `${baseClass}__listWrap`
137
+ }, /*#__PURE__*/ _react.default.createElement("div", {
138
+ className: `${baseClass}__list`
139
+ }, /*#__PURE__*/ _react.default.createElement(PreviewSizeCard, {
140
+ active: !selectedSize,
141
+ meta: originalImage,
142
+ name: originalFilename,
143
+ onClick: ()=>setSelectedSize(null),
144
+ previewSrc: generateImageUrl(doc)
145
+ }), Object.entries(orderedSizes).map(([key, val])=>{
146
+ const selected = selectedSize === key;
147
+ const previewSrc = generateImageUrl(val);
148
+ if (previewSrc) {
149
+ return /*#__PURE__*/ _react.default.createElement(PreviewSizeCard, {
150
+ active: selected,
151
+ key: key,
152
+ meta: val,
153
+ name: key,
154
+ onClick: ()=>setSelectedSize(key),
155
+ previewSrc: previewSrc
156
+ });
157
+ }
158
+ return null;
159
+ }))));
160
+ };
161
+ const _default = PreviewSizes;
162
+
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9QcmV2aWV3U2l6ZXMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRGF0YSxcbiAgRmlsZVNpemUsXG4gIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG4gIFNhbml0aXplZFVwbG9hZENvbmZpZyxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IEZpbGVNZXRhIGZyb20gJy4uL0ZpbGVEZXRhaWxzL0ZpbGVNZXRhJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdwcmV2aWV3LXNpemVzJ1xuXG50eXBlIEZpbGVJbmZvID0gRmlsZVNpemUgJiB7XG4gIHVybDogc3RyaW5nXG59XG50eXBlIEZpbGVzU2l6ZXNXaXRoVXJsID0ge1xuICBba2V5OiBzdHJpbmddOiBGaWxlSW5mb1xufVxuXG5jb25zdCBzb3J0U2l6ZXMgPSAoc2l6ZXM6IEZpbGVzU2l6ZXNXaXRoVXJsLCBpbWFnZVNpemVzOiBTYW5pdGl6ZWRVcGxvYWRDb25maWdbJ2ltYWdlU2l6ZXMnXSkgPT4ge1xuICBpZiAoIWltYWdlU2l6ZXMgfHwgaW1hZ2VTaXplcy5sZW5ndGggPT09IDApIHJldHVybiBzaXplc1xuXG4gIGNvbnN0IG9yZGVyZWRTaXplczogRmlsZXNTaXplc1dpdGhVcmwgPSB7fVxuXG4gIGltYWdlU2l6ZXMuZm9yRWFjaCgoeyBuYW1lIH0pID0+IHtcbiAgICBpZiAoc2l6ZXNbbmFtZV0pIHtcbiAgICAgIG9yZGVyZWRTaXplc1tuYW1lXSA9IHNpemVzW25hbWVdXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBvcmRlcmVkU2l6ZXNcbn1cblxudHlwZSBQcmV2aWV3U2l6ZUNhcmRQcm9wcyA9IHtcbiAgYWN0aXZlOiBib29sZWFuXG4gIG1ldGE6IEZpbGVJbmZvXG4gIG5hbWU6IHN0cmluZ1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZFxuICBwcmV2aWV3U3JjOiBzdHJpbmdcbn1cbmNvbnN0IFByZXZpZXdTaXplQ2FyZDogUmVhY3QuRkM8UHJldmlld1NpemVDYXJkUHJvcHM+ID0gKHtcbiAgbmFtZSxcbiAgYWN0aXZlLFxuICBtZXRhLFxuICBvbkNsaWNrLFxuICBwcmV2aWV3U3JjLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17W2Ake2Jhc2VDbGFzc31fX3NpemVPcHRpb25gLCBhY3RpdmUgJiYgYCR7YmFzZUNsYXNzfS0tc2VsZWN0ZWRgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBvbkNsaWNrPXt0eXBlb2Ygb25DbGljayA9PT0gJ2Z1bmN0aW9uJyA/IG9uQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2Ygb25DbGljayAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuXG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykgb25DbGljaygpXG4gICAgICB9fVxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICB0YWJJbmRleD17MH1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW1hZ2VgfT5cbiAgICAgICAgPGltZyBhbHQ9e21ldGEuZmlsZW5hbWV9IHNyYz17cHJldmlld1NyY30gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NpemVNZXRhYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaXplTmFtZWB9PntuYW1lfTwvZGl2PlxuICAgICAgICA8RmlsZU1ldGEgey4uLm1ldGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5jb25zdCBQcmV2aWV3U2l6ZXM6IFJlYWN0LkZDPHtcbiAgZG9jOiBEYXRhICYge1xuICAgIHNpemVzPzogRmlsZXNTaXplc1dpdGhVcmxcbiAgfVxuICBpbWFnZUNhY2hlVGFnPzogc3RyaW5nXG4gIHVwbG9hZENvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1sndXBsb2FkJ11cbn0+ID0gKHsgZG9jLCBpbWFnZUNhY2hlVGFnLCB1cGxvYWRDb25maWcgfSkgPT4ge1xuICBjb25zdCB7IGltYWdlU2l6ZXMgfSA9IHVwbG9hZENvbmZpZ1xuICBjb25zdCB7IHNpemVzIH0gPSBkb2NcblxuICBjb25zdCBbb3JkZXJlZFNpemVzLCBzZXRPcmRlcmVkU2l6ZXNdID0gdXNlU3RhdGU8RmlsZXNTaXplc1dpdGhVcmw+KCgpID0+XG4gICAgc29ydFNpemVzKHNpemVzLCBpbWFnZVNpemVzKSxcbiAgKVxuICBjb25zdCBbc2VsZWN0ZWRTaXplLCBzZXRTZWxlY3RlZFNpemVdID0gdXNlU3RhdGU8bnVsbCB8IHN0cmluZz4obnVsbClcblxuICBjb25zdCBnZW5lcmF0ZUltYWdlVXJsID0gKGRvYykgPT4ge1xuICAgIGlmICghZG9jLmZpbGVuYW1lKSByZXR1cm4gbnVsbFxuICAgIGlmIChkb2MudXJsKSByZXR1cm4gYCR7ZG9jLnVybH0ke2ltYWdlQ2FjaGVUYWcgPyBgPyR7aW1hZ2VDYWNoZVRhZ31gIDogJyd9YFxuICB9XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0T3JkZXJlZFNpemVzKHNvcnRTaXplcyhzaXplcywgaW1hZ2VTaXplcykpXG4gIH0sIFtzaXplcywgaW1hZ2VTaXplcywgaW1hZ2VDYWNoZVRhZ10pXG5cbiAgY29uc3QgbWFpblByZXZpZXdTcmMgPSBzZWxlY3RlZFNpemVcbiAgICA/IGdlbmVyYXRlSW1hZ2VVcmwoZG9jLnNpemVzW3NlbGVjdGVkU2l6ZV0pXG4gICAgOiBnZW5lcmF0ZUltYWdlVXJsKGRvYylcblxuICBjb25zdCBvcmlnaW5hbEltYWdlID0gdXNlTWVtbyhcbiAgICAoKTogRmlsZUluZm8gPT4gKHtcbiAgICAgIGZpbGVuYW1lOiBkb2MuZmlsZW5hbWUsXG4gICAgICBmaWxlc2l6ZTogZG9jLmZpbGVzaXplLFxuICAgICAgaGVpZ2h0OiBkb2MuaGVpZ2h0LFxuICAgICAgbWltZVR5cGU6IGRvYy5taW1lVHlwZSxcbiAgICAgIHVybDogZG9jLnVybCxcbiAgICAgIHdpZHRoOiBkb2Mud2lkdGgsXG4gICAgfSksXG4gICAgW2RvY10sXG4gIClcbiAgY29uc3Qgb3JpZ2luYWxGaWxlbmFtZSA9ICdPcmlnaW5hbCdcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ltYWdlV3JhcGB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWV0YWB9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaXplTmFtZWB9PntzZWxlY3RlZFNpemUgfHwgb3JpZ2luYWxGaWxlbmFtZX08L2Rpdj5cbiAgICAgICAgICA8RmlsZU1ldGEgey4uLihzZWxlY3RlZFNpemUgPyBvcmRlcmVkU2l6ZXNbc2VsZWN0ZWRTaXplXSA6IG9yaWdpbmFsSW1hZ2UpfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGltZyBhbHQ9e2RvYy5maWxlbmFtZX0gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19wcmV2aWV3YH0gc3JjPXttYWluUHJldmlld1NyY30gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xpc3RXcmFwYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19saXN0YH0+XG4gICAgICAgICAgPFByZXZpZXdTaXplQ2FyZFxuICAgICAgICAgICAgYWN0aXZlPXshc2VsZWN0ZWRTaXplfVxuICAgICAgICAgICAgbWV0YT17b3JpZ2luYWxJbWFnZX1cbiAgICAgICAgICAgIG5hbWU9e29yaWdpbmFsRmlsZW5hbWV9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZFNpemUobnVsbCl9XG4gICAgICAgICAgICBwcmV2aWV3U3JjPXtnZW5lcmF0ZUltYWdlVXJsKGRvYyl9XG4gICAgICAgICAgLz5cblxuICAgICAgICAgIHtPYmplY3QuZW50cmllcyhvcmRlcmVkU2l6ZXMpLm1hcCgoW2tleSwgdmFsXSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBzZWxlY3RlZFNpemUgPT09IGtleVxuICAgICAgICAgICAgY29uc3QgcHJldmlld1NyYyA9IGdlbmVyYXRlSW1hZ2VVcmwodmFsKVxuXG4gICAgICAgICAgICBpZiAocHJldmlld1NyYykge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxQcmV2aWV3U2l6ZUNhcmRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17c2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICAgIG1ldGE9e3ZhbH1cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2tleX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNlbGVjdGVkU2l6ZShrZXkpfVxuICAgICAgICAgICAgICAgICAgcHJldmlld1NyYz17cHJldmlld1NyY31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbmV4cG9ydCBkZWZhdWx0IFByZXZpZXdTaXplc1xuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsInNvcnRTaXplcyIsInNpemVzIiwiaW1hZ2VTaXplcyIsImxlbmd0aCIsIm9yZGVyZWRTaXplcyIsImZvckVhY2giLCJuYW1lIiwiUHJldmlld1NpemVDYXJkIiwiYWN0aXZlIiwibWV0YSIsIm9uQ2xpY2siLCJwcmV2aWV3U3JjIiwiZGl2IiwiY2xhc3NOYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJ1bmRlZmluZWQiLCJvbktleURvd24iLCJlIiwia2V5Iiwicm9sZSIsInRhYkluZGV4IiwiaW1nIiwiYWx0IiwiZmlsZW5hbWUiLCJzcmMiLCJGaWxlTWV0YSIsIlByZXZpZXdTaXplcyIsImRvYyIsImltYWdlQ2FjaGVUYWciLCJ1cGxvYWRDb25maWciLCJzZXRPcmRlcmVkU2l6ZXMiLCJ1c2VTdGF0ZSIsInNlbGVjdGVkU2l6ZSIsInNldFNlbGVjdGVkU2l6ZSIsImdlbmVyYXRlSW1hZ2VVcmwiLCJ1cmwiLCJ1c2VFZmZlY3QiLCJtYWluUHJldmlld1NyYyIsIm9yaWdpbmFsSW1hZ2UiLCJ1c2VNZW1vIiwiZmlsZXNpemUiLCJoZWlnaHQiLCJtaW1lVHlwZSIsIndpZHRoIiwib3JpZ2luYWxGaWxlbmFtZSIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJ2YWwiLCJzZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE0SkE7OztlQUFBOzs7K0RBckpvRDtpRUFFL0I7UUFDZDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQSxZQUFZO0FBU2xCLE1BQU1DLFlBQVksQ0FBQ0MsT0FBMEJDO0lBQzNDLElBQUksQ0FBQ0EsY0FBY0EsV0FBV0MsTUFBTSxLQUFLLEdBQUcsT0FBT0Y7SUFFbkQsTUFBTUcsZUFBa0MsQ0FBQztJQUV6Q0YsV0FBV0csT0FBTyxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFO1FBQzFCLElBQUlMLEtBQUssQ0FBQ0ssS0FBSyxFQUFFO1lBQ2ZGLFlBQVksQ0FBQ0UsS0FBSyxHQUFHTCxLQUFLLENBQUNLLEtBQUs7UUFDbEM7SUFDRjtJQUVBLE9BQU9GO0FBQ1Q7QUFTQSxNQUFNRyxrQkFBa0QsQ0FBQyxFQUN2REQsSUFB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
@@ -0,0 +1,153 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Publish", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return Publish;
10
+ }
11
+ });
12
+ const _qs = /*#__PURE__*/ _interop_require_default(require("qs"));
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
+ const _RenderCustomComponent = require("../../elements/RenderCustomComponent");
15
+ const _context = require("../../forms/Form/context");
16
+ const _Submit = /*#__PURE__*/ _interop_require_default(require("../../forms/Submit"));
17
+ const _Config = require("../../providers/Config");
18
+ const _DocumentInfo = require("../../providers/DocumentInfo");
19
+ const _Locale = require("../../providers/Locale");
20
+ const _Translation = require("../../providers/Translation");
21
+ function _interop_require_default(obj) {
22
+ return obj && obj.__esModule ? obj : {
23
+ default: obj
24
+ };
25
+ }
26
+ function _getRequireWildcardCache(nodeInterop) {
27
+ if (typeof WeakMap !== "function") return null;
28
+ var cacheBabelInterop = new WeakMap();
29
+ var cacheNodeInterop = new WeakMap();
30
+ return (_getRequireWildcardCache = function(nodeInterop) {
31
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
32
+ })(nodeInterop);
33
+ }
34
+ function _interop_require_wildcard(obj, nodeInterop) {
35
+ if (!nodeInterop && obj && obj.__esModule) {
36
+ return obj;
37
+ }
38
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
39
+ return {
40
+ default: obj
41
+ };
42
+ }
43
+ var cache = _getRequireWildcardCache(nodeInterop);
44
+ if (cache && cache.has(obj)) {
45
+ return cache.get(obj);
46
+ }
47
+ var newObj = {
48
+ __proto__: null
49
+ };
50
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
51
+ for(var key in obj){
52
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
53
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
54
+ if (desc && (desc.get || desc.set)) {
55
+ Object.defineProperty(newObj, key, desc);
56
+ } else {
57
+ newObj[key] = obj[key];
58
+ }
59
+ }
60
+ }
61
+ newObj.default = obj;
62
+ if (cache) {
63
+ cache.set(obj, newObj);
64
+ }
65
+ return newObj;
66
+ }
67
+ const DefaultPublishButton = ({ id, canPublish, disabled, label, publish })=>{
68
+ if (!canPublish) return null;
69
+ return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
70
+ buttonId: id,
71
+ disabled: disabled,
72
+ onClick: publish,
73
+ size: "small",
74
+ type: "button"
75
+ }, label);
76
+ };
77
+ const Publish = ({ CustomComponent })=>{
78
+ const { code } = (0, _Locale.useLocale)();
79
+ const { id, collectionSlug, globalSlug, publishedDoc, unpublishedVersions } = (0, _DocumentInfo.useDocumentInfo)();
80
+ const [hasPublishPermission, setHasPublishPermission] = _react.default.useState(false);
81
+ const { getData, submit } = (0, _context.useForm)();
82
+ const modified = (0, _context.useFormModified)();
83
+ const { routes: { api }, serverURL } = (0, _Config.useConfig)();
84
+ const { t } = (0, _Translation.useTranslation)();
85
+ const hasNewerVersions = unpublishedVersions?.totalDocs > 0;
86
+ const canPublish = modified || hasNewerVersions || !publishedDoc;
87
+ const publish = (0, _react.useCallback)(()=>{
88
+ void submit({
89
+ overrides: {
90
+ _status: 'published'
91
+ }
92
+ });
93
+ }, [
94
+ submit
95
+ ]);
96
+ _react.default.useEffect(()=>{
97
+ const fetchPublishAccess = async ()=>{
98
+ let docAccessURL;
99
+ let operation = 'update';
100
+ const params = {
101
+ locale: code || undefined
102
+ };
103
+ if (globalSlug) {
104
+ docAccessURL = `/globals/${globalSlug}/access`;
105
+ } else if (collectionSlug) {
106
+ if (!id) operation = 'create';
107
+ docAccessURL = `/${collectionSlug}/access${id ? `/${id}` : ''}`;
108
+ }
109
+ if (docAccessURL) {
110
+ const data = getData();
111
+ const res = await fetch(`${serverURL}${api}${docAccessURL}?${_qs.default.stringify(params)}`, {
112
+ body: JSON.stringify({
113
+ ...data,
114
+ _status: 'published'
115
+ }),
116
+ credentials: 'include',
117
+ headers: {
118
+ 'Content-Type': 'application/json'
119
+ },
120
+ method: 'post'
121
+ });
122
+ const json = await res.json();
123
+ const result = Boolean(json?.[operation]?.permission);
124
+ setHasPublishPermission(result);
125
+ } else {
126
+ setHasPublishPermission(true);
127
+ }
128
+ };
129
+ void fetchPublishAccess();
130
+ }, [
131
+ api,
132
+ code,
133
+ collectionSlug,
134
+ getData,
135
+ globalSlug,
136
+ id,
137
+ serverURL
138
+ ]);
139
+ return /*#__PURE__*/ _react.default.createElement(_RenderCustomComponent.RenderCustomComponent, {
140
+ CustomComponent: CustomComponent,
141
+ DefaultComponent: DefaultPublishButton,
142
+ componentProps: {
143
+ id: 'action-save',
144
+ DefaultButton: DefaultPublishButton,
145
+ canPublish: hasPublishPermission,
146
+ disabled: !canPublish,
147
+ label: t('version:publishChanges'),
148
+ publish
149
+ }
150
+ });
151
+ };
152
+
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9QdWJsaXNoL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgQ3VzdG9tUHVibGlzaEJ1dHRvblByb3BzLCBEZWZhdWx0UHVibGlzaEJ1dHRvblByb3BzIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IFJlbmRlckN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL1JlbmRlckN1c3RvbUNvbXBvbmVudCdcbmltcG9ydCB7IHVzZUZvcm0sIHVzZUZvcm1Nb2RpZmllZCB9IGZyb20gJy4uLy4uL2Zvcm1zL0Zvcm0vY29udGV4dCdcbmltcG9ydCBGb3JtU3VibWl0IGZyb20gJy4uLy4uL2Zvcm1zL1N1Ym1pdCdcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9Db25maWcnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0xvY2FsZSdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RyYW5zbGF0aW9uJ1xuXG5jb25zdCBEZWZhdWx0UHVibGlzaEJ1dHRvbjogUmVhY3QuRkM8RGVmYXVsdFB1Ymxpc2hCdXR0b25Qcm9wcz4gPSAoe1xuICBpZCxcbiAgY2FuUHVibGlzaCxcbiAgZGlzYWJsZWQsXG4gIGxhYmVsLFxuICBwdWJsaXNoLFxufSkgPT4ge1xuICBpZiAoIWNhblB1Ymxpc2gpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBidXR0b25JZD17aWR9IGRpc2FibGVkPXtkaXNhYmxlZH0gb25DbGljaz17cHVibGlzaH0gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAge2xhYmVsfVxuICAgIDwvRm9ybVN1Ym1pdD5cbiAgKVxufVxuXG50eXBlIFByb3BzID0ge1xuICBDdXN0b21Db21wb25lbnQ/OiBDdXN0b21QdWJsaXNoQnV0dG9uUHJvcHNcbn1cblxuZXhwb3J0IGNvbnN0IFB1Ymxpc2g6IFJlYWN0LkZDPFByb3BzPiA9ICh7IEN1c3RvbUNvbXBvbmVudCB9KSA9PiB7XG4gIGNvbnN0IHsgY29kZSB9ID0gdXNlTG9jYWxlKClcbiAgY29uc3QgeyBpZCwgY29sbGVjdGlvblNsdWcsIGdsb2JhbFNsdWcsIHB1Ymxpc2hlZERvYywgdW5wdWJsaXNoZWRWZXJzaW9ucyB9ID0gdXNlRG9jdW1lbnRJbmZvKClcbiAgY29uc3QgW2hhc1B1Ymxpc2hQZXJtaXNzaW9uLCBzZXRIYXNQdWJsaXNoUGVybWlzc2lvbl0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBnZXREYXRhLCBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCBtb2RpZmllZCA9IHVzZUZvcm1Nb2RpZmllZCgpXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgY29uc3QgaGFzTmV3ZXJWZXJzaW9ucyA9IHVucHVibGlzaGVkVmVyc2lvbnM/LnRvdGFsRG9jcyA+IDBcbiAgY29uc3QgY2FuUHVibGlzaCA9IG1vZGlmaWVkIHx8IGhhc05ld2VyVmVyc2lvbnMgfHwgIXB1Ymxpc2hlZERvY1xuXG4gIGNvbnN0IHB1Ymxpc2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdm9pZCBzdWJtaXQoe1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgfSxcbiAgICB9KVxuICB9LCBbc3VibWl0XSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZldGNoUHVibGlzaEFjY2VzcyA9IGFzeW5jICgpID0+IHtcbiAgICAgIGxldCBkb2NBY2Nlc3NVUkw6IHN0cmluZ1xuICAgICAgbGV0IG9wZXJhdGlvbiA9ICd1cGRhdGUnXG5cbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgbG9jYWxlOiBjb2RlIHx8IHVuZGVmaW5lZCxcbiAgICAgIH1cbiAgICAgIGlmIChnbG9iYWxTbHVnKSB7XG4gICAgICAgIGRvY0FjY2Vzc1VSTCA9IGAvZ2xvYmFscy8ke2dsb2JhbFNsdWd9L2FjY2Vzc2BcbiAgICAgIH0gZWxzZSBpZiAoY29sbGVjdGlvblNsdWcpIHtcbiAgICAgICAgaWYgKCFpZCkgb3BlcmF0aW9uID0gJ2NyZWF0ZSdcbiAgICAgICAgZG9jQWNjZXNzVVJMID0gYC8ke2NvbGxlY3Rpb25TbHVnfS9hY2Nlc3Mke2lkID8gYC8ke2lkfWAgOiAnJ31gXG4gICAgICB9XG5cbiAgICAgIGlmIChkb2NBY2Nlc3NVUkwpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGdldERhdGEoKVxuXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0ke2RvY0FjY2Vzc1VSTH0/JHtxcy5zdHJpbmdpZnkocGFyYW1zKX1gLCB7XG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVzLmpzb24oKVxuICAgICAgICBjb25zdCByZXN1bHQgPSBCb29sZWFuKGpzb24/LltvcGVyYXRpb25dPy5wZXJtaXNzaW9uKVxuICAgICAgICBzZXRIYXNQdWJsaXNoUGVybWlzc2lvbihyZXN1bHQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRIYXNQdWJsaXNoUGVybWlzc2lvbih0cnVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHZvaWQgZmV0Y2hQdWJsaXNoQWNjZXNzKClcbiAgfSwgW2FwaSwgY29kZSwgY29sbGVjdGlvblNsdWcsIGdldERhdGEsIGdsb2JhbFNsdWcsIGlkLCBzZXJ2ZXJVUkxdKVxuXG4gIHJldHVybiAoXG4gICAgPFJlbmRlckN1c3RvbUNvbXBvbmVudFxuICAgICAgQ3VzdG9tQ29tcG9uZW50PXtDdXN0b21Db21wb25lbnR9XG4gICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0UHVibGlzaEJ1dHRvbn1cbiAgICAgIGNvbXBvbmVudFByb3BzPXt7XG4gICAgICAgIGlkOiAnYWN0aW9uLXNhdmUnLFxuICAgICAgICBEZWZhdWx0QnV0dG9uOiBEZWZhdWx0UHVibGlzaEJ1dHRvbixcbiAgICAgICAgY2FuUHVibGlzaDogaGFzUHVibGlzaFBlcm1pc3Npb24sXG4gICAgICAgIGRpc2FibGVkOiAhY2FuUHVibGlzaCxcbiAgICAgICAgbGFiZWw6IHQoJ3ZlcnNpb246cHVibGlzaENoYW5nZXMnKSxcbiAgICAgICAgcHVibGlzaCxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlB1Ymxpc2giLCJEZWZhdWx0UHVibGlzaEJ1dHRvbiIsImlkIiwiY2FuUHVibGlzaCIsImRpc2FibGVkIiwibGFiZWwiLCJwdWJsaXNoIiwiRm9ybVN1Ym1pdCIsImJ1dHRvbklkIiwib25DbGljayIsInNpemUiLCJ0eXBlIiwiQ3VzdG9tQ29tcG9uZW50IiwiY29kZSIsInVzZUxvY2FsZSIsImNvbGxlY3Rpb25TbHVnIiwiZ2xvYmFsU2x1ZyIsInB1Ymxpc2hlZERvYyIsInVucHVibGlzaGVkVmVyc2lvbnMiLCJ1c2VEb2N1bWVudEluZm8iLCJoYXNQdWJsaXNoUGVybWlzc2lvbiIsInNldEhhc1B1Ymxpc2hQZXJtaXNzaW9uIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImdldERhdGEiLCJzdWJtaXQiLCJ1c2VGb3JtIiwibW9kaWZpZWQiLCJ1c2VGb3JtTW9kaWZpZWQiLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJ1c2VDb25maWciLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJoYXNOZXdlclZlcnNpb25zIiwidG90YWxEb2NzIiwidXNlQ2FsbGJhY2siLCJvdmVycmlkZXMiLCJfc3RhdHVzIiwidXNlRWZmZWN0IiwiZmV0Y2hQdWJsaXNoQWNjZXNzIiwiZG9jQWNjZXNzVVJMIiwib3BlcmF0aW9uIiwicGFyYW1zIiwibG9jYWxlIiwidW5kZWZpbmVkIiwiZGF0YSIsInJlcyIsImZldGNoIiwicXMiLCJzdHJpbmdpZnkiLCJib2R5IiwiSlNPTiIsImNyZWRlbnRpYWxzIiwiaGVhZGVycyIsIm1ldGhvZCIsImpzb24iLCJyZXN1bHQiLCJCb29sZWFuIiwicGVybWlzc2lvbiIsIlJlbmRlckN1c3RvbUNvbXBvbmVudCIsIkRlZmF1bHRDb21wb25lbnQiLCJjb21wb25lbnRQcm9wcyIsIkRlZmF1bHRCdXR0b24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFrQ2FBOzs7ZUFBQUE7OzsyREEvQkU7K0RBQ29CO3VDQUVHO3lCQUNHOytEQUNsQjt3QkFDRzs4QkFDTTt3QkFDTjs2QkFDSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFBTUMsdUJBQTRELENBQUMsRUFDakVDLEVBQUUsRUFDRkMsVUFBVSxFQUNWQyxRQUFRLEVBQ1JDLEtBQUssRUFDTEMsT0FBTyxFQUNSO0lBQ0MsSUFBSSxDQUFDSCxZQUFZLE9BQU87SUFFeEIscUJBQ0UsNkJBQUNJLGVBQVU7UUFBQ0MsVUFBVU47UUFBSUUs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