@payloadcms/ui 3.0.0-alpha.60 → 3.0.0-alpha.62

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 (476) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.js +4 -1
  6. package/dist/elements/Autosave/index.js.map +1 -1
  7. package/dist/elements/Banner/index.js.map +1 -1
  8. package/dist/elements/Button/index.js.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/Card/index.js.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  12. package/dist/elements/CodeEditor/index.js.map +1 -1
  13. package/dist/elements/CodeEditor/types.js.map +1 -1
  14. package/dist/elements/Collapsible/index.js.map +1 -1
  15. package/dist/elements/Collapsible/provider.js.map +1 -1
  16. package/dist/elements/ColumnSelector/index.js.map +1 -1
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DatePicker/DatePicker.js +4 -4
  19. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  20. package/dist/elements/DatePicker/getFormattedLocale.d.ts +2 -0
  21. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -0
  22. package/dist/elements/DatePicker/getFormattedLocale.js +12 -0
  23. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -0
  24. package/dist/elements/DatePicker/index.js.map +1 -1
  25. package/dist/elements/DatePicker/types.js.map +1 -1
  26. package/dist/elements/DeleteDocument/index.js.map +1 -1
  27. package/dist/elements/DeleteMany/index.js.map +1 -1
  28. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  29. package/dist/elements/DocumentControls/index.js +21 -5
  30. package/dist/elements/DocumentControls/index.js.map +1 -1
  31. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.js.map +1 -1
  35. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  36. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  37. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  38. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  39. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  40. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  41. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  42. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  43. package/dist/elements/DocumentHeader/index.js.map +1 -1
  44. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  46. package/dist/elements/DraggableSortable/index.js.map +1 -1
  47. package/dist/elements/DraggableSortable/types.js.map +1 -1
  48. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  49. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  50. package/dist/elements/Drawer/index.js.map +1 -1
  51. package/dist/elements/Drawer/types.js.map +1 -1
  52. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  53. package/dist/elements/Dropzone/index.js.map +1 -1
  54. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  55. package/dist/elements/EditMany/index.js +2 -2
  56. package/dist/elements/EditMany/index.js.map +1 -1
  57. package/dist/elements/EditUpload/index.js.map +1 -1
  58. package/dist/elements/ErrorPill/index.js.map +1 -1
  59. package/dist/elements/FieldSelect/index.js.map +1 -1
  60. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  61. package/dist/elements/FileDetails/index.js.map +1 -1
  62. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  63. package/dist/elements/Gutter/index.js.map +1 -1
  64. package/dist/elements/Hamburger/index.js.map +1 -1
  65. package/dist/elements/HydrateClientUser/index.d.ts +3 -2
  66. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  67. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  68. package/dist/elements/IDLabel/index.js.map +1 -1
  69. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  70. package/dist/elements/ListControls/index.js +1 -1
  71. package/dist/elements/ListControls/index.js.map +1 -1
  72. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  73. package/dist/elements/ListDrawer/index.js.map +1 -1
  74. package/dist/elements/ListDrawer/types.js.map +1 -1
  75. package/dist/elements/ListSelection/index.js.map +1 -1
  76. package/dist/elements/Loading/index.js.map +1 -1
  77. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  78. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  79. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  80. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  81. package/dist/elements/Localizer/index.js.map +1 -1
  82. package/dist/elements/Logout/index.js.map +1 -1
  83. package/dist/elements/Modal/index.js.map +1 -1
  84. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  85. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  86. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  87. package/dist/elements/Nav/context.js.map +1 -1
  88. package/dist/elements/Nav/index.client.js.map +1 -1
  89. package/dist/elements/Nav/index.js.map +1 -1
  90. package/dist/elements/NavGroup/index.js.map +1 -1
  91. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  92. package/dist/elements/Pagination/Page/index.js.map +1 -1
  93. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  94. package/dist/elements/Pagination/index.js.map +1 -1
  95. package/dist/elements/PerPage/index.js.map +1 -1
  96. package/dist/elements/Pill/index.js.map +1 -1
  97. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  98. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  99. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  100. package/dist/elements/Popup/index.js.map +1 -1
  101. package/dist/elements/PreviewButton/index.js.map +1 -1
  102. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  103. package/dist/elements/PreviewSizes/index.js.map +1 -1
  104. package/dist/elements/Publish/index.js +1 -1
  105. package/dist/elements/Publish/index.js.map +1 -1
  106. package/dist/elements/PublishMany/index.js.map +1 -1
  107. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  109. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  110. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  111. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  112. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  113. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/index.js.map +1 -1
  115. package/dist/elements/ReactSelect/types.js.map +1 -1
  116. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  117. package/dist/elements/RenderTitle/index.js.map +1 -1
  118. package/dist/elements/Save/index.js.map +1 -1
  119. package/dist/elements/SaveDraft/index.js.map +1 -1
  120. package/dist/elements/SearchFilter/index.js.map +1 -1
  121. package/dist/elements/SelectAll/index.js.map +1 -1
  122. package/dist/elements/SelectRow/index.js.map +1 -1
  123. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  124. package/dist/elements/SortColumn/index.js.map +1 -1
  125. package/dist/elements/SortComplex/index.js.map +1 -1
  126. package/dist/elements/Status/index.js.map +1 -1
  127. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  128. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  129. package/dist/elements/StepNav/index.d.ts +2 -1
  130. package/dist/elements/StepNav/index.d.ts.map +1 -1
  131. package/dist/elements/StepNav/index.js.map +1 -1
  132. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  133. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  135. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Date/index.js +5 -1
  137. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  139. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
  140. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  141. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  142. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  143. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  144. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  145. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  146. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  147. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  148. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  149. package/dist/elements/Table/index.js.map +1 -1
  150. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  151. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  152. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  153. package/dist/elements/TableColumns/columnReducer.js.map +1 -1
  154. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  155. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  156. package/dist/elements/TableColumns/index.js.map +1 -1
  157. package/dist/elements/Thumbnail/index.js.map +1 -1
  158. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  159. package/dist/elements/Tooltip/index.js.map +1 -1
  160. package/dist/elements/Translation/index.js.map +1 -1
  161. package/dist/elements/UnpublishMany/index.js.map +1 -1
  162. package/dist/elements/Upload/index.js.map +1 -1
  163. package/dist/elements/ViewDescription/index.js.map +1 -1
  164. package/dist/elements/ViewDescription/types.js.map +1 -1
  165. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  167. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  169. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  170. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  171. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  172. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  173. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  174. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  175. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  176. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  177. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  178. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  179. package/dist/elements/WhereBuilder/index.js.map +1 -1
  180. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  181. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  182. package/dist/elements/WhereBuilder/types.js.map +1 -1
  183. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  184. package/dist/elements/WindowInfo/index.js.map +1 -1
  185. package/dist/elements/withMergedProps/index.d.ts +2 -1
  186. package/dist/elements/withMergedProps/index.d.ts.map +1 -1
  187. package/dist/elements/withMergedProps/index.js +7 -1
  188. package/dist/elements/withMergedProps/index.js.map +1 -1
  189. package/dist/exports/elements.d.ts +3 -2
  190. package/dist/exports/elements.d.ts.map +1 -1
  191. package/dist/exports/elements.js +5 -2
  192. package/dist/exports/elements.js.map +1 -1
  193. package/dist/exports/fields.d.ts +2 -0
  194. package/dist/exports/fields.d.ts.map +1 -0
  195. package/dist/exports/fields.js +3 -0
  196. package/dist/exports/fields.js.map +1 -0
  197. package/dist/exports/providers.d.ts +2 -0
  198. package/dist/exports/providers.d.ts.map +1 -0
  199. package/dist/exports/providers.js +3 -0
  200. package/dist/exports/providers.js.map +1 -0
  201. package/dist/fields/Array/ArrayRow.js.map +1 -1
  202. package/dist/fields/Array/index.d.ts.map +1 -1
  203. package/dist/fields/Array/index.js +3 -2
  204. package/dist/fields/Array/index.js.map +1 -1
  205. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  206. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  207. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  208. package/dist/fields/Blocks/RowActions.js.map +1 -1
  209. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  210. package/dist/fields/Blocks/index.d.ts.map +1 -1
  211. package/dist/fields/Blocks/index.js +3 -2
  212. package/dist/fields/Blocks/index.js.map +1 -1
  213. package/dist/fields/Checkbox/Input.js.map +1 -1
  214. package/dist/fields/Checkbox/index.js.map +1 -1
  215. package/dist/fields/Checkbox/types.js.map +1 -1
  216. package/dist/fields/Code/index.js.map +1 -1
  217. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  218. package/dist/fields/Collapsible/index.js +27 -21
  219. package/dist/fields/Collapsible/index.js.map +1 -1
  220. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  221. package/dist/fields/DateTime/index.js.map +1 -1
  222. package/dist/fields/Email/index.js.map +1 -1
  223. package/dist/fields/Group/index.js.map +1 -1
  224. package/dist/fields/Group/provider.js.map +1 -1
  225. package/dist/fields/HiddenInput/index.d.ts +1 -1
  226. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  227. package/dist/fields/HiddenInput/index.js.map +1 -1
  228. package/dist/fields/JSON/index.d.ts +1 -0
  229. package/dist/fields/JSON/index.d.ts.map +1 -1
  230. package/dist/fields/JSON/index.js +20 -1
  231. package/dist/fields/JSON/index.js.map +1 -1
  232. package/dist/fields/Number/index.js.map +1 -1
  233. package/dist/fields/Password/index.js.map +1 -1
  234. package/dist/fields/Point/index.js.map +1 -1
  235. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  236. package/dist/fields/RadioGroup/index.js.map +1 -1
  237. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  238. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  239. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  240. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  241. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  242. package/dist/fields/Relationship/index.js.map +1 -1
  243. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  244. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  245. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  246. package/dist/fields/Relationship/types.js.map +1 -1
  247. package/dist/fields/RichText/index.js.map +1 -1
  248. package/dist/fields/Row/index.js.map +1 -1
  249. package/dist/fields/Row/provider.js.map +1 -1
  250. package/dist/fields/Row/types.js.map +1 -1
  251. package/dist/fields/Select/index.js.map +1 -1
  252. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  253. package/dist/fields/Tabs/index.d.ts.map +1 -1
  254. package/dist/fields/Tabs/index.js +27 -23
  255. package/dist/fields/Tabs/index.js.map +1 -1
  256. package/dist/fields/Tabs/provider.js.map +1 -1
  257. package/dist/fields/Text/Input.js.map +1 -1
  258. package/dist/fields/Text/index.js.map +1 -1
  259. package/dist/fields/Text/types.js.map +1 -1
  260. package/dist/fields/Textarea/Input.js.map +1 -1
  261. package/dist/fields/Textarea/index.js.map +1 -1
  262. package/dist/fields/Textarea/types.js.map +1 -1
  263. package/dist/fields/UI/index.js.map +1 -1
  264. package/dist/fields/Upload/Input.js.map +1 -1
  265. package/dist/fields/Upload/index.js.map +1 -1
  266. package/dist/fields/Upload/types.js.map +1 -1
  267. package/dist/fields/index.js.map +1 -1
  268. package/dist/fields/shared/index.d.ts +1 -0
  269. package/dist/fields/shared/index.d.ts.map +1 -1
  270. package/dist/fields/shared/index.js.map +1 -1
  271. package/dist/forms/FieldDescription/index.js.map +1 -1
  272. package/dist/forms/FieldError/index.js.map +1 -1
  273. package/dist/forms/FieldLabel/index.js.map +1 -1
  274. package/dist/forms/FieldPropsProvider/index.d.ts +2 -0
  275. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  276. package/dist/forms/FieldPropsProvider/index.js +5 -3
  277. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  278. package/dist/forms/Form/context.js.map +1 -1
  279. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  280. package/dist/forms/Form/errorMessages.js.map +1 -1
  281. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  282. package/dist/forms/Form/fieldReducer.js +53 -0
  283. package/dist/forms/Form/fieldReducer.js.map +1 -1
  284. package/dist/forms/Form/getDataByPath.js.map +1 -1
  285. package/dist/forms/Form/getSiblingData.js.map +1 -1
  286. package/dist/forms/Form/index.d.ts.map +1 -1
  287. package/dist/forms/Form/index.js +3 -8
  288. package/dist/forms/Form/index.js.map +1 -1
  289. package/dist/forms/Form/initContextState.js.map +1 -1
  290. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  291. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  292. package/dist/forms/Form/rows.js.map +1 -1
  293. package/dist/forms/Form/types.d.ts +8 -1
  294. package/dist/forms/Form/types.d.ts.map +1 -1
  295. package/dist/forms/Form/types.js.map +1 -1
  296. package/dist/forms/NullifyField/index.js.map +1 -1
  297. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  298. package/dist/forms/RenderFields/RenderField.d.ts.map +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/RenderFields/index.d.ts.map +1 -1
  302. package/dist/forms/RenderFields/index.js +2 -1
  303. package/dist/forms/RenderFields/index.js.map +1 -1
  304. package/dist/forms/RenderFields/types.js.map +1 -1
  305. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  306. package/dist/forms/RowLabel/index.js.map +1 -1
  307. package/dist/forms/RowLabel/types.js.map +1 -1
  308. package/dist/forms/Submit/index.js.map +1 -1
  309. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  310. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  311. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  312. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  313. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  314. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  315. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  316. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  317. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  318. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  319. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  320. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  321. package/dist/forms/useField/index.js.map +1 -1
  322. package/dist/forms/useField/types.js.map +1 -1
  323. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  324. package/dist/forms/withCondition/index.js.map +1 -1
  325. package/dist/graphics/Account/Default/index.js.map +1 -1
  326. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  327. package/dist/graphics/Account/index.js.map +1 -1
  328. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  329. package/dist/graphics/ExternalLink/index.js.map +1 -1
  330. package/dist/graphics/File/index.js.map +1 -1
  331. package/dist/graphics/Icon/index.js.map +1 -1
  332. package/dist/graphics/Logo/index.js.map +1 -1
  333. package/dist/graphics/Search/index.js.map +1 -1
  334. package/dist/hooks/useDebounce.js.map +1 -1
  335. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  336. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  337. package/dist/hooks/useDelay.js.map +1 -1
  338. package/dist/hooks/useDelayedRender.js.map +1 -1
  339. package/dist/hooks/useHotkey.js.map +1 -1
  340. package/dist/hooks/useIntersect.js.map +1 -1
  341. package/dist/hooks/usePayloadAPI.js.map +1 -1
  342. package/dist/hooks/useResize.js.map +1 -1
  343. package/dist/hooks/useThrottledEffect.js.map +1 -1
  344. package/dist/hooks/useUseAsTitle.js.map +1 -1
  345. package/dist/icons/Calendar/index.js.map +1 -1
  346. package/dist/icons/Check/index.js.map +1 -1
  347. package/dist/icons/Chevron/index.js.map +1 -1
  348. package/dist/icons/CloseMenu/index.js.map +1 -1
  349. package/dist/icons/CodeBlock/index.js.map +1 -1
  350. package/dist/icons/Copy/index.js.map +1 -1
  351. package/dist/icons/DragHandle/index.js.map +1 -1
  352. package/dist/icons/Edit/index.js.map +1 -1
  353. package/dist/icons/Line/index.js.map +1 -1
  354. package/dist/icons/Link/index.js.map +1 -1
  355. package/dist/icons/LogOut/index.js.map +1 -1
  356. package/dist/icons/Menu/index.js.map +1 -1
  357. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  358. package/dist/icons/More/index.js.map +1 -1
  359. package/dist/icons/Plus/index.js.map +1 -1
  360. package/dist/icons/Search/index.js.map +1 -1
  361. package/dist/icons/Swap/index.js.map +1 -1
  362. package/dist/icons/X/index.js.map +1 -1
  363. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  364. package/dist/providers/Actions/index.js.map +1 -1
  365. package/dist/providers/Auth/index.js.map +1 -1
  366. package/dist/providers/ClientFunction/index.js.map +1 -1
  367. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts +3 -0
  368. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +1 -0
  369. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js +19 -0
  370. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +1 -0
  371. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +2 -1
  372. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  373. package/dist/providers/ComponentMap/buildComponentMap/actions.js +7 -3
  374. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  375. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +5 -2
  376. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  377. package/dist/providers/ComponentMap/buildComponentMap/collections.js +36 -14
  378. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  379. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +4 -1
  380. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  381. package/dist/providers/ComponentMap/buildComponentMap/fields.js +75 -18
  382. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  383. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +5 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/globals.js +20 -6
  386. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +4 -1
  388. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/index.js +22 -4
  390. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  391. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -0
  392. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  393. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  394. package/dist/providers/ComponentMap/index.d.ts +1 -0
  395. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  396. package/dist/providers/ComponentMap/index.js +1 -0
  397. package/dist/providers/ComponentMap/index.js.map +1 -1
  398. package/dist/providers/Config/index.js.map +1 -1
  399. package/dist/providers/DocumentEvents/index.js.map +1 -1
  400. package/dist/providers/DocumentInfo/index.js.map +1 -1
  401. package/dist/providers/DocumentInfo/types.js.map +1 -1
  402. package/dist/providers/EditDepth/index.js.map +1 -1
  403. package/dist/providers/EntityVisibility/index.js.map +1 -1
  404. package/dist/providers/FieldComponents/index.js.map +1 -1
  405. package/dist/providers/FormQueryParams/index.js.map +1 -1
  406. package/dist/providers/FormQueryParams/types.js.map +1 -1
  407. package/dist/providers/ListInfo/index.js.map +1 -1
  408. package/dist/providers/ListQuery/index.js.map +1 -1
  409. package/dist/providers/Locale/index.js +1 -1
  410. package/dist/providers/Locale/index.js.map +1 -1
  411. package/dist/providers/Operation/index.js.map +1 -1
  412. package/dist/providers/Params/index.js.map +1 -1
  413. package/dist/providers/Preferences/index.js.map +1 -1
  414. package/dist/providers/Root/index.d.ts +4 -3
  415. package/dist/providers/Root/index.d.ts.map +1 -1
  416. package/dist/providers/Root/index.js +3 -2
  417. package/dist/providers/Root/index.js.map +1 -1
  418. package/dist/providers/RouteCache/index.js.map +1 -1
  419. package/dist/providers/SearchParams/index.js.map +1 -1
  420. package/dist/providers/Selection/index.js.map +1 -1
  421. package/dist/providers/Theme/index.js.map +1 -1
  422. package/dist/providers/Translation/index.d.ts +4 -3
  423. package/dist/providers/Translation/index.d.ts.map +1 -1
  424. package/dist/providers/Translation/index.js +20 -6
  425. package/dist/providers/Translation/index.js.map +1 -1
  426. package/dist/scss/app.scss +2 -3
  427. package/dist/scss/vars.scss +0 -7
  428. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  429. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  430. package/dist/templates/Default/index.js.map +1 -1
  431. package/dist/templates/Minimal/index.js.map +1 -1
  432. package/dist/utilities/api.js.map +1 -1
  433. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  434. package/dist/utilities/buildComponentMap.js.map +1 -1
  435. package/dist/utilities/canUseDOM.js.map +1 -1
  436. package/dist/utilities/dateLocales.js.map +1 -1
  437. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  438. package/dist/utilities/flattenFieldMap.js.map +1 -1
  439. package/dist/utilities/formatDate.d.ts +13 -2
  440. package/dist/utilities/formatDate.d.ts.map +1 -1
  441. package/dist/utilities/formatDate.js +4 -7
  442. package/dist/utilities/formatDate.js.map +1 -1
  443. package/dist/utilities/formatDocTitle.js +5 -1
  444. package/dist/utilities/formatDocTitle.js.map +1 -1
  445. package/dist/utilities/formatFields.js.map +1 -1
  446. package/dist/utilities/generateFieldID.js.map +1 -1
  447. package/dist/utilities/getFormState.js.map +1 -1
  448. package/dist/utilities/getOffsetTop.js.map +1 -1
  449. package/dist/utilities/getRequestLanguage.js.map +1 -1
  450. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  451. package/dist/utilities/groupNavItems.js.map +1 -1
  452. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  453. package/dist/utilities/scrollToID.js.map +1 -1
  454. package/dist/utilities/setsAreEqual.js.map +1 -1
  455. package/package.json +10 -10
  456. package/dist/assets/fonts/SuisseIntl-Bold.woff +0 -0
  457. package/dist/assets/fonts/SuisseIntl-Bold.woff2 +0 -0
  458. package/dist/assets/fonts/SuisseIntl-Medium.woff +0 -0
  459. package/dist/assets/fonts/SuisseIntl-Medium.woff2 +0 -0
  460. package/dist/assets/fonts/SuisseIntl-SemiBold.woff +0 -0
  461. package/dist/assets/fonts/SuisseIntl-SemiBold.woff2 +0 -0
  462. package/dist/assets/fonts/SuisseIntl.woff +0 -0
  463. package/dist/assets/fonts/SuisseIntl.woff2 +0 -0
  464. package/dist/assets/fonts/merriweather-v30-latin-900.woff +0 -0
  465. package/dist/assets/fonts/merriweather-v30-latin-900.woff2 +0 -0
  466. package/dist/assets/fonts/merriweather-v30-latin-900italic.woff +0 -0
  467. package/dist/assets/fonts/merriweather-v30-latin-900italic.woff2 +0 -0
  468. package/dist/assets/fonts/merriweather-v30-latin-italic.woff +0 -0
  469. package/dist/assets/fonts/merriweather-v30-latin-italic.woff2 +0 -0
  470. package/dist/assets/fonts/merriweather-v30-latin-regular.woff +0 -0
  471. package/dist/assets/fonts/merriweather-v30-latin-regular.woff2 +0 -0
  472. package/dist/scss/fonts.scss +0 -75
  473. package/dist/utilities/getDateLocale.d.ts +0 -7
  474. package/dist/utilities/getDateLocale.d.ts.map +0 -1
  475. package/dist/utilities/getDateLocale.js +0 -16
  476. package/dist/utilities/getDateLocale.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\nimport './index.scss'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!totalPages || totalPages <= 1) return null\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') onChange(page)\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) rangeStartIndex = 0\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) nodes.unshift({ type: 'Separator' })\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) nodes.push({ type: 'Separator' })\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","div","className","map","node","i","isCurrent","key","NodeType"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,SAAS,QAAQ,uBAAsB;AAGhD,MAAMC,YAAY;IAChBH;IACAC;IACAC;AACF;AAEA,MAAME,YAAY;AA4BlB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EACJC,cAAc,KAAK,EACnBC,cAAc,KAAK,EACnBC,WAAW,IAAI,EACfC,oBAAoB,CAAC,EACrBC,QAAQ,EACRC,MAAMC,WAAW,EACjBC,WAAW,IAAI,EACfC,aAAa,IAAI,EAClB,GAAGT;IAEJ,IAAI,CAACS,cAAcA,cAAc,GAAG,OAAO;IAE3C,MAAMC,aAAa,CAACJ;QAClB,IAAI,OAAOD,aAAa,YAAYA,SAASC;IAC/C;IAEA,yCAAyC;IACzC,MAAMK,QAAQC,MAAMC,IAAI,CAAC;QAAEC,QAAQL;IAAW,GAAG,CAACM,GAAGC,QAAUA,QAAQ;IAEvE,2FAA2F;IAC3F,IAAIC,kBAAkBV,cAAc,IAAIH;IAExC,uEAAuE;IACvE,IAAIa,mBAAmB,GAAGA,kBAAkB;IAE5C,MAAMC,gBAAgBX,cAAc,IAAIH,oBAAoB;IAE5D,sDAAsD;IACtD,MAAMe,QAAgBR,MAAMS,KAAK,CAACH,iBAAiBC;IAEnD,kCAAkC;IAClC,IAAIX,cAAcH,oBAAoB,KAAK,GAAGe,MAAME,OAAO,CAAC;QAAEC,MAAM;IAAY;IAChF,8BAA8B;IAC9B,IAAIf,cAAcH,oBAAoB,GAAG;QACvCe,MAAME,OAAO,CAAC;YACZC,MAAM;YACNtB,OAAO;gBACLuB,aAAa;gBACbjB,MAAM;gBACNI;YACF;QACF;IACF;IAEA,kCAAkC;IAClC,IAAIH,cAAcH,oBAAoB,IAAIK,YAAYU,MAAMK,IAAI,CAAC;QAAEF,MAAM;IAAY;IACrF,6BAA6B;IAC7B,IAAIJ,gBAAgBT,YAAY;QAC9BU,MAAMK,IAAI,CAAC;YACTF,MAAM;YACNtB,OAAO;gBACLyB,YAAY;gBACZnB,MAAMG;gBACNC;YACF;QACF;IACF;IAEA,8CAA8C;IAC9CS,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAAC1B;YACbS,YAAY,IAAMA,WAAWP;QAC/B;IACF;IAEAgB,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAACzB;YACbQ,YAAY,IAAMA,WAAWF;QAC/B;IACF;IAEA,qBACE,oBAACoB;QAAIC,WAAW/B;OACbqB,MAAMW,GAAG,CAAC,CAACC,MAAMC;QAChB,IAAI,OAAOD,SAAS,UAAU;YAC5B,qBACE,oBAACpC;gBAAKsC,WAAW1B,gBAAgBwB;gBAAMG,KAAKF;gBAAG1B,MAAMyB;gBAAMrB,YAAYA;;QAE3E;QAEA,MAAMyB,WAAWtC,SAAS,CAACkC,KAAKT,IAAI,CAAC;QAErC,qBAAO,oBAACa;YAASD,KAAKF;YAAI,GAAGD,KAAK/B,KAAK;;IACzC;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\nimport './index.scss'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!totalPages || totalPages <= 1) return null\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') onChange(page)\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) rangeStartIndex = 0\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) nodes.unshift({ type: 'Separator' })\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) nodes.push({ type: 'Separator' })\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","div","className","map","node","i","isCurrent","key","NodeType"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,SAAS,QAAQ,uBAAsB;AAGhD,MAAMC,YAAY;IAChBH;IACAC;IACAC;AACF;AAEA,MAAME,YAAY;AA4BlB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EACJC,cAAc,KAAK,EACnBC,cAAc,KAAK,EACnBC,WAAW,IAAI,EACfC,oBAAoB,CAAC,EACrBC,QAAQ,EACRC,MAAMC,WAAW,EACjBC,WAAW,IAAI,EACfC,aAAa,IAAI,EAClB,GAAGT;IAEJ,IAAI,CAACS,cAAcA,cAAc,GAAG,OAAO;IAE3C,MAAMC,aAAa,CAACJ;QAClB,IAAI,OAAOD,aAAa,YAAYA,SAASC;IAC/C;IAEA,yCAAyC;IACzC,MAAMK,QAAQC,MAAMC,IAAI,CAAC;QAAEC,QAAQL;IAAW,GAAG,CAACM,GAAGC,QAAUA,QAAQ;IAEvE,2FAA2F;IAC3F,IAAIC,kBAAkBV,cAAc,IAAIH;IAExC,uEAAuE;IACvE,IAAIa,mBAAmB,GAAGA,kBAAkB;IAE5C,MAAMC,gBAAgBX,cAAc,IAAIH,oBAAoB;IAE5D,sDAAsD;IACtD,MAAMe,QAAgBR,MAAMS,KAAK,CAACH,iBAAiBC;IAEnD,kCAAkC;IAClC,IAAIX,cAAcH,oBAAoB,KAAK,GAAGe,MAAME,OAAO,CAAC;QAAEC,MAAM;IAAY;IAChF,8BAA8B;IAC9B,IAAIf,cAAcH,oBAAoB,GAAG;QACvCe,MAAME,OAAO,CAAC;YACZC,MAAM;YACNtB,OAAO;gBACLuB,aAAa;gBACbjB,MAAM;gBACNI;YACF;QACF;IACF;IAEA,kCAAkC;IAClC,IAAIH,cAAcH,oBAAoB,IAAIK,YAAYU,MAAMK,IAAI,CAAC;QAAEF,MAAM;IAAY;IACrF,6BAA6B;IAC7B,IAAIJ,gBAAgBT,YAAY;QAC9BU,MAAMK,IAAI,CAAC;YACTF,MAAM;YACNtB,OAAO;gBACLyB,YAAY;gBACZnB,MAAMG;gBACNC;YACF;QACF;IACF;IAEA,8CAA8C;IAC9CS,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAAC1B;YACbS,YAAY,IAAMA,WAAWP;QAC/B;IACF;IAEAgB,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAACzB;YACbQ,YAAY,IAAMA,WAAWF;QAC/B;IACF;IAEA,qBACE,oBAACoB;QAAIC,WAAW/B;OACbqB,MAAMW,GAAG,CAAC,CAACC,MAAMC;QAChB,IAAI,OAAOD,SAAS,UAAU;YAC5B,qBACE,oBAACpC;gBAAKsC,WAAW1B,gBAAgBwB;gBAAMG,KAAKF;gBAAG1B,MAAMyB;gBAAMrB,YAAYA;;QAE3E;QAEA,MAAMyB,WAAWtC,SAAS,CAACkC,KAAKT,IAAI,CAAC;QAErC,qBAAO,oBAACa;YAASD,KAAKF;YAAI,GAAGD,KAAK/B,KAAK;;IACzC;AAGN,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { collectionDefaults } from 'payload/config'\nimport { isNumber } from 'payload/utilities'\nimport React from 'react'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n defaultLimit?: number\n handleChange?: (limit: number) => void\n limit: number\n limits: number[]\n resetPage?: boolean\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <Popup\n button={\n <div className={`${baseClass}__base-button`}>\n <span>{t('general:perPage', { limit: limitToUse })}</span>\n &nbsp;\n <Chevron className={`${baseClass}__icon`} />\n </div>\n }\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.Button\n className={[\n `${baseClass}__button`,\n limitNumber === limitToUse && `${baseClass}__button-active`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={i}\n onClick={() => {\n close()\n if (handleChange) handleChange(limitNumber)\n }}\n >\n {limitNumber === limitToUse && (\n <div className={`${baseClass}__chevron`}>\n <Chevron direction=\"right\" />\n </div>\n )}\n &nbsp;\n <span>{limitNumber}</span>\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"names":["collectionDefaults","isNumber","React","Chevron","useTranslation","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","defaultLimit","handleChange","limit","t","limitToUse","div","className","button","span","horizontalAlign","render","close","ButtonGroup","map","limitNumber","i","Button","filter","Boolean","join","key","onClick","direction","size"],"mappings":"AAAA;AACA,0EAA0E;AAC1E,SAASA,kBAAkB,QAAQ,iBAAgB;AACnD,SAASC,QAAQ,QAAQ,oBAAmB;AAC5C,OAAOC,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,SAAS,QAAQ,oBAAmB;AAGpD,MAAMC,YAAY;AAElB,MAAMC,gBAAgBR,mBAAmBS,KAAK,CAACC,UAAU,CAACC,MAAM;AAUhE,OAAO,MAAMC,UAAkC,CAAC,EAC9CC,eAAe,EAAE,EACjBC,YAAY,EACZC,KAAK,EACLJ,SAASH,aAAa,EACvB;IACC,MAAM,EAAEQ,CAAC,EAAE,GAAGZ;IAEd,MAAMa,aAAahB,SAASc,SAASA,QAAQF;IAE7C,qBACE,oBAACK;QAAIC,WAAWZ;qBACd,oBAACF;QACCe,sBACE,oBAACF;YAAIC,WAAW,CAAC,EAAEZ,UAAU,aAAa,CAAC;yBACzC,oBAACc,cAAML,EAAE,mBAAmB;YAAED,OAAOE;QAAW,KAAU,mBAE1D,oBAACd;YAAQgB,WAAW,CAAC,EAAEZ,UAAU,MAAM,CAAC;;QAG5Ce,iBAAgB;QAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,oBAAClB,UAAUmB,WAAW,QACnBd,OAAOe,GAAG,CAAC,CAACC,aAAaC,kBACxB,oBAACtB,UAAUuB,MAAM;oBACfV,WAAW;wBACT,CAAC,EAAEZ,UAAU,QAAQ,CAAC;wBACtBoB,gBAAgBV,cAAc,CAAC,EAAEV,UAAU,eAAe,CAAC;qBAC5D,CACEuB,MAAM,CAACC,SACPC,IAAI,CAAC;oBACRC,KAAKL;oBACLM,SAAS;wBACPV;wBACA,IAAIV,cAAcA,aAAaa;oBACjC;mBAECA,gBAAgBV,4BACf,oBAACC;oBAAIC,WAAW,CAAC,EAAEZ,UAAU,SAAS,CAAC;iCACrC,oBAACJ;oBAAQgC,WAAU;qBAErB,mBAEF,oBAACd,cAAMM;QAKfS,MAAK;;AAIb,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { collectionDefaults } from 'payload/config'\nimport { isNumber } from 'payload/utilities'\nimport React from 'react'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n defaultLimit?: number\n handleChange?: (limit: number) => void\n limit: number\n limits: number[]\n resetPage?: boolean\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <Popup\n button={\n <div className={`${baseClass}__base-button`}>\n <span>{t('general:perPage', { limit: limitToUse })}</span>\n &nbsp;\n <Chevron className={`${baseClass}__icon`} />\n </div>\n }\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.Button\n className={[\n `${baseClass}__button`,\n limitNumber === limitToUse && `${baseClass}__button-active`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={i}\n onClick={() => {\n close()\n if (handleChange) handleChange(limitNumber)\n }}\n >\n {limitNumber === limitToUse && (\n <div className={`${baseClass}__chevron`}>\n <Chevron direction=\"right\" />\n </div>\n )}\n &nbsp;\n <span>{limitNumber}</span>\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"names":["collectionDefaults","isNumber","React","Chevron","useTranslation","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","defaultLimit","handleChange","limit","t","limitToUse","div","className","button","span","horizontalAlign","render","close","ButtonGroup","map","limitNumber","i","Button","filter","Boolean","join","key","onClick","direction","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,0EAA0E;AAC1E,SAASA,kBAAkB,QAAQ,iBAAgB;AACnD,SAASC,QAAQ,QAAQ,oBAAmB;AAC5C,OAAOC,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,SAAS,QAAQ,oBAAmB;AAGpD,MAAMC,YAAY;AAElB,MAAMC,gBAAgBR,mBAAmBS,KAAK,CAACC,UAAU,CAACC,MAAM;AAUhE,OAAO,MAAMC,UAAkC,CAAC,EAC9CC,eAAe,EAAE,EACjBC,YAAY,EACZC,KAAK,EACLJ,SAASH,aAAa,EACvB;IACC,MAAM,EAAEQ,CAAC,EAAE,GAAGZ;IAEd,MAAMa,aAAahB,SAASc,SAASA,QAAQF;IAE7C,qBACE,oBAACK;QAAIC,WAAWZ;qBACd,oBAACF;QACCe,sBACE,oBAACF;YAAIC,WAAW,CAAC,EAAEZ,UAAU,aAAa,CAAC;yBACzC,oBAACc,cAAML,EAAE,mBAAmB;YAAED,OAAOE;QAAW,KAAU,mBAE1D,oBAACd;YAAQgB,WAAW,CAAC,EAAEZ,UAAU,MAAM,CAAC;;QAG5Ce,iBAAgB;QAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,oBAAClB,UAAUmB,WAAW,QACnBd,OAAOe,GAAG,CAAC,CAACC,aAAaC,kBACxB,oBAACtB,UAAUuB,MAAM;oBACfV,WAAW;wBACT,CAAC,EAAEZ,UAAU,QAAQ,CAAC;wBACtBoB,gBAAgBV,cAAc,CAAC,EAAEV,UAAU,eAAe,CAAC;qBAC5D,CACEuB,MAAM,CAACC,SACPC,IAAI,CAAC;oBACRC,KAAKL;oBACLM,SAAS;wBACPV;wBACA,IAAIV,cAAcA,aAAaa;oBACjC;mBAECA,gBAAgBV,4BACf,oBAACC;oBAAIC,WAAW,CAAC,EAAEZ,UAAU,SAAS,CAAC;iCACrC,oBAACJ;oBAAQgC,WAAU;qBAErB,mBAEF,oBAACd,cAAMM;QAKfS,MAAK;;AAIb,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { HTMLAttributes } from 'react'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: HTMLAttributes<HTMLElement> & {\n ref: React.RefCallback<HTMLElement>\n }\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) Element = 'button'\n if (to) Element = Link\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || ''}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n {icon && alignIcon === 'left' && <span className={`${baseClass}__icon`}>{icon}</span>}\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && alignIcon === 'right' && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) return <DraggablePill {...props} />\n return <StaticPill {...props} />\n}\n"],"names":["LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","id","className","attributes","isDragging","listeners","setNodeRef","transform","StaticPill","filter","Boolean","join","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","aria-checked","aria-controls","aria-expanded","aria-label","href","type","undefined","span","Pill"],"mappings":"AAAA;AAGA,OAAOA,qBAAqB,eAAc;AAC1C,MAAMC,OAAOD,gBAAgBE,OAAO;AACpC,OAAOC,WAAW,QAAO,CAAC,iDAAiD;AAgC3E,SAASC,oBAAoB,QAAQ,qDAAoD;AAGzF,MAAMC,YAAY;AAElB,MAAMC,gBAAqC,CAACC;IAC1C,MAAM,EAAEC,EAAE,EAAEC,SAAS,EAAE,GAAGF;IAE1B,MAAM,EAAEG,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGV,qBAAqB;QACxFI;IACF;IAEA,qBACE,oBAACO;QACE,GAAGR,KAAK;QACTE,WAAW;YAACE,cAAc,CAAC,EAAEN,UAAU,aAAa,CAAC;YAAEI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvFC,cAAc;YACZ,GAAGP,SAAS;YACZ,GAAGF,UAAU;YACbU,KAAKP;YACLQ,OAAO;gBACLP;YACF;QACF;;AAGN;AAEA,MAAMC,aAAkC,CAACR;IACvC,MAAM,EACJe,YAAY,OAAO,EACnB,gBAAgBC,WAAW,EAC3B,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,cAAcC,SAAS,EACvBC,QAAQ,EACRlB,SAAS,EACTmB,SAAS,EACTT,YAAY,EACZU,IAAI,EACJC,OAAO,EACPC,YAAY,OAAO,EACnBC,OAAO,EACPC,EAAE,EACH,GAAG1B;IAEJ,MAAM2B,UAAU;QACd7B;QACA,CAAC,EAAEA,UAAU,QAAQ,EAAE0B,UAAU,CAAC;QAClCtB,aAAaA;QACbwB,MAAM,CAAC,EAAE5B,UAAU,UAAU,CAAC;QAC7B4B,CAAAA,MAAMH,OAAM,KAAM,CAAC,EAAEzB,UAAU,YAAY,CAAC;QAC7CwB,QAAQ,CAAC,EAAExB,UAAU,UAAU,CAAC;QAChCwB,QAAQ,CAAC,EAAExB,UAAU,aAAa,EAAEiB,UAAU,CAAC;QAC/CM,aAAa,CAAC,EAAEvB,UAAU,WAAW,CAAC;QACtC2B,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;KACnC,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIiB,UAAqD;IAEzD,IAAIL,WAAW,CAACG,IAAIE,UAAU;IAC9B,IAAIF,IAAIE,UAAUlC;IAElB,qBACE,oBAACkC;QACE,GAAGhB,YAAY;QAChBiB,gBAAcb;QACdc,iBAAeb;QACfc,iBAAeb;QACfc,cAAYb;QACZjB,WAAWyB;QACXM,MAAMP,MAAM;QACZH,SAASA;QACTW,MAAMN,YAAY,WAAW,WAAWO;OAEvCb,QAAQP,cAAc,wBAAU,oBAACqB;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;OAAGwB,qBACzE,oBAACc;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;OAAGsB,WACxCE,QAAQP,cAAc,yBAAW,oBAACqB;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;OAAGwB;AAGhF;AAEA,OAAO,MAAMe,OAA4B,CAACrC;IACxC,MAAM,EAAEqB,SAAS,EAAE,GAAGrB;IAEtB,IAAIqB,WAAW,qBAAO,oBAACtB,eAAkBC;IACzC,qBAAO,oBAACQ,YAAeR;AACzB,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { HTMLAttributes } from 'react'\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: HTMLAttributes<HTMLElement> & {\n ref: React.RefCallback<HTMLElement>\n }\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) Element = 'button'\n if (to) Element = Link\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || ''}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n {icon && alignIcon === 'left' && <span className={`${baseClass}__icon`}>{icon}</span>}\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && alignIcon === 'right' && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) return <DraggablePill {...props} />\n return <StaticPill {...props} />\n}\n"],"names":["LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","id","className","attributes","isDragging","listeners","setNodeRef","transform","StaticPill","filter","Boolean","join","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","aria-checked","aria-controls","aria-expanded","aria-label","href","type","undefined","span","Pill"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,qBAAqB,eAAc;AAC1C,MAAMC,OAAOD,gBAAgBE,OAAO;AACpC,OAAOC,WAAW,QAAO,CAAC,iDAAiD;AAgC3E,SAASC,oBAAoB,QAAQ,qDAAoD;AAGzF,MAAMC,YAAY;AAElB,MAAMC,gBAAqC,CAACC;IAC1C,MAAM,EAAEC,EAAE,EAAEC,SAAS,EAAE,GAAGF;IAE1B,MAAM,EAAEG,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGV,qBAAqB;QACxFI;IACF;IAEA,qBACE,oBAACO;QACE,GAAGR,KAAK;QACTE,WAAW;YAACE,cAAc,CAAC,EAAEN,UAAU,aAAa,CAAC;YAAEI;SAAU,CAACO,MAAM,CAACC,SAASC,IAAI,CAAC;QACvFC,cAAc;YACZ,GAAGP,SAAS;YACZ,GAAGF,UAAU;YACbU,KAAKP;YACLQ,OAAO;gBACLP;YACF;QACF;;AAGN;AAEA,MAAMC,aAAkC,CAACR;IACvC,MAAM,EACJe,YAAY,OAAO,EACnB,gBAAgBC,WAAW,EAC3B,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,cAAcC,SAAS,EACvBC,QAAQ,EACRlB,SAAS,EACTmB,SAAS,EACTT,YAAY,EACZU,IAAI,EACJC,OAAO,EACPC,YAAY,OAAO,EACnBC,OAAO,EACPC,EAAE,EACH,GAAG1B;IAEJ,MAAM2B,UAAU;QACd7B;QACA,CAAC,EAAEA,UAAU,QAAQ,EAAE0B,UAAU,CAAC;QAClCtB,aAAaA;QACbwB,MAAM,CAAC,EAAE5B,UAAU,UAAU,CAAC;QAC7B4B,CAAAA,MAAMH,OAAM,KAAM,CAAC,EAAEzB,UAAU,YAAY,CAAC;QAC7CwB,QAAQ,CAAC,EAAExB,UAAU,UAAU,CAAC;QAChCwB,QAAQ,CAAC,EAAExB,UAAU,aAAa,EAAEiB,UAAU,CAAC;QAC/CM,aAAa,CAAC,EAAEvB,UAAU,WAAW,CAAC;QACtC2B,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;KACnC,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIiB,UAAqD;IAEzD,IAAIL,WAAW,CAACG,IAAIE,UAAU;IAC9B,IAAIF,IAAIE,UAAUlC;IAElB,qBACE,oBAACkC;QACE,GAAGhB,YAAY;QAChBiB,gBAAcb;QACdc,iBAAeb;QACfc,iBAAeb;QACfc,cAAYb;QACZjB,WAAWyB;QACXM,MAAMP,MAAM;QACZH,SAASA;QACTW,MAAMN,YAAY,WAAW,WAAWO;OAEvCb,QAAQP,cAAc,wBAAU,oBAACqB;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;OAAGwB,qBACzE,oBAACc;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;OAAGsB,WACxCE,QAAQP,cAAc,yBAAW,oBAACqB;QAAKlC,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;OAAGwB;AAGhF;AAEA,OAAO,MAAMe,OAA4B,CAACrC;IACxC,MAAM,EAAEqB,SAAS,EAAE,GAAGrB;IAEtB,IAAIqB,WAAW,qBAAO,oBAACtB,eAAkBC;IACzC,qBAAO,oBAACQ,YAAeR;AACzB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Popup/PopupButtonList/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/link` dependency out from this component\nimport type { LinkProps } from 'next/link.js'\n\nimport LinkImport from 'next/link.js'\nimport * as React from 'react' // TODO: abstract this out to support all routers\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nconst baseClass = 'popup-button-list'\n\nexport const ButtonGroup: React.FC<{\n buttonSize?: 'default' | 'small'\n children: React.ReactNode\n className?: string\n textAlign?: 'center' | 'left' | 'right'\n}> = ({ buttonSize = 'default', children, className, textAlign = 'left' }) => {\n const classes = [\n baseClass,\n className,\n `${baseClass}__text-align--${textAlign}`,\n `${baseClass}__button-size--${buttonSize}`,\n ]\n .filter(Boolean)\n .join(' ')\n return <div className={classes}>{children}</div>\n}\n\ntype MenuButtonProps = {\n active?: boolean\n children: React.ReactNode\n className?: string\n href?: LinkProps['href']\n id?: string\n onClick?: () => void\n}\n\nexport const Button: React.FC<MenuButtonProps> = ({\n id,\n active,\n children,\n className,\n href,\n onClick,\n}) => {\n const classes = [`${baseClass}__button`, active && `${baseClass}__button--selected`, className]\n .filter(Boolean)\n .join(' ')\n\n if (href) {\n return (\n <Link\n className={classes}\n href={href}\n id={id}\n onClick={() => {\n if (onClick) {\n onClick()\n }\n }}\n >\n {children}\n </Link>\n )\n }\n\n if (onClick) {\n return (\n <button\n className={classes}\n id={id}\n onClick={() => {\n if (onClick) {\n onClick()\n }\n }}\n type=\"button\"\n >\n {children}\n </button>\n )\n }\n\n return (\n <div className={classes} id={id}>\n {children}\n </div>\n )\n}\n"],"names":["LinkImport","React","Link","default","baseClass","ButtonGroup","buttonSize","children","className","textAlign","classes","filter","Boolean","join","div","Button","id","active","href","onClick","button","type"],"mappings":"AAAA;AAIA,OAAOA,gBAAgB,eAAc;AACrC,YAAYC,WAAW,QAAO,CAAC,iDAAiD;AAIhF,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AAEpC,MAAMI,YAAY;AAElB,OAAO,MAAMC,cAKR,CAAC,EAAEC,aAAa,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,YAAY,MAAM,EAAE;IACvE,MAAMC,UAAU;QACdN;QACAI;QACA,CAAC,EAAEJ,UAAU,cAAc,EAAEK,UAAU,CAAC;QACxC,CAAC,EAAEL,UAAU,eAAe,EAAEE,WAAW,CAAC;KAC3C,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;IACR,qBAAO,oBAACC;QAAIN,WAAWE;OAAUH;AACnC,EAAC;AAWD,OAAO,MAAMQ,SAAoC,CAAC,EAChDC,EAAE,EACFC,MAAM,EACNV,QAAQ,EACRC,SAAS,EACTU,IAAI,EACJC,OAAO,EACR;IACC,MAAMT,UAAU;QAAC,CAAC,EAAEN,UAAU,QAAQ,CAAC;QAAEa,UAAU,CAAC,EAAEb,UAAU,kBAAkB,CAAC;QAAEI;KAAU,CAC5FG,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIK,MAAM;QACR,qBACE,oBAAChB;YACCM,WAAWE;YACXQ,MAAMA;YACNF,IAAIA;YACJG,SAAS;gBACP,IAAIA,SAAS;oBACXA;gBACF;YACF;WAECZ;IAGP;IAEA,IAAIY,SAAS;QACX,qBACE,oBAACC;YACCZ,WAAWE;YACXM,IAAIA;YACJG,SAAS;gBACP,IAAIA,SAAS;oBACXA;gBACF;YACF;YACAE,MAAK;WAEJd;IAGP;IAEA,qBACE,oBAACO;QAAIN,WAAWE;QAASM,IAAIA;OAC1BT;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Popup/PopupButtonList/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/link` dependency out from this component\nimport type { LinkProps } from 'next/link.js'\n\nimport LinkImport from 'next/link.js'\nimport * as React from 'react' // TODO: abstract this out to support all routers\n\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nconst baseClass = 'popup-button-list'\n\nexport const ButtonGroup: React.FC<{\n buttonSize?: 'default' | 'small'\n children: React.ReactNode\n className?: string\n textAlign?: 'center' | 'left' | 'right'\n}> = ({ buttonSize = 'default', children, className, textAlign = 'left' }) => {\n const classes = [\n baseClass,\n className,\n `${baseClass}__text-align--${textAlign}`,\n `${baseClass}__button-size--${buttonSize}`,\n ]\n .filter(Boolean)\n .join(' ')\n return <div className={classes}>{children}</div>\n}\n\ntype MenuButtonProps = {\n active?: boolean\n children: React.ReactNode\n className?: string\n href?: LinkProps['href']\n id?: string\n onClick?: () => void\n}\n\nexport const Button: React.FC<MenuButtonProps> = ({\n id,\n active,\n children,\n className,\n href,\n onClick,\n}) => {\n const classes = [`${baseClass}__button`, active && `${baseClass}__button--selected`, className]\n .filter(Boolean)\n .join(' ')\n\n if (href) {\n return (\n <Link\n className={classes}\n href={href}\n id={id}\n onClick={() => {\n if (onClick) {\n onClick()\n }\n }}\n >\n {children}\n </Link>\n )\n }\n\n if (onClick) {\n return (\n <button\n className={classes}\n id={id}\n onClick={() => {\n if (onClick) {\n onClick()\n }\n }}\n type=\"button\"\n >\n {children}\n </button>\n )\n }\n\n return (\n <div className={classes} id={id}>\n {children}\n </div>\n )\n}\n"],"names":["LinkImport","React","Link","default","baseClass","ButtonGroup","buttonSize","children","className","textAlign","classes","filter","Boolean","join","div","Button","id","active","href","onClick","button","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,OAAOA,gBAAgB,eAAc;AACrC,YAAYC,WAAW,QAAO,CAAC,iDAAiD;AAIhF,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AAEpC,MAAMI,YAAY;AAElB,OAAO,MAAMC,cAKR,CAAC,EAAEC,aAAa,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,YAAY,MAAM,EAAE;IACvE,MAAMC,UAAU;QACdN;QACAI;QACA,CAAC,EAAEJ,UAAU,cAAc,EAAEK,UAAU,CAAC;QACxC,CAAC,EAAEL,UAAU,eAAe,EAAEE,WAAW,CAAC;KAC3C,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;IACR,qBAAO,oBAACC;QAAIN,WAAWE;OAAUH;AACnC,EAAC;AAWD,OAAO,MAAMQ,SAAoC,CAAC,EAChDC,EAAE,EACFC,MAAM,EACNV,QAAQ,EACRC,SAAS,EACTU,IAAI,EACJC,OAAO,EACR;IACC,MAAMT,UAAU;QAAC,CAAC,EAAEN,UAAU,QAAQ,CAAC;QAAEa,UAAU,CAAC,EAAEb,UAAU,kBAAkB,CAAC;QAAEI;KAAU,CAC5FG,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIK,MAAM;QACR,qBACE,oBAAChB;YACCM,WAAWE;YACXQ,MAAMA;YACNF,IAAIA;YACJG,SAAS;gBACP,IAAIA,SAAS;oBACXA;gBACF;YACF;WAECZ;IAGP;IAEA,IAAIY,SAAS;QACX,qBACE,oBAACC;YACCZ,WAAWE;YACXM,IAAIA;YACJG,SAAS;gBACP,IAAIA,SAAS;oBACXA;gBACF;YACF;YACAE,MAAK;WAEJd;IAGP;IAEA,qBACE,oBAACO;QAAIN,WAAWE;QAASM,IAAIA;OAC1BT;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n setActive: (active: boolean) => void\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, setActive } = props\n\n const classes = [baseClass, className, `${baseClass}--${buttonType}`].filter(Boolean).join(' ')\n\n const handleClick = () => {\n setActive(!active)\n }\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handleClick()\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button className={classes} onClick={() => setActive(!active)} tabIndex={0} type=\"button\">\n {button}\n </button>\n )\n}\n"],"names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","setActive","classes","filter","Boolean","join","handleClick","div","onClick","onKeyDown","e","key","role","tabIndex","type"],"mappings":"AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAUlB,OAAO,MAAMC,eAA4C,CAACC;IACxD,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGL;IAE7D,MAAMM,UAAU;QAACR;QAAWM;QAAW,CAAC,EAAEN,UAAU,EAAE,EAAEK,WAAW,CAAC;KAAC,CAACI,MAAM,CAACC,SAASC,IAAI,CAAC;IAE3F,MAAMC,cAAc;QAClBL,UAAU,CAACJ;IACb;IAEA,IAAIE,eAAe,QAAQ;QACzB,OAAO;IACT;IAEA,IAAIA,eAAe,UAAU;QAC3B,qBACE,oBAACQ;YACCP,WAAWE;YACXM,SAASF;YACTG,WAAW,CAACC;gBACV,IAAIA,EAAEC,GAAG,KAAK,SAASL;YACzB;YACAM,MAAK;YACLC,UAAU;WAETf;IAGP;IAEA,qBACE,oBAACA;QAAOE,WAAWE;QAASM,SAAS,IAAMP,UAAU,CAACJ;QAASgB,UAAU;QAAGC,MAAK;OAC9EhB;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n setActive: (active: boolean) => void\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, setActive } = props\n\n const classes = [baseClass, className, `${baseClass}--${buttonType}`].filter(Boolean).join(' ')\n\n const handleClick = () => {\n setActive(!active)\n }\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handleClick()\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button className={classes} onClick={() => setActive(!active)} tabIndex={0} type=\"button\">\n {button}\n </button>\n )\n}\n"],"names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","setActive","classes","filter","Boolean","join","handleClick","div","onClick","onKeyDown","e","key","role","tabIndex","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAUlB,OAAO,MAAMC,eAA4C,CAACC;IACxD,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGL;IAE7D,MAAMM,UAAU;QAACR;QAAWM;QAAW,CAAC,EAAEN,UAAU,EAAE,EAAEK,WAAW,CAAC;KAAC,CAACI,MAAM,CAACC,SAASC,IAAI,CAAC;IAE3F,MAAMC,cAAc;QAClBL,UAAU,CAACJ;IACb;IAEA,IAAIE,eAAe,QAAQ;QACzB,OAAO;IACT;IAEA,IAAIA,eAAe,UAAU;QAC3B,qBACE,oBAACQ;YACCP,WAAWE;YACXM,SAASF;YACTG,WAAW,CAACC;gBACV,IAAIA,EAAEC,GAAG,KAAK,SAASL;YACzB;YACAM,MAAK;YACLC,UAAU;WAETf;IAGP;IAEA,qBACE,oBAACA;QAAOE,WAAWE;QAASM,SAAS,IAAMP,UAAU,CAACJ;QAASgB,UAAU;QAAGC,MAAK;OAC9EhB;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Popup/PopupTrigger/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../../../../src/elements/Popup/PopupTrigger/types.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport * as facelessUIImport from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { PopupTrigger } from './PopupTrigger/index.js'\nimport './index.scss'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.MutableRefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonType = 'default',\n caret = true,\n children,\n className,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { useWindowInfo } = facelessUIImport\n\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') onToggleOpen(active)\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"names":["PopupList","facelessUIImport","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonType","caret","children","className","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","useWindowInfo","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","div","onMouseEnter","onMouseLeave","ref","close"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport * as facelessUIImport from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { PopupTrigger } from './PopupTrigger/index.js'\nimport './index.scss'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.MutableRefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonType = 'default',\n caret = true,\n children,\n className,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { useWindowInfo } = facelessUIImport\n\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') onToggleOpen(active)\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"names":["PopupList","facelessUIImport","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonType","caret","children","className","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","useWindowInfo","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","div","onMouseEnter","onMouseLeave","ref","close"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nconst DefaultPreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"small\"\n >\n {label}\n </Button>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const PreviewButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPreviewButton />\n}\n"],"names":["React","Button","usePreviewURL","baseClass","DefaultPreviewButton","generatePreviewURL","label","buttonStyle","className","onClick","openPreviewWindow","size","PreviewButton","CustomComponent"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,aAAa,QAAQ,qBAAoB;AAElD,MAAMC,YAAY;AAElB,MAAMC,uBAAiC;IACrC,MAAM,EAAEC,kBAAkB,EAAEC,KAAK,EAAE,GAAGJ;IAEtC,qBACE,oBAACD;QACCM,aAAY;QACZC,WAAWL;QACX,sBAAsB;QACtBM,SAAS,IACPJ,mBAAmB;gBACjBK,mBAAmB;YACrB;QAEFC,MAAK;OAEJL;AAGP;AAMA,OAAO,MAAMM,gBAAiC,CAAC,EAAEC,eAAe,EAAE;IAChE,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,oBAACT;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nconst DefaultPreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"small\"\n >\n {label}\n </Button>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const PreviewButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPreviewButton />\n}\n"],"names":["React","Button","usePreviewURL","baseClass","DefaultPreviewButton","generatePreviewURL","label","buttonStyle","className","onClick","openPreviewWindow","size","PreviewButton","CustomComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,aAAa,QAAQ,qBAAoB;AAElD,MAAMC,YAAY;AAElB,MAAMC,uBAAiC;IACrC,MAAM,EAAEC,kBAAkB,EAAEC,KAAK,EAAE,GAAGJ;IAEtC,qBACE,oBAACD;QACCM,aAAY;QACZC,WAAWL;QACX,sBAAsB;QACtBM,SAAS,IACPJ,mBAAmB;gBACjBK,mBAAmB;YACrB;QAEFC,MAAK;OAEJL;AAGP;AAMA,OAAO,MAAMM,gBAAiC,CAAC,EAAEC,eAAe,EAAE;IAChE,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,oBAACT;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PreviewButton/usePreviewURL.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useRef, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const usePreviewURL = (): {\n generatePreviewURL: ({ openPreviewWindow }: { openPreviewWindow?: boolean }) => void\n isLoading: boolean\n label: string\n previewURL: string\n} => {\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [isLoading, setIsLoading] = useState(false)\n const [previewURL, setPreviewURL] = useState('')\n const { code: locale } = useLocale()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const { t } = useTranslation()\n\n const isGeneratingPreviewURL = useRef(false)\n\n // we need to regenerate the preview URL every time the button is clicked\n // to do this we need to fetch the document data fresh from the API\n // this will ensure the latest data is used when generating the preview URL\n const generatePreviewURL = useCallback(\n async ({ openPreviewWindow = false }) => {\n if (isGeneratingPreviewURL.current) return\n isGeneratingPreviewURL.current = true\n\n try {\n setIsLoading(true)\n\n let url = `${serverURL}${api}`\n if (collectionSlug) url = `${url}/${collectionSlug}/${id}/preview`\n if (globalSlug) url = `${url}/globals/${globalSlug}/preview`\n\n const res = await fetch(`${url}${locale ? `?locale=${locale}` : ''}`)\n\n if (!res.ok) throw new Error()\n const newPreviewURL = await res.json()\n if (!newPreviewURL) throw new Error()\n setPreviewURL(newPreviewURL)\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n if (openPreviewWindow) window.open(newPreviewURL, '_blank')\n } catch (err) {\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n toast.error(t('error:previewing'))\n }\n },\n [serverURL, api, collectionSlug, globalSlug, id, locale, t],\n )\n\n return {\n generatePreviewURL,\n isLoading,\n label: isLoading ? t('general:loading') : t('version:preview'),\n previewURL,\n }\n}\n"],"names":["useCallback","useRef","useState","toast","useConfig","useDocumentInfo","useLocale","useTranslation","usePreviewURL","id","collectionSlug","globalSlug","isLoading","setIsLoading","previewURL","setPreviewURL","code","locale","routes","api","serverURL","t","isGeneratingPreviewURL","generatePreviewURL","openPreviewWindow","current","url","res","fetch","ok","Error","newPreviewURL","json","window","open","err","error","label"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AACrD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,gBAAgB;IAM3B,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGN;IAE3C,MAAM,CAACO,WAAWC,aAAa,GAAGX,SAAS;IAC3C,MAAM,CAACY,YAAYC,cAAc,GAAGb,SAAS;IAC7C,MAAM,EAAEc,MAAMC,MAAM,EAAE,GAAGX;IAEzB,MAAM,EACJY,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGhB;IAEJ,MAAM,EAAEiB,CAAC,EAAE,GAAGd;IAEd,MAAMe,yBAAyBrB,OAAO;IAEtC,yEAAyE;IACzE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAMsB,qBAAqBvB,YACzB,OAAO,EAAEwB,oBAAoB,KAAK,EAAE;QAClC,IAAIF,uBAAuBG,OAAO,EAAE;QACpCH,uBAAuBG,OAAO,GAAG;QAEjC,IAAI;YACFZ,aAAa;YAEb,IAAIa,MAAM,CAAC,EAAEN,UAAU,EAAED,IAAI,CAAC;YAC9B,IAAIT,gBAAgBgB,MAAM,CAAC,EAAEA,IAAI,CAAC,EAAEhB,eAAe,CAAC,EAAED,GAAG,QAAQ,CAAC;YAClE,IAAIE,YAAYe,MAAM,CAAC,EAAEA,IAAI,SAAS,EAAEf,WAAW,QAAQ,CAAC;YAE5D,MAAMgB,MAAM,MAAMC,MAAM,CAAC,EAAEF,IAAI,EAAET,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;YAEpE,IAAI,CAACU,IAAIE,EAAE,EAAE,MAAM,IAAIC;YACvB,MAAMC,gBAAgB,MAAMJ,IAAIK,IAAI;YACpC,IAAI,CAACD,eAAe,MAAM,IAAID;YAC9Bf,cAAcgB;YACdlB,aAAa;YACbS,uBAAuBG,OAAO,GAAG;YACjC,IAAID,mBAAmBS,OAAOC,IAAI,CAACH,eAAe;QACpD,EAAE,OAAOI,KAAK;YACZtB,aAAa;YACbS,uBAAuBG,OAAO,GAAG;YACjCtB,MAAMiC,KAAK,CAACf,EAAE;QAChB;IACF,GACA;QAACD;QAAWD;QAAKT;QAAgBC;QAAYF;QAAIQ;QAAQI;KAAE;IAG7D,OAAO;QACLE;QACAX;QACAyB,OAAOzB,YAAYS,EAAE,qBAAqBA,EAAE;QAC5CP;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/PreviewButton/usePreviewURL.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useRef, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const usePreviewURL = (): {\n generatePreviewURL: ({ openPreviewWindow }: { openPreviewWindow?: boolean }) => void\n isLoading: boolean\n label: string\n previewURL: string\n} => {\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [isLoading, setIsLoading] = useState(false)\n const [previewURL, setPreviewURL] = useState('')\n const { code: locale } = useLocale()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const { t } = useTranslation()\n\n const isGeneratingPreviewURL = useRef(false)\n\n // we need to regenerate the preview URL every time the button is clicked\n // to do this we need to fetch the document data fresh from the API\n // this will ensure the latest data is used when generating the preview URL\n const generatePreviewURL = useCallback(\n async ({ openPreviewWindow = false }) => {\n if (isGeneratingPreviewURL.current) return\n isGeneratingPreviewURL.current = true\n\n try {\n setIsLoading(true)\n\n let url = `${serverURL}${api}`\n if (collectionSlug) url = `${url}/${collectionSlug}/${id}/preview`\n if (globalSlug) url = `${url}/globals/${globalSlug}/preview`\n\n const res = await fetch(`${url}${locale ? `?locale=${locale}` : ''}`)\n\n if (!res.ok) throw new Error()\n const newPreviewURL = await res.json()\n if (!newPreviewURL) throw new Error()\n setPreviewURL(newPreviewURL)\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n if (openPreviewWindow) window.open(newPreviewURL, '_blank')\n } catch (err) {\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n toast.error(t('error:previewing'))\n }\n },\n [serverURL, api, collectionSlug, globalSlug, id, locale, t],\n )\n\n return {\n generatePreviewURL,\n isLoading,\n label: isLoading ? t('general:loading') : t('version:preview'),\n previewURL,\n }\n}\n"],"names":["useCallback","useRef","useState","toast","useConfig","useDocumentInfo","useLocale","useTranslation","usePreviewURL","id","collectionSlug","globalSlug","isLoading","setIsLoading","previewURL","setPreviewURL","code","locale","routes","api","serverURL","t","isGeneratingPreviewURL","generatePreviewURL","openPreviewWindow","current","url","res","fetch","ok","Error","newPreviewURL","json","window","open","err","error","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AACrD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,gBAAgB;IAM3B,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGN;IAE3C,MAAM,CAACO,WAAWC,aAAa,GAAGX,SAAS;IAC3C,MAAM,CAACY,YAAYC,cAAc,GAAGb,SAAS;IAC7C,MAAM,EAAEc,MAAMC,MAAM,EAAE,GAAGX;IAEzB,MAAM,EACJY,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGhB;IAEJ,MAAM,EAAEiB,CAAC,EAAE,GAAGd;IAEd,MAAMe,yBAAyBrB,OAAO;IAEtC,yEAAyE;IACzE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAMsB,qBAAqBvB,YACzB,OAAO,EAAEwB,oBAAoB,KAAK,EAAE;QAClC,IAAIF,uBAAuBG,OAAO,EAAE;QACpCH,uBAAuBG,OAAO,GAAG;QAEjC,IAAI;YACFZ,aAAa;YAEb,IAAIa,MAAM,CAAC,EAAEN,UAAU,EAAED,IAAI,CAAC;YAC9B,IAAIT,gBAAgBgB,MAAM,CAAC,EAAEA,IAAI,CAAC,EAAEhB,eAAe,CAAC,EAAED,GAAG,QAAQ,CAAC;YAClE,IAAIE,YAAYe,MAAM,CAAC,EAAEA,IAAI,SAAS,EAAEf,WAAW,QAAQ,CAAC;YAE5D,MAAMgB,MAAM,MAAMC,MAAM,CAAC,EAAEF,IAAI,EAAET,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;YAEpE,IAAI,CAACU,IAAIE,EAAE,EAAE,MAAM,IAAIC;YACvB,MAAMC,gBAAgB,MAAMJ,IAAIK,IAAI;YACpC,IAAI,CAACD,eAAe,MAAM,IAAID;YAC9Bf,cAAcgB;YACdlB,aAAa;YACbS,uBAAuBG,OAAO,GAAG;YACjC,IAAID,mBAAmBS,OAAOC,IAAI,CAACH,eAAe;QACpD,EAAE,OAAOI,KAAK;YACZtB,aAAa;YACbS,uBAAuBG,OAAO,GAAG;YACjCtB,MAAMiC,KAAK,CAACf,EAAE;QAChB;IACF,GACA;QAACD;QAAWD;QAAKT;QAAgBC;QAAYF;QAAIQ;QAAQI;KAAE;IAG7D,OAAO;QACLE;QACAX;QACAyB,OAAOzB,YAAYS,EAAE,qBAAqBA,EAAE;QAC5CP;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["import type {\n Data,\n FileSize,\n SanitizedCollectionConfig,\n SanitizedUploadConfig,\n} from 'payload/types'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = FileSize & {\n url: string\n}\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, imageSizes: SanitizedUploadConfig['imageSizes']) => {\n if (!imageSizes || imageSizes.length === 0) return sizes\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n imageSizes.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') return\n if (e.key === 'Enter') onClick()\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={meta.filename} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: Data & {\n sizes?: FilesSizesWithUrl\n }\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { imageSizes } = uploadConfig\n const { sizes } = doc\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, imageSizes),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) return null\n if (doc.url) return `${doc.url}${imageCacheTag ? `?${imageCacheTag}` : ''}`\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, imageSizes))\n }, [sizes, imageSizes, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.sizes[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={doc.filename} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"names":["React","useEffect","useMemo","useState","FileMeta","baseClass","sortSizes","sizes","imageSizes","length","orderedSizes","forEach","name","PreviewSizeCard","active","meta","onClick","previewSrc","div","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","img","alt","filename","src","PreviewSizes","doc","imageCacheTag","uploadConfig","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["import type {\n Data,\n FileSize,\n SanitizedCollectionConfig,\n SanitizedUploadConfig,\n} from 'payload/types'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = FileSize & {\n url: string\n}\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, imageSizes: SanitizedUploadConfig['imageSizes']) => {\n if (!imageSizes || imageSizes.length === 0) return sizes\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n imageSizes.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') return\n if (e.key === 'Enter') onClick()\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={meta.filename} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: Data & {\n sizes?: FilesSizesWithUrl\n }\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { imageSizes } = uploadConfig\n const { sizes } = doc\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, imageSizes),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) return null\n if (doc.url) return `${doc.url}${imageCacheTag ? `?${imageCacheTag}` : ''}`\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, imageSizes))\n }, [sizes, imageSizes, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.sizes[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={doc.filename} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"names":["React","useEffect","useMemo","useState","FileMeta","baseClass","sortSizes","sizes","imageSizes","length","orderedSizes","forEach","name","PreviewSizeCard","active","meta","onClick","previewSrc","div","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","img","alt","filename","src","PreviewSizes","doc","imageCacheTag","uploadConfig","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -70,7 +70,7 @@ export const DefaultPublishButton = ({ label: labelProp })=>{
70
70
  id,
71
71
  serverURL
72
72
  ]);
