@payloadcms/ui 4.0.0-canary.3 → 4.0.0-canary.5

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 (458) hide show
  1. package/dist/css/colors.css +3 -0
  2. package/dist/css/utilities.css +3 -2
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +7 -0
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +2 -2
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  9. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  10. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  15. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  17. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  19. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  20. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  24. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  26. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  28. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  30. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  39. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  41. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/index.css +48 -0
  45. package/dist/elements/BulkUpload/index.d.ts +6 -5
  46. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/index.js +42 -41
  48. package/dist/elements/BulkUpload/index.js.map +1 -1
  49. package/dist/elements/Button/index.d.ts.map +1 -1
  50. package/dist/elements/Button/index.js +5 -0
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Card/index.css +1 -1
  53. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  54. package/dist/elements/ClipboardAction/index.js +1 -0
  55. package/dist/elements/ClipboardAction/index.js.map +1 -1
  56. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  57. package/dist/elements/Collapsible/index.js +2 -0
  58. package/dist/elements/Collapsible/index.js.map +1 -1
  59. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  60. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  61. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +23 -12
  62. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  63. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  64. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  65. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  66. package/dist/elements/ColumnSelection/index.js.map +1 -0
  67. package/dist/elements/CopyLocaleData/index.js +1 -1
  68. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  69. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  70. package/dist/elements/CreateDocumentButton/index.js +0 -1
  71. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  72. package/dist/elements/DatePicker/index.css +8 -8
  73. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  74. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  75. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  76. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  77. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  78. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  79. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  80. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  81. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  82. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  83. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  84. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  85. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  86. package/dist/elements/Dialog/index.css +7 -1
  87. package/dist/elements/DocumentControls/index.css +1 -1
  88. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  89. package/dist/elements/DocumentControls/index.js +13 -3
  90. package/dist/elements/DocumentControls/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  93. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  94. package/dist/elements/DocumentFields/index.css +5 -2
  95. package/dist/elements/DocumentFields/index.d.ts +5 -0
  96. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  97. package/dist/elements/DocumentFields/index.js +9 -1
  98. package/dist/elements/DocumentFields/index.js.map +1 -1
  99. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  100. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  101. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  102. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  103. package/dist/elements/DocumentHeader/index.js +2 -3
  104. package/dist/elements/DocumentHeader/index.js.map +1 -1
  105. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  106. package/dist/elements/DrawerActionHeader/index.css +1 -1
  107. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  108. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  109. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  110. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  111. package/dist/elements/DrawerHeader/index.js.map +1 -0
  112. package/dist/elements/Dropzone/index.css +5 -13
  113. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  114. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  115. package/dist/elements/EditUpload/index.css +97 -158
  116. package/dist/elements/EditUpload/index.d.ts +2 -1
  117. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  118. package/dist/elements/EditUpload/index.js +205 -231
  119. package/dist/elements/EditUpload/index.js.map +1 -1
  120. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  121. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  122. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  123. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  124. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  125. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  126. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  127. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  128. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  129. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  130. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  131. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  132. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  133. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  134. package/dist/elements/FileDetails/index.d.ts +1 -1
  135. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  136. package/dist/elements/FileDetails/index.js.map +1 -1
  137. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  138. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  139. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  140. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  141. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  142. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  143. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  144. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  145. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  146. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  147. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  148. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  149. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  150. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  151. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  152. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  153. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  154. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  155. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  156. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  157. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  158. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  159. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  160. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  161. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  162. package/dist/elements/FileManager/index.css +154 -0
  163. package/dist/elements/FileManager/index.d.ts +19 -0
  164. package/dist/elements/FileManager/index.d.ts.map +1 -0
  165. package/dist/elements/FileManager/index.js +424 -0
  166. package/dist/elements/FileManager/index.js.map +1 -0
  167. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  168. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  169. package/dist/elements/GroupBy/Popup.js +268 -0
  170. package/dist/elements/GroupBy/Popup.js.map +1 -0
  171. package/dist/elements/GroupBy/index.d.ts +12 -0
  172. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  173. package/dist/elements/GroupBy/index.js +91 -0
  174. package/dist/elements/GroupBy/index.js.map +1 -0
  175. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +2 -2
  176. package/dist/elements/Hierarchy/Drawer/index.css +1 -1
  177. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  178. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  179. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  180. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  181. package/dist/elements/ListControls/index.d.ts.map +1 -1
  182. package/dist/elements/ListControls/index.js +7 -8
  183. package/dist/elements/ListControls/index.js.map +1 -1
  184. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  185. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  186. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  187. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  188. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  189. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  190. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  191. package/dist/elements/ListGroupByButton/index.js +55 -0
  192. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  193. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  194. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  195. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  196. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  197. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  198. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  199. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  200. package/dist/elements/ListWhereBuilder/index.js +62 -0
  201. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  202. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  203. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  204. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  205. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  206. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +25 -43
  207. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  208. package/dist/elements/MiniCarousel/index.css +94 -0
  209. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  210. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  211. package/dist/elements/MiniCarousel/index.js +84 -0
  212. package/dist/elements/MiniCarousel/index.js.map +1 -0
  213. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  214. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  215. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  216. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  217. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  218. package/dist/elements/Nav/index.css +2 -2
  219. package/dist/elements/NavGroup/index.css +1 -1
  220. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  221. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  222. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  223. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  224. package/dist/elements/Popup/index.d.ts +7 -1
  225. package/dist/elements/Popup/index.d.ts.map +1 -1
  226. package/dist/elements/Popup/index.js +45 -12
  227. package/dist/elements/Popup/index.js.map +1 -1
  228. package/dist/elements/PreviewSizes/index.css +149 -0
  229. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  230. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  231. package/dist/elements/PreviewSizes/index.js +1 -1
  232. package/dist/elements/PreviewSizes/index.js.map +1 -1
  233. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  234. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  235. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  236. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  237. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  238. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  239. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  240. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  241. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  242. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  243. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  244. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  245. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  246. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  247. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  248. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  249. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  250. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  251. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  252. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  253. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  254. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  255. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  256. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  257. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  258. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  259. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  260. package/dist/elements/ReactSelect/types.d.ts +1 -0
  261. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  262. package/dist/elements/ReactSelect/types.js.map +1 -1
  263. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  264. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  265. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  266. package/dist/elements/RelationshipTable/index.js +2 -2
  267. package/dist/elements/RelationshipTable/index.js.map +1 -1
  268. package/dist/elements/Search/SearchInput/index.js +1 -1
  269. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  270. package/dist/elements/SortColumn/index.css +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  272. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +21 -2
  273. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  274. package/dist/elements/Table/index.css +24 -2
  275. package/dist/elements/Thumbnail/index.css +41 -0
  276. package/dist/elements/Thumbnail/index.d.ts +3 -3
  277. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  278. package/dist/elements/Thumbnail/index.js +1 -1
  279. package/dist/elements/Thumbnail/index.js.map +1 -1
  280. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  281. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  282. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  283. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  284. package/dist/elements/Upload/index.css +134 -45
  285. package/dist/elements/Upload/index.d.ts +3 -8
  286. package/dist/elements/Upload/index.d.ts.map +1 -1
  287. package/dist/elements/Upload/index.js +71 -92
  288. package/dist/elements/Upload/index.js.map +1 -1
  289. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  290. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  291. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  292. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  293. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  294. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  295. package/dist/elements/WhereBuilder/index.js +71 -62
  296. package/dist/elements/WhereBuilder/index.js.map +1 -1
  297. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  298. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  299. package/dist/elements/WhereBuilder/types.js.map +1 -1
  300. package/dist/exports/client/index.d.ts +6 -2
  301. package/dist/exports/client/index.d.ts.map +1 -1
  302. package/dist/exports/client/index.js +26 -26
  303. package/dist/exports/client/index.js.map +4 -4
  304. package/dist/exports/rsc/index.d.ts +1 -0
  305. package/dist/exports/rsc/index.d.ts.map +1 -1
  306. package/dist/exports/rsc/index.js +1 -0
  307. package/dist/exports/rsc/index.js.map +1 -1
  308. package/dist/exports/shared/index.js +2 -2
  309. package/dist/exports/shared/index.js.map +2 -2
  310. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  311. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  312. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  313. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  314. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  315. package/dist/fields/Checkbox/index.css +2 -2
  316. package/dist/fields/Group/index.css +3 -3
  317. package/dist/fields/Number/Input.d.ts.map +1 -1
  318. package/dist/fields/Number/Input.js +47 -35
  319. package/dist/fields/Number/Input.js.map +1 -1
  320. package/dist/fields/Number/index.css +19 -0
  321. package/dist/fields/Number/types.d.ts +6 -0
  322. package/dist/fields/Number/types.d.ts.map +1 -1
  323. package/dist/fields/Number/types.js.map +1 -1
  324. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  325. package/dist/fields/Relationship/Input.js +2 -0
  326. package/dist/fields/Relationship/Input.js.map +1 -1
  327. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  328. package/dist/fields/Select/Input.d.ts.map +1 -1
  329. package/dist/fields/Select/Input.js +1 -0
  330. package/dist/fields/Select/Input.js.map +1 -1
  331. package/dist/fields/Text/Input.d.ts.map +1 -1
  332. package/dist/fields/Text/Input.js +31 -28
  333. package/dist/fields/Text/Input.js.map +1 -1
  334. package/dist/fields/Text/types.d.ts +5 -0
  335. package/dist/fields/Text/types.d.ts.map +1 -1
  336. package/dist/fields/Text/types.js.map +1 -1
  337. package/dist/fields/Upload/Input.d.ts.map +1 -1
  338. package/dist/fields/Upload/Input.js +12 -11
  339. package/dist/fields/Upload/Input.js.map +1 -1
  340. package/dist/fields/Upload/index.js +1 -1
  341. package/dist/fields/Upload/index.js.map +1 -1
  342. package/dist/graphics/Icon/index.js +1 -1
  343. package/dist/graphics/Icon/index.js.map +1 -1
  344. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  345. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  346. package/dist/hooks/useElementHeightVariable.js +53 -0
  347. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  348. package/dist/icons/Crop/index.css +5 -0
  349. package/dist/icons/Crop/index.d.ts +7 -0
  350. package/dist/icons/Crop/index.d.ts.map +1 -0
  351. package/dist/icons/Crop/index.js +24 -0
  352. package/dist/icons/Crop/index.js.map +1 -0
  353. package/dist/icons/Download/index.css +5 -0
  354. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  355. package/dist/icons/Download/index.d.ts.map +1 -0
  356. package/dist/icons/Download/index.js +27 -0
  357. package/dist/icons/Download/index.js.map +1 -0
  358. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  359. package/dist/icons/NewTab/index.d.ts +7 -0
  360. package/dist/icons/NewTab/index.d.ts.map +1 -0
  361. package/dist/icons/NewTab/index.js +25 -0
  362. package/dist/icons/NewTab/index.js.map +1 -0
  363. package/dist/icons/Replace/index.css +5 -0
  364. package/dist/icons/Replace/index.d.ts +6 -0
  365. package/dist/icons/Replace/index.d.ts.map +1 -0
  366. package/dist/icons/Replace/index.js +20 -0
  367. package/dist/icons/Replace/index.js.map +1 -0
  368. package/dist/icons/Reset/index.css +5 -0
  369. package/dist/icons/Reset/index.d.ts +7 -0
  370. package/dist/icons/Reset/index.d.ts.map +1 -0
  371. package/dist/icons/Reset/index.js +25 -0
  372. package/dist/icons/Reset/index.js.map +1 -0
  373. package/dist/icons/Swap/index.js +1 -1
  374. package/dist/icons/Swap/index.js.map +1 -1
  375. package/dist/scss/app.scss +9 -2
  376. package/dist/styles.css +1 -1
  377. package/dist/templates/Default/index.js +1 -1
  378. package/dist/templates/Default/index.js.map +1 -1
  379. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  380. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  381. package/dist/views/API/index.client.js +2 -2
  382. package/dist/views/API/index.client.js.map +1 -1
  383. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  384. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  385. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  386. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  387. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  388. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  389. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  390. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  391. package/dist/views/Document/index.d.ts.map +1 -1
  392. package/dist/views/Document/index.js +1 -0
  393. package/dist/views/Document/index.js.map +1 -1
  394. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  395. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  396. package/dist/views/Document/renderDocumentSlots.js +47 -1
  397. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  398. package/dist/views/Edit/index.css +143 -6
  399. package/dist/views/Edit/index.d.ts +1 -1
  400. package/dist/views/Edit/index.d.ts.map +1 -1
  401. package/dist/views/Edit/index.js +34 -31
  402. package/dist/views/Edit/index.js.map +1 -1
  403. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  404. package/dist/views/List/ListHeader/index.css +5 -0
  405. package/dist/views/List/index.client.d.ts.map +1 -1
  406. package/dist/views/List/index.client.js +6 -6
  407. package/dist/views/List/index.client.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  409. package/dist/views/Version/SelectComparison/index.js +1 -0
  410. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  411. package/dist/views/Versions/index.css +0 -4
  412. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  413. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  414. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  415. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  416. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  417. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  418. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  419. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  420. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  421. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  422. package/dist/widgets/CollectionQuery/index.css +206 -0
  423. package/dist/widgets/CollectionQuery/index.d.ts +17 -0
  424. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  425. package/dist/widgets/CollectionQuery/index.js +399 -0
  426. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  427. package/package.json +5 -5
  428. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  429. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  430. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  431. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  432. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  433. package/dist/elements/ColumnSelector/index.js.map +0 -1
  434. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  435. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  436. package/dist/elements/ColumnsButton/index.js.map +0 -1
  437. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  438. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  439. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  440. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  441. package/dist/elements/GroupByBuilder/index.js +0 -164
  442. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  443. package/dist/elements/GroupByBuilder/index.scss +0 -39
  444. package/dist/elements/GroupByControl/index.d.ts +0 -9
  445. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  446. package/dist/elements/GroupByControl/index.js +0 -254
  447. package/dist/elements/GroupByControl/index.js.map +0 -1
  448. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  449. package/dist/elements/PreviewSizes/index.scss +0 -147
  450. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  451. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  452. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  453. package/dist/elements/Thumbnail/index.scss +0 -53
  454. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  455. package/dist/icons/ExternalLink/index.js +0 -26
  456. package/dist/icons/ExternalLink/index.js.map +0 -1
  457. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  458. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -5,32 +5,16 @@ import { useModal } from '@faceless-ui/modal';
