@payloadcms/ui 3.55.0-internal.f8c92b5 → 3.56.0-internal.299316b

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 (254) hide show
  1. package/dist/elements/AppHeader/index.scss +1 -0
  2. package/dist/elements/Autosave/index.js +2 -2
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  5. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  6. package/dist/elements/ClipboardAction/index.js +173 -74
  7. package/dist/elements/ClipboardAction/index.js.map +1 -1
  8. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  9. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  10. package/dist/elements/Collapsible/index.js +15 -7
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/ConfirmationModal/index.js +44 -8
  13. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  14. package/dist/elements/CopyLocaleData/index.js +97 -89
  15. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  16. package/dist/elements/CopyToClipboard/index.js +22 -2
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts +12 -0
  19. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -0
  20. package/dist/elements/DefaultListViewTabs/index.js +161 -0
  21. package/dist/elements/DefaultListViewTabs/index.js.map +1 -0
  22. package/dist/elements/{ListHeaderTabs → DefaultListViewTabs}/index.scss +1 -1
  23. package/dist/elements/DeleteMany/index.js +83 -47
  24. package/dist/elements/DeleteMany/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.js +55 -27
  26. package/dist/elements/DocumentControls/index.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  28. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/Provider.d.ts +2 -1
  30. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +99 -47
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.scss +1 -1
  35. package/dist/elements/Drawer/index.js +57 -23
  36. package/dist/elements/Drawer/index.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.js +21 -3
  38. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  39. package/dist/elements/FieldSelect/reduceFieldOptions.js +1 -1
  40. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  41. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  42. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  43. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  44. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  45. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  46. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  47. package/dist/elements/FullscreenModal/index.js +20 -10
  48. package/dist/elements/FullscreenModal/index.js.map +1 -1
  49. package/dist/elements/ListControls/index.d.ts.map +1 -1
  50. package/dist/elements/ListControls/index.js +69 -78
  51. package/dist/elements/ListControls/index.js.map +1 -1
  52. package/dist/elements/ListControls/index.scss +2 -82
  53. package/dist/elements/ListDrawer/index.js +24 -18
  54. package/dist/elements/ListDrawer/index.js.map +1 -1
  55. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  56. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  57. package/dist/elements/ListSelection/index.js +27 -11
  58. package/dist/elements/ListSelection/index.js.map +1 -1
  59. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  60. package/dist/elements/LivePreview/Window/index.js +152 -71
  61. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  62. package/dist/elements/Loading/index.js +11 -2
  63. package/dist/elements/Loading/index.js.map +1 -1
  64. package/dist/elements/LoadingOverlay/index.js +102 -46
  65. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  66. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  67. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  68. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  69. package/dist/elements/PublishButton/index.js +22 -11
  70. package/dist/elements/PublishButton/index.js.map +1 -1
  71. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  72. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  73. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  74. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  75. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  76. package/dist/elements/SearchBar/index.d.ts +2 -3
  77. package/dist/elements/SearchBar/index.d.ts.map +1 -1
  78. package/dist/elements/SearchBar/index.js +2 -3
  79. package/dist/elements/SearchBar/index.js.map +1 -1
  80. package/dist/elements/SearchBar/index.scss +56 -7
  81. package/dist/elements/SearchFilter/index.d.ts +2 -33
  82. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  83. package/dist/elements/SearchFilter/index.js +7 -5
  84. package/dist/elements/SearchFilter/index.js.map +1 -1
  85. package/dist/elements/SearchFilter/types.d.ts +33 -0
  86. package/dist/elements/SearchFilter/types.d.ts.map +1 -0
  87. package/dist/elements/SearchFilter/types.js +2 -0
  88. package/dist/elements/SearchFilter/types.js.map +1 -0
  89. package/dist/elements/SelectRow/index.js +40 -39
  90. package/dist/elements/SelectRow/index.js.map +1 -1
  91. package/dist/elements/ShimmerEffect/index.js +12 -20
  92. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  93. package/dist/elements/SortColumn/index.js +30 -21
  94. package/dist/elements/SortColumn/index.js.map +1 -1
  95. package/dist/elements/Status/index.d.ts.map +1 -1
  96. package/dist/elements/Status/index.js +19 -9
  97. package/dist/elements/Status/index.js.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  99. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  100. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  101. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  103. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  104. package/dist/elements/Thumbnail/index.js +75 -35
  105. package/dist/elements/Thumbnail/index.js.map +1 -1
  106. package/dist/elements/ThumbnailCard/index.js +26 -17
  107. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  108. package/dist/elements/Tooltip/index.js +127 -51
  109. package/dist/elements/Tooltip/index.js.map +1 -1
  110. package/dist/elements/Upload/index.js +10 -2
  111. package/dist/elements/Upload/index.js.map +1 -1
  112. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  113. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  114. package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-URFJPG6I.js} +2 -2
  115. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  116. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  117. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  118. package/dist/exports/client/chunk-KPQQ5IUL.js +26 -0
  119. package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-KPQQ5IUL.js.map} +4 -4
  120. package/dist/exports/client/index.d.ts +2 -3
  121. package/dist/exports/client/index.d.ts.map +1 -1
  122. package/dist/exports/client/index.js +24 -24
  123. package/dist/exports/client/index.js.map +4 -4
  124. package/dist/exports/rsc/index.d.ts +1 -0
  125. package/dist/exports/rsc/index.d.ts.map +1 -1
  126. package/dist/exports/rsc/index.js +1 -0
  127. package/dist/exports/rsc/index.js.map +1 -1
  128. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  129. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  130. package/dist/fields/Array/ArrayRow.js +23 -13
  131. package/dist/fields/Array/ArrayRow.js.map +1 -1
  132. package/dist/fields/Array/index.js +477 -273
  133. package/dist/fields/Array/index.js.map +1 -1
  134. package/dist/fields/Blocks/index.d.ts.map +1 -1
  135. package/dist/fields/Blocks/index.js.map +1 -1
  136. package/dist/fields/Checkbox/Input.js +19 -2
  137. package/dist/fields/Checkbox/Input.js.map +1 -1
  138. package/dist/fields/FieldError/index.js +29 -30
  139. package/dist/fields/FieldError/index.js.map +1 -1
  140. package/dist/fields/FieldLabel/index.js +64 -12
  141. package/dist/fields/FieldLabel/index.js.map +1 -1
  142. package/dist/fields/Join/index.js +1 -1
  143. package/dist/fields/Join/index.js.map +1 -1
  144. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  145. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  146. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  147. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  148. package/dist/fields/Row/index.d.ts +3 -1
  149. package/dist/fields/Row/index.d.ts.map +1 -1
  150. package/dist/fields/Select/Input.js +31 -18
  151. package/dist/fields/Select/Input.js.map +1 -1
  152. package/dist/fields/Tabs/Tab/index.js +11 -2
  153. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  154. package/dist/fields/Tabs/index.d.ts +1 -2
  155. package/dist/fields/Tabs/index.d.ts.map +1 -1
  156. package/dist/fields/Tabs/index.js +225 -185
  157. package/dist/fields/Tabs/index.js.map +1 -1
  158. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  159. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  160. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  161. package/dist/forms/Form/fieldReducer.js +15 -13
  162. package/dist/forms/Form/fieldReducer.js.map +1 -1
  163. package/dist/forms/Form/types.d.ts +6 -3
  164. package/dist/forms/Form/types.d.ts.map +1 -1
  165. package/dist/forms/Form/types.js.map +1 -1
  166. package/dist/forms/RenderFields/RenderField.js +237 -245
  167. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  168. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  169. package/dist/forms/RenderFields/index.js +1 -1
  170. package/dist/forms/RenderFields/index.js.map +1 -1
  171. package/dist/forms/RenderFields/types.d.ts +10 -2
  172. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  173. package/dist/forms/RenderFields/types.js.map +1 -1
  174. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  175. package/dist/forms/RowLabel/Context/index.js +17 -31
  176. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  177. package/dist/forms/useField/index.d.ts +0 -5
  178. package/dist/forms/useField/index.d.ts.map +1 -1
  179. package/dist/forms/useField/index.js +45 -74
  180. package/dist/forms/useField/index.js.map +1 -1
  181. package/dist/hooks/useIntersect.js +53 -35
  182. package/dist/hooks/useIntersect.js.map +1 -1
  183. package/dist/hooks/usePayloadAPI.js +44 -36
  184. package/dist/hooks/usePayloadAPI.js.map +1 -1
  185. package/dist/providers/Auth/index.d.ts +2 -1
  186. package/dist/providers/Auth/index.d.ts.map +1 -1
  187. package/dist/providers/Auth/index.js +74 -83
  188. package/dist/providers/Auth/index.js.map +1 -1
  189. package/dist/providers/Config/index.d.ts.map +1 -1
  190. package/dist/providers/Config/index.js +6 -3
  191. package/dist/providers/Config/index.js.map +1 -1
  192. package/dist/providers/LivePreview/context.d.ts +0 -2
  193. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  194. package/dist/providers/LivePreview/context.js +0 -1
  195. package/dist/providers/LivePreview/context.js.map +1 -1
  196. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  197. package/dist/providers/LivePreview/index.js +0 -12
  198. package/dist/providers/LivePreview/index.js.map +1 -1
  199. package/dist/providers/ServerFunctions/index.d.ts +1 -1
  200. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  201. package/dist/providers/ServerFunctions/index.js.map +1 -1
  202. package/dist/styles.css +1 -1
  203. package/dist/utilities/buildFormState.d.ts.map +1 -1
  204. package/dist/utilities/buildFormState.js +7 -1
  205. package/dist/utilities/buildFormState.js.map +1 -1
  206. package/dist/utilities/buildTableState.d.ts.map +1 -1
  207. package/dist/utilities/buildTableState.js +12 -4
  208. package/dist/utilities/buildTableState.js.map +1 -1
  209. package/dist/utilities/getClientConfig.d.ts +2 -7
  210. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  211. package/dist/utilities/getClientConfig.js +19 -8
  212. package/dist/utilities/getClientConfig.js.map +1 -1
  213. package/dist/utilities/getColumns.d.ts +10 -0
  214. package/dist/utilities/getColumns.d.ts.map +1 -0
  215. package/dist/utilities/getColumns.js +36 -0
  216. package/dist/utilities/getColumns.js.map +1 -0
  217. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  218. package/dist/utilities/reduceFieldsToOptions.js +16 -1
  219. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  220. package/dist/utilities/renderTable.d.ts +3 -3
  221. package/dist/utilities/renderTable.d.ts.map +1 -1
  222. package/dist/utilities/renderTable.js +2 -11
  223. package/dist/utilities/renderTable.js.map +1 -1
  224. package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
  225. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
  226. package/dist/utilities/traverseForLocalizedFields.js +40 -0
  227. package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
  228. package/dist/views/BrowseByFolder/index.js +56 -38
  229. package/dist/views/BrowseByFolder/index.js.map +1 -1
  230. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  231. package/dist/views/CollectionFolder/index.js +45 -28
  232. package/dist/views/CollectionFolder/index.js.map +1 -1
  233. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  234. package/dist/views/Edit/Auth/index.js +106 -94
  235. package/dist/views/Edit/Auth/index.js.map +1 -1
  236. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  237. package/dist/views/List/ListHeader/index.js +5 -13
  238. package/dist/views/List/ListHeader/index.js.map +1 -1
  239. package/package.json +7 -7
  240. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +0 -10
  241. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +0 -1
  242. package/dist/elements/ListHeaderTabs/ByFolderPill.js +0 -70
  243. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +0 -1
  244. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +0 -9
  245. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +0 -1
  246. package/dist/elements/ListHeaderTabs/DefaultListPill.js +0 -75
  247. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +0 -1
  248. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +0 -6
  249. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +0 -1
  250. package/dist/elements/ListHeaderTabs/TrashPill.js +0 -53
  251. package/dist/elements/ListHeaderTabs/TrashPill.js.map +0 -1
  252. package/dist/exports/client/chunk-FXAFULZQ.js +0 -26
  253. /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-URFJPG6I.js.map} +0 -0
  254. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -159,7 +159,7 @@ const JoinFieldComponent = props => {
159
159
  collectionSlug: docConfig?.slug,
160
160
  config,
161
161
  docID,
162
- fields: relatedCollection.fields,
162
+ fields: relatedCollection?.fields,
163
163
  segments: field.on.split('.')
164
164
  });
