@payloadcms/ui 4.0.0-internal.cea8867 → 4.0.0-internal.d1cc1d3

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 (319) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +10 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -1
  6. package/dist/elements/AppHeader/index.css +0 -3
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +5 -1
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.d.ts +2 -0
  11. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +65 -24
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  15. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  16. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  17. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  18. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  20. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  21. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  23. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  24. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  25. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  26. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  27. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  28. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  29. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  30. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  31. package/dist/elements/ClipboardAction/index.js +17 -1
  32. package/dist/elements/ClipboardAction/index.js.map +1 -1
  33. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  34. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  35. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  36. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  37. package/dist/elements/ClipboardAction/types.js.map +1 -1
  38. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  39. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  40. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  41. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  42. package/dist/elements/CodeEditor/index.css +0 -5
  43. package/dist/elements/CommandPalette/index.css +0 -7
  44. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  45. package/dist/elements/CreateDocumentButton/index.js +4 -1
  46. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  47. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  48. package/dist/elements/DatePicker/DatePicker.js +1 -0
  49. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  50. package/dist/elements/DatePicker/index.css +1 -1
  51. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  52. package/dist/elements/DeleteDocument/index.js +16 -1
  53. package/dist/elements/DeleteDocument/index.js.map +1 -1
  54. package/dist/elements/EditMany/DrawerContent.js +2 -2
  55. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  56. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  57. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  58. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  59. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  60. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  61. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  62. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  63. package/dist/elements/FileManager/index.css +36 -23
  64. package/dist/elements/FileManager/index.d.ts +1 -1
  65. package/dist/elements/FileManager/index.d.ts.map +1 -1
  66. package/dist/elements/FileManager/index.js +15 -4
  67. package/dist/elements/FileManager/index.js.map +1 -1
  68. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  69. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  70. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  71. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  72. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  73. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  74. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  75. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  76. package/dist/elements/InputStepper/index.css +0 -1
  77. package/dist/elements/Locked/index.css +0 -8
  78. package/dist/elements/Locked/index.d.ts.map +1 -1
  79. package/dist/elements/Locked/index.js +70 -64
  80. package/dist/elements/Locked/index.js.map +1 -1
  81. package/dist/elements/MiniCarousel/index.css +39 -37
  82. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  83. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  84. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  85. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  86. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  87. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  88. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  89. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  90. package/dist/elements/NavGroup/index.css +0 -1
  91. package/dist/elements/PreviewButton/index.d.ts +1 -2
  92. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  93. package/dist/elements/PreviewButton/index.js +11 -5
  94. package/dist/elements/PreviewButton/index.js.map +1 -1
  95. package/dist/elements/PreviewSizes/index.css +8 -9
  96. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  97. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  98. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  99. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  100. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  101. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  102. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  103. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  104. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  105. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  106. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  107. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  108. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  109. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  110. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  111. package/dist/elements/ReactSelect/index.css +7 -3
  112. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  113. package/dist/elements/ReactSelect/index.js +24 -101
  114. package/dist/elements/ReactSelect/index.js.map +1 -1
  115. package/dist/elements/ReactSelect/types.d.ts +1 -2
  116. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  117. package/dist/elements/ReactSelect/types.js.map +1 -1
  118. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  119. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  120. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  121. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  122. package/dist/elements/RelationshipTable/index.css +0 -2
  123. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  124. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  125. package/dist/elements/RelationshipTable/index.js +36 -3
  126. package/dist/elements/RelationshipTable/index.js.map +1 -1
  127. package/dist/elements/RenderTitle/index.css +4 -0
  128. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  129. package/dist/elements/RenderTitle/index.js +18 -13
  130. package/dist/elements/RenderTitle/index.js.map +1 -1
  131. package/dist/elements/SelectRow/index.d.ts +4 -3
  132. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  133. package/dist/elements/SelectRow/index.js +10 -7
  134. package/dist/elements/SelectRow/index.js.map +1 -1
  135. package/dist/elements/SidebarToggle/index.css +0 -17
  136. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  137. package/dist/elements/SortColumn/index.js +42 -38
  138. package/dist/elements/SortColumn/index.js.map +1 -1
  139. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  140. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  141. package/dist/elements/Table/OrderableRow.js +17 -1
  142. package/dist/elements/Table/OrderableRow.js.map +1 -1
  143. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  144. package/dist/elements/Table/OrderableTable.js +19 -2
  145. package/dist/elements/Table/OrderableTable.js.map +1 -1
  146. package/dist/elements/Table/index.css +1 -0
  147. package/dist/elements/TableSection/index.css +0 -1
  148. package/dist/elements/Thumbnail/index.d.ts +1 -1
  149. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  150. package/dist/elements/Thumbnail/index.js.map +1 -1
  151. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  152. package/dist/elements/TimezonePicker/index.js +5 -1
  153. package/dist/elements/TimezonePicker/index.js.map +1 -1
  154. package/dist/elements/Tooltip/index.css +15 -34
  155. package/dist/elements/Tooltip/index.d.ts +11 -3
  156. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  157. package/dist/elements/Tooltip/index.js +151 -85
  158. package/dist/elements/Tooltip/index.js.map +1 -1
  159. package/dist/elements/Upload/index.css +0 -5
  160. package/dist/exports/client/index.d.ts +3 -0
  161. package/dist/exports/client/index.d.ts.map +1 -1
  162. package/dist/exports/client/index.js +1 -1
  163. package/dist/exports/client/index.js.map +3 -3
  164. package/dist/exports/layouts.d.ts +1 -0
  165. package/dist/exports/layouts.d.ts.map +1 -1
  166. package/dist/exports/layouts.js +1 -0
  167. package/dist/exports/layouts.js.map +1 -1
  168. package/dist/exports/shared/index.d.ts +1 -0
  169. package/dist/exports/shared/index.d.ts.map +1 -1
  170. package/dist/exports/shared/index.js +2 -2
  171. package/dist/exports/shared/index.js.map +4 -4
  172. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  173. package/dist/fields/Array/ArrayRow.js +97 -160
  174. package/dist/fields/Array/ArrayRow.js.map +1 -1
  175. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  176. package/dist/fields/Blocks/BlockRow.js +134 -195
  177. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  178. package/dist/fields/Blocks/RowActions.d.ts +2 -0
  179. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  180. package/dist/fields/Blocks/RowActions.js +23 -20
  181. package/dist/fields/Blocks/RowActions.js.map +1 -1
  182. package/dist/fields/Blocks/index.js +3 -3
  183. package/dist/fields/Blocks/index.js.map +1 -1
  184. package/dist/fields/Checkbox/Input.d.ts +2 -0
  185. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  186. package/dist/fields/Checkbox/Input.js +32 -26
  187. package/dist/fields/Checkbox/Input.js.map +1 -1
  188. package/dist/fields/Checkbox/index.css +37 -73
  189. package/dist/fields/FieldError/index.css +0 -9
  190. package/dist/fields/FieldError/index.d.ts.map +1 -1
  191. package/dist/fields/FieldError/index.js +19 -9
  192. package/dist/fields/FieldError/index.js.map +1 -1
  193. package/dist/fields/Join/index.css +9 -0
  194. package/dist/fields/Join/index.d.ts.map +1 -1
  195. package/dist/fields/Join/index.js +13 -9
  196. package/dist/fields/Join/index.js.map +1 -1
  197. package/dist/fields/RadioGroup/index.css +0 -7
  198. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  199. package/dist/fields/Relationship/Input.js +32 -14
  200. package/dist/fields/Relationship/Input.js.map +1 -1
  201. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  202. package/dist/fields/Slug/index.css +0 -1
  203. package/dist/fields/Slug/index.d.ts.map +1 -1
  204. package/dist/fields/Slug/index.js +75 -111
  205. package/dist/fields/Slug/index.js.map +1 -1
  206. package/dist/fields/Upload/index.css +19 -4
  207. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  208. package/dist/forms/Form/fieldReducer.js +3 -1
  209. package/dist/forms/Form/fieldReducer.js.map +1 -1
  210. package/dist/forms/Form/index.d.ts.map +1 -1
  211. package/dist/forms/Form/index.js +9 -15
  212. package/dist/forms/Form/index.js.map +1 -1
  213. package/dist/forms/Form/types.d.ts +1 -1
  214. package/dist/forms/Form/types.d.ts.map +1 -1
  215. package/dist/forms/Form/types.js.map +1 -1
  216. package/dist/forms/RenderFields/index.css +16 -2
  217. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  218. package/dist/forms/WatchChildErrors/index.js +2 -2
  219. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  220. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  221. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  222. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  223. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  224. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  225. package/dist/layouts/Root/index.d.ts +1 -1
  226. package/dist/layouts/Root/index.d.ts.map +1 -1
  227. package/dist/layouts/Root/index.js +8 -2
  228. package/dist/layouts/Root/index.js.map +1 -1
  229. package/dist/layouts/Root/viewport.d.ts +1 -0
  230. package/dist/layouts/Root/viewport.d.ts.map +1 -1
  231. package/dist/layouts/Root/viewport.js +4 -1
  232. package/dist/layouts/Root/viewport.js.map +1 -1
  233. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  234. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  235. package/dist/providers/DocumentTitle/index.js +2 -0
  236. package/dist/providers/DocumentTitle/index.js.map +1 -1
  237. package/dist/providers/Embed/index.d.ts +24 -0
  238. package/dist/providers/Embed/index.d.ts.map +1 -0
  239. package/dist/providers/Embed/index.js +105 -0
  240. package/dist/providers/Embed/index.js.map +1 -0
  241. package/dist/providers/FormErrorHandler/index.d.ts +20 -0
  242. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  243. package/dist/providers/FormErrorHandler/index.js +6 -0
  244. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  245. package/dist/providers/Root/index.d.ts +1 -0
  246. package/dist/providers/Root/index.d.ts.map +1 -1
  247. package/dist/providers/Root/index.js +33 -27
  248. package/dist/providers/Root/index.js.map +1 -1
  249. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  250. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  251. package/dist/providers/SidebarTabs/index.js.map +1 -1
  252. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  253. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  254. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  255. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  256. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  257. package/dist/providers/Theme/index.d.ts +3 -0
  258. package/dist/providers/Theme/index.d.ts.map +1 -1
  259. package/dist/providers/Theme/index.js +107 -95
  260. package/dist/providers/Theme/index.js.map +1 -1
  261. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  262. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  263. package/dist/providers/UploadHandlers/index.js +102 -42
  264. package/dist/providers/UploadHandlers/index.js.map +1 -1
  265. package/dist/styles.css +23 -10
  266. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  267. package/dist/utilities/combineFieldLabel.js +5 -1
  268. package/dist/utilities/combineFieldLabel.js.map +1 -1
  269. package/dist/utilities/generateFieldID.d.ts +1 -1
  270. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  271. package/dist/utilities/generateFieldID.js +2 -2
  272. package/dist/utilities/generateFieldID.js.map +1 -1
  273. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  274. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  275. package/dist/utilities/getRequestEmbed.js +10 -0
  276. package/dist/utilities/getRequestEmbed.js.map +1 -0
  277. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  278. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  279. package/dist/utilities/handleServerFunctions.js +17 -37
  280. package/dist/utilities/handleServerFunctions.js.map +1 -1
  281. package/dist/utilities/renderTable.d.ts.map +1 -1
  282. package/dist/utilities/renderTable.js +18 -2
  283. package/dist/utilities/renderTable.js.map +1 -1
  284. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  285. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  286. package/dist/utilities/serverFunctionRegistry.js +25 -7
  287. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  288. package/dist/utilities/slugify.d.ts.map +1 -1
  289. package/dist/utilities/slugify.js +49 -6
  290. package/dist/utilities/slugify.js.map +1 -1
  291. package/dist/views/Dashboard/Default/ModularDashboard/index.css +0 -8
  292. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  293. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  294. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  295. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  296. package/dist/views/Edit/index.css +61 -53
  297. package/dist/views/HierarchyList/index.css +1 -1
  298. package/dist/views/List/index.css +1 -1
  299. package/dist/views/List/index.d.ts.map +1 -1
  300. package/dist/views/List/index.js +4 -0
  301. package/dist/views/List/index.js.map +1 -1
  302. package/dist/views/Logout/index.d.ts.map +1 -1
  303. package/dist/views/Logout/index.js +11 -0
  304. package/dist/views/Logout/index.js.map +1 -1
  305. package/dist/views/Root/index.d.ts +12 -1
  306. package/dist/views/Root/index.d.ts.map +1 -1
  307. package/dist/views/Root/index.js +10 -3
  308. package/dist/views/Root/index.js.map +1 -1
  309. package/package.json +7 -11
  310. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  311. package/dist/scss/app.scss +0 -183
  312. package/dist/scss/colors.scss +0 -191
  313. package/dist/scss/custom.css +0 -1
  314. package/dist/scss/queries.scss +0 -27
  315. package/dist/scss/styles.scss +0 -9
  316. package/dist/scss/svg.scss +0 -10
  317. package/dist/scss/toastify.scss +0 -61
  318. package/dist/scss/vars.scss +0 -192
  319. package/dist/scss/z-index.scss +0 -9
