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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (809) 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/HierarchyTypeField/index.d.ts.map +1 -1
  159. package/dist/elements/HierarchyTypeField/index.js.map +1 -1
  160. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  161. package/dist/elements/HydratePreferences/index.js.map +1 -1
  162. package/dist/elements/IDLabel/index.js.map +1 -1
  163. package/dist/elements/InputStepper/index.js.map +1 -1
  164. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  165. package/dist/elements/ItemsDrawer/index.js +186 -105
  166. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  167. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
  168. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
  169. package/dist/elements/LayoutToggle/index.js.map +1 -1
  170. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  171. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
  172. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  173. package/dist/elements/Link/index.js +1 -1
  174. package/dist/elements/Link/index.js.map +1 -1
  175. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
  176. package/dist/elements/ListControls/index.js.map +1 -1
  177. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  178. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  179. package/dist/elements/ListDrawer/Provider.d.ts +3 -2
  180. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  181. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  182. package/dist/elements/ListDrawer/index.js.map +1 -1
  183. package/dist/elements/ListGroupByButton/index.js.map +1 -1
  184. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  185. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
  186. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  187. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  188. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
  189. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  190. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  191. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  192. package/dist/elements/ListSelection/index.js.map +1 -1
  193. package/dist/elements/ListWhereBuilder/index.js.map +1 -1
  194. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  195. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  196. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  197. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  198. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  199. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  200. package/dist/elements/LivePreview/Window/index.js +6 -1
  201. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  202. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  203. package/dist/elements/Loading/index.js +62 -18
  204. package/dist/elements/Loading/index.js.map +1 -1
  205. package/dist/elements/LoadingOverlay/index.js +93 -49
  206. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  207. package/dist/elements/Localizer/index.js +133 -108
  208. package/dist/elements/Localizer/index.js.map +1 -1
  209. package/dist/elements/Locked/index.js +54 -37
  210. package/dist/elements/Locked/index.js.map +1 -1
  211. package/dist/elements/Logout/index.js.map +1 -1
  212. package/dist/elements/MiniCarousel/index.js +102 -38
  213. package/dist/elements/MiniCarousel/index.js.map +1 -1
  214. package/dist/elements/Modal/index.d.ts.map +1 -1
  215. package/dist/elements/Modal/index.js +13 -1
  216. package/dist/elements/Modal/index.js.map +1 -1
  217. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  218. package/dist/elements/Nav/NavWrapper/index.js +13 -14
  219. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  220. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  221. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -1
  222. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  223. package/dist/elements/Nav/SidebarTabs/index.client.js +31 -20
  224. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  225. package/dist/elements/Nav/index.client.js.map +1 -1
  226. package/dist/elements/Nav/index.css +5 -0
  227. package/dist/elements/NavGroup/index.css +27 -3
  228. package/dist/elements/NavGroup/index.js +31 -38
  229. package/dist/elements/NavGroup/index.js.map +1 -1
  230. package/dist/elements/NoListResults/index.css +1 -0
  231. package/dist/elements/NoListResults/index.js +1 -1
  232. package/dist/elements/NoListResults/index.js.map +1 -1
  233. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  234. package/dist/elements/PageControls/index.js.map +1 -1
  235. package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
  236. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  237. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  238. package/dist/elements/Pagination/index.js +36 -37
  239. package/dist/elements/Pagination/index.js.map +1 -1
  240. package/dist/elements/PerPage/index.js.map +1 -1
  241. package/dist/elements/Pill/index.js.map +1 -1
  242. package/dist/elements/Popup/SubmenuScope.d.ts +3 -5
  243. package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -1
  244. package/dist/elements/Popup/SubmenuScope.js +10 -54
  245. package/dist/elements/Popup/SubmenuScope.js.map +1 -1
  246. package/dist/elements/Popup/index.css +15 -0
  247. package/dist/elements/Popup/index.d.ts.map +1 -1
  248. package/dist/elements/Popup/index.js +88 -33
  249. package/dist/elements/Popup/index.js.map +1 -1
  250. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +16 -4
  251. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -1
  252. package/dist/elements/Popup/useSubmenuPointerIntent.js +68 -27
  253. package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -1
  254. package/dist/elements/PreviewButton/index.js.map +1 -1
  255. package/dist/elements/PreviewSizes/index.js +141 -70
  256. package/dist/elements/PreviewSizes/index.js.map +1 -1
  257. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  258. package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
  259. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  260. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  261. package/dist/elements/PublishButton/index.js +1 -0
  262. package/dist/elements/PublishButton/index.js.map +1 -1
  263. package/dist/elements/PublishMany/DrawerContent.js +1 -1
  264. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  265. package/dist/elements/PublishMany/index.js +32 -24
  266. package/dist/elements/PublishMany/index.js.map +1 -1
  267. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
  268. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  269. package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
  270. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  271. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
  272. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  273. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  274. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
  275. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
  276. package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
  277. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  278. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  279. package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
  280. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  281. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  282. package/dist/elements/ReactSelect/index.css +4 -0
  283. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  284. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  285. package/dist/elements/RelationshipTable/index.js +1 -1
  286. package/dist/elements/RelationshipTable/index.js.map +1 -1
  287. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  288. package/dist/elements/RenderTitle/index.js.map +1 -1
  289. package/dist/elements/RestoreMany/index.js +1 -1
  290. package/dist/elements/RestoreMany/index.js.map +1 -1
  291. package/dist/elements/SchedulePublishButton/index.js +111 -39
  292. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  293. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  294. package/dist/elements/SegmentedControl/index.js.map +1 -1
  295. package/dist/elements/SelectAll/index.js.map +1 -1
  296. package/dist/elements/SelectRow/index.js +31 -21
  297. package/dist/elements/SelectRow/index.js.map +1 -1
  298. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  299. package/dist/elements/SidebarToggle/index.js.map +1 -1
  300. package/dist/elements/SkipToContent/index.js.map +1 -1
  301. package/dist/elements/SortHeader/index.js.map +1 -1
  302. package/dist/elements/SortRow/index.js.map +1 -1
  303. package/dist/elements/Spinner/index.js.map +1 -1
  304. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  305. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  306. package/dist/elements/StepNav/context.js.map +1 -1
  307. package/dist/elements/Switch/index.css +2 -2
  308. package/dist/elements/Switch/index.js.map +1 -1
  309. package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
  310. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  311. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
  312. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  313. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
  314. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  316. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  317. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
  318. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  319. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  320. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  321. package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
  322. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  323. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
  324. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  325. package/dist/elements/Table/TableIdentity.js +32 -16
  326. package/dist/elements/Table/TableIdentity.js.map +1 -1
  327. package/dist/elements/Table/useAriaSort.js.map +1 -1
  328. package/dist/elements/Thumbnail/index.js +133 -53
  329. package/dist/elements/Thumbnail/index.js.map +1 -1
  330. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  331. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  332. package/dist/elements/TimezonePicker/index.js +113 -54
  333. package/dist/elements/TimezonePicker/index.js.map +1 -1
  334. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  335. package/dist/elements/Tooltip/index.js.map +1 -1
  336. package/dist/elements/Translation/index.js +1 -1
  337. package/dist/elements/Translation/index.js.map +1 -1
  338. package/dist/elements/TrashBanner/index.js.map +1 -1
  339. package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
  340. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  341. package/dist/elements/UnpublishMany/index.js +32 -24
  342. package/dist/elements/UnpublishMany/index.js.map +1 -1
  343. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  344. package/dist/elements/Upload/index.js.map +1 -1
  345. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
  346. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
  347. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  348. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  349. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  350. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  351. package/dist/elements/UserMenu/index.js +2 -1
  352. package/dist/elements/UserMenu/index.js.map +1 -1
  353. package/dist/elements/ViewDescription/index.js.map +1 -1
  354. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  355. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  356. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  357. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  358. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  359. package/dist/elements/WhereBuilder/Condition/index.js +1 -0
  360. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  361. package/dist/exports/client/{CodeEditor-I6PL55BF.js → CodeEditor-23ZGBN6S.js} +2 -2
  362. package/dist/exports/client/{DatePicker-RFCB5VGD.js → DatePicker-AZBZPMY6.js} +2 -2
  363. package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
  364. package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
  365. package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
  366. package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
  367. package/dist/exports/client/{chunk-O2RR6XEH.js → chunk-ZP2PB6M4.js} +2 -2
  368. package/dist/exports/client/{chunk-O2RR6XEH.js.map → chunk-ZP2PB6M4.js.map} +1 -1
  369. package/dist/exports/client/index.d.ts +2 -2
  370. package/dist/exports/client/index.d.ts.map +1 -1
  371. package/dist/exports/client/index.js +27 -27
  372. package/dist/exports/client/index.js.map +4 -4
  373. package/dist/exports/rsc/index.d.ts +1 -1
  374. package/dist/exports/rsc/index.d.ts.map +1 -1
  375. package/dist/exports/rsc/index.js +1 -1
  376. package/dist/exports/rsc/index.js.map +1 -1
  377. package/dist/exports/shared/index.js.map +2 -2
  378. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  379. package/dist/fields/Array/ArrayRow.js +207 -99
  380. package/dist/fields/Array/ArrayRow.js.map +1 -1
  381. package/dist/fields/Array/index.d.ts.map +1 -1
  382. package/dist/fields/Array/index.js +521 -308
  383. package/dist/fields/Array/index.js.map +1 -1
  384. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  385. package/dist/fields/Blocks/BlockRow.js +224 -136
  386. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  387. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  388. package/dist/fields/Blocks/BlockSelector/index.js +114 -74
  389. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  390. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  391. package/dist/fields/Blocks/RowActions.js +75 -55
  392. package/dist/fields/Blocks/RowActions.js.map +1 -1
  393. package/dist/fields/Blocks/SectionTitle/index.css +4 -0
  394. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  395. package/dist/fields/Blocks/index.d.ts.map +1 -1
  396. package/dist/fields/Blocks/index.js +1 -0
  397. package/dist/fields/Blocks/index.js.map +1 -1
  398. package/dist/fields/Checkbox/index.css +3 -3
  399. package/dist/fields/Checkbox/index.js.map +1 -1
  400. package/dist/fields/Code/index.d.ts.map +1 -1
  401. package/dist/fields/Code/index.js +3 -2
  402. package/dist/fields/Code/index.js.map +1 -1
  403. package/dist/fields/Collapsible/index.js +114 -73
  404. package/dist/fields/Collapsible/index.js.map +1 -1
  405. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  406. package/dist/fields/DateTime/index.js +215 -121
  407. package/dist/fields/DateTime/index.js.map +1 -1
  408. package/dist/fields/Email/index.d.ts.map +1 -1
  409. package/dist/fields/Email/index.js.map +1 -1
  410. package/dist/fields/FieldDescription/index.js +29 -21
  411. package/dist/fields/FieldDescription/index.js.map +1 -1
  412. package/dist/fields/FieldError/index.js.map +1 -1
  413. package/dist/fields/FieldLabel/index.js.map +1 -1
  414. package/dist/fields/Group/index.js +75 -46
  415. package/dist/fields/Group/index.js.map +1 -1
  416. package/dist/fields/Hidden/index.js +23 -15
  417. package/dist/fields/Hidden/index.js.map +1 -1
  418. package/dist/fields/JSON/index.d.ts.map +1 -1
  419. package/dist/fields/JSON/index.js +3 -2
  420. package/dist/fields/JSON/index.js.map +1 -1
  421. package/dist/fields/Number/Input.js.map +1 -1
  422. package/dist/fields/Number/index.d.ts.map +1 -1
  423. package/dist/fields/Number/index.js.map +1 -1
  424. package/dist/fields/Password/index.d.ts.map +1 -1
  425. package/dist/fields/Password/index.js.map +1 -1
  426. package/dist/fields/Password/input.js +46 -27
  427. package/dist/fields/Password/input.js.map +1 -1
  428. package/dist/fields/RadioGroup/Radio/index.js +35 -35
  429. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  430. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  431. package/dist/fields/RadioGroup/index.js.map +1 -1
  432. package/dist/fields/Relationship/Input.js +14 -14
  433. package/dist/fields/Relationship/Input.js.map +1 -1
  434. package/dist/fields/Relationship/index.js +216 -111
  435. package/dist/fields/Relationship/index.js.map +1 -1
  436. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  437. package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
  438. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  439. package/dist/fields/Select/Input.js +26 -10
  440. package/dist/fields/Select/Input.js.map +1 -1
  441. package/dist/fields/Select/index.d.ts.map +1 -1
  442. package/dist/fields/Select/index.js +158 -77
  443. package/dist/fields/Select/index.js.map +1 -1
  444. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  445. package/dist/fields/Tabs/index.css +11 -15
  446. package/dist/fields/Tabs/index.js +120 -112
  447. package/dist/fields/Tabs/index.js.map +1 -1
  448. package/dist/fields/Text/Input.d.ts.map +1 -1
  449. package/dist/fields/Text/Input.js +2 -2
  450. package/dist/fields/Text/Input.js.map +1 -1
  451. package/dist/fields/Text/index.js +172 -95
  452. package/dist/fields/Text/index.js.map +1 -1
  453. package/dist/fields/Text/types.d.ts +2 -1
  454. package/dist/fields/Text/types.d.ts.map +1 -1
  455. package/dist/fields/Text/types.js.map +1 -1
  456. package/dist/fields/Textarea/Input.js +58 -28
  457. package/dist/fields/Textarea/Input.js.map +1 -1
  458. package/dist/fields/Textarea/index.js +97 -55
  459. package/dist/fields/Textarea/index.js.map +1 -1
  460. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  461. package/dist/fields/Upload/Input.d.ts.map +1 -1
  462. package/dist/fields/Upload/Input.js +16 -7
  463. package/dist/fields/Upload/Input.js.map +1 -1
  464. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  465. package/dist/fields/Upload/index.css +9 -0
  466. package/dist/fields/Upload/index.js +101 -63
  467. package/dist/fields/Upload/index.js.map +1 -1
  468. package/dist/fields/shared/useRowFocus.js.map +1 -1
  469. package/dist/forms/Form/context.js.map +1 -1
  470. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  471. package/dist/forms/Form/fieldReducer.js.map +1 -1
  472. package/dist/forms/Form/index.d.ts.map +1 -1
  473. package/dist/forms/Form/index.js +27 -8
  474. package/dist/forms/Form/index.js.map +1 -1
  475. package/dist/forms/Form/types.d.ts +1 -1
  476. package/dist/forms/Form/types.d.ts.map +1 -1
  477. package/dist/forms/Form/types.js.map +1 -1
  478. package/dist/forms/NullifyField/index.js.map +1 -1
  479. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  480. package/dist/forms/RenderFields/context.js +3 -2
  481. package/dist/forms/RenderFields/context.js.map +1 -1
  482. package/dist/forms/RenderFields/index.js.map +1 -1
  483. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  484. package/dist/forms/RowLabel/Context/index.js +58 -18
  485. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  486. package/dist/forms/Submit/index.js +12 -13
  487. package/dist/forms/Submit/index.js.map +1 -1
  488. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  489. package/dist/forms/useField/index.js +1 -1
  490. package/dist/forms/useField/index.js.map +1 -1
  491. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  492. package/dist/graphics/Account/Gravatar/index.js +32 -17
  493. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  494. package/dist/graphics/Account/index.js +27 -18
  495. package/dist/graphics/Account/index.js.map +1 -1
  496. package/dist/hooks/useControllableState.js.map +1 -1
  497. package/dist/hooks/useDebounce.js.map +1 -1
  498. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  499. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  500. package/dist/hooks/useDelay.js.map +1 -1
  501. package/dist/hooks/useDelayedRender.js.map +1 -1
  502. package/dist/hooks/useElementHeightVariable.js.map +1 -1
  503. package/dist/hooks/useHotkey.js.map +1 -1
  504. package/dist/hooks/useIntersect.js.map +1 -1
  505. package/dist/hooks/usePayloadAPI.js.map +1 -1
  506. package/dist/hooks/usePointerSafeArea.d.ts +29 -0
  507. package/dist/hooks/usePointerSafeArea.d.ts.map +1 -0
  508. package/dist/hooks/usePointerSafeArea.js +232 -0
  509. package/dist/hooks/usePointerSafeArea.js.map +1 -0
  510. package/dist/hooks/usePopupWindow.js.map +1 -1
  511. package/dist/hooks/useRelatedCollections.js.map +1 -1
  512. package/dist/hooks/useResize.js.map +1 -1
  513. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  514. package/dist/hooks/useThrottledEffect.js +21 -24
  515. package/dist/hooks/useThrottledEffect.js.map +1 -1
  516. package/dist/hooks/useUseAsTitle.js.map +1 -1
  517. package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
  518. package/dist/layouts/Root/RootProviders.js +31 -28
  519. package/dist/layouts/Root/RootProviders.js.map +1 -1
  520. package/dist/providers/Actions/index.js.map +1 -1
  521. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
  522. package/dist/providers/Auth/index.js +2 -2
  523. package/dist/providers/Auth/index.js.map +1 -1
  524. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
  525. package/dist/providers/ClientFunction/index.js.map +1 -1
  526. package/dist/providers/Config/index.js +65 -32
  527. package/dist/providers/Config/index.js.map +1 -1
  528. package/dist/providers/DocumentEvents/index.js.map +1 -1
  529. package/dist/providers/EditDepth/index.js.map +1 -1
  530. package/dist/providers/Embed/index.js.map +1 -1
  531. package/dist/providers/EntityVisibility/index.js.map +1 -1
  532. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  533. package/dist/providers/ListQuery/index.js +5 -5
  534. package/dist/providers/ListQuery/index.js.map +1 -1
  535. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  536. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  537. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  538. package/dist/providers/ListQuery/types.d.ts +6 -1
  539. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  540. package/dist/providers/ListQuery/types.js.map +1 -1
  541. package/dist/providers/ModalAccessibility/index.js.map +1 -1
  542. package/dist/providers/ModalFocus/index.d.ts +15 -0
  543. package/dist/providers/ModalFocus/index.d.ts.map +1 -0
  544. package/dist/providers/ModalFocus/index.js +70 -0
  545. package/dist/providers/ModalFocus/index.js.map +1 -0
  546. package/dist/providers/RouteCache/index.js.map +1 -1
  547. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  548. package/dist/providers/RouteTransition/index.d.ts +3 -2
  549. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  550. package/dist/providers/RouteTransition/index.js +78 -105
  551. package/dist/providers/RouteTransition/index.js.map +1 -1
  552. package/dist/providers/RouterAdapter/index.js.map +1 -1
  553. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  554. package/dist/providers/TableColumns/index.d.ts.map +1 -1
  555. package/dist/providers/TableColumns/index.js +18 -35
  556. package/dist/providers/TableColumns/index.js.map +1 -1
  557. package/dist/providers/Theme/index.js.map +1 -1
  558. package/dist/providers/ToastContainer/index.js.map +1 -1
  559. package/dist/providers/Translation/index.js.map +1 -1
  560. package/dist/providers/UploadControls/index.js.map +1 -1
  561. package/dist/providers/UploadEdits/index.js.map +1 -1
  562. package/dist/providers/UploadHandlers/index.js.map +1 -1
  563. package/dist/styles.css +66 -1
  564. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  565. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  566. package/dist/utilities/groupNavItems.js.map +1 -1
  567. package/dist/utilities/hasSavePermission.js.map +1 -1
  568. package/dist/utilities/serverFunctionRegistry.js +2 -2
  569. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  570. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  571. package/dist/views/API/index.client.d.ts.map +1 -1
  572. package/dist/views/API/index.client.js +1 -0
  573. package/dist/views/API/index.client.js.map +1 -1
  574. package/dist/views/Account/ResetPreferences/index.js +17 -17
  575. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  576. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  577. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
  578. package/dist/views/Account/ToggleTheme/index.js +106 -27
  579. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  580. package/dist/views/Account/index.client.js.map +1 -1
  581. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  582. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  583. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  584. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +373 -151
  585. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  586. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  587. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  588. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +2 -1
  589. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  590. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
  591. package/dist/views/Document/generateEditViewMetadata.js.map +1 -1
  592. package/dist/views/Document/index.js +1 -1
  593. package/dist/views/Document/index.js.map +1 -1
  594. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  595. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
  596. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  597. package/dist/views/Edit/Auth/index.js +13 -11
  598. package/dist/views/Edit/Auth/index.js.map +1 -1
  599. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  600. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  601. package/dist/views/Edit/index.d.ts.map +1 -1
  602. package/dist/views/Edit/index.js +27 -16
  603. package/dist/views/Edit/index.js.map +1 -1
  604. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  605. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
  606. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  607. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  608. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  609. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  610. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
  611. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
  612. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  613. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  614. package/dist/views/HierarchyList/index.js +2 -2
  615. package/dist/views/HierarchyList/index.js.map +1 -1
  616. package/dist/views/List/DocumentGrid/index.js.map +1 -1
  617. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
  618. package/dist/views/List/ListSelection/index.js.map +1 -1
  619. package/dist/views/Login/LoginField/index.js.map +1 -1
  620. package/dist/views/Login/LoginForm/index.js.map +1 -1
  621. package/dist/views/Logout/LogoutClient.js.map +1 -1
  622. package/dist/views/Logout/index.js.map +1 -1
  623. package/dist/views/NotFound/index.client.js.map +1 -1
  624. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  625. package/dist/views/Verify/index.client.js.map +1 -1
  626. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  627. package/dist/views/Version/Default/index.js +321 -181
  628. package/dist/views/Version/Default/index.js.map +1 -1
  629. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  630. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  631. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
  632. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  633. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  634. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
  635. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  636. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  637. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  638. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
  639. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  640. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  641. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  642. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  643. package/dist/views/Version/Restore/index.js +176 -77
  644. package/dist/views/Version/Restore/index.js.map +1 -1
  645. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  646. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  647. package/dist/views/Version/SelectComparison/index.js +113 -33
  648. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  649. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  650. package/dist/views/Version/index.js.map +1 -1
  651. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  652. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  653. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  654. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
  655. package/dist/views/Versions/index.client.js +9 -11
  656. package/dist/views/Versions/index.client.js.map +1 -1
  657. package/dist/views/Versions/index.js +2 -2
  658. package/dist/views/Versions/index.js.map +1 -1
  659. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
  660. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
  661. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
  662. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
  663. package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
  664. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
  665. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
  666. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
  667. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
  668. package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
  669. package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
  670. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
  671. package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
  672. package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
  673. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
  674. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
  675. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
  676. package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
  677. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
  678. package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
  679. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
  680. package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
  681. package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
  682. package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
  683. package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
  684. package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
  685. package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
  686. package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
  687. package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
  688. package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
  689. package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
  690. package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
  691. package/dist/widgets/Activity/components/Pagination/index.css +42 -0
  692. package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
  693. package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
  694. package/dist/widgets/Activity/components/Pagination/index.js +125 -0
  695. package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
  696. package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
  697. package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
  698. package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
  699. package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
  700. package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
  701. package/dist/widgets/Activity/index.client.d.ts +15 -0
  702. package/dist/widgets/Activity/index.client.d.ts.map +1 -0
  703. package/dist/widgets/Activity/index.client.js +186 -0
  704. package/dist/widgets/Activity/index.client.js.map +1 -0
  705. package/dist/widgets/Activity/index.css +320 -0
  706. package/dist/widgets/Activity/index.d.ts +13 -0
  707. package/dist/widgets/Activity/index.d.ts.map +1 -0
  708. package/dist/widgets/Activity/index.js +100 -0
  709. package/dist/widgets/Activity/index.js.map +1 -0
  710. package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +5 -13
  711. package/dist/widgets/Activity/types.d.ts.map +1 -0
  712. package/dist/widgets/Activity/types.js +2 -0
  713. package/dist/widgets/Activity/types.js.map +1 -0
  714. package/dist/widgets/Activity/utils/cache.d.ts +33 -0
  715. package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
  716. package/dist/widgets/Activity/utils/cache.js +72 -0
  717. package/dist/widgets/Activity/utils/cache.js.map +1 -0
  718. package/dist/widgets/Activity/utils/constants.d.ts +5 -0
  719. package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
  720. package/dist/widgets/Activity/utils/constants.js +4 -0
  721. package/dist/widgets/Activity/utils/constants.js.map +1 -0
  722. package/dist/widgets/Activity/utils/documents.d.ts +11 -0
  723. package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
  724. package/dist/widgets/Activity/utils/documents.js +38 -0
  725. package/dist/widgets/Activity/utils/documents.js.map +1 -0
  726. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
  727. package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
  728. package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +18 -19
  729. package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
  730. package/dist/widgets/Activity/utils/state.d.ts +44 -0
  731. package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
  732. package/dist/widgets/Activity/utils/state.js +80 -0
  733. package/dist/widgets/Activity/utils/state.js.map +1 -0
  734. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
  735. package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
  736. package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
  737. package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
  738. package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
  739. package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
  740. package/dist/widgets/Activity/utils/usePageSize.js +35 -0
  741. package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
  742. package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
  743. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  744. package/dist/widgets/CollectionCards/index.client.js +3 -0
  745. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  746. package/dist/widgets/CollectionCards/index.d.ts +3 -0
  747. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  748. package/dist/widgets/CollectionCards/index.js +3 -0
  749. package/dist/widgets/CollectionCards/index.js.map +1 -1
  750. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  751. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  752. package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
  753. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  754. package/dist/widgets/CollectionQuery/index.d.ts +3 -0
  755. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
  756. package/dist/widgets/CollectionQuery/index.js +3 -0
  757. package/dist/widgets/CollectionQuery/index.js.map +1 -1
  758. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
  759. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
  760. package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
  761. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
  762. package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
  763. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
  764. package/dist/widgets/UploadDropzone/index.client.js +3 -0
  765. package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
  766. package/dist/widgets/UploadDropzone/index.d.ts +3 -0
  767. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
  768. package/dist/widgets/UploadDropzone/index.js +3 -0
  769. package/dist/widgets/UploadDropzone/index.js.map +1 -1
  770. package/dist/widgets/Welcome/index.d.ts +3 -0
  771. package/dist/widgets/Welcome/index.d.ts.map +1 -1
  772. package/dist/widgets/Welcome/index.js +3 -0
  773. package/dist/widgets/Welcome/index.js.map +1 -1
  774. package/dist/widgets/WidgetCard/index.css +0 -20
  775. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
  776. package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
  777. package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
  778. package/dist/widgets/shared/CollectionFilter/index.js +170 -0
  779. package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
  780. package/package.json +10 -12
  781. package/dist/exports/client/chunk-R7M6BG75.js +0 -27
  782. package/dist/exports/client/chunk-R7M6BG75.js.map +0 -7
  783. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
  784. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
  785. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
  786. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -41
  787. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
  788. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
  789. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -121
  790. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
  791. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
  792. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
  793. package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
  794. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
  795. package/dist/widgets/RecentlyViewed/index.client.js +0 -409
  796. package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
  797. package/dist/widgets/RecentlyViewed/index.css +0 -352
  798. package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
  799. package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
  800. package/dist/widgets/RecentlyViewed/index.js +0 -47
  801. package/dist/widgets/RecentlyViewed/index.js.map +0 -1
  802. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
  803. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
  804. package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
  805. package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
  806. package/dist/widgets/RecentlyViewed/recents.js +0 -19
  807. package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
  808. /package/dist/exports/client/{CodeEditor-I6PL55BF.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
  809. /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","useCallback","useId","useState","useTranslation","ClickableArrow","baseClass","Pagination","props","$","hasNextPage","t0","hasPrevPage","t1","nextPage","t2","onChange","page","t3","prevPage","t4","tableId","totalPages","t5","undefined","currentPage","pageDescriptionID","t","inputValue","setInputValue","String","t6","t7","useEffect","t8","updatePage","t9","Symbol","for","e","target","value","handleInputChange","t10","parsed","parseInt","isNaN","clamped","Math","max","min","handleInputBlur","t11","e_0","key","currentTarget","blur","preventDefault","parsed_0","parsed_1","handleInputKeyDown","isSinglePage","t12","t13","t14","t15","_jsxs","className","children","_jsx","ariaControls","direction","isDisabled","disabled","inputMode","onBlur","onKeyDown","style","width","length","type","id"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useId, useState } from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport './index.css'\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n tableId?: string\n totalPages?: number\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n onChange,\n page: currentPage = 1,\n prevPage = null,\n tableId,\n totalPages = 1,\n } = props\n\n const pageDescriptionID = useId()\n const { t } = useTranslation()\n const [inputValue, setInputValue] = useState(String(currentPage))\n\n // Sync input value when currentPage changes externally\n React.useEffect(() => {\n setInputValue(String(currentPage))\n }, [currentPage])\n\n const updatePage = useCallback(\n (page: number) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n },\n [onChange],\n )\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n }\n\n const handleInputBlur = () => {\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed)) {\n // Clamp to valid range\n const clamped = Math.max(1, Math.min(parsed, totalPages))\n if (clamped !== currentPage) {\n updatePage(clamped)\n } else {\n setInputValue(String(currentPage))\n }\n } else {\n // Reset to current page if not a number\n setInputValue(String(currentPage))\n }\n }\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.currentTarget.blur()\n } else if (e.key === 'Escape') {\n setInputValue(String(currentPage))\n e.currentTarget.blur()\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed < totalPages) {\n setInputValue(String(parsed + 1))\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed > 1) {\n setInputValue(String(parsed - 1))\n }\n }\n }\n\n const isSinglePage = !totalPages || totalPages <= 1\n\n return (\n <div className={baseClass}>\n <ClickableArrow\n ariaControls={tableId}\n direction=\"left\"\n isDisabled={isSinglePage || !hasPrevPage}\n updatePage={() => updatePage(prevPage ?? Math.max(1, currentPage - 1))}\n />\n <ClickableArrow\n ariaControls={tableId}\n direction=\"right\"\n isDisabled={isSinglePage || !hasNextPage}\n updatePage={() => updatePage(nextPage ?? currentPage + 1)}\n />\n <div className={`${baseClass}__page-input-wrapper`}>\n <input\n aria-controls={tableId}\n aria-describedby={pageDescriptionID}\n aria-label={t('general:goToPage')}\n className={`${baseClass}__page-input`}\n disabled={isSinglePage}\n inputMode=\"numeric\"\n max={totalPages}\n min={1}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n style={{ width: `${Math.max(inputValue.length, 1)}ch` }}\n type=\"text\"\n value={inputValue}\n />\n <span className=\"sr-only\" id={pageDescriptionID}>\n {t('general:pageNumberRange', { totalPages: isSinglePage ? 1 : totalPages })}\n </span>\n <span className={`${baseClass}__page-total`}>\n {t('general:of')} {isSinglePage ? 1 : totalPages}\n </span>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useId","useState","useTranslation","ClickableArrow","baseClass","Pagination","props","$","hasNextPage","t0","hasPrevPage","t1","nextPage","t2","onChange","page","t3","prevPage","t4","tableId","totalPages","t5","undefined","currentPage","pageDescriptionID","t","inputValue","setInputValue","String","t6","t7","useEffect","t8","updatePage","t9","Symbol","for","e","target","value","handleInputChange","t10","parsed","parseInt","isNaN","clamped","Math","max","min","handleInputBlur","t11","e_0","key","currentTarget","blur","preventDefault","parsed_0","parsed_1","handleInputKeyDown","isSinglePage","t12","t13","t14","_jsxs","className","children","_jsx","ariaControls","direction","isDisabled","disabled","inputMode","onBlur","onKeyDown","style","width","length","type","id"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useId, useState } from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport './index.css'\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n tableId?: string\n totalPages?: number\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n onChange,\n page: currentPage = 1,\n prevPage = null,\n tableId,\n totalPages = 1,\n } = props\n\n const pageDescriptionID = useId()\n const { t } = useTranslation()\n const [inputValue, setInputValue] = useState(String(currentPage))\n\n // Sync input value when currentPage changes externally\n React.useEffect(() => {\n setInputValue(String(currentPage))\n }, [currentPage])\n\n const updatePage = useCallback(\n (page: number) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n },\n [onChange],\n )\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n }\n\n const handleInputBlur = () => {\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed)) {\n // Clamp to valid range\n const clamped = Math.max(1, Math.min(parsed, totalPages))\n if (clamped !== currentPage) {\n updatePage(clamped)\n } else {\n setInputValue(String(currentPage))\n }\n } else {\n // Reset to current page if not a number\n setInputValue(String(currentPage))\n }\n }\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.currentTarget.blur()\n } else if (e.key === 'Escape') {\n setInputValue(String(currentPage))\n e.currentTarget.blur()\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed < totalPages) {\n setInputValue(String(parsed + 1))\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed > 1) {\n setInputValue(String(parsed - 1))\n }\n }\n }\n\n const isSinglePage = !totalPages || totalPages <= 1\n\n return (\n <div className={baseClass}>\n <ClickableArrow\n ariaControls={tableId}\n direction=\"left\"\n isDisabled={isSinglePage || !hasPrevPage}\n updatePage={() => updatePage(prevPage ?? Math.max(1, currentPage - 1))}\n />\n <ClickableArrow\n ariaControls={tableId}\n direction=\"right\"\n isDisabled={isSinglePage || !hasNextPage}\n updatePage={() => updatePage(nextPage ?? currentPage + 1)}\n />\n <div className={`${baseClass}__page-input-wrapper`}>\n <input\n aria-controls={tableId}\n aria-describedby={pageDescriptionID}\n aria-label={t('general:goToPage')}\n className={`${baseClass}__page-input`}\n disabled={isSinglePage}\n inputMode=\"numeric\"\n max={totalPages}\n min={1}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n style={{ width: `${Math.max(inputValue.length, 1)}ch` }}\n type=\"text\"\n value={inputValue}\n />\n <span className=\"sr-only\" id={pageDescriptionID}>\n {t('general:pageNumberRange', { totalPages: isSinglePage ? 1 : totalPages })}\n </span>\n <span className={`${baseClass}__page-total`}>\n {t('general:of')} {isSinglePage ? 1 : totalPages}\n </span>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,WAAW,EAAEC,KAAK,EAAEC,QAAQ,QAAQ;AAEpD,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAelB,OAAO,MAAMC,UAAA,GAAwCC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACnD;IAAAW,WAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,QAAA;IAAAC,IAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,OAAA;IAAAC,UAAA,EAAAC;EAAA,IASIf,KAAA;EARF,MAAAE,WAAA,GAAAC,EAAmB,KAAnBa,SAAmB,GAAnB,KAAmB,GAAnBb,EAAmB;EACnB,MAAAC,WAAA,GAAAC,EAAmB,KAAnBW,SAAmB,GAAnB,KAAmB,GAAnBX,EAAmB;EACnB,MAAAC,QAAA,GAAAC,EAAe,KAAfS,SAAe,GAAf,IAAe,GAAfT,EAAe;EAET,MAAAU,WAAA,GAAAP,EAAe,KAAfM,SAAe,GAAf,CAAe,GAAfN,EAAe;EACrB,MAAAC,QAAA,GAAAC,EAAe,KAAfI,SAAe,GAAf,IAAe,GAAfJ,EAAe;EAEf,MAAAE,UAAA,GAAAC,EAAc,KAAdC,SAAc,GAAd,CAAc,GAAdD,EAAc;EAGhB,MAAAG,iBAAA,GAA0BxB,KAAA;EAC1B;IAAAyB;EAAA,IAAcvB,cAAA;EACd,OAAAwB,UAAA,EAAAC,aAAA,IAAoC1B,QAAA,CAAS2B,MAAA,CAAOL,WAAA;EAAA,IAAAM,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAvB,CAAA,QAAAgB,WAAA;IAGpCM,EAAA,GAAAA,CAAA;MACdF,aAAA,CAAcC,MAAA,CAAOL,WAAA;IAAA,CACvB;IAAGO,EAAA,IAACP,WAAA,CAAY;IAAAhB,CAAA,MAAAgB,WAAA;IAAAhB,CAAA,MAAAsB,EAAA;IAAAtB,CAAA,MAAAuB,EAAA;EAAA;IAAAD,EAAA,GAAAtB,CAAA;IAAAuB,EAAA,GAAAvB,CAAA;EAAA;EAFhBT,KAAA,CAAAiC,SAAe,CAACF,EAEhB,EAAGC,EAAa;EAAA,IAAAE,EAAA;EAAA,IAAAzB,CAAA,QAAAO,QAAA;IAGdkB,EAAA,GAAAjB,IAAA;MACE,IAAI,OAAOD,QAAA,KAAa;QACtBA,QAAA,CAASC,IAAA;MAAA;IACX,CACF;IAAAR,CAAA,MAAAO,QAAA;IAAAP,CAAA,MAAAyB,EAAA;EAAA;IAAAA,EAAA,GAAAzB,CAAA;EAAA;EALF,MAAA0B,UAAA,GAAmBD,EAMP;EAAA,IAAAE,EAAA;EAAA,IAAA3B,CAAA,QAAA4B,MAAA,CAAAC,GAAA;IAGcF,EAAA,GAAAG,CAAA;MACxBV,aAAA,CAAcU,CAAA,CAAAC,MAAQ,CAAAC,KAAM;IAAA,CAC9B;IAAAhC,CAAA,MAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EAFA,MAAAiC,iBAAA,GAA0BN,EAE1B;EAAA,IAAAO,GAAA;EAAA,IAAAlC,CAAA,QAAAgB,WAAA,IAAAhB,CAAA,QAAAmB,UAAA,IAAAnB,CAAA,QAAAa,UAAA,IAAAb,CAAA,QAAA0B,UAAA;IAEwBQ,GAAA,GAAAA,CAAA;MACtB,MAAAC,MAAA,GAAeC,QAAA,CAASjB,UAAA,EAAY;MACpC,IAAI,CAACkB,KAAA,CAAMF,MAAA;QAET,MAAAG,OAAA,GAAgBC,IAAA,CAAAC,GAAQ,CAAC,GAAGD,IAAA,CAAAE,GAAQ,CAACN,MAAA,EAAQtB,UAAA;QAC7C,IAAIyB,OAAA,KAAYtB,WAAA;UACdU,UAAA,CAAWY,OAAA;QAAA;UAEXlB,aAAA,CAAcC,MAAA,CAAOL,WAAA;QAAA;MACvB;QAGAI,aAAA,CAAcC,MAAA,CAAOL,WAAA;MAAA;IACvB,CACF;IAAAhB,CAAA,MAAAgB,WAAA;IAAAhB,CAAA,MAAAmB,UAAA;IAAAnB,CAAA,MAAAa,UAAA;IAAAb,CAAA,MAAA0B,UAAA;IAAA1B,CAAA,OAAAkC,GAAA;EAAA;IAAAA,GAAA,GAAAlC,CAAA;EAAA;EAdA,MAAA0C,eAAA,GAAwBR,GAcxB;EAAA,IAAAS,GAAA;EAAA,IAAA3C,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAAmB,UAAA,IAAAnB,CAAA,SAAAa,UAAA;IAE2B8B,GAAA,GAAAC,GAAA;MACzB,IAAId,GAAA,CAAAe,GAAK,KAAK;QACZf,GAAA,CAAAgB,aAAe,CAAAC,IAAK;MAAA;QACf,IAAIjB,GAAA,CAAAe,GAAK,KAAK;UACnBzB,aAAA,CAAcC,MAAA,CAAOL,WAAA;UACrBc,GAAA,CAAAgB,aAAe,CAAAC,IAAK;QAAA;UACf,IAAIjB,GAAA,CAAAe,GAAK,KAAK;YACnBf,GAAA,CAAAkB,cAAgB;YAChB,MAAAC,QAAA,GAAeb,QAAA,CAASjB,UAAA,EAAY;YACpC,IAAI,CAACkB,KAAA,CAAMF,QAAA,CAAoB,IAATA,QAAA,GAAStB,UAAA;cAC7BO,aAAA,CAAcC,MAAA,CAAOc,QAAA,GAAS;YAAA;UAChC;YACK,IAAIL,GAAA,CAAAe,GAAK,KAAK;cACnBf,GAAA,CAAAkB,cAAgB;cAChB,MAAAE,QAAA,GAAed,QAAA,CAASjB,UAAA,EAAY;cACpC,IAAI,CAACkB,KAAA,CAAMF,QAAA,CAAoB,IAATA,QAAA,GAAS;gBAC7Bf,aAAA,CAAcC,MAAA,CAAOc,QAAA,GAAS;cAAA;YAChC;UACF;QAAA;MAAA;IAAA,CACF;IAAAnC,CAAA,OAAAgB,WAAA;IAAAhB,CAAA,OAAAmB,UAAA;IAAAnB,CAAA,OAAAa,UAAA;IAAAb,CAAA,OAAA2C,GAAA;EAAA;IAAAA,GAAA,GAAA3C,CAAA;EAAA;EAnBA,MAAAmD,kBAAA,GAA2BR,GAmB3B;EAEA,MAAAS,YAAA,GAAqB,CAACvC,UAA4B,IAAdA,UAAA,IAAc;EAAA,IAAAwC,GAAA;EAAA,IAAArD,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAA0C,eAAA,IAAA1C,CAAA,SAAAmD,kBAAA,IAAAnD,CAAA,SAAAC,WAAA,IAAAD,CAAA,SAAAG,WAAA,IAAAH,CAAA,SAAAmB,UAAA,IAAAnB,CAAA,SAAAoD,YAAA,IAAApD,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAAiB,iBAAA,IAAAjB,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAAkB,CAAA,IAAAlB,CAAA,SAAAY,OAAA,IAAAZ,CAAA,SAAAa,UAAA,IAAAb,CAAA,SAAA0B,UAAA;IAAA,IAAA4B,GAAA;IAAA,IAAAtD,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAA0B,UAAA;MAQhC4B,GAAA,GAAAA,CAAA,KAAM5B,UAAA,CAAWhB,QAAsC,IAA1B6B,IAAA,CAAAC,GAAQ,CAAC,GAAGxB,WAAA,GAAc;MAAAhB,CAAA,OAAAgB,WAAA;MAAAhB,CAAA,OAAAU,QAAA;MAAAV,CAAA,OAAA0B,UAAA;MAAA1B,CAAA,OAAAsD,GAAA;IAAA;MAAAA,GAAA,GAAAtD,CAAA;IAAA;IAAA,IAAAuD,GAAA;IAAA,IAAAvD,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAA0B,UAAA;MAMvD6B,GAAA,GAAAA,CAAA,KAAM7B,UAAA,CAAWrB,QAA0B,IAAdW,WAAA,GAAc;MAAAhB,CAAA,OAAAgB,WAAA;MAAAhB,CAAA,OAAAK,QAAA;MAAAL,CAAA,OAAA0B,UAAA;MAAA1B,CAAA,OAAAuD,GAAA;IAAA;MAAAA,GAAA,GAAAvD,CAAA;IAAA;IAX3DqD,GAAA,GAAAG,KAAA,CAAC;MAAAC,SAAA,EAAe5D,SAAA;MAAA6D,QAAA,E,CACdC,IAAA,CAAC/D,cAAA;QAAAgE,YAAA,EACehD,OAAA;QAAAiD,SAAA,EACJ;QAAAC,UAAA,EACEV,YAAiB,IAAjB,CAAiBjD,WAAA;QAAAuB,UAAA,EACjB4B;UAEdK,IAAA,CAAC/D,cAAA;QAAAgE,YAAA,EACehD,OAAA;QAAAiD,SAAA,EACJ;QAAAC,UAAA,EACEV,YAAiB,IAAjB,CAAiBnD,WAAA;QAAAyB,UAAA,EACjB6B;UAEdC,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAG5D,SAAA,sBAA+B;QAAA6D,QAAA,E,CAChDC,IAAA,CAAC;UAAA,iBACgB/C,OAAA;UAAA,oBACGK,iBAAA;UAAA,cACNC,CAAA,CAAE;UAAAuC,SAAA,EACH,GAAG5D,SAAA,cAAuB;UAAAkE,QAAA,EAC3BX,YAAA;UAAAY,SAAA,EACA;UAAAxB,GAAA,EACL3B,UAAA;UAAA4B,GAAA,EACA;UAAAwB,MAAA,EACGvB,eAAA;UAAAnC,QAAA,EACE0B,iBAAA;UAAAiC,SAAA,EACCf,kBAAA;UAAAgB,KAAA,EACJ;YAAAC,KAAA,EAAS,GAAG7B,IAAA,CAAAC,GAAQ,CAACrB,UAAA,CAAAkD,MAAiB,EAAE;UAAO;UAAAC,IAAA,EACjD;UAAAtC,KAAA,EACEb;YAETwC,IAAA,CAAC;UAAAF,SAAA,EAAe;UAAAc,EAAA,EAActD,iBAAA;UAAAyC,QAAA,EAC3BxC,CAAA,CAAE,2BAA2B;YAAAL,UAAA,EAAcuC,YAAA,IAAmB,GAAnBvC;UAA8B;YAE5E2C,KAAA,CAAC;UAAAC,SAAA,EAAgB,GAAG5D,SAAA,cAAuB;UAAA6D,QAAA,E,CACxCxC,CAAA,CAAE,eAAc,KAAEkC,YAAA,IAAmB,GAAnBvC,UAAmB;;;;;;;;;;;;;;;;;;;;;;SAlC5CwC,G;CAuCJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","collectionDefaults","isNumber","React","ChevronIcon","useTranslation","Button","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","t0","$","defaultLimit","t1","handleChange","limit","t2","tableId","undefined","t","limitToUse","t3","t4","t5","close","_jsx","RadioGroup","children","map","limitNumber","i","RadioGroupItem","active","onClick","t6","onKeyDown","ariaProps","buttonStyle","className","filter","Boolean","join","extraButtonProps","icon","size","_jsxs","horizontalAlign","popupType","render"],"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\nimport { collectionDefaults, isNumber } from 'payload/shared'\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, PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n readonly defaultLimit?: number\n readonly handleChange?: (limit: number) => void\n readonly limit: number\n readonly limits: number[]\n readonly resetPage?: boolean\n readonly tableId?: string\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n tableId,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{t('general:perPageLabel')}</span>\n <Popup\n horizontalAlign=\"right\"\n popupType=\"menu\"\n render={({ close }) => (\n <PopupList.RadioGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.RadioGroupItem\n active={limitNumber === limitToUse}\n key={i}\n onClick={() => {\n close()\n if (handleChange) {\n handleChange(limitNumber)\n }\n }}\n >\n {limitNumber}\n </PopupList.RadioGroupItem>\n ))}\n </PopupList.RadioGroup>\n )}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n {...ariaProps}\n aria-label={t('general:perPage', { limit: limitToUse })}\n buttonStyle=\"secondary\"\n className={[active && `${baseClass}--active`].filter(Boolean).join(' ')}\n extraButtonProps={{\n 'aria-controls': [ariaProps['aria-controls'], tableId].filter(Boolean).join(' '),\n onKeyDown,\n }}\n icon={<ChevronIcon className={`${baseClass}__icon`} size={16} />}\n iconPosition=\"right\"\n onClick={onClick}\n >\n {limitToUse}\n </Button>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","collectionDefaults","isNumber","React","ChevronIcon","useTranslation","Button","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","t0","$","defaultLimit","t1","handleChange","limit","t2","tableId","undefined","t","limitToUse","t3","t4","t5","close","_jsx","RadioGroup","children","map","limitNumber","i","RadioGroupItem","active","onClick","t6","onKeyDown","ariaProps","buttonStyle","className","filter","Boolean","join","extraButtonProps","icon","size","_jsxs","horizontalAlign","popupType","render"],"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\nimport { collectionDefaults, isNumber } from 'payload/shared'\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, PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n readonly defaultLimit?: number\n readonly handleChange?: (limit: number) => void\n readonly limit: number\n readonly limits: number[]\n readonly resetPage?: boolean\n readonly tableId?: string\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n tableId,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{t('general:perPageLabel')}</span>\n <Popup\n horizontalAlign=\"right\"\n popupType=\"menu\"\n render={({ close }) => (\n <PopupList.RadioGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.RadioGroupItem\n active={limitNumber === limitToUse}\n key={i}\n onClick={() => {\n close()\n if (handleChange) {\n handleChange(limitNumber)\n }\n }}\n >\n {limitNumber}\n </PopupList.RadioGroupItem>\n ))}\n </PopupList.RadioGroup>\n )}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n {...ariaProps}\n aria-label={t('general:perPage', { limit: limitToUse })}\n buttonStyle=\"secondary\"\n className={[active && `${baseClass}--active`].filter(Boolean).join(' ')}\n extraButtonProps={{\n 'aria-controls': [ariaProps['aria-controls'], tableId].filter(Boolean).join(' '),\n onKeyDown,\n }}\n icon={<ChevronIcon className={`${baseClass}__icon`} size={16} />}\n iconPosition=\"right\"\n onClick={onClick}\n >\n {limitToUse}\n </Button>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","pillStyle","rounded","size","classes","_jsxs","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { HTMLAttributes } from 'react'\n\nimport React from 'react'\n\nexport type PillStyle =\n | 'always-white'\n | 'dark'\n | 'error'\n | 'light'\n | 'light-gray'\n | 'success'\n | 'warning'\n | 'white'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n /**\n * @default 'light'\n */\n pillStyle?: PillStyle\n rounded?: boolean\n size?: 'medium' | 'small'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.css'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n id,\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n pillStyle = 'light',\n rounded,\n size = 'medium',\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n `${baseClass}--size-${size}`,\n className && className,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n id={id}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {Boolean(icon) && <span className={`${baseClass}__icon`}>{icon}</span>}\n </div>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","pillStyle","rounded","size","classes","_jsxs","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { HTMLAttributes } from 'react'\n\nimport React from 'react'\n\nexport type PillStyle =\n | 'always-white'\n | 'dark'\n | 'error'\n | 'light'\n | 'light-gray'\n | 'success'\n | 'warning'\n | 'white'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n /**\n * @default 'light'\n */\n pillStyle?: PillStyle\n rounded?: boolean\n size?: 'medium' | 'small'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.css'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n id,\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n pillStyle = 'light',\n rounded,\n size = 'medium',\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n `${baseClass}--size-${size}`,\n className && className,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n id={id}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {Boolean(icon) && <span className={`${baseClass}__icon`}>{icon}</span>}\n </div>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,21 +1,19 @@