165
165
  }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ObjectIdImport","fieldAffectsData","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","keepPresentationalFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","CustomComponent","Fallback","disableTable","fieldPath","docs","style","margin","parent","joinPath","undefined","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields, {\n keepPresentationalFields: true,\n })\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || (field.type === 'group' && fieldAffectsData(field))) {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = Array.isArray(collection)\n ? {}\n : {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n fieldPath={path}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ObjectIdImport","fieldAffectsData","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","keepPresentationalFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","_jsxs","className","filter","Boolean","join","replace","_jsx","CustomComponent","Fallback","disableTable","fieldPath","docs","style","margin","parent","joinPath","undefined","JoinField"],"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields, {\n keepPresentationalFields: true,\n })\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || (field.type === 'group' && fieldAffectsData(field))) {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = Array.isArray(collection)\n ? {}\n : {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection?.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n fieldPath={path}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import React, { Fragment, useState } from 'react';
5
6
  import { components } from 'react-select';
@@ -10,6 +11,7 @@ import { useTranslation } from '../../../../providers/Translation/index.js';
10
11
  import './index.scss';
11
12
  const baseClass = 'relationship--multi-value-label';
12
13
  export const MultiValueLabel = props => {
14
+ const $ = _c(26);
13
15
  const {
14
16
  data: t0,
15
17
  selectProps: t1
@@ -20,13 +22,29 @@ export const MultiValueLabel = props => {
20
22
  relationTo,
21
23
  value
22
24
  } = t0;
25
+ let t2;
26
+ if ($[0] !== t1) {
27
+ t2 = t1 === undefined ? {} : t1;
28
+ $[0] = t1;
29
+ $[1] = t2;
30
+ } else {
31
+ t2 = $[1];
32
+ }
23
33
  const {
24
- customProps: t2
25
- } = t1 === undefined ? {} : t1;
34
+ customProps: t3
35
+ } = t2;
36
+ let t4;
37
+ if ($[2] !== t3) {
38
+ t4 = t3 === undefined ? {} : t3;
39
+ $[2] = t3;
40
+ $[3] = t4;
41
+ } else {
42
+ t4 = $[3];
43
+ }
26
44
  const {
27
45
  draggableProps,
28
46
  onDocumentOpen
29
- } = t2 === undefined ? {} : t2;
47
+ } = t4;
30
48
  const {
31
49
  permissions
32
50
  } = useAuth();
@@ -35,48 +53,88 @@ export const MultiValueLabel = props => {
35
53
  t
36
54
  } = useTranslation();
37
55
  const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read);
38
- return _jsxs("div", {
39
- className: baseClass,
40
- children: [_jsx("div", {
41
- className: `${baseClass}__content`,
42
- children: _jsx(components.MultiValueLabel, {
43
- ...props,
44
- innerProps: {
45
- className: `${baseClass}__text`,
46
- ...(draggableProps || {})
47
- }
48
- })
49
- }), relationTo && hasReadPermission && allowEdit !== false && _jsx(Fragment, {
50
- children: _jsxs("button", {
51
- "aria-label": `Edit ${label}`,
52
- className: `${baseClass}__drawer-toggler`,
53
- onClick: event => {
54
- setShowTooltip(false);
55
- onDocumentOpen({
56
- id: value,
57
- collectionSlug: relationTo,
58
- hasReadPermission,
59
- openInNewTab: event.metaKey || event.ctrlKey
60
- });
61
- },
62
- onKeyDown: _temp,
63
- onMouseDown: _temp2,
64
- onMouseEnter: () => setShowTooltip(true),
65
- onMouseLeave: () => setShowTooltip(false),
66
- onTouchEnd: _temp3,
67
- type: "button",
68
- children: [_jsx(Tooltip, {
69
- className: `${baseClass}__tooltip`,
70
- show: showTooltip,
71
- children: t("general:editLabel", {
72
- label: ""
73
- })
74
- }), _jsx(EditIcon, {
75
- className: `${baseClass}__icon`
76
- })]
77
- })
78
- })]
79
- });
56
+ let t5;
57
+ if ($[4] !== draggableProps) {
58
+ t5 = draggableProps || {};
59
+ $[4] = draggableProps;
60
+ $[5] = t5;
61
+ } else {
62
+ t5 = $[5];
63
+ }
64
+ let t6;
65
+ if ($[6] !== allowEdit || $[7] !== hasReadPermission || $[8] !== label || $[9] !== onDocumentOpen || $[10] !== props || $[11] !== relationTo || $[12] !== showTooltip || $[13] !== t || $[14] !== t5 || $[15] !== value) {
66
+ let t7;
67
+ if ($[17] !== allowEdit || $[18] !== hasReadPermission || $[19] !== label || $[20] !== onDocumentOpen || $[21] !== relationTo || $[22] !== showTooltip || $[23] !== t || $[24] !== value) {
68
+ t7 = relationTo && hasReadPermission && allowEdit !== false && _jsx(Fragment, {
69
+ children: _jsxs("button", {
70
+ "aria-label": `Edit ${label}`,
71
+ className: `${baseClass}__drawer-toggler`,
72
+ onClick: event => {
73
+ setShowTooltip(false);
74
+ onDocumentOpen({
75
+ id: value,
76
+ collectionSlug: relationTo,
77
+ hasReadPermission,
78
+ openInNewTab: event.metaKey || event.ctrlKey
79
+ });
80
+ },
81
+ onKeyDown: _temp,
82
+ onMouseDown: _temp2,
83
+ onMouseEnter: () => setShowTooltip(true),
84
+ onMouseLeave: () => setShowTooltip(false),
85
+ onTouchEnd: _temp3,
86
+ type: "button",
87
+ children: [_jsx(Tooltip, {
88
+ className: `${baseClass}__tooltip`,
89
+ show: showTooltip,
90
+ children: t("general:editLabel", {
91
+ label: ""
92
+ })
93
+ }), _jsx(EditIcon, {
94
+ className: `${baseClass}__icon`
95
+ })]
96
+ })
97
+ });
98
+ $[17] = allowEdit;
99
+ $[18] = hasReadPermission;
100
+ $[19] = label;
101
+ $[20] = onDocumentOpen;
102
+ $[21] = relationTo;
103
+ $[22] = showTooltip;
104
+ $[23] = t;
105
+ $[24] = value;
106
+ $[25] = t7;
107
+ } else {
108
+ t7 = $[25];
109
+ }
110
+ t6 = _jsxs("div", {
111
+ className: baseClass,
112
+ children: [_jsx("div", {
113
+ className: `${baseClass}__content`,
114
+ children: _jsx(components.MultiValueLabel, {
115
+ ...props,
116
+ innerProps: {
117
+ className: `${baseClass}__text`,
118
+ ...t5
119
+ }
120
+ })
121
+ }), t7]
122
+ });
123
+ $[6] = allowEdit;
124
+ $[7] = hasReadPermission;
125
+ $[8] = label;
126
+ $[9] = onDocumentOpen;
127
+ $[10] = props;
128
+ $[11] = relationTo;
129
+ $[12] = showTooltip;
130
+ $[13] = t;
131
+ $[14] = t5;
132
+ $[15] = value;
133
+ $[16] = t6;
134
+ } else {
135
+ t6 = $[16];
136
+ }
137
+ return t6;
80
138
  };