@@ -1,7 +1,7 @@
1
1
  @layer payload-default {
2
2
  .preview-sizes {
3
3
  margin: var(--spacer-6) calc(var(--gutter-h) * -1) 0 calc(var(--gutter-h) * -1);
4
- border-top: var(--stroke-width-small) solid var(--theme-elevation-150);
4
+ border-top: var(--stroke-width-small) solid var(--color-border);
5
5
  max-height: calc(100vh - var(--spacer-6) * 3);
6
6
  height: 100%;
7
7
  display: flex;
@@ -10,7 +10,7 @@
10
10
 
11
11
  .preview-sizes__imageWrap {
12
12
  min-width: 60%;
13
- border-right: var(--stroke-width-small) solid var(--theme-elevation-150);
13
+ border-right: var(--stroke-width-small) solid var(--color-border);
14
14
  }
15
15
 
16
16
  .preview-sizes__preview {
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  .preview-sizes__meta {
23
- border-bottom: var(--stroke-width-small) solid var(--theme-elevation-150);
23
+ border-bottom: var(--stroke-width-small) solid var(--color-border);
24
24
  padding: var(--spacer-3) var(--gutter-h);
25
25
  display: flex;
26
26
  flex-wrap: wrap;
@@ -41,7 +41,7 @@
41
41
 
42
42
  .preview-sizes__sizeName,
43
43
  .preview-sizes .file-meta__size-type {
44
- color: var(--theme-elevation-600);
44
+ color: var(--color-text-secondary);
45
45
  }
46
46
 
47
47
  .preview-sizes__listWrap {
@@ -61,7 +61,7 @@
61
61
  left: 0;
62
62
  height: calc(var(--spacer-6) * 2);
63
63
  width: 100%;
64
- background: linear-gradient(180deg, transparent 0, var(--theme-bg) 100%);
64
+ background: linear-gradient(180deg, transparent 0, var(--color-bg) 100%);
65
65
  pointer-events: none;
66
66
  }
67
67
 
@@ -79,15 +79,14 @@
79
79
  display: flex;
80
80
  gap: var(--spacer-3);
81
81
  cursor: pointer;
82
- transition: background-color 0.2s ease-in-out;
83
82
  }
84
83
 
85
84
  .preview-sizes__sizeOption:hover {
86
- background-color: var(--theme-elevation-100);
85
+ background-color: var(--color-bg-hover);
87
86
  }
88
87
 
89
88
  .preview-sizes--selected {
90
- background-color: var(--theme-elevation-100);
89
+ background-color: var(--color-bg-secondary);
91
90
  }
92
91
 
93
92
  .preview-sizes__image {
@@ -142,7 +141,7 @@
142
141
  }
143
142
 
144
143
  .preview-sizes__listWrap {
145
- border-top: var(--stroke-width-small) solid var(--theme-elevation-150);
144
+ border-top: var(--stroke-width-small) solid var(--color-border);
146
145
  height: 40%;
147
146
  }
148
147
  }
@@ -6,7 +6,6 @@
6
6
  justify-content: center;
7
7
  flex-shrink: 0;
8
8
  color: var(--color-icon-secondary);
9
- transition: color 100ms;
10
9
 
11
10
  &:hover {
12
11
  color: var(--color-icon);
@@ -0,0 +1,7 @@
1
+ import type { GroupBase } from 'react-select';
2
+ import React from 'react';
3
+ import { components as rsComponents } from 'react-select';
4
+ type DefaultMenuPortalProps<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>> = React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>;
5
+ export declare function DefaultMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(props: DefaultMenuPortalProps<Opt, IsMulti, Group>): React.JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=DefaultMenuPortal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultMenuPortal.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/DefaultMenuPortal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAiBzD,KAAK,sBAAsB,CACzB,GAAG,EACH,OAAO,SAAS,OAAO,EACvB,KAAK,SAAS,SAAS,CAAC,GAAG,CAAC,IAC1B,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAE7E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,SAAS,OAAO,EAAE,KAAK,SAAS,SAAS,CAAC,GAAG,CAAC,EAC1F,KAAK,EAAE,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,qBAoHnD"}
@@ -0,0 +1,120 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom';
3
+ import React, { useCallback, useLayoutEffect, useRef } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ import { components as rsComponents } from 'react-select';
6
+ import { useTheme } from '../../providers/Theme/index.js';
7
+ const FLOATING_MENU_PADDING = 16;
8
+ const FLOATING_MENU_OFFSET = 4;
9
+ export function DefaultMenuPortal(props) {
10
+ const {
11
+ appendTo,
12
+ children,
13
+ controlElement,
14
+ innerProps = {},
15
+ menuPlacement
16
+ } = props;
17
+ const {
18
+ theme
19
+ } = useTheme();
20
+ const floatingRef = useRef(null);
21
+ const rafRef = useRef(null);
22
+ const selectProps = props.selectProps;
23
+ const menuPortalTheme = selectProps.customProps?.menuPortalTheme;
24
+ const updatePosition = useCallback(async () => {
25
+ const floatingElement = floatingRef.current;
26
+ if (!controlElement || !floatingElement) {
27
+ return;
28
+ }
29
+ const placement = menuPlacement === 'top' ? 'top-start' : 'bottom-start';
30
+ const {
31
+ x,
32
+ y
33
+ } = await computePosition(controlElement, floatingElement, {
34
+ middleware: [offset(FLOATING_MENU_OFFSET), flip({
35
+ padding: FLOATING_MENU_PADDING
36
+ }), shift({
37
+ padding: FLOATING_MENU_PADDING
38
+ }), size({
39
+ apply({
40
+ availableHeight,
41
+ elements,
42
+ rects
43
+ }) {
44
+ const maxHeight = `${Math.max(1, Math.floor(availableHeight))}px`;
45
+ const width = `${Math.floor(rects.reference.width)}px`;
46
+ Object.assign(elements.floating.style, {
47
+ '--rs-floating-menu-max-height': maxHeight,
48
+ minWidth: width,
49
+ width
50
+ });
51
+ },
52
+ padding: FLOATING_MENU_PADDING
53
+ })],
54
+ placement,
55
+ strategy: 'fixed'
56
+ });
57
+ Object.assign(floatingElement.style, {
58
+ left: `${x}px`,
59
+ top: `${y}px`
60
+ });
61
+ }, [controlElement, menuPlacement]);
62
+ const setFloatingElement = useCallback(element => {
63
+ floatingRef.current = element;
64
+ void updatePosition();
65
+ }, [updatePosition]);
66
+ useLayoutEffect(() => {
67
+ const floatingElement = floatingRef.current;
68
+ if (!appendTo || !controlElement || !floatingElement || typeof window === 'undefined') {
69
+ return;
70
+ }
71
+ const cleanupAutoUpdate = autoUpdate(controlElement, floatingElement, updatePosition, {
72
+ elementResize: 'ResizeObserver' in window
73
+ });
74
+ const visualViewport = window.visualViewport;
75
+ visualViewport?.addEventListener('resize', updatePosition);
76
+ visualViewport?.addEventListener('scroll', updatePosition);
77
+ rafRef.current = window.requestAnimationFrame(() => {
78
+ void updatePosition();
79
+ });
80
+ return () => {
81
+ cleanupAutoUpdate();
82
+ visualViewport?.removeEventListener('resize', updatePosition);
83
+ visualViewport?.removeEventListener('scroll', updatePosition);
84
+ if (rafRef.current !== null) {
85
+ window.cancelAnimationFrame(rafRef.current);
86
+ }
87
+ };
88
+ }, [appendTo, controlElement, updatePosition]);
89
+ if (!appendTo || !controlElement) {
90
+ const themedInnerProps = {
91
+ ...innerProps,
92
+ 'data-theme': menuPortalTheme ?? theme
93
+ };
94
+ return /*#__PURE__*/_jsx(rsComponents.MenuPortal, {
95
+ ...props,
96
+ innerProps: themedInnerProps
97
+ });
98
+ }
99
+ const {
100
+ className,
101
+ style,
102
+ ...restInnerProps
103
+ } = innerProps;
104
+ const menuWrapper = /*#__PURE__*/_jsx("div", {
105
+ ...restInnerProps,
106
+ className: ['rs__floating-menu-portal', className].filter(Boolean).join(' '),
107
+ "data-theme": menuPortalTheme ?? theme,
108
+ ref: setFloatingElement,
109
+ style: {
110
+ ...style,
111
+ left: 0,
112
+ position: 'fixed',
113
+ top: 0,
114
+ zIndex: 'var(--z-portal-element)'
115
+ },
116
+ children: children
117
+ });
118
+ return /*#__PURE__*/createPortal(menuWrapper, appendTo);
119
+ }
120
+ //# sourceMappingURL=DefaultMenuPortal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultMenuPortal.js","names":["autoUpdate","computePosition","flip","offset","shift","size","React","useCallback","useLayoutEffect","useRef","createPortal","components","rsComponents","useTheme","FLOATING_MENU_PADDING","FLOATING_MENU_OFFSET","DefaultMenuPortal","props","appendTo","children","controlElement","innerProps","menuPlacement","theme","floatingRef","rafRef","selectProps","menuPortalTheme","customProps","updatePosition","floatingElement","current","placement","x","y","middleware","padding","apply","availableHeight","elements","rects","maxHeight","Math","max","floor","width","reference","Object","assign","floating","style","minWidth","strategy","left","top","setFloatingElement","element","window","cleanupAutoUpdate","elementResize","visualViewport","addEventListener","requestAnimationFrame","removeEventListener","cancelAnimationFrame","themedInnerProps","_jsx","MenuPortal","className","restInnerProps","menuWrapper","filter","Boolean","join","ref","position","zIndex"],"sources":["../../../src/elements/ReactSelect/DefaultMenuPortal.tsx"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { GroupBase } from 'react-select'\n\nimport { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport React, { useCallback, useLayoutEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\nimport { components as rsComponents } from 'react-select'\n\nimport type { CustomSelectProps } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\n\nconst FLOATING_MENU_PADDING = 16\nconst FLOATING_MENU_OFFSET = 4\n\ntype FloatingMenuPortalStyle = {\n '--rs-floating-menu-max-height'?: string\n} & CSSProperties\n\ntype ThemedMenuPortalInnerProps = {\n 'data-theme'?: string\n} & React.JSX.IntrinsicElements['div']\n\ntype DefaultMenuPortalProps<\n Opt,\n IsMulti extends boolean,\n Group extends GroupBase<Opt>,\n> = React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>\n\nexport function DefaultMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(\n props: DefaultMenuPortalProps<Opt, IsMulti, Group>,\n) {\n const { appendTo, children, controlElement, innerProps = {}, menuPlacement } = props\n const { theme } = useTheme()\n const floatingRef = useRef<HTMLDivElement | null>(null)\n const rafRef = useRef<null | number>(null)\n const selectProps = props.selectProps as {\n customProps?: CustomSelectProps\n } & typeof props.selectProps\n const menuPortalTheme = selectProps.customProps?.menuPortalTheme\n\n const updatePosition = useCallback(async () => {\n const floatingElement = floatingRef.current\n\n if (!controlElement || !floatingElement) {\n return\n }\n\n const placement = menuPlacement === 'top' ? 'top-start' : 'bottom-start'\n const { x, y } = await computePosition(controlElement, floatingElement, {\n middleware: [\n offset(FLOATING_MENU_OFFSET),\n flip({ padding: FLOATING_MENU_PADDING }),\n shift({ padding: FLOATING_MENU_PADDING }),\n size({\n apply({ availableHeight, elements, rects }) {\n const maxHeight = `${Math.max(1, Math.floor(availableHeight))}px`\n const width = `${Math.floor(rects.reference.width)}px`\n\n Object.assign(elements.floating.style, {\n '--rs-floating-menu-max-height': maxHeight,\n minWidth: width,\n width,\n })\n },\n padding: FLOATING_MENU_PADDING,\n }),\n ],\n placement,\n strategy: 'fixed',\n })\n\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n }, [controlElement, menuPlacement])\n\n const setFloatingElement = useCallback(\n (element: HTMLDivElement | null) => {\n floatingRef.current = element\n void updatePosition()\n },\n [updatePosition],\n )\n\n useLayoutEffect(() => {\n const floatingElement = floatingRef.current\n\n if (!appendTo || !controlElement || !floatingElement || typeof window === 'undefined') {\n return\n }\n\n const cleanupAutoUpdate = autoUpdate(controlElement, floatingElement, updatePosition, {\n elementResize: 'ResizeObserver' in window,\n })\n const visualViewport = window.visualViewport\n\n visualViewport?.addEventListener('resize', updatePosition)\n visualViewport?.addEventListener('scroll', updatePosition)\n rafRef.current = window.requestAnimationFrame(() => {\n void updatePosition()\n })\n\n return () => {\n cleanupAutoUpdate()\n visualViewport?.removeEventListener('resize', updatePosition)\n visualViewport?.removeEventListener('scroll', updatePosition)\n\n if (rafRef.current !== null) {\n window.cancelAnimationFrame(rafRef.current)\n }\n }\n }, [appendTo, controlElement, updatePosition])\n\n if (!appendTo || !controlElement) {\n const themedInnerProps: ThemedMenuPortalInnerProps = {\n ...innerProps,\n 'data-theme': menuPortalTheme ?? theme,\n }\n\n return <rsComponents.MenuPortal {...props} innerProps={themedInnerProps} />\n }\n\n const { className, style, ...restInnerProps } = innerProps\n const menuWrapper = (\n <div\n {...restInnerProps}\n className={['rs__floating-menu-portal', className].filter(Boolean).join(' ')}\n data-theme={menuPortalTheme ?? theme}\n ref={setFloatingElement}\n style={\n {\n ...style,\n left: 0,\n position: 'fixed',\n top: 0,\n zIndex: 'var(--z-portal-element)',\n } as FloatingMenuPortalStyle\n }\n >\n {children}\n </div>\n )\n\n return createPortal(menuWrapper, appendTo)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,6 @@
8
8
  background: var(--color-bg);
9
9
  height: 1.25rem;
10
10
  margin: 0;
11
- transition: border 0.2s cubic-bezier(0.2, 0, 0, 1);
12
11
 
13
12
  &:focus,
14
13
  &:focus-visible {
@@ -8,11 +8,11 @@
8
8
  align-items: center;
9
9
  max-width: 9.375rem;
10
10
  color: currentColor;
11
- padding-left: var(--spacer-1);
11
+ padding-left: var(--spacer-1-5);
12
12
  }
13
13
 
14
14
  .multi-value-label--disabled {
15
- padding-right: var(--spacer-1);
15
+ padding-right: var(--spacer-1-5);
16
16
  }
17
17
 
18
18
  .multi-value-label__text {
@@ -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>>) => MenuListStyles;
4
+ export declare const getMenuListStyles: (externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>, shouldUseFloatingMenuPortal?: boolean) => 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,KAChE,cAQF,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,oBACX,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,gCACnC,OAAO,KACpC,cAiBF,CAAA"}
@@ -1,7 +1,15 @@
1
- export const getMenuListStyles = externalStyles => {
2
- return (rsStyles, state) => ({
3
- ...rsStyles,
4
- ...externalStyles?.menuList?.(rsStyles, state)
5
- });
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
+ };
6
14
  };
7
15
  //# sourceMappingURL=getMenuListStyles.js.map
@@ -1 +1 @@
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":[]}
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":[]}
@@ -0,0 +1,10 @@
1
+ import type { GroupBase, StylesConfig } from 'react-select';
2
+ import type { Option } from './types.js';
3
+ type MenuStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menu']>;
4
+ type Args = {
5
+ externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>;
6
+ shouldUseFloatingMenuPortal: boolean;
7
+ };
8
+ export declare const getMenuStyles: ({ externalStyles, shouldUseFloatingMenuPortal, }: Args) => MenuStyles;
9
+ export {};
10
+ //# sourceMappingURL=getMenuStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMenuStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuStyles.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,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvF,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,2BAA2B,EAAE,OAAO,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,aAAa,qDAGvB,IAAI,KAAG,UAoBT,CAAA"}
@@ -0,0 +1,21 @@
1
+ export const getMenuStyles = ({
2
+ externalStyles,
3
+ shouldUseFloatingMenuPortal
4
+ }) => {
5
+ return (rsStyles, state) => {
6
+ const styles = {
7
+ ...rsStyles,
8
+ zIndex: undefined,
9
+ ...(shouldUseFloatingMenuPortal && {
10
+ bottom: undefined,
11
+ position: 'static',
12
+ top: undefined
13
+ })
14
+ };
15
+ return {
16
+ ...styles,
17
+ ...externalStyles?.menu?.(styles, state)
18
+ };
19
+ };
20
+ };
21
+ //# sourceMappingURL=getMenuStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMenuStyles.js","names":["getMenuStyles","externalStyles","shouldUseFloatingMenuPortal","rsStyles","state","styles","zIndex","undefined","bottom","position","top","menu"],"sources":["../../../src/elements/ReactSelect/getMenuStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menu']>\n\ntype Args = {\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>\n shouldUseFloatingMenuPortal: boolean\n}\n\nexport const getMenuStyles = ({\n externalStyles,\n shouldUseFloatingMenuPortal,\n}: Args): MenuStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menu']>>[1],\n ) => {\n const styles: CSSObjectWithLabel = {\n ...rsStyles,\n zIndex: undefined,\n ...(shouldUseFloatingMenuPortal && {\n bottom: undefined,\n position: 'static',\n top: undefined,\n }),\n }\n\n return {\n ...styles,\n ...externalStyles?.menu?.(styles, state),\n }\n }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,aAAA,GAAgBA,CAAC;EAC5BC,cAAc;EACdC;AAA2B,CACtB;EACL,OAAO,CACLC,QAAA,EACAC,KAAA;IAEA,MAAMC,MAAA,GAA6B;MACjC,GAAGF,QAAQ;MACXG,MAAA,EAAQC,SAAA;MACR,IAAIL,2BAAA,IAA+B;QACjCM,MAAA,EAAQD,SAAA;QACRE,QAAA,EAAU;QACVC,GAAA,EAAKH;MACP,CAAC;IACH;IAEA,OAAO;MACL,GAAGF,MAAM;MACT,GAAGJ,cAAA,EAAgBU,IAAA,GAAON,MAAA,EAAQD,KAAA;IACpC;EACF;AACF","ignoreList":[]}
@@ -18,9 +18,6 @@
18
18
  line-height: var(--text-body-medium-line-height);
19
19
  -webkit-appearance: none;
20
20
  appearance: none;
21
- transition-property: box-shadow, background-color;
22
- transition-duration: 100ms;
23
- transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
24
21
  height: auto;
25
22
  padding-block: calc(var(--spacer-1) + 1px);
26
23
  padding-inline: var(--field-padding-inline) var(--spacer-5);
@@ -102,6 +99,13 @@
102
99
  margin-bottom: var(--spacer-1);
103
100
  }
104
101
 
102
+ .rs__floating-menu-portal {
103
+ .rs__menu--placement-bottom,
104
+ .rs__menu--placement-top {
105
+ margin-block: 0;
106
+ }
107
+ }
108
+
105
109
  .rs__menu-list {
106
110
  overflow-y: auto;
107
111
  }
@@ -1 +1 @@
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
+ {"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,22 +1,22 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx } from "react/jsx-runtime";
5
4
  import { arrayMove } from '@dnd-kit/sortable';
6
5
  import { getTranslation } from '@payloadcms/translations';
7
- import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from 'react';
8
- import Select, { components as rsComponents } from 'react-select';
6
+ import React, { useCallback, useEffect, useId, useMemo, useState } from 'react';
7
+ import Select from 'react-select';
9
8
  import CreatableSelect from 'react-select/creatable';
10
9
  import { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js';
11
- import { useTheme } from '../../providers/Theme/index.js';
12
10
  import { useTranslation } from '../../providers/Translation/index.js';
13
11
  import { DraggableSortable } from '../DraggableSortable/index.js';
14
12
  import { ShimmerEffect } from '../ShimmerEffect/index.js';
15
13
  import { ClearIndicator } from './ClearIndicator/index.js';
16
14
  import { Control } from './Control/index.js';
15
+ import { DefaultMenuPortal } from './DefaultMenuPortal.js';
17
16
  import { DropdownIndicator } from './DropdownIndicator/index.js';
18
17
  import { getCaptureMenuScroll } from './getCaptureMenuScroll.js';
19
18
  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,36 +24,7 @@ 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
- }
53
27
  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
- ;
57
28
  const SelectAdapter = props => {
58
29
  const {
59
30
  i18n,
@@ -63,10 +34,6 @@ const SelectAdapter = props => {
63
34
  ;
64
35
  const uuid = useId();
65
36
  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);
70
37
  const {
71
38
  captureMenuScroll: captureMenuScrollProp,
72
39
  className,
@@ -94,43 +61,14 @@ const SelectAdapter = props => {
94
61
  } = props;
95
62
  const menuPortalTarget = menuPortalTargetProp === undefined ? typeof document !== 'undefined' ? document.body : null : menuPortalTargetProp;
96
63
  const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined);
64
+ const shouldUseFloatingMenuPortal = Boolean(menuPortalTarget && !components?.MenuPortal);
97
65
  const captureMenuScroll = getCaptureMenuScroll({
98
66
  captureMenuScroll: captureMenuScrollProp,
99
67
  menuPortalTarget
100
68
  });
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]);
117
69
  useEffect(() => {
118
70
  setHasMounted(true);
119
71
  }, []);
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]);
134
72
  // Debounce the loading state so that fast option fetches (e.g. relationship