73
- if (!canPublish) return null;
73
+ if (!hasPublishPermission) return null;
74
74
  return /*#__PURE__*/ React.createElement(FormSubmit, {
75
75
  buttonId: "action-save",
76
76
  disabled: !canPublish,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Publish/index.tsx"],"sourcesContent":["'use client'\n\nimport qs from 'qs'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const DefaultPublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug, publishedDoc, unpublishedVersions } = useDocumentInfo()\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const { getData, submit } = useForm()\n const modified = useFormModified()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersions?.totalDocs > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !publishedDoc)\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n }, [submit])\n\n React.useEffect(() => {\n const fetchPublishAccess = async () => {\n let docAccessURL: string\n let operation = 'update'\n\n const params = {\n locale: code || undefined,\n }\n if (globalSlug) {\n docAccessURL = `/globals/${globalSlug}/access`\n } else if (collectionSlug) {\n if (!id) operation = 'create'\n docAccessURL = `/${collectionSlug}/access${id ? `/${id}` : ''}`\n }\n\n if (docAccessURL) {\n const data = getData()\n\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify({\n ...data,\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n const json = await res.json()\n const result = Boolean(json?.[operation]?.permission)\n setHasPublishPermission(result)\n } else {\n setHasPublishPermission(true)\n }\n }\n\n void fetchPublishAccess()\n }, [api, code, collectionSlug, getData, globalSlug, id, serverURL])\n\n if (!canPublish) return null\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"small\"\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const Publish: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPublishButton />\n}\n"],"names":["qs","React","useCallback","useForm","useFormModified","FormSubmit","useConfig","useDocumentInfo","useLocale","useTranslation","DefaultPublishButton","label","labelProp","code","id","collectionSlug","globalSlug","publishedDoc","unpublishedVersions","hasPublishPermission","setHasPublishPermission","useState","getData","submit","modified","routes","api","serverURL","t","hasNewerVersions","totalDocs","canPublish","publish","overrides","_status","useEffect","fetchPublishAccess","docAccessURL","operation","params","locale","undefined","data","res","fetch","stringify","body","JSON","credentials","headers","method","json","result","Boolean","permission","buttonId","disabled","onClick","size","type","Publish","CustomComponent"],"mappings":"AAAA;AAEA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA6B;AACtE,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,uBAAqD,CAAC,EAAEC,OAAOC,SAAS,EAAE;IACrF,MAAM,EAAEC,IAAI,EAAE,GAAGL;IACjB,MAAM,EAAEM,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,YAAY,EAAEC,mBAAmB,EAAE,GAAGX;IAC9E,MAAM,CAACY,sBAAsBC,wBAAwB,GAAGnB,MAAMoB,QAAQ,CAAC;IACvE,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGpB;IAC5B,MAAMqB,WAAWpB;IAEjB,MAAM,EACJqB,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGrB;IACJ,MAAM,EAAEsB,CAAC,EAAE,GAAGnB;IACd,MAAME,QAAQC,aAAagB,EAAE;IAE7B,MAAMC,mBAAmBX,qBAAqBY,YAAY;IAC1D,MAAMC,aAAaZ,wBAAyBK,CAAAA,YAAYK,oBAAoB,CAACZ,YAAW;IAExF,MAAMe,UAAU9B,YAAY;QAC1B,KAAKqB,OAAO;YACVU,WAAW;gBACTC,SAAS;YACX;QACF;IACF,GAAG;QAACX;KAAO;IAEXtB,MAAMkC,SAAS,CAAC;QACd,MAAMC,qBAAqB;YACzB,IAAIC;YACJ,IAAIC,YAAY;YAEhB,MAAMC,SAAS;gBACbC,QAAQ3B,QAAQ4B;YAClB;YACA,IAAIzB,YAAY;gBACdqB,eAAe,CAAC,SAAS,EAAErB,WAAW,OAAO,CAAC;YAChD,OAAO,IAAID,gBAAgB;gBACzB,IAAI,CAACD,IAAIwB,YAAY;gBACrBD,eAAe,CAAC,CAAC,EAAEtB,eAAe,OAAO,EAAED,KAAK,CAAC,CAAC,EAAEA,GAAG,CAAC,GAAG,GAAG,CAAC;YACjE;YAEA,IAAIuB,cAAc;gBAChB,MAAMK,OAAOpB;gBAEb,MAAMqB,MAAM,MAAMC,MAAM,CAAC,EAAEjB,UAAU,EAAED,IAAI,EAAEW,aAAa,CAAC,EAAErC,GAAG6C,SAAS,CAACN,QAAQ,CAAC,EAAE;oBACnFO,MAAMC,KAAKF,SAAS,CAAC;wBACnB,GAAGH,IAAI;wBACPR,SAAS;oBACX;oBACAc,aAAa;oBACbC,SAAS;wBACP,gBAAgB;oBAClB;oBACAC,QAAQ;gBACV;gBACA,MAAMC,OAAO,MAAMR,IAAIQ,IAAI;gBAC3B,MAAMC,SAASC,QAAQF,MAAM,CAACb,UAAU,EAAEgB;gBAC1ClC,wBAAwBgC;YAC1B,OAAO;gBACLhC,wBAAwB;YAC1B;QACF;QAEA,KAAKgB;IACP,GAAG;QAACV;QAAKb;QAAME;QAAgBO;QAASN;QAAYF;QAAIa;KAAU;IAElE,IAAI,CAACI,YAAY,OAAO;IAExB,qBACE,oBAAC1B;QACCkD,UAAS;QACTC,UAAU,CAACzB;QACX0B,SAASzB;QACT0B,MAAK;QACLC,MAAK;OAEJhD;AAGP,EAAC;AAMD,OAAO,MAAMiD,UAA2B,CAAC,EAAEC,eAAe,EAAE;IAC1D,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,oBAACnD;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Publish/index.tsx"],"sourcesContent":["'use client'\n\nimport qs from 'qs'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const DefaultPublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug, publishedDoc, unpublishedVersions } = useDocumentInfo()\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const { getData, submit } = useForm()\n const modified = useFormModified()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersions?.totalDocs > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !publishedDoc)\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n }, [submit])\n\n React.useEffect(() => {\n const fetchPublishAccess = async () => {\n let docAccessURL: string\n let operation = 'update'\n\n const params = {\n locale: code || undefined,\n }\n if (globalSlug) {\n docAccessURL = `/globals/${globalSlug}/access`\n } else if (collectionSlug) {\n if (!id) operation = 'create'\n docAccessURL = `/${collectionSlug}/access${id ? `/${id}` : ''}`\n }\n\n if (docAccessURL) {\n const data = getData()\n\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify({\n ...data,\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n const json = await res.json()\n const result = Boolean(json?.[operation]?.permission)\n setHasPublishPermission(result)\n } else {\n setHasPublishPermission(true)\n }\n }\n\n void fetchPublishAccess()\n }, [api, code, collectionSlug, getData, globalSlug, id, serverURL])\n\n if (!hasPublishPermission) return null\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"small\"\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const Publish: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPublishButton />\n}\n"],"names":["qs","React","useCallback","useForm","useFormModified","FormSubmit","useConfig","useDocumentInfo","useLocale","useTranslation","DefaultPublishButton","label","labelProp","code","id","collectionSlug","globalSlug","publishedDoc","unpublishedVersions","hasPublishPermission","setHasPublishPermission","useState","getData","submit","modified","routes","api","serverURL","t","hasNewerVersions","totalDocs","canPublish","publish","overrides","_status","useEffect","fetchPublishAccess","docAccessURL","operation","params","locale","undefined","data","res","fetch","stringify","body","JSON","credentials","headers","method","json","result","Boolean","permission","buttonId","disabled","onClick","size","type","Publish","CustomComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA6B;AACtE,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,uBAAqD,CAAC,EAAEC,OAAOC,SAAS,EAAE;IACrF,MAAM,EAAEC,IAAI,EAAE,GAAGL;IACjB,MAAM,EAAEM,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,YAAY,EAAEC,mBAAmB,EAAE,GAAGX;IAC9E,MAAM,CAACY,sBAAsBC,wBAAwB,GAAGnB,MAAMoB,QAAQ,CAAC;IACvE,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGpB;IAC5B,MAAMqB,WAAWpB;IAEjB,MAAM,EACJqB,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGrB;IACJ,MAAM,EAAEsB,CAAC,EAAE,GAAGnB;IACd,MAAME,QAAQC,aAAagB,EAAE;IAE7B,MAAMC,mBAAmBX,qBAAqBY,YAAY;IAC1D,MAAMC,aAAaZ,wBAAyBK,CAAAA,YAAYK,oBAAoB,CAACZ,YAAW;IAExF,MAAMe,UAAU9B,YAAY;QAC1B,KAAKqB,OAAO;YACVU,WAAW;gBACTC,SAAS;YACX;QACF;IACF,GAAG;QAACX;KAAO;IAEXtB,MAAMkC,SAAS,CAAC;QACd,MAAMC,qBAAqB;YACzB,IAAIC;YACJ,IAAIC,YAAY;YAEhB,MAAMC,SAAS;gBACbC,QAAQ3B,QAAQ4B;YAClB;YACA,IAAIzB,YAAY;gBACdqB,eAAe,CAAC,SAAS,EAAErB,WAAW,OAAO,CAAC;YAChD,OAAO,IAAID,gBAAgB;gBACzB,IAAI,CAACD,IAAIwB,YAAY;gBACrBD,eAAe,CAAC,CAAC,EAAEtB,eAAe,OAAO,EAAED,KAAK,CAAC,CAAC,EAAEA,GAAG,CAAC,GAAG,GAAG,CAAC;YACjE;YAEA,IAAIuB,cAAc;gBAChB,MAAMK,OAAOpB;gBAEb,MAAMqB,MAAM,MAAMC,MAAM,CAAC,EAAEjB,UAAU,EAAED,IAAI,EAAEW,aAAa,CAAC,EAAErC,GAAG6C,SAAS,CAACN,QAAQ,CAAC,EAAE;oBACnFO,MAAMC,KAAKF,SAAS,CAAC;wBACnB,GAAGH,IAAI;wBACPR,SAAS;oBACX;oBACAc,aAAa;oBACbC,SAAS;wBACP,gBAAgB;oBAClB;oBACAC,QAAQ;gBACV;gBACA,MAAMC,OAAO,MAAMR,IAAIQ,IAAI;gBAC3B,MAAMC,SAASC,QAAQF,MAAM,CAACb,UAAU,EAAEgB;gBAC1ClC,wBAAwBgC;YAC1B,OAAO;gBACLhC,wBAAwB;YAC1B;QACF;QAEA,KAAKgB;IACP,GAAG;QAACV;QAAKb;QAAME;QAAgBO;QAASN;QAAYF;QAAIa;KAAU;IAElE,IAAI,CAACR,sBAAsB,OAAO;IAElC,qBACE,oBAACd;QACCkD,UAAS;QACTC,UAAU,CAACzB;QACX0B,SAASzB;QACT0B,MAAK;QACLC,MAAK;OAEJhD;AAGP,EAAC;AAMD,OAAO,MAAMiD,UAA2B,CAAC,EAAEC,eAAe,EAAE;IAC1D,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,oBAACnD;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { Modal, useModal } = facelessUIImport\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const { stringifyParams } = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n stringifyParams,\n clearRouteCache,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__template`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-publish\" onClick={submitted ? undefined : handlePublish}>\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["facelessUIImport","getTranslation","useRouter","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","MinimalTemplate","requests","Button","Pill","baseClass","PublishMany","props","Modal","useModal","clearRouteCache","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","stringifyParams","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","h1","p","label","buttonStyle","id","type"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { Modal, useModal } = facelessUIImport\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const { stringifyParams } = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n stringifyParams,\n clearRouteCache,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__template`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-publish\" onClick={submitted ? undefined : handlePublish}>\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["facelessUIImport","getTranslation","useRouter","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","MinimalTemplate","requests","Button","Pill","baseClass","PublishMany","props","Modal","useModal","clearRouteCache","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","stringifyParams","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","h1","p","label","buttonStyle","id","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/ClearIndicator/index.tsx"],"sourcesContent":["import type { ClearIndicatorProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport './index.scss'\n\nconst baseClass = 'clear-indicator'\n\nexport const ClearIndicator: React.FC<ClearIndicatorProps<OptionType, true>> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <div className={baseClass} ref={ref} {...restInnerProps}>\n <X className={`${baseClass}__icon`} />\n </div>\n )\n}\n"],"names":["React","X","baseClass","ClearIndicator","props","innerProps","ref","restInnerProps","div","className"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AAIzB,SAASC,CAAC,QAAQ,4BAA2B;AAG7C,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAAkE,CAACC;IAC9E,MAAM,EACJC,YAAY,EAAEC,GAAG,EAAE,GAAGC,gBAAgB,EACvC,GAAGH;IAEJ,qBACE,oBAACI;QAAIC,WAAWP;QAAWI,KAAKA;QAAM,GAAGC,cAAc;qBACrD,oBAACN;QAAEQ,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;;AAGxC,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/ClearIndicator/index.tsx"],"sourcesContent":["import type { ClearIndicatorProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport './index.scss'\n\nconst baseClass = 'clear-indicator'\n\nexport const ClearIndicator: React.FC<ClearIndicatorProps<OptionType, true>> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <div className={baseClass} ref={ref} {...restInnerProps}>\n <X className={`${baseClass}__icon`} />\n </div>\n )\n}\n"],"names":["React","X","baseClass","ClearIndicator","props","innerProps","ref","restInnerProps","div","className"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAIzB,SAASC,CAAC,QAAQ,4BAA2B;AAG7C,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAAkE,CAACC;IAC9E,MAAM,EACJC,YAAY,EAAEC,GAAG,EAAE,GAAGC,gBAAgB,EACvC,GAAGH;IAEJ,qBACE,oBAACI;QAAIC,WAAWP;QAAWI,KAAKA;QAAM,GAAGC,cAAc;qBACrD,oBAACN;QAAEQ,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;;AAGxC,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/Control/index.tsx"],"sourcesContent":["import type { ControlProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nexport const Control: React.FC<ControlProps<Option, any>> = (props) => {\n const {\n children,\n innerProps,\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableKeyDown, disableMouseDown } = {} } = {},\n } = props\n\n return (\n <SelectComponents.Control\n {...props}\n innerProps={{\n ...innerProps,\n onKeyDown: (e) => {\n if (disableKeyDown) {\n e.stopPropagation()\n // Create event for keydown listeners which specifically want to bypass this stopPropagation\n const bypassEvent = new CustomEvent('bypassKeyDown', { detail: e })\n document.dispatchEvent(bypassEvent)\n }\n },\n // react-select has this typed incorrectly so we disable the linting rule\n // we need to prevent react-select from hijacking the 'onKeyDown' event while modals are open (i.e. the 'Relationship' field component)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n onMouseDown: (e) => {\n // we need to prevent react-select from hijacking the 'onMouseDown' event while modals are open (i.e. the 'Relationship' field component)\n if (!disableMouseDown) {\n innerProps.onMouseDown(e)\n }\n },\n }}\n >\n {children}\n </SelectComponents.Control>\n )\n}\n"],"names":["React","components","SelectComponents","Control","props","children","innerProps","selectProps","customProps","disableKeyDown","disableMouseDown","onKeyDown","e","stopPropagation","bypassEvent","CustomEvent","detail","document","dispatchEvent","onMouseDown"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,OAAO,MAAMC,UAA+C,CAACC;IAC3D,MAAM,EACJC,QAAQ,EACRC,UAAU,EACV,8FAA8F;IAC9FC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAEC,gBAAgB,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAC7E,GAAGN;IAEJ,qBACE,oBAACF,iBAAiBC,OAAO;QACtB,GAAGC,KAAK;QACTE,YAAY;YACV,GAAGA,UAAU;YACbK,WAAW,CAACC;gBACV,IAAIH,gBAAgB;oBAClBG,EAAEC,eAAe;oBACjB,4FAA4F;oBAC5F,MAAMC,cAAc,IAAIC,YAAY,iBAAiB;wBAAEC,QAAQJ;oBAAE;oBACjEK,SAASC,aAAa,CAACJ;gBACzB;YACF;YACA,yEAAyE;YACzE,uIAAuI;YACvI,6DAA6D;YAC7DK,aAAa,CAACP;gBACZ,yIAAyI;gBACzI,IAAI,CAACF,kBAAkB;oBACrBJ,WAAWa,WAAW,CAACP;gBACzB;YACF;QACF;OAECP;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/Control/index.tsx"],"sourcesContent":["import type { ControlProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nexport const Control: React.FC<ControlProps<Option, any>> = (props) => {\n const {\n children,\n innerProps,\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableKeyDown, disableMouseDown } = {} } = {},\n } = props\n\n return (\n <SelectComponents.Control\n {...props}\n innerProps={{\n ...innerProps,\n onKeyDown: (e) => {\n if (disableKeyDown) {\n e.stopPropagation()\n // Create event for keydown listeners which specifically want to bypass this stopPropagation\n const bypassEvent = new CustomEvent('bypassKeyDown', { detail: e })\n document.dispatchEvent(bypassEvent)\n }\n },\n // react-select has this typed incorrectly so we disable the linting rule\n // we need to prevent react-select from hijacking the 'onKeyDown' event while modals are open (i.e. the 'Relationship' field component)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n onMouseDown: (e) => {\n // we need to prevent react-select from hijacking the 'onMouseDown' event while modals are open (i.e. the 'Relationship' field component)\n if (!disableMouseDown) {\n innerProps.onMouseDown(e)\n }\n },\n }}\n >\n {children}\n </SelectComponents.Control>\n )\n}\n"],"names":["React","components","SelectComponents","Control","props","children","innerProps","selectProps","customProps","disableKeyDown","disableMouseDown","onKeyDown","e","stopPropagation","bypassEvent","CustomEvent","detail","document","dispatchEvent","onMouseDown"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,OAAO,MAAMC,UAA+C,CAACC;IAC3D,MAAM,EACJC,QAAQ,EACRC,UAAU,EACV,8FAA8F;IAC9FC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAEC,gBAAgB,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAC7E,GAAGN;IAEJ,qBACE,oBAACF,iBAAiBC,OAAO;QACtB,GAAGC,KAAK;QACTE,YAAY;YACV,GAAGA,UAAU;YACbK,WAAW,CAACC;gBACV,IAAIH,gBAAgB;oBAClBG,EAAEC,eAAe;oBACjB,4FAA4F;oBAC5F,MAAMC,cAAc,IAAIC,YAAY,iBAAiB;wBAAEC,QAAQJ;oBAAE;oBACjEK,SAASC,aAAa,CAACJ;gBACzB;YACF;YACA,yEAAyE;YACzE,uIAAuI;YACvI,6DAA6D;YAC7DK,aAAa,CAACP;gBACZ,yIAAyI;gBACzI,IAAI,CAACF,kBAAkB;oBACrBJ,WAAWa,WAAW,CAACP;gBACzB;YACF;QACF;OAECP;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"sourcesContent":["import type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\nimport { v4 as uuid } from 'uuid'\n\nimport type { Option } from '../types.js'\n\nimport { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value'\nexport const MultiValue: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n className,\n data: { value },\n innerProps,\n isDisabled,\n // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableMouseDown } = {}, isSortable } = {},\n } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id: typeof value === 'object' && 'path' in value ? String(value.path) : uuid(),\n disabled: !isSortable,\n })\n\n const classes = [\n baseClass,\n className,\n !isDisabled && 'draggable',\n isDragging && `${baseClass}--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <SelectComponents.MultiValue\n {...props}\n className={classes}\n innerProps={{\n ...innerProps,\n ...attributes,\n ...listeners,\n onMouseDown: (e) => {\n if (!disableMouseDown) {\n // we need to prevent the dropdown from opening when clicking on the drag handle, but not when a modal is open (i.e. the 'Relationship' field component)\n e.stopPropagation()\n }\n },\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n"],"names":["React","components","SelectComponents","v4","uuid","useDraggableSortable","baseClass","MultiValue","props","className","data","value","innerProps","isDisabled","selectProps","customProps","disableMouseDown","isSortable","attributes","isDragging","listeners","setNodeRef","transform","id","String","path","disabled","classes","filter","Boolean","join","onMouseDown","e","stopPropagation","ref","style"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAC7D,SAASC,MAAMC,IAAI,QAAQ,OAAM;AAIjC,SAASC,oBAAoB,QAAQ,wDAAuD;AAG5F,MAAMC,YAAY;AAClB,OAAO,MAAMC,aAAgD,CAACC;IAC5D,MAAM,EACJC,SAAS,EACTC,MAAM,EAAEC,KAAK,EAAE,EACfC,UAAU,EACVC,UAAU,EACV,oFAAoF;IACpFC,aAAa,EAAEC,aAAa,EAAEC,gBAAgB,EAAE,GAAG,CAAC,CAAC,EAAEC,UAAU,EAAE,GAAG,CAAC,CAAC,EACzE,GAAGT;IAEJ,MAAM,EAAEU,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGjB,qBAAqB;QACxFkB,IAAI,OAAOZ,UAAU,YAAY,UAAUA,QAAQa,OAAOb,MAAMc,IAAI,IAAIrB;QACxEsB,UAAU,CAACT;IACb;IAEA,MAAMU,UAAU;QACdrB;QACAG;QACA,CAACI,cAAc;QACfM,cAAc,CAAC,EAAEb,UAAU,aAAa,CAAC;KAC1C,CACEsB,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,oBAAC5B,iBAAiBK,UAAU;QACzB,GAAGC,KAAK;QACTC,WAAWkB;QACXf,YAAY;YACV,GAAGA,UAAU;YACb,GAAGM,UAAU;YACb,GAAGE,SAAS;YACZW,aAAa,CAACC;gBACZ,IAAI,CAAChB,kBAAkB;oBACrB,wJAAwJ;oBACxJgB,EAAEC,eAAe;gBACnB;YACF;YACAC,KAAKb;YACLc,OAAO;gBACLb;YACF;QACF;;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValue/index.tsx"],"sourcesContent":["import type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\nimport { v4 as uuid } from 'uuid'\n\nimport type { Option } from '../types.js'\n\nimport { useDraggableSortable } from '../../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value'\nexport const MultiValue: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n className,\n data: { value },\n innerProps,\n isDisabled,\n // @ts-expect-error // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { disableMouseDown } = {}, isSortable } = {},\n } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id: typeof value === 'object' && 'path' in value ? String(value.path) : uuid(),\n disabled: !isSortable,\n })\n\n const classes = [\n baseClass,\n className,\n !isDisabled && 'draggable',\n isDragging && `${baseClass}--is-dragging`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <SelectComponents.MultiValue\n {...props}\n className={classes}\n innerProps={{\n ...innerProps,\n ...attributes,\n ...listeners,\n onMouseDown: (e) => {\n if (!disableMouseDown) {\n // we need to prevent the dropdown from opening when clicking on the drag handle, but not when a modal is open (i.e. the 'Relationship' field component)\n e.stopPropagation()\n }\n },\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n"],"names":["React","components","SelectComponents","v4","uuid","useDraggableSortable","baseClass","MultiValue","props","className","data","value","innerProps","isDisabled","selectProps","customProps","disableMouseDown","isSortable","attributes","isDragging","listeners","setNodeRef","transform","id","String","path","disabled","classes","filter","Boolean","join","onMouseDown","e","stopPropagation","ref","style"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAC7D,SAASC,MAAMC,IAAI,QAAQ,OAAM;AAIjC,SAASC,oBAAoB,QAAQ,wDAAuD;AAG5F,MAAMC,YAAY;AAClB,OAAO,MAAMC,aAAgD,CAACC;IAC5D,MAAM,EACJC,SAAS,EACTC,MAAM,EAAEC,KAAK,EAAE,EACfC,UAAU,EACVC,UAAU,EACV,oFAAoF;IACpFC,aAAa,EAAEC,aAAa,EAAEC,gBAAgB,EAAE,GAAG,CAAC,CAAC,EAAEC,UAAU,EAAE,GAAG,CAAC,CAAC,EACzE,GAAGT;IAEJ,MAAM,EAAEU,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGjB,qBAAqB;QACxFkB,IAAI,OAAOZ,UAAU,YAAY,UAAUA,QAAQa,OAAOb,MAAMc,IAAI,IAAIrB;QACxEsB,UAAU,CAACT;IACb;IAEA,MAAMU,UAAU;QACdrB;QACAG;QACA,CAACI,cAAc;QACfM,cAAc,CAAC,EAAEb,UAAU,aAAa,CAAC;KAC1C,CACEsB,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,oBAAC5B,iBAAiBK,UAAU;QACzB,GAAGC,KAAK;QACTC,WAAWkB;QACXf,YAAY;YACV,GAAGA,UAAU;YACb,GAAGM,UAAU;YACb,GAAGE,SAAS;YACZW,aAAa,CAACC;gBACZ,IAAI,CAAChB,kBAAkB;oBACrB,wJAAwJ;oBACxJgB,EAAEC,eAAe;gBACnB;YACF;YACAC,KAAKb;YACLc,OAAO;gBACLb;YACF;QACF;;AAGN,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["import type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps: { draggableProps } = {} } = {} } = props\n\n return (\n <div className={baseClass}>\n <SelectComponents.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","MultiValueLabel","props","selectProps","customProps","draggableProps","div","className","innerProps"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAM7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,kBAAqD,CAACC;IACjE,6FAA6F;IAC7F,MAAM,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGH;IAEvE,qBACE,oBAACI;QAAIC,WAAWP;qBACd,oBAACD,iBAAiBE,eAAe;QAC9B,GAAGC,KAAK;QACTM,YAAY;YACVD,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;YAC/B,GAAIK,kBAAkB,CAAC,CAAC;QAC1B;;AAIR,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["import type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps: { draggableProps } = {} } = {} } = props\n\n return (\n <div className={baseClass}>\n <SelectComponents.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","MultiValueLabel","props","selectProps","customProps","draggableProps","div","className","innerProps"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAM7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,kBAAqD,CAACC;IACjE,6FAA6F;IAC7F,MAAM,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGH;IAEvE,qBACE,oBAACI;QAAIC,WAAWP;qBACd,oBAACD,iBAAiBE,eAAe;QAC9B,GAAGC,KAAK;QACTM,YAAY;YACVD,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;YAC/B,GAAIK,kBAAkB,CAAC,CAAC;QAC1B;;AAIR,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueRemove/index.tsx"],"sourcesContent":["import type { MultiValueRemoveProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value-remove'\n\nexport const MultiValueRemove: React.FC<\n MultiValueRemoveProps<OptionType> & {\n innerProps: JSX.IntrinsicElements['button']\n }\n> = (props) => {\n const {\n innerProps: { className, onClick, onTouchEnd },\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n const { t } = useTranslation()\n\n return (\n <button\n aria-label={t('general:remove')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={(e) => {\n setShowTooltip(false)\n onClick(e)\n }}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={onTouchEnd}\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:remove')}\n </Tooltip>\n <X className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["React","X","useTranslation","Tooltip","baseClass","MultiValueRemove","props","innerProps","className","onClick","onTouchEnd","showTooltip","setShowTooltip","useState","t","button","aria-label","filter","Boolean","join","e","onMouseEnter","onMouseLeave","type","show"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AAIzB,SAASC,CAAC,QAAQ,4BAA2B;AAC7C,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,OAAO,QAAQ,yBAAwB;AAGhD,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAIT,CAACC;IACH,MAAM,EACJC,YAAY,EAAEC,SAAS,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC/C,GAAGJ;IAEJ,MAAM,CAACK,aAAaC,eAAe,GAAGZ,MAAMa,QAAQ,CAAC;IACrD,MAAM,EAAEC,CAAC,EAAE,GAAGZ;IAEd,qBACE,oBAACa;QACCC,cAAYF,EAAE;QACdN,WAAW;YAACJ;YAAWI;SAAU,CAACS,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDV,SAAS,CAACW;YACRR,eAAe;YACfH,QAAQW;QACV;QACAC,cAAc,IAAMT,eAAe;QACnCU,cAAc,IAAMV,eAAe;QACnCF,YAAYA;QACZa,MAAK;qBAEL,oBAACpB;QAAQK,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;QAAEoB,MAAMb;OAChDG,EAAE,kCAEL,oBAACb;QAAEO,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;;AAGxC,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/MultiValueRemove/index.tsx"],"sourcesContent":["import type { MultiValueRemoveProps } from 'react-select'\n\nimport React from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { X } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport './index.scss'\n\nconst baseClass = 'multi-value-remove'\n\nexport const MultiValueRemove: React.FC<\n MultiValueRemoveProps<OptionType> & {\n innerProps: JSX.IntrinsicElements['button']\n }\n> = (props) => {\n const {\n innerProps: { className, onClick, onTouchEnd },\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n const { t } = useTranslation()\n\n return (\n <button\n aria-label={t('general:remove')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={(e) => {\n setShowTooltip(false)\n onClick(e)\n }}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={onTouchEnd}\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:remove')}\n </Tooltip>\n <X className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["React","X","useTranslation","Tooltip","baseClass","MultiValueRemove","props","innerProps","className","onClick","onTouchEnd","showTooltip","setShowTooltip","useState","t","button","aria-label","filter","Boolean","join","e","onMouseEnter","onMouseLeave","type","show"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AAIzB,SAASC,CAAC,QAAQ,4BAA2B;AAC7C,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,OAAO,QAAQ,yBAAwB;AAGhD,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAIT,CAACC;IACH,MAAM,EACJC,YAAY,EAAEC,SAAS,EAAEC,OAAO,EAAEC,UAAU,EAAE,EAC/C,GAAGJ;IAEJ,MAAM,CAACK,aAAaC,eAAe,GAAGZ,MAAMa,QAAQ,CAAC;IACrD,MAAM,EAAEC,CAAC,EAAE,GAAGZ;IAEd,qBACE,oBAACa;QACCC,cAAYF,EAAE;QACdN,WAAW;YAACJ;YAAWI;SAAU,CAACS,MAAM,CAACC,SAASC,IAAI,CAAC;QACvDV,SAAS,CAACW;YACRR,eAAe;YACfH,QAAQW;QACV;QACAC,cAAc,IAAMT,eAAe;QACnCU,cAAc,IAAMV,eAAe;QACnCF,YAAYA;QACZa,MAAK;qBAEL,oBAACpB;QAAQK,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;QAAEoB,MAAMb;OAChDG,EAAE,kCAEL,oBAACb;QAAEO,WAAW,CAAC,EAAEJ,UAAU,MAAM,CAAC;;AAGxC,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/SingleValue/index.tsx"],"sourcesContent":["import type { SingleValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nconst baseClass = 'react-select--single-value'\n\nexport const SingleValue: React.FC<SingleValueProps<Option>> = (props) => {\n const { children, className } = props\n\n return (\n <SelectComponents.SingleValue\n {...props}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n {children}\n </SelectComponents.SingleValue>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","SingleValue","props","children","className","filter","Boolean","join"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAkD,CAACC;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGF;IAEhC,qBACE,oBAACH,iBAAiBE,WAAW;QAC1B,GAAGC,KAAK;QACTE,WAAW;YAACJ;YAAWI;SAAU,CAACC,MAAM,CAACC,SAASC,IAAI,CAAC;OAEtDJ;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/SingleValue/index.tsx"],"sourcesContent":["import type { SingleValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nconst baseClass = 'react-select--single-value'\n\nexport const SingleValue: React.FC<SingleValueProps<Option>> = (props) => {\n const { children, className } = props\n\n return (\n <SelectComponents.SingleValue\n {...props}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n {children}\n </SelectComponents.SingleValue>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","SingleValue","props","children","className","filter","Boolean","join"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAkD,CAACC;IAC9D,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGF;IAEhC,qBACE,oBAACH,iBAAiBE,WAAW;QAC1B,GAAGC,KAAK;QACTE,WAAW;YAACJ;YAAWI;SAAU,CAACC,MAAM,CAACC,SAASC,IAAI,CAAC;OAEtDJ;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"sourcesContent":["import type { ValueContainerProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'value-container'\n\nexport const ValueContainer: React.FC<ValueContainerProps<Option, any>> = (props) => {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps } = {} } = props\n\n return (\n <div className={baseClass} ref={customProps?.droppableRef}>\n <SelectComponents.ValueContainer {...props} />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","ValueContainer","props","selectProps","customProps","div","className","ref","droppableRef"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAM7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAA6D,CAACC;IACzE,8FAA8F;IAC9F,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGF;IAE9C,qBACE,oBAACG;QAAIC,WAAWN;QAAWO,KAAKH,aAAaI;qBAC3C,oBAACT,iBAAiBE,cAAc,EAAKC;AAG3C,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"sourcesContent":["import type { ValueContainerProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'value-container'\n\nexport const ValueContainer: React.FC<ValueContainerProps<Option, any>> = (props) => {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps } = {} } = props\n\n return (\n <div className={baseClass} ref={customProps?.droppableRef}>\n <SelectComponents.ValueContainer {...props} />\n </div>\n )\n}\n"],"names":["React","components","SelectComponents","baseClass","ValueContainer","props","selectProps","customProps","div","className","ref","droppableRef"],"rangeMappings":";;;;;;;;;;","mappings":"AAEA,OAAOA,WAAW,QAAO;AACzB,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAM7D,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAA6D,CAACC;IACzE,8FAA8F;IAC9F,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGF;IAE9C,qBACE,oBAACG;QAAIC,WAAWN;QAAWO,KAAKH,aAAaI;qBAC3C,oBAACT,iBAAiBE,cAAc,EAAKC;AAG3C,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { KeyboardEventHandler } from 'react'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option } from './types.js'\nimport type { Props as ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.scss'\n\nconst createOption = (label: string) => ({\n label,\n value: label,\n})\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = React.useState('') // for creatable select\n\n const {\n className,\n components,\n customProps,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n noOptionsMessage,\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n value,\n } = props\n\n const classes = [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' ')\n\n if (!isCreatable) {\n return (\n <Select\n captureMenuScroll\n customProps={customProps}\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator: Chevron,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n getOptionValue={getOptionValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n }\n const handleKeyDown: KeyboardEventHandler = (event) => {\n // eslint-disable-next-line no-restricted-globals\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n if (!value || !inputValue || inputValue.trim() === '') return\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([...(value as Option[]), createOption(inputValue)])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <CreatableSelect\n captureMenuScroll\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator: Chevron,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n inputValue={inputValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { onChange, value } = props\n\n let ids: string[] = []\n if (value)\n ids = Array.isArray(value)\n ? value.map((item) => item?.id ?? `${item?.value}`)\n : [value?.id || `${value?.value}`]\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={ids}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"names":["arrayMove","getTranslation","React","Select","CreatableSelect","Chevron","useTranslation","DraggableSortable","ClearIndicator","Control","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","createOption","label","value","SelectAdapter","props","i18n","t","inputValue","setInputValue","useState","className","components","customProps","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","classes","filter","Boolean","join","captureMenuScroll","classNamePrefix","DropdownIndicator","isDisabled","menuPlacement","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","onInputChange","newValue","onKeyDown","SortableSelect","ids","Array","isArray","map","item","id","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { KeyboardEventHandler } from 'react'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option } from './types.js'\nimport type { Props as ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.scss'\n\nconst createOption = (label: string) => ({\n label,\n value: label,\n})\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = React.useState('') // for creatable select\n\n const {\n className,\n components,\n customProps,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n noOptionsMessage,\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n value,\n } = props\n\n const classes = [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' ')\n\n if (!isCreatable) {\n return (\n <Select\n captureMenuScroll\n customProps={customProps}\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator: Chevron,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n getOptionValue={getOptionValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n }\n const handleKeyDown: KeyboardEventHandler = (event) => {\n // eslint-disable-next-line no-restricted-globals\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n if (!value || !inputValue || inputValue.trim() === '') return\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([...(value as Option[]), createOption(inputValue)])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <CreatableSelect\n captureMenuScroll\n isLoading={isLoading}\n placeholder={getTranslation(placeholder, i18n)}\n {...props}\n className={classes}\n classNamePrefix=\"rs\"\n components={{\n ClearIndicator,\n Control,\n DropdownIndicator: Chevron,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }}\n filterOption={filterOption}\n inputValue={inputValue}\n isClearable={isClearable}\n isDisabled={disabled}\n isSearchable={isSearchable}\n menuPlacement=\"auto\"\n noOptionsMessage={noOptionsMessage}\n onChange={onChange}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n onMenuClose={onMenuClose}\n onMenuOpen={onMenuOpen}\n options={options}\n value={value}\n />\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { onChange, value } = props\n\n let ids: string[] = []\n if (value)\n ids = Array.isArray(value)\n ? value.map((item) => item?.id ?? `${item?.value}`)\n : [value?.id || `${value?.value}`]\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={ids}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"names":["arrayMove","getTranslation","React","Select","CreatableSelect","Chevron","useTranslation","DraggableSortable","ClearIndicator","Control","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","createOption","label","value","SelectAdapter","props","i18n","t","inputValue","setInputValue","useState","className","components","customProps","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","classes","filter","Boolean","join","captureMenuScroll","classNamePrefix","DropdownIndicator","isDisabled","menuPlacement","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","onInputChange","newValue","onKeyDown","SortableSelect","ids","Array","isArray","map","item","id","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement>\n onSave?: DocumentDrawerProps['onSave']\n setDrawerIsOpen?: (isOpen: boolean) => void\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: ReactSelectStateManagerProps<Option, IsMulti, Group> & CustomSelectProps\n }\n}\n\nexport type Option = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: unknown\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type Props = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n { data, label, value }: { data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: any) => void // eslint-disable-line @typescript-eslint/no-explicit-any\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"names":[],"mappings":"AA+CA,WAyCC"}
1
+ {"version":3,"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement>\n onSave?: DocumentDrawerProps['onSave']\n setDrawerIsOpen?: (isOpen: boolean) => void\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: ReactSelectStateManagerProps<Option, IsMulti, Group> & CustomSelectProps\n }\n}\n\nexport type Option = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: unknown\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type Props = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n { data, label, value }: { data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: any) => void // eslint-disable-line @typescript-eslint/no-explicit-any\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"names":[],"rangeMappings":"","mappings":"AA+CA,WAyCC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/RenderCustomComponent/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport type RenderCustomComponentProps = {\n CustomComponent?: React.ComponentType<any>\n DefaultComponent: React.ComponentType<any>\n componentProps?: Record<string, any>\n}\n\nexport const RenderCustomComponent: React.FC<RenderCustomComponentProps> = (props) => {\n const { CustomComponent, DefaultComponent, componentProps = {} } = props\n\n if (CustomComponent) {\n return <CustomComponent {...componentProps} />\n }\n\n if (DefaultComponent) {\n return <DefaultComponent {...componentProps} />\n }\n\n return null\n}\n"],"names":["React","RenderCustomComponent","props","CustomComponent","DefaultComponent","componentProps"],"mappings":"AAAA,OAAOA,WAAW,QAAO;AAQzB,OAAO,MAAMC,wBAA8D,CAACC;IAC1E,MAAM,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,iBAAiB,CAAC,CAAC,EAAE,GAAGH;IAEnE,IAAIC,iBAAiB;QACnB,qBAAO,oBAACA,iBAAoBE;IAC9B;IAEA,IAAID,kBAAkB;QACpB,qBAAO,oBAACA,kBAAqBC;IAC/B;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/RenderCustomComponent/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport type RenderCustomComponentProps = {\n CustomComponent?: React.ComponentType<any>\n DefaultComponent: React.ComponentType<any>\n componentProps?: Record<string, any>\n}\n\nexport const RenderCustomComponent: React.FC<RenderCustomComponentProps> = (props) => {\n const { CustomComponent, DefaultComponent, componentProps = {} } = props\n\n if (CustomComponent) {\n return <CustomComponent {...componentProps} />\n }\n\n if (DefaultComponent) {\n return <DefaultComponent {...componentProps} />\n }\n\n return null\n}\n"],"names":["React","RenderCustomComponent","props","CustomComponent","DefaultComponent","componentProps"],"rangeMappings":";;;;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAO;AAQzB,OAAO,MAAMC,wBAA8D,CAACC;IAC1E,MAAM,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,iBAAiB,CAAC,CAAC,EAAE,GAAGH;IAEnE,IAAIC,iBAAiB;QACnB,qBAAO,oBAACA,iBAAoBE;IAC9B;IAEA,IAAID,kBAAkB;QACpB,qBAAO,oBAACA,kBAAqBC;IAC/B;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/RenderTitle/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'render-title'\n\nexport type RenderTitleProps = {\n className?: string\n element?: React.ElementType\n fallback?: string\n fallbackToID?: boolean\n title?: string\n}\n\nexport const RenderTitle: React.FC<RenderTitleProps> = (props) => {\n const { className, element = 'h1', fallback, title: titleFromProps } = props\n\n const documentInfo = useDocumentInfo()\n\n const { id, title: titleFromContext } = documentInfo\n\n const title = titleFromProps || titleFromContext || fallback\n\n const idAsTitle = title === id\n\n const Tag = element\n\n return (\n <Tag\n className={[className, baseClass, idAsTitle && `${baseClass}--has-id`]\n .filter(Boolean)\n .join(' ')}\n title={title}\n >\n {idAsTitle ? <IDLabel className={`${baseClass}__id`} id={id} /> : title || null}\n </Tag>\n )\n}\n"],"names":["React","useDocumentInfo","IDLabel","baseClass","RenderTitle","props","className","element","fallback","title","titleFromProps","documentInfo","id","titleFromContext","idAsTitle","Tag","filter","Boolean","join"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,OAAO,QAAQ,sBAAqB;AAG7C,MAAMC,YAAY;AAUlB,OAAO,MAAMC,cAA0C,CAACC;IACtD,MAAM,EAAEC,SAAS,EAAEC,UAAU,IAAI,EAAEC,QAAQ,EAAEC,OAAOC,cAAc,EAAE,GAAGL;IAEvE,MAAMM,eAAeV;IAErB,MAAM,EAAEW,EAAE,EAAEH,OAAOI,gBAAgB,EAAE,GAAGF;IAExC,MAAMF,QAAQC,kBAAkBG,oBAAoBL;IAEpD,MAAMM,YAAYL,UAAUG;IAE5B,MAAMG,MAAMR;IAEZ,qBACE,oBAACQ;QACCT,WAAW;YAACA;YAAWH;YAAWW,aAAa,CAAC,EAAEX,UAAU,QAAQ,CAAC;SAAC,CACnEa,MAAM,CAACC,SACPC,IAAI,CAAC;QACRT,OAAOA;OAENK,0BAAY,oBAACZ;QAAQI,WAAW,CAAC,EAAEH,UAAU,IAAI,CAAC;QAAES,IAAIA;SAASH,SAAS;AAGjF,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/RenderTitle/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'render-title'\n\nexport type RenderTitleProps = {\n className?: string\n element?: React.ElementType\n fallback?: string\n fallbackToID?: boolean\n title?: string\n}\n\nexport const RenderTitle: React.FC<RenderTitleProps> = (props) => {\n const { className, element = 'h1', fallback, title: titleFromProps } = props\n\n const documentInfo = useDocumentInfo()\n\n const { id, title: titleFromContext } = documentInfo\n\n const title = titleFromProps || titleFromContext || fallback\n\n const idAsTitle = title === id\n\n const Tag = element\n\n return (\n <Tag\n className={[className, baseClass, idAsTitle && `${baseClass}--has-id`]\n .filter(Boolean)\n .join(' ')}\n title={title}\n >\n {idAsTitle ? <IDLabel className={`${baseClass}__id`} id={id} /> : title || null}\n </Tag>\n )\n}\n"],"names":["React","useDocumentInfo","IDLabel","baseClass","RenderTitle","props","className","element","fallback","title","titleFromProps","documentInfo","id","titleFromContext","idAsTitle","Tag","filter","Boolean","join"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,OAAO,QAAQ,sBAAqB;AAG7C,MAAMC,YAAY;AAUlB,OAAO,MAAMC,cAA0C,CAACC;IACtD,MAAM,EAAEC,SAAS,EAAEC,UAAU,IAAI,EAAEC,QAAQ,EAAEC,OAAOC,cAAc,EAAE,GAAGL;IAEvE,MAAMM,eAAeV;IAErB,MAAM,EAAEW,EAAE,EAAEH,OAAOI,gBAAgB,EAAE,GAAGF;IAExC,MAAMF,QAAQC,kBAAkBG,oBAAoBL;IAEpD,MAAMM,YAAYL,UAAUG;IAE5B,MAAMG,MAAMR;IAEZ,qBACE,oBAACQ;QACCT,WAAW;YAACA;YAAWH;YAAWW,aAAa,CAAC,EAAEX,UAAU,QAAQ,CAAC;SAAC,CACnEa,MAAM,CAACC,SACPC,IAAI,CAAC;QACRT,OAAOA;OAENK,0BAAY,oBAACZ;QAAQI,WAAW,CAAC,EAAEH,UAAU,IAAI,CAAC;QAAES,IAAIA;SAASH,SAAS;AAGjF,EAAC"}