81
139
  function _temp(e) {
82
140
  if (e.key === "Enter") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","useState","components","Tooltip","EditIcon","useAuth","useTranslation","baseClass","MultiValueLabel","props","data","t0","selectProps","t1","allowEdit","label","relationTo","value","customProps","t2","undefined","draggableProps","onDocumentOpen","permissions","showTooltip","setShowTooltip","t","hasReadPermission","Boolean","collections","read","_jsxs","className","children","_jsx","innerProps","onClick","event","id","collectionSlug","openInNewTab","metaKey","ctrlKey","onKeyDown","_temp","onMouseDown","_temp2","onMouseEnter","onMouseLeave","onTouchEnd","_temp3","type","show","e","key","stopPropagation","e_0","e_1"],"sources":["../../../../../src/fields/Relationship/select-components/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React, { Fragment, useState } from 'react'\nimport { components } from 'react-select'\n\nimport type { ReactSelectAdapterProps } from '../../../../elements/ReactSelect/types.js'\nimport type { Option } from '../../types.js'\n\nimport { Tooltip } from '../../../../elements/Tooltip/index.js'\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'relationship--multi-value-label'\n\nexport const MultiValueLabel: React.FC<\n {\n selectProps: {\n // TODO Fix this - moduleResolution 16 breaks our declare module\n customProps: ReactSelectAdapterProps['customProps']\n }\n } & MultiValueProps<Option>\n> = (props) => {\n const {\n data: { allowEdit, label, relationTo, value },\n selectProps: { customProps: { draggableProps, onDocumentOpen } = {} } = {},\n } = props\n\n const { permissions } = useAuth()\n const [showTooltip, setShowTooltip] = useState(false)\n const { t } = useTranslation()\n const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__content`}>\n <components.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n {relationTo && hasReadPermission && allowEdit !== false && (\n <Fragment>\n <button\n aria-label={`Edit ${label}`}\n className={`${baseClass}__drawer-toggler`}\n onClick={(event) => {\n setShowTooltip(false)\n onDocumentOpen({\n id: value,\n collectionSlug: relationTo,\n hasReadPermission,\n openInNewTab: event.metaKey || event.ctrlKey,\n })\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n }\n }}\n onMouseDown={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:editLabel', { label: '' })}\n </Tooltip>\n <EditIcon className={`${baseClass}__icon`} />\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,QAAQ,EAAEC,QAAQ,QAAQ;AAC1C,SAASC,UAAU,QAAQ;AAK3B,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,eAAA,GAOTC,KAAA;EACF;IAAAC,IAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC;EAAA,IAGIJ,KAAA;EAFI;IAAAK,SAAA;IAAAC,KAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAN,EAAuC;EAChC;IAAAO,WAAA,EAAAC;EAAA,IAAAN,EAA6D,KAAAO,SAAA,QAA7DP,EAA6D;EAA9C;IAAAQ,cAAA;IAAAC;EAAA,IAAAH,EAAuC,KAAAC,SAAA,QAAvCD,EAAuC;EAGrE;IAAAI;EAAA,IAAwBlB,OAAA;EACxB,OAAAmB,WAAA,EAAAC,cAAA,IAAsCxB,QAAA,MAAS;EAC/C;IAAAyB;EAAA,IAAcpB,cAAA;EACd,MAAAqB,iBAAA,GAA0BC,OAAA,CAAQL,WAAA,EAAAM,WAAA,GAA2Bb,UAAA,GAAAc,IAAa;EAAA,OAGxEC,KAAA,CAAC;IAAAC,SAAA,EAAAzB,SAAA;IAAA0B,QAAA,GACCC,IAAA,CAAC;MAAAF,SAAA,EAAe,GAAAzB,SAAA,WAAuB;MAAA0B,QAAA,EACrCC,IAAA,CAAAhC,UAAA,CAAAM,eAAA;QAAA,GACMC,KAAK;QAAA0B,UAAA;UAAAH,SAAA,EAEI,GAAAzB,SAAA,QAAoB;UAAA,IAC3Bc,cAAA,MAAoB;QAAA;MAAA,C;QAI7BL,UAAA,IAAcW,iBAAA,IAAqBb,SAAA,UAAc,IAChDoB,IAAA,CAAAlC,QAAA;MAAAiC,QAAA,EACEF,KAAA,CAAC;QAAA,cACa,QAAQhB,KAAA,EAAO;QAAAiB,SAAA,EAChB,GAAAzB,SAAA,kBAA8B;QAAA6B,OAAA,EAAAC,KAAA;UAEvCZ,cAAA,MAAe;UACfH,cAAA;YAAAgB,EAAA,EACMrB,KAAA;YAAAsB,cAAA,EACYvB,UAAA;YAAAW,iBAAA;YAAAa,YAAA,EAEFH,KAAA,CAAAI,OAAA,IAAiBJ,KAAA,CAAAK;UAAa,CAC9C;QAAA;QAAAC,SAAA,EAAAC,KAAA;QAAAC,WAAA,EAAAC,MAAA;QAAAC,YAAA,EAAAA,CAAA,KAQkBtB,cAAA,KAAe;QAAAuB,YAAA,EAAAA,CAAA,KACfvB,cAAA,MAAe;QAAAwB,UAAA,EAAAC,MAAA;QAAAC,IAAA,EAE9B;QAAAlB,QAAA,GAELC,IAAA,CAAA/B,OAAA;UAAA6B,SAAA,EAAoB,GAAAzB,SAAA,WAAuB;UAAA6C,IAAA,EAAQ5B,WAAA;UAAAS,QAAA,EAChDP,CAAA,CAAE;YAAAX,KAAA,EAA8B;UAAA,CAAG;QAAA,C,GAEtCmB,IAAA,CAAA9B,QAAA;UAAA4B,SAAA,EAAqB,GAAAzB,SAAA;QAAoB,C;;;;CAMrD;AAxDI,SAAAqC,MAAAS,CAAA;EAAA,IAqCcA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,eAAA,CAAiB;EAAA;AAAA;AAtC7B,SAAAT,OAAAU,GAAA;EAAA,OAyC4BH,GAAA,CAAAE,eAAA,CAAiB;AAAA;AAzC7C,SAAAL,OAAAO,GAAA;EAAA,OA4C2BJ,GAAA,CAAAE,eAAA,CAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useState","components","Tooltip","EditIcon","useAuth","useTranslation","baseClass","MultiValueLabel","props","$","data","t0","selectProps","t1","allowEdit","label","relationTo","value","t2","undefined","customProps","t3","t4","draggableProps","onDocumentOpen","permissions","showTooltip","setShowTooltip","t","hasReadPermission","Boolean","collections","read","t5","t6","t7","_jsx","children","_jsxs","className","onClick","event","id","collectionSlug","openInNewTab","metaKey","ctrlKey","onKeyDown","_temp","onMouseDown","_temp2","onMouseEnter","onMouseLeave","onTouchEnd","_temp3","type","show","innerProps","e","key","stopPropagation","e_0","e_1"],"sources":["../../../../../src/fields/Relationship/select-components/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React, { Fragment, useState } from 'react'\nimport { components } from 'react-select'\n\nimport type { ReactSelectAdapterProps } from '../../../../elements/ReactSelect/types.js'\nimport type { Option } from '../../types.js'\n\nimport { Tooltip } from '../../../../elements/Tooltip/index.js'\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'relationship--multi-value-label'\n\nexport const MultiValueLabel: React.FC<\n {\n selectProps: {\n // TODO Fix this - moduleResolution 16 breaks our declare module\n customProps: ReactSelectAdapterProps['customProps']\n }\n } & MultiValueProps<Option>\n> = (props) => {\n const {\n data: { allowEdit, label, relationTo, value },\n selectProps: { customProps: { draggableProps, onDocumentOpen } = {} } = {},\n } = props\n\n const { permissions } = useAuth()\n const [showTooltip, setShowTooltip] = useState(false)\n const { t } = useTranslation()\n const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__content`}>\n <components.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n {relationTo && hasReadPermission && allowEdit !== false && (\n <Fragment>\n <button\n aria-label={`Edit ${label}`}\n className={`${baseClass}__drawer-toggler`}\n onClick={(event) => {\n setShowTooltip(false)\n onDocumentOpen({\n id: value,\n collectionSlug: relationTo,\n hasReadPermission,\n openInNewTab: event.metaKey || event.ctrlKey,\n })\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n }\n }}\n onMouseDown={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:editLabel', { label: '' })}\n </Tooltip>\n <EditIcon className={`${baseClass}__icon`} />\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,EAAEC,QAAQ,QAAQ;AAC1C,SAASC,UAAU,QAAQ;AAK3B,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,eAAA,GAOTC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACF;IAAAa,IAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC;EAAA,IAGIL,KAAA;EAFI;IAAAM,SAAA;IAAAC,KAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAN,EAAuC;EAAA,IAAAO,EAAA;EAAA,IAAAT,CAAA,QAAAI,EAAA;IAChCK,EAAA,GAAAL,EAA6D,KAAAM,SAAA,QAA7DN,EAA6D;IAAAJ,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAA7D;IAAAW,WAAA,EAAAC;EAAA,IAAAH,EAA6D;EAAA,IAAAI,EAAA;EAAA,IAAAb,CAAA,QAAAY,EAAA;IAA9CC,EAAA,GAAAD,EAAuC,KAAAF,SAAA,QAAvCE,EAAuC;IAAAZ,CAAA,MAAAY,EAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAvC;IAAAc,cAAA;IAAAC;EAAA,IAAAF,EAAuC;EAGrE;IAAAG;EAAA,IAAwBrB,OAAA;EACxB,OAAAsB,WAAA,EAAAC,cAAA,IAAsC3B,QAAA,MAAS;EAC/C;IAAA4B;EAAA,IAAcvB,cAAA;EACd,MAAAwB,iBAAA,GAA0BC,OAAA,CAAQL,WAAA,EAAAM,WAAA,GAA2Bf,UAAA,GAAAgB,IAAa;EAAA,IAAAC,EAAA;EAAA,IAAAxB,CAAA,QAAAc,cAAA;IAS5DU,EAAA,GAAAV,cAAA,MAAoB;IAAAd,CAAA,MAAAc,cAAA;IAAAd,CAAA,MAAAwB,EAAA;EAAA;IAAAA,EAAA,GAAAxB,CAAA;EAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAzB,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAoB,iBAAA,IAAApB,CAAA,QAAAM,KAAA,IAAAN,CAAA,QAAAe,cAAA,IAAAf,CAAA,SAAAD,KAAA,IAAAC,CAAA,SAAAO,UAAA,IAAAP,CAAA,SAAAiB,WAAA,IAAAjB,CAAA,SAAAmB,CAAA,IAAAnB,CAAA,SAAAwB,EAAA,IAAAxB,CAAA,SAAAQ,KAAA;IAAA,IAAAkB,EAAA;IAAA,IAAA1B,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAoB,iBAAA,IAAApB,CAAA,SAAAM,KAAA,IAAAN,CAAA,SAAAe,cAAA,IAAAf,CAAA,SAAAO,UAAA,IAAAP,CAAA,SAAAiB,WAAA,IAAAjB,CAAA,SAAAmB,CAAA,IAAAnB,CAAA,SAAAQ,KAAA;MAI7BkB,EAAA,GAAAnB,UAAA,IAAca,iBAAA,IAAqBf,SAAA,UAAc,IAChDsB,IAAA,CAAArC,QAAA;QAAAsC,QAAA,EACEC,KAAA,CAAC;UAAA,cACa,QAAQvB,KAAA,EAAO;UAAAwB,SAAA,EAChB,GAAAjC,SAAA,kBAA8B;UAAAkC,OAAA,EAAAC,KAAA;YAEvCd,cAAA,MAAe;YACfH,cAAA;cAAAkB,EAAA,EACMzB,KAAA;cAAA0B,cAAA,EACY3B,UAAA;cAAAa,iBAAA;cAAAe,YAAA,EAEFH,KAAA,CAAAI,OAAA,IAAiBJ,KAAA,CAAAK;YAAa,CAC9C;UAAA;UAAAC,SAAA,EAAAC,KAAA;UAAAC,WAAA,EAAAC,MAAA;UAAAC,YAAA,EAAAA,CAAA,KAQkBxB,cAAA,KAAe;UAAAyB,YAAA,EAAAA,CAAA,KACfzB,cAAA,MAAe;UAAA0B,UAAA,EAAAC,MAAA;UAAAC,IAAA,EAE9B;UAAAlB,QAAA,GAELD,IAAA,CAAAlC,OAAA;YAAAqC,SAAA,EAAoB,GAAAjC,SAAA,WAAuB;YAAAkD,IAAA,EAAQ9B,WAAA;YAAAW,QAAA,EAChDT,CAAA,CAAE;cAAAb,KAAA,EAA8B;YAAA,CAAG;UAAA,C,GAEtCqB,IAAA,CAAAjC,QAAA;YAAAoC,SAAA,EAAqB,GAAAjC,SAAA;UAAoB,C;;;;;;;;;;;;;;;IAtCjD4B,EAAA,GAAAI,KAAA,CAAC;MAAAC,SAAA,EAAAjC,SAAA;MAAA+B,QAAA,GACCD,IAAA,CAAC;QAAAG,SAAA,EAAe,GAAAjC,SAAA,WAAuB;QAAA+B,QAAA,EACrCD,IAAA,CAAAnC,UAAA,CAAAM,eAAA;UAAA,GACMC,KAAK;UAAAiD,UAAA;YAAAlB,SAAA,EAEI,GAAAjC,SAAA,QAAoB;YAAA,GAC3B2B;UAAoB;QAAA,C;UAI7BE,E;;;;;;;;;;;;;;;;SAVHD,E;CA4CJ;AAxDI,SAAAc,MAAAU,CAAA;EAAA,IAqCcA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,eAAA,CAAiB;EAAA;AAAA;AAtC7B,SAAAV,OAAAW,GAAA;EAAA,OAyC4BH,GAAA,CAAAE,eAAA,CAAiB;AAAA;AAzC7C,SAAAN,OAAAQ,GAAA;EAAA,OA4C2BJ,GAAA,CAAAE,eAAA,CAAiB;AAAA","ignoreList":[]}
@@ -11,7 +11,7 @@ import { useTranslation } from '../../../../providers/Translation/index.js';
11
11
  import './index.scss';
12
12
  const baseClass = 'relationship--single-value';
13
13
  export const SingleValue = props => {
14
- const $ = _c(15);
14
+ const $ = _c(24);
15
15
  const {
16
16
  children,
17
17
  data: t0,
@@ -55,6 +55,48 @@ export const SingleValue = props => {
55
55
  const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read);
56
56
  let t5;
57
57
  if ($[4] !== allowEdit || $[5] !== children || $[6] !== hasReadPermission || $[7] !== label || $[8] !== onDocumentOpen || $[9] !== props || $[10] !== relationTo || $[11] !== showTooltip || $[12] !== t || $[13] !== value) {
58
+ let t6;
59
+ if ($[15] !== allowEdit || $[16] !== hasReadPermission || $[17] !== label || $[18] !== onDocumentOpen || $[19] !== relationTo || $[20] !== showTooltip || $[21] !== t || $[22] !== value) {
60
+ t6 = relationTo && hasReadPermission && allowEdit !== false && _jsx(Fragment, {
61
+ children: _jsxs("button", {
62
+ "aria-label": t("general:editLabel", {
63
+ label
64
+ }),
65
+ className: `${baseClass}__drawer-toggler`,
66
+ onClick: event => {
67
+ setShowTooltip(false);
68
+ onDocumentOpen({
69
+ id: value,
70
+ collectionSlug: relationTo,
71
+ hasReadPermission,
72
+ openInNewTab: event.metaKey || event.ctrlKey
73
+ });
74
+ },
75
+ onKeyDown: _temp,
76
+ onMouseDown: _temp2,
77
+ onMouseEnter: () => setShowTooltip(true),
78
+ onMouseLeave: () => setShowTooltip(false),
79
+ onTouchEnd: _temp3,
80
+ type: "button",
81
+ children: [_jsx(Tooltip, {
82
+ className: `${baseClass}__tooltip`,
83
+ show: showTooltip,
84
+ children: t("general:edit")
85
+ }), _jsx(EditIcon, {})]
86
+ })
87
+ });
88
+ $[15] = allowEdit;
89
+ $[16] = hasReadPermission;
90
+ $[17] = label;
91
+ $[18] = onDocumentOpen;
92
+ $[19] = relationTo;
93
+ $[20] = showTooltip;
94
+ $[21] = t;
95
+ $[22] = value;
96
+ $[23] = t6;
97
+ } else {
98
+ t6 = $[23];
99
+ }
58
100
  t5 = _jsx(SelectComponents.SingleValue, {
59
101
  ...props,
60
102
  className: baseClass,
@@ -65,34 +107,7 @@ export const SingleValue = props => {
65
107
  children: [_jsx("div", {
66
108
  className: `${baseClass}__text`,
67
109
  children
68
- }), relationTo && hasReadPermission && allowEdit !== false && _jsx(Fragment, {
69
- children: _jsxs("button", {
70
- "aria-label": t("general:editLabel", {
71
- label
72
- }),
73
- className: `${baseClass}__drawer-toggler`,
74
- onClick: event => {
75
- setShowTooltip(false);
76
- onDocumentOpen({
77
- id: value,
78
- collectionSlug: relationTo,
79
- hasReadPermission,
80
- openInNewTab: event.metaKey || event.ctrlKey
81
- });
82
- },
83
- onKeyDown: _temp,
84
- onMouseDown: _temp2,
85
- onMouseEnter: () => setShowTooltip(true),
86
- onMouseLeave: () => setShowTooltip(false),
87
- onTouchEnd: _temp3,
88
- type: "button",
89
- children: [_jsx(Tooltip, {
90
- className: `${baseClass}__tooltip`,
91
- show: showTooltip,
92
- children: t("general:edit")
93
- }), _jsx(EditIcon, {})]
94
- })
95
- })]
110
+ }), t6]
96
111
  })
97
112
  })
98
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useState","components","SelectComponents","Tooltip","EditIcon","useAuth","useTranslation","baseClass","SingleValue","props","$","children","data","t0","selectProps","t1","allowEdit","label","relationTo","value","t2","undefined","customProps","t3","t4","onDocumentOpen","showTooltip","setShowTooltip","t","permissions","hasReadPermission","Boolean","collections","read","t5","_jsx","className","_jsxs","onClick","event","id","collectionSlug","openInNewTab","metaKey","ctrlKey","onKeyDown","_temp","onMouseDown","_temp2","onMouseEnter","onMouseLeave","onTouchEnd","_temp3","type","show","e","key","stopPropagation","e_0","e_1"],"sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"sourcesContent":["'use client'\nimport type { SingleValueProps } from 'react-select'\n\nimport React, { Fragment, useState } from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { ReactSelectAdapterProps } from '../../../../elements/ReactSelect/types.js'\nimport type { Option } from '../../types.js'\n\nimport { Tooltip } from '../../../../elements/Tooltip/index.js'\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'relationship--single-value'\n\nexport const SingleValue: React.FC<\n {\n selectProps: {\n // TODO Fix this - moduleResolution 16 breaks our declare module\n customProps: ReactSelectAdapterProps['customProps']\n }\n } & SingleValueProps<Option>\n> = (props) => {\n const {\n children,\n data: { allowEdit, label, relationTo, value },\n selectProps: { customProps: { onDocumentOpen } = {} } = {},\n } = props\n\n const [showTooltip, setShowTooltip] = useState(false)\n const { t } = useTranslation()\n const { permissions } = useAuth()\n const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read)\n\n return (\n <SelectComponents.SingleValue {...props} className={baseClass}>\n <div className={`${baseClass}__label`}>\n <div className={`${baseClass}__label-text`}>\n <div className={`${baseClass}__text`}>{children}</div>\n {relationTo && hasReadPermission && allowEdit !== false && (\n <Fragment>\n <button\n aria-label={t('general:editLabel', { label })}\n className={`${baseClass}__drawer-toggler`}\n onClick={(event) => {\n setShowTooltip(false)\n onDocumentOpen({\n id: value,\n collectionSlug: relationTo,\n hasReadPermission,\n openInNewTab: event.metaKey || event.ctrlKey,\n })\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n }\n }}\n onMouseDown={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={(e) => e.stopPropagation()} // prevents react-select dropdown from openingtype=\"button\"\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:edit')}\n </Tooltip>\n <EditIcon />\n </button>\n </Fragment>\n )}\n </div>\n </div>\n </SelectComponents.SingleValue>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,EAAEC,QAAQ,QAAQ;AAC1C,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAK/C,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAOTC,KAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EACF;IAAAc,QAAA;IAAAC,IAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC;EAAA,IAIIN,KAAA;EAFI;IAAAO,SAAA;IAAAC,KAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAN,EAAuC;EAAA,IAAAO,EAAA;EAAA,IAAAV,CAAA,QAAAK,EAAA;IAChCK,EAAA,GAAAL,EAA6C,KAAAM,SAAA,QAA7CN,EAA6C;IAAAL,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAA7C;IAAAY,WAAA,EAAAC;EAAA,IAAAH,EAA6C;EAAA,IAAAI,EAAA;EAAA,IAAAd,CAAA,QAAAa,EAAA;IAA9BC,EAAA,GAAAD,EAAuB,KAAAF,SAAA,QAAvBE,EAAuB;IAAAb,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAvB;IAAAe;EAAA,IAAAD,EAAuB;EAGrD,OAAAE,WAAA,EAAAC,cAAA,IAAsC3B,QAAA,MAAS;EAC/C;IAAA4B;EAAA,IAActB,cAAA;EACd;IAAAuB;EAAA,IAAwBxB,OAAA;EACxB,MAAAyB,iBAAA,GAA0BC,OAAA,CAAQF,WAAA,EAAAG,WAAA,GAA2Bd,UAAA,GAAAe,IAAa;EAAA,IAAAC,EAAA;EAAA,IAAAxB,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAoB,iBAAA,IAAApB,CAAA,QAAAO,KAAA,IAAAP,CAAA,QAAAe,cAAA,IAAAf,CAAA,QAAAD,KAAA,IAAAC,CAAA,SAAAQ,UAAA,IAAAR,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAAkB,CAAA,IAAAlB,CAAA,SAAAS,KAAA;IAGxEe,EAAA,GAAAC,IAAA,CAAAjC,gBAAA,CAAAM,WAAA;MAAA,GAAkCC,KAAK;MAAA2B,SAAA,EAAA7B,SAAA;MAAAI,QAAA,EACrCwB,IAAA,CAAC;QAAAC,SAAA,EAAe,GAAA7B,SAAA,SAAqB;QAAAI,QAAA,EACnC0B,KAAA,CAAC;UAAAD,SAAA,EAAe,GAAA7B,SAAA,cAA0B;UAAAI,QAAA,GACxCwB,IAAA,CAAC;YAAAC,SAAA,EAAe,GAAA7B,SAAA,QAAoB;YAAAI;UAAA,C,GACnCO,UAAA,IAAcY,iBAAA,IAAqBd,SAAA,UAAc,IAChDmB,IAAA,CAAApC,QAAA;YAAAY,QAAA,EACE0B,KAAA,CAAC;cAAA,cACaT,CAAA,CAAE;gBAAAX;cAAA,CAA6B;cAAAmB,SAAA,EAChC,GAAA7B,SAAA,kBAA8B;cAAA+B,OAAA,EAAAC,KAAA;gBAEvCZ,cAAA,MAAe;gBACfF,cAAA;kBAAAe,EAAA,EACMrB,KAAA;kBAAAsB,cAAA,EACYvB,UAAA;kBAAAY,iBAAA;kBAAAY,YAAA,EAEFH,KAAA,CAAAI,OAAA,IAAiBJ,KAAA,CAAAK;gBAAa,CAC9C;cAAA;cAAAC,SAAA,EAAAC,KAAA;cAAAC,WAAA,EAAAC,MAAA;cAAAC,YAAA,EAAAA,CAAA,KAQkBtB,cAAA,KAAe;cAAAuB,YAAA,EAAAA,CAAA,KACfvB,cAAA,MAAe;cAAAwB,UAAA,EAAAC,MAAA;cAAAC,IAAA,EAE9B;cAAA1C,QAAA,GAELwB,IAAA,CAAAhC,OAAA;gBAAAiC,SAAA,EAAoB,GAAA7B,SAAA,WAAuB;gBAAA+C,IAAA,EAAQ5B,WAAA;gBAAAf,QAAA,EAChDiB,CAAA,CAAE;cAAA,C,GAELO,IAAA,CAAA/B,QAAA,IAAC;YAAA,C;;;;;;;;;;;;;;;;;;;SAhCb8B,E;CAwCJ;AArDI,SAAAY,MAAAS,CAAA;EAAA,IAgCkBA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,eAAA,CAAiB;EAAA;AAAA;AAjCjC,SAAAT,OAAAU,GAAA;EAAA,OAoCgCH,GAAA,CAAAE,eAAA,CAAiB;AAAA;AApCjD,SAAAL,OAAAO,GAAA;EAAA,OAuC+BJ,GAAA,CAAAE,eAAA,CAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","useState","components","SelectComponents","Tooltip","EditIcon","useAuth","useTranslation","baseClass","SingleValue","props","$","children","data","t0","selectProps","t1","allowEdit","label","relationTo","value","t2","undefined","customProps","t3","t4","onDocumentOpen","showTooltip","setShowTooltip","t","permissions","hasReadPermission","Boolean","collections","read","t5","t6","_jsx","_jsxs","className","onClick","event","id","collectionSlug","openInNewTab","metaKey","ctrlKey","onKeyDown","_temp","onMouseDown","_temp2","onMouseEnter","onMouseLeave","onTouchEnd","_temp3","type","show","e","key","stopPropagation","e_0","e_1"],"sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"sourcesContent":["'use client'\nimport type { SingleValueProps } from 'react-select'\n\nimport React, { Fragment, useState } from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { ReactSelectAdapterProps } from '../../../../elements/ReactSelect/types.js'\nimport type { Option } from '../../types.js'\n\nimport { Tooltip } from '../../../../elements/Tooltip/index.js'\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'relationship--single-value'\n\nexport const SingleValue: React.FC<\n {\n selectProps: {\n // TODO Fix this - moduleResolution 16 breaks our declare module\n customProps: ReactSelectAdapterProps['customProps']\n }\n } & SingleValueProps<Option>\n> = (props) => {\n const {\n children,\n data: { allowEdit, label, relationTo, value },\n selectProps: { customProps: { onDocumentOpen } = {} } = {},\n } = props\n\n const [showTooltip, setShowTooltip] = useState(false)\n const { t } = useTranslation()\n const { permissions } = useAuth()\n const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read)\n\n return (\n <SelectComponents.SingleValue {...props} className={baseClass}>\n <div className={`${baseClass}__label`}>\n <div className={`${baseClass}__label-text`}>\n <div className={`${baseClass}__text`}>{children}</div>\n {relationTo && hasReadPermission && allowEdit !== false && (\n <Fragment>\n <button\n aria-label={t('general:editLabel', { label })}\n className={`${baseClass}__drawer-toggler`}\n onClick={(event) => {\n setShowTooltip(false)\n onDocumentOpen({\n id: value,\n collectionSlug: relationTo,\n hasReadPermission,\n openInNewTab: event.metaKey || event.ctrlKey,\n })\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n }\n }}\n onMouseDown={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={(e) => e.stopPropagation()} // prevents react-select dropdown from openingtype=\"button\"\n type=\"button\"\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:edit')}\n </Tooltip>\n <EditIcon />\n </button>\n </Fragment>\n )}\n </div>\n </div>\n </SelectComponents.SingleValue>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,EAAEC,QAAQ,QAAQ;AAC1C,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAK/C,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAOTC,KAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EACF;IAAAc,QAAA;IAAAC,IAAA,EAAAC,EAAA;IAAAC,WAAA,EAAAC;EAAA,IAIIN,KAAA;EAFI;IAAAO,SAAA;IAAAC,KAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAN,EAAuC;EAAA,IAAAO,EAAA;EAAA,IAAAV,CAAA,QAAAK,EAAA;IAChCK,EAAA,GAAAL,EAA6C,KAAAM,SAAA,QAA7CN,EAA6C;IAAAL,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAA7C;IAAAY,WAAA,EAAAC;EAAA,IAAAH,EAA6C;EAAA,IAAAI,EAAA;EAAA,IAAAd,CAAA,QAAAa,EAAA;IAA9BC,EAAA,GAAAD,EAAuB,KAAAF,SAAA,QAAvBE,EAAuB;IAAAb,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAvB;IAAAe;EAAA,IAAAD,EAAuB;EAGrD,OAAAE,WAAA,EAAAC,cAAA,IAAsC3B,QAAA,MAAS;EAC/C;IAAA4B;EAAA,IAActB,cAAA;EACd;IAAAuB;EAAA,IAAwBxB,OAAA;EACxB,MAAAyB,iBAAA,GAA0BC,OAAA,CAAQF,WAAA,EAAAG,WAAA,GAA2Bd,UAAA,GAAAe,IAAa;EAAA,IAAAC,EAAA;EAAA,IAAAxB,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAoB,iBAAA,IAAApB,CAAA,QAAAO,KAAA,IAAAP,CAAA,QAAAe,cAAA,IAAAf,CAAA,QAAAD,KAAA,IAAAC,CAAA,SAAAQ,UAAA,IAAAR,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAAkB,CAAA,IAAAlB,CAAA,SAAAS,KAAA;IAAA,IAAAgB,EAAA;IAAA,IAAAzB,CAAA,SAAAM,SAAA,IAAAN,CAAA,SAAAoB,iBAAA,IAAApB,CAAA,SAAAO,KAAA,IAAAP,CAAA,SAAAe,cAAA,IAAAf,CAAA,SAAAQ,UAAA,IAAAR,CAAA,SAAAgB,WAAA,IAAAhB,CAAA,SAAAkB,CAAA,IAAAlB,CAAA,SAAAS,KAAA;MAOjEgB,EAAA,GAAAjB,UAAA,IAAcY,iBAAA,IAAqBd,SAAA,UAAc,IAChDoB,IAAA,CAAArC,QAAA;QAAAY,QAAA,EACE0B,KAAA,CAAC;UAAA,cACaT,CAAA,CAAE;YAAAX;UAAA,CAA6B;UAAAqB,SAAA,EAChC,GAAA/B,SAAA,kBAA8B;UAAAgC,OAAA,EAAAC,KAAA;YAEvCb,cAAA,MAAe;YACfF,cAAA;cAAAgB,EAAA,EACMtB,KAAA;cAAAuB,cAAA,EACYxB,UAAA;cAAAY,iBAAA;cAAAa,YAAA,EAEFH,KAAA,CAAAI,OAAA,IAAiBJ,KAAA,CAAAK;YAAa,CAC9C;UAAA;UAAAC,SAAA,EAAAC,KAAA;UAAAC,WAAA,EAAAC,MAAA;UAAAC,YAAA,EAAAA,CAAA,KAQkBvB,cAAA,KAAe;UAAAwB,YAAA,EAAAA,CAAA,KACfxB,cAAA,MAAe;UAAAyB,UAAA,EAAAC,MAAA;UAAAC,IAAA,EAE9B;UAAA3C,QAAA,GAELyB,IAAA,CAAAjC,OAAA;YAAAmC,SAAA,EAAoB,GAAA/B,SAAA,WAAuB;YAAAgD,IAAA,EAAQ7B,WAAA;YAAAf,QAAA,EAChDiB,CAAA,CAAE;UAAA,C,GAELQ,IAAA,CAAAhC,QAAA,IAAC;QAAA,C;;;;;;;;;;;;;;IAhCb8B,EAAA,GAAAE,IAAA,CAAAlC,gBAAA,CAAAM,WAAA;MAAA,GAAkCC,KAAK;MAAA6B,SAAA,EAAA/B,SAAA;MAAAI,QAAA,EACrCyB,IAAA,CAAC;QAAAE,SAAA,EAAe,GAAA/B,SAAA,SAAqB;QAAAI,QAAA,EACnC0B,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAA/B,SAAA,cAA0B;UAAAI,QAAA,GACxCyB,IAAA,CAAC;YAAAE,SAAA,EAAe,GAAA/B,SAAA,QAAoB;YAAAI;UAAA,C,GACnCwB,E;;;;;;;;;;;;;;;;;;SAJPD,E;CAwCJ;AArDI,SAAAa,MAAAS,CAAA;EAAA,IAgCkBA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,eAAA,CAAiB;EAAA;AAAA;AAjCjC,SAAAT,OAAAU,GAAA;EAAA,OAoCgCH,GAAA,CAAAE,eAAA,CAAiB;AAAA;AApCjD,SAAAL,OAAAO,GAAA;EAAA,OAuC+BJ,GAAA,CAAAE,eAAA,CAAiB;AAAA","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
- export declare const RowField: React.FC<Omit<import("payload").FieldPaths, "path"> & Pick<import("payload").ClientComponentProps, "forceRender"> & {
3
+ export declare const RowField: React.FC<{
4
+ readonly forceRender?: boolean;
5
+ } & Omit<import("payload").FieldPaths, "path"> & {
4
6
  readonly field: Omit<import("payload").RowFieldClient, "type"> & Partial<Pick<import("payload").RowFieldClient, "type">>;
5
7
  } & Omit<import("payload").ClientComponentProps, "customComponents" | "field">>;
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Row/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAsCrB,eAAO,MAAM,QAAQ;;+EAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Row/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAsCrB,eAAO,MAAM,QAAQ;;;;+EAAmC,CAAA"}
@@ -13,7 +13,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
13
13
  import { fieldBaseClass } from '../shared/index.js';
14
14
  import './index.scss';
15
15
  export const SelectInput = props => {
16
- const $ = _c(37);
16
+ const $ = _c(42);
17
17
  const {
18
18
  id,
19
19
  AfterInput,
@@ -68,17 +68,30 @@ export const SelectInput = props => {
68
68
  valueToRender = value.map(t4);
69
69
  } else {
70
70
  if (value) {
71
+ let matchingOption_0;
71
72
  let t4;
72
- if ($[29] !== value) {
73
- t4 = option_0 => option_0.value === value;
74
- $[29] = value;
75
- $[30] = t4;
73
+ if ($[29] !== i18n || $[30] !== options || $[31] !== value) {
74
+ let t5;
75
+ if ($[34] !== value) {
76
+ t5 = option_0 => option_0.value === value;
77
+ $[34] = value;
78
+ $[35] = t5;
79
+ } else {
80
+ t5 = $[35];
81
+ }
82
+ matchingOption_0 = options.find(t5);
83
+ t4 = matchingOption_0 ? getTranslation(matchingOption_0.label, i18n) : value;
84
+ $[29] = i18n;
85
+ $[30] = options;
86
+ $[31] = value;
87
+ $[32] = matchingOption_0;
88
+ $[33] = t4;
76
89
  } else {
77
- t4 = $[30];
90
+ matchingOption_0 = $[32];
91
+ t4 = $[33];
78
92
  }
79
- const matchingOption_0 = options.find(t4);
80
93
  valueToRender = {
81
- label: matchingOption_0 ? getTranslation(matchingOption_0.label, i18n) : value,
94
+ label: t4,
82
95
  value: matchingOption_0?.value ?? value
83
96
  };
84
97
  } else {
@@ -88,25 +101,25 @@ export const SelectInput = props => {
88
101
  const t4 = showError && "error";
89
102
  const t5 = readOnly && "read-only";
90
103
  let t6;
91
- if ($[31] !== className || $[32] !== t4 || $[33] !== t5) {
104
+ if ($[36] !== className || $[37] !== t4 || $[38] !== t5) {
92
105
  t6 = [fieldBaseClass, "select", className, t4, t5].filter(Boolean);
93
- $[31] = className;
94
- $[32] = t4;
95
- $[33] = t5;
96
- $[34] = t6;
106
+ $[36] = className;
107
+ $[37] = t4;
108
+ $[38] = t5;
109
+ $[39] = t6;
97
110
  } else {
98
- t6 = $[34];
111
+ t6 = $[39];
99
112
  }
100
113
  let t7;
101
- if ($[35] !== i18n) {
114
+ if ($[40] !== i18n) {
102
115
  t7 = option_1 => ({
103
116
  ...option_1,
104
117
  label: getTranslation(option_1.label, i18n)
105
118
  });
106
- $[35] = i18n;
107
- $[36] = t7;
119
+ $[40] = i18n;
120
+ $[41] = t7;
108
121
  } else {
109
- t7 = $[36];
122
+ t7 = $[41];
110
123
  }
111
124
  t3 = _jsxs("div", {
112
125
  className: t6.join(" "),
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","SelectInput","props","$","id","AfterInput","BeforeInput","className","Description","description","Error","filterOption","hasMany","t0","isClearable","t1","isSortable","t2","label","Label","localized","onChange","onInputChange","options","path","placeholder","readOnly","required","showError","style","value","undefined","i18n","t3","valueToRender","Array","isArray","t4","val","matchingOption","find","option","map","option_0","matchingOption_0","t5","t6","filter","Boolean","t7","option_1","_jsxs","join","replace","children","_jsx","CustomComponent","Fallback","disabled","isMulti"],"sources":["../../../src/fields/Select/Input.tsx"],"sourcesContent":["'use client'\nimport type { LabelFunction, OptionObject, StaticDescription, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type SelectInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOption?: ReactSelectAdapterProps['filterOption']\n readonly hasMany?: boolean\n readonly id?: string\n readonly isClearable?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name: string\n readonly onChange?: ReactSelectAdapterProps['onChange']\n readonly onInputChange?: ReactSelectAdapterProps['onInputChange']\n readonly options?: OptionObject[]\n readonly path: string\n readonly placeholder?: LabelFunction | string\n readonly readOnly?: boolean\n readonly required?: boolean\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: string | string[]\n}\n\nexport const SelectInput: React.FC<SelectInputProps> = (props) => {\n const {\n id,\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n filterOption,\n hasMany = false,\n isClearable = true,\n isSortable = true,\n label,\n Label,\n localized,\n onChange,\n onInputChange,\n options,\n path,\n placeholder,\n readOnly,\n required,\n showError,\n style,\n value,\n } = props\n\n const { i18n } = useTranslation()\n\n let valueToRender\n\n if (hasMany && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n } else {\n // If value is not present then render nothing, allowing select fields to reset to their initial 'Select an option' state\n valueToRender = null\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'select',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <ReactSelect\n disabled={readOnly}\n filterOption={filterOption}\n id={id}\n isClearable={isClearable}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={onChange}\n onInputChange={onInputChange}\n options={options.map((option) => ({\n ...option,\n label: getTranslation(option.label, i18n),\n }))}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender as OptionObject}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","SelectInput","props","$","id","AfterInput","BeforeInput","className","Description","description","Error","filterOption","hasMany","t0","isClearable","t1","isSortable","t2","label","Label","localized","onChange","onInputChange","options","path","placeholder","readOnly","required","showError","style","value","undefined","i18n","t3","valueToRender","Array","isArray","t4","val","matchingOption","find","option","map","matchingOption_0","t5","option_0","t6","filter","Boolean","t7","option_1","_jsxs","join","replace","children","_jsx","CustomComponent","Fallback","disabled","isMulti"],"sources":["../../../src/fields/Select/Input.tsx"],"sourcesContent":["'use client'\nimport type { LabelFunction, OptionObject, StaticDescription, StaticLabel } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type SelectInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOption?: ReactSelectAdapterProps['filterOption']\n readonly hasMany?: boolean\n readonly id?: string\n readonly isClearable?: boolean\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly name: string\n readonly onChange?: ReactSelectAdapterProps['onChange']\n readonly onInputChange?: ReactSelectAdapterProps['onInputChange']\n readonly options?: OptionObject[]\n readonly path: string\n readonly placeholder?: LabelFunction | string\n readonly readOnly?: boolean\n readonly required?: boolean\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: string | string[]\n}\n\nexport const SelectInput: React.FC<SelectInputProps> = (props) => {\n const {\n id,\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n filterOption,\n hasMany = false,\n isClearable = true,\n isSortable = true,\n label,\n Label,\n localized,\n onChange,\n onInputChange,\n options,\n path,\n placeholder,\n readOnly,\n required,\n showError,\n style,\n value,\n } = props\n\n const { i18n } = useTranslation()\n\n let valueToRender\n\n if (hasMany && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n } else {\n // If value is not present then render nothing, allowing select fields to reset to their initial 'Select an option' state\n valueToRender = null\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'select',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <ReactSelect\n disabled={readOnly}\n filterOption={filterOption}\n id={id}\n isClearable={isClearable}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={onChange}\n onInputChange={onInputChange}\n options={options.map((option) => ({\n ...option,\n label: getTranslation(option.label, i18n),\n }))}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender as OptionObject}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ import { useTranslation } from '../../../providers/Translation/index.js';
11
11
  import './index.scss';
12
12
  const baseClass = 'tabs-field__tab-button';
13
13
  export const TabComponent = t0 => {
14
- const $ = _c(12);
14
+ const $ = _c(15);
15
15
  const {
16
16
  hidden,
17
17
  isActive,
@@ -45,12 +45,21 @@ export const TabComponent = t0 => {
45
45
  } else {
46
46
  t6 = $[11];
47
47
  }
48
+ let t7;
49
+ if ($[12] !== i18n || $[13] !== tab) {
50
+ t7 = tab.label ? getTranslation(tab.label, i18n) : tabHasName(tab) ? tab.name : "";
51
+ $[12] = i18n;
52
+ $[13] = tab;
53
+ $[14] = t7;
54
+ } else {
55
+ t7 = $[14];
56
+ }
48
57
  t1 = _jsxs(React.Fragment, {
49
58
  children: [t2, _jsxs("button", {
50
59
  className: t6.join(" "),
51
60
  onClick: setIsActive,
52
61
  type: "button",
53
- children: [tab.label ? getTranslation(tab.label, i18n) : tabHasName(tab) ? tab.name : "", fieldHasErrors && _jsx(ErrorPill, {
62
+ children: [t7, fieldHasErrors && _jsx(ErrorPill, {
54
63
  count: errorCount,
55
64
  i18n
56
65
  })]