@payloadcms/ui 4.0.0-internal.a0ef1b8 → 4.0.0-internal.bc5cf8c

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 (838) hide show
  1. package/dist/css/colors.css +112 -59
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/css/radius.css +1 -3
  5. package/dist/css/theme.css +4 -0
  6. package/dist/css/utilities.css +7 -1
  7. package/dist/elements/APIKeyInput/index.css +92 -0
  8. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  9. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  10. package/dist/elements/APIKeyInput/index.js +86 -0
  11. package/dist/elements/APIKeyInput/index.js.map +1 -0
  12. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  13. package/dist/elements/AddNewRelation/index.js +85 -103
  14. package/dist/elements/AddNewRelation/index.js.map +1 -1
  15. package/dist/elements/AppHeader/index.d.ts +3 -1
  16. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  17. package/dist/elements/AppHeader/index.js +14 -27
  18. package/dist/elements/AppHeader/index.js.map +1 -1
  19. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  20. package/dist/elements/ArrayAction/index.js +1 -2
  21. package/dist/elements/ArrayAction/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/ActionsBar/index.css +13 -11
  23. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  24. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/ActionsBar/index.js +57 -61
  26. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  28. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  29. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  30. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  31. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/AddingFilesView/index.css +177 -0
  33. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +6 -2
  34. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/AddingFilesView/index.js +135 -66
  36. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  38. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  40. package/dist/elements/BulkUpload/EditForm/index.d.ts +2 -2
  41. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/EditForm/index.js +17 -18
  43. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  45. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  47. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +77 -59
  50. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  51. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  52. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  53. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  54. package/dist/elements/BulkUpload/EditMany/index.js +29 -11
  55. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  56. package/dist/elements/BulkUpload/FileSidebar/index.css +79 -180
  57. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  58. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -165
  59. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  60. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  61. package/dist/elements/BulkUpload/FormsManager/index.js +14 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  63. package/dist/elements/BulkUpload/index.css +48 -0
  64. package/dist/elements/BulkUpload/index.d.ts +6 -5
  65. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  66. package/dist/elements/BulkUpload/index.js +42 -41
  67. package/dist/elements/BulkUpload/index.js.map +1 -1
  68. package/dist/elements/Button/index.css +8 -0
  69. package/dist/elements/Card/index.css +1 -1
  70. package/dist/elements/Chip/index.css +1 -1
  71. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  72. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  73. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  74. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  75. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  76. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
  77. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  78. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  79. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  80. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  81. package/dist/elements/ColumnSelection/index.js.map +1 -0
  82. package/dist/elements/Combobox/index.css +9 -8
  83. package/dist/elements/ConfirmationModal/index.css +7 -0
  84. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  85. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  86. package/dist/elements/ConfirmationModal/index.js +7 -3
  87. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  88. package/dist/elements/CopyLocaleData/index.js +1 -1
  89. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  90. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  91. package/dist/elements/CreateDocumentButton/index.js +0 -1
  92. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  93. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  94. package/dist/elements/DatePicker/DatePicker.js +4 -2
  95. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  96. package/dist/elements/DatePicker/index.css +11 -6
  97. package/dist/elements/DatePicker/index.js +1 -1
  98. package/dist/elements/DatePicker/index.js.map +1 -1
  99. package/dist/elements/DeleteMany/index.d.ts +3 -26
  100. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  101. package/dist/elements/DeleteMany/index.js +1 -95
  102. package/dist/elements/DeleteMany/index.js.map +1 -1
  103. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  104. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  105. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  106. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  107. package/dist/elements/Dialog/DialogModal/index.d.ts +6 -1
  108. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  109. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  110. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  111. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  112. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  113. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  114. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  115. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  116. package/dist/elements/Dialog/index.css +10 -0
  117. package/dist/elements/DocumentControls/index.css +18 -2
  118. package/dist/elements/DocumentControls/index.d.ts +6 -0
  119. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  120. package/dist/elements/DocumentControls/index.js +19 -9
  121. package/dist/elements/DocumentControls/index.js.map +1 -1
  122. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  123. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  124. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  125. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  126. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  127. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  128. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  129. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  130. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  131. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  132. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  133. package/dist/elements/DocumentFields/index.css +66 -4
  134. package/dist/elements/DocumentFields/index.d.ts +5 -0
  135. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  136. package/dist/elements/DocumentFields/index.js +9 -1
  137. package/dist/elements/DocumentFields/index.js.map +1 -1
  138. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  139. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  140. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  141. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  142. package/dist/elements/DocumentHeader/index.js +2 -3
  143. package/dist/elements/DocumentHeader/index.js.map +1 -1
  144. package/dist/elements/DraggableSortable/index.js.map +1 -1
  145. package/dist/elements/Drawer/index.css +57 -26
  146. package/dist/elements/Drawer/index.d.ts +25 -0
  147. package/dist/elements/Drawer/index.d.ts.map +1 -1
  148. package/dist/elements/Drawer/index.js +133 -54
  149. package/dist/elements/Drawer/index.js.map +1 -1
  150. package/dist/elements/Drawer/types.d.ts +1 -0
  151. package/dist/elements/Drawer/types.d.ts.map +1 -1
  152. package/dist/elements/Drawer/types.js.map +1 -1
  153. package/dist/elements/DrawerActionHeader/index.css +1 -1
  154. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  155. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  156. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  157. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  158. package/dist/elements/DrawerHeader/index.js.map +1 -0
  159. package/dist/elements/Dropzone/index.css +5 -13
  160. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  161. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  162. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  163. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  164. package/dist/elements/EditMany/DrawerContent.js +76 -71
  165. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  166. package/dist/elements/EditMany/index.css +71 -0
  167. package/dist/elements/EditMany/index.d.ts +9 -11
  168. package/dist/elements/EditMany/index.d.ts.map +1 -1
  169. package/dist/elements/EditMany/index.js +2 -40
  170. package/dist/elements/EditMany/index.js.map +1 -1
  171. package/dist/elements/EditUpload/index.css +97 -158
  172. package/dist/elements/EditUpload/index.d.ts +2 -1
  173. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  174. package/dist/elements/EditUpload/index.js +205 -231
  175. package/dist/elements/EditUpload/index.js.map +1 -1
  176. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  177. package/dist/elements/FieldSelect/index.css +3 -0
  178. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  179. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +2 -2
  180. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  181. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  182. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  183. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  184. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  185. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  186. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  187. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  188. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  189. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  190. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  191. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  192. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  193. package/dist/elements/FileDetails/index.d.ts +1 -1
  194. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  195. package/dist/elements/FileDetails/index.js.map +1 -1
  196. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  197. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  198. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  199. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  200. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  201. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  202. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  203. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  204. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  205. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  206. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  207. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  208. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  209. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  210. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  211. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  212. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  213. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  214. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  215. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  216. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  217. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  218. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  219. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  220. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  221. package/dist/elements/FileManager/index.css +154 -0
  222. package/dist/elements/FileManager/index.d.ts +19 -0
  223. package/dist/elements/FileManager/index.d.ts.map +1 -0
  224. package/dist/elements/FileManager/index.js +424 -0
  225. package/dist/elements/FileManager/index.js.map +1 -0
  226. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  227. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  228. package/dist/elements/GroupBy/Popup.js +268 -0
  229. package/dist/elements/GroupBy/Popup.js.map +1 -0
  230. package/dist/elements/GroupBy/index.d.ts +12 -0
  231. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  232. package/dist/elements/GroupBy/index.js +91 -0
  233. package/dist/elements/GroupBy/index.js.map +1 -0
  234. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +2 -2
  235. package/dist/elements/Hierarchy/Drawer/index.css +4 -22
  236. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  237. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  238. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  239. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  240. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  241. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  242. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  243. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  244. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  245. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  246. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  247. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  248. package/dist/elements/Hierarchy/Field/index.css +37 -0
  249. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  250. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  251. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  252. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  253. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  254. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  255. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  256. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  257. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  258. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  259. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  260. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  261. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  262. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  263. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  264. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  265. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  266. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  267. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  268. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  269. package/dist/elements/ListControls/index.css +5 -0
  270. package/dist/elements/ListControls/index.d.ts.map +1 -1
  271. package/dist/elements/ListControls/index.js +7 -8
  272. package/dist/elements/ListControls/index.js.map +1 -1
  273. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  274. package/dist/elements/ListDrawer/DrawerContent.js +13 -7
  275. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  276. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  277. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  278. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  279. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  280. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  281. package/dist/elements/ListGroupByButton/index.js +55 -0
  282. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  283. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  284. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  285. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  286. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  287. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  288. package/dist/elements/ListSelection/index.css +1 -1
  289. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  290. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  291. package/dist/elements/ListWhereBuilder/index.js +62 -0
  292. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  293. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  294. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  295. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  296. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  297. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +25 -43
  298. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  299. package/dist/elements/LoadMoreRow/index.css +34 -0
  300. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  301. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  302. package/dist/elements/LoadMoreRow/index.js +4 -8
  303. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  304. package/dist/elements/Loading/index.css +28 -74
  305. package/dist/elements/Loading/index.d.ts.map +1 -1
  306. package/dist/elements/Loading/index.js +16 -60
  307. package/dist/elements/Loading/index.js.map +1 -1
  308. package/dist/elements/Localizer/index.d.ts.map +1 -1
  309. package/dist/elements/Localizer/index.js +3 -4
  310. package/dist/elements/Localizer/index.js.map +1 -1
  311. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  312. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  313. package/dist/elements/MenuSeparator/index.js +10 -0
  314. package/dist/elements/MenuSeparator/index.js.map +1 -0
  315. package/dist/elements/MiniCarousel/index.css +94 -0
  316. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  317. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  318. package/dist/elements/MiniCarousel/index.js +84 -0
  319. package/dist/elements/MiniCarousel/index.js.map +1 -0
  320. package/dist/elements/Nav/index.css +2 -2
  321. package/dist/elements/Nav/index.d.ts.map +1 -1
  322. package/dist/elements/Nav/index.js +4 -23
  323. package/dist/elements/Nav/index.js.map +1 -1
  324. package/dist/elements/NavGroup/index.css +1 -1
  325. package/dist/elements/Pill/index.css +1 -1
  326. package/dist/elements/PillSelector/index.css +1 -1
  327. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  328. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  329. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  330. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  331. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  332. package/dist/elements/Popup/index.d.ts +8 -1
  333. package/dist/elements/Popup/index.d.ts.map +1 -1
  334. package/dist/elements/Popup/index.js +160 -63
  335. package/dist/elements/Popup/index.js.map +1 -1
  336. package/dist/elements/PreviewSizes/index.css +149 -0
  337. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  338. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  339. package/dist/elements/PreviewSizes/index.js +1 -1
  340. package/dist/elements/PreviewSizes/index.js.map +1 -1
  341. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  342. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  343. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  344. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  345. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  346. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  347. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  348. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  349. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  350. package/dist/elements/PublishButton/index.js +4 -5
  351. package/dist/elements/PublishButton/index.js.map +1 -1
  352. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  353. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  354. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  355. package/dist/elements/PublishMany/index.d.ts +2 -6
  356. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  357. package/dist/elements/PublishMany/index.js +0 -38
  358. package/dist/elements/PublishMany/index.js.map +1 -1
  359. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  360. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  361. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  362. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  363. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  364. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  365. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  366. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  367. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  368. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  369. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  370. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  371. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  372. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  373. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  374. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  375. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  376. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  377. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  378. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  379. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  380. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  382. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  383. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  384. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  385. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  386. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  387. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  388. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  389. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  390. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  391. package/dist/elements/ReactSelect/index.css +52 -52
  392. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  393. package/dist/elements/ReactSelect/index.js +210 -114
  394. package/dist/elements/ReactSelect/index.js.map +1 -1
  395. package/dist/elements/ReactSelect/types.d.ts +7 -1
  396. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  397. package/dist/elements/ReactSelect/types.js.map +1 -1
  398. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  399. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  400. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  401. package/dist/elements/RelationshipTable/index.js +2 -2
  402. package/dist/elements/RelationshipTable/index.js.map +1 -1
  403. package/dist/elements/RenderTitle/index.css +10 -0
  404. package/dist/elements/RenderTitle/index.d.ts +5 -0
  405. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  406. package/dist/elements/RenderTitle/index.js +52 -27
  407. package/dist/elements/RenderTitle/index.js.map +1 -1
  408. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  409. package/dist/elements/SchedulePublishButton/index.js +6 -1
  410. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  411. package/dist/elements/SelectMany/index.js +1 -1
  412. package/dist/elements/SelectMany/index.js.map +1 -1
  413. package/dist/elements/SortColumn/index.css +1 -1
  414. package/dist/elements/Spinner/index.css +16 -0
  415. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  416. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  417. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  418. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  419. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +21 -2
  420. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  421. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  422. package/dist/elements/Table/OrderableRow.js +1 -1
  423. package/dist/elements/Table/OrderableRow.js.map +1 -1
  424. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  425. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  426. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  427. package/dist/elements/Table/index.css +39 -10
  428. package/dist/elements/Tabs/index.css +100 -0
  429. package/dist/elements/Tabs/index.d.ts +32 -0
  430. package/dist/elements/Tabs/index.d.ts.map +1 -0
  431. package/dist/elements/Tabs/index.js +62 -0
  432. package/dist/elements/Tabs/index.js.map +1 -0
  433. package/dist/elements/Thumbnail/index.css +41 -0
  434. package/dist/elements/Thumbnail/index.d.ts +3 -3
  435. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  436. package/dist/elements/Thumbnail/index.js +1 -1
  437. package/dist/elements/Thumbnail/index.js.map +1 -1
  438. package/dist/elements/TimezonePicker/index.css +58 -24
  439. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  440. package/dist/elements/TimezonePicker/index.js +31 -4
  441. package/dist/elements/TimezonePicker/index.js.map +1 -1
  442. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  443. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  444. package/dist/elements/Toasts/fieldErrors.js +25 -9
  445. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  446. package/dist/elements/Toasts/index.css +5 -0
  447. package/dist/elements/Tooltip/index.css +20 -4
  448. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  449. package/dist/elements/Tooltip/index.js +71 -3
  450. package/dist/elements/Tooltip/index.js.map +1 -1
  451. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  452. package/dist/elements/UnpublishButton/index.js +5 -13
  453. package/dist/elements/UnpublishButton/index.js.map +1 -1
  454. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  455. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  456. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  457. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  458. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  459. package/dist/elements/UnpublishMany/index.js +0 -38
  460. package/dist/elements/UnpublishMany/index.js.map +1 -1
  461. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  462. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  463. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  464. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  465. package/dist/elements/Upload/index.css +134 -45
  466. package/dist/elements/Upload/index.d.ts +3 -8
  467. package/dist/elements/Upload/index.d.ts.map +1 -1
  468. package/dist/elements/Upload/index.js +71 -92
  469. package/dist/elements/Upload/index.js.map +1 -1
  470. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  471. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  472. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  473. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  474. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  475. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  476. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  477. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  478. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  479. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  480. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  481. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  482. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  483. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  484. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  485. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  486. package/dist/elements/UserMenu/index.css +80 -0
  487. package/dist/elements/UserMenu/index.d.ts +10 -0
  488. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  489. package/dist/elements/UserMenu/index.js +204 -0
  490. package/dist/elements/UserMenu/index.js.map +1 -0
  491. package/dist/elements/WhereBuilder/Condition/index.css +1 -1
  492. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  493. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  494. package/dist/elements/WhereBuilder/Condition/index.js +20 -2
  495. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  496. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  497. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  498. package/dist/elements/WhereBuilder/index.js +71 -62
  499. package/dist/elements/WhereBuilder/index.js.map +1 -1
  500. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  501. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  502. package/dist/elements/WhereBuilder/types.js.map +1 -1
  503. package/dist/exports/client/index.d.ts +18 -3
  504. package/dist/exports/client/index.d.ts.map +1 -1
  505. package/dist/exports/client/index.js +1 -2
  506. package/dist/exports/client/index.js.map +4 -4
  507. package/dist/exports/shared/index.js +2 -2
  508. package/dist/exports/shared/index.js.map +2 -2
  509. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +2 -50
  510. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  511. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  512. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  513. package/dist/fields/Blocks/BlockSelector/index.css +15 -4
  514. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  515. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  516. package/dist/fields/Blocks/index.d.ts.map +1 -1
  517. package/dist/fields/Blocks/index.js +6 -11
  518. package/dist/fields/Blocks/index.js.map +1 -1
  519. package/dist/fields/Checkbox/index.css +2 -2
  520. package/dist/fields/Group/index.css +4 -4
  521. package/dist/fields/Join/index.js +1 -1
  522. package/dist/fields/Join/index.js.map +1 -1
  523. package/dist/fields/Number/Input.d.ts.map +1 -1
  524. package/dist/fields/Number/Input.js +47 -35
  525. package/dist/fields/Number/Input.js.map +1 -1
  526. package/dist/fields/Number/index.css +19 -0
  527. package/dist/fields/Number/types.d.ts +6 -0
  528. package/dist/fields/Number/types.d.ts.map +1 -1
  529. package/dist/fields/Number/types.js.map +1 -1
  530. package/dist/fields/RadioGroup/index.css +6 -0
  531. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  532. package/dist/fields/Row/index.d.ts +1 -1
  533. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  534. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  535. package/dist/fields/Tabs/Tab/index.js +12 -23
  536. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  537. package/dist/fields/Tabs/index.d.ts.map +1 -1
  538. package/dist/fields/Tabs/index.js +37 -37
  539. package/dist/fields/Tabs/index.js.map +1 -1
  540. package/dist/fields/Text/Input.d.ts.map +1 -1
  541. package/dist/fields/Text/Input.js +31 -28
  542. package/dist/fields/Text/Input.js.map +1 -1
  543. package/dist/fields/Text/types.d.ts +5 -0
  544. package/dist/fields/Text/types.d.ts.map +1 -1
  545. package/dist/fields/Text/types.js.map +1 -1
  546. package/dist/fields/Upload/HasMany/index.css +4 -0
  547. package/dist/fields/Upload/Input.d.ts.map +1 -1
  548. package/dist/fields/Upload/Input.js +12 -11
  549. package/dist/fields/Upload/Input.js.map +1 -1
  550. package/dist/fields/Upload/index.js +1 -1
  551. package/dist/fields/Upload/index.js.map +1 -1
  552. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  553. package/dist/forms/RenderFields/RenderField.js +2 -1
  554. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  555. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  556. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  557. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  558. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  559. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  560. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  561. package/dist/forms/useField/index.js.map +1 -1
  562. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  563. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  564. package/dist/hooks/useElementHeightVariable.js +53 -0
  565. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  566. package/dist/icons/Check/index.css +1 -2
  567. package/dist/icons/Check/index.js +1 -1
  568. package/dist/icons/Check/index.js.map +1 -1
  569. package/dist/icons/Crop/index.css +5 -0
  570. package/dist/icons/Crop/index.d.ts +7 -0
  571. package/dist/icons/Crop/index.d.ts.map +1 -0
  572. package/dist/icons/Crop/index.js +24 -0
  573. package/dist/icons/Crop/index.js.map +1 -0
  574. package/dist/icons/Dots/index.css +4 -4
  575. package/dist/icons/Download/index.css +5 -0
  576. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  577. package/dist/icons/Download/index.d.ts.map +1 -0
  578. package/dist/icons/Download/index.js +27 -0
  579. package/dist/icons/Download/index.js.map +1 -0
  580. package/dist/icons/Gear/index.d.ts.map +1 -1
  581. package/dist/icons/Gear/index.js +8 -1
  582. package/dist/icons/Gear/index.js.map +1 -1
  583. package/dist/icons/InteractionEnter/index.css +5 -0
  584. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  585. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  586. package/dist/icons/InteractionEnter/index.js +25 -0
  587. package/dist/icons/InteractionEnter/index.js.map +1 -0
  588. package/dist/icons/{Write → Key}/index.css +1 -1
  589. package/dist/icons/Key/index.d.ts +7 -0
  590. package/dist/icons/Key/index.d.ts.map +1 -0
  591. package/dist/icons/Key/index.js +24 -0
  592. package/dist/icons/Key/index.js.map +1 -0
  593. package/dist/icons/LogOut/index.js +2 -2
  594. package/dist/icons/LogOut/index.js.map +1 -1
  595. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  596. package/dist/icons/NewTab/index.d.ts +7 -0
  597. package/dist/icons/NewTab/index.d.ts.map +1 -0
  598. package/dist/icons/NewTab/index.js +25 -0
  599. package/dist/icons/NewTab/index.js.map +1 -0
  600. package/dist/icons/Replace/index.css +5 -0
  601. package/dist/icons/Replace/index.d.ts +6 -0
  602. package/dist/icons/Replace/index.d.ts.map +1 -0
  603. package/dist/icons/Replace/index.js +20 -0
  604. package/dist/icons/Replace/index.js.map +1 -0
  605. package/dist/icons/Reset/index.css +5 -0
  606. package/dist/icons/Reset/index.d.ts +7 -0
  607. package/dist/icons/Reset/index.d.ts.map +1 -0
  608. package/dist/icons/Reset/index.js +25 -0
  609. package/dist/icons/Reset/index.js.map +1 -0
  610. package/dist/icons/Schedule/index.d.ts.map +1 -1
  611. package/dist/icons/Schedule/index.js +38 -39
  612. package/dist/icons/Schedule/index.js.map +1 -1
  613. package/dist/icons/Swap/index.js +1 -1
  614. package/dist/icons/Swap/index.js.map +1 -1
  615. package/dist/icons/VariableColor/index.css +5 -0
  616. package/dist/icons/VariableColor/index.d.ts +7 -0
  617. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  618. package/dist/icons/VariableColor/index.js +23 -0
  619. package/dist/icons/VariableColor/index.js.map +1 -0
  620. package/dist/icons/Warning/index.css +1 -7
  621. package/dist/icons/Warning/index.d.ts +1 -1
  622. package/dist/icons/Warning/index.d.ts.map +1 -1
  623. package/dist/icons/Warning/index.js +11 -16
  624. package/dist/icons/Warning/index.js.map +1 -1
  625. package/dist/icons/WarningTriangle/index.css +5 -0
  626. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  627. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  628. package/dist/icons/WarningTriangle/index.js +21 -0
  629. package/dist/icons/WarningTriangle/index.js.map +1 -0
  630. package/dist/icons/Write/index.d.ts +0 -1
  631. package/dist/icons/Write/index.d.ts.map +1 -1
  632. package/dist/icons/Write/index.js +1 -2
  633. package/dist/icons/Write/index.js.map +1 -1
  634. package/dist/providers/Auth/index.d.ts +3 -1
  635. package/dist/providers/Auth/index.d.ts.map +1 -1
  636. package/dist/providers/Auth/index.js +8 -3
  637. package/dist/providers/Auth/index.js.map +1 -1
  638. package/dist/providers/Config/index.js.map +1 -1
  639. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  640. package/dist/providers/DocumentInfo/index.js +4 -0
  641. package/dist/providers/DocumentInfo/index.js.map +1 -1
  642. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  643. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  644. package/dist/providers/DocumentInfo/types.js.map +1 -1
  645. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  646. package/dist/providers/ListQuery/index.js +1 -8
  647. package/dist/providers/ListQuery/index.js.map +1 -1
  648. package/dist/providers/Root/index.d.ts.map +1 -1
  649. package/dist/providers/Root/index.js +27 -24
  650. package/dist/providers/Root/index.js.map +1 -1
  651. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  652. package/dist/providers/Theme/index.d.ts +17 -2
  653. package/dist/providers/Theme/index.d.ts.map +1 -1
  654. package/dist/providers/Theme/index.js +126 -75
  655. package/dist/providers/Theme/index.js.map +1 -1
  656. package/dist/providers/ToastContainer/index.css +208 -0
  657. package/dist/providers/ToastContainer/index.d.ts +1 -0
  658. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  659. package/dist/providers/ToastContainer/index.js +19 -6
  660. package/dist/providers/ToastContainer/index.js.map +1 -1
  661. package/dist/scss/app.scss +10 -4
  662. package/dist/styles.css +1365 -1
  663. package/dist/templates/Default/index.d.ts.map +1 -1
  664. package/dist/templates/Default/index.js +53 -3
  665. package/dist/templates/Default/index.js.map +1 -1
  666. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  667. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  668. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  669. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  670. package/dist/utilities/copyDataFromLocale.js +1 -1
  671. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  672. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  673. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  674. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  675. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  676. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  677. package/dist/utilities/getHasScheduledPublish.js +38 -0
  678. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  679. package/dist/utilities/getVersions.d.ts.map +1 -1
  680. package/dist/utilities/getVersions.js +1 -21
  681. package/dist/utilities/getVersions.js.map +1 -1
  682. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  683. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  684. package/dist/utilities/renderTable.js +1 -1
  685. package/dist/utilities/renderTable.js.map +1 -1
  686. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  687. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  688. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  689. package/dist/views/API/index.client.js +2 -2
  690. package/dist/views/API/index.client.js.map +1 -1
  691. package/dist/views/Account/ResetPreferences/index.js +1 -0
  692. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  693. package/dist/views/Account/Settings/index.css +30 -13
  694. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  695. package/dist/views/Account/ToggleTheme/index.js +31 -47
  696. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  697. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  698. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +1 -1
  699. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  700. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  701. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  702. package/dist/views/Document/index.d.ts.map +1 -1
  703. package/dist/views/Document/index.js +11 -1
  704. package/dist/views/Document/index.js.map +1 -1
  705. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  706. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  707. package/dist/views/Document/renderDocumentSlots.js +47 -1
  708. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  709. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  710. package/dist/views/Edit/Auth/APIKey.js +10 -32
  711. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  712. package/dist/views/Edit/Auth/index.css +0 -67
  713. package/dist/views/Edit/index.css +143 -6
  714. package/dist/views/Edit/index.d.ts +1 -1
  715. package/dist/views/Edit/index.d.ts.map +1 -1
  716. package/dist/views/Edit/index.js +96 -79
  717. package/dist/views/Edit/index.js.map +1 -1
  718. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  719. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  720. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  721. package/dist/views/List/ListHeader/index.css +28 -1
  722. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  723. package/dist/views/List/ListHeader/index.js +0 -1
  724. package/dist/views/List/ListHeader/index.js.map +1 -1
  725. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  726. package/dist/views/List/ListSelection/index.js +84 -33
  727. package/dist/views/List/ListSelection/index.js.map +1 -1
  728. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  729. package/dist/views/List/handleGroupBy.js +9 -0
  730. package/dist/views/List/handleGroupBy.js.map +1 -1
  731. package/dist/views/List/index.client.d.ts.map +1 -1
  732. package/dist/views/List/index.client.js +10 -9
  733. package/dist/views/List/index.client.js.map +1 -1
  734. package/dist/views/List/index.css +15 -0
  735. package/dist/views/List/index.d.ts.map +1 -1
  736. package/dist/views/List/index.js +11 -4
  737. package/dist/views/List/index.js.map +1 -1
  738. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  739. package/dist/views/List/renderListViewSlots.js +11 -0
  740. package/dist/views/List/renderListViewSlots.js.map +1 -1
  741. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  742. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  743. package/dist/views/Logout/LogoutClient.js +39 -33
  744. package/dist/views/Logout/LogoutClient.js.map +1 -1
  745. package/dist/views/Logout/index.d.ts.map +1 -1
  746. package/dist/views/Logout/index.js +7 -2
  747. package/dist/views/Logout/index.js.map +1 -1
  748. package/dist/views/Verify/index.client.d.ts +4 -0
  749. package/dist/views/Verify/index.client.d.ts.map +1 -1
  750. package/dist/views/Verify/index.client.js +81 -0
  751. package/dist/views/Verify/index.client.js.map +1 -1
  752. package/dist/views/Verify/index.css +38 -0
  753. package/dist/views/Verify/index.d.ts +1 -1
  754. package/dist/views/Verify/index.d.ts.map +1 -1
  755. package/dist/views/Verify/index.js +13 -19
  756. package/dist/views/Verify/index.js.map +1 -1
  757. package/dist/views/Version/Default/index.css +3 -5
  758. package/dist/views/Version/Default/index.d.ts.map +1 -1
  759. package/dist/views/Version/Default/index.js +7 -28
  760. package/dist/views/Version/Default/index.js.map +1 -1
  761. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -2
  762. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  763. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  764. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  765. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +3 -3
  766. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  767. package/dist/views/Version/Restore/index.css +2 -2
  768. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  769. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  770. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  771. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  772. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  773. package/dist/views/Version/SelectComparison/index.css +5 -0
  774. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  775. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  776. package/dist/views/Version/SelectComparison/index.js +1 -1
  777. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  778. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  779. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  780. package/dist/views/Version/SelectLocales/index.js +83 -32
  781. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  782. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  783. package/dist/views/Versions/index.css +19 -16
  784. package/dist/views/Versions/index.d.ts +1 -1
  785. package/dist/views/Versions/index.d.ts.map +1 -1
  786. package/dist/views/Versions/index.js +3 -26
  787. package/dist/views/Versions/index.js.map +1 -1
  788. package/package.json +5 -5
  789. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  790. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  791. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  792. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  793. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  794. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  795. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  796. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  797. package/dist/elements/ColumnSelector/index.js.map +0 -1
  798. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  799. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  800. package/dist/elements/ColumnsButton/index.js.map +0 -1
  801. package/dist/elements/EditMany/index.scss +0 -182
  802. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  803. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  804. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  805. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  806. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  807. package/dist/elements/GroupByBuilder/index.js +0 -164
  808. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  809. package/dist/elements/GroupByBuilder/index.scss +0 -39
  810. package/dist/elements/GroupByControl/index.d.ts +0 -9
  811. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  812. package/dist/elements/GroupByControl/index.js +0 -255
  813. package/dist/elements/GroupByControl/index.js.map +0 -1
  814. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  815. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  816. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  817. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  818. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  819. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  820. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  821. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  822. package/dist/elements/LoadMoreRow/index.scss +0 -45
  823. package/dist/elements/PreviewSizes/index.scss +0 -147
  824. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  825. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  826. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  827. package/dist/elements/Thumbnail/index.scss +0 -53
  828. package/dist/fields/Tabs/Tab/index.css +0 -82
  829. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  830. package/dist/icons/ExternalLink/index.js +0 -26
  831. package/dist/icons/ExternalLink/index.js.map +0 -1
  832. package/dist/scss/toasts.scss +0 -146
  833. package/dist/views/Unauthorized/index.scss +0 -14
  834. package/dist/views/Verify/index.scss +0 -18
  835. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  836. package/dist/views/Version/SelectComparison/index.scss +0 -9
  837. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  838. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -6,6 +6,12 @@
