@payloadcms/ui 4.0.0-internal.656159a → 4.0.0-internal.697830c

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 (386) hide show
  1. package/dist/elements/APIKeyInput/index.css +4 -4
  2. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  3. package/dist/elements/AppHeader/index.css +15 -2
  4. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  5. package/dist/elements/AppHeader/index.js +9 -5
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  9. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  10. package/dist/elements/CodeEditor/index.css +0 -5
  11. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  12. package/dist/elements/ColumnSelection/Popup.js +1 -5
  13. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  14. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  15. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  16. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentControls/index.css +2 -0
  18. package/dist/elements/DocumentControls/index.d.ts +2 -2
  19. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentControls/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  22. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  26. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentLocked/index.js.map +1 -1
  28. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  29. package/dist/elements/Drawer/index.d.ts.map +1 -1
  30. package/dist/elements/Drawer/index.js +0 -1
  31. package/dist/elements/Drawer/index.js.map +1 -1
  32. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  33. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  34. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  35. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  36. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  37. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  38. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  39. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  40. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  41. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  42. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  43. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  44. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  45. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  46. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  47. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  48. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  49. package/dist/elements/Locked/index.css +4 -7
  50. package/dist/elements/Locked/index.d.ts +2 -2
  51. package/dist/elements/Locked/index.d.ts.map +1 -1
  52. package/dist/elements/Locked/index.js +53 -66
  53. package/dist/elements/Locked/index.js.map +1 -1
  54. package/dist/elements/Nav/NavToggler/index.css +12 -0
  55. package/dist/elements/Nav/NavToggler/index.d.ts +9 -0
  56. package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -0
  57. package/dist/elements/Nav/NavToggler/index.js +91 -0
  58. package/dist/elements/Nav/NavToggler/index.js.map +1 -0
  59. package/dist/elements/Nav/index.css +5 -0
  60. package/dist/elements/Pagination/index.css +0 -5
  61. package/dist/elements/Pagination/index.d.ts.map +1 -1
  62. package/dist/elements/Pagination/index.js +21 -21
  63. package/dist/elements/Pagination/index.js.map +1 -1
  64. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  65. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  66. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  67. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  68. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  69. package/dist/elements/ReactSelect/getMenuListStyles.js +5 -13
  70. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  71. package/dist/elements/ReactSelect/index.css +1 -8
  72. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  73. package/dist/elements/ReactSelect/index.js +101 -24
  74. package/dist/elements/ReactSelect/index.js.map +1 -1
  75. package/dist/elements/ReactSelect/types.d.ts +2 -1
  76. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  77. package/dist/elements/ReactSelect/types.js.map +1 -1
  78. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  79. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  80. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  81. package/dist/elements/Search/ListSearchFilter/index.js +0 -1
  82. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  83. package/dist/elements/Search/SearchInput/index.d.ts +0 -2
  84. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  85. package/dist/elements/Search/SearchInput/index.js +18 -21
  86. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  87. package/dist/elements/SelectAll/index.css +1 -3
  88. package/dist/elements/SelectRow/index.d.ts +2 -2
  89. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  90. package/dist/elements/SelectRow/index.js.map +1 -1
  91. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  92. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  93. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  94. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  95. package/dist/elements/Table/index.css +0 -18
  96. package/dist/elements/Tabs/index.d.ts.map +1 -1
  97. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  98. package/dist/elements/Upload/index.d.ts.map +1 -1
  99. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  100. package/dist/elements/UserMenu/SubMenuHeader/index.js +9 -8
  101. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  102. package/dist/elements/UserMenu/index.css +1 -26
  103. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  104. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  105. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  106. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  107. package/dist/exports/client/index.d.ts +1 -0
  108. package/dist/exports/client/index.d.ts.map +1 -1
  109. package/dist/exports/client/index.js +1 -1
  110. package/dist/exports/client/index.js.map +3 -3
  111. package/dist/exports/layouts.d.ts +0 -1
  112. package/dist/exports/layouts.d.ts.map +1 -1
  113. package/dist/exports/layouts.js +0 -1
  114. package/dist/exports/layouts.js.map +1 -1
  115. package/dist/exports/shared/index.d.ts +0 -1
  116. package/dist/exports/shared/index.d.ts.map +1 -1
  117. package/dist/exports/shared/index.js +2 -2
  118. package/dist/exports/shared/index.js.map +4 -4
  119. package/dist/fields/Array/index.d.ts +1 -1
  120. package/dist/fields/Array/index.d.ts.map +1 -1
  121. package/dist/fields/Array/index.js +4 -7
  122. package/dist/fields/Array/index.js.map +1 -1
  123. package/dist/fields/Blocks/index.d.ts +1 -1
  124. package/dist/fields/Blocks/index.d.ts.map +1 -1
  125. package/dist/fields/Blocks/index.js +3 -6
  126. package/dist/fields/Blocks/index.js.map +1 -1
  127. package/dist/fields/Checkbox/index.d.ts +1 -1
  128. package/dist/fields/Code/index.css +1 -1
  129. package/dist/fields/Code/index.d.ts +2 -2
  130. package/dist/fields/Collapsible/index.d.ts +1 -1
  131. package/dist/fields/DateTime/index.d.ts +1 -1
  132. package/dist/fields/Email/index.d.ts +1 -1
  133. package/dist/fields/Group/index.d.ts +2 -2
  134. package/dist/fields/JSON/index.d.ts +1 -1
  135. package/dist/fields/Join/index.d.ts +1 -1
  136. package/dist/fields/Number/index.d.ts +1 -1
  137. package/dist/fields/Password/types.d.ts +3 -3
  138. package/dist/fields/Password/types.d.ts.map +1 -1
  139. package/dist/fields/Password/types.js.map +1 -1
  140. package/dist/fields/Point/index.d.ts +1 -1
  141. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  142. package/dist/fields/Relationship/index.d.ts +1 -1
  143. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  144. package/dist/fields/Row/index.d.ts +1 -1
  145. package/dist/fields/Select/index.d.ts +1 -1
  146. package/dist/fields/Select/index.d.ts.map +1 -1
  147. package/dist/fields/Tabs/index.d.ts +1 -1
  148. package/dist/fields/Text/index.d.ts +1 -1
  149. package/dist/fields/Text/types.d.ts +2 -2
  150. package/dist/fields/Text/types.d.ts.map +1 -1
  151. package/dist/fields/Text/types.js.map +1 -1
  152. package/dist/fields/Textarea/index.d.ts +1 -1
  153. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  154. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  155. package/dist/forms/Form/context.d.ts.map +1 -1
  156. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  157. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  158. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  159. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  160. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  161. package/dist/forms/Form/rows.d.ts.map +1 -1
  162. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  163. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  164. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  165. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  166. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  167. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  168. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  169. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  170. package/dist/forms/useField/index.d.ts.map +1 -1
  171. package/dist/forms/withCondition/index.d.ts +1 -1
  172. package/dist/forms/withCondition/index.d.ts.map +1 -1
  173. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  174. package/dist/hooks/useDelay.d.ts.map +1 -1
  175. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  176. package/dist/hooks/useHotkey.d.ts.map +1 -1
  177. package/dist/hooks/useIntersect.d.ts.map +1 -1
  178. package/dist/hooks/usePopupWindow.d.ts +1 -1
  179. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  180. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  181. package/dist/hooks/useResize.d.ts.map +1 -1
  182. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  183. package/dist/layouts/Root/index.d.ts.map +1 -1
  184. package/dist/layouts/Root/index.js +3 -7
  185. package/dist/layouts/Root/index.js.map +1 -1
  186. package/dist/providers/Auth/index.d.ts +6 -6
  187. package/dist/providers/Auth/index.d.ts.map +1 -1
  188. package/dist/providers/Auth/index.js.map +1 -1
  189. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  190. package/dist/providers/DocumentInfo/index.js.map +1 -1
  191. package/dist/providers/DocumentInfo/types.d.ts +5 -5
  192. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  193. package/dist/providers/DocumentInfo/types.js.map +1 -1
  194. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  195. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  196. package/dist/providers/ListQuery/index.js +1 -8
  197. package/dist/providers/ListQuery/index.js.map +1 -1
  198. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  199. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  200. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  201. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  202. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  203. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  204. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  205. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  206. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  207. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  208. package/dist/providers/Theme/index.d.ts +2 -2
  209. package/dist/providers/Theme/index.d.ts.map +1 -1
  210. package/dist/providers/Theme/index.js +1 -2
  211. package/dist/providers/Theme/index.js.map +1 -1
  212. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  213. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  214. package/dist/styles.css +1 -11
  215. package/dist/utilities/api.d.ts.map +1 -1
  216. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  217. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  218. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  219. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  220. package/dist/utilities/buildFormState.d.ts +2 -2
  221. package/dist/utilities/buildFormState.d.ts.map +1 -1
  222. package/dist/utilities/buildFormState.js.map +1 -1
  223. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  224. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  225. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  226. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  227. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  228. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  229. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  230. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  231. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  232. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  233. package/dist/utilities/formatDocTitle/index.js +1 -1
  234. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  235. package/dist/utilities/formatFields.d.ts.map +1 -1
  236. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  237. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  238. package/dist/utilities/getColumns.d.ts.map +1 -1
  239. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  240. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  241. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  242. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  243. package/dist/utilities/getGlobalData.d.ts +2 -2
  244. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  245. package/dist/utilities/getGlobalData.js.map +1 -1
  246. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  247. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  248. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  249. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  250. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  251. package/dist/utilities/getRequestTheme.d.ts +1 -1
  252. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  253. package/dist/utilities/getRequestTheme.js +1 -1
  254. package/dist/utilities/getRequestTheme.js.map +1 -1
  255. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  256. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  257. package/dist/utilities/getVersions.d.ts.map +1 -1
  258. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  259. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  260. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  261. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  262. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  263. package/dist/utilities/handlePreview.d.ts.map +1 -1
  264. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  265. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  266. package/dist/utilities/handleTakeOver.d.ts +5 -5
  267. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  268. package/dist/utilities/handleTakeOver.js.map +1 -1
  269. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  270. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  271. package/dist/utilities/initReq.d.ts.map +1 -1
  272. package/dist/utilities/isClientUserObject.d.ts +2 -2
  273. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  274. package/dist/utilities/isClientUserObject.js.map +1 -1
  275. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  276. package/dist/utilities/isEditing.d.ts.map +1 -1
  277. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  278. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  279. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  280. package/dist/utilities/recentlyViewed.d.ts.map +1 -1
  281. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  282. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  283. package/dist/utilities/renderTable.d.ts +2 -2
  284. package/dist/utilities/renderTable.d.ts.map +1 -1
  285. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  286. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  287. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  288. package/dist/utilities/scrollToID.d.ts.map +1 -1
  289. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  290. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  291. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  292. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  293. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  294. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  295. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  296. package/dist/views/Dashboard/Default/index.js.map +1 -1
  297. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  298. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  299. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  300. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  301. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  302. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  303. package/dist/views/Document/index.d.ts +1 -1
  304. package/dist/views/Document/index.d.ts.map +1 -1
  305. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -1
  306. package/dist/views/Edit/index.d.ts.map +1 -1
  307. package/dist/views/Edit/index.js.map +1 -1
  308. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  309. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  310. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  311. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  312. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  313. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  314. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  315. package/dist/views/HierarchyList/TypeFilter/index.js +0 -3
  316. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  317. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  318. package/dist/views/HierarchyList/index.js +6 -2
  319. package/dist/views/HierarchyList/index.js.map +1 -1
  320. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  321. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  322. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  323. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  324. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  325. package/dist/views/List/handleHierarchy.d.ts +1 -1
  326. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  327. package/dist/views/List/index.d.ts.map +1 -1
  328. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  329. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  330. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  331. package/dist/views/NotFound/page.d.ts.map +1 -1
  332. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  333. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  334. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  335. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  336. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  337. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  338. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  339. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  340. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  341. package/dist/views/Root/index.d.ts.map +1 -1
  342. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  343. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  344. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  345. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  346. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  347. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  348. package/dist/views/Versions/buildColumns.d.ts +1 -1
  349. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  350. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  351. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  352. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  353. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  354. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  355. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  356. package/dist/widgets/WidgetCard/index.css +1 -1
  357. package/package.json +4 -5
  358. package/dist/css/z-index.css +0 -9
  359. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
  360. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
  361. package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
  362. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
  363. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
  364. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  365. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +0 -7
  366. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +0 -1
  367. package/dist/elements/ReactSelect/DefaultMenuPortal.js +0 -120
  368. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +0 -1
  369. package/dist/elements/ReactSelect/getMenuStyles.d.ts +0 -10
  370. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +0 -1
  371. package/dist/elements/ReactSelect/getMenuStyles.js +0 -21
  372. package/dist/elements/ReactSelect/getMenuStyles.js.map +0 -1
  373. package/dist/layouts/Root/index.spec.js +0 -20
  374. package/dist/layouts/Root/index.spec.js.map +0 -1
  375. package/dist/layouts/Root/viewport.d.ts +0 -5
  376. package/dist/layouts/Root/viewport.d.ts.map +0 -1
  377. package/dist/layouts/Root/viewport.js +0 -17
  378. package/dist/layouts/Root/viewport.js.map +0 -1
  379. package/dist/providers/Theme/shared.d.ts +0 -3
  380. package/dist/providers/Theme/shared.d.ts.map +0 -1
  381. package/dist/providers/Theme/shared.js +0 -2
  382. package/dist/providers/Theme/shared.js.map +0 -1
  383. package/dist/utilities/getLanguageDir.d.ts +0 -12
  384. package/dist/utilities/getLanguageDir.d.ts.map +0 -1
  385. package/dist/utilities/getLanguageDir.js +0 -12
  386. package/dist/utilities/getLanguageDir.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ @layer payload-default {
2
+ .nav-toggler {
3
+ position: relative;
4
+ display: flex;
5
+ align-items: center;
6
+ background: transparent;
7
+ padding: 0;
8
+ margin: 0;
9
+ border: 0;
10
+ cursor: pointer;
11
+ }
12
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ export declare const NavToggler: React.FC<{
4
+ children?: React.ReactNode;
5
+ className?: string;
6
+ id?: string;
7
+ tabIndex?: number;
8
+ }>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/NavToggler/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAyCA,CAAA"}
@@ -0,0 +1,91 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { useWindowInfo } from '@faceless-ui/window-info';
6
+ import { PREFERENCE_KEYS } from 'payload/shared';
7
+ import React from 'react';
8
+ import { usePreferences } from '../../../providers/Preferences/index.js';
9
+ import { useTranslation } from '../../../providers/Translation/index.js';
10
+ import { useNav } from '../context.js';
11
+ import './index.css';
12
+ const baseClass = 'nav-toggler';
13
+ export const NavToggler = props => {
14
+ const $ = _c(15);
15
+ const {
16
+ id,
17
+ children,
18
+ className,
19
+ tabIndex: t0
20
+ } = props;
21
+ const tabIndex = t0 === undefined ? 0 : t0;
22
+ const {
23
+ t
24
+ } = useTranslation();
25
+ const {
26
+ setPreference
27
+ } = usePreferences();
28
+ const {
29
+ navOpen,
30
+ setNavOpen
31
+ } = useNav();
32
+ const {
33
+ breakpoints: t1
34
+ } = useWindowInfo();
35
+ const {
36
+ l: largeBreak
37
+ } = t1;
38
+ const t2 = `${navOpen ? t("general:close") : t("general:open")} ${t("general:menu")}`;
39
+ const t3 = navOpen && `${baseClass}--is-open`;
40
+ let t4;
41
+ if ($[0] !== className || $[1] !== t3) {
42
+ t4 = [baseClass, t3, className].filter(Boolean);
43
+ $[0] = className;
44
+ $[1] = t3;
45
+ $[2] = t4;
46
+ } else {
47
+ t4 = $[2];
48
+ }
49
+ const t5 = t4.join(" ");
50
+ let t6;
51
+ if ($[3] !== largeBreak || $[4] !== navOpen || $[5] !== setNavOpen || $[6] !== setPreference) {
52
+ t6 = async () => {
53
+ setNavOpen(!navOpen);
54
+ if (!largeBreak) {
55
+ await setPreference(PREFERENCE_KEYS.NAV, {
56
+ open: !navOpen
57
+ }, true);
58
+ }
59
+ };
60
+ $[3] = largeBreak;
61
+ $[4] = navOpen;
62
+ $[5] = setNavOpen;
63
+ $[6] = setPreference;
64
+ $[7] = t6;
65
+ } else {
66
+ t6 = $[7];
67
+ }
68
+ let t7;
69
+ if ($[8] !== children || $[9] !== id || $[10] !== t2 || $[11] !== t5 || $[12] !== t6 || $[13] !== tabIndex) {
70
+ t7 = _jsx("button", {
71
+ "aria-label": t2,
72
+ className: t5,
73
+ id,
74
+ onClick: t6,
75
+ tabIndex,
76
+ type: "button",
77
+ children
78
+ });
79
+ $[8] = children;
80
+ $[9] = id;
81
+ $[10] = t2;
82
+ $[11] = t5;
83
+ $[12] = t6;
84
+ $[13] = tabIndex;
85
+ $[14] = t7;
86
+ } else {
87
+ t7 = $[14];
88
+ }
89
+ return t7;
90
+ };
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","PREFERENCE_KEYS","React","usePreferences","useTranslation","useNav","baseClass","NavToggler","props","$","id","children","className","tabIndex","t0","undefined","t","setPreference","navOpen","setNavOpen","breakpoints","t1","l","largeBreak","t2","t3","t4","filter","Boolean","t5","join","t6","NAV","open","t7","_jsx","onClick","type"],"sources":["../../../../src/elements/Nav/NavToggler/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useNav } from '../context.js'\nimport './index.css'\n\nconst baseClass = 'nav-toggler'\n\nexport const NavToggler: React.FC<{\n children?: React.ReactNode\n className?: string\n id?: string\n tabIndex?: number\n}> = (props) => {\n const { id, children, className, tabIndex = 0 } = props\n\n const { t } = useTranslation()\n\n const { setPreference } = usePreferences()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n breakpoints: { l: largeBreak },\n } = useWindowInfo()\n\n return (\n <button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n className={[baseClass, navOpen && `${baseClass}--is-open`, className]\n .filter(Boolean)\n .join(' ')}\n id={id}\n onClick={async () => {\n setNavOpen(!navOpen)\n\n // only when the user explicitly toggles the nav on desktop do we want to set the preference\n // this is because the js may open or close the nav based on the window size, routing, etc\n if (!largeBreak) {\n await setPreference(\n PREFERENCE_KEYS.NAV,\n {\n open: !navOpen,\n },\n true,\n )\n }\n }}\n tabIndex={tabIndex}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACH;IAAAW,EAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,QAAA,EAAAC;EAAA,IAAkDN,KAAA;EAAjB,MAAAK,QAAA,GAAAC,EAAY,KAAAC,SAAA,OAAZD,EAAY;EAE7C;IAAAE;EAAA,IAAcZ,cAAA;EAEd;IAAAa;EAAA,IAA0Bd,cAAA;EAE1B;IAAAe,OAAA;IAAAC;EAAA,IAAgCd,MAAA;EAEhC;IAAAe,WAAA,EAAAC;EAAA,IAEIrB,aAAA;EADW;IAAAsB,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAKhB,MAAAG,EAAA,MAAGN,OAAA,GAAUF,CAAA,CAAE,mBAAmBA,CAAA,CAAE,mBAAmBA,CAAA,CAAE,iBAAiB;EAC/D,MAAAS,EAAA,GAAAP,OAAA,IAAW,GAAAZ,SAAA,WAAuB;EAAA,IAAAoB,EAAA;EAAA,IAAAjB,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAgB,EAAA;IAA9CC,EAAA,IAAApB,SAAA,EAAYmB,EAAkC,EAAEb,SAAA,EAAAe,MAAA,CAAAC,OACjD;IAAAnB,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAgB,EAAA;IAAAhB,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EADC,MAAAoB,EAAA,GAAAH,EACD,CAAAI,IAAA,CACF;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAS,OAAA,IAAAT,CAAA,QAAAU,UAAA,IAAAV,CAAA,QAAAQ,aAAA;IAECc,EAAA,SAAAA,CAAA;MACPZ,UAAA,EAAYD,OAAA;MAAA,KAIPK,UAAA;QAAA,MACGN,aAAA,CAAAhB,eAAA,CAAA+B,GAAA;UAAAC,IAAA,GAGKf;QAAA,OAET;MAAA;IAAA;IAGNT,CAAA,MAAAc,UAAA;IAAAd,CAAA,MAAAS,OAAA;IAAAT,CAAA,MAAAU,UAAA;IAAAV,CAAA,MAAAQ,aAAA;IAAAR,CAAA,MAAAsB,EAAA;EAAA;IAAAA,EAAA,GAAAtB,CAAA;EAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAzB,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAC,EAAA,IAAAD,CAAA,SAAAe,EAAA,IAAAf,CAAA,SAAAoB,EAAA,IAAApB,CAAA,SAAAsB,EAAA,IAAAtB,CAAA,SAAAI,QAAA;IApBFqB,EAAA,GAAAC,IAAA,CAAC;MAAA,cACaX,EAA0E;MAAAZ,SAAA,EAC3EiB,EAEH;MAAAnB,EAAA;MAAA0B,OAAA,EAECL,EAcT;MAAAlB,QAAA;MAAAwB,IAAA,EAEK;MAAA1B;IAAA,C;;;;;;;;;;;SAtBPuB,E;CA2BJ","ignoreList":[]}
@@ -119,6 +119,11 @@
119
119
  --nav-padding-inline-end: var(--gutter-h);
120
120
  }
121
121
 
122
+ .nav__link {
123
+ font-size: var(--text-body-small-font-size);
124
+ line-height: var(--spacer-4);
125
+ }
126
+
122
127
  .nav__mobile-close {
123
128
  display: flex;
124
129
  align-items: center;
@@ -37,11 +37,6 @@
37
37
  &:focus-visible {
38
38
  outline: none;
39
39
  }
40
-
41
- &:disabled {
42
- cursor: not-allowed;
43
- opacity: 0.5;
44
- }
45
40
  }
46
41
 
47
42
  .paginator__page-total {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqGhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsGhD,CAAA"}
@@ -7,7 +7,7 @@ import { ClickableArrow } from './ClickableArrow/index.js';
7
7
  import './index.css';
8
8
  const baseClass = 'paginator';
9
9
  export const Pagination = props => {
10
- const $ = _c(35);
10
+ const $ = _c(34);
11
11
  const {
12
12
  hasNextPage: t0,
13
13
  hasPrevPage: t1,
@@ -122,8 +122,10 @@ export const Pagination = props => {
122
122
  t11 = $[14];
123
123
  }
124
124
  const handleInputKeyDown = t11;
125
- const isSinglePage = !totalPages || totalPages <= 1;
126
- const t12 = isSinglePage || !hasPrevPage;
125
+ if (!totalPages || totalPages <= 1) {
126
+ return null;
127
+ }
128
+ const t12 = !hasPrevPage;
127
129
  let t13;
128
130
  if ($[15] !== currentPage || $[16] !== prevPage || $[17] !== updatePage) {
129
131
  t13 = () => updatePage(prevPage ?? Math.max(1, currentPage - 1));
@@ -135,16 +137,16 @@ export const Pagination = props => {
135
137
  t13 = $[18];
136
138
  }
137
139
  let t14;
138
- if ($[19] !== currentPage || $[20] !== handleInputBlur || $[21] !== handleInputKeyDown || $[22] !== hasNextPage || $[23] !== inputValue || $[24] !== isSinglePage || $[25] !== nextPage || $[26] !== t12 || $[27] !== t13 || $[28] !== totalPages || $[29] !== updatePage) {
140
+ if ($[19] !== currentPage || $[20] !== handleInputBlur || $[21] !== handleInputKeyDown || $[22] !== hasNextPage || $[23] !== inputValue || $[24] !== nextPage || $[25] !== t12 || $[26] !== t13 || $[27] !== totalPages || $[28] !== updatePage) {
139
141
  let t15;
140
- if ($[31] !== currentPage || $[32] !== nextPage || $[33] !== updatePage) {
142
+ if ($[30] !== currentPage || $[31] !== nextPage || $[32] !== updatePage) {
141
143
  t15 = () => updatePage(nextPage ?? currentPage + 1);
142
- $[31] = currentPage;
143
- $[32] = nextPage;
144
- $[33] = updatePage;
145
- $[34] = t15;
144
+ $[30] = currentPage;
145
+ $[31] = nextPage;
146
+ $[32] = updatePage;
147
+ $[33] = t15;
146
148
  } else {
147
- t15 = $[34];
149
+ t15 = $[33];
148
150
  }
149
151
  t14 = _jsxs("div", {
150
152
  className: baseClass,
@@ -154,14 +156,13 @@ export const Pagination = props => {
154
156
  updatePage: t13
155
157
  }), _jsx(ClickableArrow, {
156
158
  direction: "right",
157
- isDisabled: isSinglePage || !hasNextPage,
159
+ isDisabled: !hasNextPage,
158
160
  updatePage: t15
159
161
  }), _jsxs("div", {
160
162
  className: `${baseClass}__page-input-wrapper`,
161
163
  children: [_jsx("input", {
162
164
  "aria-label": "Go to page",
163
165
  className: `${baseClass}__page-input`,
164
- disabled: isSinglePage,
165
166
  inputMode: "numeric",
166
167
  max: totalPages,
167
168
  min: 1,
@@ -175,7 +176,7 @@ export const Pagination = props => {
175
176
  value: inputValue
176
177
  }), _jsxs("span", {
177
178
  className: `${baseClass}__page-total`,
178
- children: ["of ", isSinglePage ? 1 : totalPages]
179
+ children: ["of ", totalPages]
179
180
  })]
180
181
  })]
181
182
  });
@@ -184,15 +185,14 @@ export const Pagination = props => {
184
185
  $[21] = handleInputKeyDown;
185
186
  $[22] = hasNextPage;
186
187
  $[23] = inputValue;
187
- $[24] = isSinglePage;
188
- $[25] = nextPage;
189
- $[26] = t12;
190
- $[27] = t13;
191
- $[28] = totalPages;
192
- $[29] = updatePage;
193
- $[30] = t14;
188
+ $[24] = nextPage;
189
+ $[25] = t12;
190
+ $[26] = t13;
191
+ $[27] = totalPages;
192
+ $[28] = updatePage;
193
+ $[29] = t14;
194
194
  } else {
195
- t14 = $[30];
195
+ t14 = $[29];
196
196
  }
197
197
  return t14;
198
198
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useState","ClickableArrow","baseClass","Pagination","props","$","hasNextPage","t0","hasPrevPage","t1","nextPage","t2","onChange","page","t3","prevPage","t4","totalPages","t5","undefined","currentPage","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","direction","isDisabled","disabled","inputMode","onBlur","onKeyDown","style","width","length","type"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useState } from 'react'\n\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 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 totalPages = 1,\n } = props\n\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 direction=\"left\"\n isDisabled={isSinglePage || !hasPrevPage}\n updatePage={() => updatePage(prevPage ?? Math.max(1, currentPage - 1))}\n />\n <ClickableArrow\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-label=\"Go to page\"\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={`${baseClass}__page-total`}>of {isSinglePage ? 1 : totalPages}</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","useState","ClickableArrow","baseClass","Pagination","props","$","hasNextPage","t0","hasPrevPage","t1","nextPage","t2","onChange","page","t3","prevPage","t4","totalPages","t5","undefined","currentPage","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","t12","t13","t14","t15","_jsxs","className","children","_jsx","direction","isDisabled","inputMode","onBlur","onKeyDown","style","width","length","type"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useState } from 'react'\n\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 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 totalPages = 1,\n } = props\n\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 if (!totalPages || totalPages <= 1) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <ClickableArrow\n direction=\"left\"\n isDisabled={!hasPrevPage}\n updatePage={() => updatePage(prevPage ?? Math.max(1, currentPage - 1))}\n />\n <ClickableArrow\n direction=\"right\"\n isDisabled={!hasNextPage}\n updatePage={() => updatePage(nextPage ?? currentPage + 1)}\n />\n <div className={`${baseClass}__page-input-wrapper`}>\n <input\n aria-label=\"Go to page\"\n className={`${baseClass}__page-input`}\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={`${baseClass}__page-total`}>of {totalPages}</span>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC5E,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,oFAQ9B,IAAI,KAAG,MAAM,EA4Gf,CAAA"}
1
+ {"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC5E,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,iFAQlC,IAAI,KAAG,MAAM,EA4Gf,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildUpcomingScheduleWhere.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,uCAAwC,IAAI,KAAG,KAsCrF,CAAA"}
1
+ {"version":3,"file":"buildUpcomingScheduleWhere.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,oCAAoC,IAAI,KAAG,KAsCrF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCaptureMenuScroll.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getCaptureMenuScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,gEAG9B;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACtC,KAAG,OAMH,CAAA"}
1
+ {"version":3,"file":"getCaptureMenuScroll.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getCaptureMenuScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAAI,6DAGlC;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACtC,KAAG,OAMH,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { GroupBase, StylesConfig } from 'react-select';
2
2
  import type { Option } from './types.js';
3
3
  type MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>;
4
- export declare const getMenuListStyles: (externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>, shouldUseFloatingMenuPortal?: boolean) => MenuListStyles;
4
+ export declare const getMenuListStyles: (externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>) => MenuListStyles;
5
5
  export {};
6
6
  //# sourceMappingURL=getMenuListStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMenuListStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/F,eAAO,MAAM,iBAAiB,oBACX,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,gCACnC,OAAO,KACpC,cAiBF,CAAA"}
1
+ {"version":3,"file":"getMenuListStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/F,eAAO,MAAM,iBAAiB,GAC5B,iBAAiB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,KAChE,cAQF,CAAA"}
@@ -1,15 +1,7 @@
1
- export const getMenuListStyles = (externalStyles, shouldUseFloatingMenuPortal) => {
2
- return (rsStyles, state) => {
3
- const styles = {
4
- ...rsStyles,
5
- ...(shouldUseFloatingMenuPortal && {
6
- maxHeight: `var(--rs-floating-menu-max-height, ${String(rsStyles.maxHeight)}px)`
7
- })
8
- };
9
- return {
10
- ...styles,
11
- ...externalStyles?.menuList?.(styles, state)
12
- };
13
- };
1
+ export const getMenuListStyles = externalStyles => {
2
+ return (rsStyles, state) => ({
3
+ ...rsStyles,
4
+ ...externalStyles?.menuList?.(rsStyles, state)
5
+ });
14
6
  };
15
7
  //# sourceMappingURL=getMenuListStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMenuListStyles.js","names":["getMenuListStyles","externalStyles","shouldUseFloatingMenuPortal","rsStyles","state","styles","maxHeight","String","menuList"],"sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>\n\nexport const getMenuListStyles = (\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>,\n shouldUseFloatingMenuPortal?: boolean,\n): MenuListStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menuList']>>[1],\n ) => {\n const styles: CSSObjectWithLabel = {\n ...rsStyles,\n ...(shouldUseFloatingMenuPortal && {\n maxHeight: `var(--rs-floating-menu-max-height, ${String(rsStyles.maxHeight)}px)`,\n }),\n }\n\n return {\n ...styles,\n ...externalStyles?.menuList?.(styles, state),\n }\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GAAoBA,CAC/BC,cAAA,EACAC,2BAAA;EAEA,OAAO,CACLC,QAAA,EACAC,KAAA;IAEA,MAAMC,MAAA,GAA6B;MACjC,GAAGF,QAAQ;MACX,IAAID,2BAAA,IAA+B;QACjCI,SAAA,EAAW,sCAAsCC,MAAA,CAAOJ,QAAA,CAASG,SAAS;MAC5E,CAAC;IACH;IAEA,OAAO;MACL,GAAGD,MAAM;MACT,GAAGJ,cAAA,EAAgBO,QAAA,GAAWH,MAAA,EAAQD,KAAA;IACxC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getMenuListStyles.js","names":["getMenuListStyles","externalStyles","rsStyles","state","menuList"],"sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>\n\nexport const getMenuListStyles = (\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>,\n): MenuListStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menuList']>>[1],\n ) => ({\n ...rsStyles,\n ...externalStyles?.menuList?.(rsStyles, state),\n })\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GACXC,cAAA;EAEA,OAAO,CACLC,QAAA,EACAC,KAAA,MACI;IACJ,GAAGD,QAAQ;IACX,GAAGD,cAAA,EAAgBG,QAAA,GAAWF,QAAA,EAAUC,KAAA;EAC1C;AACF","ignoreList":[]}
@@ -91,7 +91,7 @@
91
91
  border-radius: var(--radius-medium);
92
92
  box-shadow: var(--elevation-400-menu-panel);
93
93
  background: var(--color-bg);
94
- overflow: clip;
94
+ /* overflow: clip; */
95
95
  }
96
96
 
97
97
  .rs__menu--placement-bottom {
@@ -102,13 +102,6 @@
102
102
  margin-bottom: var(--spacer-1);
103
103
  }
104
104
 
105
- .rs__floating-menu-portal {
106
- .rs__menu--placement-bottom,
107
- .rs__menu--placement-top {
108
- margin-block: 0;
109
- }
110
- }
111
-
112
105
  .rs__menu-list {
113
106
  overflow-y: auto;
114
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAI/E,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACjE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAmBxC,OAAO,aAAa,CAAA;AAiRpB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQzD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAQN,MAAM,OAAO,CAAA;AAId,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACjE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAkBxC,OAAO,aAAa,CAAA;AA4VpB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQzD,CAAA"}
@@ -1,22 +1,22 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx } from "react/jsx-runtime";
4
5
  import { arrayMove } from '@dnd-kit/sortable';
5
6
  import { getTranslation } from '@payloadcms/translations';
6
- import React, { useCallback, useEffect, useId, useMemo, useState } from 'react';
7
- import Select from 'react-select';
7
+ import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from 'react';
8
+ import Select, { components as rsComponents } from 'react-select';
8
9
  import CreatableSelect from 'react-select/creatable';
9
10
  import { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js';
11
+ import { useTheme } from '../../providers/Theme/index.js';
10
12
  import { useTranslation } from '../../providers/Translation/index.js';
11
13
  import { DraggableSortable } from '../DraggableSortable/index.js';
12
14
  import { ShimmerEffect } from '../ShimmerEffect/index.js';
13
15
  import { ClearIndicator } from './ClearIndicator/index.js';
14
16
  import { Control } from './Control/index.js';
15
- import { DefaultMenuPortal } from './DefaultMenuPortal.js';
16
17
  import { DropdownIndicator } from './DropdownIndicator/index.js';
17
18
  import { getCaptureMenuScroll } from './getCaptureMenuScroll.js';
18
19
  import { getMenuListStyles } from './getMenuListStyles.js';
19
- import { getMenuStyles } from './getMenuStyles.js';
20
20
  import { Input } from './Input/index.js';
21
21
  import { generateMultiValueDraggableID, MultiValue } from './MultiValue/index.js';
22
22
  import { MultiValueLabel } from './MultiValueLabel/index.js';
@@ -24,7 +24,36 @@ import { MultiValueRemove } from './MultiValueRemove/index.js';
24
24
  import { SingleValue } from './SingleValue/index.js';
25
25
  import { ValueContainer } from './ValueContainer/index.js';
26
26
  import './index.css';
27
+ // Propagates the nearest scoped theme (via ThemeProvider) into the portal div,
28
+ // falling back to the global theme. Ensures dropdown menus portaled to
29
+ // document.body inherit the correct theme (e.g. dark Popup).
30
+ function ThemedMenuPortal(props) {
31
+ const $ = _c(3);
32
+ const {
33
+ theme
34
+ } = useTheme();
35
+ const menuPortalTheme = props.selectProps?.customProps?.menuPortalTheme;
36
+ const t0 = menuPortalTheme ?? theme;
37
+ let t1;
38
+ if ($[0] !== props || $[1] !== t0) {
39
+ t1 = _jsx(rsComponents.MenuPortal, {
40
+ ...props,
41
+ innerProps: {
42
+ "data-theme": t0
43
+ }
44
+ });
45
+ $[0] = props;
46
+ $[1] = t0;
47
+ $[2] = t1;
48
+ } else {
49
+ t1 = $[2];
50
+ }
51
+ return t1;
52
+ }
27
53
  const DEFAULT_MAX_MENU_HEIGHT = 300;
54
+ const MIN_USABLE_MENU_HEIGHT = 140;
55
+ const MENU_VIEWPORT_GAP = 16 // space between the control and the edge of the window
56
+ ;
28
57
  const SelectAdapter = props => {
29
58
  const {
30
59
  i18n,
@@ -34,6 +63,10 @@ const SelectAdapter = props => {
34
63
  ;
35
64
  const uuid = useId();
36
65
  const [hasMounted, setHasMounted] = useState(false);
66
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
67
+ const [maxMenuHeight, setMaxMenuHeight] = useState(DEFAULT_MAX_MENU_HEIGHT);
68
+ const [menuPlacement, setMenuPlacement] = useState('auto');
69
+ const containerRef = useRef(null);
37
70
  const {
38
71
  captureMenuScroll: captureMenuScrollProp,
39
72
  className,
@@ -61,14 +94,43 @@ const SelectAdapter = props => {
61
94
  } = props;
62
95
  const menuPortalTarget = menuPortalTargetProp === undefined ? typeof document !== 'undefined' ? document.body : null : menuPortalTargetProp;
63
96
  const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined);
64
- const shouldUseFloatingMenuPortal = Boolean(menuPortalTarget && !components?.MenuPortal);
65
97
  const captureMenuScroll = getCaptureMenuScroll({
66
98
  captureMenuScroll: captureMenuScrollProp,
67
99
  menuPortalTarget
68
100
  });
101
+ const updateMenuViewportSettings = useCallback(() => {
102
+ if (!isMenuOpen || typeof window === 'undefined') {
103
+ return;
104
+ }
105
+ const controlEl = containerRef.current?.querySelector('.rs__control');
106
+ if (!controlEl) {
107
+ return;
108
+ }
109
+ const controlRect = controlEl.getBoundingClientRect();
110
+ const availableBelow = Math.max(window.innerHeight - controlRect.bottom - MENU_VIEWPORT_GAP, 0);
111
+ const availableAbove = Math.max(controlRect.top - MENU_VIEWPORT_GAP, 0);
112
+ const shouldOpenTop = availableBelow < MIN_USABLE_MENU_HEIGHT && availableAbove > availableBelow;
113
+ const availableHeight = shouldOpenTop ? availableAbove : availableBelow;
114
+ setMenuPlacement(shouldOpenTop ? 'top' : 'bottom');
115
+ setMaxMenuHeight(Math.max(Math.min(Math.floor(availableHeight), DEFAULT_MAX_MENU_HEIGHT), 1));
116
+ }, [isMenuOpen]);
69
117
  useEffect(() => {
70
118
  setHasMounted(true);
71
119
  }, []);
120
+ useLayoutEffect(() => {
121
+ if (!isMenuOpen) {
122
+ setMenuPlacement('auto');
123
+ setMaxMenuHeight(DEFAULT_MAX_MENU_HEIGHT);
124
+ return;
125
+ }
126
+ updateMenuViewportSettings();
127
+ window.addEventListener('resize', updateMenuViewportSettings);
128
+ window.addEventListener('scroll', updateMenuViewportSettings, true);
129
+ return () => {
130
+ window.removeEventListener('resize', updateMenuViewportSettings);
131
+ window.removeEventListener('scroll', updateMenuViewportSettings, true);
132
+ };
133
+ }, [isMenuOpen, updateMenuViewportSettings]);
72
134
  // Debounce the loading state so that fast option fetches (e.g. relationship
73
135
  // fields that resolve almost instantly) don't cause the clear indicator to
74
136
  // flash to react-select's loading indicator and back. The loading indicator
@@ -77,6 +139,15 @@ const SelectAdapter = props => {
77
139
  useDebouncedEffect(() => {
78
140
  setIsLoadingDebounced(isLoading);
79
141
  }, [isLoading], 250);
142
+ const handleMenuOpen = () => {
143
+ setIsMenuOpen(true);
144
+ requestAnimationFrame(updateMenuViewportSettings);
145
+ onMenuOpen?.();
146
+ };
147
+ const handleMenuClose = () => {
148
+ setIsMenuOpen(false);
149
+ onMenuClose?.();
150
+ };
80
151
  const menuClassName = useCallback(state => {
81
152
  const placement = state.placement ? `rs__menu--placement-${state.placement}` : '';
82
153
  const external = externalClassNames?.menu?.(state) ?? '';
@@ -95,7 +166,7 @@ const SelectAdapter = props => {
95
166
  Control,
96
167
  DropdownIndicator,
97
168
  Input,
98
- MenuPortal: DefaultMenuPortal,
169
+ MenuPortal: ThemedMenuPortal,
99
170
  MultiValue,
100
171
  MultiValueLabel,
101
172
  MultiValueRemove,
@@ -116,46 +187,50 @@ const SelectAdapter = props => {
116
187
  isLoading: isLoadingDebounced,
117
188
  isSearchable,
118
189
  loadingMessage: () => t('general:loading') + '...',
119
- maxMenuHeight: DEFAULT_MAX_MENU_HEIGHT,
120
- menuPlacement: 'auto',
190
+ maxMenuHeight,
191
+ menuPlacement,
121
192
  menuPortalTarget,
122
193
  menuPosition,
123
194
  menuShouldBlockScroll: false,
124
195
  noOptionsMessage,
125
196
  onChange,
126
- onMenuClose,
127
- onMenuOpen,
197
+ onMenuClose: handleMenuClose,
198
+ onMenuOpen: handleMenuOpen,
128
199
  options,
129
200
  placeholder: getTranslation(placeholder, i18n),
130
201
  styles: {
131
- menu: getMenuStyles({
132
- externalStyles,
133
- shouldUseFloatingMenuPortal
202
+ // Remove the default react-select z-index from the menu so that our custom
203
+ // z-index in the "payload-default" css layer can take effect, in such a way
204
+ // that end users can easily override it as with other styles.
205
+ menu: (rsStyles, state_1) => ({
206
+ ...rsStyles,
207
+ zIndex: undefined,
208
+ ...externalStyles?.menu?.(rsStyles, state_1)
134
209
  }),
135
210
  // When portaling to document.body, the portal container needs an explicit
136
211
  // z-index so the menu appears above drawers and dialogs. unstyled={true}
137
212
  // strips react-select's default zIndex:9999 from the portal container.
138
213
  ...(menuPortalTarget && {
139
- menuPortal: (rsStyles, state_1) => ({
140
- ...rsStyles,
141
- zIndex: 'var(--z-portal-element)',
142
- ...externalStyles?.menuPortal?.(rsStyles, state_1)
214
+ menuPortal: (rsStyles_0, state_2) => ({
215
+ ...rsStyles_0,
216
+ zIndex: 9999,
217
+ ...externalStyles?.menuPortal?.(rsStyles_0, state_2)
143
218
  })
144
219
  }),
145
220
  // Remove the default react-select min-height so our CSS can control it
146
- control: (rsStyles_0, state_2) => ({
147
- ...rsStyles_0,
221
+ control: (rsStyles_1, state_3) => ({
222
+ ...rsStyles_1,
148
223
  minHeight: undefined,
149
- ...externalStyles?.control?.(rsStyles_0, state_2)
224
+ ...externalStyles?.control?.(rsStyles_1, state_3)
150
225
  }),
151
226
  // Allow external option styles to override emotion defaults
152
- option: (rsStyles_1, state_3) => ({
153
- ...rsStyles_1,
154
- ...externalStyles?.option?.(rsStyles_1, state_3)
227
+ option: (rsStyles_2, state_4) => ({
228
+ ...rsStyles_2,
229
+ ...externalStyles?.option?.(rsStyles_2, state_4)
155
230
  }),
156
231
  // Keep react-select's computed maxHeight so the menu can fit available
157
232
  // viewport space near screen edges (instead of using a fixed class value).
158
- menuList: getMenuListStyles(externalStyles, shouldUseFloatingMenuPortal)
233
+ menuList: getMenuListStyles(externalStyles)
159
234
  },
160
235
  unstyled: true
161
236
  };
@@ -166,6 +241,7 @@ const SelectAdapter = props => {
166
241
  }
167
242
  if (!isCreatable) {
168
243
  return /*#__PURE__*/_jsx("div", {
244
+ ref: containerRef,
169
245
  children: /*#__PURE__*/_jsx(Select, {
170
246
  ...props,
171
247
  ...sharedSelectProps,
@@ -208,6 +284,7 @@ const SelectAdapter = props => {
208
284
  }
209
285
  };
210
286
  return /*#__PURE__*/_jsx("div", {
287
+ ref: containerRef,
211
288
  children: /*#__PURE__*/_jsx(CreatableSelect, {
212
289
  ...props,
213
290
  ...sharedSelectProps,