@payloadcms/ui 4.0.0-internal.d3909a9 → 4.0.0-internal.d7d662c

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 (761) hide show
  1. package/dist/css/app.css +2 -2
  2. package/dist/css/colors.css +65 -0
  3. package/dist/elements/APIKeyInput/index.js +22 -23
  4. package/dist/elements/APIKeyInput/index.js.map +1 -1
  5. package/dist/elements/AddNewRelation/index.js +17 -19
  6. package/dist/elements/AddNewRelation/index.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +39 -30
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/Autosave/index.js +234 -142
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/EditMany/index.js +29 -21
  17. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/index.js +63 -23
  20. package/dist/elements/BulkUpload/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
  22. package/dist/elements/Button/index.css +3 -3
  23. package/dist/elements/Button/index.d.ts.map +1 -1
  24. package/dist/elements/Button/index.js +2 -1
  25. package/dist/elements/Button/index.js.map +1 -1
  26. package/dist/elements/Button/types.d.ts +1 -0
  27. package/dist/elements/Button/types.d.ts.map +1 -1
  28. package/dist/elements/Button/types.js.map +1 -1
  29. package/dist/elements/CardGrid/index.css +0 -1
  30. package/dist/elements/Chip/index.js.map +1 -1
  31. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  32. package/dist/elements/ClipboardAction/index.js +213 -88
  33. package/dist/elements/ClipboardAction/index.js.map +1 -1
  34. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  35. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  36. package/dist/elements/CodeEditor/CodeEditor.js +95 -56
  37. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  38. package/dist/elements/CollapseAllToggle/index.js +47 -32
  39. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  40. package/dist/elements/Collapsible/index.css +15 -4
  41. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  42. package/dist/elements/Collapsible/index.js +46 -38
  43. package/dist/elements/Collapsible/index.js.map +1 -1
  44. package/dist/elements/Collapsible/provider.js +37 -14
  45. package/dist/elements/Collapsible/provider.js.map +1 -1
  46. package/dist/elements/ColumnSelection/Popup.css +4 -0
  47. package/dist/elements/ColumnSelection/Popup.js +10 -2
  48. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  49. package/dist/elements/ColumnSelection/index.js.map +1 -1
  50. package/dist/elements/CommandPalette/index.css +8 -0
  51. package/dist/elements/ConfirmationModal/index.d.ts +3 -0
  52. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  53. package/dist/elements/ConfirmationModal/index.js +2 -0
  54. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  55. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  56. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  57. package/dist/elements/CreateDocumentButton/index.js +45 -43
  58. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  59. package/dist/elements/DatePicker/index.css +5 -0
  60. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
  61. package/dist/elements/DefaultListViewTabs/index.css +4 -0
  62. package/dist/elements/DefaultListViewTabs/index.js +47 -37
  63. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  64. package/dist/elements/DelayedSpinner/index.js.map +1 -1
  65. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  66. package/dist/elements/DeleteDocument/index.js +1 -3
  67. package/dist/elements/DeleteDocument/index.js.map +1 -1
  68. package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
  69. package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
  70. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  71. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  72. package/dist/elements/DocumentCard/index.d.ts +2 -0
  73. package/dist/elements/DocumentCard/index.d.ts.map +1 -1
  74. package/dist/elements/DocumentCard/index.js +2 -0
  75. package/dist/elements/DocumentCard/index.js.map +1 -1
  76. package/dist/elements/DocumentControls/index.js +1 -1
  77. package/dist/elements/DocumentControls/index.js.map +1 -1
  78. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  79. package/dist/elements/DocumentFields/index.js +125 -64
  80. package/dist/elements/DocumentFields/index.js.map +1 -1
  81. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  82. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  83. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
  84. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  85. package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
  86. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  87. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  88. package/dist/elements/DocumentLocked/index.js +1 -0
  89. package/dist/elements/DocumentLocked/index.js.map +1 -1
  90. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  91. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  92. package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
  93. package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
  94. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  95. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
  96. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  97. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
  98. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  99. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  100. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  101. package/dist/elements/DraggableSortable/index.js +104 -170
  102. package/dist/elements/DraggableSortable/index.js.map +1 -1
  103. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  104. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  105. package/dist/elements/DraggableSortable/types.js.map +1 -1
  106. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  107. package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
  108. package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
  109. package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
  110. package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
  111. package/dist/elements/Drawer/index.js +138 -81
  112. package/dist/elements/Drawer/index.js.map +1 -1
  113. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  114. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  115. package/dist/elements/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
  117. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  118. package/dist/elements/EditMany/DrawerContent.js +1 -1
  119. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  120. package/dist/elements/EditMany/index.js.map +1 -1
  121. package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
  122. package/dist/elements/FieldDiffContainer/index.js +7 -1
  123. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  124. package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
  125. package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
  126. package/dist/elements/FieldDiffLabel/index.js +2 -0
  127. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  128. package/dist/elements/FieldSelect/index.js +23 -14
  129. package/dist/elements/FieldSelect/index.js.map +1 -1
  130. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  131. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  132. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  133. package/dist/elements/FileManager/index.js.map +1 -1
  134. package/dist/elements/FullscreenModal/index.js.map +1 -1
  135. package/dist/elements/GenerateConfirmation/index.js +21 -21
  136. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  137. package/dist/elements/GroupBy/Popup.js.map +1 -1
  138. package/dist/elements/GroupBy/index.js +120 -66
  139. package/dist/elements/GroupBy/index.js.map +1 -1
  140. package/dist/elements/HTMLDiff/colors.css +7 -0
  141. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  142. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
  143. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  144. package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
  145. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  146. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
  147. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
  148. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
  149. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
  150. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
  151. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
  152. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  153. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  155. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Tree/index.js +10 -5
  157. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  158. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  159. package/dist/elements/HydratePreferences/index.js.map +1 -1
  160. package/dist/elements/IDLabel/index.js.map +1 -1
  161. package/dist/elements/InputStepper/index.js.map +1 -1
  162. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  163. package/dist/elements/ItemsDrawer/index.js +186 -105
  164. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  165. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
  166. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
  167. package/dist/elements/LayoutToggle/index.js.map +1 -1
  168. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  169. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
  170. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  171. package/dist/elements/Link/index.js +1 -1
  172. package/dist/elements/Link/index.js.map +1 -1
  173. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
  174. package/dist/elements/ListControls/index.js.map +1 -1
  175. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  176. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  177. package/dist/elements/ListDrawer/Provider.d.ts +3 -2
  178. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  179. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  180. package/dist/elements/ListDrawer/index.js.map +1 -1
  181. package/dist/elements/ListGroupByButton/index.js.map +1 -1
  182. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  183. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
  184. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  185. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  186. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
  187. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  188. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  189. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  190. package/dist/elements/ListSelection/index.js.map +1 -1
  191. package/dist/elements/ListWhereBuilder/index.js.map +1 -1
  192. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  193. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  194. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  195. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  196. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  197. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  198. package/dist/elements/LivePreview/Window/index.js +6 -1
  199. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  200. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  201. package/dist/elements/Loading/index.js +62 -18
  202. package/dist/elements/Loading/index.js.map +1 -1
  203. package/dist/elements/LoadingOverlay/index.js +93 -49
  204. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  205. package/dist/elements/Localizer/index.js +133 -108
  206. package/dist/elements/Localizer/index.js.map +1 -1
  207. package/dist/elements/Locked/index.js +54 -37
  208. package/dist/elements/Locked/index.js.map +1 -1
  209. package/dist/elements/Logout/index.js.map +1 -1
  210. package/dist/elements/MiniCarousel/index.js +102 -38
  211. package/dist/elements/MiniCarousel/index.js.map +1 -1
  212. package/dist/elements/Modal/index.d.ts.map +1 -1
  213. package/dist/elements/Modal/index.js +13 -1
  214. package/dist/elements/Modal/index.js.map +1 -1
  215. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  216. package/dist/elements/Nav/NavWrapper/index.js +13 -14
  217. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  218. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  219. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
  220. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  221. package/dist/elements/Nav/SidebarTabs/index.client.js +31 -20
  222. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  223. package/dist/elements/Nav/index.client.js.map +1 -1
  224. package/dist/elements/Nav/index.css +5 -0
  225. package/dist/elements/NavGroup/index.css +27 -3
  226. package/dist/elements/NavGroup/index.js +31 -38
  227. package/dist/elements/NavGroup/index.js.map +1 -1
  228. package/dist/elements/NoListResults/index.css +1 -0
  229. package/dist/elements/NoListResults/index.js +1 -1
  230. package/dist/elements/NoListResults/index.js.map +1 -1
  231. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  232. package/dist/elements/PageControls/index.js.map +1 -1
  233. package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
  234. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  235. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  236. package/dist/elements/Pagination/index.js +36 -37
  237. package/dist/elements/Pagination/index.js.map +1 -1
  238. package/dist/elements/PerPage/index.js.map +1 -1
  239. package/dist/elements/Pill/index.js.map +1 -1
  240. package/dist/elements/Popup/index.d.ts.map +1 -1
  241. package/dist/elements/Popup/index.js +19 -3
  242. package/dist/elements/Popup/index.js.map +1 -1
  243. package/dist/elements/PreviewButton/index.js.map +1 -1
  244. package/dist/elements/PreviewSizes/index.js +141 -70
  245. package/dist/elements/PreviewSizes/index.js.map +1 -1
  246. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  247. package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
  248. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  249. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  250. package/dist/elements/PublishButton/index.js +1 -0
  251. package/dist/elements/PublishButton/index.js.map +1 -1
  252. package/dist/elements/PublishMany/DrawerContent.js +1 -1
  253. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  254. package/dist/elements/PublishMany/index.js +32 -24
  255. package/dist/elements/PublishMany/index.js.map +1 -1
  256. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
  257. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  258. package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
  259. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  260. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
  261. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  262. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  263. package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
  264. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  265. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  266. package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
  267. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  268. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  269. package/dist/elements/ReactSelect/index.css +4 -0
  270. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  271. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  272. package/dist/elements/RelationshipTable/index.js +1 -1
  273. package/dist/elements/RelationshipTable/index.js.map +1 -1
  274. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  275. package/dist/elements/RenderTitle/index.js.map +1 -1
  276. package/dist/elements/RestoreMany/index.js +1 -1
  277. package/dist/elements/RestoreMany/index.js.map +1 -1
  278. package/dist/elements/SchedulePublishButton/index.js +111 -39
  279. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  280. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  281. package/dist/elements/SegmentedControl/index.js.map +1 -1
  282. package/dist/elements/SelectAll/index.js.map +1 -1
  283. package/dist/elements/SelectRow/index.js +31 -21
  284. package/dist/elements/SelectRow/index.js.map +1 -1
  285. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  286. package/dist/elements/SidebarToggle/index.js.map +1 -1
  287. package/dist/elements/SkipToContent/index.js.map +1 -1
  288. package/dist/elements/SortHeader/index.js.map +1 -1
  289. package/dist/elements/SortRow/index.js.map +1 -1
  290. package/dist/elements/Spinner/index.js.map +1 -1
  291. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  292. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  293. package/dist/elements/StepNav/context.js.map +1 -1
  294. package/dist/elements/Switch/index.css +2 -2
  295. package/dist/elements/Switch/index.js.map +1 -1
  296. package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
  297. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  298. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
  299. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  300. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
  301. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  302. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  303. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  304. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
  305. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  306. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  307. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  308. package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
  309. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  310. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
  311. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  312. package/dist/elements/Table/TableIdentity.js +32 -16
  313. package/dist/elements/Table/TableIdentity.js.map +1 -1
  314. package/dist/elements/Table/useAriaSort.js.map +1 -1
  315. package/dist/elements/Thumbnail/index.js +133 -53
  316. package/dist/elements/Thumbnail/index.js.map +1 -1
  317. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  318. package/dist/elements/TimezonePicker/index.js +113 -54
  319. package/dist/elements/TimezonePicker/index.js.map +1 -1
  320. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  321. package/dist/elements/Tooltip/index.js.map +1 -1
  322. package/dist/elements/TrashBanner/index.js.map +1 -1
  323. package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
  324. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  325. package/dist/elements/UnpublishMany/index.js +32 -24
  326. package/dist/elements/UnpublishMany/index.js.map +1 -1
  327. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  328. package/dist/elements/Upload/index.js.map +1 -1
  329. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
  330. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
  331. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  332. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  333. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  334. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  335. package/dist/elements/UserMenu/index.js +2 -1
  336. package/dist/elements/UserMenu/index.js.map +1 -1
  337. package/dist/elements/ViewDescription/index.js.map +1 -1
  338. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  340. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  341. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  342. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  343. package/dist/elements/WhereBuilder/Condition/index.js +1 -0
  344. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  345. package/dist/exports/client/{CodeEditor-I6PL55BF.js → CodeEditor-23ZGBN6S.js} +2 -2
  346. package/dist/exports/client/{DatePicker-RFCB5VGD.js → DatePicker-AZBZPMY6.js} +2 -2
  347. package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
  348. package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
  349. package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
  350. package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
  351. package/dist/exports/client/{chunk-O2RR6XEH.js → chunk-ZP2PB6M4.js} +2 -2
  352. package/dist/exports/client/{chunk-O2RR6XEH.js.map → chunk-ZP2PB6M4.js.map} +1 -1
  353. package/dist/exports/client/index.d.ts +2 -2
  354. package/dist/exports/client/index.d.ts.map +1 -1
  355. package/dist/exports/client/index.js +27 -27
  356. package/dist/exports/client/index.js.map +4 -4
  357. package/dist/exports/rsc/index.d.ts +1 -1
  358. package/dist/exports/rsc/index.d.ts.map +1 -1
  359. package/dist/exports/rsc/index.js +1 -1
  360. package/dist/exports/rsc/index.js.map +1 -1
  361. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  362. package/dist/fields/Array/ArrayRow.js +207 -99
  363. package/dist/fields/Array/ArrayRow.js.map +1 -1
  364. package/dist/fields/Array/index.d.ts.map +1 -1
  365. package/dist/fields/Array/index.js +521 -308
  366. package/dist/fields/Array/index.js.map +1 -1
  367. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  368. package/dist/fields/Blocks/BlockRow.js +224 -136
  369. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  370. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  371. package/dist/fields/Blocks/BlockSelector/index.js +114 -74
  372. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  373. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  374. package/dist/fields/Blocks/RowActions.js +75 -55
  375. package/dist/fields/Blocks/RowActions.js.map +1 -1
  376. package/dist/fields/Blocks/SectionTitle/index.css +4 -0
  377. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  378. package/dist/fields/Blocks/index.d.ts.map +1 -1
  379. package/dist/fields/Blocks/index.js +1 -0
  380. package/dist/fields/Blocks/index.js.map +1 -1
  381. package/dist/fields/Checkbox/index.css +3 -3
  382. package/dist/fields/Code/index.d.ts.map +1 -1
  383. package/dist/fields/Code/index.js +3 -2
  384. package/dist/fields/Code/index.js.map +1 -1
  385. package/dist/fields/Collapsible/index.js +114 -73
  386. package/dist/fields/Collapsible/index.js.map +1 -1
  387. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  388. package/dist/fields/DateTime/index.js +215 -121
  389. package/dist/fields/DateTime/index.js.map +1 -1
  390. package/dist/fields/FieldDescription/index.js +29 -21
  391. package/dist/fields/FieldDescription/index.js.map +1 -1
  392. package/dist/fields/FieldError/index.js.map +1 -1
  393. package/dist/fields/FieldLabel/index.js.map +1 -1
  394. package/dist/fields/Group/index.js +75 -46
  395. package/dist/fields/Group/index.js.map +1 -1
  396. package/dist/fields/Hidden/index.js +23 -15
  397. package/dist/fields/Hidden/index.js.map +1 -1
  398. package/dist/fields/JSON/index.d.ts.map +1 -1
  399. package/dist/fields/JSON/index.js +3 -2
  400. package/dist/fields/JSON/index.js.map +1 -1
  401. package/dist/fields/Number/Input.js.map +1 -1
  402. package/dist/fields/Password/input.js +46 -27
  403. package/dist/fields/Password/input.js.map +1 -1
  404. package/dist/fields/RadioGroup/Radio/index.js +35 -35
  405. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  406. package/dist/fields/Relationship/Input.js +14 -14
  407. package/dist/fields/Relationship/Input.js.map +1 -1
  408. package/dist/fields/Relationship/index.js +216 -111
  409. package/dist/fields/Relationship/index.js.map +1 -1
  410. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  411. package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
  412. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  413. package/dist/fields/Select/Input.js +26 -10
  414. package/dist/fields/Select/Input.js.map +1 -1
  415. package/dist/fields/Select/index.js +158 -77
  416. package/dist/fields/Select/index.js.map +1 -1
  417. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  418. package/dist/fields/Tabs/index.css +11 -15
  419. package/dist/fields/Tabs/index.js +120 -112
  420. package/dist/fields/Tabs/index.js.map +1 -1
  421. package/dist/fields/Text/Input.d.ts.map +1 -1
  422. package/dist/fields/Text/Input.js +2 -2
  423. package/dist/fields/Text/Input.js.map +1 -1
  424. package/dist/fields/Text/index.js +172 -95
  425. package/dist/fields/Text/index.js.map +1 -1
  426. package/dist/fields/Text/types.d.ts +2 -1
  427. package/dist/fields/Text/types.d.ts.map +1 -1
  428. package/dist/fields/Text/types.js.map +1 -1
  429. package/dist/fields/Textarea/Input.js +58 -28
  430. package/dist/fields/Textarea/Input.js.map +1 -1
  431. package/dist/fields/Textarea/index.js +97 -55
  432. package/dist/fields/Textarea/index.js.map +1 -1
  433. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  434. package/dist/fields/Upload/Input.d.ts.map +1 -1
  435. package/dist/fields/Upload/Input.js +16 -7
  436. package/dist/fields/Upload/Input.js.map +1 -1
  437. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  438. package/dist/fields/Upload/index.css +9 -0
  439. package/dist/fields/Upload/index.js +101 -63
  440. package/dist/fields/Upload/index.js.map +1 -1
  441. package/dist/fields/shared/useRowFocus.js.map +1 -1
  442. package/dist/forms/Form/context.js.map +1 -1
  443. package/dist/forms/Form/index.d.ts.map +1 -1
  444. package/dist/forms/Form/index.js +27 -8
  445. package/dist/forms/Form/index.js.map +1 -1
  446. package/dist/forms/Form/types.d.ts +1 -1
  447. package/dist/forms/Form/types.d.ts.map +1 -1
  448. package/dist/forms/Form/types.js.map +1 -1
  449. package/dist/forms/NullifyField/index.js.map +1 -1
  450. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  451. package/dist/forms/RenderFields/context.js +3 -2
  452. package/dist/forms/RenderFields/context.js.map +1 -1
  453. package/dist/forms/RenderFields/index.js.map +1 -1
  454. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  455. package/dist/forms/RowLabel/Context/index.js +58 -18
  456. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  457. package/dist/forms/Submit/index.js +12 -13
  458. package/dist/forms/Submit/index.js.map +1 -1
  459. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  460. package/dist/forms/useField/index.js +1 -1
  461. package/dist/forms/useField/index.js.map +1 -1
  462. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  463. package/dist/graphics/Account/Gravatar/index.js +32 -17
  464. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  465. package/dist/graphics/Account/index.js +27 -18
  466. package/dist/graphics/Account/index.js.map +1 -1
  467. package/dist/hooks/useControllableState.js.map +1 -1
  468. package/dist/hooks/useDebounce.js.map +1 -1
  469. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  470. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  471. package/dist/hooks/useDelay.js.map +1 -1
  472. package/dist/hooks/useDelayedRender.js.map +1 -1
  473. package/dist/hooks/useElementHeightVariable.js.map +1 -1
  474. package/dist/hooks/useHotkey.js.map +1 -1
  475. package/dist/hooks/useIntersect.js.map +1 -1
  476. package/dist/hooks/usePayloadAPI.js.map +1 -1
  477. package/dist/hooks/usePopupWindow.js.map +1 -1
  478. package/dist/hooks/useRelatedCollections.js.map +1 -1
  479. package/dist/hooks/useResize.js.map +1 -1
  480. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  481. package/dist/hooks/useThrottledEffect.js +21 -24
  482. package/dist/hooks/useThrottledEffect.js.map +1 -1
  483. package/dist/hooks/useUseAsTitle.js.map +1 -1
  484. package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
  485. package/dist/layouts/Root/RootProviders.js +31 -28
  486. package/dist/layouts/Root/RootProviders.js.map +1 -1
  487. package/dist/providers/Actions/index.js.map +1 -1
  488. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
  489. package/dist/providers/Auth/index.js +2 -2
  490. package/dist/providers/Auth/index.js.map +1 -1
  491. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
  492. package/dist/providers/ClientFunction/index.js.map +1 -1
  493. package/dist/providers/Config/index.js +65 -32
  494. package/dist/providers/Config/index.js.map +1 -1
  495. package/dist/providers/DocumentEvents/index.js.map +1 -1
  496. package/dist/providers/EditDepth/index.js.map +1 -1
  497. package/dist/providers/Embed/index.js.map +1 -1
  498. package/dist/providers/EntityVisibility/index.js.map +1 -1
  499. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  500. package/dist/providers/ListQuery/index.js +5 -5
  501. package/dist/providers/ListQuery/index.js.map +1 -1
  502. package/dist/providers/ListQuery/types.d.ts +6 -1
  503. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  504. package/dist/providers/ListQuery/types.js.map +1 -1
  505. package/dist/providers/ModalAccessibility/index.js.map +1 -1
  506. package/dist/providers/ModalFocus/index.d.ts +15 -0
  507. package/dist/providers/ModalFocus/index.d.ts.map +1 -0
  508. package/dist/providers/ModalFocus/index.js +70 -0
  509. package/dist/providers/ModalFocus/index.js.map +1 -0
  510. package/dist/providers/RouteCache/index.js.map +1 -1
  511. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  512. package/dist/providers/RouteTransition/index.d.ts +3 -2
  513. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  514. package/dist/providers/RouteTransition/index.js +78 -105
  515. package/dist/providers/RouteTransition/index.js.map +1 -1
  516. package/dist/providers/RouterAdapter/index.js.map +1 -1
  517. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  518. package/dist/providers/TableColumns/index.d.ts.map +1 -1
  519. package/dist/providers/TableColumns/index.js +18 -35
  520. package/dist/providers/TableColumns/index.js.map +1 -1
  521. package/dist/providers/Theme/index.js.map +1 -1
  522. package/dist/providers/ToastContainer/index.js.map +1 -1
  523. package/dist/providers/Translation/index.js.map +1 -1
  524. package/dist/providers/UploadControls/index.js.map +1 -1
  525. package/dist/providers/UploadEdits/index.js.map +1 -1
  526. package/dist/providers/UploadHandlers/index.js.map +1 -1
  527. package/dist/styles.css +66 -1
  528. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  529. package/dist/utilities/serverFunctionRegistry.js +2 -2
  530. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  531. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  532. package/dist/views/API/index.client.d.ts.map +1 -1
  533. package/dist/views/API/index.client.js +1 -0
  534. package/dist/views/API/index.client.js.map +1 -1
  535. package/dist/views/Account/ResetPreferences/index.js +17 -17
  536. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  537. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  538. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
  539. package/dist/views/Account/ToggleTheme/index.js +106 -27
  540. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  541. package/dist/views/Account/index.client.js.map +1 -1
  542. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  543. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  544. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  545. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
  546. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  547. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  548. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  549. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +2 -1
  550. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  551. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
  552. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  553. package/dist/views/Edit/Auth/index.js +13 -11
  554. package/dist/views/Edit/Auth/index.js.map +1 -1
  555. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  556. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  557. package/dist/views/Edit/index.d.ts.map +1 -1
  558. package/dist/views/Edit/index.js +27 -16
  559. package/dist/views/Edit/index.js.map +1 -1
  560. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  561. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
  562. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  563. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  564. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  565. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  566. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
  567. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
  568. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  569. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  570. package/dist/views/HierarchyList/index.js +2 -2
  571. package/dist/views/HierarchyList/index.js.map +1 -1
  572. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  573. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
  574. package/dist/views/List/ListSelection/index.js.map +1 -1
  575. package/dist/views/Login/LoginField/index.js.map +1 -1
  576. package/dist/views/Login/LoginForm/index.js.map +1 -1
  577. package/dist/views/Logout/LogoutClient.js.map +1 -1
  578. package/dist/views/NotFound/index.client.js.map +1 -1
  579. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  580. package/dist/views/Verify/index.client.js.map +1 -1
  581. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  582. package/dist/views/Version/Default/index.js +321 -181
  583. package/dist/views/Version/Default/index.js.map +1 -1
  584. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  585. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  586. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
  587. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  588. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  589. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
  590. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  591. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  592. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  593. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
  594. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  595. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  596. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  597. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  598. package/dist/views/Version/Restore/index.js +176 -77
  599. package/dist/views/Version/Restore/index.js.map +1 -1
  600. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  601. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  602. package/dist/views/Version/SelectComparison/index.js +113 -33
  603. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  604. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  605. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  606. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  607. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  608. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
  609. package/dist/views/Versions/index.client.js +9 -11
  610. package/dist/views/Versions/index.client.js.map +1 -1
  611. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
  612. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
  613. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
  614. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
  615. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
  616. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
  617. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
  618. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
  619. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
  620. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
  621. package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
  622. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
  623. package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
  624. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
  625. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
  626. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
  627. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
  628. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
  629. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
  630. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
  631. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
  632. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
  633. package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
  634. package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
  635. package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
  636. package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
  637. package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
  638. package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
  639. package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
  640. package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
  641. package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
  642. package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
  643. package/dist/widgets/Activity/components/Pagination/index.css +42 -0
  644. package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
  645. package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
  646. package/dist/widgets/Activity/components/Pagination/index.js +125 -0
  647. package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
  648. package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
  649. package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
  650. package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
  651. package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
  652. package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
  653. package/dist/widgets/Activity/index.client.d.ts +15 -0
  654. package/dist/widgets/Activity/index.client.d.ts.map +1 -0
  655. package/dist/widgets/Activity/index.client.js +186 -0
  656. package/dist/widgets/Activity/index.client.js.map +1 -0
  657. package/dist/widgets/Activity/index.css +320 -0
  658. package/dist/widgets/Activity/index.d.ts +13 -0
  659. package/dist/widgets/Activity/index.d.ts.map +1 -0
  660. package/dist/widgets/Activity/index.js +100 -0
  661. package/dist/widgets/Activity/index.js.map +1 -0
  662. package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +5 -13
  663. package/dist/widgets/Activity/types.d.ts.map +1 -0
  664. package/dist/widgets/Activity/types.js +2 -0
  665. package/dist/widgets/Activity/types.js.map +1 -0
  666. package/dist/widgets/Activity/utils/cache.d.ts +33 -0
  667. package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
  668. package/dist/widgets/Activity/utils/cache.js +72 -0
  669. package/dist/widgets/Activity/utils/cache.js.map +1 -0
  670. package/dist/widgets/Activity/utils/constants.d.ts +5 -0
  671. package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
  672. package/dist/widgets/Activity/utils/constants.js +4 -0
  673. package/dist/widgets/Activity/utils/constants.js.map +1 -0
  674. package/dist/widgets/Activity/utils/documents.d.ts +11 -0
  675. package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
  676. package/dist/widgets/Activity/utils/documents.js +38 -0
  677. package/dist/widgets/Activity/utils/documents.js.map +1 -0
  678. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
  679. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
  680. package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +18 -19
  681. package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
  682. package/dist/widgets/Activity/utils/state.d.ts +44 -0
  683. package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
  684. package/dist/widgets/Activity/utils/state.js +80 -0
  685. package/dist/widgets/Activity/utils/state.js.map +1 -0
  686. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
  687. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
  688. package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
  689. package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
  690. package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
  691. package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
  692. package/dist/widgets/Activity/utils/usePageSize.js +35 -0
  693. package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
  694. package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
  695. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  696. package/dist/widgets/CollectionCards/index.client.js +3 -0
  697. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  698. package/dist/widgets/CollectionCards/index.d.ts +3 -0
  699. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  700. package/dist/widgets/CollectionCards/index.js +3 -0
  701. package/dist/widgets/CollectionCards/index.js.map +1 -1
  702. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  703. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  704. package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
  705. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  706. package/dist/widgets/CollectionQuery/index.d.ts +3 -0
  707. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
  708. package/dist/widgets/CollectionQuery/index.js +3 -0
  709. package/dist/widgets/CollectionQuery/index.js.map +1 -1
  710. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
  711. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
  712. package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
  713. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
  714. package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
  715. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
  716. package/dist/widgets/UploadDropzone/index.client.js +3 -0
  717. package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
  718. package/dist/widgets/UploadDropzone/index.d.ts +3 -0
  719. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
  720. package/dist/widgets/UploadDropzone/index.js +3 -0
  721. package/dist/widgets/UploadDropzone/index.js.map +1 -1
  722. package/dist/widgets/Welcome/index.d.ts +3 -0
  723. package/dist/widgets/Welcome/index.d.ts.map +1 -1
  724. package/dist/widgets/Welcome/index.js +3 -0
  725. package/dist/widgets/Welcome/index.js.map +1 -1
  726. package/dist/widgets/WidgetCard/index.css +0 -20
  727. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
  728. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
  729. package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
  730. package/dist/widgets/shared/CollectionFilter/index.js +170 -0
  731. package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
  732. package/package.json +8 -7
  733. package/dist/exports/client/chunk-R7M6BG75.js +0 -27
  734. package/dist/exports/client/chunk-R7M6BG75.js.map +0 -7
  735. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
  736. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
  737. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
  738. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -41
  739. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
  740. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
  741. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -121
  742. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
  743. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
  744. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
  745. package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
  746. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
  747. package/dist/widgets/RecentlyViewed/index.client.js +0 -409
  748. package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
  749. package/dist/widgets/RecentlyViewed/index.css +0 -352
  750. package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
  751. package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
  752. package/dist/widgets/RecentlyViewed/index.js +0 -47
  753. package/dist/widgets/RecentlyViewed/index.js.map +0 -1
  754. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
  755. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
  756. package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
  757. package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
  758. package/dist/widgets/RecentlyViewed/recents.js +0 -19
  759. package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
  760. /package/dist/exports/client/{CodeEditor-I6PL55BF.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
  761. /package/dist/exports/client/{DatePicker-RFCB5VGD.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useId","useState","AlignJustifiedIcon","ChevronIcon","useTranslation","AnimateHeight","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","AfterCollapsible","children","className","collapsibleStyle","t1","disableHeaderToggle","t2","disableToggleIndicator","t3","dragHandleProps","hasContentRegion","t4","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","id","headerID","toggleLabelID","contentID","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t5","toggleCollapsible","t6","t7","t8","t9","t10","t11","filter","t12","join","t13","t14","t15","Symbol","for","t16","_jsx","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","attributes","listeners","tabIndex","direction","height","role"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useId, useState } from 'react'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nimport { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.css'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type CollapsibleProps = {\n actions?: React.ReactNode\n /**\n * Components that will be rendered within the collapsible provider but after the wrapper.\n */\n AfterCollapsible?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n /**\n * If set to true, clicking on the collapsible header will not toggle the collapsible state.\n * This is useful if the collapsible state is controlled externally (e.g. from a parent component or custom button).\n */\n disableHeaderToggle?: boolean\n /**\n * If set to true, the toggle indicator (chevron) on the right side of the header will be hidden.\n */\n disableToggleIndicator?: boolean\n dragHandleProps?: DragHandleProps\n /** Opt into a region named by the rendered header for significant sections, not individual rows. */\n hasContentRegion?: boolean\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<CollapsibleProps> = ({\n actions,\n AfterCollapsible,\n children,\n className,\n collapsibleStyle = 'default',\n disableHeaderToggle = false,\n disableToggleIndicator = false,\n dragHandleProps,\n hasContentRegion = false,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const id = useId()\n const headerID = `${id}-header`\n const toggleLabelID = `${id}-toggle-label`\n const contentID = `${id}-content`\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') {\n void onToggle(!isCollapsed)\n }\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && !disableHeaderToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap${disableHeaderToggle ? ' toggle-disabled' : ''}`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n {!disableHeaderToggle && (\n <button\n aria-controls={contentID}\n aria-expanded={!isCollapsed}\n aria-labelledby={header ? `${headerID} ${toggleLabelID}` : undefined}\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span id={toggleLabelID}>{t('fields:toggleBlock')}</span>\n </button>\n )}\n\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n aria-label={t('general:dragToReorder')}\n >\n <AlignJustifiedIcon />\n </div>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={headerID}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n {!disableToggleIndicator && (\n <button\n aria-controls={contentID}\n aria-describedby={header ? headerID : undefined}\n aria-expanded={!isCollapsed}\n aria-label={t(isCollapsed ? 'general:expand' : 'general:collapse')}\n className={`${baseClass}__indicator`}\n onClick={toggleCollapsible}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </button>\n )}\n </div>\n </div>\n <AnimateHeight height={isCollapsed ? 0 : 'auto'}>\n <div\n aria-labelledby={hasContentRegion && header ? headerID : undefined}\n className={`${baseClass}__content`}\n id={contentID}\n role={hasContentRegion && header ? 'region' : undefined}\n >\n {children}\n </div>\n </AnimateHeight>\n {AfterCollapsible}\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useId","useState","AlignJustifiedIcon","ChevronIcon","useTranslation","AnimateHeight","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","AfterCollapsible","children","className","collapsibleStyle","t1","disableHeaderToggle","t2","disableToggleIndicator","t3","dragHandleProps","hasContentRegion","t4","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","id","dragLabelID","headerID","toggleLabelID","contentID","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t5","toggleCollapsible","t6","t7","t8","t9","t10","t11","filter","t12","join","t13","t14","t15","Symbol","for","_jsx","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","attributes","listeners","draggable","ref","setActivatorNodeRef","tabIndex","direction","height","role"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useId, useState } from 'react'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nimport { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.css'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type CollapsibleProps = {\n actions?: React.ReactNode\n /**\n * Components that will be rendered within the collapsible provider but after the wrapper.\n */\n AfterCollapsible?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n /**\n * If set to true, clicking on the collapsible header will not toggle the collapsible state.\n * This is useful if the collapsible state is controlled externally (e.g. from a parent component or custom button).\n */\n disableHeaderToggle?: boolean\n /**\n * If set to true, the toggle indicator (chevron) on the right side of the header will be hidden.\n */\n disableToggleIndicator?: boolean\n dragHandleProps?: DragHandleProps\n /** Opt into a region named by the rendered header for significant sections, not individual rows. */\n hasContentRegion?: boolean\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<CollapsibleProps> = ({\n actions,\n AfterCollapsible,\n children,\n className,\n collapsibleStyle = 'default',\n disableHeaderToggle = false,\n disableToggleIndicator = false,\n dragHandleProps,\n hasContentRegion = false,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const id = useId()\n const dragLabelID = `${id}-drag-label`\n const headerID = `${id}-header`\n const toggleLabelID = `${id}-toggle-label`\n const contentID = `${id}-content`\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') {\n void onToggle(!isCollapsed)\n }\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && !disableHeaderToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap${disableHeaderToggle ? ' toggle-disabled' : ''}`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n {!disableHeaderToggle && (\n <button\n aria-controls={contentID}\n aria-expanded={!isCollapsed}\n aria-labelledby={header ? `${headerID} ${toggleLabelID}` : undefined}\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span id={toggleLabelID}>{t('fields:toggleBlock')}</span>\n </button>\n )}\n\n {dragHandleProps && (\n <button\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n aria-labelledby={header ? `${dragLabelID} ${headerID}` : dragLabelID}\n data-sortable-id={dragHandleProps.id}\n draggable={dragHandleProps.draggable}\n ref={dragHandleProps.setActivatorNodeRef}\n type=\"button\"\n >\n <span className=\"sr-only\" id={dragLabelID}>\n {t('general:dragToReorder')}\n </span>\n <AlignJustifiedIcon />\n </button>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={headerID}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n {!disableToggleIndicator && (\n <button\n aria-controls={contentID}\n aria-describedby={header ? headerID : undefined}\n aria-expanded={!isCollapsed}\n aria-label={t(isCollapsed ? 'general:expand' : 'general:collapse')}\n className={`${baseClass}__indicator`}\n onClick={toggleCollapsible}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </button>\n )}\n </div>\n </div>\n <AnimateHeight height={isCollapsed ? 0 : 'auto'}>\n <div\n aria-labelledby={hasContentRegion && header ? headerID : undefined}\n className={`${baseClass}__content`}\n id={contentID}\n role={hasContentRegion && header ? 'region' : undefined}\n >\n {children}\n </div>\n </AnimateHeight>\n {AfterCollapsible}\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  import React, { createContext, use } from 'react';
5
6
  const Context = /*#__PURE__*/createContext({
@@ -8,28 +9,50 @@ const Context = /*#__PURE__*/createContext({
8
9
  isWithinCollapsible: undefined,
9
10
  toggle: () => {}
10
11
  });
11
- export const CollapsibleProvider = ({
12
- children,
13
- isCollapsed,
14
- isWithinCollapsible = true,
15
- toggle
16
- }) => {
12
+ export const CollapsibleProvider = t0 => {
13
+ const $ = _c(8);
14
+ const {
15
+ children,
16
+ isCollapsed,
17
+ isWithinCollapsible: t1,
18
+ toggle
19
+ } = t0;
20
+ const isWithinCollapsible = t1 === undefined ? true : t1;
17
21
  const {
18
22
  isCollapsed: parentIsCollapsed,
19
23
  isVisible
20
24
  } = useCollapsible();
21
- const contextValue = React.useMemo(() => {
22
- return {
25
+ const t2 = isVisible && !parentIsCollapsed;
26
+ let t3;
27
+ if ($[0] !== isCollapsed || $[1] !== isWithinCollapsible || $[2] !== t2 || $[3] !== toggle) {
28
+ t3 = {
23
29
  isCollapsed,
24
- isVisible: isVisible && !parentIsCollapsed,
30
+ isVisible: t2,
25
31
  isWithinCollapsible,
26
32
  toggle
27
33
  };
28
- }, [isCollapsed, isWithinCollapsible, toggle, parentIsCollapsed, isVisible]);
29
- return /*#__PURE__*/_jsx(Context, {
30
- value: contextValue,
31
- children: children
32
- });
34
+ $[0] = isCollapsed;
35
+ $[1] = isWithinCollapsible;
36
+ $[2] = t2;
37
+ $[3] = toggle;
38
+ $[4] = t3;
39
+ } else {
40
+ t3 = $[4];
41
+ }
42
+ const contextValue = t3;
43
+ let t4;
44
+ if ($[5] !== children || $[6] !== contextValue) {
45
+ t4 = _jsx(Context, {
46
+ value: contextValue,
47
+ children
48
+ });
49
+ $[5] = children;
50
+ $[6] = contextValue;
51
+ $[7] = t4;
52
+ } else {
53
+ t4 = $[7];
54
+ }
55
+ return t4;
33
56
  };
34
57
  export const useCollapsible = () => use(Context);
35
58
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","names":["React","createContext","use","Context","isCollapsed","undefined","isVisible","isWithinCollapsible","toggle","CollapsibleProvider","children","parentIsCollapsed","useCollapsible","contextValue","useMemo","_jsx","value"],"sources":["../../../src/elements/Collapsible/provider.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use } from 'react'\n\ntype ContextType = {\n isCollapsed: boolean\n isVisible: boolean\n isWithinCollapsible: boolean\n toggle: () => void\n}\n\nconst Context = createContext({\n isCollapsed: undefined,\n isVisible: undefined,\n isWithinCollapsible: undefined,\n toggle: () => {},\n})\n\nexport const CollapsibleProvider: React.FC<{\n children?: React.ReactNode\n isCollapsed?: boolean\n isWithinCollapsible?: boolean\n toggle: () => void\n}> = ({ children, isCollapsed, isWithinCollapsible = true, toggle }) => {\n const { isCollapsed: parentIsCollapsed, isVisible } = useCollapsible()\n\n const contextValue = React.useMemo((): ContextType => {\n return {\n isCollapsed,\n isVisible: isVisible && !parentIsCollapsed,\n isWithinCollapsible,\n toggle,\n }\n }, [isCollapsed, isWithinCollapsible, toggle, parentIsCollapsed, isVisible])\n\n return <Context value={contextValue}>{children}</Context>\n}\n\nexport const useCollapsible = (): ContextType => use(Context)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAS1C,MAAMC,OAAA,gBAAUF,aAAA,CAAc;EAC5BG,WAAA,EAAaC,SAAA;EACbC,SAAA,EAAWD,SAAA;EACXE,mBAAA,EAAqBF,SAAA;EACrBG,MAAA,EAAQA,CAAA,MAAO;AACjB;AAEA,OAAO,MAAMC,mBAAA,GAKRA,CAAC;EAAEC,QAAQ;EAAEN,WAAW;EAAEG,mBAAA,GAAsB,IAAI;EAAEC;AAAM,CAAE;EACjE,MAAM;IAAEJ,WAAA,EAAaO,iBAAiB;IAAEL;EAAS,CAAE,GAAGM,cAAA;EAEtD,MAAMC,YAAA,GAAeb,KAAA,CAAMc,OAAO,CAAC;IACjC,OAAO;MACLV,WAAA;MACAE,SAAA,EAAWA,SAAA,IAAa,CAACK,iBAAA;MACzBJ,mBAAA;MACAC;IACF;EACF,GAAG,CAACJ,WAAA,EAAaG,mBAAA,EAAqBC,MAAA,EAAQG,iBAAA,EAAmBL,SAAA,CAAU;EAE3E,oBAAOS,IAAA,CAACZ,OAAA;IAAQa,KAAA,EAAOH,YAAA;cAAeH;;AACxC;AAEA,OAAO,MAAME,cAAA,GAAiBA,CAAA,KAAmBV,GAAA,CAAIC,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"provider.js","names":["c","_c","React","createContext","use","Context","isCollapsed","undefined","isVisible","isWithinCollapsible","toggle","CollapsibleProvider","t0","$","children","t1","parentIsCollapsed","useCollapsible","t2","t3","contextValue","t4","_jsx","value"],"sources":["../../../src/elements/Collapsible/provider.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use } from 'react'\n\ntype ContextType = {\n isCollapsed: boolean\n isVisible: boolean\n isWithinCollapsible: boolean\n toggle: () => void\n}\n\nconst Context = createContext({\n isCollapsed: undefined,\n isVisible: undefined,\n isWithinCollapsible: undefined,\n toggle: () => {},\n})\n\nexport const CollapsibleProvider: React.FC<{\n children?: React.ReactNode\n isCollapsed?: boolean\n isWithinCollapsible?: boolean\n toggle: () => void\n}> = ({ children, isCollapsed, isWithinCollapsible = true, toggle }) => {\n const { isCollapsed: parentIsCollapsed, isVisible } = useCollapsible()\n\n const contextValue = React.useMemo((): ContextType => {\n return {\n isCollapsed,\n isVisible: isVisible && !parentIsCollapsed,\n isWithinCollapsible,\n toggle,\n }\n }, [isCollapsed, isWithinCollapsible, toggle, parentIsCollapsed, isVisible])\n\n return <Context value={contextValue}>{children}</Context>\n}\n\nexport const useCollapsible = (): ContextType => use(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAS1C,MAAMC,OAAA,gBAAUF,aAAA,CAAc;EAC5BG,WAAA,EAAaC,SAAA;EACbC,SAAA,EAAWD,SAAA;EACXE,mBAAA,EAAqBF,SAAA;EACrBG,MAAA,EAAQA,CAAA,MAAO;AACjB;AAEA,OAAO,MAAMC,mBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,QAAA;IAAAR,WAAA;IAAAG,mBAAA,EAAAM,EAAA;IAAAL;EAAA,IAAAE,EAA6D;EAApC,MAAAH,mBAAA,GAAAM,EAA0B,KAA1BR,SAA0B,GAA1B,IAA0B,GAA1BQ,EAA0B;EACvD;IAAAT,WAAA,EAAAU,iBAAA;IAAAR;EAAA,IAAsDS,cAAA;EAKvC,MAAAC,EAAA,GAAAV,SAAc,IAAd,CAAcQ,iBAAA;EAAA,IAAAG,EAAA;EAAA,IAAAN,CAAA,QAAAP,WAAA,IAAAO,CAAA,QAAAJ,mBAAA,IAAAI,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAH,MAAA;IAFpBS,EAAA;MAAAb,WAAA;MAAAE,SAAA,EAEMU,EAAc;MAAAT,mBAAA;MAAAC;IAG3B;IAAAG,CAAA,MAAAP,WAAA;IAAAO,CAAA,MAAAJ,mBAAA;IAAAI,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAH,MAAA;IAAAG,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EANF,MAAAO,YAAA,GACED,EAKA;EACyE,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAO,YAAA;IAEpEC,EAAA,GAAAC,IAAA,CAACjB,OAAA;MAAAkB,KAAA,EAAeH,YAAA;MAAAN;;;;;;;;SAAhBO,E;CACT;AAEA,OAAO,MAAMJ,cAAA,GAAiBA,CAAA,KAAmBb,GAAA,CAAIC,OAAA","ignoreList":[]}
@@ -229,4 +229,8 @@
229
229
  background: var(--color-icon);
230
230
  margin-inline: var(--spacer-3);
231
231
  }
232
+
233
+ html[data-enhanced-contrast] .column-selector__search-bar {
234
+ outline: var(--stroke-width-small) solid var(--color-border-control);
235
+ }
232
236
  }
@@ -51,7 +51,7 @@ const NestedLabel = ({
51
51
  });
52
52
  };
53
53
  const ColumnItem = t0 => {
54
- const $ = _c(17);
54
+ const $ = _c(19);
55
55
  const {
56
56
  id,
57
57
  active,
@@ -98,6 +98,14 @@ const ColumnItem = t0 => {
98
98
  const t7 = isDragging ? undefined : transform;
99
99
  let t8;
100
100
  if ($[6] !== active || $[7] !== attributes || $[8] !== labelText || $[9] !== listeners || $[10] !== onToggle || $[11] !== setActivatorNodeRef || $[12] !== setNodeRef || $[13] !== t || $[14] !== t6 || $[15] !== t7) {
101
+ let t9;
102
+ if ($[17] !== t) {
103
+ t9 = t("general:dragToReorder");
104
+ $[17] = t;
105
+ $[18] = t9;
106
+ } else {
107
+ t9 = $[18];
108
+ }
101
109
  t8 = _jsxs("div", {
102
110
  className: t6,
103
111
  ref: setNodeRef,
@@ -107,7 +115,7 @@ const ColumnItem = t0 => {
107
115
  },
108
116
  children: [_jsx("span", {
109
117
  ...attributes,
110
- "aria-label": `${t("general:dragToReorder")}: ${labelText}`,
118
+ "aria-label": `${t9}: ${labelText}`,
111
119
  className: `${baseClass}__drag-handle`,
112
120
  ref: setActivatorNodeRef,
113
121
  ...listeners,
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","names":["c","_c","getTranslation","fieldIsHiddenOrDisabled","fieldIsID","isFieldDisabled","React","useCallback","useId","useLayoutEffect","useMemo","useRef","useState","AlignJustifiedIcon","SearchIcon","XIcon","useEditDepth","useTranslation","Button","DraggableSortable","useDraggableSortable","Switch","matchesColumnSearch","baseClass","parseNestedLabel","label","includes","segments","split","length","NestedLabel","_jsx","_Fragment","map","segment","index","_jsxs","Fragment","className","ColumnItem","t0","$","id","active","labelText","onToggle","t","t1","attributes","isDragging","isOver","isSorting","listeners","setActivatorNodeRef","setNodeRef","transform","t2","t3","t4","t5","filter","Boolean","t6","join","t7","undefined","t8","ref","style","children","size","ariaLabel","checked","onChange","ColumnSelectionPopup","collectionSlug","columns","onClose","i18n","toggleColumn","column","col","accessor","moveColumn","fromIndex","toIndex","next","moved","splice","uuid","editDepth","searchQuery","setSearchQuery","containerRef","lockedWidth","setLockedWidth","current","offsetWidth","filteredColumns","field","columnItems","all","hidden","shown","items","i","labelWithPrefix","name","filtered","item","query","handleDragEnd","moveFromIndex","moveToIndex","allItems","shownCount","fromItem","toItem","fromIsShown","toIsShown","allIds","containerStyle","buttonStyle","icon","onClick","e","target","value","placeholder","type","ids","onDragEnd"],"sources":["../../../src/elements/ColumnSelection/Popup.tsx"],"sourcesContent":["'use client'\n\nimport type { Column, SanitizedCollectionConfig, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsHiddenOrDisabled, fieldIsID, isFieldDisabled } from 'payload/shared'\nimport React, { useCallback, useId, useLayoutEffect, useMemo, useRef, useState } from 'react'\n\nimport { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport { Switch } from '../Switch/index.js'\nimport { matchesColumnSearch } from './matchesColumnSearch.js'\nimport './Popup.css'\n\nconst baseClass = 'column-selector'\n\n/**\n * Parses a nested field label and returns segments for rendering.\n * - For deeply nested paths (more than 3 segments), truncates to [First, \"...\", Last]\n */\nfunction parseNestedLabel(label: string): string[] {\n if (!label.includes(' > ')) {\n return [label]\n }\n\n const segments = label.split(' > ')\n\n if (segments.length <= 3) {\n return segments\n }\n\n // For deep nesting, show: First / ... / Last\n return [segments[0], '...', segments[segments.length - 1]]\n}\n\ntype NestedLabelProps = {\n readonly label: string\n}\n\nconst NestedLabel: React.FC<NestedLabelProps> = ({ label }) => {\n const segments = parseNestedLabel(label)\n\n if (segments.length === 1) {\n return <>{segments[0]}</>\n }\n\n return (\n <>\n {segments.map((segment, index) => (\n <React.Fragment key={index}>\n {index > 0 && <span className={`${baseClass}__separator`}>/</span>}\n {segment}\n </React.Fragment>\n ))}\n </>\n )\n}\n\nexport type ColumnSelectionPopupProps = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly columns: Column[]\n /** Called with the next column state whenever a column is toggled or reordered. */\n readonly onChange: (columns: Column[]) => void\n readonly onClose?: () => void\n}\n\ntype ColumnItemProps = {\n readonly active: boolean\n readonly id: string\n readonly labelText: string\n readonly onToggle: () => void\n}\n\nconst ColumnItem: React.FC<ColumnItemProps> = ({ id, active, labelText, onToggle }) => {\n const { t } = useTranslation()\n const {\n attributes,\n isDragging,\n isOver,\n isSorting,\n listeners,\n setActivatorNodeRef,\n setNodeRef,\n transform,\n } = useDraggableSortable({\n id,\n })\n\n return (\n <div\n className={[\n `${baseClass}__item`,\n !active && `${baseClass}__item--inactive`,\n isDragging && `${baseClass}__item--dragging`,\n isOver && isSorting && !isDragging && `${baseClass}__item--over`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={setNodeRef}\n style={{\n // Keep item in place while dragging - don't apply transform\n transform: isDragging ? undefined : transform,\n ...attributes.style,\n }}\n >\n <span\n {...attributes}\n aria-label={`${t('general:dragToReorder')}: ${labelText}`}\n className={`${baseClass}__drag-handle`}\n ref={setActivatorNodeRef}\n {...listeners}\n >\n <AlignJustifiedIcon size={16} />\n </span>\n <span className={`${baseClass}__item-label`}>\n <NestedLabel label={labelText} />\n </span>\n <Switch ariaLabel={labelText} checked={active} onChange={onToggle} />\n </div>\n )\n}\n\nexport const ColumnSelectionPopup: React.FC<ColumnSelectionPopupProps> = ({\n collectionSlug,\n columns,\n onChange,\n onClose,\n}) => {\n const { i18n, t } = useTranslation()\n\n const toggleColumn = useCallback(\n (column: string) => {\n onChange(\n columns.map((col) => (col.accessor === column ? { ...col, active: !col.active } : col)),\n )\n },\n [columns, onChange],\n )\n\n const moveColumn = useCallback(\n ({ fromIndex, toIndex }: { fromIndex: number; toIndex: number }) => {\n const next = [...columns]\n const [moved] = next.splice(fromIndex, 1)\n next.splice(toIndex, 0, moved)\n onChange(next)\n },\n [columns, onChange],\n )\n\n const uuid = useId()\n const editDepth = useEditDepth()\n const [searchQuery, setSearchQuery] = useState('')\n const containerRef = useRef<HTMLDivElement>(null)\n const [lockedWidth, setLockedWidth] = useState<null | number>(null)\n\n // Lock the width when search starts to prevent layout shift\n useLayoutEffect(() => {\n if (!containerRef.current) {\n return\n }\n\n if (searchQuery && lockedWidth === null) {\n // Capture width when search starts\n setLockedWidth(containerRef.current.offsetWidth)\n } else if (!searchQuery && lockedWidth !== null) {\n // Release width lock when search is cleared\n setLockedWidth(null)\n }\n }, [searchQuery, lockedWidth])\n\n const filteredColumns = useMemo(\n () =>\n columns?.filter(\n (col) =>\n !(fieldIsHiddenOrDisabled(col.field) && !fieldIsID(col.field)) &&\n !isFieldDisabled(col.field, 'column'),\n ),\n [columns],\n )\n\n const columnItems = useMemo(() => {\n if (!filteredColumns) {\n return { all: [], hidden: [], shown: [] }\n }\n\n const items = filteredColumns.map((col, i) => {\n const { accessor, active, field } = col\n\n const label =\n 'labelWithPrefix' in field && field.labelWithPrefix !== undefined\n ? field.labelWithPrefix\n : 'label' in field && field.label !== undefined && field.label !== false\n ? field.label\n : 'name' in field && field.name !== undefined\n ? field.name\n : accessor\n\n const labelText =\n typeof label === 'string' ? label : getTranslation(label as StaticLabel, i18n)\n\n return {\n id: `${collectionSlug}-${accessor}-${i}${editDepth ? `-${editDepth}-` : ''}${uuid}`,\n accessor,\n active,\n index: i,\n label,\n labelText,\n }\n })\n\n // Filter by search query\n const filtered = searchQuery\n ? items.filter((item) =>\n matchesColumnSearch({ labelText: item.labelText, query: searchQuery }),\n )\n : items\n\n return {\n all: items,\n hidden: filtered.filter((item) => !item.active),\n shown: filtered.filter((item) => item.active),\n }\n }, [collectionSlug, editDepth, filteredColumns, i18n, searchQuery, uuid])\n\n const handleDragEnd = useCallback(\n ({ moveFromIndex, moveToIndex }: { moveFromIndex: number; moveToIndex: number }) => {\n if (moveFromIndex === moveToIndex) {\n return\n }\n\n // All shown items first, then all hidden items\n const allItems = [...columnItems.shown, ...columnItems.hidden]\n const shownCount = columnItems.shown.length\n const fromItem = allItems[moveFromIndex]\n const toItem = allItems[moveToIndex]\n\n if (!fromItem || !toItem) {\n return\n }\n\n // Determine if crossing sections\n const fromIsShown = moveFromIndex < shownCount\n const toIsShown = moveToIndex < shownCount\n\n if (fromIsShown !== toIsShown) {\n // Cross-section move: just toggle the column's active state (show/hide)\n void toggleColumn(fromItem.accessor)\n // Don't reorder when crossing sections - the toggle handles the change\n return\n }\n\n // Same-section move: perform the reorder\n void moveColumn({\n fromIndex: fromItem.index,\n toIndex: toItem.index,\n })\n },\n [columnItems.shown, columnItems.hidden, moveColumn, toggleColumn],\n )\n\n if (!filteredColumns) {\n return null\n }\n\n // Combined IDs: shown items first, then hidden items\n const allIds = [...columnItems.shown, ...columnItems.hidden].map((item) => item.id)\n\n const containerStyle = lockedWidth\n ? ({ '--column-selector-locked-width': `${lockedWidth}px` } as React.CSSProperties)\n : undefined\n\n return (\n <div\n className={baseClass}\n data-popup-prevent-close\n data-width-locked={lockedWidth ? 'true' : undefined}\n ref={containerRef}\n style={containerStyle}\n >\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__title`}>{t('general:editColumns')}</h2>\n {onClose && (\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__close`}\n icon={<XIcon size={24} />}\n onClick={onClose}\n />\n )}\n </div>\n <span className=\"sr-only\" id={`${uuid}-search-description`}>\n {t('general:searchAutomatically')}\n </span>\n <div className={`${baseClass}__search`}>\n <div className={`${baseClass}__search-bar`}>\n <SearchIcon size={24} />\n <input\n aria-describedby={`${uuid}-search-description`}\n aria-label={t('general:searchColumns')}\n className={`${baseClass}__search-input`}\n onChange={(e) => setSearchQuery(e.target.value)}\n placeholder={t('general:searchColumns')}\n type=\"text\"\n value={searchQuery}\n />\n </div>\n </div>\n <div className={`${baseClass}__content`}>\n <DraggableSortable ids={allIds} onDragEnd={handleDragEnd}>\n {columnItems.shown.length === 0 && columnItems.hidden.length === 0 && searchQuery && (\n <div className={`${baseClass}__no-results`}>{t('general:noMatchesFound')}</div>\n )}\n {columnItems.shown.length > 0 && (\n <div className={`${baseClass}__section`}>\n <h3 className={`${baseClass}__section-header`}>{t('general:shownInTable')}</h3>\n {columnItems.shown.map((item) => (\n <ColumnItem\n active={item.active}\n id={item.id}\n key={item.id}\n labelText={item.labelText}\n onToggle={() => {\n void toggleColumn(item.accessor)\n }}\n />\n ))}\n </div>\n )}\n {columnItems.hidden.length > 0 && (\n <div className={`${baseClass}__section`}>\n <h3 className={`${baseClass}__section-header`}>{t('general:notShownInTable')}</h3>\n {columnItems.hidden.map((item) => (\n <ColumnItem\n active={item.active}\n id={item.id}\n key={item.id}\n labelText={item.labelText}\n onToggle={() => {\n void toggleColumn(item.accessor)\n }}\n />\n ))}\n </div>\n )}\n </DraggableSortable>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Popup.js","names":["c","_c","getTranslation","fieldIsHiddenOrDisabled","fieldIsID","isFieldDisabled","React","useCallback","useId","useLayoutEffect","useMemo","useRef","useState","AlignJustifiedIcon","SearchIcon","XIcon","useEditDepth","useTranslation","Button","DraggableSortable","useDraggableSortable","Switch","matchesColumnSearch","baseClass","parseNestedLabel","label","includes","segments","split","length","NestedLabel","_jsx","_Fragment","map","segment","index","_jsxs","Fragment","className","ColumnItem","t0","$","id","active","labelText","onToggle","t","t1","attributes","isDragging","isOver","isSorting","listeners","setActivatorNodeRef","setNodeRef","transform","t2","t3","t4","t5","filter","Boolean","t6","join","t7","undefined","t8","t9","ref","style","children","size","ariaLabel","checked","onChange","ColumnSelectionPopup","collectionSlug","columns","onClose","i18n","toggleColumn","column","col","accessor","moveColumn","fromIndex","toIndex","next","moved","splice","uuid","editDepth","searchQuery","setSearchQuery","containerRef","lockedWidth","setLockedWidth","current","offsetWidth","filteredColumns","field","columnItems","all","hidden","shown","items","i","labelWithPrefix","name","filtered","item","query","handleDragEnd","moveFromIndex","moveToIndex","allItems","shownCount","fromItem","toItem","fromIsShown","toIsShown","allIds","containerStyle","buttonStyle","icon","onClick","e","target","value","placeholder","type","ids","onDragEnd"],"sources":["../../../src/elements/ColumnSelection/Popup.tsx"],"sourcesContent":["'use client'\n\nimport type { Column, SanitizedCollectionConfig, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsHiddenOrDisabled, fieldIsID, isFieldDisabled } from 'payload/shared'\nimport React, { useCallback, useId, useLayoutEffect, useMemo, useRef, useState } from 'react'\n\nimport { AlignJustifiedIcon } from '../../icons/AlignJustified/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport { Switch } from '../Switch/index.js'\nimport { matchesColumnSearch } from './matchesColumnSearch.js'\nimport './Popup.css'\n\nconst baseClass = 'column-selector'\n\n/**\n * Parses a nested field label and returns segments for rendering.\n * - For deeply nested paths (more than 3 segments), truncates to [First, \"...\", Last]\n */\nfunction parseNestedLabel(label: string): string[] {\n if (!label.includes(' > ')) {\n return [label]\n }\n\n const segments = label.split(' > ')\n\n if (segments.length <= 3) {\n return segments\n }\n\n // For deep nesting, show: First / ... / Last\n return [segments[0], '...', segments[segments.length - 1]]\n}\n\ntype NestedLabelProps = {\n readonly label: string\n}\n\nconst NestedLabel: React.FC<NestedLabelProps> = ({ label }) => {\n const segments = parseNestedLabel(label)\n\n if (segments.length === 1) {\n return <>{segments[0]}</>\n }\n\n return (\n <>\n {segments.map((segment, index) => (\n <React.Fragment key={index}>\n {index > 0 && <span className={`${baseClass}__separator`}>/</span>}\n {segment}\n </React.Fragment>\n ))}\n </>\n )\n}\n\nexport type ColumnSelectionPopupProps = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly columns: Column[]\n /** Called with the next column state whenever a column is toggled or reordered. */\n readonly onChange: (columns: Column[]) => void\n readonly onClose?: () => void\n}\n\ntype ColumnItemProps = {\n readonly active: boolean\n readonly id: string\n readonly labelText: string\n readonly onToggle: () => void\n}\n\nconst ColumnItem: React.FC<ColumnItemProps> = ({ id, active, labelText, onToggle }) => {\n const { t } = useTranslation()\n const {\n attributes,\n isDragging,\n isOver,\n isSorting,\n listeners,\n setActivatorNodeRef,\n setNodeRef,\n transform,\n } = useDraggableSortable({\n id,\n })\n\n return (\n <div\n className={[\n `${baseClass}__item`,\n !active && `${baseClass}__item--inactive`,\n isDragging && `${baseClass}__item--dragging`,\n isOver && isSorting && !isDragging && `${baseClass}__item--over`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={setNodeRef}\n style={{\n // Keep item in place while dragging - don't apply transform\n transform: isDragging ? undefined : transform,\n ...attributes.style,\n }}\n >\n <span\n {...attributes}\n aria-label={`${t('general:dragToReorder')}: ${labelText}`}\n className={`${baseClass}__drag-handle`}\n ref={setActivatorNodeRef}\n {...listeners}\n >\n <AlignJustifiedIcon size={16} />\n </span>\n <span className={`${baseClass}__item-label`}>\n <NestedLabel label={labelText} />\n </span>\n <Switch ariaLabel={labelText} checked={active} onChange={onToggle} />\n </div>\n )\n}\n\nexport const ColumnSelectionPopup: React.FC<ColumnSelectionPopupProps> = ({\n collectionSlug,\n columns,\n onChange,\n onClose,\n}) => {\n const { i18n, t } = useTranslation()\n\n const toggleColumn = useCallback(\n (column: string) => {\n onChange(\n columns.map((col) => (col.accessor === column ? { ...col, active: !col.active } : col)),\n )\n },\n [columns, onChange],\n )\n\n const moveColumn = useCallback(\n ({ fromIndex, toIndex }: { fromIndex: number; toIndex: number }) => {\n const next = [...columns]\n const [moved] = next.splice(fromIndex, 1)\n next.splice(toIndex, 0, moved)\n onChange(next)\n },\n [columns, onChange],\n )\n\n const uuid = useId()\n const editDepth = useEditDepth()\n const [searchQuery, setSearchQuery] = useState('')\n const containerRef = useRef<HTMLDivElement>(null)\n const [lockedWidth, setLockedWidth] = useState<null | number>(null)\n\n // Lock the width when search starts to prevent layout shift\n useLayoutEffect(() => {\n if (!containerRef.current) {\n return\n }\n\n if (searchQuery && lockedWidth === null) {\n // Capture width when search starts\n setLockedWidth(containerRef.current.offsetWidth)\n } else if (!searchQuery && lockedWidth !== null) {\n // Release width lock when search is cleared\n setLockedWidth(null)\n }\n }, [searchQuery, lockedWidth])\n\n const filteredColumns = useMemo(\n () =>\n columns?.filter(\n (col) =>\n !(fieldIsHiddenOrDisabled(col.field) && !fieldIsID(col.field)) &&\n !isFieldDisabled(col.field, 'column'),\n ),\n [columns],\n )\n\n const columnItems = useMemo(() => {\n if (!filteredColumns) {\n return { all: [], hidden: [], shown: [] }\n }\n\n const items = filteredColumns.map((col, i) => {\n const { accessor, active, field } = col\n\n const label =\n 'labelWithPrefix' in field && field.labelWithPrefix !== undefined\n ? field.labelWithPrefix\n : 'label' in field && field.label !== undefined && field.label !== false\n ? field.label\n : 'name' in field && field.name !== undefined\n ? field.name\n : accessor\n\n const labelText =\n typeof label === 'string' ? label : getTranslation(label as StaticLabel, i18n)\n\n return {\n id: `${collectionSlug}-${accessor}-${i}${editDepth ? `-${editDepth}-` : ''}${uuid}`,\n accessor,\n active,\n index: i,\n label,\n labelText,\n }\n })\n\n // Filter by search query\n const filtered = searchQuery\n ? items.filter((item) =>\n matchesColumnSearch({ labelText: item.labelText, query: searchQuery }),\n )\n : items\n\n return {\n all: items,\n hidden: filtered.filter((item) => !item.active),\n shown: filtered.filter((item) => item.active),\n }\n }, [collectionSlug, editDepth, filteredColumns, i18n, searchQuery, uuid])\n\n const handleDragEnd = useCallback(\n ({ moveFromIndex, moveToIndex }: { moveFromIndex: number; moveToIndex: number }) => {\n if (moveFromIndex === moveToIndex) {\n return\n }\n\n // All shown items first, then all hidden items\n const allItems = [...columnItems.shown, ...columnItems.hidden]\n const shownCount = columnItems.shown.length\n const fromItem = allItems[moveFromIndex]\n const toItem = allItems[moveToIndex]\n\n if (!fromItem || !toItem) {\n return\n }\n\n // Determine if crossing sections\n const fromIsShown = moveFromIndex < shownCount\n const toIsShown = moveToIndex < shownCount\n\n if (fromIsShown !== toIsShown) {\n // Cross-section move: just toggle the column's active state (show/hide)\n void toggleColumn(fromItem.accessor)\n // Don't reorder when crossing sections - the toggle handles the change\n return\n }\n\n // Same-section move: perform the reorder\n void moveColumn({\n fromIndex: fromItem.index,\n toIndex: toItem.index,\n })\n },\n [columnItems.shown, columnItems.hidden, moveColumn, toggleColumn],\n )\n\n if (!filteredColumns) {\n return null\n }\n\n // Combined IDs: shown items first, then hidden items\n const allIds = [...columnItems.shown, ...columnItems.hidden].map((item) => item.id)\n\n const containerStyle = lockedWidth\n ? ({ '--column-selector-locked-width': `${lockedWidth}px` } as React.CSSProperties)\n : undefined\n\n return (\n <div\n className={baseClass}\n data-popup-prevent-close\n data-width-locked={lockedWidth ? 'true' : undefined}\n ref={containerRef}\n style={containerStyle}\n >\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__title`}>{t('general:editColumns')}</h2>\n {onClose && (\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__close`}\n icon={<XIcon size={24} />}\n onClick={onClose}\n />\n )}\n </div>\n <span className=\"sr-only\" id={`${uuid}-search-description`}>\n {t('general:searchAutomatically')}\n </span>\n <div className={`${baseClass}__search`}>\n <div className={`${baseClass}__search-bar`}>\n <SearchIcon size={24} />\n <input\n aria-describedby={`${uuid}-search-description`}\n aria-label={t('general:searchColumns')}\n className={`${baseClass}__search-input`}\n onChange={(e) => setSearchQuery(e.target.value)}\n placeholder={t('general:searchColumns')}\n type=\"text\"\n value={searchQuery}\n />\n </div>\n </div>\n <div className={`${baseClass}__content`}>\n <DraggableSortable ids={allIds} onDragEnd={handleDragEnd}>\n {columnItems.shown.length === 0 && columnItems.hidden.length === 0 && searchQuery && (\n <div className={`${baseClass}__no-results`}>{t('general:noMatchesFound')}</div>\n )}\n {columnItems.shown.length > 0 && (\n <div className={`${baseClass}__section`}>\n <h3 className={`${baseClass}__section-header`}>{t('general:shownInTable')}</h3>\n {columnItems.shown.map((item) => (\n <ColumnItem\n active={item.active}\n id={item.id}\n key={item.id}\n labelText={item.labelText}\n onToggle={() => {\n void toggleColumn(item.accessor)\n }}\n />\n ))}\n </div>\n )}\n {columnItems.hidden.length > 0 && (\n <div className={`${baseClass}__section`}>\n <h3 className={`${baseClass}__section-header`}>{t('general:notShownInTable')}</h3>\n {columnItems.hidden.map((item) => (\n <ColumnItem\n active={item.active}\n id={item.id}\n key={item.id}\n labelText={item.labelText}\n onToggle={() => {\n void toggleColumn(item.accessor)\n }}\n />\n ))}\n </div>\n )}\n </DraggableSortable>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","useTranslation","Button","Popup","ColumnSelectionPopup","baseClass","ColumnSelectionButton","t0","$","collectionSlug","columns","onChange","t","t1","t2","t3","close","_jsx","onClose","t4","active","props","buttonStyle","className","icon","direction","size","children","horizontalAlign","popupAriaLabel","popupType","render","verticalAlign"],"sources":["../../../src/elements/ColumnSelection/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Column, SanitizedCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { ColumnSelectionPopup } from './Popup.js'\n\nexport type ColumnSelectionButtonProps = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly columns: Column[]\n /** Called with the next column state whenever a column is toggled or reordered. */\n readonly onChange: (columns: Column[]) => void\n}\n\nconst baseClass = 'columns-button'\n\nexport const ColumnSelectionButton: React.FC<ColumnSelectionButtonProps> = ({\n collectionSlug,\n columns,\n onChange,\n}) => {\n const { t } = useTranslation()\n\n return (\n <Popup\n className={baseClass}\n horizontalAlign=\"right\"\n popupAriaLabel={t('general:columns')}\n popupType=\"dialog\"\n render={({ close }) => (\n <ColumnSelectionPopup\n collectionSlug={collectionSlug}\n columns={columns}\n onChange={onChange}\n onClose={close}\n />\n )}\n renderButton={({ active, ...props }) => (\n <Button\n {...props}\n buttonStyle=\"secondary\"\n className={`${baseClass}__button`}\n icon={<ChevronIcon direction={active ? 'up' : 'down'} size={16} />}\n selected={active}\n size=\"medium\"\n >\n {t('general:columns')}\n </Button>\n )}\n theme=\"auto\"\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,QAAQ;AACtB,SAASC,oBAAoB,QAAQ;AASrC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,qBAAA,GAA8DC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,cAAA;IAAAC,OAAA;IAAAC;EAAA,IAAAJ,EAI3E;EACC;IAAAK;EAAA,IAAcX,cAAA;EAAA,IAAAY,EAAA;EAAA,IAAAL,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,CAAA;IAAA,IAAAE,EAAA;IAAA,IAAAN,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAG,QAAA;MAQFG,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAS;QAAA,OAChBE,IAAA,CAAAb,oBAAA;UAAAK,cAAA;UAAAC,OAAA;UAAAC,QAAA;UAAAO,OAAA,EAIWF;QAAA,C;;;;;;;;;;;MAGCD,EAAA,GAAAI,EAAA;QAAC;UAAAC,MAAA;UAAA,GAAAC;QAAA,IAAAF,EAAoB;QAAA,OACjCF,IAAA,CAAAf,MAAA;UAAA,GACMmB,KAAK;UAAAC,WAAA,EACG;UAAAC,SAAA,EACD,GAAAlB,SAAA,UAAsB;UAAAmB,IAAA,EAC3BP,IAAA,CAAAjB,WAAA;YAAAyB,SAAA,EAAwBL,MAAA,GAAS,OAAO;YAAAM,IAAA;UAAA,C;oBACpCN,MAAA;UAAAM,IAAA,EACL;UAAAC,QAAA,EAEJf,CAAA,CAAE;QAAA,C;;;;;;;IAtBTC,EAAA,GAAAI,IAAA,CAAAd,KAAA;MAAAoB,SAAA,EAAAlB,SAAA;MAAAuB,eAAA,EAEkB;MAAAC,cAAA,EACAjB,CAAA,CAAE;MAAAkB,SAAA,EACR;MAAAC,MAAA,EACFjB,E;oBAQMC,E;aAYR;MAAAiB,aAAA,EACQ;IAAA,C;;;;;;;;;SA1BhBnB,E;CA6BJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","useTranslation","Button","Popup","ColumnSelectionPopup","baseClass","ColumnSelectionButton","t0","$","collectionSlug","columns","onChange","t","t1","t2","t3","close","_jsx","onClose","t4","active","props","buttonStyle","className","icon","direction","size","children","horizontalAlign","popupAriaLabel","popupType","render","verticalAlign"],"sources":["../../../src/elements/ColumnSelection/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Column, SanitizedCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { ColumnSelectionPopup } from './Popup.js'\n\nexport type ColumnSelectionButtonProps = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly columns: Column[]\n /** Called with the next column state whenever a column is toggled or reordered. */\n readonly onChange: (columns: Column[]) => void\n}\n\nconst baseClass = 'columns-button'\n\nexport const ColumnSelectionButton: React.FC<ColumnSelectionButtonProps> = ({\n collectionSlug,\n columns,\n onChange,\n}) => {\n const { t } = useTranslation()\n\n return (\n <Popup\n className={baseClass}\n horizontalAlign=\"right\"\n popupAriaLabel={t('general:columns')}\n popupType=\"dialog\"\n render={({ close }) => (\n <ColumnSelectionPopup\n collectionSlug={collectionSlug}\n columns={columns}\n onChange={onChange}\n onClose={close}\n />\n )}\n renderButton={({ active, ...props }) => (\n <Button\n {...props}\n buttonStyle=\"secondary\"\n className={`${baseClass}__button`}\n icon={<ChevronIcon direction={active ? 'up' : 'down'} size={16} />}\n selected={active}\n size=\"medium\"\n >\n {t('general:columns')}\n </Button>\n )}\n theme=\"auto\"\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,QAAQ;AACtB,SAASC,oBAAoB,QAAQ;AASrC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,qBAAA,GAA8DC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,cAAA;IAAAC,OAAA;IAAAC;EAAA,IAAAJ,EAI3E;EACC;IAAAK;EAAA,IAAcX,cAAA;EAAA,IAAAY,EAAA;EAAA,IAAAL,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,CAAA;IAAA,IAAAE,EAAA;IAAA,IAAAN,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAG,QAAA;MAQFG,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAS;QAAA,OAChBE,IAAA,CAACb,oBAAA;UAAAK,cAAA;UAAAC,OAAA;UAAAC,QAAA;UAAAO,OAAA,EAIUF;;;;;;;;;;;;MAGCD,EAAA,GAAAI,EAAA;QAAC;UAAAC,MAAA;UAAA,GAAAC;QAAA,IAAAF,EAAoB;QAAA,OACjCF,IAAA,CAACf,MAAA;UAAA,GACKmB,KAAK;UAAAC,WAAA,EACG;UAAAC,SAAA,EACD,GAAGlB,SAAA,UAAmB;UAAAmB,IAAA,EAC3BP,IAAA,CAACjB,WAAA;YAAAyB,SAAA,EAAuBL,MAAA,OAAgB,GAAhB,MAAgB;YAAAM,IAAA,EAAc;;oBAClDN,MAAA;UAAAM,IAAA,EACL;UAAAC,QAAA,EAEJf,CAAA,CAAE;;;;;;;;IAtBTC,EAAA,GAAAI,IAAA,CAACd,KAAA;MAAAoB,SAAA,EACYlB,SAAA;MAAAuB,eAAA,EACK;MAAAC,cAAA,EACAjB,CAAA,CAAE;MAAAkB,SAAA,EACR;MAAAC,MAAA,EACFjB,E;oBAQMC,E;aAYR;MAAAiB,aAAA,EACQ;;;;;;;;;;SA1BhBnB,E;CA6BJ","ignoreList":[]}
@@ -186,4 +186,12 @@
186
186
  border: 0;
187
187
  border-radius: var(--radius-small);
188
188
  }
189
+
190
+ html[data-enhanced-contrast] .cmd-palette__input {
191
+ border-bottom-color: var(--color-border-control);
192
+ }
193
+
194
+ html[data-enhanced-contrast] .cmd-palette__hint + .cmd-palette__hint::before {
195
+ color: var(--color-border-control);
196
+ }
189
197
  }
@@ -1,4 +1,6 @@
1
+ import type { ComponentProps } from 'react';
1
2
  import React from 'react';
3
+ import { DialogModal } from '../Dialog/index.js';
2
4
  import './index.css';
3
5
  export type OnCancel = () => void;
4
6
  export type ConfirmationModalProps = {
@@ -7,6 +9,7 @@ export type ConfirmationModalProps = {
7
9
  className?: string;
8
10
  confirmingLabel?: string;
9
11
  confirmLabel?: string;
12
+ focusTrapOptions?: ComponentProps<typeof DialogModal>['focusTrapOptions'];
10
13
  heading: React.ReactNode;
11
14
  modalSlug: string;
12
15
  onCancel?: OnCancel;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ConfirmationModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAA;AAEjC,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACtC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,qBA2B9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ConfirmationModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAML,WAAW,EACZ,MAAM,oBAAoB,CAAA;AAC3B,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAA;AAEjC,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACzE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACtC,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,qBA4B9D"}
@@ -11,6 +11,7 @@ export function ConfirmationModal(props) {
11
11
  className,
12
12
  confirmingLabel,
13
13
  confirmLabel,
14
+ focusTrapOptions,
14
15
  heading,
15
16
  modalSlug,
16
17
  onCancel,
@@ -18,6 +19,7 @@ export function ConfirmationModal(props) {
18
19
  } = props;
19
20
  return /*#__PURE__*/_jsxs(DialogModal, {
20
21
  className: className,
22
+ focusTrapOptions: focusTrapOptions,
21
23
  slug: modalSlug,
22
24
  children: [/*#__PURE__*/_jsx(DialogHeader, {
23
25
  showClose: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","DialogBody","DialogCancel","DialogConfirm","DialogFooter","DialogHeader","DialogModal","ConfirmationModal","props","body","cancelLabel","className","confirmingLabel","confirmLabel","heading","modalSlug","onCancel","onConfirm","_jsxs","slug","_jsx","showClose","title","label","onClick","loadingLabel"],"sources":["../../../src/elements/ConfirmationModal/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport {\n DialogBody,\n DialogCancel,\n DialogConfirm,\n DialogFooter,\n DialogHeader,\n DialogModal,\n} from '../Dialog/index.js'\nimport './index.css'\n\nexport type OnCancel = () => void\n\nexport type ConfirmationModalProps = {\n body: React.ReactNode\n cancelLabel?: string\n className?: string\n confirmingLabel?: string\n confirmLabel?: string\n heading: React.ReactNode\n modalSlug: string\n onCancel?: OnCancel\n onConfirm: () => Promise<void> | void\n}\n\nexport function ConfirmationModal(props: ConfirmationModalProps) {\n const {\n body,\n cancelLabel,\n className,\n confirmingLabel,\n confirmLabel,\n heading,\n modalSlug,\n onCancel,\n onConfirm,\n } = props\n\n return (\n <DialogModal className={className} slug={modalSlug}>\n <DialogHeader showClose title={heading} />\n <DialogBody>\n <div className=\"confirmation-modal__body\">\n {typeof body === 'string' ? <p>{body}</p> : body}\n </div>\n </DialogBody>\n <DialogFooter>\n <DialogCancel label={cancelLabel} onClick={onCancel} />\n <DialogConfirm label={confirmLabel} loadingLabel={confirmingLabel} onClick={onConfirm} />\n </DialogFooter>\n </DialogModal>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SACEC,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,WAAW,QACN;AACP,OAAO;AAgBP,OAAO,SAASC,kBAAkBC,KAA6B;EAC7D,MAAM;IACJC,IAAI;IACJC,WAAW;IACXC,SAAS;IACTC,eAAe;IACfC,YAAY;IACZC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC;EAAS,CACV,GAAGT,KAAA;EAEJ,oBACEU,KAAA,CAACZ,WAAA;IAAYK,SAAA,EAAWA,SAAA;IAAWQ,IAAA,EAAMJ,SAAA;4BACvCK,IAAA,CAACf,YAAA;MAAagB,SAAS;MAACC,KAAA,EAAOR;qBAC/BM,IAAA,CAACnB,UAAA;gBACC,aAAAmB,IAAA,CAAC;QAAIT,SAAA,EAAU;kBACZ,OAAOF,IAAA,KAAS,wBAAWW,IAAA,CAAC;oBAAGX;aAAYA;;qBAGhDS,KAAA,CAACd,YAAA;8BACCgB,IAAA,CAAClB,YAAA;QAAaqB,KAAA,EAAOb,WAAA;QAAac,OAAA,EAASR;uBAC3CI,IAAA,CAACjB,aAAA;QAAcoB,KAAA,EAAOV,YAAA;QAAcY,YAAA,EAAcb,eAAA;QAAiBY,OAAA,EAASP;;;;AAIpF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DialogBody","DialogCancel","DialogConfirm","DialogFooter","DialogHeader","DialogModal","ConfirmationModal","props","body","cancelLabel","className","confirmingLabel","confirmLabel","focusTrapOptions","heading","modalSlug","onCancel","onConfirm","_jsxs","slug","_jsx","showClose","title","label","onClick","loadingLabel"],"sources":["../../../src/elements/ConfirmationModal/index.tsx"],"sourcesContent":["'use client'\nimport type { ComponentProps } from 'react'\n\nimport React from 'react'\n\nimport {\n DialogBody,\n DialogCancel,\n DialogConfirm,\n DialogFooter,\n DialogHeader,\n DialogModal,\n} from '../Dialog/index.js'\nimport './index.css'\n\nexport type OnCancel = () => void\n\nexport type ConfirmationModalProps = {\n body: React.ReactNode\n cancelLabel?: string\n className?: string\n confirmingLabel?: string\n confirmLabel?: string\n focusTrapOptions?: ComponentProps<typeof DialogModal>['focusTrapOptions']\n heading: React.ReactNode\n modalSlug: string\n onCancel?: OnCancel\n onConfirm: () => Promise<void> | void\n}\n\nexport function ConfirmationModal(props: ConfirmationModalProps) {\n const {\n body,\n cancelLabel,\n className,\n confirmingLabel,\n confirmLabel,\n focusTrapOptions,\n heading,\n modalSlug,\n onCancel,\n onConfirm,\n } = props\n\n return (\n <DialogModal className={className} focusTrapOptions={focusTrapOptions} slug={modalSlug}>\n <DialogHeader showClose title={heading} />\n <DialogBody>\n <div className=\"confirmation-modal__body\">\n {typeof body === 'string' ? <p>{body}</p> : body}\n </div>\n </DialogBody>\n <DialogFooter>\n <DialogCancel label={cancelLabel} onClick={onCancel} />\n <DialogConfirm label={confirmLabel} loadingLabel={confirmingLabel} onClick={onConfirm} />\n </DialogFooter>\n </DialogModal>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,SACEC,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,WAAW,QACN;AACP,OAAO;AAiBP,OAAO,SAASC,kBAAkBC,KAA6B;EAC7D,MAAM;IACJC,IAAI;IACJC,WAAW;IACXC,SAAS;IACTC,eAAe;IACfC,YAAY;IACZC,gBAAgB;IAChBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC;EAAS,CACV,GAAGV,KAAA;EAEJ,oBACEW,KAAA,CAACb,WAAA;IAAYK,SAAA,EAAWA,SAAA;IAAWG,gBAAA,EAAkBA,gBAAA;IAAkBM,IAAA,EAAMJ,SAAA;4BAC3EK,IAAA,CAAChB,YAAA;MAAaiB,SAAS;MAACC,KAAA,EAAOR;qBAC/BM,IAAA,CAACpB,UAAA;gBACC,aAAAoB,IAAA,CAAC;QAAIV,SAAA,EAAU;kBACZ,OAAOF,IAAA,KAAS,wBAAWY,IAAA,CAAC;oBAAGZ;aAAYA;;qBAGhDU,KAAA,CAACf,YAAA;8BACCiB,IAAA,CAACnB,YAAA;QAAasB,KAAA,EAAOd,WAAA;QAAae,OAAA,EAASR;uBAC3CI,IAAA,CAAClB,aAAA;QAAcqB,KAAA,EAAOX,YAAA;QAAca,YAAA,EAAcd,eAAA;QAAiBa,OAAA,EAASP;;;;AAIpF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","formatAdminURL","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useRouter","useRouteTransition","useServerFunctions","useTranslation","Button","Drawer","DrawerHeader","PopupList","baseClass","drawerSlug","CopyLocaleData","$","config","t0","localization","routes","t1","admin","locale","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","startRouteTransition","localeOptions","locales","map","_temp","t2","locale_1","value","localeOptionsWithoutCurrent","filter","t3","code_0","locale_2","find","l","label","getLocaleLabel","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","t4","t5","useEffect","t6","t7","from","to","docID","overrideData","push","adminRoute","path","success","t8","error","errorMessage","message","translatedMessage","startsWith","copyLocaleData","info","t9","t10","Symbol","for","selectedOption","t11","selectedOption_0","t12","_jsxs","Fragment","children","_jsx","onClick","className","Header","onClose","title","buttonStyle","disabled","iconPosition","size","name","onChange","options","readOnly","checked","field","locale_0"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { DrawerHeader } from '../DrawerHeader/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n },\n } = useConfig()\n const locale = useLocale()\n const code = locale?.code\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n\n startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute: admin,\n path: `/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}`,\n }) + `?locale=${to}`,\n ),\n )\n\n toggleModal(drawerSlug)\n toast.success(t('general:copied'))\n } catch (error) {\n setCopying(false)\n const errorMessage = (error as Error).message || 'error:unknown'\n const translatedMessage = errorMessage.startsWith('error:')\n ? t(errorMessage as any)\n : errorMessage\n toast.error(translatedMessage)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n admin,\n startRouteTransition,\n t,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","formatAdminURL","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useRouter","useRouteTransition","useServerFunctions","useTranslation","Button","Drawer","DrawerHeader","PopupList","baseClass","drawerSlug","CopyLocaleData","$","config","t0","localization","routes","t1","admin","locale","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","startRouteTransition","localeOptions","locales","map","_temp","t2","locale_1","value","localeOptionsWithoutCurrent","filter","t3","code_0","locale_2","find","l","label","getLocaleLabel","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","t4","t5","useEffect","t6","t7","from","to","docID","overrideData","push","adminRoute","path","success","t8","error","errorMessage","message","translatedMessage","startsWith","copyLocaleData","info","t9","t10","Symbol","for","selectedOption","t11","selectedOption_0","t12","_jsxs","Fragment","children","_jsx","onClick","className","Header","onClose","title","buttonStyle","disabled","iconPosition","size","name","onChange","options","readOnly","checked","field","locale_0"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { DrawerHeader } from '../DrawerHeader/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n },\n } = useConfig()\n const locale = useLocale()\n const code = locale?.code\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n\n void startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute: admin,\n path: `/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}`,\n }) + `?locale=${to}`,\n ),\n )\n\n toggleModal(drawerSlug)\n toast.success(t('general:copied'))\n } catch (error) {\n setCopying(false)\n const errorMessage = (error as Error).message || 'error:unknown'\n const translatedMessage = errorMessage.startsWith('error:')\n ? t(errorMessage as any)\n : errorMessage\n toast.error(translatedMessage)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n admin,\n startRouteTransition,\n t,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,SAASC,aAAa,QAAQ;AAC9B,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,UAAA,GAAa;AACnB,OAAO,MAAMC,cAAA,GAA2BA,CAAA;EAAA,MAAAC,CAAA,GAAAxB,EAAA;EACtC;IAAAyB,MAAA,EAAAC;EAAA,IAKIhB,SAAA;EAJM;IAAAiB,YAAA;IAAAC,MAAA,EAAAC;EAAA,IAAAH,EAGP;EADS;IAAAI;EAAA,IAAAD,EAAS;EAGrB,MAAAE,MAAA,GAAenB,SAAA;EACf,MAAAoB,IAAA,GAAaD,MAAA,EAAAC,IAAQ;EACrB;IAAAC,EAAA;IAAAC,cAAA;IAAAC;EAAA,IAA2CxB,eAAA;EAC3C;IAAAyB,IAAA;IAAAC;EAAA,IAAoBrB,cAAA;EACpB,MAAAsB,QAAA,GAAiB7B,eAAA;EACjB;IAAA8B;EAAA,IAAwBtC,QAAA;EACxB;IAAAuC;EAAA,IAA+BzB,kBAAA;EAC/B,MAAA0B,MAAA,GAAe5B,SAAA;EACf;IAAA6B;EAAA,IAAiC5B,kBAAA;EAEjC,MAAA6B,aAAA,GACEhB,YACkF,IAAhFA,YAAA,CAAAiB,OAAoB,CAAAC,GAAI,CAACC,KAAuD,CAChF,IAFF,EAEE;EAAA,IAAAC,EAAA;EAAA,IAAAvB,CAAA,QAAAQ,IAAA;IAEqDe,EAAA,GAAAC,QAAA,IAAYjB,QAAA,CAAAkB,KAAY,KAAKjB,IAAA;IAAAR,CAAA,MAAAQ,IAAA;IAAAR,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAAtF,MAAA0B,2BAAA,GAAoCP,aAAA,CAAAQ,MAAoB,CAACJ,EAA6B;EAAA,IAAAK,EAAA;EAAA,IAAA5B,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAG,YAAA;IAE/DyB,EAAA,GAAAC,MAAA;MACrB,MAAAC,QAAA,GAAe3B,YAA4D,IAA5CA,YAAA,CAAAiB,OAAoB,CAAAW,IAAK,CAACC,CAAA,IAAOA,CAAA,CAAAxB,IAAM,KAAKA,MAAA;MAAA,OACpEsB,QAAsB,IAAZvB,QAAA,CAAA0B,KAAoD,GAArCvD,cAAA,CAAe6B,QAAA,CAAA0B,KAAY,EAAErB,IAAQ,IAA9DiB,MAA8D;IAAA,CACvE;IAAA7B,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAG,YAAA;IAAAH,CAAA,MAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAHA,MAAAkC,cAAA,GAAuBN,EAGvB;EAEA,OAAAO,OAAA,EAAAC,UAAA,IAA8BxD,KAAA,CAAAyD,QAAc,CAAC;EAC7C,OAAAC,QAAA,EAAAC,WAAA,IAAgC3D,KAAA,CAAAyD,QAAc,CAAgB;EAC9D,OAAAG,UAAA,EAAAC,aAAA,IAAoC7D,KAAA,CAAAyD,QAAc,CAAgB7B,IAAA;EAClE,OAAAkC,iBAAA,EAAAC,oBAAA,IAAkD/D,KAAA,CAAAyD,QAAc,CAAC;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA7C,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAwC,UAAA;IAEjDI,EAAA,GAAAA,CAAA;MACd,IAAIJ,UAAA,KAAehC,IAAA;QACjBiC,aAAA,CAAcjC,IAAA;MAAA;IAChB,CACF;IAAGqC,EAAA,IAACrC,IAAA,EAAMgC,UAAA,CAAW;IAAAxC,CAAA,MAAAQ,IAAA;IAAAR,CAAA,MAAAwC,UAAA;IAAAxC,CAAA,MAAA4C,EAAA;IAAA5C,CAAA,MAAA6C,EAAA;EAAA;IAAAD,EAAA,GAAA5C,CAAA;IAAA6C,EAAA,GAAA7C,CAAA;EAAA;EAJrBpB,KAAA,CAAAkE,SAAe,CAACF,EAIhB,EAAGC,EAAkB;EAAA,IAAAE,EAAA;EAAA,IAAA/C,CAAA,QAAAM,KAAA,IAAAN,CAAA,SAAAU,cAAA,IAAAV,CAAA,SAAAgB,kBAAA,IAAAhB,CAAA,SAAAW,UAAA,IAAAX,CAAA,SAAAS,EAAA,IAAAT,CAAA,SAAA0C,iBAAA,IAAA1C,CAAA,SAAAiB,MAAA,IAAAjB,CAAA,SAAAkB,oBAAA,IAAAlB,CAAA,SAAAa,CAAA,IAAAb,CAAA,SAAAe,WAAA;IAGnBgC,EAAA,SAAAC,EAAA;MAAO;QAAAC,IAAA;QAAAC;MAAA,IAAAF,EAAY;MACjBZ,UAAA,CAAW;MAAA;MAEX;QACE,MAAMpB,kBAAA,CAAmB;UAAAN,cAAA;UAAAyC,KAAA,EAEhB1C,EAAA;UAAA+B,UAAA,EACKS,IAAA;UAAAtC,UAAA;UAAAyC,YAAA,EAEEV,iBAAA;UAAAJ,QAAA,EACJY;QACZ;QAEAd,UAAA,CAAW;QAENlB,oBAAA,CAAqB,MACxBD,MAAA,CAAAoC,IAAW,CACT1E,cAAA,CAAe;UAAA2E,UAAA,EACDhD,KAAA;UAAAiD,IAAA,EACN,IAAI7C,cAAA,kBAAgCA,cAAA,IAAkBD,EAAA,EAA8B,GAAhF,WAAoEE,UAAA,EAAY;QAC5F,KAAK,WAAWuC,EAAA,EAAI;QAIxBnC,WAAA,CAAYjB,UAAA;QACZhB,KAAA,CAAA0E,OAAa,CAAC3C,CAAA,CAAE;MAAA,SAAA4C,EAAA;QACTC,KAAA,CAAAA,KAAA,CAAAA,CAAA,CAAAA,EAAA;QACPtB,UAAA,CAAW;QACX,MAAAuB,YAAA,GAAqBD,KAAC,CAAAE,OAA2B,IAA5B,eAA4B;QACjD,MAAAC,iBAAA,GAA0BF,YAAA,CAAAG,UAAuB,CAAC,QAE9C,IADAjD,CAAA,CAAE8C,YACF,IAFsBA,YAEtB;QACJ7E,KAAA,CAAA4E,KAAW,CAACG,iBAAA;MAAA;IACd,CACF;IAAA7D,CAAA,MAAAM,KAAA;IAAAN,CAAA,OAAAU,cAAA;IAAAV,CAAA,OAAAgB,kBAAA;IAAAhB,CAAA,OAAAW,UAAA;IAAAX,CAAA,OAAAS,EAAA;IAAAT,CAAA,OAAA0C,iBAAA;IAAA1C,CAAA,OAAAiB,MAAA;IAAAjB,CAAA,OAAAkB,oBAAA;IAAAlB,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAe,WAAA;IAAAf,CAAA,OAAA+C,EAAA;EAAA;IAAAA,EAAA,GAAA/C,CAAA;EAAA;EAnCF,MAAA+D,cAAA,GAAuBhB,EA+CpB;EAGH,IAAI,CAACtC,EAAO,IAAR,CAAQE,UAAA;IAAA,OACH;EAAA;EACT,IAAAqC,EAAA;EAAA,IAAAhD,CAAA,SAAAc,QAAA,IAAAd,CAAA,SAAAa,CAAA,IAAAb,CAAA,SAAAe,WAAA;IAMeiC,EAAA,GAAAA,CAAA;MACP,IAAIlC,QAAA;QACFhC,KAAA,CAAAkF,IAAU,CAACnD,CAAA,CAAE;MAAA;QAEbE,WAAA,CAAYjB,UAAA;MAAA;IACd,CACF;IAAAE,CAAA,OAAAc,QAAA;IAAAd,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAe,WAAA;IAAAf,CAAA,OAAAgD,EAAA;EAAA;IAAAA,EAAA,GAAAhD,CAAA;EAAA;EAAA,IAAAyD,EAAA;EAAA,IAAAzD,CAAA,SAAAe,WAAA;IAQa0C,EAAA,GAAAA,CAAA;MACP1C,WAAA,CAAYjB,UAAA;IAAA,CACd;IAAAE,CAAA,OAAAe,WAAA;IAAAf,CAAA,OAAAyD,EAAA;EAAA;IAAAA,EAAA,GAAAzD,CAAA;EAAA;EAAA,IAAAiE,EAAA;EAAA,IAAAjE,CAAA,SAAA+D,cAAA,IAAA/D,CAAA,SAAAmC,OAAA,IAAAnC,CAAA,SAAAwC,UAAA,IAAAxC,CAAA,SAAAa,CAAA,IAAAb,CAAA,SAAAsC,QAAA;IAuBS2B,EAAA,SAAAA,CAAA;MACP,IAAIzB,UAAA,KAAeF,QAAA;QACjBxD,KAAA,CAAA4E,KAAW,CAAC7C,CAAA,CAAE;QAAA;MAAA;MAGhB,IAAI,CAACsB,OAAA;QACH,MAAM4B,cAAA,CAAe;UAAAd,IAAA,EACbT,UAAA;UAAAU,EAAA,EACFZ;QACN;MAAA;IACF,CACF;IAAAtC,CAAA,OAAA+D,cAAA;IAAA/D,CAAA,OAAAmC,OAAA;IAAAnC,CAAA,OAAAwC,UAAA;IAAAxC,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAsC,QAAA;IAAAtC,CAAA,OAAAiE,EAAA;EAAA;IAAAA,EAAA,GAAAjE,CAAA;EAAA;EAAA,IAAAkE,GAAA;EAAA,IAAAlE,CAAA,SAAAmE,MAAA,CAAAC,GAAA;IAWUF,GAAA,GAAAG,cAAA;MACR,IAAIA,cAAA,EAAA5C,KAAgB;QAClBgB,aAAA,CAAc4B,cAAA,CAAA5C,KAAoB;MAAA;IACpC,CACF;IAAAzB,CAAA,OAAAkE,GAAA;EAAA;IAAAA,GAAA,GAAAlE,CAAA;EAAA;EAAA,IAAAsE,GAAA;EAAA,IAAAtE,CAAA,SAAAmE,MAAA,CAAAC,GAAA;IASUE,GAAA,GAAAC,gBAAA;MACR,IAAIF,gBAAA,EAAA5C,KAAgB;QAClBc,WAAA,CAAY8B,gBAAA,CAAA5C,KAAoB;MAAA;IAClC,CACF;IAAAzB,CAAA,OAAAsE,GAAA;EAAA;IAAAA,GAAA,GAAAtE,CAAA;EAAA;EAAA,IAAAwE,GAAA;EAAA,IAAAxE,CAAA,SAAA0C,iBAAA;IAWU8B,GAAA,GAAAA,CAAA,KAAM7B,oBAAA,CAAqB,CAACD,iBAAA;IAAA1C,CAAA,OAAA0C,iBAAA;IAAA1C,CAAA,OAAAwE,GAAA;EAAA;IAAAA,GAAA,GAAAxE,CAAA;EAAA;EAAA,OA5F9CyE,KAAA,CAAC7F,KAAA,CAAA8F,QAAc;IAAAC,QAAA,E,CACbC,IAAA,CAAChF,SAAA,CAAAH,MAAgB;MAAAgB,EAAA,EACX,GAAGZ,SAAA,UAAmB;MAAAgF,OAAA,EACjB7B,EAMT;MAAA2B,QAAA,EAEC9D,CAAA,CAAE;QAEL4D,KAAA,CAAC/E,MAAA;MAAAoF,SAAA,EACYjF,SAAA;MAAAkF,MAAA,EAETH,IAAA,CAACjF,YAAA;QAAAqF,OAAA,EACUvB,EAET;QAAAwB,KAAA,EACOpE,CAAA,CAAE;;YAGPf,UAAA;MAAA6E,QAAA,E,CAENF,KAAA,CAAC;QAAAK,SAAA,EAAe,GAAGjF,SAAA,cAAuB;QAAA8E,QAAA,E,CACxCC,IAAA,CAAC;UAAAD,QAAA,EACEnC,UAAc,IAAdF,QAQG,GAPFsC,IAAA,CAAC;YAAAD,QAAA,EACE9D,CAAA,CAAE,2BAA2B;cAAAoC,IAAA,EACtBf,cAAA,CAAeM,UAAA;cAAAU,EAAA,EACjBhB,cAAA,CAAeI,QAAA;YACrB;WAGA,IAAFzB,CAAA,CAAE;YAGN+D,IAAA,CAACnF,MAAA;UAAAyF,WAAA,EACa;UAAAC,QAAA,EACF,CAAC3C,UAAe,IAAhB,CAAgBF,QAAA;UAAA8C,YAAA,EACb;UAAAP,OAAA,EACJZ,EAWT;UAAAoB,IAAA,EACK;UAAAV,QAAA,EAEJxC,OAAA,GAAUtB,CAAA,CAAE,qBAAqB,KAAU,GAAFA,CAAA,CAAE;;UAIhD4D,KAAA,CAAC;QAAAK,SAAA,EAAe,GAAGjF,SAAA,WAAoB;QAAA8E,QAAA,E,CACrCC,IAAA,CAAC5F,WAAA;UAAAiD,KAAA,EACQpB,CAAA,CAAE;UAAAyE,IAAA,EACH;UAAAC,QAAA,EACIrB,GAIV;UAAAsB,OAAA,EACSrE,aAAA;UAAAoC,IAAA,EACJ;UAAAkC,QAAA,EACG;UAAAhE,KAAA,EACDe;YAEToC,IAAA,CAAC5F,WAAA;UAAAiD,KAAA,EACQpB,CAAA,CAAE;UAAAyE,IAAA,EACJ;UAAAC,QAAA,EACKjB,GAIV;UAAAkB,OAAA,EACS9D,2BAAA;UAAA6B,IAAA,EACJ;UAAA9B,KAAA,EACEa;YAETsC,IAAA,CAAC7F,aAAA;UAAA2G,OAAA,EACUhD,iBAAA;UAAAiD,KAAA,EACF;YAAAL,IAAA,EACC;YAAArD,KAAA,EACCpB,CAAA,CAAE;UACX;UAAA0E,QAAA,EACUf,GAA4B;UAAAjB,IAAA,EAChC;;;;;CAMlB;AAlMwC,SAAAjC,MAAAsE,QAAA;EAAA,OAmBI;IAAA3D,KAAA,EAAS1B,QAAA,CAAA0B,KAAY;IAAAR,KAAA,EAASlB,QAAA,CAAAC;EAAY;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","CopyIcon","useTranslation","Tooltip","baseClass","CopyToClipboard","t0","$","defaultMessage","icon","successMessage","value","copied","setCopied","hovered","setHovered","t","t1","Symbol","for","copyLabel","t2","navigator","clipboard","writeText","t3","t4","_jsxs","className","onClick","onMouseEnter","onMouseLeave","type","children","_jsx","delay","undefined","show"],"sources":["../../../src/elements/CopyToClipboard/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\n\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.css'\n\nconst baseClass = 'copy-to-clipboard'\n\nexport type Props = {\n defaultMessage?: string\n icon?: React.ReactNode\n successMessage?: string\n value?: string\n}\n\nexport const CopyToClipboard: React.FC<Props> = ({\n defaultMessage,\n icon,\n successMessage,\n value,\n}) => {\n const [copied, setCopied] = useState(false)\n const [hovered, setHovered] = useState(false)\n const { t } = useTranslation()\n const copyLabel = defaultMessage ?? t('general:copy')\n\n if (value) {\n return (\n <button\n aria-label={copyLabel}\n className={baseClass}\n onClick={async () => {\n await navigator.clipboard.writeText(value)\n setCopied(true)\n }}\n onMouseEnter={() => {\n setHovered(true)\n setCopied(false)\n }}\n onMouseLeave={() => {\n setHovered(false)\n setCopied(false)\n }}\n type=\"button\"\n >\n {icon ?? <CopyIcon />}\n <Tooltip delay={copied ? 0 : undefined} show={hovered || copied}>\n {copied && (successMessage ?? t('general:copied'))}\n {!copied && copyLabel}\n </Tooltip>\n </button>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,eAAA,GAAmCC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,cAAA;IAAAC,IAAA;IAAAC,cAAA;IAAAC;EAAA,IAAAL,EAKhD;EACC,OAAAM,MAAA,EAAAC,SAAA,IAA4Bb,QAAA,MAAS;EACrC,OAAAc,OAAA,EAAAC,UAAA,IAA8Bf,QAAA,MAAS;EACvC;IAAAgB;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAV,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAO,OAAA,IAAAP,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAS,CAAA,IAAAT,CAAA,QAAAI,KAAA;IAKVM,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MAJJ,MAAAC,SAAA,GAAkBZ,cAAA,IAAkBQ,CAAA,CAAE;MAAA,IAElCL,KAAA;QAAA,IAAAU,EAAA;QAAA,IAAAd,CAAA,QAAAI,KAAA;UAKWU,EAAA,SAAAA,CAAA;YAAA,MACDC,SAAA,CAAAC,SAAA,CAAAC,SAAA,CAA8Bb,KAAA;YACpCE,SAAA,KAAU;UAAA;UACZN,CAAA,MAAAI,KAAA;UAAAJ,CAAA,MAAAc,EAAA;QAAA;UAAAA,EAAA,GAAAd,CAAA;QAAA;QAAA,IAAAkB,EAAA;QAAA,IAAAC,EAAA;QAAA,IAAAnB,CAAA,SAAAW,MAAA,CAAAC,GAAA;UACcM,EAAA,GAAAA,CAAA;YACZV,UAAA,KAAW;YACXF,SAAA,MAAU;UAAA;UAEEa,EAAA,GAAAA,CAAA;YACZX,UAAA,MAAW;YACXF,SAAA,MAAU;UAAA;UACZN,CAAA,OAAAkB,EAAA;UAAAlB,CAAA,OAAAmB,EAAA;QAAA;UAAAD,EAAA,GAAAlB,CAAA;UAAAmB,EAAA,GAAAnB,CAAA;QAAA;QAdFU,EAAA,GAAAU,KAAA,CAAC;UAAA,cACaP,SAAA;UAAAQ,SAAA,EAAAxB,SAAA;UAAAyB,OAAA,EAEHR,EAGT;UAAAS,YAAA,EACcL,EAGd;UAAAM,YAAA,EACcL,EAGd;UAAAM,IAAA,EACK;UAAAC,QAAA,GAEJxB,IAAA,IAAQyB,IAAA,CAAAjC,QAAA,IAAC,GACV0B,KAAA,CAAAxB,OAAA;YAAAgC,KAAA,EAAgBvB,MAAA,OAAAwB,SAAa;YAAAC,IAAA,EAAiBvB,OAAA,IAAWF,MAAA;YAAAqB,QAAA,GACtDrB,MAAA,KAAWF,cAAA,IAAkBM,CAAA,CAAE,iBAAgB,GAC/C,CAACJ,MAAA,IAAUQ,SAAA;UAAA,C;;;;;;;;;;;;;;;;;;;;CAOtB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","CopyIcon","useTranslation","Tooltip","baseClass","CopyToClipboard","t0","$","defaultMessage","icon","successMessage","value","copied","setCopied","hovered","setHovered","t","t1","Symbol","copyLabel","t2","navigator","clipboard","writeText","t3","t4","for","_jsxs","className","onClick","onMouseEnter","onMouseLeave","type","children","_jsx","delay","undefined","show","bb0"],"sources":["../../../src/elements/CopyToClipboard/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\n\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.css'\n\nconst baseClass = 'copy-to-clipboard'\n\nexport type Props = {\n defaultMessage?: string\n icon?: React.ReactNode\n successMessage?: string\n value?: string\n}\n\nexport const CopyToClipboard: React.FC<Props> = ({\n defaultMessage,\n icon,\n successMessage,\n value,\n}) => {\n const [copied, setCopied] = useState(false)\n const [hovered, setHovered] = useState(false)\n const { t } = useTranslation()\n const copyLabel = defaultMessage ?? t('general:copy')\n\n if (value) {\n return (\n <button\n aria-label={copyLabel}\n className={baseClass}\n onClick={async () => {\n await navigator.clipboard.writeText(value)\n setCopied(true)\n }}\n onMouseEnter={() => {\n setHovered(true)\n setCopied(false)\n }}\n onMouseLeave={() => {\n setHovered(false)\n setCopied(false)\n }}\n type=\"button\"\n >\n {icon ?? <CopyIcon />}\n <Tooltip delay={copied ? 0 : undefined} show={hovered || copied}>\n {copied && (successMessage ?? t('general:copied'))}\n {!copied && copyLabel}\n </Tooltip>\n </button>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,eAAA,GAAmCC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,cAAA;IAAAC,IAAA;IAAAC,cAAA;IAAAC;EAAA,IAAAL,EAKhD;EACC,OAAAM,MAAA,EAAAC,SAAA,IAA4Bb,QAAA,CAAS;EACrC,OAAAc,OAAA,EAAAC,UAAA,IAA8Bf,QAAA,CAAS;EACvC;IAAAgB;EAAA,IAAcd,cAAA;EAAA,IAAAe,EAAA;EAAA,IAAAV,CAAA,QAAAK,MAAA,IAAAL,CAAA,QAAAC,cAAA,IAAAD,CAAA,QAAAO,OAAA,IAAAP,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAS,CAAA,IAAAT,CAAA,QAAAI,KAAA;IAKVM,EAAA,GAAAC,M,KAAA,6B;;MAJJ,MAAAC,SAAA,GAAkBX,cAAoB,IAAFQ,CAAA,CAAE;MAEtC,IAAIL,KAAA;QAAA,IAAAS,EAAA;QAAA,IAAAb,CAAA,QAAAI,KAAA;UAKWS,EAAA,SAAAA,CAAA;YACP,MAAMC,SAAA,CAAAC,SAAmB,CAAAC,SAAU,CAACZ,KAAA;YACpCE,SAAA,CAAU;UAAA,CACZ;UAAAN,CAAA,MAAAI,KAAA;UAAAJ,CAAA,MAAAa,EAAA;QAAA;UAAAA,EAAA,GAAAb,CAAA;QAAA;QAAA,IAAAiB,EAAA;QAAA,IAAAC,EAAA;QAAA,IAAAlB,CAAA,SAAAW,MAAA,CAAAQ,GAAA;UACcF,EAAA,GAAAA,CAAA;YACZT,UAAA,CAAW;YACXF,SAAA,CAAU;UAAA,CACZ;UACcY,EAAA,GAAAA,CAAA;YACZV,UAAA,CAAW;YACXF,SAAA,CAAU;UAAA,CACZ;UAAAN,CAAA,OAAAiB,EAAA;UAAAjB,CAAA,OAAAkB,EAAA;QAAA;UAAAD,EAAA,GAAAjB,CAAA;UAAAkB,EAAA,GAAAlB,CAAA;QAAA;QAdFU,EAAA,GAAAU,KAAA,CAAC;UAAA,cACaR,SAAA;UAAAS,SAAA,EACDxB,SAAA;UAAAyB,OAAA,EACFT,EAGT;UAAAU,YAAA,EACcN,EAGd;UAAAO,YAAA,EACcN,EAGd;UAAAO,IAAA,EACK;UAAAC,QAAA,E,CAEJxB,IAAS,IAADyB,IAAA,CAACjC,QAAA,OACV0B,KAAA,CAACxB,OAAA;YAAAgC,KAAA,EAAevB,MAAA,IAAa,GAAbwB,SAAa;YAAAC,IAAA,EAAiBvB,OAAW,IAAXF,MAAW;YAAAqB,QAAA,E,CACtDrB,MAA+C,KAApCF,cAAoC,IAAlBM,CAAA,CAAE,iBAAgB,GAC/C,CAACJ,MAAU,IAAXO,SAAW;;;QApBhB,MAAAmB,GAAA;;IAwBJ;IAAA/B,CAAA,MAAAK,MAAA;IAAAL,CAAA,MAAAC,cAAA;IAAAD,CAAA,MAAAO,OAAA;IAAAP,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAS,CAAA;IAAAT,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAU,EAAA,KAAAC,MAAA,CAAAQ,GAAA;IAAA,OAAAT,EAAA;EAAA;EAAA,OAEO;AAAA,CACT","ignoreList":[]}