6
6
  align-items: center;
7
7
  position: relative;
8
8
 
9
+ --field-min-height: var(--text-body-medium-line-height);
10
+
11
+ .shimmer-effect {
12
+ max-width: calc(2 * var(--spacer-4));
13
+ }
14
+
9
15
  .timezone-picker__label {
10
16
  color: var(--color-text-secondary);
11
17
  flex-shrink: 0;
@@ -25,30 +31,6 @@
25
31
  display: inline-flex;
26
32
  position: static;
27
33
 
28
- .rs__menu {
29
- overflow: hidden;
30
- border-radius: var(--radius-large);
31
- background: var(--popup-bg-dark, var(--color-bg-menu));
32
- color: var(--popup-item-color-dark, var(--color-text-ontooltip));
33
- padding: var(--spacer-2);
34
- min-width: 280px;
35
- max-height: 280px;
36
- }
37
-
38
- .rs__menu-list {
39
- max-height: calc(var(--spacer-6) * 5);
40
- overflow-y: auto;
41
- }
42
-
43
- .rs__option {
44
- padding: var(--spacer-1) var(--spacer-2);
45
- border-radius: var(--button-radius);
46
- cursor: pointer;
47
- overflow: hidden;
48
- text-overflow: ellipsis;
49
- white-space: nowrap;
50
- }
51
-
52
34
  .rs__option--is-focused,
53
35
  .rs__option--is-selected {
54
36
  /* Colors handled by inline styles via react-select styles prop */
@@ -163,4 +145,56 @@
163
145
  }
164
146
  }
