@payloadcms/ui 4.0.0-internal.5d5a2b2 → 4.0.0-internal.688c4d0

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 (493) hide show
  1. package/dist/css/colors.css +107 -60
  2. package/dist/css/radius.css +1 -3
  3. package/dist/css/theme.css +4 -0
  4. package/dist/css/utilities.css +5 -0
  5. package/dist/elements/APIKeyInput/index.css +92 -0
  6. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  7. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  8. package/dist/elements/APIKeyInput/index.js +86 -0
  9. package/dist/elements/APIKeyInput/index.js.map +1 -0
  10. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  11. package/dist/elements/AddNewRelation/index.js +85 -103
  12. package/dist/elements/AddNewRelation/index.js.map +1 -1
  13. package/dist/elements/AppHeader/index.d.ts +2 -1
  14. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.js +7 -27
  16. package/dist/elements/AppHeader/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  18. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  20. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  29. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  38. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  43. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  45. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/Button/index.css +8 -0
  50. package/dist/elements/Chip/index.css +1 -1
  51. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  53. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  54. package/dist/elements/ColumnSelector/index.js +1 -1
  55. package/dist/elements/ColumnSelector/index.js.map +1 -1
  56. package/dist/elements/Combobox/index.css +9 -8
  57. package/dist/elements/ConfirmationModal/index.css +7 -0
  58. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  59. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  60. package/dist/elements/ConfirmationModal/index.js +7 -3
  61. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  62. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  63. package/dist/elements/DatePicker/DatePicker.js +4 -2
  64. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  65. package/dist/elements/DatePicker/index.css +5 -0
  66. package/dist/elements/DatePicker/index.js +1 -1
  67. package/dist/elements/DatePicker/index.js.map +1 -1
  68. package/dist/elements/DeleteMany/index.d.ts +3 -26
  69. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  70. package/dist/elements/DeleteMany/index.js +1 -95
  71. package/dist/elements/DeleteMany/index.js.map +1 -1
  72. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  73. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  74. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  75. package/dist/elements/Dialog/index.css +4 -0
  76. package/dist/elements/DocumentControls/index.css +10 -0
  77. package/dist/elements/DocumentControls/index.d.ts +6 -0
  78. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  79. package/dist/elements/DocumentControls/index.js +7 -6
  80. package/dist/elements/DocumentControls/index.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  82. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  83. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  85. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  86. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  87. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +148 -87
  88. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  90. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  92. package/dist/elements/DocumentFields/index.css +61 -2
  93. package/dist/elements/DraggableSortable/index.js.map +1 -1
  94. package/dist/elements/Drawer/index.css +57 -26
  95. package/dist/elements/Drawer/index.d.ts +25 -0
  96. package/dist/elements/Drawer/index.d.ts.map +1 -1
  97. package/dist/elements/Drawer/index.js +133 -54
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/Drawer/types.d.ts +1 -0
  100. package/dist/elements/Drawer/types.d.ts.map +1 -1
  101. package/dist/elements/Drawer/types.js.map +1 -1
  102. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  103. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  104. package/dist/elements/EditMany/DrawerContent.js +76 -71
  105. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  106. package/dist/elements/EditMany/index.css +71 -0
  107. package/dist/elements/EditMany/index.d.ts +9 -11
  108. package/dist/elements/EditMany/index.d.ts.map +1 -1
  109. package/dist/elements/EditMany/index.js +2 -40
  110. package/dist/elements/EditMany/index.js.map +1 -1
  111. package/dist/elements/FieldSelect/index.css +3 -0
  112. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  113. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  114. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  115. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  116. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  117. package/dist/elements/GroupByControl/index.d.ts.map +1 -1
  118. package/dist/elements/GroupByControl/index.js +5 -6
  119. package/dist/elements/GroupByControl/index.js.map +1 -1
  120. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  121. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  122. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  123. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  125. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  126. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  128. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  129. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  130. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  131. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  132. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  133. package/dist/elements/Hierarchy/Field/index.css +37 -0
  134. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  135. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  136. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  137. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  138. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  139. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  140. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  141. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  142. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  143. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  144. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  145. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  146. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  147. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  148. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  149. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  150. package/dist/elements/ListControls/index.css +5 -0
  151. package/dist/elements/ListControls/index.d.ts.map +1 -1
  152. package/dist/elements/ListControls/index.js +1 -1
  153. package/dist/elements/ListControls/index.js.map +1 -1
  154. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  155. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  156. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  157. package/dist/elements/ListSelection/index.css +1 -1
  158. package/dist/elements/LoadMoreRow/index.css +34 -0
  159. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  160. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  161. package/dist/elements/LoadMoreRow/index.js +4 -8
  162. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  163. package/dist/elements/Loading/index.css +28 -74
  164. package/dist/elements/Loading/index.d.ts.map +1 -1
  165. package/dist/elements/Loading/index.js +16 -60
  166. package/dist/elements/Loading/index.js.map +1 -1
  167. package/dist/elements/Localizer/index.d.ts.map +1 -1
  168. package/dist/elements/Localizer/index.js +3 -4
  169. package/dist/elements/Localizer/index.js.map +1 -1
  170. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  171. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  172. package/dist/elements/MenuSeparator/index.js +10 -0
  173. package/dist/elements/MenuSeparator/index.js.map +1 -0
  174. package/dist/elements/Nav/index.d.ts.map +1 -1
  175. package/dist/elements/Nav/index.js +4 -23
  176. package/dist/elements/Nav/index.js.map +1 -1
  177. package/dist/elements/Pill/index.css +1 -1
  178. package/dist/elements/PillSelector/index.css +1 -1
  179. package/dist/elements/Popup/PopupButtonList/index.css +43 -4
  180. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  181. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  182. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  183. package/dist/elements/Popup/PopupGroupLabel/index.css +12 -0
  184. package/dist/elements/Popup/index.d.ts +7 -0
  185. package/dist/elements/Popup/index.d.ts.map +1 -1
  186. package/dist/elements/Popup/index.js +125 -59
  187. package/dist/elements/Popup/index.js.map +1 -1
  188. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  189. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  190. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  191. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  192. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  193. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  194. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  195. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  196. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  197. package/dist/elements/PublishButton/index.js +4 -5
  198. package/dist/elements/PublishButton/index.js.map +1 -1
  199. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  200. package/dist/elements/ReactSelect/index.css +53 -52
  201. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  202. package/dist/elements/ReactSelect/index.js +87 -11
  203. package/dist/elements/ReactSelect/index.js.map +1 -1
  204. package/dist/elements/ReactSelect/types.d.ts +6 -1
  205. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  206. package/dist/elements/ReactSelect/types.js.map +1 -1
  207. package/dist/elements/RenderTitle/index.css +10 -0
  208. package/dist/elements/RenderTitle/index.d.ts +5 -0
  209. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  210. package/dist/elements/RenderTitle/index.js +52 -27
  211. package/dist/elements/RenderTitle/index.js.map +1 -1
  212. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  213. package/dist/elements/SchedulePublishButton/index.js +6 -1
  214. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  215. package/dist/elements/SelectMany/index.js +1 -1
  216. package/dist/elements/SelectMany/index.js.map +1 -1
  217. package/dist/elements/Spinner/index.css +16 -0
  218. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  219. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  220. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  221. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  222. package/dist/elements/Table/OrderableRow.js +1 -1
  223. package/dist/elements/Table/OrderableRow.js.map +1 -1
  224. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  225. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  226. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  227. package/dist/elements/Table/index.css +17 -10
  228. package/dist/elements/Tabs/index.css +100 -0
  229. package/dist/elements/Tabs/index.d.ts +32 -0
  230. package/dist/elements/Tabs/index.d.ts.map +1 -0
  231. package/dist/elements/Tabs/index.js +62 -0
  232. package/dist/elements/Tabs/index.js.map +1 -0
  233. package/dist/elements/TimezonePicker/index.css +58 -24
  234. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  235. package/dist/elements/TimezonePicker/index.js +31 -4
  236. package/dist/elements/TimezonePicker/index.js.map +1 -1
  237. package/dist/elements/Tooltip/index.css +20 -4
  238. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  239. package/dist/elements/Tooltip/index.js +71 -3
  240. package/dist/elements/Tooltip/index.js.map +1 -1
  241. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  242. package/dist/elements/UnpublishButton/index.js +5 -13
  243. package/dist/elements/UnpublishButton/index.js.map +1 -1
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  245. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  246. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  247. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  248. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +11 -0
  249. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  250. package/dist/elements/UserMenu/SettingsMenu/index.js +114 -0
  251. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  252. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  253. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  254. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  255. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  256. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  257. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  258. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  259. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  260. package/dist/elements/UserMenu/index.css +80 -0
  261. package/dist/elements/UserMenu/index.d.ts +9 -0
  262. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  263. package/dist/elements/UserMenu/index.js +201 -0
  264. package/dist/elements/UserMenu/index.js.map +1 -0
  265. package/dist/elements/WhereBuilder/Condition/index.css +1 -1
  266. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  267. package/dist/elements/WhereBuilder/Condition/index.js +3 -0
  268. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  269. package/dist/exports/client/index.d.ts +12 -1
  270. package/dist/exports/client/index.d.ts.map +1 -1
  271. package/dist/exports/client/index.js +2 -2
  272. package/dist/exports/client/index.js.map +3 -3
  273. package/dist/exports/shared/index.js +2 -2
  274. package/dist/exports/shared/index.js.map +2 -2
  275. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  276. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  277. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  278. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  279. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  280. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  281. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  282. package/dist/fields/Blocks/index.d.ts.map +1 -1
  283. package/dist/fields/Blocks/index.js +6 -11
  284. package/dist/fields/Blocks/index.js.map +1 -1
  285. package/dist/fields/Group/index.css +1 -1
  286. package/dist/fields/Join/index.js +1 -1
  287. package/dist/fields/Join/index.js.map +1 -1
  288. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  289. package/dist/fields/Row/index.d.ts +1 -1
  290. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  291. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  292. package/dist/fields/Tabs/Tab/index.js +12 -23
  293. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  294. package/dist/fields/Tabs/index.d.ts.map +1 -1
  295. package/dist/fields/Tabs/index.js +37 -37
  296. package/dist/fields/Tabs/index.js.map +1 -1
  297. package/dist/fields/Upload/HasMany/index.css +4 -0
  298. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  299. package/dist/forms/RenderFields/RenderField.js +2 -1
  300. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  301. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  302. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  303. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  304. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  305. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  306. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  307. package/dist/forms/useField/index.js.map +1 -1
  308. package/dist/icons/Dots/index.css +4 -4
  309. package/dist/icons/Gear/index.d.ts.map +1 -1
  310. package/dist/icons/Gear/index.js +8 -1
  311. package/dist/icons/Gear/index.js.map +1 -1
  312. package/dist/icons/InteractionEnter/index.css +5 -0
  313. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  314. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  315. package/dist/icons/InteractionEnter/index.js +25 -0
  316. package/dist/icons/InteractionEnter/index.js.map +1 -0
  317. package/dist/icons/{Write → Key}/index.css +1 -1
  318. package/dist/icons/Key/index.d.ts +7 -0
  319. package/dist/icons/Key/index.d.ts.map +1 -0
  320. package/dist/icons/Key/index.js +24 -0
  321. package/dist/icons/Key/index.js.map +1 -0
  322. package/dist/icons/LogOut/index.js +2 -2
  323. package/dist/icons/LogOut/index.js.map +1 -1
  324. package/dist/icons/Schedule/index.d.ts.map +1 -1
  325. package/dist/icons/Schedule/index.js +38 -39
  326. package/dist/icons/Schedule/index.js.map +1 -1
  327. package/dist/icons/VariableColor/index.css +5 -0
  328. package/dist/icons/VariableColor/index.d.ts +7 -0
  329. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  330. package/dist/icons/VariableColor/index.js +23 -0
  331. package/dist/icons/VariableColor/index.js.map +1 -0
  332. package/dist/icons/WarningTriangle/index.css +5 -0
  333. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  334. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  335. package/dist/icons/WarningTriangle/index.js +21 -0
  336. package/dist/icons/WarningTriangle/index.js.map +1 -0
  337. package/dist/icons/Write/index.d.ts +0 -1
  338. package/dist/icons/Write/index.d.ts.map +1 -1
  339. package/dist/icons/Write/index.js +1 -2
  340. package/dist/icons/Write/index.js.map +1 -1
  341. package/dist/providers/Auth/index.d.ts +3 -1
  342. package/dist/providers/Auth/index.d.ts.map +1 -1
  343. package/dist/providers/Auth/index.js +8 -3
  344. package/dist/providers/Auth/index.js.map +1 -1
  345. package/dist/providers/Config/index.js.map +1 -1
  346. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  347. package/dist/providers/DocumentInfo/index.js +4 -0
  348. package/dist/providers/DocumentInfo/index.js.map +1 -1
  349. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  350. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  351. package/dist/providers/DocumentInfo/types.js.map +1 -1
  352. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  353. package/dist/providers/ListQuery/index.js +1 -8
  354. package/dist/providers/ListQuery/index.js.map +1 -1
  355. package/dist/providers/Root/index.d.ts.map +1 -1
  356. package/dist/providers/Root/index.js +27 -24
  357. package/dist/providers/Root/index.js.map +1 -1
  358. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  359. package/dist/providers/Theme/index.d.ts +17 -2
  360. package/dist/providers/Theme/index.d.ts.map +1 -1
  361. package/dist/providers/Theme/index.js +126 -75
  362. package/dist/providers/Theme/index.js.map +1 -1
  363. package/dist/styles.css +1 -1
  364. package/dist/templates/Default/index.d.ts.map +1 -1
  365. package/dist/templates/Default/index.js +9 -1
  366. package/dist/templates/Default/index.js.map +1 -1
  367. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  368. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  369. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  370. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  371. package/dist/utilities/copyDataFromLocale.js +1 -1
  372. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  373. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  374. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  375. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  376. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  377. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  378. package/dist/utilities/getHasScheduledPublish.js +38 -0
  379. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  380. package/dist/utilities/getVersions.d.ts.map +1 -1
  381. package/dist/utilities/getVersions.js +1 -21
  382. package/dist/utilities/getVersions.js.map +1 -1
  383. package/dist/utilities/renderTable.js +1 -1
  384. package/dist/utilities/renderTable.js.map +1 -1
  385. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  386. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  387. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  388. package/dist/views/Account/ResetPreferences/index.js +1 -0
  389. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  390. package/dist/views/Account/Settings/index.css +30 -13
  391. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  392. package/dist/views/Account/ToggleTheme/index.js +31 -47
  393. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  394. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  395. package/dist/views/Document/index.d.ts.map +1 -1
  396. package/dist/views/Document/index.js +10 -1
  397. package/dist/views/Document/index.js.map +1 -1
  398. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  399. package/dist/views/Edit/Auth/APIKey.js +10 -32
  400. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  401. package/dist/views/Edit/Auth/index.css +0 -67
  402. package/dist/views/Edit/index.d.ts.map +1 -1
  403. package/dist/views/Edit/index.js +62 -48
  404. package/dist/views/Edit/index.js.map +1 -1
  405. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  406. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  407. package/dist/views/List/ListHeader/index.css +23 -1
  408. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  409. package/dist/views/List/ListHeader/index.js +0 -1
  410. package/dist/views/List/ListHeader/index.js.map +1 -1
  411. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  412. package/dist/views/List/ListSelection/index.js +80 -29
  413. package/dist/views/List/ListSelection/index.js.map +1 -1
  414. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  415. package/dist/views/List/handleGroupBy.js +9 -0
  416. package/dist/views/List/handleGroupBy.js.map +1 -1
  417. package/dist/views/List/index.client.d.ts.map +1 -1
  418. package/dist/views/List/index.client.js +4 -3
  419. package/dist/views/List/index.client.js.map +1 -1
  420. package/dist/views/List/index.css +15 -0
  421. package/dist/views/List/index.d.ts.map +1 -1
  422. package/dist/views/List/index.js +11 -4
  423. package/dist/views/List/index.js.map +1 -1
  424. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  425. package/dist/views/List/renderListViewSlots.js +8 -0
  426. package/dist/views/List/renderListViewSlots.js.map +1 -1
  427. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  428. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  429. package/dist/views/Logout/LogoutClient.js +38 -32
  430. package/dist/views/Logout/LogoutClient.js.map +1 -1
  431. package/dist/views/Logout/index.d.ts.map +1 -1
  432. package/dist/views/Logout/index.js +7 -2
  433. package/dist/views/Logout/index.js.map +1 -1
  434. package/dist/views/Verify/index.client.d.ts +4 -0
  435. package/dist/views/Verify/index.client.d.ts.map +1 -1
  436. package/dist/views/Verify/index.client.js +81 -0
  437. package/dist/views/Verify/index.client.js.map +1 -1
  438. package/dist/views/Verify/index.css +38 -0
  439. package/dist/views/Verify/index.d.ts +1 -1
  440. package/dist/views/Verify/index.d.ts.map +1 -1
  441. package/dist/views/Verify/index.js +13 -19
  442. package/dist/views/Verify/index.js.map +1 -1
  443. package/dist/views/Version/Default/index.css +3 -5
  444. package/dist/views/Version/Default/index.d.ts.map +1 -1
  445. package/dist/views/Version/Default/index.js +7 -28
  446. package/dist/views/Version/Default/index.js.map +1 -1
  447. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -2
  448. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  449. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  450. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  451. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +3 -3
  452. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  453. package/dist/views/Version/Restore/index.css +2 -2
  454. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  455. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  456. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  457. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  458. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  459. package/dist/views/Version/SelectComparison/index.css +5 -0
  460. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  461. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  462. package/dist/views/Version/SelectComparison/index.js +1 -1
  463. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  464. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  465. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  466. package/dist/views/Version/SelectLocales/index.js +83 -32
  467. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  468. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  469. package/dist/views/Versions/index.css +20 -13
  470. package/dist/views/Versions/index.d.ts +1 -1
  471. package/dist/views/Versions/index.d.ts.map +1 -1
  472. package/dist/views/Versions/index.js +3 -26
  473. package/dist/views/Versions/index.js.map +1 -1
  474. package/package.json +5 -5
  475. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  476. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  477. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  478. package/dist/elements/EditMany/index.scss +0 -182
  479. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  480. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  481. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  482. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  483. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  484. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  485. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  486. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  487. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  488. package/dist/elements/LoadMoreRow/index.scss +0 -45
  489. package/dist/fields/Tabs/Tab/index.css +0 -82
  490. package/dist/views/Unauthorized/index.scss +0 -14
  491. package/dist/views/Verify/index.scss +0 -18
  492. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  493. package/dist/views/Version/SelectComparison/index.scss +0 -9
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const ThemeMenuContent: React.FC;
3
+ export declare const ThemeMenu: React.FC<{
4
+ readonly onMobileOpen?: () => void;
5
+ }>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/UserMenu/ThemeMenu/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA2BpC,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CACnC,CAsDA,CAAA"}
@@ -0,0 +1,145 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { ChevronIcon } from '../../../icons/Chevron/index.js';
7
+ import { VariableColorIcon } from '../../../icons/VariableColor/index.js';
8
+ import { useTheme } from '../../../providers/Theme/index.js';
9
+ import { useTranslation } from '../../../providers/Translation/index.js';
10
+ import { Popup, PopupList } from '../../Popup/index.js';
11
+ export const ThemeMenuContent = () => {
12
+ const $ = _c(5);
13
+ const {
14
+ autoMode,
15
+ setTheme,
16
+ theme
17
+ } = useTheme();
18
+ const {
19
+ t
20
+ } = useTranslation();
21
+ let t0;
22
+ if ($[0] !== autoMode || $[1] !== setTheme || $[2] !== t || $[3] !== theme) {
23
+ const options = [{
24
+ label: t("general:auto"),
25
+ value: "auto"
26
+ }, {
27
+ label: t("general:light"),
28
+ value: "light"
29
+ }, {
30
+ label: t("general:dark"),
31
+ value: "dark"
32
+ }];
33
+ const activeValue = autoMode ? "auto" : theme;
34
+ t0 = _jsx("div", {
35
+ "data-popup-prevent-close": true,
36
+ children: _jsx(PopupList.RadioGroup, {
37
+ children: options.map(t1 => {
38
+ const {
39
+ label,
40
+ value
41
+ } = t1;
42
+ return _jsx(PopupList.RadioGroupItem, {
43
+ active: activeValue === value,
44
+ onClick: () => setTheme(value),
45
+ children: label
46
+ }, value);
47
+ })
48
+ })
49
+ });
50
+ $[0] = autoMode;
51
+ $[1] = setTheme;
52
+ $[2] = t;
53
+ $[3] = theme;
54
+ $[4] = t0;
55
+ } else {
56
+ t0 = $[4];
57
+ }
58
+ return t0;
59
+ };
60
+ export const ThemeMenu = t0 => {
61
+ const $ = _c(5);
62
+ const {
63
+ onMobileOpen
64
+ } = t0;
65
+ const {
66
+ t
67
+ } = useTranslation();
68
+ if (onMobileOpen) {
69
+ let t1;
70
+ if ($[0] !== onMobileOpen || $[1] !== t) {
71
+ t1 = _jsxs("button", {
72
+ className: "popup-button-list__button popup-button-list__button--submenu-trigger",
73
+ "data-popup-prevent-close": true,
74
+ onClick: onMobileOpen,
75
+ type: "button",
76
+ children: [_jsx("span", {
77
+ className: "popup-button-list__submenu-icon",
78
+ children: _jsx(VariableColorIcon, {
79
+ size: 24
80
+ })
81
+ }), _jsx("span", {
82
+ className: "popup-button-list__label",
83
+ children: t("general:theme")
84
+ }), _jsx("span", {
85
+ className: "popup-button-list__chevron",
86
+ children: _jsx(ChevronIcon, {
87
+ direction: "right",
88
+ size: 24
89
+ })
90
+ })]
91
+ });
92
+ $[0] = onMobileOpen;
93
+ $[1] = t;
94
+ $[2] = t1;
95
+ } else {
96
+ t1 = $[2];
97
+ }
98
+ return t1;
99
+ }
100
+ let t1;
101
+ if ($[3] !== t) {
102
+ t1 = _jsx(Popup, {
103
+ renderButton: t2 => {
104
+ const {
105
+ active,
106
+ onClick,
107
+ onKeyDown,
108
+ ...aria
109
+ } = t2;
110
+ return _jsxs("button", {
111
+ ...aria,
112
+ className: ["popup-button-list__button", "popup-button-list__button--submenu-trigger", active && "popup-button-list__button--selected"].filter(Boolean).join(" "),
113
+ onClick,
114
+ onKeyDown,
115
+ type: "button",
116
+ children: [_jsx("span", {
117
+ className: "popup-button-list__submenu-icon",
118
+ children: _jsx(VariableColorIcon, {
119
+ size: 24
120
+ })
121
+ }), _jsx("span", {
122
+ className: "popup-button-list__label",
123
+ children: t("general:theme")
124
+ }), _jsx("span", {
125
+ className: "popup-button-list__chevron",
126
+ children: _jsx(ChevronIcon, {
127
+ direction: "right",
128
+ size: 24
129
+ })
130
+ })]
131
+ });
132
+ },
133
+ side: "left",
134
+ size: "large",
135
+ theme: "dark",
136
+ children: _jsx(ThemeMenuContent, {})
137
+ });
138
+ $[3] = t;
139
+ $[4] = t1;
140
+ } else {
141
+ t1 = $[4];
142
+ }
143
+ return t1;
144
+ };
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","VariableColorIcon","useTheme","useTranslation","Popup","PopupList","ThemeMenuContent","$","autoMode","setTheme","theme","t","t0","options","label","value","activeValue","_jsx","children","RadioGroup","map","t1","RadioGroupItem","active","onClick","ThemeMenu","onMobileOpen","_jsxs","className","type","size","direction","renderButton","t2","onKeyDown","aria","filter","Boolean","join"],"sources":["../../../../src/elements/UserMenu/ThemeMenu/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { VariableColorIcon } from '../../../icons/VariableColor/index.js'\nimport { useTheme } from '../../../providers/Theme/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\n\nexport const ThemeMenuContent: React.FC = () => {\n const { autoMode, setTheme, theme } = useTheme()\n const { t } = useTranslation()\n\n const options: { label: string; value: 'auto' | 'dark' | 'light' }[] = [\n { label: t('general:auto'), value: 'auto' },\n { label: t('general:light'), value: 'light' },\n { label: t('general:dark'), value: 'dark' },\n ]\n\n const activeValue: 'auto' | 'dark' | 'light' = autoMode ? 'auto' : theme\n\n return (\n <div data-popup-prevent-close>\n <PopupList.RadioGroup>\n {options.map(({ label, value }) => (\n <PopupList.RadioGroupItem\n active={activeValue === value}\n key={value}\n onClick={() => setTheme(value)}\n >\n {label}\n </PopupList.RadioGroupItem>\n ))}\n </PopupList.RadioGroup>\n </div>\n )\n}\n\nexport const ThemeMenu: React.FC<{\n readonly onMobileOpen?: () => void\n}> = ({ onMobileOpen }) => {\n const { t } = useTranslation()\n\n if (onMobileOpen) {\n return (\n <button\n className=\"popup-button-list__button popup-button-list__button--submenu-trigger\"\n data-popup-prevent-close\n onClick={onMobileOpen}\n type=\"button\"\n >\n <span className=\"popup-button-list__submenu-icon\">\n <VariableColorIcon size={24} />\n </span>\n <span className=\"popup-button-list__label\">{t('general:theme')}</span>\n <span className=\"popup-button-list__chevron\">\n <ChevronIcon direction=\"right\" size={24} />\n </span>\n </button>\n )\n }\n\n return (\n <Popup\n renderButton={({ active, onClick, onKeyDown, ...aria }) => (\n <button\n {...aria}\n className={[\n 'popup-button-list__button',\n 'popup-button-list__button--submenu-trigger',\n active && 'popup-button-list__button--selected',\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={onClick}\n onKeyDown={onKeyDown}\n type=\"button\"\n >\n <span className=\"popup-button-list__submenu-icon\">\n <VariableColorIcon size={24} />\n </span>\n <span className=\"popup-button-list__label\">{t('general:theme')}</span>\n <span className=\"popup-button-list__chevron\">\n <ChevronIcon direction=\"right\" size={24} />\n </span>\n </button>\n )}\n side=\"left\"\n size=\"large\"\n theme=\"dark\"\n >\n <ThemeMenuContent />\n </Popup>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ .user-menu {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ }
5
+
6
+ .user-menu__trigger {
7
+ display: flex;
8
+ align-items: center;
9
+ background: none;
10
+ border: none;
11
+ cursor: pointer;
12
+ padding: 0;
13
+ }
14
+
15
+ .user-menu__trigger--active {
16
+ opacity: 0.8;
17
+ }
18
+
19
+ .user-menu__profile {
20
+ display: flex;
21
+ flex-direction: column;
22
+ align-items: center;
23
+ padding: var(--spacer-3) var(--spacer-2);
24
+ gap: var(--spacer-2);
25
+ text-decoration: none;
26
+ color: inherit;
27
+
28
+ &:hover {
29
+ text-decoration: none;
30
+ }
31
+ }
32
+
33
+ .user-menu__avatar {
34
+ width: var(--spacer-6);
35
+ height: var(--spacer-6);
36
+ border-radius: 50%;
37
+ overflow: hidden;
38
+ flex-shrink: 0;
39
+
40
+ img {
41
+ width: 100%;
42
+ height: 100%;
43
+ object-fit: cover;
44
+ }
45
+ }
46
+
47
+ .user-menu__name,
48
+ .user-menu__identifier {
49
+ font-family: var(--text-body-medium-strong-font-family);
50
+ font-size: var(--text-body-medium-strong-font-size);
51
+ font-weight: var(--text-body-medium-strong-font-weight);
52
+ line-height: var(--text-body-medium-strong-line-height);
53
+ letter-spacing: var(--text-body-medium-strong-letter-spacing);
54
+ margin: 0;
55
+ text-align: center;
56
+ }
57
+
58
+ .user-menu__name + .user-menu__identifier {
59
+ color: var(--color-text-secondary);
60
+ }
61
+
62
+ .user-menu__submenu-header-wrap {
63
+ padding: 0 var(--spacer-2);
64
+ }
65
+
66
+ .user-menu__submenu-header-row {
67
+ display: flex;
68
+ align-items: center;
69
+ gap: var(--spacer-1);
70
+ }
71
+
72
+ .user-menu__submenu-title {
73
+ margin: 0;
74
+ color: var(--color-text);
75
+ font-family: var(--text-body-medium-font-family);
76
+ font-size: var(--text-body-medium-font-size);
77
+ font-weight: var(--text-body-medium-font-weight);
78
+ line-height: var(--text-body-medium-line-height);
79
+ letter-spacing: var(--text-letter-spacing);
80
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ type UserMenuProps = {
4
+ CustomAvatar?: React.ReactNode;
5
+ settingsItems?: React.ReactNode[];
6
+ };
7
+ export declare const UserMenu: React.FC<UserMenuProps>;
8
+ export {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UserMenu/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAclD,OAAO,aAAa,CAAA;AAIpB,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyJ5C,CAAA"}
@@ -0,0 +1,201 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { useWindowInfo } from '@faceless-ui/window-info';
6
+ import { formatAdminURL } from 'payload/shared';
7
+ import React, { useEffect, useState } from 'react';
8
+ import { Account } from '../../graphics/Account/index.js';
9
+ import { LogOutIcon } from '../../icons/LogOut/index.js';
10
+ import { useAuth } from '../../providers/Auth/index.js';
11
+ import { useConfig } from '../../providers/Config/index.js';
12
+ import { useTranslation } from '../../providers/Translation/index.js';
13
+ import { MenuSeparator } from '../MenuSeparator/index.js';
14
+ import { Popup, PopupList } from '../Popup/index.js';
15
+ import { RenderCustomComponent } from '../RenderCustomComponent/index.js';
16
+ import { LanguageMenu, LanguageMenuContent } from './LanguageMenu/index.js';
17
+ import { SettingsMenu, SettingsMenuContent } from './SettingsMenu/index.js';
18
+ import { SubMenuHeader } from './SubMenuHeader/index.js';
19
+ import { ThemeMenu, ThemeMenuContent } from './ThemeMenu/index.js';
20
+ import './index.css';
21
+ const baseClass = 'user-menu';
22
+ export const UserMenu = t0 => {
23
+ const $ = _c(7);
24
+ const {
25
+ CustomAvatar,
26
+ settingsItems: t1
27
+ } = t0;
28
+ const settingsItems = t1 === undefined ? [] : t1;
29
+ const {
30
+ user
31
+ } = useAuth();
32
+ const {
33
+ languageOptions,
34
+ t
35
+ } = useTranslation();
36
+ const {
37
+ config: t2,
38
+ getEntityConfig
39
+ } = useConfig();
40
+ const {
41
+ admin: t3,
42
+ routes: t4
43
+ } = t2;
44
+ const {
45
+ routes: t5,
46
+ theme: adminTheme,
47
+ user: userSlug
48
+ } = t3;
49
+ const {
50
+ account: accountRoute,
51
+ logout: logoutRoute
52
+ } = t5;
53
+ const {
54
+ admin: adminRoute
55
+ } = t4;
56
+ const {
57
+ breakpoints: t6
58
+ } = useWindowInfo();
59
+ const {
60
+ s: smallBreak
61
+ } = t6;
62
+ const isMobile = Boolean(smallBreak);
63
+ const [activeMobileSubmenu, setActiveMobileSubmenu] = useState(null);
64
+ let t7;
65
+ let t8;
66
+ if ($[0] !== isMobile) {
67
+ t7 = () => {
68
+ if (!isMobile) {
69
+ setActiveMobileSubmenu(null);
70
+ }
71
+ };
72
+ t8 = [isMobile];
73
+ $[0] = isMobile;
74
+ $[1] = t7;
75
+ $[2] = t8;
76
+ } else {
77
+ t7 = $[1];
78
+ t8 = $[2];
79
+ }
80
+ useEffect(t7, t8);
81
+ const userCollectionConfig = getEntityConfig({
82
+ collectionSlug: userSlug
83
+ });
84
+ const useAsTitle = userCollectionConfig?.admin?.useAsTitle ?? "email";
85
+ const titleValue = useAsTitle !== "email" && user ? user[useAsTitle] : undefined;
86
+ const titleString = typeof titleValue === "string" ? titleValue : undefined;
87
+ const identifier = user?.username ?? user?.email ?? "";
88
+ const hasMultipleLanguages = Array.isArray(languageOptions) && languageOptions.length > 1;
89
+ const showThemeMenu = adminTheme === "all";
90
+ const hasSettingsItems = settingsItems.length > 0;
91
+ const showPreferencesGroup = showThemeMenu || hasMultipleLanguages;
92
+ const logoutHref = formatAdminURL({
93
+ adminRoute,
94
+ path: logoutRoute
95
+ });
96
+ const accountHref = formatAdminURL({
97
+ adminRoute,
98
+ path: accountRoute
99
+ });
100
+ let t9;
101
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
102
+ t9 = () => setActiveMobileSubmenu(null);
103
+ $[3] = t9;
104
+ } else {
105
+ t9 = $[3];
106
+ }
107
+ let t10;
108
+ if ($[4] !== CustomAvatar || $[5] !== t) {
109
+ t10 = t11 => {
110
+ const {
111
+ active,
112
+ ...ariaProps
113
+ } = t11;
114
+ return _jsx("button", {
115
+ ...ariaProps,
116
+ "aria-label": t("authentication:account"),
117
+ className: [`${baseClass}__trigger`, active && `${baseClass}__trigger--active`].filter(Boolean).join(" "),
118
+ type: "button",
119
+ children: _jsx(RenderCustomComponent, {
120
+ CustomComponent: CustomAvatar,
121
+ Fallback: _jsx(Account, {})
122
+ })
123
+ });
124
+ };
125
+ $[4] = CustomAvatar;
126
+ $[5] = t;
127
+ $[6] = t10;
128
+ } else {
129
+ t10 = $[6];
130
+ }
131
+ return _jsx(Popup, {
132
+ caret: false,
133
+ className: baseClass,
134
+ horizontalAlign: "right",
135
+ onToggleClose: t9,
136
+ renderButton: t10,
137
+ size: "large",
138
+ theme: "dark",
139
+ verticalAlign: "bottom",
140
+ children: isMobile && activeMobileSubmenu ? _jsxs(_Fragment, {
141
+ children: [activeMobileSubmenu === "theme" && _jsxs(_Fragment, {
142
+ children: [_jsx(SubMenuHeader, {
143
+ onBack: () => setActiveMobileSubmenu(null),
144
+ title: t("general:theme")
145
+ }), _jsx(ThemeMenuContent, {})]
146
+ }), activeMobileSubmenu === "language" && _jsxs(_Fragment, {
147
+ children: [_jsx(SubMenuHeader, {
148
+ onBack: () => setActiveMobileSubmenu(null),
149
+ title: t("general:language")
150
+ }), _jsx(LanguageMenuContent, {})]
151
+ }), activeMobileSubmenu === "settings" && _jsxs(_Fragment, {
152
+ children: [_jsx(SubMenuHeader, {
153
+ onBack: () => setActiveMobileSubmenu(null),
154
+ title: t("general:settings")
155
+ }), _jsx(SettingsMenuContent, {
156
+ items: settingsItems
157
+ })]
158
+ })]
159
+ }) : _jsxs(_Fragment, {
160
+ children: [_jsxs("a", {
161
+ className: `${baseClass}__profile`,
162
+ href: accountHref,
163
+ children: [_jsx("div", {
164
+ className: `${baseClass}__avatar`,
165
+ children: _jsx(RenderCustomComponent, {
166
+ CustomComponent: CustomAvatar,
167
+ Fallback: _jsx(Account, {})
168
+ })
169
+ }), _jsxs("div", {
170
+ children: [titleString && _jsx("p", {
171
+ className: `${baseClass}__name`,
172
+ children: titleString
173
+ }), identifier && _jsx("p", {
174
+ className: `${baseClass}__identifier`,
175
+ children: identifier
176
+ })]
177
+ })]
178
+ }), showPreferencesGroup && _jsxs(PopupList.ButtonGroup, {
179
+ children: [showThemeMenu && _jsx(ThemeMenu, {
180
+ onMobileOpen: isMobile ? () => setActiveMobileSubmenu("theme") : undefined
181
+ }), hasMultipleLanguages && _jsx(LanguageMenu, {
182
+ onMobileOpen: isMobile ? () => setActiveMobileSubmenu("language") : undefined
183
+ })]
184
+ }), _jsx(MenuSeparator, {}), hasSettingsItems && _jsxs(_Fragment, {
185
+ children: [_jsx(PopupList.ButtonGroup, {
186
+ children: _jsx(SettingsMenu, {
187
+ items: settingsItems,
188
+ onMobileOpen: isMobile ? () => setActiveMobileSubmenu("settings") : undefined
189
+ })
190
+ }), _jsx(MenuSeparator, {})]
191
+ }), _jsx(PopupList.MenuItem, {
192
+ children: _jsx(PopupList.Button, {
193
+ href: logoutHref,
194
+ icon: _jsx(LogOutIcon, {}),
195
+ children: t("authentication:logOut")
196
+ })
197
+ })]
198
+ })
199
+ });
200
+ };
201
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","formatAdminURL","React","useEffect","useState","Account","LogOutIcon","useAuth","useConfig","useTranslation","MenuSeparator","Popup","PopupList","RenderCustomComponent","LanguageMenu","LanguageMenuContent","SettingsMenu","SettingsMenuContent","SubMenuHeader","ThemeMenu","ThemeMenuContent","baseClass","UserMenu","t0","$","CustomAvatar","settingsItems","t1","undefined","user","languageOptions","t","config","t2","getEntityConfig","admin","t3","routes","t4","t5","theme","adminTheme","userSlug","account","accountRoute","logout","logoutRoute","adminRoute","breakpoints","t6","s","smallBreak","isMobile","Boolean","activeMobileSubmenu","setActiveMobileSubmenu","t7","t8","userCollectionConfig","collectionSlug","useAsTitle","titleValue","titleString","identifier","username","email","hasMultipleLanguages","Array","isArray","length","showThemeMenu","hasSettingsItems","showPreferencesGroup","logoutHref","path","accountHref","t9","Symbol","for","t10","t11","active","ariaProps","_jsx","className","filter","join","type","children","CustomComponent","Fallback","caret","horizontalAlign","onToggleClose","renderButton","verticalAlign","_jsxs","_Fragment","onBack","title","items","href","ButtonGroup","onMobileOpen","MenuItem","Button","icon"],"sources":["../../../src/elements/UserMenu/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MenuSeparator } from '../MenuSeparator/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { LanguageMenu, LanguageMenuContent } from './LanguageMenu/index.js'\nimport { SettingsMenu, SettingsMenuContent } from './SettingsMenu/index.js'\nimport { SubMenuHeader } from './SubMenuHeader/index.js'\nimport { ThemeMenu, ThemeMenuContent } from './ThemeMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'user-menu'\n\ntype UserMenuProps = {\n CustomAvatar?: React.ReactNode\n settingsItems?: React.ReactNode[]\n}\n\nexport const UserMenu: React.FC<UserMenuProps> = ({ CustomAvatar, settingsItems = [] }) => {\n const { user } = useAuth()\n const { languageOptions, t } = useTranslation()\n const {\n config: {\n admin: {\n routes: { account: accountRoute, logout: logoutRoute },\n theme: adminTheme,\n user: userSlug,\n },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const isMobile = Boolean(smallBreak)\n\n const [activeMobileSubmenu, setActiveMobileSubmenu] = useState<\n 'language' | 'settings' | 'theme' | null\n >(null)\n\n useEffect(() => {\n if (!isMobile) {\n setActiveMobileSubmenu(null)\n }\n }, [isMobile])\n\n const userCollectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const useAsTitle = userCollectionConfig?.admin?.useAsTitle ?? 'email'\n const titleValue =\n useAsTitle !== 'email' && user ? (user as Record<string, unknown>)[useAsTitle] : undefined\n const titleString = typeof titleValue === 'string' ? titleValue : undefined\n\n const identifier = user?.username ?? user?.email ?? ''\n const hasMultipleLanguages = Array.isArray(languageOptions) && languageOptions.length > 1\n const showThemeMenu = adminTheme === 'all'\n const hasSettingsItems = settingsItems.length > 0\n const showPreferencesGroup = showThemeMenu || hasMultipleLanguages\n\n const logoutHref = formatAdminURL({ adminRoute, path: logoutRoute })\n const accountHref = formatAdminURL({ adminRoute, path: accountRoute })\n\n return (\n <Popup\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n onToggleClose={() => setActiveMobileSubmenu(null)}\n renderButton={({ active, ...ariaProps }) => (\n <button\n {...ariaProps}\n aria-label={t('authentication:account')}\n className={[`${baseClass}__trigger`, active && `${baseClass}__trigger--active`]\n .filter(Boolean)\n .join(' ')}\n type=\"button\"\n >\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </button>\n )}\n size=\"large\"\n theme=\"dark\"\n verticalAlign=\"bottom\"\n >\n {isMobile && activeMobileSubmenu ? (\n // Mobile submenu panel\n <>\n {activeMobileSubmenu === 'theme' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:theme')}\n />\n <ThemeMenuContent />\n </>\n )}\n {activeMobileSubmenu === 'language' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:language')}\n />\n <LanguageMenuContent />\n </>\n )}\n {activeMobileSubmenu === 'settings' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:settings')}\n />\n <SettingsMenuContent items={settingsItems} />\n </>\n )}\n </>\n ) : (\n // Normal menu content (desktop always; mobile when no active submenu)\n <>\n {/* Profile header */}\n <a className={`${baseClass}__profile`} href={accountHref}>\n <div className={`${baseClass}__avatar`}>\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </div>\n <div>\n {titleString && <p className={`${baseClass}__name`}>{titleString}</p>}\n {identifier && <p className={`${baseClass}__identifier`}>{identifier}</p>}\n </div>\n </a>\n\n {/* Preferences group: Theme + Language */}\n {showPreferencesGroup && (\n <PopupList.ButtonGroup>\n {showThemeMenu && (\n <ThemeMenu\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('theme') : undefined}\n />\n )}\n {hasMultipleLanguages && (\n <LanguageMenu\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('language') : undefined}\n />\n )}\n </PopupList.ButtonGroup>\n )}\n\n <MenuSeparator />\n\n {/* Settings group */}\n {hasSettingsItems && (\n <>\n <PopupList.ButtonGroup>\n <SettingsMenu\n items={settingsItems}\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('settings') : undefined}\n />\n </PopupList.ButtonGroup>\n <MenuSeparator />\n </>\n )}\n\n {/* Account actions */}\n <PopupList.MenuItem>\n <PopupList.Button href={logoutHref} icon={<LogOutIcon />}>\n {t('authentication:logOut')}\n </PopupList.Button>\n </PopupList.MenuItem>\n </>\n )}\n </Popup>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,7 @@
28
28
  text-transform: lowercase;
29
29
  }
30
30
 
31
- .condition__join .rs__menu {
31
+ .condition__join-menu {
32
32
  text-transform: lowercase;
33
33
  }
34
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAA2B,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAcvF,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkLrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,UAAU,EACV,KAAK,EACN,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAA2B,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAcvF,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqLrC,CAAA"}
@@ -103,6 +103,9 @@ export const Condition = props => {
103
103
  className: `${baseClass}__join-label`,
104
104
  children: t('general:where')
105
105
  }) : /*#__PURE__*/_jsx(ReactSelect, {
106
+ classNames: {
107
+ menu: () => 'condition__join-menu'
108
+ },
106
109
  isClearable: false,
107
110
  onChange: option_0 => updateJoin({
108
111
  andIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useState","isFieldDisabled","useDebounce","useEffectEvent","LineIcon","useTranslation","Button","ReactSelect","DefaultFilter","getOperatorValueTypes","baseClass","Condition","props","andIndex","fieldPath","filterOptions","isFirstCondition","join","operator","orIndex","reducedFields","removeCondition","RenderedFilter","updateCondition","updateJoin","value","t","reducedField","find","field","internalValue","setInternalValue","debouncedValue","booleanSelect","includes","type","valueOptions","label","options","updateValue","undefined","disabled","handleFieldChange","option","handleOperatorChange","operatorValueTypes","validOperatorValue","isValidValue","_jsx","className","_jsxs","isClearable","onChange","filterOption","inputValue","data","plainTextLabel","toLowerCase","filter","map","f","operators","o","internalField","buttonStyle","icon","size","onClick"],"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type {\n AddCondition,\n ReducedField,\n RemoveCondition,\n UpdateCondition,\n UpdateJoin,\n Value,\n} from '../types.js'\n\nexport type Props = {\n readonly addCondition: AddCondition\n readonly andIndex: number\n readonly fieldPath: string\n readonly filterOptions?: ResolvedFilterOptions\n readonly isFirstCondition: boolean\n readonly join: 'and' | 'or'\n readonly operator: Operator\n readonly orIndex: number\n readonly reducedFields: ReducedField[]\n readonly removeCondition: RemoveCondition\n readonly RenderedFilter?: React.ReactNode\n readonly updateCondition: UpdateCondition\n readonly updateJoin: UpdateJoin\n readonly value: Value\n}\n\nimport type { Operator, Option as PayloadOption, ResolvedFilterOptions } from 'payload'\n\nimport { isFieldDisabled } from 'payload/shared'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { LineIcon } from '../../../icons/Line/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DefaultFilter } from './DefaultFilter/index.js'\nimport { getOperatorValueTypes } from './validOperators.js'\nimport './index.css'\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n andIndex,\n fieldPath,\n filterOptions,\n isFirstCondition,\n join,\n operator,\n orIndex,\n reducedFields,\n removeCondition,\n RenderedFilter,\n updateCondition,\n updateJoin,\n value,\n } = props\n\n const { t } = useTranslation()\n\n const reducedField = reducedFields.find((field) => field.fieldPath === fieldPath)\n\n const [internalValue, setInternalValue] = useState<Value>(value)\n\n const debouncedValue = useDebounce(internalValue, 300)\n\n const booleanSelect = ['exists'].includes(operator) || reducedField?.field?.type === 'checkbox'\n\n let valueOptions: PayloadOption[] = []\n\n if (booleanSelect) {\n valueOptions = [\n { label: t('general:true'), value: 'true' },\n { label: t('general:false'), value: 'false' },\n ]\n } else if (reducedField?.field && 'options' in reducedField.field) {\n valueOptions = reducedField.field.options\n }\n\n const updateValue = useEffectEvent(async (debouncedValue: Value) => {\n if (operator) {\n await updateCondition({\n type: 'value',\n andIndex,\n field: reducedField,\n operator,\n orIndex,\n value: debouncedValue === null || debouncedValue === '' ? undefined : debouncedValue,\n })\n }\n })\n\n useEffect(() => {\n void updateValue(debouncedValue)\n }, [debouncedValue])\n\n const disabled = !reducedField?.fieldPath || isFieldDisabled(reducedField?.field, 'filter')\n\n const handleFieldChange = useCallback(\n async (field: Option<string>) => {\n setInternalValue(undefined)\n await updateCondition({\n type: 'field',\n andIndex,\n field: reducedFields.find((option) => option.fieldPath === field.value),\n operator,\n orIndex,\n value: undefined,\n })\n },\n [andIndex, operator, orIndex, reducedFields, updateCondition],\n )\n\n const handleOperatorChange = useCallback(\n async (operator: Option<Operator>) => {\n const operatorValueTypes = getOperatorValueTypes(reducedField.field.type)\n const validOperatorValue = operatorValueTypes[operator.value] || 'any'\n const isValidValue =\n validOperatorValue === 'any' ||\n typeof value === validOperatorValue ||\n (validOperatorValue === 'boolean' && (value === 'true' || value === 'false'))\n\n if (!isValidValue) {\n // if the current value is not valid for the new operator\n // reset the value before passing it to updateCondition\n setInternalValue(undefined)\n }\n\n await updateCondition({\n type: 'operator',\n andIndex,\n field: reducedField,\n operator: operator.value,\n orIndex,\n value: isValidValue ? value : undefined,\n })\n },\n [andIndex, reducedField, orIndex, updateCondition, value],\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__join`}>\n {isFirstCondition ? (\n <span className={`${baseClass}__join-label`}>{t('general:where')}</span>\n ) : (\n <ReactSelect\n isClearable={false}\n onChange={(option: Option<'and' | 'or'>) =>\n updateJoin({ andIndex, join: option.value, orIndex })\n }\n options={[\n { label: t('general:and'), value: 'and' },\n { label: t('general:or'), value: 'or' },\n ]}\n value={{ label: join === 'and' ? t('general:and') : t('general:or'), value: join }}\n />\n )}\n </div>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n disabled={disabled}\n filterOption={(option, inputValue) =>\n ((option?.data?.plainTextLabel as string) || option.label)\n .toLowerCase()\n .includes(inputValue.toLowerCase())\n }\n isClearable={false}\n onChange={handleFieldChange}\n options={reducedFields\n .filter((field) => !isFieldDisabled(field.field, 'filter'))\n .map((f) => ({ ...f, value: f.fieldPath }))}\n value={reducedField ? { ...reducedField, value: reducedField.fieldPath } : undefined}\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={disabled}\n isClearable={false}\n onChange={handleOperatorChange}\n options={reducedField?.operators}\n value={reducedField?.operators.find((o) => operator === o.value) || null}\n />\n </div>\n <div className={`${baseClass}__value`}>\n {RenderedFilter || (\n <DefaultFilter\n booleanSelect={booleanSelect}\n disabled={\n !operator || !reducedField || isFieldDisabled(reducedField?.field, 'filter')\n }\n filterOptions={filterOptions}\n internalField={reducedField}\n onChange={setInternalValue}\n operator={operator}\n options={valueOptions}\n value={internalValue ?? ''}\n />\n )}\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__actions-remove`}\n icon={<LineIcon size={24} />}\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useState","isFieldDisabled","useDebounce","useEffectEvent","LineIcon","useTranslation","Button","ReactSelect","DefaultFilter","getOperatorValueTypes","baseClass","Condition","props","andIndex","fieldPath","filterOptions","isFirstCondition","join","operator","orIndex","reducedFields","removeCondition","RenderedFilter","updateCondition","updateJoin","value","t","reducedField","find","field","internalValue","setInternalValue","debouncedValue","booleanSelect","includes","type","valueOptions","label","options","updateValue","undefined","disabled","handleFieldChange","option","handleOperatorChange","operatorValueTypes","validOperatorValue","isValidValue","_jsx","className","_jsxs","classNames","menu","isClearable","onChange","filterOption","inputValue","data","plainTextLabel","toLowerCase","filter","map","f","operators","o","internalField","buttonStyle","icon","size","onClick"],"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type {\n AddCondition,\n ReducedField,\n RemoveCondition,\n UpdateCondition,\n UpdateJoin,\n Value,\n} from '../types.js'\n\nexport type Props = {\n readonly addCondition: AddCondition\n readonly andIndex: number\n readonly fieldPath: string\n readonly filterOptions?: ResolvedFilterOptions\n readonly isFirstCondition: boolean\n readonly join: 'and' | 'or'\n readonly operator: Operator\n readonly orIndex: number\n readonly reducedFields: ReducedField[]\n readonly removeCondition: RemoveCondition\n readonly RenderedFilter?: React.ReactNode\n readonly updateCondition: UpdateCondition\n readonly updateJoin: UpdateJoin\n readonly value: Value\n}\n\nimport type { Operator, Option as PayloadOption, ResolvedFilterOptions } from 'payload'\n\nimport { isFieldDisabled } from 'payload/shared'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { LineIcon } from '../../../icons/Line/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DefaultFilter } from './DefaultFilter/index.js'\nimport { getOperatorValueTypes } from './validOperators.js'\nimport './index.css'\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n andIndex,\n fieldPath,\n filterOptions,\n isFirstCondition,\n join,\n operator,\n orIndex,\n reducedFields,\n removeCondition,\n RenderedFilter,\n updateCondition,\n updateJoin,\n value,\n } = props\n\n const { t } = useTranslation()\n\n const reducedField = reducedFields.find((field) => field.fieldPath === fieldPath)\n\n const [internalValue, setInternalValue] = useState<Value>(value)\n\n const debouncedValue = useDebounce(internalValue, 300)\n\n const booleanSelect = ['exists'].includes(operator) || reducedField?.field?.type === 'checkbox'\n\n let valueOptions: PayloadOption[] = []\n\n if (booleanSelect) {\n valueOptions = [\n { label: t('general:true'), value: 'true' },\n { label: t('general:false'), value: 'false' },\n ]\n } else if (reducedField?.field && 'options' in reducedField.field) {\n valueOptions = reducedField.field.options\n }\n\n const updateValue = useEffectEvent(async (debouncedValue: Value) => {\n if (operator) {\n await updateCondition({\n type: 'value',\n andIndex,\n field: reducedField,\n operator,\n orIndex,\n value: debouncedValue === null || debouncedValue === '' ? undefined : debouncedValue,\n })\n }\n })\n\n useEffect(() => {\n void updateValue(debouncedValue)\n }, [debouncedValue])\n\n const disabled = !reducedField?.fieldPath || isFieldDisabled(reducedField?.field, 'filter')\n\n const handleFieldChange = useCallback(\n async (field: Option<string>) => {\n setInternalValue(undefined)\n await updateCondition({\n type: 'field',\n andIndex,\n field: reducedFields.find((option) => option.fieldPath === field.value),\n operator,\n orIndex,\n value: undefined,\n })\n },\n [andIndex, operator, orIndex, reducedFields, updateCondition],\n )\n\n const handleOperatorChange = useCallback(\n async (operator: Option<Operator>) => {\n const operatorValueTypes = getOperatorValueTypes(reducedField.field.type)\n const validOperatorValue = operatorValueTypes[operator.value] || 'any'\n const isValidValue =\n validOperatorValue === 'any' ||\n typeof value === validOperatorValue ||\n (validOperatorValue === 'boolean' && (value === 'true' || value === 'false'))\n\n if (!isValidValue) {\n // if the current value is not valid for the new operator\n // reset the value before passing it to updateCondition\n setInternalValue(undefined)\n }\n\n await updateCondition({\n type: 'operator',\n andIndex,\n field: reducedField,\n operator: operator.value,\n orIndex,\n value: isValidValue ? value : undefined,\n })\n },\n [andIndex, reducedField, orIndex, updateCondition, value],\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__join`}>\n {isFirstCondition ? (\n <span className={`${baseClass}__join-label`}>{t('general:where')}</span>\n ) : (\n <ReactSelect\n classNames={{\n menu: () => 'condition__join-menu',\n }}\n isClearable={false}\n onChange={(option: Option<'and' | 'or'>) =>\n updateJoin({ andIndex, join: option.value, orIndex })\n }\n options={[\n { label: t('general:and'), value: 'and' },\n { label: t('general:or'), value: 'or' },\n ]}\n value={{ label: join === 'and' ? t('general:and') : t('general:or'), value: join }}\n />\n )}\n </div>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n disabled={disabled}\n filterOption={(option, inputValue) =>\n ((option?.data?.plainTextLabel as string) || option.label)\n .toLowerCase()\n .includes(inputValue.toLowerCase())\n }\n isClearable={false}\n onChange={handleFieldChange}\n options={reducedFields\n .filter((field) => !isFieldDisabled(field.field, 'filter'))\n .map((f) => ({ ...f, value: f.fieldPath }))}\n value={reducedField ? { ...reducedField, value: reducedField.fieldPath } : undefined}\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={disabled}\n isClearable={false}\n onChange={handleOperatorChange}\n options={reducedField?.operators}\n value={reducedField?.operators.find((o) => operator === o.value) || null}\n />\n </div>\n <div className={`${baseClass}__value`}>\n {RenderedFilter || (\n <DefaultFilter\n booleanSelect={booleanSelect}\n disabled={\n !operator || !reducedField || isFieldDisabled(reducedField?.field, 'filter')\n }\n filterOptions={filterOptions}\n internalField={reducedField}\n onChange={setInternalValue}\n operator={operator}\n options={valueOptions}\n value={internalValue ?? ''}\n />\n )}\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"ghost\"\n className={`${baseClass}__actions-remove`}\n icon={<LineIcon size={24} />}\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}