5
5
  import React, { useRef, useState } from 'react';
6
6
  import ReactCrop from 'react-image-crop';
7
7
  import { editDrawerSlug } from '../../elements/Upload/index.js';
8
+ import { NumberInput } from '../../fields/Number/index.js';
8
9
  import { PlusIcon } from '../../icons/Plus/index.js';
10
+ import { ResetIcon } from '../../icons/Reset/index.js';
9
11
  import { useTranslation } from '../../providers/Translation/index.js';
10
12
  import { appendCacheTag } from '../../utilities/appendCacheTag.js';
11
13
  import { Button } from '../Button/index.js';
14
+ import { DialogFooter, DialogHeader, DialogModal } from '../Dialog/index.js';
12
15
  import './index.css';
16
+ import './library.css';
13
17
  const baseClass = 'edit-upload';
14
- const Input = props => {
15
- const {
16
- name,
17
- disabled,
18
- onChange,
19
- ref,
20
- value
21
- } = props;
22
- return /*#__PURE__*/_jsxs("div", {
23
- className: `${baseClass}__input`,
24
- children: [name, /*#__PURE__*/_jsx("input", {
25
- disabled: disabled,
26
- name: name,
27
- onChange: e => onChange(e.target.value),
28
- ref: ref,
29
- type: "number",
30
- value: value
31
- })]
32
- });
33
- };
34
18
  const defaultCrop = {
35
19
  height: 100,
36
20
  unit: '%',
@@ -72,11 +56,8 @@ export const EditUpload = ({
72
56
  const focalWrapRef = useRef(undefined);
73
57
  const imageRef = useRef(undefined);
74
58
  const cropRef = useRef(undefined);
75
- const heightInputRef = useRef(null);
76
- const widthInputRef = useRef(null);
77
59
  const [imageLoaded, setImageLoaded] = useState(false);
78
60
  const onImageLoad = e => {
79
- // set the default image height/width on load
80
61
  setUncroppedPixelHeight(e.currentTarget.naturalHeight);
81
62
  setUncroppedPixelWidth(e.currentTarget.naturalWidth);
82
63
  setImageLoaded(true);
@@ -86,6 +67,9 @@ export const EditUpload = ({
86
67
  value
87
68
  }) => {
88
69
  const intValue = parseInt(value);
70
+ if (Number.isNaN(intValue)) {
71
+ return null;
72
+ }
89
73
  const percentage = 100 * (intValue / (dimension === 'width' ? uncroppedPixelWidth : uncroppedPixelHeight));
90
74
  if (percentage <= 0 || percentage > 100) {
91
75
  return null;
@@ -112,8 +96,8 @@ export const EditUpload = ({
112
96
  onSave({
113
97
  crop: crop ? crop : undefined,
114
98
  focalPoint: focalPosition,
115
- heightInPixels: Number(heightInputRef?.current?.value ?? uncroppedPixelHeight),
116
- widthInPixels: Number(widthInputRef?.current?.value ?? uncroppedPixelWidth)
99
+ heightInPixels: Math.round(crop.height / 100 * uncroppedPixelHeight),
100
+ widthInPixels: Math.round(crop.width / 100 * uncroppedPixelWidth)
117
101
  });
118
102
  }
119
103
  closeModal(editDrawerSlug);
@@ -129,94 +113,76 @@ export const EditUpload = ({
129
113
  setCheckBounds(false);
130
114
  }, []);
131
115
  const centerFocalPoint = () => {
132
- const containerRect = focalWrapRef.current.getBoundingClientRect();
133
- const boundsRect = showCrop ? cropRef.current.getBoundingClientRect() : imageRef.current.getBoundingClientRect();
134
- const xCenter = (boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width * 100;
135
- const yCenter = (boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height * 100;
136
116
  setFocalPosition({
137
- x: xCenter,
138
- y: yCenter
117
+ x: 50,
118
+ y: 50
139
119
  });
140
120
  };
141
- const fileSrcToUse = fileSrc ? appendCacheTag(fileSrc, imageCacheTag) : fileSrc;
142
- return /*#__PURE__*/_jsxs("div", {
143
- className: baseClass,
144
- children: [/*#__PURE__*/_jsxs("div", {
145
- className: `${baseClass}__header`,
146
- children: [/*#__PURE__*/_jsxs("h2", {
147
- title: `${t('general:editing')} ${fileName}`,
148
- children: [t('general:editing'), " ", fileName]
149
- }), /*#__PURE__*/_jsxs("div", {
150
- className: `${baseClass}__actions`,
151
- children: [/*#__PURE__*/_jsx(Button, {
152
- "aria-label": t('general:cancel'),
153
- buttonStyle: "secondary",
154
- className: `${baseClass}__cancel`,
155
- onClick: () => closeModal(editDrawerSlug),
156
- children: t('general:cancel')
157
- }), /*#__PURE__*/_jsx(Button, {
158
- "aria-label": t('general:applyChanges'),
159
- buttonStyle: "primary",
160
- className: `${baseClass}__save`,
161
- disabled: !imageLoaded,
162
- onClick: saveEdits,
163
- children: t('general:applyChanges')
164
- })]
165
- })]
166
- }), /*#__PURE__*/_jsxs("div", {
167
- className: `${baseClass}__toolWrap`,
168
- children: [/*#__PURE__*/_jsx("div", {
169
- className: `${baseClass}__crop`,
170
- children: /*#__PURE__*/_jsxs("div", {
171
- className: `${baseClass}__focal-wrapper`,
172
- ref: focalWrapRef,
173
- style: {
174
- aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`
175
- },
176
- children: [showCrop ? /*#__PURE__*/_jsx(ReactCrop, {
177
- className: `${baseClass}__reactCrop`,
178
- crop: crop,
179
- onChange: (_, c) => setCrop(c),
180
- onComplete: () => setCheckBounds(true),
181
- renderSelectionAddon: () => {
182
- return /*#__PURE__*/_jsx("div", {
121
+ const fileSrcToUse = fileSrc ? appendCacheTag(fileSrc, imageCacheTag) : undefined;
122
+ const cropWidthPx = (crop.width / 100 * uncroppedPixelWidth).toFixed(0);
123
+ const cropHeightPx = (crop.height / 100 * uncroppedPixelHeight).toFixed(0);
124
+ return /*#__PURE__*/_jsxs(DialogModal, {
125
+ className: `${baseClass}__dialog`,
126
+ closeOnBlur: false,
127
+ size: "large",
128
+ slug: editDrawerSlug,
129
+ children: [/*#__PURE__*/_jsx(DialogHeader, {
130
+ showClose: true,
131
+ title: `${t('general:editing')} ${fileName}`
132
+ }), /*#__PURE__*/_jsx("div", {
133
+ className: `${baseClass}__body`,
134
+ children: /*#__PURE__*/_jsxs("div", {
135
+ className: `${baseClass}__content`,
136
+ children: [/*#__PURE__*/_jsx("div", {
137
+ className: `${baseClass}__crop`,
138
+ children: /*#__PURE__*/_jsxs("div", {
139
+ className: `${baseClass}__focal-wrapper`,
140
+ ref: focalWrapRef,
141
+ style: {
142
+ aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`
143
+ },
144
+ children: [showCrop ? /*#__PURE__*/_jsx(ReactCrop, {
145
+ className: `${baseClass}__reactCrop`,
146
+ crop: crop,
147
+ onChange: (_, c) => setCrop(c),
148
+ onComplete: () => setCheckBounds(true),
149
+ renderSelectionAddon: () => /*#__PURE__*/_jsx("div", {
183
150
  className: `${baseClass}__crop-window`,
184
151
  ref: cropRef
185
- });
186
- },
187
- children: /*#__PURE__*/_jsx("img", {
188
- alt: t('upload:setCropArea'),
152
+ }),
153
+ children: /*#__PURE__*/_jsx("img", {
154
+ alt: t('upload:setCropArea'),
155
+ onLoad: onImageLoad,
156
+ ref: imageRef,
157
+ src: fileSrcToUse
158
+ })
159
+ }) : /*#__PURE__*/_jsx("img", {
160
+ alt: t('upload:setFocalPoint'),
189
161
  onLoad: onImageLoad,
190
162
  ref: imageRef,
191
163
  src: fileSrcToUse
192
- })
193
- }) : /*#__PURE__*/_jsx("img", {
194
- alt: t('upload:setFocalPoint'),
195
- onLoad: onImageLoad,
196
- ref: imageRef,
197
- src: fileSrcToUse
198
- }), showFocalPoint && /*#__PURE__*/_jsx(DraggableElement, {
199
- boundsRef: showCrop ? cropRef : imageRef,
200
- checkBounds: showCrop ? checkBounds : false,
201
- className: `${baseClass}__focalPoint`,
202
- containerRef: focalWrapRef,
203
- initialPosition: focalPosition,
204
- onDragEnd: onDragEnd,
205
- setCheckBounds: showCrop ? setCheckBounds : false,
206
- children: /*#__PURE__*/_jsx(PlusIcon, {})
207
- })]
208
- })
209
- }), (showCrop || showFocalPoint) && /*#__PURE__*/_jsxs("div", {
210
- className: `${baseClass}__sidebar`,
211
- children: [showCrop && /*#__PURE__*/_jsxs("div", {
212
- className: `${baseClass}__groupWrap`,
213
- children: [/*#__PURE__*/_jsx("div", {
214
- children: /*#__PURE__*/_jsxs("div", {
215
- className: `${baseClass}__titleWrap`,
216
- children: [/*#__PURE__*/_jsx("h3", {
164
+ }), showFocalPoint && /*#__PURE__*/_jsx(DraggableElement, {
165
+ boundsRef: showCrop ? cropRef : imageRef,
166
+ checkBounds: showCrop ? checkBounds : false,
167
+ className: `${baseClass}__focalPoint`,
168
+ containerRef: focalWrapRef,
169
+ initialPosition: focalPosition,
170
+ onDragEnd: onDragEnd,
171
+ setCheckBounds: showCrop ? setCheckBounds : false,
172
+ children: /*#__PURE__*/_jsx(PlusIcon, {})
173
+ })]
174
+ })
175
+ }), (showCrop || showFocalPoint) && /*#__PURE__*/_jsxs("div", {
176
+ className: `${baseClass}__sidebar`,
177
+ children: [showCrop && /*#__PURE__*/_jsxs("div", {
178
+ className: `${baseClass}__section`,
179
+ children: [/*#__PURE__*/_jsxs("div", {
180
+ className: `${baseClass}__section-header`,
181
+ children: [/*#__PURE__*/_jsx("span", {
182
+ className: `${baseClass}__section-title`,
217
183
  children: t('upload:crop')
218
- }), /*#__PURE__*/_jsx(Button, {
219
- buttonStyle: "ghost",
184
+ }), /*#__PURE__*/_jsx("button", {
185
+ "aria-label": t('general:reset'),
220
186
  className: `${baseClass}__reset`,
221
187
  onClick: () => setCrop({
222
188
  height: 100,
@@ -225,70 +191,90 @@ export const EditUpload = ({
225
191
  x: 0,
226
192
  y: 0
227
193
  }),
228
- children: t('general:reset')
194
+ type: "button",
195
+ children: /*#__PURE__*/_jsx(ResetIcon, {})
196
+ })]
197
+ }), /*#__PURE__*/_jsxs("div", {
198
+ className: `${baseClass}__fieldset`,
199
+ children: [/*#__PURE__*/_jsx(NumberInput, {
200
+ ariaLabel: t('upload:width'),
201
+ onChange: e_0 => fineTuneCrop({
202
+ dimension: 'width',
203
+ value: e_0.target.value
204
+ }),
205
+ path: "cropWidth",
206
+ prefix: "W",
207
+ readOnly: !imageLoaded,
208
+ value: Number(cropWidthPx)
209
+ }), /*#__PURE__*/_jsx(NumberInput, {
210
+ ariaLabel: t('upload:height'),
211
+ onChange: e_1 => fineTuneCrop({
212
+ dimension: 'height',
213
+ value: e_1.target.value
214
+ }),
215
+ path: "cropHeight",
216
+ prefix: "H",
217
+ readOnly: !imageLoaded,
218
+ value: Number(cropHeightPx)
229
219
  })]
230
- })
231
- }), /*#__PURE__*/_jsx("span", {
232
- className: `${baseClass}__description`,
233
- children: t('upload:cropToolDescription')
234
- }), /*#__PURE__*/_jsxs("div", {
235
- className: `${baseClass}__inputsWrap`,
236
- children: [/*#__PURE__*/_jsx(Input, {
237
- disabled: !imageLoaded,
238
- name: `${t('upload:width')} (px)`,
239
- onChange: value_1 => fineTuneCrop({
240
- dimension: 'width',
241
- value: value_1
242
- }),
243
- ref: widthInputRef,
244
- value: (crop.width / 100 * uncroppedPixelWidth).toFixed(0)
245
- }), /*#__PURE__*/_jsx(Input, {
246
- disabled: !imageLoaded,
247
- name: `${t('upload:height')} (px)`,
248
- onChange: value_2 => fineTuneCrop({
249
- dimension: 'height',
250
- value: value_2
251
- }),
252
- ref: heightInputRef,
253
- value: (crop.height / 100 * uncroppedPixelHeight).toFixed(0)
254
220
  })]
255
- })]
256
- }), showFocalPoint && /*#__PURE__*/_jsxs("div", {
257
- className: `${baseClass}__groupWrap`,
258
- children: [/*#__PURE__*/_jsx("div", {
259
- children: /*#__PURE__*/_jsxs("div", {
260
- className: `${baseClass}__titleWrap`,
261
- children: [/*#__PURE__*/_jsx("h3", {
221
+ }), showFocalPoint && /*#__PURE__*/_jsxs("div", {
222
+ className: `${baseClass}__section`,
223
+ children: [/*#__PURE__*/_jsxs("div", {
224
+ className: `${baseClass}__section-header`,
225
+ children: [/*#__PURE__*/_jsx("span", {
226
+ className: `${baseClass}__section-title`,
262
227
  children: t('upload:focalPoint')
263
- }), /*#__PURE__*/_jsx(Button, {
264
- buttonStyle: "ghost",
228
+ }), /*#__PURE__*/_jsx("button", {
229
+ "aria-label": t('general:reset'),
265
230
  className: `${baseClass}__reset`,
266
231
  onClick: centerFocalPoint,
267
- children: t('general:reset')
232
+ type: "button",
233
+ children: /*#__PURE__*/_jsx(ResetIcon, {})
234
+ })]
235
+ }), /*#__PURE__*/_jsxs("div", {
236
+ className: `${baseClass}__fieldset`,
237
+ children: [/*#__PURE__*/_jsx(NumberInput, {
238
+ ariaLabel: `${t('upload:focalPoint')} X`,
239
+ max: 100,
240
+ min: 0,
241
+ onChange: e_2 => fineTuneFocalPosition({
242
+ coordinate: 'x',
243
+ value: e_2.target.value
244
+ }),
245
+ path: "focalX",
246
+ prefix: "X",
247
+ suffix: "%",
248
+ value: Math.round(focalPosition.x)
249
+ }), /*#__PURE__*/_jsx(NumberInput, {
250
+ ariaLabel: `${t('upload:focalPoint')} Y`,
251
+ max: 100,
252
+ min: 0,
253
+ onChange: e_3 => fineTuneFocalPosition({
254
+ coordinate: 'y',
255
+ value: e_3.target.value
256
+ }),
257
+ path: "focalY",
258
+ prefix: "Y",
259
+ suffix: "%",
260
+ value: Math.round(focalPosition.y)
268
261
  })]
269
- })
270
- }), /*#__PURE__*/_jsx("span", {
271
- className: `${baseClass}__description`,
272
- children: t('upload:focalPointDescription')
273
- }), /*#__PURE__*/_jsxs("div", {
274
- className: `${baseClass}__inputsWrap`,
275
- children: [/*#__PURE__*/_jsx(Input, {
276
- name: "X %",
277
- onChange: value_3 => fineTuneFocalPosition({
278
- coordinate: 'x',
279
- value: value_3
280
- }),
281
- value: focalPosition.x.toFixed(0)
282
- }), /*#__PURE__*/_jsx(Input, {
283
- name: "Y %",
284
- onChange: value_4 => fineTuneFocalPosition({
285
- coordinate: 'y',
286
- value: value_4
287
- }),
288
- value: focalPosition.y.toFixed(0)
289
262
  })]
290
263
  })]
291
264
  })]
265
+ })
266
+ }), /*#__PURE__*/_jsxs(DialogFooter, {
267
+ children: [/*#__PURE__*/_jsx(Button, {
268
+ "aria-label": t('general:cancel'),
269
+ buttonStyle: "secondary",
270
+ onClick: () => closeModal(editDrawerSlug),
271
+ children: t('general:cancel')
272
+ }), /*#__PURE__*/_jsx(Button, {
273
+ "aria-label": t('general:applyChanges'),
274
+ buttonStyle: "primary",
275
+ disabled: !imageLoaded,
276
+ onClick: saveEdits,
277
+ children: t('general:applyChanges')
292
278
  })]
293
279
  })]
294
280
  });
@@ -312,100 +298,88 @@ const DraggableElement = ({
312
298
  });
313
299
  const [isDragging, setIsDragging] = useState(false);
314
300
  const dragRef = useRef(undefined);
315
- const getCoordinates = React.useCallback((mouseXArg, mouseYArg, recenter) => {
301
+ // Keep a ref to the latest position so global mouseup handler can read it without a stale closure
302
+ const positionRef = useRef(position);
303
+ positionRef.current = position;
304
+ const getCoordinates = React.useCallback((mouseX, mouseY) => {
316
305
  const containerRect = containerRef.current.getBoundingClientRect();
317
- const boundsRect = boundsRef.current.getBoundingClientRect();
318
- const mouseX = mouseXArg ?? boundsRect.left;
319
- const mouseY = mouseYArg ?? boundsRect.top;
320
- const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right;
321
- const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom;
322
- let x = (mouseX - containerRect.left) / containerRect.width * 100;
323
- let y = (mouseY - containerRect.top) / containerRect.height * 100;
324
- const xCenter = (boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width * 100;
325
- const yCenter = (boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height * 100;
326
- if (xOutOfBounds || yOutOfBounds) {
327
- setIsDragging(false);
328
- if (mouseX < boundsRect.left) {
329
- x = (boundsRect.left - containerRect.left) / containerRect.width * 100;
330
- } else if (mouseX > boundsRect.right) {
331
- x = (containerRect.width - (containerRect.right - boundsRect.right)) / containerRect.width * 100;
332
- }
333
- if (mouseY < boundsRect.top) {
334
- y = (boundsRect.top - containerRect.top) / containerRect.height * 100;
335
- } else if (mouseY > boundsRect.bottom) {
336
- y = (containerRect.height - (containerRect.bottom - boundsRect.bottom)) / containerRect.height * 100;
337
- }
338
- if (recenter) {
339
- x = xOutOfBounds ? xCenter : x;
340
- y = yOutOfBounds ? yCenter : y;
341
- }
342
- }
306
+ const x = (mouseX - containerRect.left) / containerRect.width * 100;
307
+ const y = (mouseY - containerRect.top) / containerRect.height * 100;
343
308
  return {
344
- x,
345
- y
309
+ x: Math.max(0, Math.min(100, x)),
310
+ y: Math.max(0, Math.min(100, y))
346
311
  };
347
- }, [boundsRef, containerRef]);
312
+ }, [containerRef]);
348
313
  const handleMouseDown = event => {
349
314
  event.preventDefault();
350
315
  setIsDragging(true);
351
316
  };
352
- const handleMouseMove = event_0 => {
353
- if (!isDragging) {
354
- return null;
355
- }
356
- const {
357
- x: x_0,
358
- y: y_0
359
- } = getCoordinates(event_0.clientX, event_0.clientY);
360
- setPosition({
361
- x: x_0,
362
- y: y_0
363
- });
364
- };
365
- const onDrop = () => {
366
- setIsDragging(false);
367
- onDragEnd(position);
368
- };
317
+ // Attach global listeners while dragging — this ensures events fire even when
318
+ // the cursor leaves the focal wrapper area during a fast drag
369
319
  React.useEffect(() => {
370
- if (isDragging || !dragRef.current) {
320
+ if (!isDragging) {
371
321
  return;
372
322
  }
373
- if (checkBounds) {
374
- const {
375
- height,
376
- left,
377
- top,
378
- width
379
- } = dragRef.current.getBoundingClientRect();
323
+ const handleMove = e => {
324
+ if (!containerRef.current) {
325
+ return;
326
+ }
380
327
  const {
381
- x: x_1,
382
- y: y_1
383
- } = getCoordinates(left + width / 2, top + height / 2, true);
384
- onDragEnd({
385
- x: x_1,
386
- y: y_1
387
- });
328
+ x: x_0,
329
+ y: y_0
330
+ } = getCoordinates(e.clientX, e.clientY);
388
331
  setPosition({
389
- x: x_1,
390
- y: y_1
332
+ x: x_0,
333
+ y: y_0
391
334
  });
392
- setCheckBounds(false);
335
+ };
336
+ const handleUp = () => {
337
+ setIsDragging(false);
338
+ onDragEnd(positionRef.current);
339
+ };
340
+ document.addEventListener('mousemove', handleMove);
341
+ document.addEventListener('mouseup', handleUp);
342
+ return () => {
343
+ document.removeEventListener('mousemove', handleMove);
344
+ document.removeEventListener('mouseup', handleUp);
345
+ };
346
+ }, [isDragging, getCoordinates, onDragEnd, containerRef]);
347
+ // Re-check position when crop changes (the crop window may have moved)
348
+ React.useEffect(() => {
349
+ if (isDragging || !checkBounds || !dragRef.current) {
393
350
  return;
394
351
  }
395
- }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd]);
352
+ const {
353
+ height,
354
+ left,
355
+ top,
356
+ width
357
+ } = dragRef.current.getBoundingClientRect();
358
+ const {
359
+ x: x_1,
360
+ y: y_1
361
+ } = getCoordinates(left + width / 2, top + height / 2);
362
+ onDragEnd({
363
+ x: x_1,
364
+ y: y_1
365
+ });
366
+ setPosition({
367
+ x: x_1,
368
+ y: y_1
369
+ });
370
+ setCheckBounds(false);
371
+ }, [getCoordinates, isDragging, checkBounds, setCheckBounds, onDragEnd]);
396
372
  React.useEffect(() => {
397
373
  setPosition({
398
374
  x: initialPosition.x,
399
375
  y: initialPosition.y
400
376
  });
401
377
  }, [initialPosition.x, initialPosition.y]);
402
- return /*#__PURE__*/_jsxs("div", {
403
- className: [`${baseClass}__draggable-container`, isDragging && `${baseClass}__draggable-container--dragging`].filter(Boolean).join(' '),
404
- onMouseMove: handleMouseMove,
405
- children: [/*#__PURE__*/_jsx("button", {
378
+ return /*#__PURE__*/_jsx("div", {
379
+ className: `${baseClass}__draggable-container`,
380
+ children: /*#__PURE__*/_jsx("button", {
406
381
  className: [`${baseClass}__draggable`, className].filter(Boolean).join(' '),
407
382
  onMouseDown: handleMouseDown,
408
- onMouseUp: onDrop,
409
383
  ref: dragRef,
410
384
  style: {
411
385
  left: `${position.x}%`,
@@ -413,7 +387,7 @@ const DraggableElement = ({
413
387
  },
414
388
  type: "button",
415
389
  children: children
416
- }), /*#__PURE__*/_jsx("div", {})]
390
+ })
417
391
  });
418
392
  };
419
393
  //# sourceMappingURL=index.js.map