@payloadcms/ui 4.0.0-internal.2fddfc0 → 4.0.0-internal.314c594

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 (1253) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/app.css +121 -0
  3. package/dist/css/colors.css +3 -0
  4. package/dist/css/forms.css +6 -9
  5. package/dist/css/spacing.css +11 -3
  6. package/dist/css/theme.css +2 -1
  7. package/dist/css/utilities.css +3 -2
  8. package/dist/css/z-index.css +10 -0
  9. package/dist/elements/APIKeyInput/index.css +4 -4
  10. package/dist/elements/AddNewRelation/index.css +27 -28
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  12. package/dist/elements/AppHeader/index.css +3 -18
  13. package/dist/elements/AppHeader/index.d.ts +2 -1
  14. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.js +17 -8
  16. package/dist/elements/AppHeader/index.js.map +1 -1
  17. package/dist/elements/ArrayAction/index.d.ts +3 -0
  18. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  19. package/dist/elements/ArrayAction/index.js +83 -29
  20. package/dist/elements/ArrayAction/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  22. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  23. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  24. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  25. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/AddFilesView/index.css +24 -12
  27. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  28. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  29. package/dist/elements/BulkUpload/AddFilesView/index.js +73 -48
  30. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  32. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  33. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  34. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  35. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  36. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  37. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  41. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  43. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  45. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +80 -66
  47. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  48. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  50. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  51. package/dist/elements/BulkUpload/FileSidebar/index.css +66 -142
  52. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  53. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  54. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  55. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  56. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  57. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  58. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  59. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  60. package/dist/elements/BulkUpload/FormsManager/index.js +2 -2
  61. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  62. package/dist/elements/BulkUpload/index.css +48 -0
  63. package/dist/elements/BulkUpload/index.d.ts +6 -5
  64. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  65. package/dist/elements/BulkUpload/index.js +42 -41
  66. package/dist/elements/BulkUpload/index.js.map +1 -1
  67. package/dist/elements/Button/index.css +2 -2
  68. package/dist/elements/Button/index.d.ts.map +1 -1
  69. package/dist/elements/Button/index.js +7 -0
  70. package/dist/elements/Button/index.js.map +1 -1
  71. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  72. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  73. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  74. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  75. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  76. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  77. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  78. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  79. package/dist/elements/ClipboardAction/index.js +18 -1
  80. package/dist/elements/ClipboardAction/index.js.map +1 -1
  81. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  82. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  83. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  84. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  85. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  86. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  87. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  88. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  89. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  90. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  91. package/dist/elements/ClipboardAction/types.js.map +1 -1
  92. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  93. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  94. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  95. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  96. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  97. package/dist/elements/CodeEditor/index.css +5 -5
  98. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  99. package/dist/elements/Collapsible/index.js +2 -0
  100. package/dist/elements/Collapsible/index.js.map +1 -1
  101. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  102. package/dist/elements/ColumnSelection/Popup.js +6 -6
  103. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  104. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  105. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  106. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  107. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  108. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  109. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  110. package/dist/elements/CommandPalette/index.css +0 -7
  111. package/dist/elements/CopyLocaleData/index.js +1 -1
  112. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  113. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  114. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  115. package/dist/elements/CopyToClipboard/index.js +10 -8
  116. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  117. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  118. package/dist/elements/CreateDocumentButton/index.js +4 -2
  119. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  120. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  121. package/dist/elements/DatePicker/DatePicker.js +1 -0
  122. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  123. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  124. package/dist/elements/DatePicker/index.css +10 -10
  125. package/dist/elements/DatePicker/index.js +1 -1
  126. package/dist/elements/DatePicker/index.js.map +1 -1
  127. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  128. package/dist/elements/DeleteDocument/index.js +16 -1
  129. package/dist/elements/DeleteDocument/index.js.map +1 -1
  130. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  131. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  132. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  133. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  134. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  135. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  136. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  137. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  138. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  139. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  140. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  141. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  142. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  143. package/dist/elements/Dialog/index.css +7 -1
  144. package/dist/elements/DocumentControls/index.css +1 -3
  145. package/dist/elements/DocumentControls/index.d.ts +2 -2
  146. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  147. package/dist/elements/DocumentControls/index.js +11 -1
  148. package/dist/elements/DocumentControls/index.js.map +1 -1
  149. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  150. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  151. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  152. package/dist/elements/DocumentFields/index.css +14 -2
  153. package/dist/elements/DocumentFields/index.d.ts +5 -0
  154. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  155. package/dist/elements/DocumentFields/index.js +9 -1
  156. package/dist/elements/DocumentFields/index.js.map +1 -1
  157. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  158. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  159. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  160. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  161. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  162. package/dist/elements/DocumentHeader/index.js +2 -3
  163. package/dist/elements/DocumentHeader/index.js.map +1 -1
  164. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  165. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  166. package/dist/elements/DocumentLocked/index.js.map +1 -1
  167. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  168. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  169. package/dist/elements/Drawer/index.css +10 -4
  170. package/dist/elements/Drawer/index.d.ts.map +1 -1
  171. package/dist/elements/Drawer/index.js +1 -0
  172. package/dist/elements/Drawer/index.js.map +1 -1
  173. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  174. package/dist/elements/DrawerActionHeader/index.css +1 -1
  175. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  176. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  177. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  178. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  179. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  180. package/dist/elements/DrawerHeader/index.js.map +1 -0
  181. package/dist/elements/Dropzone/index.css +13 -15
  182. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +4 -3
  183. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  184. package/dist/elements/EditMany/DrawerContent.js +2 -2
  185. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  186. package/dist/elements/EditUpload/index.css +97 -158
  187. package/dist/elements/EditUpload/index.d.ts +2 -1
  188. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  189. package/dist/elements/EditUpload/index.js +209 -231
  190. package/dist/elements/EditUpload/index.js.map +1 -1
  191. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  192. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  193. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  194. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  195. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  196. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  197. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  198. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  199. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  200. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  201. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  202. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  203. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  204. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  205. package/dist/elements/FileDetails/StaticFileDetails/index.css +139 -0
  206. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  207. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  208. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  209. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  210. package/dist/elements/FileDetails/index.d.ts +1 -1
  211. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  212. package/dist/elements/FileDetails/index.js.map +1 -1
  213. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  214. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  215. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  216. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  217. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  218. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  219. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  220. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  221. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  222. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  223. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  224. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  225. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  226. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  227. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  228. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  229. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  230. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  231. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  232. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  233. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  234. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  235. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  236. package/dist/elements/FileManager/FileToolbar/index.js +109 -0
  237. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  238. package/dist/elements/FileManager/index.css +137 -0
  239. package/dist/elements/FileManager/index.d.ts +19 -0
  240. package/dist/elements/FileManager/index.d.ts.map +1 -0
  241. package/dist/elements/FileManager/index.js +527 -0
  242. package/dist/elements/FileManager/index.js.map +1 -0
  243. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  244. package/dist/elements/GroupBy/Popup.js +0 -1
  245. package/dist/elements/GroupBy/Popup.js.map +1 -1
  246. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  247. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  248. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  249. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -1
  250. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  251. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  252. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  253. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  254. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  255. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  256. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  257. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  258. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  259. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  260. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  261. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  262. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  263. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  264. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  265. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  266. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  267. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  268. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  269. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  270. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  271. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  272. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  273. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  274. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  275. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  276. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  277. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  278. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  279. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  280. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  281. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  282. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  283. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  284. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  285. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -14
  286. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  287. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  288. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  289. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  290. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  291. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  292. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  293. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  294. package/dist/elements/IDLabel/index.css +6 -0
  295. package/dist/elements/IDLabel/index.d.ts +1 -1
  296. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  297. package/dist/elements/IDLabel/index.js +16 -21
  298. package/dist/elements/IDLabel/index.js.map +1 -1
  299. package/dist/elements/InputStepper/index.css +0 -1
  300. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  301. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  302. package/dist/elements/ListControls/index.d.ts.map +1 -1
  303. package/dist/elements/ListControls/index.js +1 -2
  304. package/dist/elements/ListControls/index.js.map +1 -1
  305. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  306. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  307. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  308. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  309. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  310. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  311. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  312. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  313. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  314. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  315. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  316. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +28 -34
  317. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  318. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  319. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  320. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  321. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  322. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  323. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  324. package/dist/elements/LivePreview/Window/index.css +6 -0
  325. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  326. package/dist/elements/Locked/index.css +0 -5
  327. package/dist/elements/Locked/index.d.ts +2 -2
  328. package/dist/elements/Locked/index.d.ts.map +1 -1
  329. package/dist/elements/Locked/index.js +38 -19
  330. package/dist/elements/Locked/index.js.map +1 -1
  331. package/dist/elements/MiniCarousel/index.css +96 -0
  332. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  333. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  334. package/dist/elements/MiniCarousel/index.js +84 -0
  335. package/dist/elements/MiniCarousel/index.js.map +1 -0
  336. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  337. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  338. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  339. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  340. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  341. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  342. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  343. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  344. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  345. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  346. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  347. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  348. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  349. package/dist/elements/Nav/index.css +2 -7
  350. package/dist/elements/NavGroup/index.css +1 -2
  351. package/dist/elements/Pagination/index.css +5 -0
  352. package/dist/elements/Pagination/index.d.ts.map +1 -1
  353. package/dist/elements/Pagination/index.js +21 -21
  354. package/dist/elements/Pagination/index.js.map +1 -1
  355. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  356. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  357. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  359. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  360. package/dist/elements/Popup/index.d.ts +7 -1
  361. package/dist/elements/Popup/index.d.ts.map +1 -1
  362. package/dist/elements/Popup/index.js +4 -2
  363. package/dist/elements/Popup/index.js.map +1 -1
  364. package/dist/elements/PreviewButton/index.d.ts +1 -2
  365. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  366. package/dist/elements/PreviewButton/index.js +11 -5
  367. package/dist/elements/PreviewButton/index.js.map +1 -1
  368. package/dist/elements/PreviewSizes/index.css +148 -0
  369. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  370. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  371. package/dist/elements/PreviewSizes/index.js +1 -1
  372. package/dist/elements/PreviewSizes/index.js.map +1 -1
  373. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  374. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  375. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  376. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  377. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  378. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  379. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  380. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  381. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  382. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  383. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  384. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  385. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  386. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  387. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  388. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  389. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  390. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  391. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  392. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  393. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  394. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  395. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  396. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  397. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  398. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  399. package/dist/elements/ReactSelect/index.css +10 -6
  400. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  401. package/dist/elements/ReactSelect/index.js +25 -102
  402. package/dist/elements/ReactSelect/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/types.d.ts +2 -2
  404. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  405. package/dist/elements/ReactSelect/types.js.map +1 -1
  406. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  407. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  408. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  409. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  410. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  411. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  412. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  413. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  414. package/dist/elements/RelationshipTable/index.css +1 -4
  415. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  416. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  417. package/dist/elements/RelationshipTable/index.js +41 -5
  418. package/dist/elements/RelationshipTable/index.js.map +1 -1
  419. package/dist/elements/RenderTitle/index.css +4 -0
  420. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  421. package/dist/elements/RenderTitle/index.js +18 -13
  422. package/dist/elements/RenderTitle/index.js.map +1 -1
  423. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  424. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  425. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  426. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  427. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  428. package/dist/elements/Search/SearchInput/index.js +22 -19
  429. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  430. package/dist/elements/SelectAll/index.css +3 -1
  431. package/dist/elements/SelectRow/index.d.ts +5 -4
  432. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  433. package/dist/elements/SelectRow/index.js +10 -7
  434. package/dist/elements/SelectRow/index.js.map +1 -1
  435. package/dist/elements/SidebarRow/index.css +0 -2
  436. package/dist/elements/SidebarToggle/index.css +0 -17
  437. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  438. package/dist/elements/SortColumn/index.js +42 -38
  439. package/dist/elements/SortColumn/index.js.map +1 -1
  440. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  441. package/dist/elements/SortHeader/index.js +29 -26
  442. package/dist/elements/SortHeader/index.js.map +1 -1
  443. package/dist/elements/StepNav/index.css +64 -14
  444. package/dist/elements/StepNav/index.d.ts.map +1 -1
  445. package/dist/elements/StepNav/index.js +143 -69
  446. package/dist/elements/StepNav/index.js.map +1 -1
  447. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  448. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  449. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  450. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  451. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  452. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  453. package/dist/elements/Table/DefaultCell/index.js +3 -11
  454. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  455. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  456. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  457. package/dist/elements/Table/OrderableRow.js +17 -1
  458. package/dist/elements/Table/OrderableRow.js.map +1 -1
  459. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  460. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  461. package/dist/elements/Table/OrderableTable.js +19 -2
  462. package/dist/elements/Table/OrderableTable.js.map +1 -1
  463. package/dist/elements/Table/index.css +26 -2
  464. package/dist/elements/TableSection/index.css +0 -1
  465. package/dist/elements/Tabs/index.d.ts.map +1 -1
  466. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  467. package/dist/elements/Thumbnail/index.css +41 -0
  468. package/dist/elements/Thumbnail/index.d.ts +4 -4
  469. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  470. package/dist/elements/Thumbnail/index.js +1 -1
  471. package/dist/elements/Thumbnail/index.js.map +1 -1
  472. package/dist/elements/TimezonePicker/index.css +1 -1
  473. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  474. package/dist/elements/TimezonePicker/index.js +5 -1
  475. package/dist/elements/TimezonePicker/index.js.map +1 -1
  476. package/dist/elements/Tooltip/index.css +15 -34
  477. package/dist/elements/Tooltip/index.d.ts +11 -3
  478. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  479. package/dist/elements/Tooltip/index.js +151 -85
  480. package/dist/elements/Tooltip/index.js.map +1 -1
  481. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  482. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  483. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  484. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  485. package/dist/elements/Upload/index.css +160 -69
  486. package/dist/elements/Upload/index.d.ts +3 -8
  487. package/dist/elements/Upload/index.d.ts.map +1 -1
  488. package/dist/elements/Upload/index.js +92 -175
  489. package/dist/elements/Upload/index.js.map +1 -1
  490. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  491. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  492. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  493. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  494. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  495. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  496. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  497. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  498. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  499. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  500. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  501. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  502. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  503. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  504. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  505. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  506. package/dist/elements/UserMenu/index.css +26 -1
  507. package/dist/elements/UserMenu/index.d.ts +1 -0
  508. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  509. package/dist/elements/UserMenu/index.js +2 -1
  510. package/dist/elements/UserMenu/index.js.map +1 -1
  511. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  512. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  513. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  514. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  515. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  516. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  517. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  518. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  519. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  520. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  521. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  522. package/dist/elements/WhereBuilder/index.js +15 -4
  523. package/dist/elements/WhereBuilder/index.js.map +1 -1
  524. package/dist/exports/client/index.d.ts +13 -6
  525. package/dist/exports/client/index.d.ts.map +1 -1
  526. package/dist/exports/client/index.js +1 -2
  527. package/dist/exports/client/index.js.map +4 -4
  528. package/dist/exports/layouts.d.ts +1 -0
  529. package/dist/exports/layouts.d.ts.map +1 -1
  530. package/dist/exports/layouts.js +1 -0
  531. package/dist/exports/layouts.js.map +1 -1
  532. package/dist/exports/rsc/index.d.ts +3 -0
  533. package/dist/exports/rsc/index.d.ts.map +1 -1
  534. package/dist/exports/rsc/index.js +3 -0
  535. package/dist/exports/rsc/index.js.map +1 -1
  536. package/dist/exports/shared/index.d.ts +1 -0
  537. package/dist/exports/shared/index.d.ts.map +1 -1
  538. package/dist/exports/shared/index.js +2 -2
  539. package/dist/exports/shared/index.js.map +4 -4
  540. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  541. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  542. package/dist/fields/Array/ArrayRow.js +99 -160
  543. package/dist/fields/Array/ArrayRow.js.map +1 -1
  544. package/dist/fields/Array/index.d.ts +1 -1
  545. package/dist/fields/Array/index.d.ts.map +1 -1
  546. package/dist/fields/Array/index.js +45 -14
  547. package/dist/fields/Array/index.js.map +1 -1
  548. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  549. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  550. package/dist/fields/Blocks/BlockRow.js +136 -195
  551. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  552. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  553. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  554. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  555. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  556. package/dist/fields/Blocks/RowActions.js +26 -20
  557. package/dist/fields/Blocks/RowActions.js.map +1 -1
  558. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  559. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  560. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  561. package/dist/fields/Blocks/index.d.ts +1 -1
  562. package/dist/fields/Blocks/index.d.ts.map +1 -1
  563. package/dist/fields/Blocks/index.js +44 -13
  564. package/dist/fields/Blocks/index.js.map +1 -1
  565. package/dist/fields/Checkbox/Input.d.ts +2 -0
  566. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  567. package/dist/fields/Checkbox/Input.js +32 -26
  568. package/dist/fields/Checkbox/Input.js.map +1 -1
  569. package/dist/fields/Checkbox/index.css +39 -75
  570. package/dist/fields/Checkbox/index.d.ts +1 -1
  571. package/dist/fields/Code/index.css +1 -1
  572. package/dist/fields/Code/index.d.ts +2 -2
  573. package/dist/fields/Collapsible/index.d.ts +1 -1
  574. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  575. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  576. package/dist/fields/ConfirmPassword/index.js +37 -33
  577. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  578. package/dist/fields/DateTime/index.d.ts +1 -1
  579. package/dist/fields/Email/index.d.ts +1 -1
  580. package/dist/fields/FieldError/index.css +0 -9
  581. package/dist/fields/FieldError/index.d.ts.map +1 -1
  582. package/dist/fields/FieldError/index.js +19 -9
  583. package/dist/fields/FieldError/index.js.map +1 -1
  584. package/dist/fields/Group/index.css +4 -10
  585. package/dist/fields/Group/index.d.ts +2 -2
  586. package/dist/fields/JSON/index.d.ts +1 -1
  587. package/dist/fields/Join/index.css +9 -0
  588. package/dist/fields/Join/index.d.ts +1 -1
  589. package/dist/fields/Join/index.d.ts.map +1 -1
  590. package/dist/fields/Join/index.js +13 -9
  591. package/dist/fields/Join/index.js.map +1 -1
  592. package/dist/fields/Number/Input.d.ts.map +1 -1
  593. package/dist/fields/Number/Input.js +62 -46
  594. package/dist/fields/Number/Input.js.map +1 -1
  595. package/dist/fields/Number/index.css +19 -0
  596. package/dist/fields/Number/index.d.ts +1 -1
  597. package/dist/fields/Number/types.d.ts +10 -0
  598. package/dist/fields/Number/types.d.ts.map +1 -1
  599. package/dist/fields/Number/types.js.map +1 -1
  600. package/dist/fields/Password/input.d.ts.map +1 -1
  601. package/dist/fields/Password/input.js +33 -29
  602. package/dist/fields/Password/input.js.map +1 -1
  603. package/dist/fields/Password/types.d.ts +7 -3
  604. package/dist/fields/Password/types.d.ts.map +1 -1
  605. package/dist/fields/Password/types.js.map +1 -1
  606. package/dist/fields/Point/index.d.ts +1 -1
  607. package/dist/fields/RadioGroup/index.css +0 -7
  608. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  609. package/dist/fields/Relationship/Input.js +36 -14
  610. package/dist/fields/Relationship/Input.js.map +1 -1
  611. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  612. package/dist/fields/Relationship/index.d.ts +1 -1
  613. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  614. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +2 -2
  615. package/dist/fields/Relationship/types.d.ts +4 -0
  616. package/dist/fields/Relationship/types.d.ts.map +1 -1
  617. package/dist/fields/Relationship/types.js.map +1 -1
  618. package/dist/fields/Row/index.d.ts +1 -1
  619. package/dist/fields/Select/Input.d.ts +4 -0
  620. package/dist/fields/Select/Input.d.ts.map +1 -1
  621. package/dist/fields/Select/Input.js +45 -40
  622. package/dist/fields/Select/Input.js.map +1 -1
  623. package/dist/fields/Select/index.d.ts +1 -1
  624. package/dist/fields/Select/index.d.ts.map +1 -1
  625. package/dist/fields/Slug/index.css +0 -1
  626. package/dist/fields/Slug/index.d.ts +7 -5
  627. package/dist/fields/Slug/index.d.ts.map +1 -1
  628. package/dist/fields/Slug/index.js +79 -113
  629. package/dist/fields/Slug/index.js.map +1 -1
  630. package/dist/fields/Tabs/index.d.ts +1 -1
  631. package/dist/fields/Text/Input.d.ts.map +1 -1
  632. package/dist/fields/Text/Input.js +44 -37
  633. package/dist/fields/Text/Input.js.map +1 -1
  634. package/dist/fields/Text/index.d.ts +1 -1
  635. package/dist/fields/Text/types.d.ts +11 -2
  636. package/dist/fields/Text/types.d.ts.map +1 -1
  637. package/dist/fields/Text/types.js.map +1 -1
  638. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  639. package/dist/fields/Textarea/Input.js +27 -23
  640. package/dist/fields/Textarea/Input.js.map +1 -1
  641. package/dist/fields/Textarea/index.css +1 -1
  642. package/dist/fields/Textarea/index.d.ts +1 -1
  643. package/dist/fields/Textarea/types.d.ts +4 -0
  644. package/dist/fields/Textarea/types.d.ts.map +1 -1
  645. package/dist/fields/Textarea/types.js.map +1 -1
  646. package/dist/fields/Upload/Input.d.ts.map +1 -1
  647. package/dist/fields/Upload/Input.js +56 -27
  648. package/dist/fields/Upload/Input.js.map +1 -1
  649. package/dist/fields/Upload/Input.spec.js +241 -0
  650. package/dist/fields/Upload/Input.spec.js.map +1 -0
  651. package/dist/fields/Upload/index.css +19 -4
  652. package/dist/fields/Upload/index.js +1 -1
  653. package/dist/fields/Upload/index.js.map +1 -1
  654. package/dist/fields/index.d.ts.map +1 -1
  655. package/dist/fields/index.js +2 -0
  656. package/dist/fields/index.js.map +1 -1
  657. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  658. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  659. package/dist/forms/Form/context.d.ts.map +1 -1
  660. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  661. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  662. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  663. package/dist/forms/Form/fieldReducer.js +3 -1
  664. package/dist/forms/Form/fieldReducer.js.map +1 -1
  665. package/dist/forms/Form/index.d.ts.map +1 -1
  666. package/dist/forms/Form/index.js +12 -15
  667. package/dist/forms/Form/index.js.map +1 -1
  668. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  669. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  670. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  671. package/dist/forms/Form/rows.d.ts.map +1 -1
  672. package/dist/forms/Form/types.d.ts +3 -3
  673. package/dist/forms/Form/types.d.ts.map +1 -1
  674. package/dist/forms/Form/types.js.map +1 -1
  675. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  676. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  677. package/dist/forms/RenderFields/RenderField.js +10 -0
  678. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  679. package/dist/forms/RenderFields/index.css +17 -3
  680. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  681. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  682. package/dist/forms/WatchChildErrors/index.js +2 -2
  683. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  684. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  685. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  686. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +23 -6
  687. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  688. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  689. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  690. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  691. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  692. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  693. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  694. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  695. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  696. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  697. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  698. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  699. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  700. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  701. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  702. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  703. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  704. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  705. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  706. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  707. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  708. package/dist/forms/useField/index.d.ts.map +1 -1
  709. package/dist/forms/withCondition/index.d.ts +1 -1
  710. package/dist/forms/withCondition/index.d.ts.map +1 -1
  711. package/dist/graphics/Icon/index.js +1 -1
  712. package/dist/graphics/Icon/index.js.map +1 -1
  713. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  714. package/dist/hooks/useDelay.d.ts.map +1 -1
  715. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  716. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  717. package/dist/hooks/useElementHeightVariable.js +53 -0
  718. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  719. package/dist/hooks/useHotkey.d.ts.map +1 -1
  720. package/dist/hooks/useIntersect.d.ts.map +1 -1
  721. package/dist/hooks/usePopupWindow.d.ts +1 -1
  722. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  723. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  724. package/dist/hooks/useResize.d.ts.map +1 -1
  725. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  726. package/dist/icons/Crop/index.css +5 -0
  727. package/dist/icons/Crop/index.d.ts +7 -0
  728. package/dist/icons/Crop/index.d.ts.map +1 -0
  729. package/dist/icons/Crop/index.js +24 -0
  730. package/dist/icons/Crop/index.js.map +1 -0
  731. package/dist/icons/Download/index.css +5 -0
  732. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  733. package/dist/icons/Download/index.d.ts.map +1 -0
  734. package/dist/icons/Download/index.js +27 -0
  735. package/dist/icons/Download/index.js.map +1 -0
  736. package/dist/icons/Edit/index.d.ts +0 -1
  737. package/dist/icons/Edit/index.d.ts.map +1 -1
  738. package/dist/icons/Edit/index.js +4 -4
  739. package/dist/icons/Edit/index.js.map +1 -1
  740. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  741. package/dist/icons/NewTab/index.d.ts +7 -0
  742. package/dist/icons/NewTab/index.d.ts.map +1 -0
  743. package/dist/icons/NewTab/index.js +25 -0
  744. package/dist/icons/NewTab/index.js.map +1 -0
  745. package/dist/icons/Replace/index.css +5 -0
  746. package/dist/icons/Replace/index.d.ts +6 -0
  747. package/dist/icons/Replace/index.d.ts.map +1 -0
  748. package/dist/icons/Replace/index.js +20 -0
  749. package/dist/icons/Replace/index.js.map +1 -0
  750. package/dist/icons/Reset/index.css +5 -0
  751. package/dist/icons/Reset/index.d.ts +7 -0
  752. package/dist/icons/Reset/index.d.ts.map +1 -0
  753. package/dist/icons/Reset/index.js +25 -0
  754. package/dist/icons/Reset/index.js.map +1 -0
  755. package/dist/icons/Swap/index.js +1 -1
  756. package/dist/icons/Swap/index.js.map +1 -1
  757. package/dist/layouts/Root/index.d.ts +1 -1
  758. package/dist/layouts/Root/index.d.ts.map +1 -1
  759. package/dist/layouts/Root/index.js +15 -5
  760. package/dist/layouts/Root/index.js.map +1 -1
  761. package/dist/layouts/Root/index.spec.js +20 -0
  762. package/dist/layouts/Root/index.spec.js.map +1 -0
  763. package/dist/layouts/Root/viewport.d.ts +5 -0
  764. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  765. package/dist/layouts/Root/viewport.js +17 -0
  766. package/dist/layouts/Root/viewport.js.map +1 -0
  767. package/dist/providers/Actions/index.d.ts +1 -0
  768. package/dist/providers/Actions/index.d.ts.map +1 -1
  769. package/dist/providers/Actions/index.js +43 -11
  770. package/dist/providers/Actions/index.js.map +1 -1
  771. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  772. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  773. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  774. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  775. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  776. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  777. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  778. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  779. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  780. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  781. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  782. package/dist/providers/Auth/authSessionRequests.js +119 -0
  783. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  784. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  785. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  786. package/dist/providers/Auth/index.d.ts +5 -61
  787. package/dist/providers/Auth/index.d.ts.map +1 -1
  788. package/dist/providers/Auth/index.js +284 -141
  789. package/dist/providers/Auth/index.js.map +1 -1
  790. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  791. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  792. package/dist/providers/Auth/sessionActivity.js +49 -0
  793. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  794. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  795. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  796. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  797. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  798. package/dist/providers/Auth/sessionTiming.js +18 -0
  799. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  800. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  801. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  802. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  803. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  804. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  805. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  806. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  807. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  808. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  809. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  810. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  811. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  812. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  813. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  814. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  815. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  816. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  817. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  818. package/dist/providers/Auth/types.d.ts +65 -0
  819. package/dist/providers/Auth/types.d.ts.map +1 -0
  820. package/dist/providers/Auth/types.js +2 -0
  821. package/dist/providers/Auth/types.js.map +1 -0
  822. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  823. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  824. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  825. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  826. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  827. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  828. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  829. package/dist/providers/DocumentInfo/index.js.map +1 -1
  830. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  831. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  832. package/dist/providers/DocumentInfo/types.js.map +1 -1
  833. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  834. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  835. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  836. package/dist/providers/DocumentTitle/index.js +2 -0
  837. package/dist/providers/DocumentTitle/index.js.map +1 -1
  838. package/dist/providers/Embed/index.d.ts +24 -0
  839. package/dist/providers/Embed/index.d.ts.map +1 -0
  840. package/dist/providers/Embed/index.js +105 -0
  841. package/dist/providers/Embed/index.js.map +1 -0
  842. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  843. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  844. package/dist/providers/FormErrorHandler/index.js +6 -0
  845. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  846. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  847. package/dist/providers/ListQuery/index.js +8 -1
  848. package/dist/providers/ListQuery/index.js.map +1 -1
  849. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  850. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  851. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  852. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  853. package/dist/providers/Locale/index.d.ts.map +1 -1
  854. package/dist/providers/Locale/index.js +41 -36
  855. package/dist/providers/Locale/index.js.map +1 -1
  856. package/dist/providers/Root/index.d.ts +3 -2
  857. package/dist/providers/Root/index.d.ts.map +1 -1
  858. package/dist/providers/Root/index.js +37 -31
  859. package/dist/providers/Root/index.js.map +1 -1
  860. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  861. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  862. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  863. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  864. package/dist/providers/RouteTransition/index.d.ts +2 -0
  865. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  866. package/dist/providers/RouteTransition/index.js +42 -14
  867. package/dist/providers/RouteTransition/index.js.map +1 -1
  868. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  869. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  870. package/dist/providers/SidebarTabs/index.js.map +1 -1
  871. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  872. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  873. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  874. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  875. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  876. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  877. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  878. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  879. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  880. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  881. package/dist/providers/Theme/index.d.ts +5 -2
  882. package/dist/providers/Theme/index.d.ts.map +1 -1
  883. package/dist/providers/Theme/index.js +109 -96
  884. package/dist/providers/Theme/index.js.map +1 -1
  885. package/dist/providers/Theme/shared.d.ts +3 -0
  886. package/dist/providers/Theme/shared.d.ts.map +1 -0
  887. package/dist/providers/Theme/shared.js +2 -0
  888. package/dist/providers/Theme/shared.js.map +1 -0
  889. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  890. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  891. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  892. package/dist/providers/UploadHandlers/index.js +102 -42
  893. package/dist/providers/UploadHandlers/index.js.map +1 -1
  894. package/dist/styles.css +37 -16
  895. package/dist/templates/Default/index.d.ts +1 -0
  896. package/dist/templates/Default/index.d.ts.map +1 -1
  897. package/dist/templates/Default/index.js +9 -1
  898. package/dist/templates/Default/index.js.map +1 -1
  899. package/dist/utilities/api.d.ts.map +1 -1
  900. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  901. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  902. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  903. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  904. package/dist/utilities/buildFormState.d.ts +2 -2
  905. package/dist/utilities/buildFormState.d.ts.map +1 -1
  906. package/dist/utilities/buildFormState.js +1 -0
  907. package/dist/utilities/buildFormState.js.map +1 -1
  908. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  909. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  910. package/dist/utilities/combineFieldLabel.js +5 -1
  911. package/dist/utilities/combineFieldLabel.js.map +1 -1
  912. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  913. package/dist/utilities/copyDataFromLocale.js +1 -0
  914. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  915. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  916. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  917. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  918. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  919. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  920. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  921. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  922. package/dist/utilities/formatDocTitle/index.js +1 -1
  923. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  924. package/dist/utilities/formatFields.d.ts.map +1 -1
  925. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  926. package/dist/utilities/formatMetadata.js +0 -5
  927. package/dist/utilities/formatMetadata.js.map +1 -1
  928. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  929. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  930. package/dist/utilities/formatRelativeDate.js +62 -0
  931. package/dist/utilities/formatRelativeDate.js.map +1 -0
  932. package/dist/utilities/generateFieldID.d.ts +1 -1
  933. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  934. package/dist/utilities/generateFieldID.js +2 -2
  935. package/dist/utilities/generateFieldID.js.map +1 -1
  936. package/dist/utilities/getColumns.d.ts.map +1 -1
  937. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  938. package/dist/utilities/getDocPreferences.d.ts +2 -2
  939. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  940. package/dist/utilities/getDocPreferences.js.map +1 -1
  941. package/dist/utilities/getDocumentData.d.ts +2 -2
  942. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  943. package/dist/utilities/getDocumentData.js.map +1 -1
  944. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  945. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  946. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  947. package/dist/utilities/getFilesFromClipboard.js +49 -0
  948. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  949. package/dist/utilities/getGlobalData.d.ts +2 -2
  950. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  951. package/dist/utilities/getGlobalData.js.map +1 -1
  952. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  953. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  954. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  955. package/dist/utilities/getIsLocked.d.ts +2 -2
  956. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  957. package/dist/utilities/getIsLocked.js.map +1 -1
  958. package/dist/utilities/getLanguageDir.d.ts +12 -0
  959. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  960. package/dist/utilities/getLanguageDir.js +12 -0
  961. package/dist/utilities/getLanguageDir.js.map +1 -0
  962. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  963. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  964. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  965. package/dist/utilities/getRequestEmbed.js +10 -0
  966. package/dist/utilities/getRequestEmbed.js.map +1 -0
  967. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  968. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  969. package/dist/utilities/getRequestTheme.d.ts +1 -1
  970. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  971. package/dist/utilities/getRequestTheme.js +1 -1
  972. package/dist/utilities/getRequestTheme.js.map +1 -1
  973. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  974. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  975. package/dist/utilities/getVersions.d.ts +2 -2
  976. package/dist/utilities/getVersions.d.ts.map +1 -1
  977. package/dist/utilities/getVersions.js +2 -5
  978. package/dist/utilities/getVersions.js.map +1 -1
  979. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  980. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  981. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  982. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  983. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  984. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  985. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  986. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  987. package/dist/utilities/handleLivePreview.d.ts +1 -0
  988. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  989. package/dist/utilities/handlePreview.d.ts.map +1 -1
  990. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  991. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  992. package/dist/utilities/handleServerFunctions.js +17 -37
  993. package/dist/utilities/handleServerFunctions.js.map +1 -1
  994. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  995. package/dist/utilities/handleTakeOver.d.ts +5 -5
  996. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  997. package/dist/utilities/handleTakeOver.js.map +1 -1
  998. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  999. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  1000. package/dist/utilities/initReq.d.ts.map +1 -1
  1001. package/dist/utilities/isClientUserObject.d.ts +2 -2
  1002. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  1003. package/dist/utilities/isClientUserObject.js.map +1 -1
  1004. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  1005. package/dist/utilities/isEditing.d.ts.map +1 -1
  1006. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  1007. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  1008. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  1009. package/dist/utilities/isURLAllowed.js +9 -3
  1010. package/dist/utilities/isURLAllowed.js.map +1 -1
  1011. package/dist/utilities/recentlyViewed.d.ts +16 -0
  1012. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  1013. package/dist/utilities/recentlyViewed.js +21 -0
  1014. package/dist/utilities/recentlyViewed.js.map +1 -0
  1015. package/dist/utilities/recentlyViewed.spec.js +92 -0
  1016. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  1017. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  1018. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  1019. package/dist/utilities/renderTable.d.ts +2 -2
  1020. package/dist/utilities/renderTable.d.ts.map +1 -1
  1021. package/dist/utilities/renderTable.js +18 -2
  1022. package/dist/utilities/renderTable.js.map +1 -1
  1023. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  1024. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  1025. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  1026. package/dist/utilities/scrollToID.d.ts.map +1 -1
  1027. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  1028. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  1029. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  1030. package/dist/utilities/serverFunctionRegistry.js +25 -7
  1031. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  1032. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  1033. package/dist/utilities/slugify.d.ts +1 -1
  1034. package/dist/utilities/slugify.d.ts.map +1 -1
  1035. package/dist/utilities/slugify.js +51 -7
  1036. package/dist/utilities/slugify.js.map +1 -1
  1037. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  1038. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  1039. package/dist/views/API/index.client.js +2 -2
  1040. package/dist/views/API/index.client.js.map +1 -1
  1041. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  1042. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  1043. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  1044. package/dist/views/Account/Settings/index.d.ts +2 -2
  1045. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  1046. package/dist/views/Account/Settings/index.js.map +1 -1
  1047. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  1048. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  1049. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  1050. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  1051. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  1052. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  1053. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  1054. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  1055. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  1056. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  1057. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  1058. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  1059. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  1060. package/dist/views/Dashboard/Default/ModularDashboard/index.css +31 -144
  1061. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +5 -5
  1062. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  1063. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  1064. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  1065. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  1066. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  1067. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  1068. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  1069. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  1070. package/dist/views/Dashboard/Default/index.js.map +1 -1
  1071. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  1072. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  1073. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  1074. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  1075. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  1076. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  1077. package/dist/views/Document/index.d.ts +1 -1
  1078. package/dist/views/Document/index.d.ts.map +1 -1
  1079. package/dist/views/Document/index.js +18 -1
  1080. package/dist/views/Document/index.js.map +1 -1
  1081. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  1082. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  1083. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  1084. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  1085. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  1086. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  1087. package/dist/views/Document/renderDocumentSlots.js +47 -1
  1088. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  1089. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  1090. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  1091. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1092. package/dist/views/Edit/index.css +151 -6
  1093. package/dist/views/Edit/index.d.ts +1 -1
  1094. package/dist/views/Edit/index.d.ts.map +1 -1
  1095. package/dist/views/Edit/index.js +37 -33
  1096. package/dist/views/Edit/index.js.map +1 -1
  1097. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  1098. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  1099. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  1100. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  1101. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  1102. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  1103. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  1104. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  1105. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  1106. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  1107. package/dist/views/HierarchyList/index.css +1 -1
  1108. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  1109. package/dist/views/HierarchyList/index.js +2 -6
  1110. package/dist/views/HierarchyList/index.js.map +1 -1
  1111. package/dist/views/List/ListHeader/index.css +5 -0
  1112. package/dist/views/List/ListHeader/index.d.ts +1 -10
  1113. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  1114. package/dist/views/List/ListHeader/index.js +1 -3
  1115. package/dist/views/List/ListHeader/index.js.map +1 -1
  1116. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  1117. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  1118. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  1119. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  1120. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  1121. package/dist/views/List/handleHierarchy.d.ts +1 -1
  1122. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  1123. package/dist/views/List/index.client.d.ts.map +1 -1
  1124. package/dist/views/List/index.client.js +0 -14
  1125. package/dist/views/List/index.client.js.map +1 -1
  1126. package/dist/views/List/index.css +6 -1
  1127. package/dist/views/List/index.d.ts.map +1 -1
  1128. package/dist/views/List/index.js +5 -7
  1129. package/dist/views/List/index.js.map +1 -1
  1130. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  1131. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  1132. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  1133. package/dist/views/Logout/LogoutClient.js +28 -32
  1134. package/dist/views/Logout/LogoutClient.js.map +1 -1
  1135. package/dist/views/Logout/index.d.ts.map +1 -1
  1136. package/dist/views/Logout/index.js +11 -0
  1137. package/dist/views/Logout/index.js.map +1 -1
  1138. package/dist/views/NotFound/page.d.ts.map +1 -1
  1139. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  1140. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  1141. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  1142. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  1143. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  1144. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  1145. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  1146. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  1147. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  1148. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  1149. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  1150. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  1151. package/dist/views/Root/index.d.ts +12 -1
  1152. package/dist/views/Root/index.d.ts.map +1 -1
  1153. package/dist/views/Root/index.js +11 -3
  1154. package/dist/views/Root/index.js.map +1 -1
  1155. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  1156. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  1157. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  1158. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  1159. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  1160. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  1161. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  1162. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  1163. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  1164. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  1165. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  1166. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  1167. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  1168. package/dist/views/Version/SelectComparison/index.js +1 -0
  1169. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  1170. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  1171. package/dist/views/Versions/buildColumns.d.ts +1 -1
  1172. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  1173. package/dist/views/Versions/fetchVersions.d.ts +8 -8
  1174. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  1175. package/dist/views/Versions/fetchVersions.js.map +1 -1
  1176. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  1177. package/dist/views/Versions/types.d.ts +2 -2
  1178. package/dist/views/Versions/types.d.ts.map +1 -1
  1179. package/dist/views/Versions/types.js.map +1 -1
  1180. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  1181. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  1182. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  1183. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  1184. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  1185. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  1186. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  1187. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  1188. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  1189. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  1190. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  1191. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  1192. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  1193. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  1194. package/dist/widgets/CollectionQuery/index.css +64 -0
  1195. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  1196. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  1197. package/dist/widgets/CollectionQuery/index.js +328 -0
  1198. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  1199. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  1200. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  1201. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  1202. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  1203. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  1204. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  1205. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  1206. package/dist/widgets/RecentlyViewed/index.js +148 -0
  1207. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  1208. package/dist/widgets/WidgetCard/index.css +155 -0
  1209. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  1210. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  1211. package/dist/widgets/WidgetCard/index.js +49 -0
  1212. package/dist/widgets/WidgetCard/index.js.map +1 -0
  1213. package/package.json +8 -516
  1214. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  1215. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  1216. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  1217. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  1218. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  1219. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  1220. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  1221. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  1222. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  1223. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  1224. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  1225. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  1226. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  1227. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  1228. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  1229. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  1230. package/dist/elements/Nav/NavToggler/index.css +0 -12
  1231. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  1232. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  1233. package/dist/elements/Nav/NavToggler/index.js +0 -91
  1234. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  1235. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  1236. package/dist/elements/PreviewSizes/index.scss +0 -147
  1237. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  1238. package/dist/elements/Thumbnail/index.scss +0 -53
  1239. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  1240. package/dist/icons/ExternalLink/index.js +0 -26
  1241. package/dist/icons/ExternalLink/index.js.map +0 -1
  1242. package/dist/scss/app.scss +0 -182
  1243. package/dist/scss/colors.scss +0 -191
  1244. package/dist/scss/custom.css +0 -1
  1245. package/dist/scss/queries.scss +0 -27
  1246. package/dist/scss/styles.scss +0 -9
  1247. package/dist/scss/svg.scss +0 -10
  1248. package/dist/scss/toastify.scss +0 -61
  1249. package/dist/scss/vars.scss +0 -192
  1250. package/dist/scss/z-index.scss +0 -9
  1251. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  1252. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  1253. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PopupList","React","createContext","use","useCallback","useEffect","useRef","useState","createPortal","useEffectEvent","ThemeProvider","PopupTrigger","baseClass","PopupContext","TABBABLE_SELECTOR","map","s","join","hasFixedAncestor","element","node","parentElement","document","body","window","getComputedStyle","position","Popup","props","id","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","initActive","noBackground","onToggleClose","onToggleOpen","portalClassName","render","renderButton","showOnHover","showScrollbar","side","size","theme","verticalAlign","popupRef","triggerRef","isFixedRef","openedViaKeyboardRef","parentPopup","mounted","setMounted","active","setActiveInternal","isOnTop","setIsOnTop","setActive","isActive","viaKeyboard","current","updatePosition","trigger","popup","triggerRect","getBoundingClientRect","popupRect","useFixed","scrollY","scrollX","offset","sideOffset","top","left","caretLeft","maxTop","innerHeight","height","Math","max","min","anchorRect","width","right","innerWidth","onTop","bottom","topIfAbove","triggerCenter","newTop","round","newLeft","newCaretLeft","newPosition","style","getPropertyValue","setProperty","handleClickOutside","e","target","isOutsidePopup","contains","isOutsideTrigger","clickedPopupContent","closest","isInsideChildPopup","handleKeyDown","key","preventDefault","querySelector","focus","focusable","Array","from","querySelectorAll","length","currentIndex","findIndex","el","activeElement","goBackward","shiftKey","nextIndex","handleActionableClick","actionable","rafId","requestAnimationFrame","firstFocusable","addEventListener","capture","passive","cancelAnimationFrame","removeEventListener","undefined","Trigger","_jsx","_jsxs","filter","Boolean","ref","onMouseEnter","onMouseLeave","role","tabIndex","value","_Fragment","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport React, { createContext, use, useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ThemeProvider } from '../../providers/Theme/index.js'\nimport './index.css'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\ntype PopupContextValue = {\n popupRef: React.RefObject<HTMLDivElement | null>\n}\n\nconst PopupContext = createContext<null | PopupContextValue>(null)\n\n/**\n * Selector for all elements the browser considers tabbable.\n */\nconst TABBABLE_SELECTOR = [\n 'a[href]',\n 'button:not(:disabled)',\n 'input:not(:disabled):not([type=\"hidden\"])',\n 'select:not(:disabled)',\n 'textarea:not(:disabled)',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n 'summary',\n]\n .map((s) => `${s}:not([tabindex=\"-1\"])`)\n .join(', ')\n\n/**\n * Returns whether the element has a `position: fixed` ancestor (e.g. an open Drawer).\n * Such popups must be positioned with `fixed` so they don't drift when the background scrolls.\n */\nconst hasFixedAncestor = (element: HTMLElement | null): boolean => {\n let node = element?.parentElement\n while (node && node !== document.body) {\n if (window.getComputedStyle(node).position === 'fixed') {\n return true\n }\n node = node.parentElement\n }\n return false\n}\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n /**\n * The class name to apply to the button that triggers the popup.\n */\n buttonClassName?: string\n buttonSize?: 'large' | 'medium'\n buttonType?: 'custom' | 'default'\n caret?: boolean\n children?: React.ReactNode\n /**\n * The class name to apply to the popup container containing the trigger.\n * This does not wrap the actual popup content, which is rendered in a portal.\n */\n className?: string\n disabled?: boolean\n /**\n * Force control the open state of the popup, regardless of the trigger.\n */\n forceOpen?: boolean\n /**\n * Preferred horizontal alignment of the popup, if there is enough space available.\n *\n * @default 'left'\n */\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleClose?: () => void\n onToggleOpen?: (active: boolean) => void\n /**\n * Class name to apply to the portal container.\n */\n portalClassName?: string\n render?: (args: { close: () => void }) => React.ReactNode\n /**\n * Render prop for custom trigger button. Receives onClick/onKeyDown/aria props.\n * When provided, `button` and `buttonType` are ignored.\n */\n renderButton?: (props: {\n active: boolean\n 'aria-expanded': boolean\n 'aria-haspopup': true\n onClick: React.MouseEventHandler\n onKeyDown: React.KeyboardEventHandler\n }) => React.ReactNode\n showOnHover?: boolean\n /**\n * By default, the scrollbar is hidden. If you want to show it, set this to true.\n * In both cases, the container is still scrollable.\n *\n * @default false\n */\n showScrollbar?: boolean\n /**\n * Position the popup to the side of the trigger instead of above/below.\n * The popup's top edge aligns with the trigger's top edge (with viewport clamping).\n * Automatically flips to the opposite side if there is not enough space.\n * When set, `verticalAlign`, `horizontalAlign`, and the caret are ignored.\n */\n side?: 'left' | 'right'\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n /**\n * Theme for the popup content. Defaults to 'dark'.\n * Set to 'auto' to inherit the current theme.\n *\n * @default 'dark'\n */\n theme?: 'auto' | 'dark' | 'light'\n /**\n * Preferred vertical alignment of the popup (position below or above the trigger),\n * if there is enough space available.\n *\n * If the popup is too close to the edge of the viewport, it will flip to the opposite side\n * regardless of the preferred vertical alignment.\n *\n * @default 'bottom'\n */\n verticalAlign?: 'bottom' | 'top'\n}\n\n/**\n * Component that renders a popup, as well as a button that triggers the popup.\n *\n * The popup is rendered in a portal, and is automatically positioned above / below the trigger,\n * depending on the verticalAlign prop and the space available.\n */\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign = 'left',\n initActive = false,\n noBackground,\n onToggleClose,\n onToggleOpen,\n portalClassName,\n render,\n renderButton,\n showOnHover = false,\n showScrollbar = false,\n side,\n size = 'medium',\n theme = 'dark',\n verticalAlign = 'bottom',\n } = props\n\n const popupRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLDivElement>(null)\n\n /**\n * Whether the trigger is inside a `position: fixed` ancestor (e.g. a Drawer),\n * in which case the popup is positioned with `fixed` instead of `absolute`.\n */\n const isFixedRef = useRef(false)\n\n /**\n * Keeps track of whether the popup was opened via keyboard.\n * This is used to determine whether to autofocus the first element in the popup.\n * If the popup was opened via mouse, we do not want to autofocus the first element.\n */\n const openedViaKeyboardRef = useRef(false)\n\n const parentPopup = use(PopupContext)\n\n const [mounted, setMounted] = useState(false)\n const [active, setActiveInternal] = useState(initActive)\n const [isOnTop, setIsOnTop] = useState(verticalAlign === 'top')\n\n // Track when component is mounted to avoid SSR/client hydration mismatch\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const setActive = useCallback(\n (isActive: boolean, viaKeyboard = false) => {\n if (isActive) {\n openedViaKeyboardRef.current = viaKeyboard\n onToggleOpen?.(true)\n } else {\n onToggleClose?.()\n }\n setActiveInternal(isActive)\n },\n [onToggleClose, onToggleOpen],\n )\n\n // /////////////////////////////////////\n // Position Calculation\n //\n // Calculates and applies popup position relative to trigger.\n // Always checks viewport bounds (for flipping), but only updates\n // styles if the calculated position differs from current position.\n // /////////////////////////////////////\n\n const updatePosition = useEffectEvent(() => {\n const trigger = triggerRef.current\n const popup = popupRef.current\n if (!trigger || !popup) {\n return\n }\n\n const triggerRect = trigger.getBoundingClientRect()\n const popupRect = popup.getBoundingClientRect()\n\n // Inside a fixed ancestor, use `fixed` (no scroll offset) so background scrolling\n // doesn't shift the popup. Otherwise use page coordinates (absolute).\n const useFixed = isFixedRef.current\n const scrollY = useFixed ? 0 : window.scrollY\n const scrollX = useFixed ? 0 : window.scrollX\n\n // Gap between the popup and the trigger/viewport edges (in pixels)\n const offset = 10\n // Additional gap used in side mode so the child popup has breathing room from its parent\n const sideOffset = 4\n\n let top: number\n let left: number\n let caretLeft: number\n\n if (side) {\n // /////////////////////////////////////\n // Side Positioning\n // Places the popup to the left or right of the parent popup (not just the trigger),\n // top-aligned with the trigger. Flips to the opposite side if there is not enough\n // viewport space.\n // /////////////////////////////////////\n\n // Top: align with trigger top, clamped to viewport\n top = triggerRect.top + scrollY\n const maxTop = scrollY + window.innerHeight - popupRect.height - offset\n top = Math.max(scrollY + offset, Math.min(top, maxTop))\n\n // Use the parent popup's bounding rect as the reference for left/right positioning\n // so the child appears 4px from the parent popup edge, not just the trigger button.\n const anchorRect = parentPopup?.popupRef.current\n ? parentPopup.popupRef.current.getBoundingClientRect()\n : triggerRect\n\n if (side === 'left') {\n left = anchorRect.left - popupRect.width - sideOffset\n if (left < offset) {\n // flip to right side\n left = anchorRect.right + sideOffset\n }\n } else {\n left = anchorRect.right + sideOffset\n if (left + popupRect.width + offset > window.innerWidth) {\n // flip to left side\n left = anchorRect.left - popupRect.width - sideOffset\n }\n }\n\n left = left + scrollX\n // Caret not used in side mode; set a neutral value\n caretLeft = popupRect.width / 2\n\n setIsOnTop(false)\n } else {\n // /////////////////////////////////////\n // Vertical Positioning\n // Calculates the `top` position in absolute page coordinates.\n // Uses `verticalAlign` prop as the preferred direction, but flips\n // to the opposite side if there's not enough viewport space.\n // /////////////////////////////////////\n\n let onTop = verticalAlign === 'top'\n\n if (verticalAlign === 'bottom') {\n top = triggerRect.bottom + scrollY + offset\n\n if (triggerRect.bottom + popupRect.height + offset > window.innerHeight) {\n // Try to flip above — only do so if there's actually enough room\n const topIfAbove = triggerRect.top + scrollY - popupRect.height - offset\n if (topIfAbove >= scrollY) {\n top = topIfAbove\n onTop = true\n }\n // else: not enough room above either — keep below and let it overflow rather than going off-screen\n }\n } else {\n top = triggerRect.top + scrollY - popupRect.height - offset\n\n if (triggerRect.top - popupRect.height - offset < 0) {\n top = triggerRect.bottom + scrollY + offset\n onTop = false\n }\n }\n\n setIsOnTop(onTop)\n\n // /////////////////////////////////////\n // Horizontal Positioning\n // Calculates the `left` position based on `horizontalAlign` prop:\n // - 'left': aligns popup's left edge with trigger's left edge\n // - 'right': aligns popup's right edge with trigger's right edge\n // - 'center': centers popup horizontally relative to trigger\n // Then clamps to keep the popup within viewport bounds.\n // /////////////////////////////////////\n\n left =\n horizontalAlign === 'right'\n ? triggerRect.right - popupRect.width\n : horizontalAlign === 'center'\n ? triggerRect.left + triggerRect.width / 2 - popupRect.width / 2\n : triggerRect.left\n\n left = Math.max(offset, Math.min(left, window.innerWidth - popupRect.width - offset))\n\n // /////////////////////////////////////\n // Caret Positioning\n // Positions the caret arrow to point at the trigger's horizontal center.\n // Clamps between 12px from edges to prevent caret from overflowing the popup.\n // /////////////////////////////////////\n\n const triggerCenter = triggerRect.left + triggerRect.width / 2\n caretLeft = Math.max(12, Math.min(triggerCenter - left, popupRect.width - 12))\n }\n\n // /////////////////////////////////////\n // Apply Styles (only if changed)\n // Compares calculated position with current styles to avoid unnecessary\n // DOM updates during scroll. This prevents visual lag by relying on the absolute\n // positioning where possible (popup slightly lags behind when scrolling really fast),\n // while still allowing position changes when needed (e.g., sticky parent, viewport flip).\n // Values are rounded to match browser's CSS precision and avoid false updates.\n // /////////////////////////////////////\n\n const newTop = `${Math.round(top)}px`\n const newLeft = `${Math.round(left + scrollX)}px`\n const newCaretLeft = `${Math.round(caretLeft)}px`\n const newPosition = useFixed ? 'fixed' : ''\n\n if (popup.style.position !== newPosition) {\n popup.style.position = newPosition\n }\n if (popup.style.top !== newTop) {\n popup.style.top = newTop\n }\n if (popup.style.left !== newLeft) {\n popup.style.left = newLeft\n }\n if (popup.style.getPropertyValue('--caret-left') !== newCaretLeft) {\n popup.style.setProperty('--caret-left', newCaretLeft)\n }\n })\n\n // /////////////////////////////////////\n // Click Outside Handler\n // Closes popup when clicking outside both the popup and trigger.\n // Distinguishes between parent and child popups:\n // - Click in child popup: parent stays open\n // - Click in parent popup: child closes\n // /////////////////////////////////////\n\n const handleClickOutside = useEffectEvent((e: MouseEvent) => {\n const target = e.target as Node\n const isOutsidePopup = !popupRef.current?.contains(target)\n const isOutsideTrigger = !triggerRef.current?.contains(target)\n\n // Check if click is inside a popup portal\n const clickedPopupContent = (target as Element).closest?.('.popup__content')\n\n // If the clicked popup contains this popup's trigger, it's a parent popup\n // and we should close. If it doesn't contain our trigger, it's a child popup\n // and we should stay open to avoid closing parent when interacting with child.\n const isInsideChildPopup =\n clickedPopupContent && !clickedPopupContent.contains(triggerRef.current)\n\n if (isOutsidePopup && isOutsideTrigger && !isInsideChildPopup) {\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Keyboard Navigation\n // Handles keyboard interactions when popup is open:\n // - Escape: closes popup and returns focus to trigger\n // - Tab/Shift+Tab: cycles through focusable items with wrapping\n // - ArrowUp/ArrowDown: same as Shift+Tab/Tab for menu-style navigation\n // Focus is managed manually to support elements the browser might skip.\n // /////////////////////////////////////\n\n const handleKeyDown = useEffectEvent((e: KeyboardEvent) => {\n const popup = popupRef.current\n if (!popup || !active) {\n return\n }\n\n if (e.key === 'Escape') {\n e.preventDefault()\n setActive(false)\n triggerRef.current?.querySelector<HTMLElement>('button, [tabindex=\"0\"]')?.focus()\n return\n }\n\n if (e.key === 'Tab' || e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const focusable = Array.from(popup.querySelectorAll<HTMLElement>(TABBABLE_SELECTOR))\n if (focusable.length === 0) {\n return\n }\n\n e.preventDefault()\n\n const currentIndex = focusable.findIndex((el) => el === document.activeElement)\n const goBackward = e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)\n\n let nextIndex: number\n if (currentIndex === -1) {\n nextIndex = goBackward ? focusable.length - 1 : 0\n } else if (goBackward) {\n nextIndex = currentIndex === 0 ? focusable.length - 1 : currentIndex - 1\n } else {\n nextIndex = currentIndex === focusable.length - 1 ? 0 : currentIndex + 1\n }\n\n focusable[nextIndex].focus()\n }\n })\n\n // /////////////////////////////////////\n // Click Handler for Actionable Elements\n // Closes popup when buttons/links inside are clicked (includes Enter/Space activation).\n // /////////////////////////////////////\n\n const handleActionableClick = useEffectEvent((e: MouseEvent) => {\n const target = e.target as HTMLElement\n\n // Allow opting out with data-popup-prevent-close attribute on element or ancestor\n if (target.closest('[data-popup-prevent-close]')) {\n return\n }\n\n // Check if the clicked element or any ancestor is an actionable element\n const actionable = target.closest('button, a[href], [role=\"button\"], [role=\"menuitem\"]')\n if (actionable && popupRef.current?.contains(actionable)) {\n // Don't close if clicking a nested popup's trigger — it will manage its own open state\n if (actionable.closest(`.${baseClass}__trigger-wrap`)) {\n return\n }\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Effect: Setup/Teardown position and focus management\n // /////////////////////////////////////\n\n useEffect(() => {\n if (!active) {\n const popup = popupRef.current\n if (popup) {\n // Clear inline position styles so the CSS `top: -9999px` rule on\n // `.popup__hidden-content` takes effect. Without this, the inline\n // styles set during positioning would win over the CSS rule, keeping\n // portaled children (e.g. a ReactSelect menu) visually on-screen.\n popup.style.position = ''\n popup.style.top = ''\n popup.style.left = ''\n }\n return\n }\n\n const popup = popupRef.current\n if (!popup) {\n return\n }\n\n // /////////////////////////////////////\n // Initial Position\n // Calculate and apply popup position.\n // getBoundingClientRect() forces synchronous layout.\n //\n // We call updatePosition() twice: once synchronously (so the popup\n // snaps to roughly the right place immediately rather than flashing\n // from -9999px) and once in a requestAnimationFrame, which fires\n // after the browser has finished laying out the newly-visible popup\n // content. The rAF call is the authoritative one — it catches cases\n // where the popup height wasn't stable yet during the first call\n // (e.g. ColumnSelection popup content rendering after hidden → visible\n // class switch), which was causing incorrect flip-to-top decisions.\n // /////////////////////////////////////\n\n // Decide the positioning strategy once per open.\n isFixedRef.current = hasFixedAncestor(triggerRef.current)\n\n updatePosition()\n const rafId = requestAnimationFrame(() => {\n updatePosition()\n })\n\n // /////////////////////////////////////\n // Focus Management\n // When opened via keyboard, autofocus the first focusable button.\n // When opened via mouse, skip autofocus to avoid unwanted highlights.\n // /////////////////////////////////////\n\n if (openedViaKeyboardRef.current) {\n // Use requestAnimationFrame to ensure DOM is ready.\n requestAnimationFrame(() => {\n const firstFocusable = popup.querySelector<HTMLElement>(TABBABLE_SELECTOR)\n firstFocusable?.focus()\n })\n }\n\n // /////////////////////////////////////\n // Event Listeners\n // - resize/scroll: recalculate position (only applies styles if changed)\n // - mousedown: detect clicks outside to close\n // - keydown: handle keyboard navigation\n // /////////////////////////////////////\n\n window.addEventListener('resize', updatePosition)\n window.addEventListener('scroll', updatePosition, { capture: true, passive: true })\n document.addEventListener('mousedown', handleClickOutside)\n document.addEventListener('keydown', handleKeyDown)\n popup.addEventListener('click', handleActionableClick)\n\n return () => {\n cancelAnimationFrame(rafId)\n window.removeEventListener('resize', updatePosition)\n window.removeEventListener('scroll', updatePosition, { capture: true })\n document.removeEventListener('mousedown', handleClickOutside)\n document.removeEventListener('keydown', handleKeyDown)\n popup.removeEventListener('click', handleActionableClick)\n }\n }, [active])\n\n useEffect(() => {\n if (forceOpen !== undefined) {\n setActive(forceOpen)\n }\n }, [forceOpen, setActive])\n\n const Trigger = (\n <PopupTrigger\n active={active}\n button={button}\n buttonType={buttonType}\n className={buttonClassName}\n disabled={disabled}\n noBackground={noBackground}\n renderButton={renderButton}\n setActive={setActive}\n size={buttonSize}\n />\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')} id={id}>\n <div className={`${baseClass}__trigger-wrap`} ref={triggerRef}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n role=\"button\"\n tabIndex={0}\n >\n {Trigger}\n </div>\n ) : (\n Trigger\n )}\n </div>\n\n {mounted\n ? // We need to make sure the popup is part of the DOM (although invisible), even if it's not active.\n // This ensures that components within the popup, like modals, do not unmount when the popup closes.\n // Otherwise, modals opened from the popup will close unexpectedly when clicking within the modal, since\n // that closes the popup due to the click outside handler.\n createPortal(\n <PopupContext value={{ popupRef }}>\n <div\n className={\n active\n ? [\n `${baseClass}__content`,\n `${baseClass}--size-${size}`,\n side\n ? `${baseClass}--side-${side}`\n : isOnTop\n ? `${baseClass}--v-top`\n : `${baseClass}--v-bottom`,\n portalClassName,\n ]\n .filter(Boolean)\n .join(' ')\n : // Do not share any class names between active and disabled popups, to make sure\n // tests do not accidentally target inactive popups.\n `${baseClass}__hidden-content`\n }\n data-popup-id={id || undefined}\n data-theme={theme === 'auto' ? undefined : theme}\n ref={popupRef}\n >\n <div\n className={`${baseClass}__scroll-container${showScrollbar ? ` ${baseClass}__scroll-container--show-scrollbar` : ''}`}\n >\n {theme === 'auto' ? (\n <>\n {render?.({ close: () => setActive(false) })}\n {children}\n </>\n ) : (\n <ThemeProvider theme={theme}>\n {render?.({ close: () => setActive(false) })}\n {children}\n </ThemeProvider>\n )}\n </div>\n {caret && !side && <div className={`${baseClass}__caret`} />}\n </div>\n </PopupContext>,\n document.body,\n )\n : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM;AAE3B,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AACpF,SAASC,YAAY,QAAQ;AAE7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AACP,SAASC,YAAY,QAAQ;AAE7B,MAAMC,SAAA,GAAY;AAMlB,MAAMC,YAAA,gBAAeX,aAAA,CAAwC;AAE7D;;;AAGA,MAAMY,iBAAA,GAAoB,CACxB,WACA,yBACA,6CACA,yBACA,2BACA,cACA,oDACA,mBACA,mBACA,UACD,CACEC,GAAG,CAAEC,CAAA,IAAM,GAAGA,CAAA,uBAAwB,EACtCC,IAAI,CAAC;AAER;;;;AAIA,MAAMC,gBAAA,GAAoBC,OAAA;EACxB,IAAIC,IAAA,GAAOD,OAAA,EAASE,aAAA;EACpB,OAAOD,IAAA,IAAQA,IAAA,KAASE,QAAA,CAASC,IAAI,EAAE;IACrC,IAAIC,MAAA,CAAOC,gBAAgB,CAACL,IAAA,EAAMM,QAAQ,KAAK,SAAS;MACtD,OAAO;IACT;IACAN,IAAA,GAAOA,IAAA,CAAKC,aAAa;EAC3B;EACA,OAAO;AACT;AAsFA;;;;;;AAMA,OAAO,MAAMM,KAAA,GAA+BC,KAAA;EAC1C,MAAM;IACJC,EAAE;IACFC,MAAM;IACNC,eAAe;IACfC,UAAU;IACVC,UAAA,GAAa,SAAS;IACtBC,KAAA,GAAQ,IAAI;IACZC,QAAQ;IACRC,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,eAAA,GAAkB,MAAM;IACxBC,UAAA,GAAa,KAAK;IAClBC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,eAAe;IACfC,MAAM;IACNC,YAAY;IACZC,WAAA,GAAc,KAAK;IACnBC,aAAA,GAAgB,KAAK;IACrBC,IAAI;IACJC,IAAA,GAAO,QAAQ;IACfC,KAAA,GAAQ,MAAM;IACdC,aAAA,GAAgB;EAAQ,CACzB,GAAGxB,KAAA;EAEJ,MAAMyB,QAAA,GAAW/C,MAAA,CAAuB;EACxC,MAAMgD,UAAA,GAAahD,MAAA,CAAuB;EAE1C;;;;EAIA,MAAMiD,UAAA,GAAajD,MAAA,CAAO;EAE1B;;;;;EAKA,MAAMkD,oBAAA,GAAuBlD,MAAA,CAAO;EAEpC,MAAMmD,WAAA,GAActD,GAAA,CAAIU,YAAA;EAExB,MAAM,CAAC6C,OAAA,EAASC,UAAA,CAAW,GAAGpD,QAAA,CAAS;EACvC,MAAM,CAACqD,MAAA,EAAQC,iBAAA,CAAkB,GAAGtD,QAAA,CAASiC,UAAA;EAC7C,MAAM,CAACsB,OAAA,EAASC,UAAA,CAAW,GAAGxD,QAAA,CAAS6C,aAAA,KAAkB;EAEzD;EACA/C,SAAA,CAAU;IACRsD,UAAA,CAAW;EACb,GAAG,EAAE;EAEL,MAAMK,SAAA,GAAY5D,WAAA,CAChB,CAAC6D,QAAA,EAAmBC,WAAA,GAAc,KAAK;IACrC,IAAID,QAAA,EAAU;MACZT,oBAAA,CAAqBW,OAAO,GAAGD,WAAA;MAC/BvB,YAAA,GAAe;IACjB,OAAO;MACLD,aAAA;IACF;IACAmB,iBAAA,CAAkBI,QAAA;EACpB,GACA,CAACvB,aAAA,EAAeC,YAAA,CAAa;EAG/B;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,MAAMyB,cAAA,GAAiB3D,cAAA,CAAe;IACpC,MAAM4D,OAAA,GAAUf,UAAA,CAAWa,OAAO;IAClC,MAAMG,KAAA,GAAQjB,QAAA,CAASc,OAAO;IAC9B,IAAI,CAACE,OAAA,IAAW,CAACC,KAAA,EAAO;MACtB;IACF;IAEA,MAAMC,WAAA,GAAcF,OAAA,CAAQG,qBAAqB;IACjD,MAAMC,SAAA,GAAYH,KAAA,CAAME,qBAAqB;IAE7C;IACA;IACA,MAAME,QAAA,GAAWnB,UAAA,CAAWY,OAAO;IACnC,MAAMQ,OAAA,GAAUD,QAAA,GAAW,IAAIlD,MAAA,CAAOmD,OAAO;IAC7C,MAAMC,OAAA,GAAUF,QAAA,GAAW,IAAIlD,MAAA,CAAOoD,OAAO;IAE7C;IACA,MAAMC,MAAA,GAAS;IACf;IACA,MAAMC,UAAA,GAAa;IAEnB,IAAIC,GAAA;IACJ,IAAIC,IAAA;IACJ,IAAIC,SAAA;IAEJ,IAAIhC,IAAA,EAAM;MACR;MACA;MACA;MACA;MACA;MACA;MAEA;MACA8B,GAAA,GAAMR,WAAA,CAAYQ,GAAG,GAAGJ,OAAA;MACxB,MAAMO,MAAA,GAASP,OAAA,GAAUnD,MAAA,CAAO2D,WAAW,GAAGV,SAAA,CAAUW,MAAM,GAAGP,MAAA;MACjEE,GAAA,GAAMM,IAAA,CAAKC,GAAG,CAACX,OAAA,GAAUE,MAAA,EAAQQ,IAAA,CAAKE,GAAG,CAACR,GAAA,EAAKG,MAAA;MAE/C;MACA;MACA,MAAMM,UAAA,GAAa/B,WAAA,EAAaJ,QAAA,CAASc,OAAA,GACrCV,WAAA,CAAYJ,QAAQ,CAACc,OAAO,CAACK,qBAAqB,KAClDD,WAAA;MAEJ,IAAItB,IAAA,KAAS,QAAQ;QACnB+B,IAAA,GAAOQ,UAAA,CAAWR,IAAI,GAAGP,SAAA,CAAUgB,KAAK,GAAGX,UAAA;QAC3C,IAAIE,IAAA,GAAOH,MAAA,EAAQ;UACjB;UACAG,IAAA,GAAOQ,UAAA,CAAWE,KAAK,GAAGZ,UAAA;QAC5B;MACF,OAAO;QACLE,IAAA,GAAOQ,UAAA,CAAWE,KAAK,GAAGZ,UAAA;QAC1B,IAAIE,IAAA,GAAOP,SAAA,CAAUgB,KAAK,GAAGZ,MAAA,GAASrD,MAAA,CAAOmE,UAAU,EAAE;UACvD;UACAX,IAAA,GAAOQ,UAAA,CAAWR,IAAI,GAAGP,SAAA,CAAUgB,KAAK,GAAGX,UAAA;QAC7C;MACF;MAEAE,IAAA,GAAOA,IAAA,GAAOJ,OAAA;MACd;MACAK,SAAA,GAAYR,SAAA,CAAUgB,KAAK,GAAG;MAE9B1B,UAAA,CAAW;IACb,OAAO;MACL;MACA;MACA;MACA;MACA;MACA;MAEA,IAAI6B,KAAA,GAAQxC,aAAA,KAAkB;MAE9B,IAAIA,aAAA,KAAkB,UAAU;QAC9B2B,GAAA,GAAMR,WAAA,CAAYsB,MAAM,GAAGlB,OAAA,GAAUE,MAAA;QAErC,IAAIN,WAAA,CAAYsB,MAAM,GAAGpB,SAAA,CAAUW,MAAM,GAAGP,MAAA,GAASrD,MAAA,CAAO2D,WAAW,EAAE;UACvE;UACA,MAAMW,UAAA,GAAavB,WAAA,CAAYQ,GAAG,GAAGJ,OAAA,GAAUF,SAAA,CAAUW,MAAM,GAAGP,MAAA;UAClE,IAAIiB,UAAA,IAAcnB,OAAA,EAAS;YACzBI,GAAA,GAAMe,UAAA;YACNF,KAAA,GAAQ;UACV;UACA;QACF;MACF,OAAO;QACLb,GAAA,GAAMR,WAAA,CAAYQ,GAAG,GAAGJ,OAAA,GAAUF,SAAA,CAAUW,MAAM,GAAGP,MAAA;QAErD,IAAIN,WAAA,CAAYQ,GAAG,GAAGN,SAAA,CAAUW,MAAM,GAAGP,MAAA,GAAS,GAAG;UACnDE,GAAA,GAAMR,WAAA,CAAYsB,MAAM,GAAGlB,OAAA,GAAUE,MAAA;UACrCe,KAAA,GAAQ;QACV;MACF;MAEA7B,UAAA,CAAW6B,KAAA;MAEX;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAEAZ,IAAA,GACEzC,eAAA,KAAoB,UAChBgC,WAAA,CAAYmB,KAAK,GAAGjB,SAAA,CAAUgB,KAAK,GACnClD,eAAA,KAAoB,WAClBgC,WAAA,CAAYS,IAAI,GAAGT,WAAA,CAAYkB,KAAK,GAAG,IAAIhB,SAAA,CAAUgB,KAAK,GAAG,IAC7DlB,WAAA,CAAYS,IAAI;MAExBA,IAAA,GAAOK,IAAA,CAAKC,GAAG,CAACT,MAAA,EAAQQ,IAAA,CAAKE,GAAG,CAACP,IAAA,EAAMxD,MAAA,CAAOmE,UAAU,GAAGlB,SAAA,CAAUgB,KAAK,GAAGZ,MAAA;MAE7E;MACA;MACA;MACA;MACA;MAEA,MAAMkB,aAAA,GAAgBxB,WAAA,CAAYS,IAAI,GAAGT,WAAA,CAAYkB,KAAK,GAAG;MAC7DR,SAAA,GAAYI,IAAA,CAAKC,GAAG,CAAC,IAAID,IAAA,CAAKE,GAAG,CAACQ,aAAA,GAAgBf,IAAA,EAAMP,SAAA,CAAUgB,KAAK,GAAG;IAC5E;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,MAAMO,MAAA,GAAS,GAAGX,IAAA,CAAKY,KAAK,CAAClB,GAAA,KAAQ;IACrC,MAAMmB,OAAA,GAAU,GAAGb,IAAA,CAAKY,KAAK,CAACjB,IAAA,GAAOJ,OAAA,KAAY;IACjD,MAAMuB,YAAA,GAAe,GAAGd,IAAA,CAAKY,KAAK,CAAChB,SAAA,KAAc;IACjD,MAAMmB,WAAA,GAAc1B,QAAA,GAAW,UAAU;IAEzC,IAAIJ,KAAA,CAAM+B,KAAK,CAAC3E,QAAQ,KAAK0E,WAAA,EAAa;MACxC9B,KAAA,CAAM+B,KAAK,CAAC3E,QAAQ,GAAG0E,WAAA;IACzB;IACA,IAAI9B,KAAA,CAAM+B,KAAK,CAACtB,GAAG,KAAKiB,MAAA,EAAQ;MAC9B1B,KAAA,CAAM+B,KAAK,CAACtB,GAAG,GAAGiB,MAAA;IACpB;IACA,IAAI1B,KAAA,CAAM+B,KAAK,CAACrB,IAAI,KAAKkB,OAAA,EAAS;MAChC5B,KAAA,CAAM+B,KAAK,CAACrB,IAAI,GAAGkB,OAAA;IACrB;IACA,IAAI5B,KAAA,CAAM+B,KAAK,CAACC,gBAAgB,CAAC,oBAAoBH,YAAA,EAAc;MACjE7B,KAAA,CAAM+B,KAAK,CAACE,WAAW,CAAC,gBAAgBJ,YAAA;IAC1C;EACF;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,MAAMK,kBAAA,GAAqB/F,cAAA,CAAgBgG,CAAA;IACzC,MAAMC,MAAA,GAASD,CAAA,CAAEC,MAAM;IACvB,MAAMC,cAAA,GAAiB,CAACtD,QAAA,CAASc,OAAO,EAAEyC,QAAA,CAASF,MAAA;IACnD,MAAMG,gBAAA,GAAmB,CAACvD,UAAA,CAAWa,OAAO,EAAEyC,QAAA,CAASF,MAAA;IAEvD;IACA,MAAMI,mBAAA,GAAsBJ,MAAC,CAAmBK,OAAO,GAAG;IAE1D;IACA;IACA;IACA,MAAMC,kBAAA,GACJF,mBAAA,IAAuB,CAACA,mBAAA,CAAoBF,QAAQ,CAACtD,UAAA,CAAWa,OAAO;IAEzE,IAAIwC,cAAA,IAAkBE,gBAAA,IAAoB,CAACG,kBAAA,EAAoB;MAC7DhD,SAAA,CAAU;IACZ;EACF;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,MAAMiD,aAAA,GAAgBxG,cAAA,CAAgBgG,GAAA;IACpC,MAAMnC,OAAA,GAAQjB,QAAA,CAASc,OAAO;IAC9B,IAAI,CAACG,OAAA,IAAS,CAACV,MAAA,EAAQ;MACrB;IACF;IAEA,IAAI6C,GAAA,CAAES,GAAG,KAAK,UAAU;MACtBT,GAAA,CAAEU,cAAc;MAChBnD,SAAA,CAAU;MACVV,UAAA,CAAWa,OAAO,EAAEiD,aAAA,CAA2B,2BAA2BC,KAAA;MAC1E;IACF;IAEA,IAAIZ,GAAA,CAAES,GAAG,KAAK,SAAST,GAAA,CAAES,GAAG,KAAK,eAAeT,GAAA,CAAES,GAAG,KAAK,WAAW;MACnE,MAAMI,SAAA,GAAYC,KAAA,CAAMC,IAAI,CAAClD,OAAA,CAAMmD,gBAAgB,CAAc3G,iBAAA;MACjE,IAAIwG,SAAA,CAAUI,MAAM,KAAK,GAAG;QAC1B;MACF;MAEAjB,GAAA,CAAEU,cAAc;MAEhB,MAAMQ,YAAA,GAAeL,SAAA,CAAUM,SAAS,CAAEC,EAAA,IAAOA,EAAA,KAAOvG,QAAA,CAASwG,aAAa;MAC9E,MAAMC,UAAA,GAAatB,GAAA,CAAES,GAAG,KAAK,aAAcT,GAAA,CAAES,GAAG,KAAK,SAAST,GAAA,CAAEuB,QAAQ;MAExE,IAAIC,SAAA;MACJ,IAAIN,YAAA,KAAiB,CAAC,GAAG;QACvBM,SAAA,GAAYF,UAAA,GAAaT,SAAA,CAAUI,MAAM,GAAG,IAAI;MAClD,OAAO,IAAIK,UAAA,EAAY;QACrBE,SAAA,GAAYN,YAAA,KAAiB,IAAIL,SAAA,CAAUI,MAAM,GAAG,IAAIC,YAAA,GAAe;MACzE,OAAO;QACLM,SAAA,GAAYN,YAAA,KAAiBL,SAAA,CAAUI,MAAM,GAAG,IAAI,IAAIC,YAAA,GAAe;MACzE;MAEAL,SAAS,CAACW,SAAA,CAAU,CAACZ,KAAK;IAC5B;EACF;EAEA;EACA;EACA;EACA;EAEA,MAAMa,qBAAA,GAAwBzH,cAAA,CAAgBgG,GAAA;IAC5C,MAAMC,QAAA,GAASD,GAAA,CAAEC,MAAM;IAEvB;IACA,IAAIA,QAAA,CAAOK,OAAO,CAAC,+BAA+B;MAChD;IACF;IAEA;IACA,MAAMoB,UAAA,GAAazB,QAAA,CAAOK,OAAO,CAAC;IAClC,IAAIoB,UAAA,IAAc9E,QAAA,CAASc,OAAO,EAAEyC,QAAA,CAASuB,UAAA,GAAa;MACxD;MACA,IAAIA,UAAA,CAAWpB,OAAO,CAAC,IAAInG,SAAA,gBAAyB,GAAG;QACrD;MACF;MACAoD,SAAA,CAAU;IACZ;EACF;EAEA;EACA;EACA;EAEA3D,SAAA,CAAU;IACR,IAAI,CAACuD,MAAA,EAAQ;MACX,MAAMU,OAAA,GAAQjB,QAAA,CAASc,OAAO;MAC9B,IAAIG,OAAA,EAAO;QACT;QACA;QACA;QACA;QACAA,OAAA,CAAM+B,KAAK,CAAC3E,QAAQ,GAAG;QACvB4C,OAAA,CAAM+B,KAAK,CAACtB,GAAG,GAAG;QAClBT,OAAA,CAAM+B,KAAK,CAACrB,IAAI,GAAG;MACrB;MACA;IACF;IAEA,MAAMV,OAAA,GAAQjB,QAAA,CAASc,OAAO;IAC9B,IAAI,CAACG,OAAA,EAAO;MACV;IACF;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACAf,UAAA,CAAWY,OAAO,GAAGjD,gBAAA,CAAiBoC,UAAA,CAAWa,OAAO;IAExDC,cAAA;IACA,MAAMgE,KAAA,GAAQC,qBAAA,CAAsB;MAClCjE,cAAA;IACF;IAEA;IACA;IACA;IACA;IACA;IAEA,IAAIZ,oBAAA,CAAqBW,OAAO,EAAE;MAChC;MACAkE,qBAAA,CAAsB;QACpB,MAAMC,cAAA,GAAiBhE,OAAA,CAAM8C,aAAa,CAActG,iBAAA;QACxDwH,cAAA,EAAgBjB,KAAA;MAClB;IACF;IAEA;IACA;IACA;IACA;IACA;IACA;IAEA7F,MAAA,CAAO+G,gBAAgB,CAAC,UAAUnE,cAAA;IAClC5C,MAAA,CAAO+G,gBAAgB,CAAC,UAAUnE,cAAA,EAAgB;MAAEoE,OAAA,EAAS;MAAMC,OAAA,EAAS;IAAK;IACjFnH,QAAA,CAASiH,gBAAgB,CAAC,aAAa/B,kBAAA;IACvClF,QAAA,CAASiH,gBAAgB,CAAC,WAAWtB,aAAA;IACrC3C,OAAA,CAAMiE,gBAAgB,CAAC,SAASL,qBAAA;IAEhC,OAAO;MACLQ,oBAAA,CAAqBN,KAAA;MACrB5G,MAAA,CAAOmH,mBAAmB,CAAC,UAAUvE,cAAA;MACrC5C,MAAA,CAAOmH,mBAAmB,CAAC,UAAUvE,cAAA,EAAgB;QAAEoE,OAAA,EAAS;MAAK;MACrElH,QAAA,CAASqH,mBAAmB,CAAC,aAAanC,kBAAA;MAC1ClF,QAAA,CAASqH,mBAAmB,CAAC,WAAW1B,aAAA;MACxC3C,OAAA,CAAMqE,mBAAmB,CAAC,SAAST,qBAAA;IACrC;EACF,GAAG,CAACtE,MAAA,CAAO;EAEXvD,SAAA,CAAU;IACR,IAAIiC,SAAA,KAAcsG,SAAA,EAAW;MAC3B5E,SAAA,CAAU1B,SAAA;IACZ;EACF,GAAG,CAACA,SAAA,EAAW0B,SAAA,CAAU;EAEzB,MAAM6E,OAAA,gBACJC,IAAA,CAACnI,YAAA;IACCiD,MAAA,EAAQA,MAAA;IACR9B,MAAA,EAAQA,MAAA;IACRG,UAAA,EAAYA,UAAA;IACZG,SAAA,EAAWL,eAAA;IACXM,QAAA,EAAUA,QAAA;IACVI,YAAA,EAAcA,YAAA;IACdK,YAAA,EAAcA,YAAA;IACdkB,SAAA,EAAWA,SAAA;IACXd,IAAA,EAAMlB;;EAIV,oBACE+G,KAAA,CAAC;IAAI3G,SAAA,EAAW,CAACxB,SAAA,EAAWwB,SAAA,CAAU,CAAC4G,MAAM,CAACC,OAAA,EAAShI,IAAI,CAAC;IAAMY,EAAA,EAAIA,EAAA;4BACpEiH,IAAA,CAAC;MAAI1G,SAAA,EAAW,GAAGxB,SAAA,gBAAyB;MAAEsI,GAAA,EAAK5F,UAAA;gBAChDP,WAAA,gBACC+F,IAAA,CAAC;QACC1G,SAAA,EAAW,GAAGxB,SAAA,kBAA2B;QACzCuI,YAAA,EAAcA,CAAA,KAAMnF,SAAA,CAAU;QAC9BoF,YAAA,EAAcA,CAAA,KAAMpF,SAAA,CAAU;QAC9BqF,IAAA,EAAK;QACLC,QAAA,EAAU;kBAETT;WAGHA;QAIHnF,OAAA;IAEG;IACA;IACA;;IACAlD,YAAA,cACEsI,IAAA,CAACjI,YAAA;MAAa0I,KAAA,EAAO;QAAElG;MAAS;gBAC9B,aAAA0F,KAAA,CAAC;QACC3G,SAAA,EACEwB,MAAA,GACI,CACE,GAAGhD,SAAA,WAAoB,EACvB,GAAGA,SAAA,UAAmBsC,IAAA,EAAM,EAC5BD,IAAA,GACI,GAAGrC,SAAA,UAAmBqC,IAAA,EAAM,GAC5Ba,OAAA,GACE,GAAGlD,SAAA,SAAkB,GACrB,GAAGA,SAAA,YAAqB,EAC9BgC,eAAA,CACD,CACEoG,MAAM,CAACC,OAAA,EACPhI,IAAI,CAAC;QAER;QACA,GAAGL,SAAA,kBAA2B;QAEpC,iBAAeiB,EAAA,IAAM+G,SAAA;QACrB,cAAYzF,KAAA,KAAU,SAASyF,SAAA,GAAYzF,KAAA;QAC3C+F,GAAA,EAAK7F,QAAA;gCAELyF,IAAA,CAAC;UACC1G,SAAA,EAAW,GAAGxB,SAAA,qBAA8BoC,aAAA,GAAgB,IAAIpC,SAAA,oCAA6C,GAAG,IAAI;oBAEnHuC,KAAA,KAAU,sBACT4F,KAAA,CAAAS,SAAA;uBACG3G,MAAA,GAAS;cAAE4G,KAAA,EAAOA,CAAA,KAAMzF,SAAA,CAAU;YAAO,IACzC7B,QAAA;4BAGH4G,KAAA,CAACrI,aAAA;YAAcyC,KAAA,EAAOA,KAAA;uBACnBN,MAAA,GAAS;cAAE4G,KAAA,EAAOA,CAAA,KAAMzF,SAAA,CAAU;YAAO,IACzC7B,QAAA;;YAIND,KAAA,IAAS,CAACe,IAAA,iBAAQ6F,IAAA,CAAC;UAAI1G,SAAA,EAAW,GAAGxB,SAAA;;;QAG1CU,QAAA,CAASC,IAAI,IAEf;;AAGV","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["PopupList","React","createContext","use","useCallback","useEffect","useRef","useState","createPortal","useEffectEvent","ThemeProvider","PopupTrigger","baseClass","PopupContext","TABBABLE_SELECTOR","map","s","join","hasFixedAncestor","element","node","parentElement","document","body","window","getComputedStyle","position","Popup","props","id","button","buttonAriaLabel","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","initActive","noBackground","onToggleClose","onToggleOpen","portalClassName","render","renderButton","showOnHover","showScrollbar","side","size","theme","verticalAlign","popupRef","triggerRef","isFixedRef","openedViaKeyboardRef","parentPopup","mounted","setMounted","active","setActiveInternal","isOnTop","setIsOnTop","setActive","isActive","viaKeyboard","current","updatePosition","trigger","popup","triggerRect","getBoundingClientRect","popupRect","useFixed","scrollY","scrollX","offset","sideOffset","top","left","caretLeft","maxTop","innerHeight","height","Math","max","min","anchorRect","width","right","innerWidth","onTop","bottom","topIfAbove","triggerCenter","newTop","round","newLeft","newCaretLeft","newPosition","style","getPropertyValue","setProperty","handleClickOutside","e","target","isOutsidePopup","contains","isOutsideTrigger","clickedPopupContent","closest","isInsideChildPopup","handleKeyDown","key","preventDefault","querySelector","focus","focusable","Array","from","querySelectorAll","length","currentIndex","findIndex","el","activeElement","goBackward","shiftKey","nextIndex","handleActionableClick","actionable","rafId","requestAnimationFrame","firstFocusable","addEventListener","capture","passive","cancelAnimationFrame","removeEventListener","undefined","Trigger","_jsx","_jsxs","filter","Boolean","ref","onMouseEnter","onMouseLeave","role","tabIndex","value","_Fragment","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport React, { createContext, use, useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ThemeProvider } from '../../providers/Theme/index.js'\nimport './index.css'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\ntype PopupContextValue = {\n popupRef: React.RefObject<HTMLDivElement | null>\n}\n\nconst PopupContext = createContext<null | PopupContextValue>(null)\n\n/**\n * Selector for all elements the browser considers tabbable.\n */\nconst TABBABLE_SELECTOR = [\n 'a[href]',\n 'button:not(:disabled)',\n 'input:not(:disabled):not([type=\"hidden\"])',\n 'select:not(:disabled)',\n 'textarea:not(:disabled)',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n 'summary',\n]\n .map((s) => `${s}:not([tabindex=\"-1\"])`)\n .join(', ')\n\n/**\n * Returns whether the element has a `position: fixed` ancestor (e.g. an open Drawer).\n * Such popups must be positioned with `fixed` so they don't drift when the background scrolls.\n */\nconst hasFixedAncestor = (element: HTMLElement | null): boolean => {\n let node = element?.parentElement\n while (node && node !== document.body) {\n if (window.getComputedStyle(node).position === 'fixed') {\n return true\n }\n node = node.parentElement\n }\n return false\n}\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n /**\n * Accessible label for the trigger button.\n * Necessary when the button has an icon-only content,\n * so the button has an accessible name for screen readers.\n */\n buttonAriaLabel?: string\n /**\n * The class name to apply to the button that triggers the popup.\n */\n buttonClassName?: string\n buttonSize?: 'large' | 'medium'\n buttonType?: 'custom' | 'default'\n caret?: boolean\n children?: React.ReactNode\n /**\n * The class name to apply to the popup container containing the trigger.\n * This does not wrap the actual popup content, which is rendered in a portal.\n */\n className?: string\n disabled?: boolean\n /**\n * Force control the open state of the popup, regardless of the trigger.\n */\n forceOpen?: boolean\n /**\n * Preferred horizontal alignment of the popup, if there is enough space available.\n *\n * @default 'left'\n */\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleClose?: () => void\n onToggleOpen?: (active: boolean) => void\n /**\n * Class name to apply to the portal container.\n */\n portalClassName?: string\n render?: (args: { close: () => void }) => React.ReactNode\n /**\n * Render prop for custom trigger button. Receives onClick/onKeyDown/aria props.\n * When provided, `button` and `buttonType` are ignored.\n */\n renderButton?: (props: {\n active: boolean\n 'aria-expanded': boolean\n 'aria-haspopup': true\n onClick: React.MouseEventHandler\n onKeyDown: React.KeyboardEventHandler\n }) => React.ReactNode\n showOnHover?: boolean\n /**\n * By default, the scrollbar is hidden. If you want to show it, set this to true.\n * In both cases, the container is still scrollable.\n *\n * @default false\n */\n showScrollbar?: boolean\n /**\n * Position the popup to the side of the trigger instead of above/below.\n * The popup's top edge aligns with the trigger's top edge (with viewport clamping).\n * Automatically flips to the opposite side if there is not enough space.\n * When set, `verticalAlign`, `horizontalAlign`, and the caret are ignored.\n */\n side?: 'left' | 'right'\n size?: 'fit-content' | 'large' | 'small'\n /**\n * Theme for the popup content. Defaults to 'dark'.\n * Set to 'auto' to inherit the current theme.\n *\n * @default 'dark'\n */\n theme?: 'auto' | 'dark' | 'light'\n /**\n * Preferred vertical alignment of the popup (position below or above the trigger),\n * if there is enough space available.\n *\n * If the popup is too close to the edge of the viewport, it will flip to the opposite side\n * regardless of the preferred vertical alignment.\n *\n * @default 'bottom'\n */\n verticalAlign?: 'bottom' | 'top'\n}\n\n/**\n * Component that renders a popup, as well as a button that triggers the popup.\n *\n * The popup is rendered in a portal, and is automatically positioned above / below the trigger,\n * depending on the verticalAlign prop and the space available.\n */\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n button,\n buttonAriaLabel,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign = 'left',\n initActive = false,\n noBackground,\n onToggleClose,\n onToggleOpen,\n portalClassName,\n render,\n renderButton,\n showOnHover = false,\n showScrollbar = false,\n side,\n size = 'fit-content',\n theme = 'dark',\n verticalAlign = 'bottom',\n } = props\n\n const popupRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLDivElement>(null)\n\n /**\n * Whether the trigger is inside a `position: fixed` ancestor (e.g. a Drawer),\n * in which case the popup is positioned with `fixed` instead of `absolute`.\n */\n const isFixedRef = useRef(false)\n\n /**\n * Keeps track of whether the popup was opened via keyboard.\n * This is used to determine whether to autofocus the first element in the popup.\n * If the popup was opened via mouse, we do not want to autofocus the first element.\n */\n const openedViaKeyboardRef = useRef(false)\n\n const parentPopup = use(PopupContext)\n\n const [mounted, setMounted] = useState(false)\n const [active, setActiveInternal] = useState(initActive)\n const [isOnTop, setIsOnTop] = useState(verticalAlign === 'top')\n\n // Track when component is mounted to avoid SSR/client hydration mismatch\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const setActive = useCallback(\n (isActive: boolean, viaKeyboard = false) => {\n if (isActive) {\n openedViaKeyboardRef.current = viaKeyboard\n onToggleOpen?.(true)\n } else {\n onToggleClose?.()\n }\n setActiveInternal(isActive)\n },\n [onToggleClose, onToggleOpen],\n )\n\n // /////////////////////////////////////\n // Position Calculation\n //\n // Calculates and applies popup position relative to trigger.\n // Always checks viewport bounds (for flipping), but only updates\n // styles if the calculated position differs from current position.\n // /////////////////////////////////////\n\n const updatePosition = useEffectEvent(() => {\n const trigger = triggerRef.current\n const popup = popupRef.current\n if (!trigger || !popup) {\n return\n }\n\n const triggerRect = trigger.getBoundingClientRect()\n const popupRect = popup.getBoundingClientRect()\n\n // Inside a fixed ancestor, use `fixed` (no scroll offset) so background scrolling\n // doesn't shift the popup. Otherwise use page coordinates (absolute).\n const useFixed = isFixedRef.current\n const scrollY = useFixed ? 0 : window.scrollY\n const scrollX = useFixed ? 0 : window.scrollX\n\n // Gap between the popup and the trigger/viewport edges (in pixels)\n const offset = 8\n // Additional gap used in side mode so the child popup has breathing room from its parent\n const sideOffset = 4\n\n let top: number\n let left: number\n let caretLeft: number\n\n if (side) {\n // /////////////////////////////////////\n // Side Positioning\n // Places the popup to the left or right of the parent popup (not just the trigger),\n // top-aligned with the trigger. Flips to the opposite side if there is not enough\n // viewport space.\n // /////////////////////////////////////\n\n // Top: align with trigger top, clamped to viewport\n top = triggerRect.top + scrollY\n const maxTop = scrollY + window.innerHeight - popupRect.height - offset\n top = Math.max(scrollY + offset, Math.min(top, maxTop))\n\n // Use the parent popup's bounding rect as the reference for left/right positioning\n // so the child appears 4px from the parent popup edge, not just the trigger button.\n const anchorRect = parentPopup?.popupRef.current\n ? parentPopup.popupRef.current.getBoundingClientRect()\n : triggerRect\n\n if (side === 'left') {\n left = anchorRect.left - popupRect.width - sideOffset\n if (left < offset) {\n // flip to right side\n left = anchorRect.right + sideOffset\n }\n } else {\n left = anchorRect.right + sideOffset\n if (left + popupRect.width + offset > window.innerWidth) {\n // flip to left side\n left = anchorRect.left - popupRect.width - sideOffset\n }\n }\n\n left = left + scrollX\n // Caret not used in side mode; set a neutral value\n caretLeft = popupRect.width / 2\n\n setIsOnTop(false)\n } else {\n // /////////////////////////////////////\n // Vertical Positioning\n // Calculates the `top` position in absolute page coordinates.\n // Uses `verticalAlign` prop as the preferred direction, but flips\n // to the opposite side if there's not enough viewport space.\n // /////////////////////////////////////\n\n let onTop = verticalAlign === 'top'\n\n if (verticalAlign === 'bottom') {\n top = triggerRect.bottom + scrollY + offset\n\n if (triggerRect.bottom + popupRect.height + offset > window.innerHeight) {\n // Try to flip above — only do so if there's actually enough room\n const topIfAbove = triggerRect.top + scrollY - popupRect.height - offset\n if (topIfAbove >= scrollY) {\n top = topIfAbove\n onTop = true\n }\n // else: not enough room above either — keep below and let it overflow rather than going off-screen\n }\n } else {\n top = triggerRect.top + scrollY - popupRect.height - offset\n\n if (triggerRect.top - popupRect.height - offset < 0) {\n top = triggerRect.bottom + scrollY + offset\n onTop = false\n }\n }\n\n setIsOnTop(onTop)\n\n // /////////////////////////////////////\n // Horizontal Positioning\n // Calculates the `left` position based on `horizontalAlign` prop:\n // - 'left': aligns popup's left edge with trigger's left edge\n // - 'right': aligns popup's right edge with trigger's right edge\n // - 'center': centers popup horizontally relative to trigger\n // Then clamps to keep the popup within viewport bounds.\n // /////////////////////////////////////\n\n left =\n horizontalAlign === 'right'\n ? triggerRect.right - popupRect.width\n : horizontalAlign === 'center'\n ? triggerRect.left + triggerRect.width / 2 - popupRect.width / 2\n : triggerRect.left\n\n left = Math.max(offset, Math.min(left, window.innerWidth - popupRect.width - offset))\n\n // /////////////////////////////////////\n // Caret Positioning\n // Positions the caret arrow to point at the trigger's horizontal center.\n // Clamps between 12px from edges to prevent caret from overflowing the popup.\n // /////////////////////////////////////\n\n const triggerCenter = triggerRect.left + triggerRect.width / 2\n caretLeft = Math.max(12, Math.min(triggerCenter - left, popupRect.width - 12))\n }\n\n // /////////////////////////////////////\n // Apply Styles (only if changed)\n // Compares calculated position with current styles to avoid unnecessary\n // DOM updates during scroll. This prevents visual lag by relying on the absolute\n // positioning where possible (popup slightly lags behind when scrolling really fast),\n // while still allowing position changes when needed (e.g., sticky parent, viewport flip).\n // Values are rounded to match browser's CSS precision and avoid false updates.\n // /////////////////////////////////////\n\n const newTop = `${Math.round(top)}px`\n const newLeft = `${Math.round(left + scrollX)}px`\n const newCaretLeft = `${Math.round(caretLeft)}px`\n const newPosition = useFixed ? 'fixed' : ''\n\n if (popup.style.position !== newPosition) {\n popup.style.position = newPosition\n }\n if (popup.style.top !== newTop) {\n popup.style.top = newTop\n }\n if (popup.style.left !== newLeft) {\n popup.style.left = newLeft\n }\n if (popup.style.getPropertyValue('--caret-left') !== newCaretLeft) {\n popup.style.setProperty('--caret-left', newCaretLeft)\n }\n })\n\n // /////////////////////////////////////\n // Click Outside Handler\n // Closes popup when clicking outside both the popup and trigger.\n // Distinguishes between parent and child popups:\n // - Click in child popup: parent stays open\n // - Click in parent popup: child closes\n // /////////////////////////////////////\n\n const handleClickOutside = useEffectEvent((e: MouseEvent) => {\n const target = e.target as Node\n const isOutsidePopup = !popupRef.current?.contains(target)\n const isOutsideTrigger = !triggerRef.current?.contains(target)\n\n // Check if click is inside a popup portal\n const clickedPopupContent = (target as Element).closest?.('.popup__content')\n\n // If the clicked popup contains this popup's trigger, it's a parent popup\n // and we should close. If it doesn't contain our trigger, it's a child popup\n // and we should stay open to avoid closing parent when interacting with child.\n const isInsideChildPopup =\n clickedPopupContent && !clickedPopupContent.contains(triggerRef.current)\n\n if (isOutsidePopup && isOutsideTrigger && !isInsideChildPopup) {\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Keyboard Navigation\n // Handles keyboard interactions when popup is open:\n // - Escape: closes popup and returns focus to trigger\n // - Tab/Shift+Tab: cycles through focusable items with wrapping\n // - ArrowUp/ArrowDown: same as Shift+Tab/Tab for menu-style navigation\n // Focus is managed manually to support elements the browser might skip.\n // /////////////////////////////////////\n\n const handleKeyDown = useEffectEvent((e: KeyboardEvent) => {\n const popup = popupRef.current\n if (!popup || !active) {\n return\n }\n\n if (e.key === 'Escape') {\n e.preventDefault()\n setActive(false)\n triggerRef.current?.querySelector<HTMLElement>('button, [tabindex=\"0\"]')?.focus()\n return\n }\n\n if (e.key === 'Tab' || e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const focusable = Array.from(popup.querySelectorAll<HTMLElement>(TABBABLE_SELECTOR))\n if (focusable.length === 0) {\n return\n }\n\n e.preventDefault()\n\n const currentIndex = focusable.findIndex((el) => el === document.activeElement)\n const goBackward = e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)\n\n let nextIndex: number\n if (currentIndex === -1) {\n nextIndex = goBackward ? focusable.length - 1 : 0\n } else if (goBackward) {\n nextIndex = currentIndex === 0 ? focusable.length - 1 : currentIndex - 1\n } else {\n nextIndex = currentIndex === focusable.length - 1 ? 0 : currentIndex + 1\n }\n\n focusable[nextIndex].focus()\n }\n })\n\n // /////////////////////////////////////\n // Click Handler for Actionable Elements\n // Closes popup when buttons/links inside are clicked (includes Enter/Space activation).\n // /////////////////////////////////////\n\n const handleActionableClick = useEffectEvent((e: MouseEvent) => {\n const target = e.target as HTMLElement\n\n // Allow opting out with data-popup-prevent-close attribute on element or ancestor\n if (target.closest('[data-popup-prevent-close]')) {\n return\n }\n\n // Check if the clicked element or any ancestor is an actionable element\n const actionable = target.closest('button, a[href], [role=\"button\"], [role=\"menuitem\"]')\n if (actionable && popupRef.current?.contains(actionable)) {\n // Don't close if clicking a nested popup's trigger — it will manage its own open state\n if (actionable.closest(`.${baseClass}__trigger-wrap`)) {\n return\n }\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Effect: Setup/Teardown position and focus management\n // /////////////////////////////////////\n\n useEffect(() => {\n if (!active) {\n const popup = popupRef.current\n if (popup) {\n // Clear inline position styles so the CSS `top: -9999px` rule on\n // `.popup__hidden-content` takes effect. Without this, the inline\n // styles set during positioning would win over the CSS rule, keeping\n // portaled children (e.g. a ReactSelect menu) visually on-screen.\n popup.style.position = ''\n popup.style.top = ''\n popup.style.left = ''\n }\n return\n }\n\n const popup = popupRef.current\n if (!popup) {\n return\n }\n\n // /////////////////////////////////////\n // Initial Position\n // Calculate and apply popup position.\n // getBoundingClientRect() forces synchronous layout.\n //\n // We call updatePosition() twice: once synchronously (so the popup\n // snaps to roughly the right place immediately rather than flashing\n // from -9999px) and once in a requestAnimationFrame, which fires\n // after the browser has finished laying out the newly-visible popup\n // content. The rAF call is the authoritative one — it catches cases\n // where the popup height wasn't stable yet during the first call\n // (e.g. ColumnSelection popup content rendering after hidden → visible\n // class switch), which was causing incorrect flip-to-top decisions.\n // /////////////////////////////////////\n\n // Decide the positioning strategy once per open.\n isFixedRef.current = hasFixedAncestor(triggerRef.current)\n\n updatePosition()\n const rafId = requestAnimationFrame(() => {\n updatePosition()\n })\n\n // /////////////////////////////////////\n // Focus Management\n // When opened via keyboard, autofocus the first focusable button.\n // When opened via mouse, skip autofocus to avoid unwanted highlights.\n // /////////////////////////////////////\n\n if (openedViaKeyboardRef.current) {\n // Use requestAnimationFrame to ensure DOM is ready.\n requestAnimationFrame(() => {\n const firstFocusable = popup.querySelector<HTMLElement>(TABBABLE_SELECTOR)\n firstFocusable?.focus()\n })\n }\n\n // /////////////////////////////////////\n // Event Listeners\n // - resize/scroll: recalculate position (only applies styles if changed)\n // - mousedown: detect clicks outside to close\n // - keydown: handle keyboard navigation\n // /////////////////////////////////////\n\n window.addEventListener('resize', updatePosition)\n window.addEventListener('scroll', updatePosition, { capture: true, passive: true })\n document.addEventListener('mousedown', handleClickOutside)\n document.addEventListener('keydown', handleKeyDown)\n popup.addEventListener('click', handleActionableClick)\n\n return () => {\n cancelAnimationFrame(rafId)\n window.removeEventListener('resize', updatePosition)\n window.removeEventListener('scroll', updatePosition, { capture: true })\n document.removeEventListener('mousedown', handleClickOutside)\n document.removeEventListener('keydown', handleKeyDown)\n popup.removeEventListener('click', handleActionableClick)\n }\n }, [active])\n\n useEffect(() => {\n if (forceOpen !== undefined) {\n setActive(forceOpen)\n }\n }, [forceOpen, setActive])\n\n const Trigger = (\n <PopupTrigger\n active={active}\n button={button}\n buttonAriaLabel={buttonAriaLabel}\n buttonType={buttonType}\n className={buttonClassName}\n disabled={disabled}\n noBackground={noBackground}\n renderButton={renderButton}\n setActive={setActive}\n size={buttonSize}\n />\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')} id={id}>\n <div className={`${baseClass}__trigger-wrap`} ref={triggerRef}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n role=\"button\"\n tabIndex={0}\n >\n {Trigger}\n </div>\n ) : (\n Trigger\n )}\n </div>\n\n {mounted\n ? // We need to make sure the popup is part of the DOM (although invisible), even if it's not active.\n // This ensures that components within the popup, like modals, do not unmount when the popup closes.\n // Otherwise, modals opened from the popup will close unexpectedly when clicking within the modal, since\n // that closes the popup due to the click outside handler.\n createPortal(\n <PopupContext value={{ popupRef }}>\n <div\n className={\n active\n ? [\n `${baseClass}__content`,\n `${baseClass}--size-${size}`,\n side\n ? `${baseClass}--side-${side}`\n : isOnTop\n ? `${baseClass}--v-top`\n : `${baseClass}--v-bottom`,\n portalClassName,\n ]\n .filter(Boolean)\n .join(' ')\n : // Do not share any class names between active and disabled popups, to make sure\n // tests do not accidentally target inactive popups.\n `${baseClass}__hidden-content`\n }\n data-popup-id={id || undefined}\n data-theme={theme === 'auto' ? undefined : theme}\n ref={popupRef}\n >\n <div\n className={`${baseClass}__scroll-container${showScrollbar ? ` ${baseClass}__scroll-container--show-scrollbar` : ''}`}\n >\n {theme === 'auto' ? (\n <>\n {render?.({ close: () => setActive(false) })}\n {children}\n </>\n ) : (\n <ThemeProvider theme={theme}>\n {render?.({ close: () => setActive(false) })}\n {children}\n </ThemeProvider>\n )}\n </div>\n {caret && !side && <div className={`${baseClass}__caret`} />}\n </div>\n </PopupContext>,\n document.body,\n )\n : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import type { PreviewButtonClientProps } from 'payload';
