@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.
- package/dist/elements/AppHeader/index.scss +1 -0
- package/dist/elements/Autosave/index.js +2 -2
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +4 -18
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +173 -74
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +155 -67
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +15 -7
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +44 -8
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +97 -89
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +22 -2
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.d.ts +12 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -0
- package/dist/elements/DefaultListViewTabs/index.js +161 -0
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -0
- package/dist/elements/{ListHeaderTabs → DefaultListViewTabs}/index.scss +1 -1
- package/dist/elements/DeleteMany/index.js +83 -47
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +55 -27
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.d.ts +2 -1
- package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +99 -47
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.scss +1 -1
- package/dist/elements/Drawer/index.js +57 -23
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +21 -3
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +20 -10
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +69 -78
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +2 -82
- package/dist/elements/ListDrawer/index.js +24 -18
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js +27 -11
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +152 -71
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +11 -2
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +102 -46
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +22 -11
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
- package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/SearchBar/index.d.ts +2 -3
- package/dist/elements/SearchBar/index.d.ts.map +1 -1
- package/dist/elements/SearchBar/index.js +2 -3
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchBar/index.scss +56 -7
- package/dist/elements/SearchFilter/index.d.ts +2 -33
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +7 -5
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.d.ts +33 -0
- package/dist/elements/SearchFilter/types.d.ts.map +1 -0
- package/dist/elements/SearchFilter/types.js +2 -0
- package/dist/elements/SearchFilter/types.js.map +1 -0
- package/dist/elements/SelectRow/index.js +40 -39
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +12 -20
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +30 -21
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +19 -9
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +75 -35
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +26 -17
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +127 -51
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.js +10 -2
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-URFJPG6I.js} +2 -2
- package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
- package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
- package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
- package/dist/exports/client/chunk-KPQQ5IUL.js +26 -0
- package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-KPQQ5IUL.js.map} +4 -4
- package/dist/exports/client/index.d.ts +2 -3
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +24 -24
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +3 -2
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +23 -13
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +477 -273
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +19 -2
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/FieldError/index.js +29 -30
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +64 -12
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Join/index.js +1 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +3 -1
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +31 -18
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +11 -2
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -2
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +225 -185
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +127 -79
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +15 -13
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/types.d.ts +6 -3
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +237 -245
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +1 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +10 -2
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +17 -31
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/useField/index.d.ts +0 -5
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +45 -74
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useIntersect.js +53 -35
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +44 -36
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +2 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +74 -83
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +6 -3
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/LivePreview/context.d.ts +0 -2
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js +0 -1
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +0 -12
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +7 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +12 -4
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +2 -7
- package/dist/utilities/getClientConfig.d.ts.map +1 -1
- package/dist/utilities/getClientConfig.js +19 -8
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getColumns.d.ts +10 -0
- package/dist/utilities/getColumns.d.ts.map +1 -0
- package/dist/utilities/getColumns.js +36 -0
- package/dist/utilities/getColumns.js.map +1 -0
- package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +16 -1
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +3 -3
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +2 -11
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
- package/dist/utilities/traverseForLocalizedFields.js +40 -0
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
- package/dist/views/BrowseByFolder/index.js +56 -38
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/index.js +45 -28
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +106 -94
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +5 -13
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/package.json +7 -7
- package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +0 -10
- package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +0 -1
- package/dist/elements/ListHeaderTabs/ByFolderPill.js +0 -70
- package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +0 -1
- package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +0 -9
- package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +0 -1
- package/dist/elements/ListHeaderTabs/DefaultListPill.js +0 -75
- package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +0 -1
- package/dist/elements/ListHeaderTabs/TrashPill.d.ts +0 -6
- package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +0 -1
- package/dist/elements/ListHeaderTabs/TrashPill.js +0 -53
- package/dist/elements/ListHeaderTabs/TrashPill.js.map +0 -1
- package/dist/exports/client/chunk-FXAFULZQ.js +0 -26
- /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-URFJPG6I.js.map} +0 -0
- /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
|
|
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:
|
|
25
|
-
} =
|
|
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
|
-
} =
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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","
|
|
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(
|
|
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
|
-
}),
|
|
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","
|
|
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":"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","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './index.scss';
|
|
3
|
-
export declare const RowField: React.FC<
|
|
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
|
|
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(
|
|
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
|
-
|
|
74
|
-
$[
|
|
75
|
-
|
|
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
|
-
|
|
90
|
+
matchingOption_0 = $[32];
|
|
91
|
+
t4 = $[33];
|
|
78
92
|
}
|
|
79
|
-
const matchingOption_0 = options.find(t4);
|
|
80
93
|
valueToRender = {
|
|
81
|
-
label:
|
|
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 ($[
|
|
104
|
+
if ($[36] !== className || $[37] !== t4 || $[38] !== t5) {
|
|
92
105
|
t6 = [fieldBaseClass, "select", className, t4, t5].filter(Boolean);
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
106
|
+
$[36] = className;
|
|
107
|
+
$[37] = t4;
|
|
108
|
+
$[38] = t5;
|
|
109
|
+
$[39] = t6;
|
|
97
110
|
} else {
|
|
98
|
-
t6 = $[
|
|
111
|
+
t6 = $[39];
|
|
99
112
|
}
|
|
100
113
|
let t7;
|
|
101
|
-
if ($[
|
|
114
|
+
if ($[40] !== i18n) {
|
|
102
115
|
t7 = option_1 => ({
|
|
103
116
|
...option_1,
|
|
104
117
|
label: getTranslation(option_1.label, i18n)
|
|
105
118
|
});
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
119
|
+
$[40] = i18n;
|
|
120
|
+
$[41] = t7;
|
|
108
121
|
} else {
|
|
109
|
-
t7 = $[
|
|
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","
|
|
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(
|
|
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: [
|
|
62
|
+
children: [t7, fieldHasErrors && _jsx(ErrorPill, {
|
|
54
63
|
count: errorCount,
|
|
55
64
|
i18n
|
|
56
65
|
})]
|