165
147
  }
148
+
149
+ .timezone-picker__menu {
150
+ border-radius: var(--radius-large);
151
+ background: var(--color-bg-menu);
152
+ color: var(--color-text);
153
+ padding-top: var(--spacer-2);
154
+ min-width: 280px;
155
+
156
+ .rs__option {
157
+ padding: var(--spacer-1) var(--spacer-2);
158
+ border-radius: var(--button-radius);
159
+ cursor: pointer;
160
+ }
161
+
162
+ .timezone-picker__option-check {
163
+ opacity: 0;
164
+ flex-shrink: 0;
165
+ }
166
+
167
+ .timezone-picker__option-label {
168
+ flex: 1;
169
+ min-width: 0;
170
+ overflow: hidden;
171
+ text-overflow: ellipsis;
172
+ white-space: nowrap;
173
+ }
174
+
175
+ .rs__option--is-focused {
176
+ background-color: var(--popup-item-bg-hover, var(--color-bg-selected-strong));
177
+ color: var(--popup-item-color-hover, var(--color-text-onselected-strong));
178
+ }
179
+
180
+ .rs__option--is-selected {
181
+ background-color: transparent;
182
+ color: var(--popup-item-color-selected, var(--popup-item-color, var(--color-text)));
183
+
184
+ .timezone-picker__option-check {
185
+ opacity: 1;
186
+ }
187
+ }
188
+
189
+ .rs__option--is-selected.rs__option--is-focused {
190
+ background-color: var(--popup-item-bg-hover, var(--color-bg-selected-strong));
191
+ color: var(--popup-item-color-hover, var(--color-text-onselected-strong));
192
+ }
193
+ }
194
+
195
+ .timezone-picker__menu-list {
196
+ max-height: calc(var(--spacer-6) * 5);
197
+ padding-inline: var(--spacer-2);
198
+ padding-bottom: var(--spacer-2);
199
+ }
166
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TimezonePicker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAOvC,OAAO,aAAa,CAAA;AAqDpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsE1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TimezonePicker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAQvC,OAAO,aAAa,CAAA;AAgEpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuE1C,CAAA"}
@@ -2,6 +2,8 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useMemo } from 'react';
5
+ import { components as rsComponents } from 'react-select';
6
+ import { CheckIcon } from '../../icons/Check/index.js';
5
7
  import { ChevronIcon } from '../../icons/Chevron/index.js';