2
1
  import React from 'react';
3
- export declare function PreviewButton(props: PreviewButtonClientProps): React.JSX.Element;
2
+ export declare function PreviewButton(): React.JSX.Element;
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAQpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,wBAAwB,qBA0C5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAQpD,wBAAgB,aAAa,sBAoD5B"}
@@ -8,7 +8,7 @@ import { usePreviewURL } from '../../providers/LivePreview/context.js';
8
8
  import { useTranslation } from '../../providers/Translation/index.js';
9
9
  import { Button } from '../Button/index.js';
10
10
  import { Tooltip } from '../Tooltip/index.js';
11
- export function PreviewButton(props) {
11
+ export function PreviewButton() {
12
12
  const $ = _c(9);
13
13
  const {
14
14
  previewURL
@@ -20,11 +20,16 @@ export function PreviewButton(props) {
20
20
  const [hovered, setHovered] = useState(false);
21
21
  let t0;
22
22
  if ($[0] !== previewURL) {
23
- t0 = async () => {
24
- if (previewURL) {
25
- await navigator.clipboard.writeText(previewURL);
26
- setCopied(true);
23
+ t0 = async event => {
24
+ if (!previewURL) {
25
+ return;
27
26
  }
27
+ if (event.metaKey || event.ctrlKey) {
28
+ window.open(previewURL, "_blank", "noopener,noreferrer");
29
+ return;
30
+ }
31
+ await navigator.clipboard.writeText(previewURL);
32
+ setCopied(true);
28
33
  };
29
34
  $[0] = previewURL;
30
35
  $[1] = t0;
@@ -70,6 +75,7 @@ export function PreviewButton(props) {
70
75
  onClick: handleClick
71
76
  }), _jsx(Tooltip, {
72
77
  delay: 0,
78
+ id: "preview-button-tooltip",
73
79
  show: hovered || copied,
74
80
  children: label
75
81
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useState","LinkIcon","usePreviewURL","useTranslation","Button","Tooltip","PreviewButton","props","$","previewURL","t","copied","setCopied","hovered","setHovered","t0","navigator","clipboard","writeText","handleClick","t1","label","t2","t3","Symbol","for","_jsxs","onPointerEnter","onPointerLeave","style","position","children","_jsx","buttonStyle","icon","size","onClick","delay","show"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport type { PreviewButtonClientProps } from 'payload'\n\nimport React, { useCallback, useState } from 'react'\n\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\n\nexport function PreviewButton(props: PreviewButtonClientProps) {\n const { previewURL } = usePreviewURL()\n const { t } = useTranslation()\n const [copied, setCopied] = useState(false)\n const [hovered, setHovered] = useState(false)\n\n const handleClick = useCallback(async () => {\n if (previewURL) {\n await navigator.clipboard.writeText(previewURL)\n setCopied(true)\n }\n }, [previewURL])\n\n if (!previewURL) {\n return null\n }\n\n const label = copied ? t('general:copied') : t('general:copy')\n\n return (\n <span\n onPointerEnter={() => {\n setHovered(true)\n setCopied(false)\n }}\n onPointerLeave={() => {\n setHovered(false)\n setCopied(false)\n }}\n style={{ position: 'relative' }}\n >\n <Button\n buttonStyle=\"ghost\"\n icon={<LinkIcon size={24} />}\n id=\"preview-button\"\n onClick={handleClick}\n />\n <Tooltip delay={0} show={hovered || copied}>\n {label}\n </Tooltip>\n </span>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,WAAW,EAAEC,QAAQ,QAAQ;AAE7C,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,OAAO,QAAQ;AAExB,OAAO,SAAAC,cAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EACL;IAAAY;EAAA,IAAuBP,aAAA;EACvB;IAAAQ;EAAA,IAAcP,cAAA;EACd,OAAAQ,MAAA,EAAAC,SAAA,IAA4BZ,QAAA,MAAS;EACrC,OAAAa,OAAA,EAAAC,UAAA,IAA8Bd,QAAA,MAAS;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAC,UAAA;IAEPM,EAAA,SAAAA,CAAA;MAAA,IAC1BN,UAAA;QAAA,MACIO,SAAA,CAAAC,SAAA,CAAAC,SAAA,CAA8BT,UAAA;QACpCG,SAAA,KAAU;MAAA;IAAA;IAEdJ,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EALA,MAAAW,WAAA,GAAoBJ,EAKL;EAAA,KAEVN,UAAA;IAAA;EAAA;EAAA,IAAAW,EAAA;EAAA,IAAAZ,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAW,WAAA,IAAAX,CAAA,QAAAK,OAAA,IAAAL,CAAA,QAAAE,CAAA;IAIL,MAAAW,KAAA,GAAcV,MAAA,GAASD,CAAA,CAAE,oBAAoBA,CAAA,CAAE;IAAA,IAAAY,EAAA;IAAA,IAAAC,EAAA;IAAA,IAAAf,CAAA,QAAAgB,MAAA,CAAAC,GAAA;MAI3BH,EAAA,GAAAA,CAAA;QACdR,UAAA,KAAW;QACXF,SAAA,MAAU;MAAA;MAEIW,EAAA,GAAAA,CAAA;QACdT,UAAA,MAAW;QACXF,SAAA,MAAU;MAAA;MACZJ,CAAA,MAAAc,EAAA;MAAAd,CAAA,MAAAe,EAAA;IAAA;MAAAD,EAAA,GAAAd,CAAA;MAAAe,EAAA,GAAAf,CAAA;IAAA;IARFY,EAAA,GAAAM,KAAA,CAAC;MAAAC,cAAA,EACiBL,EAGhB;MAAAM,cAAA,EACgBL,EAGhB;MAAAM,KAAA;QAAAC,QAAA,EACmB;MAAA;MAAAC,QAAA,GAEnBC,IAAA,CAAA5B,MAAA;QAAA6B,WAAA,EACc;QAAAC,IAAA,EACNF,IAAA,CAAA/B,QAAA;UAAAkC,IAAA;QAAA,C;YACH;QAAAC,OAAA,EACMjB;MAAA,C,GAEXa,IAAA,CAAA3B,OAAA;QAAAgC,KAAA;QAAAC,IAAA,EAAyBzB,OAAA,IAAWF,MAAA;QAAAoB,QAAA,EACjCV;MAAA,C;;;;;;;;;;SAlBLD,E","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useState","LinkIcon","usePreviewURL","useTranslation","Button","Tooltip","PreviewButton","$","previewURL","t","copied","setCopied","hovered","setHovered","t0","event","metaKey","ctrlKey","window","open","navigator","clipboard","writeText","handleClick","t1","label","t2","t3","Symbol","for","_jsxs","onPointerEnter","onPointerLeave","style","position","children","_jsx","buttonStyle","icon","size","onClick","delay","id","show"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useState } from 'react'\n\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\n\nexport function PreviewButton() {\n const { previewURL } = usePreviewURL()\n const { t } = useTranslation()\n const [copied, setCopied] = useState(false)\n const [hovered, setHovered] = useState(false)\n\n const handleClick = useCallback(\n async (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!previewURL) {\n return\n }\n\n if (event.metaKey || event.ctrlKey) {\n window.open(previewURL, '_blank', 'noopener,noreferrer')\n return\n }\n\n await navigator.clipboard.writeText(previewURL)\n setCopied(true)\n },\n [previewURL],\n )\n\n if (!previewURL) {\n return null\n }\n\n const label = copied ? t('general:copied') : t('general:copy')\n\n return (\n <span\n onPointerEnter={() => {\n setHovered(true)\n setCopied(false)\n }}\n onPointerLeave={() => {\n setHovered(false)\n setCopied(false)\n }}\n style={{ position: 'relative' }}\n >\n <Button\n buttonStyle=\"ghost\"\n icon={<LinkIcon size={24} />}\n id=\"preview-button\"\n onClick={handleClick}\n />\n <Tooltip delay={0} id=\"preview-button-tooltip\" show={hovered || copied}>\n {label}\n </Tooltip>\n </span>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,WAAW,EAAEC,QAAQ,QAAQ;AAE7C,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,OAAO,QAAQ;AAExB,OAAO,SAAAC,cAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACL;IAAAW;EAAA,IAAuBN,aAAA;EACvB;IAAAO;EAAA,IAAcN,cAAA;EACd,OAAAO,MAAA,EAAAC,SAAA,IAA4BX,QAAA,MAAS;EACrC,OAAAY,OAAA,EAAAC,UAAA,IAA8Bb,QAAA,MAAS;EAAA,IAAAc,EAAA;EAAA,IAAAP,CAAA,QAAAC,UAAA;IAGrCM,EAAA,SAAAC,KAAA;MAAA,KACOP,UAAA;QAAA;MAAA;MAAA,IAIDO,KAAA,CAAAC,OAAA,IAAiBD,KAAA,CAAAE,OAAa;QAChCC,MAAA,CAAAC,IAAA,CAAYX,UAAA,EAAY,UAAU;QAAA;MAAA;MAAA,MAI9BY,SAAA,CAAAC,SAAA,CAAAC,SAAA,CAA8Bd,UAAA;MACpCG,SAAA,KAAU;IAAA;IACZJ,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAbF,MAAAgB,WAAA,GAAoBT,EAcN;EAAA,KAGTN,UAAA;IAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAjB,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAgB,WAAA,IAAAhB,CAAA,QAAAK,OAAA,IAAAL,CAAA,QAAAE,CAAA;IAIL,MAAAgB,KAAA,GAAcf,MAAA,GAASD,CAAA,CAAE,oBAAoBA,CAAA,CAAE;IAAA,IAAAiB,EAAA;IAAA,IAAAC,EAAA;IAAA,IAAApB,CAAA,QAAAqB,MAAA,CAAAC,GAAA;MAI3BH,EAAA,GAAAA,CAAA;QACdb,UAAA,KAAW;QACXF,SAAA,MAAU;MAAA;MAEIgB,EAAA,GAAAA,CAAA;QACdd,UAAA,MAAW;QACXF,SAAA,MAAU;MAAA;MACZJ,CAAA,MAAAmB,EAAA;MAAAnB,CAAA,MAAAoB,EAAA;IAAA;MAAAD,EAAA,GAAAnB,CAAA;MAAAoB,EAAA,GAAApB,CAAA;IAAA;IARFiB,EAAA,GAAAM,KAAA,CAAC;MAAAC,cAAA,EACiBL,EAGhB;MAAAM,cAAA,EACgBL,EAGhB;MAAAM,KAAA;QAAAC,QAAA,EACmB;MAAA;MAAAC,QAAA,GAEnBC,IAAA,CAAAhC,MAAA;QAAAiC,WAAA,EACc;QAAAC,IAAA,EACNF,IAAA,CAAAnC,QAAA;UAAAsC,IAAA;QAAA,C;YACH;QAAAC,OAAA,EACMjB;MAAA,C,GAEXa,IAAA,CAAA/B,OAAA;QAAAoC,KAAA;QAAAC,EAAA,EAAsB;QAAAC,IAAA,EAA+B/B,OAAA,IAAWF,MAAA;QAAAyB,QAAA,EAC7DV;MAAA,C;;;;;;;;;;SAlBLD,E","ignoreList":[]}
@@ -0,0 +1,148 @@
1
+ @layer payload-default {
2
+ .preview-sizes {
3
+ margin: var(--spacer-6) calc(var(--gutter-h) * -1) 0 calc(var(--gutter-h) * -1);
4
+ border-top: var(--stroke-width-small) solid var(--color-border);
5
+ max-height: calc(100vh - var(--spacer-6) * 3);
6
+ height: 100%;
7
+ display: flex;
8
+ flex-direction: row;
9
+ }
10
+
11
+ .preview-sizes__imageWrap {
12
+ min-width: 60%;
13
+ border-right: var(--stroke-width-small) solid var(--color-border);
14
+ }
15
+
16
+ .preview-sizes__preview {
17
+ max-height: calc(100% - var(--spacer-6) * 3);
18
+ padding: var(--spacer-5) var(--spacer-5) var(--spacer-5) var(--gutter-h);
19
+ object-fit: contain;
20
+ }
21
+
22
+ .preview-sizes__meta {
23
+ border-bottom: var(--stroke-width-small) solid var(--color-border);
24
+ padding: var(--spacer-3) var(--gutter-h);
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+ column-gap: var(--spacer-3);
28
+ }
29
+
30
+ .preview-sizes__meta .file-meta {
31
+ display: flex;
32
+ flex-wrap: wrap;
33
+ column-gap: var(--spacer-3);
34
+ text-wrap: wrap;
35
+ width: 100%;
36
+ }
37
+
38
+ .preview-sizes__meta .file-meta__url {
39
+ width: 100%;
40
+ }
41
+
42
+ .preview-sizes__sizeName,
43
+ .preview-sizes .file-meta__size-type {
44
+ color: var(--color-text-secondary);
45
+ }
46
+
47
+ .preview-sizes__listWrap {
48
+ padding-right: var(--gutter-h);
49
+ overflow-y: scroll;
50
+ }
51
+
52
+ .preview-sizes__listWrap::-webkit-scrollbar {
53
+ width: 0;
54
+ }
55
+
56
+ .preview-sizes__listWrap::after {
57
+ content: '';
58
+ display: block;
59
+ position: sticky;
60
+ bottom: 0;
61
+ left: 0;
62
+ height: calc(var(--spacer-6) * 2);
63
+ width: 100%;
64
+ background: linear-gradient(180deg, transparent 0, var(--color-bg) 100%);
65
+ pointer-events: none;
66
+ }
67
+
68
+ .preview-sizes__list {
69
+ list-style: none;
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: var(--spacer-2);
73
+ margin: 0;
74
+ padding: var(--spacer-5) 0 var(--spacer-5) var(--spacer-5);
75
+ }
76
+
77
+ .preview-sizes__sizeOption {
78
+ padding: var(--spacer-2);
79
+ display: flex;
80
+ gap: var(--spacer-3);
81
+ cursor: pointer;
82
+ }
83
+
84
+ .preview-sizes__sizeOption:hover {
85
+ background-color: var(--color-bg-hover);
86
+ }
87
+
88
+ .preview-sizes--selected {
89
+ background-color: var(--color-bg-secondary);
90
+ }
91
+
92
+ .preview-sizes__image {
93
+ display: flex;
94
+ width: 30%;
95
+ min-width: 30%;
96
+ align-items: center;
97
+ justify-content: center;
98
+ }
99
+
100
+ .preview-sizes__sizeMeta {
101
+ padding: var(--spacer-2) 0;
102
+ }
103
+
104
+ .preview-sizes__sizeName,
105
+ .preview-sizes__sizeMeta {
106
+ overflow: hidden;
107
+ text-overflow: ellipsis;
108
+ }
109
+
110
+ @media (max-width: 1024px) {
111
+ .preview-sizes {
112
+ margin-top: var(--spacer-3);
113
+ max-height: calc(100vh - var(--spacer-6) * 2);
114
+ }
115
+ }
116
+
117
+ @media (max-width: 768px) {
118
+ .preview-sizes {
119
+ margin-top: 0;
120
+ max-height: calc(100vh - var(--spacer-6) * 1.75);
121
+ flex-direction: column;
122
+ justify-content: space-between;
123
+ }
124
+
125
+ .preview-sizes__imageWrap {
126
+ height: 60%;
127
+ border: none;
128
+ }
129
+
130
+ .preview-sizes__list,
131
+ .preview-sizes__preview {
132
+ padding: calc(var(--gutter-h) * 2) var(--gutter-h);
133
+ }
134
+
135
+ .preview-sizes__preview {
136
+ max-height: calc(100% - var(--spacer-6) * 2);
137
+ }
138
+
139
+ .preview-sizes__sizeOption {
140
+ padding: var(--spacer-1);
141
+ }
142
+
143
+ .preview-sizes__listWrap {
144
+ border-top: var(--stroke-width-small) solid var(--color-border);
145
+ height: 40%;
146
+ }
147
+ }
148
+ }
@@ -1,6 +1,6 @@
1
1
  import type { Data, FileSize, SanitizedCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
- import './index.scss';
3
+ import './index.css';
4
4
  type FileInfo = {
5
5
  url: string;
6
6
  } & FileSize;
@@ -11,7 +11,7 @@ export type PreviewSizesProps = {
11
11
  doc: {
12
12
  sizes?: FilesSizesWithUrl;
13
13
  } & Data;
14
- imageCacheTag?: string;
14
+ imageCacheTag?: false | string;
15
15
  uploadConfig: SanitizedCollectionConfig['upload'];
16
16
  };
17
17
  export declare const PreviewSizes: React.FC<PreviewSizesProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewSizes/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAyB,MAAM,SAAS,CAAA;AAE/F,OAAO,KAAuC,MAAM,OAAO,CAAA;AAI3D,OAAO,cAAc,CAAA;AAIrB,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,QAAQ,CAAA;AACZ,KAAK,iBAAiB,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CACxB,CAAA;AA8DD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAC1B,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoFpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewSizes/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAyB,MAAM,SAAS,CAAA;AAE/F,OAAO,KAAuC,MAAM,OAAO,CAAA;AAI3D,OAAO,aAAa,CAAA;AAIpB,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,QAAQ,CAAA;AACZ,KAAK,iBAAiB,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CACxB,CAAA;AA8DD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAC1B,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoFpD,CAAA"}
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React, { useEffect, useMemo, useState } from 'react';
5
5
  import { appendCacheTag } from '../../utilities/appendCacheTag.js';
6
6
  import { FileMeta } from '../FileDetails/FileMeta/index.js';
7
- import './index.scss';
7
+ import './index.css';
8
8
  const baseClass = 'preview-sizes';
9
9
  const sortSizes = (sizes, imageSizes) => {
10
10
  if (!imageSizes || imageSizes.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","appendCacheTag","FileMeta","baseClass","sortSizes","sizes","imageSizes","length","orderedSizes","forEach","name","PreviewSizeCard","active","alt","meta","onClick","previewSrc","_jsxs","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","_jsx","src","PreviewSizes","doc","imageCacheTag","uploadConfig","filename","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSize, SanitizedCollectionConfig, SanitizedUploadConfig } from 'payload'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { appendCacheTag } from '../../utilities/appendCacheTag.js'\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = {\n url: string\n} & FileSize\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, imageSizes: SanitizedUploadConfig['imageSizes']) => {\n if (!imageSizes || imageSizes.length === 0) {\n return sizes\n }\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n imageSizes.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n alt: string\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n alt,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') {\n return\n }\n if (e.key === 'Enter') {\n onClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={alt} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: {\n sizes?: FilesSizesWithUrl\n } & Data\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { imageSizes } = uploadConfig\n const { sizes } = doc\n\n const alt = (doc as { alt?: string })?.alt || doc.filename || ''\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, imageSizes),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) {\n return null\n }\n if (doc.url) {\n return appendCacheTag(doc.url, imageCacheTag)\n }\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, imageSizes))\n }, [sizes, imageSizes, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.sizes[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={alt} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n alt={alt}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n alt={alt}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","appendCacheTag","FileMeta","baseClass","sortSizes","sizes","imageSizes","length","orderedSizes","forEach","name","PreviewSizeCard","active","alt","meta","onClick","previewSrc","_jsxs","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","_jsx","src","PreviewSizes","doc","imageCacheTag","uploadConfig","filename","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSize, SanitizedCollectionConfig, SanitizedUploadConfig } from 'payload'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { appendCacheTag } from '../../utilities/appendCacheTag.js'\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.css'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = {\n url: string\n} & FileSize\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, imageSizes: SanitizedUploadConfig['imageSizes']) => {\n if (!imageSizes || imageSizes.length === 0) {\n return sizes\n }\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n imageSizes.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n alt: string\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n alt,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') {\n return\n }\n if (e.key === 'Enter') {\n onClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={alt} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: {\n sizes?: FilesSizesWithUrl\n } & Data\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { imageSizes } = uploadConfig\n const { sizes } = doc\n\n const alt = (doc as { alt?: string })?.alt || doc.filename || ''\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, imageSizes),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) {\n return null\n }\n if (doc.url) {\n return appendCacheTag(doc.url, imageCacheTag)\n }\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, imageSizes))\n }, [sizes, imageSizes, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.sizes[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={alt} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n alt={alt}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n alt={alt}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAEpD,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,MAAMC,SAAA,GAAYA,CAACC,KAAA,EAA0BC,UAAA;EAC3C,IAAI,CAACA,UAAA,IAAcA,UAAA,CAAWC,MAAM,KAAK,GAAG;IAC1C,OAAOF,KAAA;EACT;EAEA,MAAMG,YAAA,GAAkC,CAAC;EAEzCF,UAAA,CAAWG,OAAO,CAAC,CAAC;IAAEC;EAAI,CAAE;IAC1B,IAAIL,KAAK,CAACK,IAAA,CAAK,EAAE;MACfF,YAAY,CAACE,IAAA,CAAK,GAAGL,KAAK,CAACK,IAAA,CAAK;IAClC;EACF;EAEA,OAAOF,YAAA;AACT;AAUA,MAAMG,eAAA,GAAkDA,CAAC;EACvDD,IAAI;EACJE,MAAM;EACNC,GAAG;EACHC,IAAI;EACJC,OAAO;EACPC;AAAU,CACX;EACC,oBACEC,KAAA,CAAC;IACCC,SAAA,EAAW,CAAC,GAAGf,SAAA,cAAuB,EAAES,MAAA,IAAU,GAAGT,SAAA,YAAqB,CAAC,CACxEgB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;IACRN,OAAA,EAAS,OAAOA,OAAA,KAAY,aAAaA,OAAA,GAAUO,SAAA;IACnDC,SAAA,EAAYC,CAAA;MACV,IAAI,OAAOT,OAAA,KAAY,YAAY;QACjC;MACF;MACA,IAAIS,CAAA,CAAEC,GAAG,KAAK,SAAS;QACrBV,OAAA;MACF;IACF;IACAW,IAAA,EAAK;IACLC,QAAA,EAAU;4BAEVC,IAAA,CAAC;MAAIV,SAAA,EAAW,GAAGf,SAAA,SAAkB;gBACnC,aAAAyB,IAAA,CAAC;QAAIf,GAAA,EAAKA,GAAA;QAAKgB,GAAA,EAAKb;;qBAEtBC,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGf,SAAA,YAAqB;8BACtCyB,IAAA,CAAC;QAAIV,SAAA,EAAW,GAAGf,SAAA,YAAqB;kBAAGO;uBAC3CkB,IAAA,CAAC1B,QAAA;QAAU,GAAGY;;;;AAItB;AAUA,OAAO,MAAMgB,YAAA,GAA4CA,CAAC;EAAEC,GAAG;EAAEC,aAAa;EAAEC;AAAY,CAAE;EAC5F,MAAM;IAAE3B;EAAU,CAAE,GAAG2B,YAAA;EACvB,MAAM;IAAE5B;EAAK,CAAE,GAAG0B,GAAA;EAElB,MAAMlB,GAAA,GAAMkB,GAAC,EAA0BlB,GAAA,IAAOkB,GAAA,CAAIG,QAAQ,IAAI;EAE9D,MAAM,CAAC1B,YAAA,EAAc2B,eAAA,CAAgB,GAAGnC,QAAA,CAA4B,MAClEI,SAAA,CAAUC,KAAA,EAAOC,UAAA;EAEnB,MAAM,CAAC8B,YAAA,EAAcC,eAAA,CAAgB,GAAGrC,QAAA,CAAwB;EAEhE,MAAMsC,gBAAA,GAAoBP,KAAA;IACxB,IAAI,CAACA,KAAA,CAAIG,QAAQ,EAAE;MACjB,OAAO;IACT;IACA,IAAIH,KAAA,CAAIQ,GAAG,EAAE;MACX,OAAOtC,cAAA,CAAe8B,KAAA,CAAIQ,GAAG,EAAEP,aAAA;IACjC;EACF;EACAlC,SAAA,CAAU;IACRqC,eAAA,CAAgB/B,SAAA,CAAUC,KAAA,EAAOC,UAAA;EACnC,GAAG,CAACD,KAAA,EAAOC,UAAA,EAAY0B,aAAA,CAAc;EAErC,MAAMQ,cAAA,GAAiBJ,YAAA,GACnBE,gBAAA,CAAiBP,GAAA,CAAI1B,KAAK,CAAC+B,YAAA,CAAa,IACxCE,gBAAA,CAAiBP,GAAA;EAErB,MAAMU,aAAA,GAAgB1C,OAAA,CACpB,OAAiB;IACfmC,QAAA,EAAUH,GAAA,CAAIG,QAAQ;IACtBQ,QAAA,EAAUX,GAAA,CAAIW,QAAQ;IACtBC,MAAA,EAAQZ,GAAA,CAAIY,MAAM;IAClBC,QAAA,EAAUb,GAAA,CAAIa,QAAQ;IACtBL,GAAA,EAAKR,GAAA,CAAIQ,GAAG;IACZM,KAAA,EAAOd,GAAA,CAAIc;EACb,IACA,CAACd,GAAA,CAAI;EAEP,MAAMe,gBAAA,GAAmB;EAEzB,oBACE7B,KAAA,CAAC;IAAIC,SAAA,EAAWf,SAAA;4BACdc,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGf,SAAA,aAAsB;8BACvCc,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGf,SAAA,QAAiB;gCAClCyB,IAAA,CAAC;UAAIV,SAAA,EAAW,GAAGf,SAAA,YAAqB;oBAAGiC,YAAA,IAAgBU;yBAC3DlB,IAAA,CAAC1B,QAAA;UAAU,IAAIkC,YAAA,GAAe5B,YAAY,CAAC4B,YAAA,CAAa,GAAGK,aAAa;;uBAE1Eb,IAAA,CAAC;QAAIf,GAAA,EAAKA,GAAA;QAAKK,SAAA,EAAW,GAAGf,SAAA,WAAoB;QAAE0B,GAAA,EAAKW;;qBAE1DZ,IAAA,CAAC;MAAIV,SAAA,EAAW,GAAGf,SAAA,YAAqB;gBACtC,aAAAc,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGf,SAAA,QAAiB;gCAClCyB,IAAA,CAACjB,eAAA;UACCC,MAAA,EAAQ,CAACwB,YAAA;UACTvB,GAAA,EAAKA,GAAA;UACLC,IAAA,EAAM2B,aAAA;UACN/B,IAAA,EAAMoC,gBAAA;UACN/B,OAAA,EAASA,CAAA,KAAMsB,eAAA,CAAgB;UAC/BrB,UAAA,EAAYsB,gBAAA,CAAiBP,GAAA;YAG9BgB,MAAA,CAAOC,OAAO,CAACxC,YAAA,EAAcyC,GAAG,CAAC,CAAC,CAACxB,GAAA,EAAKyB,GAAA,CAAI;UAC3C,MAAMC,QAAA,GAAWf,YAAA,KAAiBX,GAAA;UAClC,MAAMT,UAAA,GAAasB,gBAAA,CAAiBY,GAAA;UAEpC,IAAIlC,UAAA,EAAY;YACd,oBACEY,IAAA,CAACjB,eAAA;cACCC,MAAA,EAAQuC,QAAA;cACRtC,GAAA,EAAKA,GAAA;cAELC,IAAA,EAAMoC,GAAA;cACNxC,IAAA,EAAMe,GAAA;cACNV,OAAA,EAASA,CAAA,KAAMsB,eAAA,CAAgBZ,GAAA;cAC/BT,UAAA,EAAYA;eAJPS,GAAA;UAOX;UAEA,OAAO;QACT;;;;AAKV","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC5E,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,iFAQlC,IAAI,KAAG,MAAM,EA4Gf,CAAA"}
1
+ {"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC5E,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,oFAQ9B,IAAI,KAAG,MAAM,EA4Gf,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildUpcomingScheduleWhere.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,oCAAoC,IAAI,KAAG,KAsCrF,CAAA"}
1
+ {"version":3,"file":"buildUpcomingScheduleWhere.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,uCAAwC,IAAI,KAAG,KAsCrF,CAAA"}
@@ -214,7 +214,7 @@ export const ScheduleDrawer = ({
214
214
  }
215
215
  }, [upcoming, fetchUpcoming]);
216
216
  const minTime = useMemo(() => {
217
- if (date && isToday(date)) {
217
+ if (!date || isToday(date)) {
218
218
  return new Date();
219
219
  }
220
220
  return startOfDay(new Date());