1
1
  export type SubmenuNode = {
2
2
  closeBranch: () => void;
3
3
  id: string;
4
+ isPointerProtected?: () => boolean;
4
5
  open: (viaKeyboard: boolean) => void;
5
6
  };
6
7
  export type SubmenuScope = {
7
8
  activeChildId: null | string;
8
- cancelPending: (id?: string) => void;
9
9
  closeActiveBranch: () => void;
10
10
  register: (node: SubmenuNode) => () => void;
11
11
  release: (id: string) => void;
12
12
  requestOpen: (args: {
13
- delay: boolean;
14
13
  id: string;
15
14
  viaKeyboard?: boolean;
15
+ viaPointer?: boolean;
16
16
  }) => void;
17
17
  };
18
- export declare const createSubmenuScope: ({ hoverDelay, }?: {
19
- hoverDelay?: number;
20
- }) => SubmenuScope;
18
+ export declare const createSubmenuScope: () => SubmenuScope;
21
19
  //# sourceMappingURL=SubmenuScope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubmenuScope.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/SubmenuScope.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,IAAI,CAAA;IAC3C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;CACnF,CAAA;AAID,eAAO,MAAM,kBAAkB,qBAE5B;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KAAQ,YA8EjC,CAAA"}
1
+ {"version":3,"file":"SubmenuScope.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/SubmenuScope.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;IAClC,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,IAAI,CAAA;IAC3C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;CACzF,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAO,YAyCrC,CAAA"}
@@ -1,50 +1,17 @@
1
- const DEFAULT_HOVER_DELAY = 150;
2
- export const createSubmenuScope = ({
3
- hoverDelay = DEFAULT_HOVER_DELAY
4
- } = {}) => {
1
+ export const createSubmenuScope = () => {
5
2
  const nodes = new Map();
6
3
  let activeChildId = null;
7
- let pendingChildId = null;
8
- let pendingTimer;
9
- const cancelPending = id => {
10
- if (id && pendingChildId !== id) {
11
- return;
12
- }
13
- if (pendingTimer) {
14
- clearTimeout(pendingTimer);
15
- }
16
- pendingTimer = undefined;
17
- pendingChildId = null;
18
- };
19
- const activate = ({
20
- id,
21
- viaKeyboard = false
22
- }) => {
23
- cancelPending();
24
- const node = nodes.get(id);
25
- if (!node) {
26
- return;
27
- }
28
- if (activeChildId !== id) {
29
- nodes.get(activeChildId ?? '')?.closeBranch();
30
- activeChildId = id;
31
- }
32
- node.open(viaKeyboard);
33
- };
34
4
  return {
35
5
  get activeChildId() {
36
6
  return activeChildId;
37
7
  },
38
- cancelPending,
39
8
  closeActiveBranch: () => {
40
- cancelPending();
41
9
  nodes.get(activeChildId ?? '')?.closeBranch();
42
10
  activeChildId = null;
43
11
  },
44
12
  register: node => {
45
13
  nodes.set(node.id, node);
46
14
  return () => {
47
- cancelPending(node.id);
48
15
  if (activeChildId === node.id) {
49
16
  activeChildId = null;
50
17
  }
@@ -52,37 +19,26 @@ export const createSubmenuScope = ({
52
19
  };
53
20
  },
54
21
  release: id => {
55
- cancelPending(id);
56
22
  if (activeChildId === id) {
57
23
  activeChildId = null;
58
24
  }
59
25
  },
60
26
  requestOpen: ({
61
27
  id,
62
- delay,
63
- viaKeyboard = false
28
+ viaKeyboard = false,
29
+ viaPointer = false
64
30
  }) => {
65
- if (!delay) {
66
- activate({
67
- id,
68
- viaKeyboard
69
- });
31
+ if (activeChildId === id) {
70
32
  return;
71
33
  }
72
- if (activeChildId === id) {
73
- cancelPending();
34
+ const node = nodes.get(id);
35
+ const activeNode = nodes.get(activeChildId ?? '');
36
+ if (!node || viaPointer && activeNode?.isPointerProtected?.()) {
74
37
  return;
75
38
  }
76
- cancelPending();
77
- pendingChildId = id;
78
- pendingTimer = setTimeout(() => {
79
- pendingTimer = undefined;
80
- pendingChildId = null;
81
- activate({
82
- id,
83
- viaKeyboard
84
- });
85
- }, hoverDelay);
39
+ activeNode?.closeBranch();
40
+ activeChildId = id;
41
+ node.open(viaKeyboard);
86
42
  }
87
43
  };
88
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SubmenuScope.js","names":["DEFAULT_HOVER_DELAY","createSubmenuScope","hoverDelay","nodes","Map","activeChildId","pendingChildId","pendingTimer","cancelPending","id","clearTimeout","undefined","activate","viaKeyboard","node","get","closeBranch","open","closeActiveBranch","register","set","delete","release","requestOpen","delay","setTimeout"],"sources":["../../../src/elements/Popup/SubmenuScope.ts"],"sourcesContent":["export type SubmenuNode = {\n closeBranch: () => void\n id: string\n open: (viaKeyboard: boolean) => void\n}\n\nexport type SubmenuScope = {\n activeChildId: null | string\n cancelPending: (id?: string) => void\n closeActiveBranch: () => void\n register: (node: SubmenuNode) => () => void\n release: (id: string) => void\n requestOpen: (args: { delay: boolean; id: string; viaKeyboard?: boolean }) => void\n}\n\nconst DEFAULT_HOVER_DELAY = 150\n\nexport const createSubmenuScope = ({\n hoverDelay = DEFAULT_HOVER_DELAY,\n}: { hoverDelay?: number } = {}): SubmenuScope => {\n const nodes = new Map<string, SubmenuNode>()\n let activeChildId: null | string = null\n let pendingChildId: null | string = null\n let pendingTimer: ReturnType<typeof setTimeout> | undefined\n\n const cancelPending = (id?: string) => {\n if (id && pendingChildId !== id) {\n return\n }\n\n if (pendingTimer) {\n clearTimeout(pendingTimer)\n }\n pendingTimer = undefined\n pendingChildId = null\n }\n\n const activate = ({ id, viaKeyboard = false }: { id: string; viaKeyboard?: boolean }) => {\n cancelPending()\n const node = nodes.get(id)\n if (!node) {\n return\n }\n\n if (activeChildId !== id) {\n nodes.get(activeChildId ?? '')?.closeBranch()\n activeChildId = id\n }\n node.open(viaKeyboard)\n }\n\n return {\n get activeChildId() {\n return activeChildId\n },\n cancelPending,\n closeActiveBranch: () => {\n cancelPending()\n nodes.get(activeChildId ?? '')?.closeBranch()\n activeChildId = null\n },\n register: (node) => {\n nodes.set(node.id, node)\n return () => {\n cancelPending(node.id)\n if (activeChildId === node.id) {\n activeChildId = null\n }\n nodes.delete(node.id)\n }\n },\n release: (id) => {\n cancelPending(id)\n if (activeChildId === id) {\n activeChildId = null\n }\n },\n requestOpen: ({ id, delay, viaKeyboard = false }) => {\n if (!delay) {\n activate({ id, viaKeyboard })\n return\n }\n\n if (activeChildId === id) {\n cancelPending()\n return\n }\n\n cancelPending()\n pendingChildId = id\n pendingTimer = setTimeout(() => {\n pendingTimer = undefined\n pendingChildId = null\n activate({ id, viaKeyboard })\n }, hoverDelay)\n },\n }\n}\n"],"mappings":"AAeA,MAAMA,mBAAA,GAAsB;AAE5B,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,UAAA,GAAaF;AAAmB,CACR,GAAG,CAAC,CAAC;EAC7B,MAAMG,KAAA,GAAQ,IAAIC,GAAA;EAClB,IAAIC,aAAA,GAA+B;EACnC,IAAIC,cAAA,GAAgC;EACpC,IAAIC,YAAA;EAEJ,MAAMC,aAAA,GAAiBC,EAAA;IACrB,IAAIA,EAAA,IAAMH,cAAA,KAAmBG,EAAA,EAAI;MAC/B;IACF;IAEA,IAAIF,YAAA,EAAc;MAChBG,YAAA,CAAaH,YAAA;IACf;IACAA,YAAA,GAAeI,SAAA;IACfL,cAAA,GAAiB;EACnB;EAEA,MAAMM,QAAA,GAAWA,CAAC;IAAEH,EAAE;IAAEI,WAAA,GAAc;EAAK,CAAyC;IAClFL,aAAA;IACA,MAAMM,IAAA,GAAOX,KAAA,CAAMY,GAAG,CAACN,EAAA;IACvB,IAAI,CAACK,IAAA,EAAM;MACT;IACF;IAEA,IAAIT,aAAA,KAAkBI,EAAA,EAAI;MACxBN,KAAA,CAAMY,GAAG,CAACV,aAAA,IAAiB,KAAKW,WAAA;MAChCX,aAAA,GAAgBI,EAAA;IAClB;IACAK,IAAA,CAAKG,IAAI,CAACJ,WAAA;EACZ;EAEA,OAAO;IACL,IAAIR,cAAA,EAAgB;MAClB,OAAOA,aAAA;IACT;IACAG,aAAA;IACAU,iBAAA,EAAmBA,CAAA;MACjBV,aAAA;MACAL,KAAA,CAAMY,GAAG,CAACV,aAAA,IAAiB,KAAKW,WAAA;MAChCX,aAAA,GAAgB;IAClB;IACAc,QAAA,EAAWL,IAAA;MACTX,KAAA,CAAMiB,GAAG,CAACN,IAAA,CAAKL,EAAE,EAAEK,IAAA;MACnB,OAAO;QACLN,aAAA,CAAcM,IAAA,CAAKL,EAAE;QACrB,IAAIJ,aAAA,KAAkBS,IAAA,CAAKL,EAAE,EAAE;UAC7BJ,aAAA,GAAgB;QAClB;QACAF,KAAA,CAAMkB,MAAM,CAACP,IAAA,CAAKL,EAAE;MACtB;IACF;IACAa,OAAA,EAAUb,EAAA;MACRD,aAAA,CAAcC,EAAA;MACd,IAAIJ,aAAA,KAAkBI,EAAA,EAAI;QACxBJ,aAAA,GAAgB;MAClB;IACF;IACAkB,WAAA,EAAaA,CAAC;MAAEd,EAAE;MAAEe,KAAK;MAAEX,WAAA,GAAc;IAAK,CAAE;MAC9C,IAAI,CAACW,KAAA,EAAO;QACVZ,QAAA,CAAS;UAAEH,EAAA;UAAII;QAAY;QAC3B;MACF;MAEA,IAAIR,aAAA,KAAkBI,EAAA,EAAI;QACxBD,aAAA;QACA;MACF;MAEAA,aAAA;MACAF,cAAA,GAAiBG,EAAA;MACjBF,YAAA,GAAekB,UAAA,CAAW;QACxBlB,YAAA,GAAeI,SAAA;QACfL,cAAA,GAAiB;QACjBM,QAAA,CAAS;UAAEH,EAAA;UAAII;QAAY;MAC7B,GAAGX,UAAA;IACL;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"SubmenuScope.js","names":["createSubmenuScope","nodes","Map","activeChildId","closeActiveBranch","get","closeBranch","register","node","set","id","delete","release","requestOpen","viaKeyboard","viaPointer","activeNode","isPointerProtected","open"],"sources":["../../../src/elements/Popup/SubmenuScope.ts"],"sourcesContent":["export type SubmenuNode = {\n closeBranch: () => void\n id: string\n isPointerProtected?: () => boolean\n open: (viaKeyboard: boolean) => void\n}\n\nexport type SubmenuScope = {\n activeChildId: null | string\n closeActiveBranch: () => void\n register: (node: SubmenuNode) => () => void\n release: (id: string) => void\n requestOpen: (args: { id: string; viaKeyboard?: boolean; viaPointer?: boolean }) => void\n}\n\nexport const createSubmenuScope = (): SubmenuScope => {\n const nodes = new Map<string, SubmenuNode>()\n let activeChildId: null | string = null\n\n return {\n get activeChildId() {\n return activeChildId\n },\n closeActiveBranch: () => {\n nodes.get(activeChildId ?? '')?.closeBranch()\n activeChildId = null\n },\n register: (node) => {\n nodes.set(node.id, node)\n return () => {\n if (activeChildId === node.id) {\n activeChildId = null\n }\n nodes.delete(node.id)\n }\n },\n release: (id) => {\n if (activeChildId === id) {\n activeChildId = null\n }\n },\n requestOpen: ({ id, viaKeyboard = false, viaPointer = false }) => {\n if (activeChildId === id) {\n return\n }\n const node = nodes.get(id)\n const activeNode = nodes.get(activeChildId ?? '')\n\n if (!node || (viaPointer && activeNode?.isPointerProtected?.())) {\n return\n }\n activeNode?.closeBranch()\n activeChildId = id\n node.open(viaKeyboard)\n },\n }\n}\n"],"mappings":"AAeA,OAAO,MAAMA,kBAAA,GAAqBA,CAAA;EAChC,MAAMC,KAAA,GAAQ,IAAIC,GAAA;EAClB,IAAIC,aAAA,GAA+B;EAEnC,OAAO;IACL,IAAIA,cAAA,EAAgB;MAClB,OAAOA,aAAA;IACT;IACAC,iBAAA,EAAmBA,CAAA;MACjBH,KAAA,CAAMI,GAAG,CAACF,aAAA,IAAiB,KAAKG,WAAA;MAChCH,aAAA,GAAgB;IAClB;IACAI,QAAA,EAAWC,IAAA;MACTP,KAAA,CAAMQ,GAAG,CAACD,IAAA,CAAKE,EAAE,EAAEF,IAAA;MACnB,OAAO;QACL,IAAIL,aAAA,KAAkBK,IAAA,CAAKE,EAAE,EAAE;UAC7BP,aAAA,GAAgB;QAClB;QACAF,KAAA,CAAMU,MAAM,CAACH,IAAA,CAAKE,EAAE;MACtB;IACF;IACAE,OAAA,EAAUF,EAAA;MACR,IAAIP,aAAA,KAAkBO,EAAA,EAAI;QACxBP,aAAA,GAAgB;MAClB;IACF;IACAU,WAAA,EAAaA,CAAC;MAAEH,EAAE;MAAEI,WAAA,GAAc,KAAK;MAAEC,UAAA,GAAa;IAAK,CAAE;MAC3D,IAAIZ,aAAA,KAAkBO,EAAA,EAAI;QACxB;MACF;MACA,MAAMF,IAAA,GAAOP,KAAA,CAAMI,GAAG,CAACK,EAAA;MACvB,MAAMM,UAAA,GAAaf,KAAA,CAAMI,GAAG,CAACF,aAAA,IAAiB;MAE9C,IAAI,CAACK,IAAA,IAASO,UAAA,IAAcC,UAAA,EAAYC,kBAAA,MAAyB;QAC/D;MACF;MACAD,UAAA,EAAYV,WAAA;MACZH,aAAA,GAAgBO,EAAA;MAChBF,IAAA,CAAKU,IAAI,CAACJ,WAAA;IACZ;EACF;AACF","ignoreList":[]}
@@ -49,6 +49,21 @@
49
49
  color: var(--popup-text, var(--color-text-ontooltip));
50
50
  }
51
51
 
52
+ .popup__content[data-submenu-safe-area] {
53
+ overflow: visible;
54
+ }
55
+
56
+ .popup__content[data-submenu-safe-area]::before {
57
+ /* Debug safe area: uncomment to show the protected path.
58
+ background-color: color-mix(in srgb, var(--color-bg-assistive) 35%, transparent);
59
+ */
60
+ content: '';
61
+ position: fixed;
62
+ inset: 0;
63
+ clip-path: var(--popup-safe-area);
64
+ pointer-events: none;
65
+ }
66
+
52
67
  .popup__content.popup--size-small {
53
68
  min-width: 80px;
54
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAY,aAAa,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD,OAAO,KAA8E,MAAM,OAAO,CAAA;AAIlG,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,sBAAsB,EAAgB,MAAM,yBAAyB,CAAA;AAyCnF,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACjC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACzD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAA;IACjE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAA;IACxC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IACjC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAyoBtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAY,aAAa,EAAE,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD,OAAO,KASN,MAAM,OAAO,CAAA;AAKd,OAAO,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,sBAAsB,EAAgB,MAAM,yBAAyB,CAAA;AAyCnF,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACjC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACzD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAA;IACjE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAA;IACxC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IACjC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA0rBtC,CAAA"}
@@ -2,8 +2,9 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
4
  export * as PopupList from './PopupButtonList/index.js';
5
- import React, { createContext, use, useCallback, useEffect, useId, useRef, useState } from 'react';
5
+ import React, { createContext, use, useCallback, useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
6
6
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
7
+ import { useModalFocus } from '../../providers/ModalFocus/index.js';
7
8
  import { ThemeProvider } from '../../providers/Theme/index.js';
8
9
  import './index.css';
9
10
  import { PopupTrigger } from './PopupTrigger/index.js';
@@ -56,7 +57,21 @@ export const Popup = props => {
56
57
  verticalAlign = 'bottom'
57
58
  } = props;
58
59
  const popupRef = useRef(null);
60
+ const containerRef = useRef(null);
59
61
  const triggerRef = useRef(null);
62
+ const {
63
+ registerPopup
64
+ } = useModalFocus();
65
+ const getTrigger = useCallback(() => triggerRef.current?.querySelector('button, [tabindex="0"]') ?? null, []);
66
+ useLayoutEffect(() => {
67
+ const container = containerRef.current;
68
+ if (container) {
69
+ return registerPopup({
70
+ container,
71
+ getTrigger
72
+ });
73
+ }
74
+ }, [getTrigger, registerPopup]);
60
75
  const generatedContentId = useId();
61
76
  const contentId = `${id || generatedContentId}-content`;
62
77
  /**
@@ -79,7 +94,6 @@ export const Popup = props => {
79
94
  if (coordinateParent && isSubmenu) {
80
95
  parentPopup.submenuScope.requestOpen({
81
96
  id: contentId,
82
- delay: false,
83
97
  viaKeyboard
84
98
  });
85
99
  return;
@@ -95,12 +109,12 @@ export const Popup = props => {
95
109
  const closePopup = useCallback(({
96
110
  restoreFocus = true
97
111
  } = {}) => {
98
- const trigger = triggerRef.current?.querySelector('button, [tabindex="0"]');
112
+ const trigger = getTrigger();
99
113
  setActive(false);
100
114
  if (restoreFocus) {
101
115
  requestAnimationFrame(() => trigger?.focus());
102
116
  }
103
- }, [setActive]);
117
+ }, [getTrigger, setActive]);
104
118
  const close = useCallback(() => closePopup(), [closePopup]);
105
119
  const closePopupChain = useCallback((options = {}) => {
106
120
  if (parentPopup) {
@@ -113,27 +127,67 @@ export const Popup = props => {
113
127
  closePopup(options);
114
128
  }, [closePopup, parentPopup]);
115
129
  const openFromParent = useCallback(viaKeyboard_0 => setActive(true, viaKeyboard_0, false), [setActive]);
116
- useEffect(() => {
117
- if (!isSubmenu) {
118
- return;
119
- }
120
- return parentPopup.submenuScope.register({
121
- id: contentId,
122
- closeBranch: () => closePopup({
123
- restoreFocus: false
124
- }),
125
- open: openFromParent
130
+ const closeFromPointer = useCallback(() => {
131
+ const hasFocus = popupRef.current?.contains(document.activeElement);
132
+ const trigger_0 = triggerRef.current?.querySelector('[aria-haspopup="menu"]');
133
+ closePopup({
134
+ restoreFocus: false
126
135
  });
127
- }, [closePopup, contentId, isSubmenu, openFromParent, parentPopup]);
136
+ if (hasFocus) {
137
+ trigger_0?.focus();
138
+ }
139
+ }, [closePopup]);
128
140
  const pointerIntent = useSubmenuPointerIntent({
141
+ active,
129
142
  contentRef: popupRef,
130
143
  enabled: isSubmenu && hoverSubmenu,
131
- onClose: () => setActive(false),
144
+ onClose: closeFromPointer,
132
145
  onOpen: () => parentPopup?.submenuScope.requestOpen({
133
146
  id: contentId,
134
- delay: Boolean(parentPopup.submenuScope.activeChildId)
135
- })
147
+ viaPointer: true
148
+ }),
149
+ onSafeAreaExpire: ({
150
+ x,
151
+ y
152
+ }) => {
153
+ const target = document.elementFromPoint(x, y);
154
+ const parentContent = parentPopup?.popupRef.current;
155
+ if (parentContent && target?.closest(POPUP_CONTENT_SELECTOR) === parentContent) {
156
+ const trigger_1 = target.closest('.popup__submenu-hover-watch')?.querySelector('[aria-haspopup="menu"][aria-controls]');
157
+ const siblingId = trigger_1?.getAttribute('aria-controls');
158
+ if (siblingId && trigger_1?.getAttribute('aria-disabled') !== 'true') {
159
+ parentPopup?.submenuScope.requestOpen({
160
+ id: siblingId
161
+ });
162
+ return;
163
+ }
164
+ }
165
+ closeFromPointer();
166
+ },
167
+ triggerRef
168
+ });
169
+ const submenuCallbacks = useRef({
170
+ closeFromPointer,
171
+ openFromParent
136
172
  });
173
+ const parentSubmenuScope = parentPopup?.submenuScope;
174
+ useEffect(() => {
175
+ submenuCallbacks.current = {
176
+ closeFromPointer,
177
+ openFromParent
178
+ };
179
+ }, [closeFromPointer, openFromParent]);
180
+ useEffect(() => {
181
+ if (!isSubmenu || !parentSubmenuScope) {
182
+ return;
183
+ }
184
+ return parentSubmenuScope.register({
185
+ id: contentId,
186
+ closeBranch: () => submenuCallbacks.current.closeFromPointer(),
187
+ isPointerProtected: pointerIntent.isProtected,
188
+ open: viaKeyboard_1 => submenuCallbacks.current.openFromParent(viaKeyboard_1)
189
+ });
190
+ }, [contentId, isSubmenu, parentSubmenuScope, pointerIntent.isProtected]);
137
191
  // /////////////////////////////////////
138
192
  // Position Calculation
139
193
  //
@@ -142,12 +196,12 @@ export const Popup = props => {
142
196
  // styles if the calculated position differs from current position.
143
197
  // /////////////////////////////////////
144
198
  const updatePosition = useEffectEvent(() => {
145
- const trigger_0 = triggerRef.current;
199
+ const trigger_2 = triggerRef.current;
146
200
  const popup = popupRef.current;
147
- if (!trigger_0 || !popup) {
201
+ if (!trigger_2 || !popup) {
148
202
  return;
149
203
  }
150
- const triggerRect = trigger_0.getBoundingClientRect();
204
+ const triggerRect = trigger_2.getBoundingClientRect();
151
205
  const popupRect = popup.getBoundingClientRect();
152
206
  // Gap between the popup and the trigger/viewport edges (in pixels)
153
207
  const offset = 8;
@@ -260,6 +314,7 @@ export const Popup = props => {
260
314
  if (popup.style.getPropertyValue('--caret-left') !== newCaretLeft) {
261
315
  popup.style.setProperty('--caret-left', newCaretLeft);
262
316
  }
317
+ pointerIntent.updateSafeArea();
263
318
  });
264
319
  // /////////////////////////////////////
265
320
  // Click Outside Handler
@@ -269,11 +324,11 @@ export const Popup = props => {
269
324
  // - Click in parent popup: child closes
270
325
  // /////////////////////////////////////
271
326
  const handleClickOutside = useEffectEvent(e => {
272
- const target = e.target;
273
- const isOutsidePopup = !popupRef.current?.contains(target);
274
- const isOutsideTrigger = !triggerRef.current?.contains(target);
327
+ const target_0 = e.target;
328
+ const isOutsidePopup = !popupRef.current?.contains(target_0);
329
+ const isOutsideTrigger = !triggerRef.current?.contains(target_0);
275
330
  // Check if click is inside a popup portal
276
- const clickedPopupContent = target.closest?.('.popup__content');
331
+ const clickedPopupContent = target_0.closest?.('.popup__content');
277
332
  // If the clicked popup contains this popup's trigger, it's a parent popup
278
333
  // and we should close. If it doesn't contain our trigger, it's a child popup
279
334
  // and we should stay open to avoid closing parent when interacting with child.
@@ -306,8 +361,8 @@ export const Popup = props => {
306
361
  return;
307
362
  }
308
363
  if (e_0.key === 'ArrowRight' && popupRole === 'menu') {
309
- const trigger_1 = document.activeElement?.closest(`.${baseClass}__trigger-wrap`);
310
- const nestedTrigger = trigger_1?.querySelector('button, [role="menuitem"]');
364
+ const trigger_3 = document.activeElement?.closest(`.${baseClass}__trigger-wrap`);
365
+ const nestedTrigger = trigger_3?.querySelector('button, [role="menuitem"]');
311
366
  if (nestedTrigger) {
312
367
  e_0.preventDefault();
313
368
  nestedTrigger.dispatchEvent(new KeyboardEvent('keydown', {
@@ -368,13 +423,13 @@ export const Popup = props => {
368
423
  // Closes popup when buttons/links inside are clicked (includes Enter/Space activation).
369
424
  // /////////////////////////////////////
370
425
  const handleActionableClick = useEffectEvent(e_1 => {
371
- const target_0 = e_1.target;
426
+ const target_1 = e_1.target;
372
427
  // Allow opting out with data-popup-prevent-close attribute on element or ancestor
373
- if (target_0.closest('[data-popup-prevent-close]')) {
428
+ if (target_1.closest('[data-popup-prevent-close]')) {
374
429
  return;
375
430
  }
376
431
  // Check if the clicked element or any ancestor is an actionable element
377
- const actionable = target_0.closest('button, a[href], [role="button"], [role="menuitem"]');
432
+ const actionable = target_1.closest('button, a[href], [role="button"], [role="menuitem"]');
378
433
  if (actionable && popupRef.current?.contains(actionable)) {
379
434
  if (actionable.closest(`.${baseClass}__content`) !== popupRef.current) {
380
435
  return;
@@ -493,6 +548,7 @@ export const Popup = props => {
493
548
  return /*#__PURE__*/_jsxs("div", {
494
549
  className: [baseClass, className].filter(Boolean).join(' '),
495
550
  id: id,
551
+ ref: containerRef,
496
552
  children: [/*#__PURE__*/_jsx("div", {
497
553
  className: `${baseClass}__trigger-wrap`,
498
554
  ref: triggerRef,
@@ -504,7 +560,7 @@ export const Popup = props => {
504
560
  tabIndex: 0,
505
561
  children: Trigger
506
562
  }) : hoverSubmenu && isSubmenu ? /*#__PURE__*/_jsx("div", {
507
- ...pointerIntent,
563
+ ...pointerIntent.triggerProps,
508
564
  className: `${baseClass}__submenu-hover-watch`,
509
565
  children: Trigger
510
566
  }) : Trigger
@@ -516,6 +572,7 @@ export const Popup = props => {
516
572
  submenuScope
517
573
  },
518
574
  children: /*#__PURE__*/_jsxs("div", {
575
+ ...pointerIntent.contentProps,
519
576
  "aria-label": popupAriaLabel,
520
577
  className: active ? [`${baseClass}__content`, `${baseClass}--size-${size}`, resolvedSide ? `${baseClass}--side-${resolvedSide}` : isOnTop ? `${baseClass}--v-top` : `${baseClass}--v-bottom`, portalClassName].filter(Boolean).join(' ') :
521
578
  // tests do not accidentally target inactive popups.
@@ -523,8 +580,6 @@ export const Popup = props => {
523
580
  "data-popup-id": id || undefined,
524
581
  "data-theme": theme === 'auto' ? undefined : theme,
525
582
  id: contentId,
526
- onMouseEnter: pointerIntent.onMouseEnter,
527
- onMouseLeave: pointerIntent.onMouseLeave,
528
583
  popover: "manual",
529
584
  ref: popupRef,
530
585
  role: popupRole,