6
8
  import { CircledXIcon } from '../../icons/CircledX/index.js';
7
9
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -55,6 +57,21 @@ const SmallClearIndicator = props => {
55
57
  })
56
58
  });
57
59
  };
60
+ const TimezoneOption = props => {
61
+ const {
62
+ children
63
+ } = props;
64
+ return /*#__PURE__*/_jsxs(rsComponents.Option, {
65
+ ...props,
66
+ children: [/*#__PURE__*/_jsx(CheckIcon, {
67
+ className: "timezone-picker__option-check",
68
+ size: 16
69
+ }), /*#__PURE__*/_jsx("span", {
70
+ className: "timezone-picker__option-label",
71
+ children: children
72
+ })]
73
+ });
74
+ };
58
75
  export const TimezonePicker = props => {
59
76
  const {
60
77
  id,
@@ -85,9 +102,17 @@ export const TimezonePicker = props => {
85
102
  })]
86
103
  }), /*#__PURE__*/_jsx(ReactSelect, {
87
104
  className: "timezone-picker",
105
+ classNames: {
106
+ menu: () => 'timezone-picker__menu',
107
+ menuList: () => 'timezone-picker__menu-list'
108
+ },
88
109
  components: {
89
110
  ClearIndicator: SmallClearIndicator,
90
- DropdownIndicator: SmallDropdownIndicator
111
+ DropdownIndicator: SmallDropdownIndicator,
112
+ Option: TimezoneOption
113
+ },
114
+ customProps: {
115
+ menuPortalTheme: 'dark'
91
116
  },
92
117
  disabled: readOnly,
93
118
  inputId: id,
@@ -105,10 +130,12 @@ export const TimezonePicker = props => {
105
130
  ...base,
106
131
  flexWrap: 'nowrap'
107
132
  }),
108
- option: (base_0, state) => ({
133
+ option: base_0 => ({
109
134
  ...base_0,
110
- backgroundColor: state.isSelected ? 'var(--popup-item-bg-selected-dark, var(--color-bg-selected))' : state.isFocused ? 'var(--popup-item-bg-hover-dark, var(--color-bg-selected-strong))' : 'transparent',
111
- color: state.isFocused || state.isSelected ? 'var(--popup-item-color-hover-dark, var(--color-text-onselected-strong))' : 'var(--popup-item-color-dark, var(--color-text-ontooltip))'
135
+ alignItems: 'center',
136
+ display: 'flex',
137
+ gap: 'var(--spacer-1)',
138
+ minWidth: 0
112
139
  })
113
140
  },
114
141
  value: selectedTimezone
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useMemo","ChevronIcon","CircledXIcon","useTranslation","ReactSelect","formatOptions","SmallDropdownIndicator","props","innerProps","ref","restInnerProps","_jsx","className","onKeyDown","e","key","type","size","SmallClearIndicator","clearValue","stopPropagation","role","tabIndex","TimezonePicker","id","onChange","onChangeFromProps","options","optionsFromProps","readOnly","readOnlyFromProps","required","selectedTimezone","selectedTimezoneFromProps","t","find","value","Boolean","length","_jsxs","components","ClearIndicator","DropdownIndicator","disabled","inputId","isClearable","isCreatable","val","placeholder","styles","control","base","flexWrap","option","state","backgroundColor","isSelected","isFocused","color"],"sources":["../../../src/elements/TimezonePicker/index.tsx"],"sourcesContent":["'use client'\n\nimport type { OptionObject } from 'payload'\nimport type React from 'react'\nimport type { JSX } from 'react'\nimport type { ClearIndicatorProps, DropdownIndicatorProps, StylesConfig } from 'react-select'\n\nimport { useMemo } from 'react'\n\nimport type { Option as OptionType } from '../ReactSelect/types.js'\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { CircledXIcon } from '../../icons/CircledX/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { formatOptions } from '../WhereBuilder/Condition/Select/formatOptions.js'\nimport './index.css'\n\nconst SmallDropdownIndicator: React.FC<\n {\n innerProps: JSX.IntrinsicElements['button']\n } & DropdownIndicatorProps<OptionType, true>\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <button\n className=\"timezone-picker__dropdown-indicator\"\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.key = ' '\n }\n }}\n type=\"button\"\n >\n <ChevronIcon size={16} />\n </button>\n )\n}\n\nconst SmallClearIndicator: React.FC<ClearIndicatorProps<OptionType, true>> = (props) => {\n const {\n clearValue,\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <div\n className=\"timezone-picker__clear-indicator\"\n ref={typeof ref === 'string' ? null : ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n clearValue()\n e.stopPropagation()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <CircledXIcon size={24} />\n </div>\n )\n}\n\nexport const TimezonePicker: React.FC<Props> = (props) => {\n const {\n id,\n onChange: onChangeFromProps,\n options: optionsFromProps,\n readOnly: readOnlyFromProps,\n required,\n selectedTimezone: selectedTimezoneFromProps,\n } = props\n\n const { t } = useTranslation()\n\n const options = formatOptions(optionsFromProps)\n\n const selectedTimezone = useMemo(() => {\n return options.find((t) => {\n const value = typeof t === 'string' ? t : t.value\n return value === selectedTimezoneFromProps\n })\n }, [options, selectedTimezoneFromProps])\n\n const readOnly = Boolean(readOnlyFromProps) || options.length === 1\n\n return (\n <div className=\"timezone-picker-wrapper\">\n <span className=\"timezone-picker__label\">\n {t('general:timezone')}\n {required && <span className=\"timezone-picker__required\">*</span>}\n </span>\n <ReactSelect\n className=\"timezone-picker\"\n components={{\n ClearIndicator: SmallClearIndicator,\n DropdownIndicator: SmallDropdownIndicator,\n }}\n disabled={readOnly}\n inputId={id}\n isClearable={!required}\n isCreatable={false}\n onChange={(val: OptionObject) => {\n if (onChangeFromProps) {\n onChangeFromProps(val?.value || '')\n }\n }}\n options={options}\n placeholder={t('general:none')}\n styles={\n {\n control: (base) => ({\n ...base,\n flexWrap: 'nowrap',\n }),\n option: (base, state) => ({\n ...base,\n backgroundColor: state.isSelected\n ? 'var(--popup-item-bg-selected-dark, var(--color-bg-selected))'\n : state.isFocused\n ? 'var(--popup-item-bg-hover-dark, var(--color-bg-selected-strong))'\n : 'transparent',\n color:\n state.isFocused || state.isSelected\n ? 'var(--popup-item-color-hover-dark, var(--color-text-onselected-strong))'\n : 'var(--popup-item-color-dark, var(--color-text-ontooltip))',\n }),\n } as StylesConfig<OptionType>\n }\n value={selectedTimezone}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useMemo","components","rsComponents","CheckIcon","ChevronIcon","CircledXIcon","useTranslation","ReactSelect","formatOptions","SmallDropdownIndicator","props","innerProps","ref","restInnerProps","_jsx","className","onKeyDown","e","key","type","size","SmallClearIndicator","clearValue","stopPropagation","role","tabIndex","TimezoneOption","children","_jsxs","Option","TimezonePicker","id","onChange","onChangeFromProps","options","optionsFromProps","readOnly","readOnlyFromProps","required","selectedTimezone","selectedTimezoneFromProps","t","find","value","Boolean","length","classNames","menu","menuList","ClearIndicator","DropdownIndicator","customProps","menuPortalTheme","disabled","inputId","isClearable","isCreatable","val","placeholder","styles","control","base","flexWrap","option","alignItems","display","gap","minWidth"],"sources":["../../../src/elements/TimezonePicker/index.tsx"],"sourcesContent":["'use client'\n\nimport type { OptionObject } from 'payload'\nimport type React from 'react'\nimport type { JSX } from 'react'\nimport type {\n ClearIndicatorProps,\n DropdownIndicatorProps,\n OptionProps,\n StylesConfig,\n} from 'react-select'\n\nimport { useMemo } from 'react'\nimport { components as rsComponents } from 'react-select'\n\nimport type { Option as OptionType } from '../ReactSelect/types.js'\nimport type { Props } from './types.js'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { CircledXIcon } from '../../icons/CircledX/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { formatOptions } from '../WhereBuilder/Condition/Select/formatOptions.js'\nimport './index.css'\n\nconst SmallDropdownIndicator: React.FC<\n {\n innerProps: JSX.IntrinsicElements['button']\n } & DropdownIndicatorProps<OptionType, true>\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <button\n className=\"timezone-picker__dropdown-indicator\"\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.key = ' '\n }\n }}\n type=\"button\"\n >\n <ChevronIcon size={16} />\n </button>\n )\n}\n\nconst SmallClearIndicator: React.FC<ClearIndicatorProps<OptionType, true>> = (props) => {\n const {\n clearValue,\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <div\n className=\"timezone-picker__clear-indicator\"\n ref={typeof ref === 'string' ? null : ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n clearValue()\n e.stopPropagation()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <CircledXIcon size={24} />\n </div>\n )\n}\n\nconst TimezoneOption: React.FC<OptionProps<OptionType, false>> = (props) => {\n const { children } = props\n\n return (\n <rsComponents.Option {...props}>\n <CheckIcon className=\"timezone-picker__option-check\" size={16} />\n <span className=\"timezone-picker__option-label\">{children}</span>\n </rsComponents.Option>\n )\n}\n\nexport const TimezonePicker: React.FC<Props> = (props) => {\n const {\n id,\n onChange: onChangeFromProps,\n options: optionsFromProps,\n readOnly: readOnlyFromProps,\n required,\n selectedTimezone: selectedTimezoneFromProps,\n } = props\n\n const { t } = useTranslation()\n\n const options = formatOptions(optionsFromProps)\n\n const selectedTimezone = useMemo(() => {\n return options.find((t) => {\n const value = typeof t === 'string' ? t : t.value\n return value === selectedTimezoneFromProps\n })\n }, [options, selectedTimezoneFromProps])\n\n const readOnly = Boolean(readOnlyFromProps) || options.length === 1\n\n return (\n <div className=\"timezone-picker-wrapper\">\n <span className=\"timezone-picker__label\">\n {t('general:timezone')}\n {required && <span className=\"timezone-picker__required\">*</span>}\n </span>\n <ReactSelect\n className=\"timezone-picker\"\n classNames={{\n menu: () => 'timezone-picker__menu',\n menuList: () => 'timezone-picker__menu-list',\n }}\n components={{\n ClearIndicator: SmallClearIndicator,\n DropdownIndicator: SmallDropdownIndicator,\n Option: TimezoneOption,\n }}\n customProps={{ menuPortalTheme: 'dark' }}\n disabled={readOnly}\n inputId={id}\n isClearable={!required}\n isCreatable={false}\n onChange={(val: OptionObject) => {\n if (onChangeFromProps) {\n onChangeFromProps(val?.value || '')\n }\n }}\n options={options}\n placeholder={t('general:none')}\n styles={\n {\n control: (base) => ({\n ...base,\n flexWrap: 'nowrap',\n }),\n option: (base) => ({\n ...base,\n alignItems: 'center',\n display: 'flex',\n gap: 'var(--spacer-1)',\n minWidth: 0,\n }),\n } as StylesConfig<OptionType>\n }\n value={selectedTimezone}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import './index.css';
2
3
  export declare function createErrorsFromMessage(message: string): {
3
4
  errors?: string[];
4
5
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fieldErrors.d.ts","sourceRoot":"","sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AA6BzB,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG;IACxD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB,CAwBA;AAED,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE;;CAAA,qBAmBhD"}
1
+ {"version":3,"file":"fieldErrors.d.ts","sourceRoot":"","sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,aAAa,CAAA;AA6BpB,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG;IACxD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB,CAwBA;AAED,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE;;CAAA,qBA4BhD"}
@@ -1,8 +1,10 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
5
  import React from 'react';
6
+ import { WarningIcon } from '../../icons/Warning/index.js';
7
+ import './index.css';
6
8
  function groupSimilarErrors(items) {
7
9
  const result = [];
8
10
  for (const item of items) {
@@ -66,14 +68,28 @@ export function FieldErrorsToast(t0) {
66
68
  } = t2;
67
69
  let t3;
68
70
  if ($[2] !== errors || $[3] !== message) {
69
- t3 = _jsxs("div", {
70
- children: [message, Array.isArray(errors) && errors.length > 0 ? errors.length === 1 ? _jsx("span", {
71
- "data-testid": "field-error",
72
- children: errors[0]
73
- }) : _jsx("ul", {
74
- "data-testid": "field-errors",
75
- children: errors.map(_temp)
76
- }) : null]
71
+ t3 = _jsxs(_Fragment, {
72
+ children: [_jsx("div", {
73
+ className: "toast-icon",
74
+ children: _jsx(WarningIcon, {
75
+ size: 24
76
+ })
77
+ }), _jsx("div", {
78
+ className: "toast-content",
79
+ "data-testid": "field-errors-toast",
80
+ children: _jsxs("div", {
81
+ className: "toast-title",
82
+ children: [message, Array.isArray(errors) && errors.length > 0 ? errors.length === 1 ? _jsx("span", {
83
+ className: "field-error",
84
+ "data-testid": "field-error",
85
+ children: errors[0]
86
+ }) : _jsx("ul", {
87
+ className: "field-errors",
88
+ "data-testid": "field-errors",
89
+ children: errors.map(_temp)
90
+ }) : null]
91
+ })
92
+ })]
77
93
  });
78
94
  $[2] = errors;
79
95
  $[3] = message;
@@ -1 +1 @@
1
- {"version":3,"file":"fieldErrors.js","names":["c","_c","React","groupSimilarErrors","items","result","item","parts","split","inserted","i","length","startsWith","splice","push","createErrorsFromMessage","message","colonIndex","indexOf","intro","slice","errorsString","undefined","errors","map","error","replaceAll","trim","FieldErrorsToast","t0","$","errorMessage","t1","t2","useState","t3","_jsxs","children","Array","isArray","_jsx","_temp","index"],"sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nfunction groupSimilarErrors(items: string[]): string[] {\n const result: string[] = []\n\n for (const item of items) {\n if (item) {\n const parts = item.split(' → ')\n let inserted = false\n\n // Find a place where a similar path exists\n for (let i = 0; i < result.length; i++) {\n if (result[i].startsWith(parts[0])) {\n result.splice(i + 1, 0, item)\n inserted = true\n break\n }\n }\n\n // If no similar path was found, add to the end\n if (!inserted) {\n result.push(item)\n }\n }\n }\n\n return result\n}\n\nexport function createErrorsFromMessage(message: string): {\n errors?: string[]\n message: string\n} {\n const colonIndex = message.indexOf(':')\n const intro = colonIndex >= 0 ? message.slice(0, colonIndex) : message\n const errorsString = colonIndex >= 0 ? message.slice(colonIndex + 1) : undefined\n\n if (!errorsString) {\n return {\n message: intro,\n }\n }\n\n const errors = errorsString.split(',').map((error) => error.replaceAll(' > ', ' → ').trim())\n\n if (errors.length === 1) {\n return {\n errors,\n message: `${intro}: `,\n }\n }\n\n return {\n errors: groupSimilarErrors(errors),\n message: `${intro} (${errors.length}):`,\n }\n}\n\nexport function FieldErrorsToast({ errorMessage }) {\n const [{ errors, message }] = React.useState(() => createErrorsFromMessage(errorMessage))\n\n return (\n <div>\n {message}\n {Array.isArray(errors) && errors.length > 0 ? (\n errors.length === 1 ? (\n <span data-testid=\"field-error\">{errors[0]}</span>\n ) : (\n <ul data-testid=\"field-errors\">\n {errors.map((error, index) => {\n return <li key={index}>{error}</li>\n })}\n </ul>\n )\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fieldErrors.js","names":["c","_c","React","WarningIcon","groupSimilarErrors","items","result","item","parts","split","inserted","i","length","startsWith","splice","push","createErrorsFromMessage","message","colonIndex","indexOf","intro","slice","errorsString","undefined","errors","map","error","replaceAll","trim","FieldErrorsToast","t0","$","errorMessage","t1","t2","useState","t3","_jsxs","_Fragment","children","_jsx","className","size","Array","isArray","_temp","index"],"sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { WarningIcon } from '../../icons/Warning/index.js'\nimport './index.css'\n\nfunction groupSimilarErrors(items: string[]): string[] {\n const result: string[] = []\n\n for (const item of items) {\n if (item) {\n const parts = item.split(' → ')\n let inserted = false\n\n // Find a place where a similar path exists\n for (let i = 0; i < result.length; i++) {\n if (result[i].startsWith(parts[0])) {\n result.splice(i + 1, 0, item)\n inserted = true\n break\n }\n }\n\n // If no similar path was found, add to the end\n if (!inserted) {\n result.push(item)\n }\n }\n }\n\n return result\n}\n\nexport function createErrorsFromMessage(message: string): {\n errors?: string[]\n message: string\n} {\n const colonIndex = message.indexOf(':')\n const intro = colonIndex >= 0 ? message.slice(0, colonIndex) : message\n const errorsString = colonIndex >= 0 ? message.slice(colonIndex + 1) : undefined\n\n if (!errorsString) {\n return {\n message: intro,\n }\n }\n\n const errors = errorsString.split(',').map((error) => error.replaceAll(' > ', ' → ').trim())\n\n if (errors.length === 1) {\n return {\n errors,\n message: `${intro}: `,\n }\n }\n\n return {\n errors: groupSimilarErrors(errors),\n message: `${intro} (${errors.length}):`,\n }\n}\n\nexport function FieldErrorsToast({ errorMessage }) {\n const [{ errors, message }] = React.useState(() => createErrorsFromMessage(errorMessage))\n\n return (\n <>\n <div className=\"toast-icon\">\n <WarningIcon size={24} />\n </div>\n <div className=\"toast-content\" data-testid=\"field-errors-toast\">\n <div className=\"toast-title\">\n {message}\n {Array.isArray(errors) && errors.length > 0 ? (\n errors.length === 1 ? (\n <span className=\"field-error\" data-testid=\"field-error\">\n {errors[0]}\n </span>\n ) : (\n <ul className=\"field-errors\" data-testid=\"field-errors\">\n {errors.map((error, index) => {\n return <li key={index}>{error}</li>\n })}\n </ul>\n )\n ) : null}\n </div>\n </div>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ @layer payload-default {
2
+ .field-errors {
3
+ list-style: circle;
4
+ }
5
+ }
@@ -5,12 +5,15 @@
5
5
  --caret-offset: 4px;
6
6
  --caret-border-color: var(--color-border);
7
7
  --tooltip-x: -50%;
8
+ --tooltip-caret-x: 0px;
9
+ --tooltip-max-width: none;
8
10
 
9
11
  opacity: 0;
10
12
  background-color: var(--color-bg-tooltip);
11
13
  position: absolute;
12
14
  z-index: 3;
13
15
  left: 50%;
16
+ max-width: var(--tooltip-max-width);
14
17
  padding: var(--spacer-1);
15
18
  color: var(--color-text-ontooltip);
16
19
  font-family: var(--text-body-medium-font-family);
@@ -48,6 +51,11 @@
48
51
  }
49
52
  }
50
53
 
54
+ .tooltip--wrap {
55
+ white-space: normal;
56
+ overflow-wrap: break-word;
57
+ }
58
+
51
59
  .tooltip__caret {
52
60
  position: absolute;
53
61
  pointer-events: none;
@@ -87,7 +95,11 @@
87
95
 
88
96
  .tooltip--position-top {
89
97
  top: 0;
90
- transform: translate3d(var(--tooltip-x), calc(-100% - var(--caret-height) - var(--caret-offset) + 1px), 0);
98
+ transform: translate3d(
99
+ var(--tooltip-x),
100
+ calc(-100% - var(--caret-height) - var(--caret-offset) + 1px),
101
+ 0
102
+ );
91
103
 
92
104
  .tooltip__caret {
93
105
  --color-border: var(--ramp-grey-700);
@@ -95,13 +107,17 @@
95
107
  }
96
108
 
97
109
  &.tooltip--caret-center .tooltip__caret {
98
- transform: translateX(-50%);
110
+ transform: translateX(calc(-50% + var(--tooltip-caret-x)));
99
111
  }
100
112
  }
101
113
 
102
114
  .tooltip--position-bottom {
103
115
  top: 100%;
104
- transform: translate3d(-50%, calc(var(--caret-height) + var(--caret-offset) - 1px), 0);
116
+ transform: translate3d(
117
+ var(--tooltip-x),
118
+ calc(var(--caret-height) + var(--caret-offset) - 1px),
119
+ 0
120
+ );
105
121
 
106
122
  .tooltip__caret {
107
123
  bottom: calc(100% - 0.5px);
@@ -109,7 +125,7 @@
109
125
  }
110
126
 
111
127
  &.tooltip--caret-center .tooltip__caret {
112
- transform: translateX(-50%) rotate(180deg);
128
+ transform: translateX(calc(-50% + var(--tooltip-caret-x))) rotate(180deg);
113
129
  }
114
130
 
115
131
  &.tooltip--caret-right .tooltip__caret {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAGxC,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAsBD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkFnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAGhF,OAAO,aAAa,CAAA;AAwBpB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAsBD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsJnC,CAAA"}
@@ -2,9 +2,24 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import React, { useEffect } from 'react';
5
+ import React, { useCallback, useEffect, useLayoutEffect, useState } from 'react';
6
6
  import { useIntersect } from '../../hooks/useIntersect.js';
7
7
  import './index.css';
8
+ // Breathing room (px) between a shifted tooltip and its clipping edge. Maps to `--spacer-1`.
9
+ const EDGE_GUTTER = 4;
10
+ const getClipBoundary = el => {
11
+ let current = el?.parentElement || null;
12
+ while (current) {
13
+ const {
14
+ overflowX
15
+ } = window.getComputedStyle(current);
16
+ if (overflowX === 'auto' || overflowX === 'clip' || overflowX === 'hidden' || overflowX === 'scroll') {
17
+ return current.getBoundingClientRect();
18
+ }
19
+ current = current.parentElement;
20
+ }
21
+ return null;
22
+ };
8
23
  const TooltipCaret = () => {
9
24
  const $ = _c(2);
10
25
  const clipId = React.useId();
@@ -53,7 +68,9 @@ export const Tooltip = props => {
53
68
  } = props;
54
69
  const [show, setShow] = React.useState(showFromProps);
55
70
  const [position, setPosition] = React.useState('top');
56
- const [ref, intersectionEntry] = useIntersect({
71
+ const [shiftX, setShiftX] = useState(0);
72
+ const [maxWidth, setMaxWidth] = useState(null);
73
+ const [ref, intersectionEntry, node] = useIntersect({
57
74
  root: boundingRef?.current || null,
58
75
  rootMargin: '-145px 0px 0px 100px',
59
76
  threshold: 0
@@ -80,6 +97,48 @@ export const Tooltip = props => {
80
97
  }
81
98
  setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom');
82
99
  }, [intersectionEntry, staticPositioning]);
100
+ // Keep a horizontally-centered tooltip (top/bottom) inside its boundary by
101
+ // shifting it inward by exactly the amount it would overflow. The hidden
102
+ // measuring aside (`node`) provides the natural, unshifted geometry.
103
+ const computeShift = useCallback(() => {
104
+ const usesHorizontalCenter = (positionFromProps || position) === 'top' || (positionFromProps || position) === 'bottom';
105
+ if (staticPositioning || !node || !usesHorizontalCenter) {
106
+ setShiftX(0);
107
+ setMaxWidth(null);
108
+ return;
109
+ }
110
+ const rect = node.getBoundingClientRect();
111
+ const boundary = boundingRef?.current?.getBoundingClientRect() ?? getClipBoundary(node) ?? undefined;
112
+ const leftEdge = (boundary?.left ?? 0) + EDGE_GUTTER;
113
+ const rightEdge = (boundary?.right ?? window.innerWidth) - EDGE_GUTTER;
114
+ const available = rightEdge - leftEdge;
115
+ // When the tooltip can't fit even at full boundary width, cap it so it wraps.
116
+ const nextMaxWidth = rect.width > available ? available : null;
117
+ setMaxWidth(nextMaxWidth);
118
+ // Compute the shift against the clamped box, kept centered on the anchor.
119
+ const center = rect.left + rect.width / 2;
120
+ const effectiveWidth = nextMaxWidth ?? rect.width;
121
+ const effectiveLeft = center - effectiveWidth / 2;
122
+ const effectiveRight = center + effectiveWidth / 2;
123
+ let shift = 0;
124
+ if (effectiveRight > rightEdge) {
125
+ shift = rightEdge - effectiveRight;
126
+ }
127
+ if (effectiveLeft + shift < leftEdge) {
128
+ shift = leftEdge - effectiveLeft;
129
+ }
130
+ setShiftX(shift);
131
+ }, [boundingRef, node, position, positionFromProps, staticPositioning]);
132
+ useLayoutEffect(() => {
133
+ if (!show) {
134
+ return;
135
+ }
136
+ computeShift();
137
+ window.addEventListener('resize', computeShift);
138
+ return () => {
139
+ window.removeEventListener('resize', computeShift);
140
+ };
141
+ }, [show, computeShift]);
83
142
  // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.
84
143
  return /*#__PURE__*/_jsxs(React.Fragment, {
85
144
  children: [!staticPositioning && /*#__PURE__*/_jsxs("aside", {
@@ -94,7 +153,16 @@ export const Tooltip = props => {
94
153
  children: children
95
154
  })]
96
155
  }), /*#__PURE__*/_jsxs("aside", {
97
- className: ['tooltip', className, show && 'tooltip--show', `tooltip--caret-${alignCaret}`, `tooltip--position-${positionFromProps || position}`].filter(Boolean).join(' '),
156
+ className: ['tooltip', className, show && 'tooltip--show', maxWidth && 'tooltip--wrap', `tooltip--caret-${alignCaret}`, `tooltip--position-${positionFromProps || position}`].filter(Boolean).join(' '),
157
+ style: {
158
+ ...(maxWidth ? {
159
+ '--tooltip-max-width': `${maxWidth}px`
160
+ } : {}),
161
+ ...(shiftX ? {
162
+ '--tooltip-caret-x': `${-shiftX}px`,
163
+ '--tooltip-x': `calc(-50% + ${shiftX}px)`
164
+ } : {})
165
+ },
98
166
  children: [/*#__PURE__*/_jsx(TooltipCaret, {}), /*#__PURE__*/_jsx("div", {
99
167
  className: "tooltip-content",
100
168
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","TooltipCaret","$","clipId","useId","t0","_jsxs","className","height","viewBox","width","children","_jsx","id","x","y","clipPath","d","Tooltip","props","alignCaret","boundingRef","delay","position","positionFromProps","show","showFromProps","staticPositioning","setShow","useState","setPosition","ref","intersectionEntry","root","current","rootMargin","threshold","timerID","setTimeout","clearTimeout","isIntersecting","Fragment","filter","Boolean","join","style","opacity"],"sources":["../../../src/elements/Tooltip/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.css'\n\nexport type Props = {\n alignCaret?: 'center' | 'left' | 'right'\n boundingRef?: React.RefObject<HTMLElement | null>\n children: React.ReactNode\n className?: string\n delay?: number\n position?: 'bottom' | 'left' | 'right' | 'top'\n show?: boolean\n /**\n * If the tooltip position should not change depending on if the toolbar is outside the boundingRef. @default false\n */\n staticPositioning?: boolean\n}\n\nconst TooltipCaret: React.FC = () => {\n const clipId = React.useId()\n\n return (\n <svg aria-hidden=\"true\" className=\"tooltip__caret\" height=\"14\" viewBox=\"0 0 14 14\" width=\"15\">\n <clipPath id={clipId}>\n <rect height=\"14\" width=\"15\" x=\"-0.5\" y=\"0.5\" />\n </clipPath>\n {/* Border stroke - clipped to hide top edge */}\n <path\n className=\"tooltip__caret-stroke\"\n clipPath={`url(#${clipId})`}\n d=\"M0,0 H14 L7.875,6.125 Q7,7 6.125,6.125 Z\"\n />\n {/* Fill path */}\n <path className=\"tooltip__caret-fill\" d=\"M0,0 H14 L7.875,6.125 Q7,7 6.125,6.125 Z\" />\n </svg>\n )\n}\n\nexport const Tooltip: React.FC<Props> = (props) => {\n const {\n alignCaret = 'center',\n boundingRef,\n children,\n className,\n delay = 500,\n position: positionFromProps,\n show: showFromProps = true,\n staticPositioning = false,\n } = props\n\n const [show, setShow] = React.useState(showFromProps)\n const [position, setPosition] = React.useState<'bottom' | 'left' | 'right' | 'top'>('top')\n\n const [ref, intersectionEntry] = useIntersect(\n {\n root: boundingRef?.current || null,\n rootMargin: '-145px 0px 0px 100px',\n threshold: 0,\n },\n staticPositioning,\n )\n\n useEffect(() => {\n let timerID: NodeJS.Timeout\n\n // do not use the delay on transition-out\n if (delay && showFromProps) {\n timerID = setTimeout(() => {\n setShow(showFromProps)\n }, delay)\n } else {\n setShow(showFromProps)\n }\n\n return () => {\n if (timerID) {\n clearTimeout(timerID)\n }\n }\n }, [showFromProps, delay])\n\n useEffect(() => {\n if (staticPositioning) {\n return\n }\n setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom')\n }, [intersectionEntry, staticPositioning])\n\n // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.\n return (\n <React.Fragment>\n {!staticPositioning && (\n <aside\n aria-hidden=\"true\"\n className={['tooltip', className, `tooltip--caret-${alignCaret}`, 'tooltip--position-top']\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n style={{ opacity: '0' }}\n >\n <TooltipCaret />\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n )}\n <aside\n className={[\n 'tooltip',\n className,\n show && 'tooltip--show',\n `tooltip--caret-${alignCaret}`,\n `tooltip--position-${positionFromProps || position}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TooltipCaret />\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAgBP,MAAMC,YAAA,GAAyBA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAC7B,MAAAM,MAAA,GAAeL,KAAA,CAAAM,KAAA,CAAW;EAAA,IAAAC,EAAA;EAAA,IAAAH,CAAA,QAAAC,MAAA;IAGxBE,EAAA,GAAAC,KAAA,CAAC;MAAA,eAAgB;MAAAC,SAAA,EAAiB;MAAAC,MAAA,EAAwB;MAAAC,OAAA,EAAa;MAAAC,KAAA,EAAkB;MAAAC,QAAA,GACvFC,IAAA,CAAC;QAAAC,EAAA,EAAaV,MAAA;QAAAQ,QAAA,EACZC,IAAA,CAAC;UAAAJ,MAAA,EAAY;UAAAE,KAAA,EAAW;UAAAI,CAAA,EAAO;UAAAC,CAAA,EAAS;QAAA,C;UAG1CH,IAAA,CAAC;QAAAL,SAAA,EACW;QAAAS,QAAA,EACA,QAAQb,MAAA,GAAS;QAAAc,CAAA,EACzB;MAAA,C,GAGJL,IAAA,CAAC;QAAAL,SAAA,EAAe;QAAAU,CAAA,EAAwB;MAAA,C;;;;;;;SAX1CZ,E;CAcJ;AAEA,OAAO,MAAMa,OAAA,GAA4BC,KAAA;EACvC,MAAM;IACJC,UAAA,GAAa,QAAQ;IACrBC,WAAW;IACXV,QAAQ;IACRJ,SAAS;IACTe,KAAA,GAAQ,GAAG;IACXC,QAAA,EAAUC,iBAAiB;IAC3BC,IAAA,EAAMC,aAAA,GAAgB,IAAI;IAC1BC,iBAAA,GAAoB;EAAK,CAC1B,GAAGR,KAAA;EAEJ,MAAM,CAACM,IAAA,EAAMG,OAAA,CAAQ,GAAG9B,KAAA,CAAM+B,QAAQ,CAACH,aAAA;EACvC,MAAM,CAACH,QAAA,EAAUO,WAAA,CAAY,GAAGhC,KAAA,CAAM+B,QAAQ,CAAsC;EAEpF,MAAM,CAACE,GAAA,EAAKC,iBAAA,CAAkB,GAAGhC,YAAA,CAC/B;IACEiC,IAAA,EAAMZ,WAAA,EAAaa,OAAA,IAAW;IAC9BC,UAAA,EAAY;IACZC,SAAA,EAAW;EACb,GACAT,iBAAA;EAGF5B,SAAA,CAAU;IACR,IAAIsC,OAAA;IAEJ;IACA,IAAIf,KAAA,IAASI,aAAA,EAAe;MAC1BW,OAAA,GAAUC,UAAA,CAAW;QACnBV,OAAA,CAAQF,aAAA;MACV,GAAGJ,KAAA;IACL,OAAO;MACLM,OAAA,CAAQF,aAAA;IACV;IAEA,OAAO;MACL,IAAIW,OAAA,EAAS;QACXE,YAAA,CAAaF,OAAA;MACf;IACF;EACF,GAAG,CAACX,aAAA,EAAeJ,KAAA,CAAM;EAEzBvB,SAAA,CAAU;IACR,IAAI4B,iBAAA,EAAmB;MACrB;IACF;IACAG,WAAA,CAAYE,iBAAA,EAAmBQ,cAAA,GAAiB,QAAQ;EAC1D,GAAG,CAACR,iBAAA,EAAmBL,iBAAA,CAAkB;EAEzC;EACA,oBACErB,KAAA,CAACR,KAAA,CAAM2C,QAAQ;eACZ,CAACd,iBAAA,iBACArB,KAAA,CAAC;MACC,eAAY;MACZC,SAAA,EAAW,CAAC,WAAWA,SAAA,EAAW,kBAAkBa,UAAA,EAAY,EAAE,wBAAwB,CACvFsB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;MACRb,GAAA,EAAKA,GAAA;MACLc,KAAA,EAAO;QAAEC,OAAA,EAAS;MAAI;8BAEtBlC,IAAA,CAACX,YAAA,O,aACDW,IAAA,CAAC;QAAIL,SAAA,EAAU;kBAAmBI;;qBAGtCL,KAAA,CAAC;MACCC,SAAA,EAAW,CACT,WACAA,SAAA,EACAkB,IAAA,IAAQ,iBACR,kBAAkBL,UAAA,EAAY,EAC9B,qBAAqBI,iBAAA,IAAqBD,QAAA,EAAU,CACrD,CACEmB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;8BAERhC,IAAA,CAACX,YAAA,O,aACDW,IAAA,CAAC;QAAIL,SAAA,EAAU;kBAAmBI;;;;AAI1C","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useLayoutEffect","useState","useIntersect","EDGE_GUTTER","getClipBoundary","el","current","parentElement","overflowX","window","getComputedStyle","getBoundingClientRect","TooltipCaret","$","clipId","useId","t0","_jsxs","className","height","viewBox","width","children","_jsx","id","x","y","clipPath","d","Tooltip","props","alignCaret","boundingRef","delay","position","positionFromProps","show","showFromProps","staticPositioning","setShow","setPosition","shiftX","setShiftX","maxWidth","setMaxWidth","ref","intersectionEntry","node","root","rootMargin","threshold","timerID","setTimeout","clearTimeout","isIntersecting","computeShift","usesHorizontalCenter","rect","boundary","undefined","leftEdge","left","rightEdge","right","innerWidth","available","nextMaxWidth","center","effectiveWidth","effectiveLeft","effectiveRight","shift","addEventListener","removeEventListener","Fragment","filter","Boolean","join","style","opacity"],"sources":["../../../src/elements/Tooltip/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useLayoutEffect, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.css'\n\n// Breathing room (px) between a shifted tooltip and its clipping edge. Maps to `--spacer-1`.\nconst EDGE_GUTTER = 4\n\nconst getClipBoundary = (el: HTMLElement | null): DOMRect | null => {\n let current = el?.parentElement || null\n\n while (current) {\n const { overflowX } = window.getComputedStyle(current)\n if (\n overflowX === 'auto' ||\n overflowX === 'clip' ||\n overflowX === 'hidden' ||\n overflowX === 'scroll'\n ) {\n return current.getBoundingClientRect()\n }\n current = current.parentElement\n }\n\n return null\n}\n\nexport type Props = {\n alignCaret?: 'center' | 'left' | 'right'\n boundingRef?: React.RefObject<HTMLElement | null>\n children: React.ReactNode\n className?: string\n delay?: number\n position?: 'bottom' | 'left' | 'right' | 'top'\n show?: boolean\n /**\n * If the tooltip position should not change depending on if the toolbar is outside the boundingRef. @default false\n */\n staticPositioning?: boolean\n}\n\nconst TooltipCaret: React.FC = () => {\n const clipId = React.useId()\n\n return (\n <svg aria-hidden=\"true\" className=\"tooltip__caret\" height=\"14\" viewBox=\"0 0 14 14\" width=\"15\">\n <clipPath id={clipId}>\n <rect height=\"14\" width=\"15\" x=\"-0.5\" y=\"0.5\" />\n </clipPath>\n {/* Border stroke - clipped to hide top edge */}\n <path\n className=\"tooltip__caret-stroke\"\n clipPath={`url(#${clipId})`}\n d=\"M0,0 H14 L7.875,6.125 Q7,7 6.125,6.125 Z\"\n />\n {/* Fill path */}\n <path className=\"tooltip__caret-fill\" d=\"M0,0 H14 L7.875,6.125 Q7,7 6.125,6.125 Z\" />\n </svg>\n )\n}\n\nexport const Tooltip: React.FC<Props> = (props) => {\n const {\n alignCaret = 'center',\n boundingRef,\n children,\n className,\n delay = 500,\n position: positionFromProps,\n show: showFromProps = true,\n staticPositioning = false,\n } = props\n\n const [show, setShow] = React.useState(showFromProps)\n const [position, setPosition] = React.useState<'bottom' | 'left' | 'right' | 'top'>('top')\n const [shiftX, setShiftX] = useState(0)\n const [maxWidth, setMaxWidth] = useState<null | number>(null)\n\n const [ref, intersectionEntry, node] = useIntersect(\n {\n root: boundingRef?.current || null,\n rootMargin: '-145px 0px 0px 100px',\n threshold: 0,\n },\n staticPositioning,\n )\n\n useEffect(() => {\n let timerID: NodeJS.Timeout\n\n // do not use the delay on transition-out\n if (delay && showFromProps) {\n timerID = setTimeout(() => {\n setShow(showFromProps)\n }, delay)\n } else {\n setShow(showFromProps)\n }\n\n return () => {\n if (timerID) {\n clearTimeout(timerID)\n }\n }\n }, [showFromProps, delay])\n\n useEffect(() => {\n if (staticPositioning) {\n return\n }\n setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom')\n }, [intersectionEntry, staticPositioning])\n\n // Keep a horizontally-centered tooltip (top/bottom) inside its boundary by\n // shifting it inward by exactly the amount it would overflow. The hidden\n // measuring aside (`node`) provides the natural, unshifted geometry.\n const computeShift = useCallback(() => {\n const usesHorizontalCenter =\n (positionFromProps || position) === 'top' || (positionFromProps || position) === 'bottom'\n\n if (staticPositioning || !node || !usesHorizontalCenter) {\n setShiftX(0)\n setMaxWidth(null)\n return\n }\n\n const rect = node.getBoundingClientRect()\n const boundary =\n boundingRef?.current?.getBoundingClientRect() ?? getClipBoundary(node) ?? undefined\n const leftEdge = (boundary?.left ?? 0) + EDGE_GUTTER\n const rightEdge = (boundary?.right ?? window.innerWidth) - EDGE_GUTTER\n const available = rightEdge - leftEdge\n\n // When the tooltip can't fit even at full boundary width, cap it so it wraps.\n const nextMaxWidth = rect.width > available ? available : null\n setMaxWidth(nextMaxWidth)\n\n // Compute the shift against the clamped box, kept centered on the anchor.\n const center = rect.left + rect.width / 2\n const effectiveWidth = nextMaxWidth ?? rect.width\n const effectiveLeft = center - effectiveWidth / 2\n const effectiveRight = center + effectiveWidth / 2\n\n let shift = 0\n if (effectiveRight > rightEdge) {\n shift = rightEdge - effectiveRight\n }\n if (effectiveLeft + shift < leftEdge) {\n shift = leftEdge - effectiveLeft\n }\n\n setShiftX(shift)\n }, [boundingRef, node, position, positionFromProps, staticPositioning])\n\n useLayoutEffect(() => {\n if (!show) {\n return\n }\n\n computeShift()\n window.addEventListener('resize', computeShift)\n\n return () => {\n window.removeEventListener('resize', computeShift)\n }\n }, [show, computeShift])\n\n // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.\n return (\n <React.Fragment>\n {!staticPositioning && (\n <aside\n aria-hidden=\"true\"\n className={['tooltip', className, `tooltip--caret-${alignCaret}`, 'tooltip--position-top']\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n style={{ opacity: '0' }}\n >\n <TooltipCaret />\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n )}\n <aside\n className={[\n 'tooltip',\n className,\n show && 'tooltip--show',\n maxWidth && 'tooltip--wrap',\n `tooltip--caret-${alignCaret}`,\n `tooltip--position-${positionFromProps || position}`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={\n {\n ...(maxWidth ? { '--tooltip-max-width': `${maxWidth}px` } : {}),\n ...(shiftX\n ? {\n '--tooltip-caret-x': `${-shiftX}px`,\n '--tooltip-x': `calc(-50% + ${shiftX}px)`,\n }\n : {}),\n } as React.CSSProperties\n }\n >\n <TooltipCaret />\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAY/D,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,0BAA+B,qBAuMtD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAMzD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,0BAA+B,qBA8LtD"}
@@ -3,9 +3,9 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { formatAdminURL } from 'payload/shared';
6
+ import { formatAdminURL, hasLocalizeStatusEnabled } from 'payload/shared';
7
7
  import * as qs from 'qs-esm';
8
- import React, { useCallback, useEffect, useState } from 'react';
8
+ import React, { useCallback, useState } from 'react';
9
9
  import { toast } from 'sonner';
10
10
  import { useForm } from '../../forms/Form/context.js';
11
11
  import { useConfig } from '../../providers/Config/index.js';
@@ -13,7 +13,6 @@ import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
13
13
  import { useLocale } from '../../providers/Locale/index.js';
14
14
  import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { requests } from '../../utilities/api.js';
16
- import { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js';
17
16
  import { ConfirmationModal } from '../ConfirmationModal/index.js';
18
17
  import { PopupList } from '../Popup/index.js';
19
18
  export function UnpublishButton({
@@ -47,7 +46,6 @@ export function UnpublishButton({
47
46
  label: localeLabel
48
47
  } = useLocale();
49
48
  const [unpublishAll, setUnpublishAll] = useState(false);
50
- const [hasLocalizedFields, setHasLocalizedFields] = useState(false);
51
49
  const unPublishModalSlug = `confirm-un-publish-${id}`;
52
50
  const {
53
51
  routes: {
@@ -142,23 +140,17 @@ export function UnpublishButton({
142
140
  toast.error(t('error:unPublishingDocument'));
143
141
  });
144
142
  }, [dataFromProps, resetForm, collectionSlug, globalSlug, serverURL, api, localeCode, id, i18n.language, incrementVersionCount, setHasPublishedDoc, setMostRecentVersionIsAutosaved, setUnpublishedVersionCount, t]);
145
- useEffect(() => {
146
- const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields);
147
- setHasLocalizedFields(hasLocalizedField);
148
- }, [entityConfig?.fields]);
149
143
  const drafts = entityConfig?.versions?.drafts;
150
144
  const hasDraftsEnabled = typeof drafts === 'object' && drafts !== null;
151
145
  const canUnpublish = React.useMemo(() => {
152
146
  return hasDraftsEnabled && hasPublishPermission && hasPublishedDoc && !isTrashed;
153
147
  }, [hasPublishPermission, hasPublishedDoc, isTrashed, hasDraftsEnabled]);
154
148
  const canUnpublishCurrentLocale = React.useMemo(() => {
155
- if (!canUnpublish || !hasLocalizedFields) {
149
+ if (!canUnpublish) {
156
150
  return false;
157
151
  }
158
- const isLocalizeStatusEnabled = drafts && drafts.localizeStatus === true;
159
- const isExperimentalEnabled = config.experimental?.localizeStatus === true;
160
- return isLocalizeStatusEnabled && isExperimentalEnabled;
161
- }, [canUnpublish, hasLocalizedFields, drafts, config.experimental?.localizeStatus]);
152
+ return Boolean(entityConfig && hasLocalizeStatusEnabled(entityConfig));
153
+ }, [canUnpublish, entityConfig]);
162
154
  const label = getTranslation(localeLabel, i18n);
163
155
  if (!canUnpublish) {
164
156
  return null;