135
73
  // fields that resolve almost instantly) don't cause the clear indicator to
136
74
  // flash to react-select's loading indicator and back. The loading indicator
@@ -139,15 +77,6 @@ const SelectAdapter = props => {
139
77
  useDebouncedEffect(() => {
140
78
  setIsLoadingDebounced(isLoading);
141
79
  }, [isLoading], 250);
142
- const handleMenuOpen = () => {
143
- setIsMenuOpen(true);
144
- requestAnimationFrame(updateMenuViewportSettings);
145
- onMenuOpen?.();
146
- };
147
- const handleMenuClose = () => {
148
- setIsMenuOpen(false);
149
- onMenuClose?.();
150
- };
151
80
  const menuClassName = useCallback(state => {
152
81
  const placement = state.placement ? `rs__menu--placement-${state.placement}` : '';
153
82
  const external = externalClassNames?.menu?.(state) ?? '';
@@ -166,7 +95,7 @@ const SelectAdapter = props => {
166
95
  Control,
167
96
  DropdownIndicator,
168
97
  Input,
169
- MenuPortal: ThemedMenuPortal,
98
+ MenuPortal: DefaultMenuPortal,
170
99
  MultiValue,
171
100
  MultiValueLabel,
172
101
  MultiValueRemove,
@@ -187,50 +116,46 @@ const SelectAdapter = props => {
187
116
  isLoading: isLoadingDebounced,
188
117
  isSearchable,
189
118
  loadingMessage: () => t('general:loading') + '...',
190
- maxMenuHeight,
191
- menuPlacement,
119
+ maxMenuHeight: DEFAULT_MAX_MENU_HEIGHT,
120
+ menuPlacement: 'auto',
192
121
  menuPortalTarget,
193
122
  menuPosition,
194
123
  menuShouldBlockScroll: false,
195
124
  noOptionsMessage,
196
125
  onChange,
197
- onMenuClose: handleMenuClose,
198
- onMenuOpen: handleMenuOpen,
126
+ onMenuClose,
127
+ onMenuOpen,
199
128
  options,
200
129
  placeholder: getTranslation(placeholder, i18n),
201
130
  styles: {
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)
131
+ menu: getMenuStyles({
132
+ externalStyles,
133
+ shouldUseFloatingMenuPortal
209
134
  }),
210
135
  // When portaling to document.body, the portal container needs an explicit
211
136
  // z-index so the menu appears above drawers and dialogs. unstyled={true}
212
137
  // strips react-select's default zIndex:9999 from the portal container.
213
138
  ...(menuPortalTarget && {
214
- menuPortal: (rsStyles_0, state_2) => ({
215
- ...rsStyles_0,
216
- zIndex: 9999,
217
- ...externalStyles?.menuPortal?.(rsStyles_0, state_2)
139
+ menuPortal: (rsStyles, state_1) => ({
140
+ ...rsStyles,
141
+ zIndex: 'var(--z-portal-element)',
142
+ ...externalStyles?.menuPortal?.(rsStyles, state_1)
218
143
  })
219
144
  }),
220
145
  // Remove the default react-select min-height so our CSS can control it
221
- control: (rsStyles_1, state_3) => ({
222
- ...rsStyles_1,
146
+ control: (rsStyles_0, state_2) => ({
147
+ ...rsStyles_0,
223
148
  minHeight: undefined,
224
- ...externalStyles?.control?.(rsStyles_1, state_3)
149
+ ...externalStyles?.control?.(rsStyles_0, state_2)
225
150
  }),
226
151
  // Allow external option styles to override emotion defaults
227
- option: (rsStyles_2, state_4) => ({
228
- ...rsStyles_2,
229
- ...externalStyles?.option?.(rsStyles_2, state_4)
152
+ option: (rsStyles_1, state_3) => ({
153
+ ...rsStyles_1,
154
+ ...externalStyles?.option?.(rsStyles_1, state_3)
230
155
  }),
231
156
  // Keep react-select's computed maxHeight so the menu can fit available
232
157
  // viewport space near screen edges (instead of using a fixed class value).
233
- menuList: getMenuListStyles(externalStyles)
158
+ menuList: getMenuListStyles(externalStyles, shouldUseFloatingMenuPortal)
234
159
  },
235
160
  unstyled: true
236
161
  };
@@ -241,7 +166,6 @@ const SelectAdapter = props => {
241
166
  }
242
167
  if (!isCreatable) {
243
168
  return /*#__PURE__*/_jsx("div", {
244
- ref: containerRef,
245
169
  children: /*#__PURE__*/_jsx(Select, {
246
170
  ...props,
247
171
  ...sharedSelectProps,
@@ -284,7 +208,6 @@ const SelectAdapter = props => {
284
208
  }
285
209
  };
286
210
  return /*#__PURE__*/_jsx("div", {
287
- ref: containerRef,
288
211
  children: /*#__PURE__*/_jsx(CreatableSelect, {
289
212
  ...props,
290
213
  ...sharedSelectProps,