@payloadcms/ui 3.57.0-internal.1d2ebbc → 3.57.0-internal.266049e
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/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +4 -2
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts +4 -3
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +41 -28
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +1 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +41 -33
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +27 -19
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +1 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
- package/dist/elements/FullscreenModal/index.js +1 -0
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.d.ts +1 -7
- package/dist/elements/LivePreview/IFrame/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +39 -18
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +135 -61
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +1 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.scss +4 -0
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +1 -1
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +20 -14
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +44 -28
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +4 -2
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +6 -2
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.scss +11 -9
- package/dist/elements/Toasts/fieldErrors.js +1 -1
- package/dist/elements/Toasts/fieldErrors.js.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/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +36 -16
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +1 -5
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Upload/Input.js +20 -20
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/index.js +1 -2
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +8 -0
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +2 -2
- 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 +223 -236
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +33 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +2 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +6 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +76 -73
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +5 -9
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/providers/LivePreview/context.d.ts +17 -2
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js +3 -2
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts +2 -2
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +33 -19
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +39 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts +2 -0
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +20 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +8 -0
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/formatAbsoluteURL.js +15 -0
- package/dist/utilities/formatAbsoluteURL.js.map +1 -0
- package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +0 -4
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts +58 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -0
- package/dist/utilities/handleLivePreview.js +96 -0
- package/dist/utilities/handleLivePreview.js.map +1 -0
- package/dist/utilities/handleTakeOver.d.ts +17 -4
- package/dist/utilities/handleTakeOver.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.js +18 -2
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +3 -2
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +2 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +48 -13
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","fieldAffectsData","fieldIsID","React","useConfig","useTranslation","formatAdminURL","getDisplayedFieldValue","isValidReactElement","Link","CodeCell","cellComponents","DefaultCell","props","$","cellData","className","classNameFromProps","collectionSlug","field","t0","link","onClick","onClickFromProps","rowData","viewType","admin","i18n","config","t1","getEntityConfig","routes","t2","adminRoute","t3","t4","Symbol","for","collectionConfig","classNameFromConfigContext","undefined","WrapElement","wrapElementProps","prefetch","href","slug","path","encodeURIComponent","id","type","_jsx","children","nowrap","displayedValue","DefaultCellComponent","CellComponent","upload","name","FileCellComponent","File","_jsxs","t","label","JSON","stringify","options","length","classes","Array","isArray","map","_temp","join","className_0","filter","Boolean","value"],"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, UploadFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsID } from 'payload/shared'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { getDisplayedFieldValue } from '../../../utilities/getDisplayedFieldValue.js'\nimport { isValidReactElement } from '../../../utilities/isValidReactElement.js'\nimport { Link } from '../../Link/index.js'\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\n\nexport const DefaultCell: React.FC<DefaultCellComponentProps> = (props) => {\n const {\n cellData,\n className: classNameFromProps,\n collectionSlug,\n field,\n field: { admin },\n link,\n onClick: onClickFromProps,\n rowData,\n viewType,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const classNameFromConfigContext = admin && 'className' in admin ? admin.className : undefined\n\n const className =\n classNameFromProps ||\n (field.admin && 'className' in field.admin ? field.admin.className : null) ||\n classNameFromConfigContext\n\n const onClick = onClickFromProps\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n prefetch?: false\n type?: 'button'\n } = {\n className,\n }\n\n if (link) {\n wrapElementProps.prefetch = false\n WrapElement = Link\n wrapElementProps.href = collectionConfig?.slug\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(rowData.id)}`,\n })\n : ''\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: collectionConfig?.slug,\n rowData,\n })\n }\n }\n\n if (fieldIsID(field)) {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell\n cellData={`ID: ${cellData}`}\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n field={{\n ...field,\n type: 'code',\n }}\n nowrap\n rowData={rowData}\n />\n </WrapElement>\n )\n }\n\n const displayedValue = getDisplayedFieldValue(cellData, field, i18n)\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[field.type]\n\n let CellComponent: React.ReactNode = null\n\n // Handle JSX labels before using DefaultCellComponent\n if (isValidReactElement(displayedValue)) {\n CellComponent = displayedValue\n } else if (DefaultCellComponent) {\n CellComponent = <DefaultCellComponent cellData={cellData} rowData={rowData} {...props} />\n } else if (!DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (\n collectionConfig?.upload &&\n fieldAffectsData(field) &&\n field.name === 'filename' &&\n field.type === 'text'\n ) {\n const FileCellComponent = cellComponents.File\n\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n rowData={rowData}\n {...(props as DefaultCellComponentProps<UploadFieldClient>)}\n collectionConfig={collectionConfig}\n field={field}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(displayedValue === '' ||\n typeof displayedValue === 'undefined' ||\n displayedValue === null) &&\n i18n.t('general:noLabel', {\n label: getTranslation(('label' in field ? field.label : null) || 'data', i18n),\n })}\n {typeof displayedValue === 'string' && displayedValue}\n {typeof displayedValue === 'number' && displayedValue}\n {typeof displayedValue === 'object' &&\n displayedValue !== null &&\n JSON.stringify(displayedValue)}\n </WrapElement>\n )\n }\n }\n\n if ((field.type === 'select' || field.type === 'radio') && field.options.length && cellData) {\n const classes = Array.isArray(cellData)\n ? cellData.map((value) => `selected--${value}`).join(' ')\n : `selected--${cellData}`\n\n const className = [wrapElementProps.className, classes].filter(Boolean).join(' ')\n\n return (\n <WrapElement {...wrapElementProps} className={className}>\n {CellComponent}\n </WrapElement>\n )\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,SAAS,QAAQ;AAC5C,OAAOC,KAAA,MAAW,QAAO,CAAC;AAE1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ;AACvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,IAAI,QAAQ;AACrB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,WAAA,GAAmDC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAC9D;IAAAgB,QAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,cAAA;IAAAC,KAAA;IAAAA,KAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,OAAA,EAAAC,gBAAA;IAAAC,OAAA;IAAAC;EAAA,IAUIZ,KAAA;EALK;IAAAa;EAAA,IAAAN,EAAS;EAOlB;IAAAO;EAAA,IAAiBtB,cAAA;EAEjB;IAAAuB,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAKI1B,SAAA;EAJM;IAAA2B,MAAA,EAAAC;EAAA,IAAAH,EAEP;EADS;IAAAH,KAAA,EAAAO;EAAA,IAAAD,EAAqB;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAArB,CAAA,QAAAY,KAAA,IAAAZ,CAAA,QAAAmB,UAAA,IAAAnB,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAG,kBAAA,IAAAH,CAAA,QAAAI,cAAA,IAAAJ,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAgB,eAAA,IAAAhB,CAAA,QAAAa,IAAA,IAAAb,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAS,gBAAA,IAAAT,CAAA,SAAAD,KAAA,IAAAC,CAAA,SAAAU,OAAA,IAAAV,CAAA,SAAAW,QAAA;IAqD7BU,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MAhDJ,MAAAC,gBAAA,GAAyBR,eAAA;QAAAZ;MAAA,CAAiC;MAE1D,MAAAqB,0BAAA,GAAmCb,KAAA,IAAS,eAAeA,KAAA,GAAQA,KAAA,CAAAV,SAAA,GAAAwB,SAAkB;MAErF,MAAAxB,SAAA,GACEC,kBAAA,KACCE,KAAA,CAAAO,KAAA,IAAe,eAAeP,KAAA,CAAAO,KAAW,GAAGP,KAAA,CAAAO,KAAA,CAAAV,SAAA,OAA2B,KACxEuB,0BAAA;MAEF,MAAAjB,OAAA,GAAgBC,gBAAA;MAEhB,IAAAkB,WAAA,GAAqD;MAErD,MAAAC,gBAAA;QAAA1B;MAAA;MAQA,IAEIK,IAAA;QACFqB,gBAAA,CAAAC,QAAA;QACAF,WAAA,CAAAA,CAAA,CAAAA,IAAA;QACAC,gBAAA,CAAAE,IAAA,GAAwBN,gBAAA,EAAAO,IAAA,GACpBvC,cAAA;UAAA2B,UAAA;UAAAa,IAAA,EAEQ,gBAAgBR,gBAAA,EAAAO,IAAA,GAAyBpB,QAAA,KAAa,UAAU,WAAW,MAAMsB,kBAAA,CAAmBvB,OAAA,CAAAwB,EAAU;QAAG,CACzH,IACA;MAAA;MAAA,IAGF,OAAO1B,OAAA,KAAY;QACrBmB,WAAA,CAAAA,CAAA,CAAcA,QAAA;QACdC,gBAAA,CAAAO,IAAA,GAAwB;QACxBP,gBAAA,CAAApB,OAAA;UACEA,OAAA;YAAAP,QAAA;YAAAG,cAAA,EAEkBoB,gBAAA,EAAAO,IAAA;YAAArB;UAAA,CAElB;QAAA;MAAA;MAAA,IAIAtB,SAAA,CAAUiB,KAAA;QAEVgB,EAAA,GAAAe,IAAA,CAACT,WAAA;UAAA,GAAgBC,gBAAgB;UAAAS,QAAA,EAC/BD,IAAA,CAAAxC,QAAA;YAAAK,QAAA,EACY,OAAOA,QAAA,EAAU;YAAAuB,gBAAA;YAAApB,cAAA;YAAAC,KAAA;cAAA,GAItBA,KAAK;cAAA8B,IAAA,EACF;YAAA;YAAAG,MAAA;YAAA5B;UAAA,C;;;;MAShB,MAAA6B,cAAA,GAAuB9C,sBAAA,CAAuBQ,QAAA,EAAUI,KAAA,EAAOQ,IAAA;MAE/D,MAAA2B,oBAAA,GACE,OAAOvC,QAAA,KAAa,eAAAJ,cAAA,CAA8BQ,KAAA,CAAA8B,IAAA,CAAW;MAE/D,IAAAM,aAAA;MAAqC,IAGjC/C,mBAAA,CAAoB6C,cAAA;QACtBE,aAAA,CAAAA,CAAA,CAAgBF,cAAA;MAAhB;QAAA,IACSC,oBAAA;UACTC,aAAA,CAAAA,CAAA,CAAgBA,KAACD,oBAAA;YAAAvC,QAAA;YAAAS,OAAA;YAAA,GAA+DX;UAAK,C;QAArF;UAAA,KACUyC,oBAAA;YAAA,IAGRhB,gBAAA,EAAAkB,MAAA,IACAvD,gBAAA,CAAiBkB,KAAA,KACjBA,KAAA,CAAAsC,IAAA,KAAe,cACftC,KAAA,CAAA8B,IAAA,KAAe;cAEf,MAAAS,iBAAA,GAAA/C,cAAA,CAAAgD,IAAA;cAEAJ,aAAA,CAAAA,CAAA,CACEA,KAACG,iBAAA;gBAAA3C,QAAA;gBAAAS,OAAA;gBAAA,GAGMX,KAAK;gBAAAyB,gBAAA;gBAAAnB;cAAA,C;YAJd;cAWEgB,EAAA,GAAAyB,KAAA,CAACnB,WAAA;gBAAA,GAAgBC,gBAAgB;gBAAAS,QAAA,GAC7B,CAAAE,cAAA,KAAmB,MACnB,OAAOA,cAAA,KAAmB,eAC1BA,cAAA,SAAsB,KACtB1B,IAAA,CAAAkC,CAAA,CAAO;kBAAAC,KAAA,EACE9D,cAAA,CAAe,CAAC,WAAWmB,KAAA,GAAQA,KAAA,CAAA2C,KAAA,OAAiB,KAAM,QAAQnC,IAAA;gBAAA,CAC3E,GACD,OAAO0B,cAAA,KAAmB,YAAYA,cAAA,EACtC,OAAOA,cAAA,KAAmB,YAAYA,cAAA,EACtC,OAAOA,cAAA,KAAmB,YACzBA,cAAA,SAAmB,IACnBU,IAAA,CAAAC,SAAA,CAAeX,cAAA;cAAA,C;;;;;;UAMrB,CAAClC,KAAA,CAAA8B,IAAA,KAAe,YAAY9B,KAAA,CAAA8B,IAAA,KAAe,OAAM,KAAM9B,KAAA,CAAA8C,OAAA,CAAAC,MAAoB,IAAInD,QAAA;QACjF,MAAAoD,OAAA,GAAgBC,KAAA,CAAAC,OAAA,CAActD,QAAA,IAC1BA,QAAA,CAAAuD,GAAA,CAAAC,KAA4C,EAAAC,IAAA,CAAO,OACnD,aAAazD,QAAA,EAAU;QAE3B,MAAA0D,WAAA,GAAkB,CAAC/B,gBAAA,CAAA1B,SAAA,EAA4BmD,OAAA,EAAAO,MAAA,CAAAC,OAAgB,EAAAH,IAAA,CAAc;QAG3ErC,EAAA,GAAAe,IAAA,CAACT,WAAA;UAAA,GAAgBC,gBAAgB;UAAA1B,SAAA,EAAaA,WAAA;UAAAmC,QAAA,EAC3CI;QAAA,C;;;MAKArB,EAAA,GAAAgB,IAAA,CAACT,WAAA;QAAA,GAAgBC,gBAAgB;QAAAS,QAAA,EAAGI;MAAA,C;;;;;;;;;;;;;;;;;;;;;;;;SAApCrB,E;CACT;AAvJgE,SAAAqC,MAAAK,KAAA;EAAA,OA0IhC,aAAaA,KAAA,EAAO;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","fieldAffectsData","fieldIsID","React","useConfig","useTranslation","formatAdminURL","getDisplayedFieldValue","isValidReactElement","Link","CodeCell","cellComponents","DefaultCell","props","$","cellData","className","classNameFromProps","collectionSlug","field","t0","link","linkURL","onClick","onClickFromProps","rowData","viewType","admin","i18n","config","t1","getEntityConfig","routes","t2","adminRoute","t3","t4","Symbol","for","collectionConfig","classNameFromConfigContext","undefined","WrapElement","wrapElementProps","prefetch","href","slug","path","encodeURIComponent","id","type","_jsx","children","nowrap","displayedValue","DefaultCellComponent","CellComponent","upload","name","FileCellComponent","File","_jsxs","t","label","JSON","stringify","options","length","classes","Array","isArray","map","_temp","join","className_0","filter","Boolean","value"],"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, UploadFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsID } from 'payload/shared'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { getDisplayedFieldValue } from '../../../utilities/getDisplayedFieldValue.js'\nimport { isValidReactElement } from '../../../utilities/isValidReactElement.js'\nimport { Link } from '../../Link/index.js'\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\n\nexport const DefaultCell: React.FC<DefaultCellComponentProps> = (props) => {\n const {\n cellData,\n className: classNameFromProps,\n collectionSlug,\n field,\n field: { admin },\n link,\n linkURL,\n onClick: onClickFromProps,\n rowData,\n viewType,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const classNameFromConfigContext = admin && 'className' in admin ? admin.className : undefined\n\n const className =\n classNameFromProps ||\n (field.admin && 'className' in field.admin ? field.admin.className : null) ||\n classNameFromConfigContext\n\n const onClick = onClickFromProps\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n prefetch?: false\n type?: 'button'\n } = {\n className,\n }\n\n if (link) {\n wrapElementProps.prefetch = false\n WrapElement = Link\n\n // Use custom linkURL if provided, otherwise use default URL generation\n if (linkURL) {\n wrapElementProps.href = linkURL\n } else {\n wrapElementProps.href = collectionConfig?.slug\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(rowData.id)}`,\n })\n : ''\n }\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: collectionConfig?.slug,\n rowData,\n })\n }\n }\n\n if (fieldIsID(field)) {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell\n cellData={`ID: ${cellData}`}\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n field={{\n ...field,\n type: 'code',\n }}\n nowrap\n rowData={rowData}\n />\n </WrapElement>\n )\n }\n\n const displayedValue = getDisplayedFieldValue(cellData, field, i18n)\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[field.type]\n\n let CellComponent: React.ReactNode = null\n\n // Handle JSX labels before using DefaultCellComponent\n if (isValidReactElement(displayedValue)) {\n CellComponent = displayedValue\n } else if (DefaultCellComponent) {\n CellComponent = <DefaultCellComponent cellData={cellData} rowData={rowData} {...props} />\n } else if (!DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (\n collectionConfig?.upload &&\n fieldAffectsData(field) &&\n field.name === 'filename' &&\n field.type === 'text'\n ) {\n const FileCellComponent = cellComponents.File\n\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n rowData={rowData}\n {...(props as DefaultCellComponentProps<UploadFieldClient>)}\n collectionConfig={collectionConfig}\n field={field}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(displayedValue === '' ||\n typeof displayedValue === 'undefined' ||\n displayedValue === null) &&\n i18n.t('general:noLabel', {\n label: getTranslation(('label' in field ? field.label : null) || 'data', i18n),\n })}\n {typeof displayedValue === 'string' && displayedValue}\n {typeof displayedValue === 'number' && displayedValue}\n {typeof displayedValue === 'object' &&\n displayedValue !== null &&\n JSON.stringify(displayedValue)}\n </WrapElement>\n )\n }\n }\n\n if ((field.type === 'select' || field.type === 'radio') && field.options.length && cellData) {\n const classes = Array.isArray(cellData)\n ? cellData.map((value) => `selected--${value}`).join(' ')\n : `selected--${cellData}`\n\n const className = [wrapElementProps.className, classes].filter(Boolean).join(' ')\n\n return (\n <WrapElement {...wrapElementProps} className={className}>\n {CellComponent}\n </WrapElement>\n )\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,SAAS,QAAQ;AAC5C,OAAOC,KAAA,MAAW,QAAO,CAAC;AAE1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ;AACvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,IAAI,QAAQ;AACrB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,WAAA,GAAmDC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAC9D;IAAAgB,QAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,cAAA;IAAAC,KAAA;IAAAA,KAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,OAAA;IAAAC,OAAA,EAAAC,gBAAA;IAAAC,OAAA;IAAAC;EAAA,IAWIb,KAAA;EANK;IAAAc;EAAA,IAAAP,EAAS;EAQlB;IAAAQ;EAAA,IAAiBvB,cAAA;EAEjB;IAAAwB,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAKI3B,SAAA;EAJM;IAAA4B,MAAA,EAAAC;EAAA,IAAAH,EAEP;EADS;IAAAH,KAAA,EAAAO;EAAA,IAAAD,EAAqB;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,QAAAa,KAAA,IAAAb,CAAA,QAAAoB,UAAA,IAAApB,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAG,kBAAA,IAAAH,CAAA,QAAAI,cAAA,IAAAJ,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAiB,eAAA,IAAAjB,CAAA,QAAAc,IAAA,IAAAd,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAQ,OAAA,IAAAR,CAAA,SAAAU,gBAAA,IAAAV,CAAA,SAAAD,KAAA,IAAAC,CAAA,SAAAW,OAAA,IAAAX,CAAA,SAAAY,QAAA;IA2D7BU,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MAtDJ,MAAAC,gBAAA,GAAyBR,eAAA;QAAAb;MAAA,CAAiC;MAE1D,MAAAsB,0BAAA,GAAmCb,KAAA,IAAS,eAAeA,KAAA,GAAQA,KAAA,CAAAX,SAAA,GAAAyB,SAAkB;MAErF,MAAAzB,SAAA,GACEC,kBAAA,KACCE,KAAA,CAAAQ,KAAA,IAAe,eAAeR,KAAA,CAAAQ,KAAW,GAAGR,KAAA,CAAAQ,KAAA,CAAAX,SAAA,OAA2B,KACxEwB,0BAAA;MAEF,MAAAjB,OAAA,GAAgBC,gBAAA;MAEhB,IAAAkB,WAAA,GAAqD;MAErD,MAAAC,gBAAA;QAAA3B;MAAA;MAQA,IAEIK,IAAA;QACFsB,gBAAA,CAAAC,QAAA;QACAF,WAAA,CAAAA,CAAA,CAAAA,IAAA;QAAA,IAGIpB,OAAA;UACFqB,gBAAA,CAAAE,IAAA,GAAwBvB,OAAA;QAAA;UAExBqB,gBAAA,CAAAE,IAAA,GAAwBN,gBAAA,EAAAO,IAAA,GACpBxC,cAAA;YAAA4B,UAAA;YAAAa,IAAA,EAEQ,gBAAgBR,gBAAA,EAAAO,IAAA,GAAyBpB,QAAA,KAAa,UAAU,WAAW,MAAMsB,kBAAA,CAAmBvB,OAAA,CAAAwB,EAAU;UAAG,CACzH,IACA;QAAA;MAAA;MAAA,IAIJ,OAAO1B,OAAA,KAAY;QACrBmB,WAAA,CAAAA,CAAA,CAAcA,QAAA;QACdC,gBAAA,CAAAO,IAAA,GAAwB;QACxBP,gBAAA,CAAApB,OAAA;UACEA,OAAA;YAAAR,QAAA;YAAAG,cAAA,EAEkBqB,gBAAA,EAAAO,IAAA;YAAArB;UAAA,CAElB;QAAA;MAAA;MAAA,IAIAvB,SAAA,CAAUiB,KAAA;QAEViB,EAAA,GAAAe,IAAA,CAACT,WAAA;UAAA,GAAgBC,gBAAgB;UAAAS,QAAA,EAC/BD,IAAA,CAAAzC,QAAA;YAAAK,QAAA,EACY,OAAOA,QAAA,EAAU;YAAAwB,gBAAA;YAAArB,cAAA;YAAAC,KAAA;cAAA,GAItBA,KAAK;cAAA+B,IAAA,EACF;YAAA;YAAAG,MAAA;YAAA5B;UAAA,C;;;;MAShB,MAAA6B,cAAA,GAAuB/C,sBAAA,CAAuBQ,QAAA,EAAUI,KAAA,EAAOS,IAAA;MAE/D,MAAA2B,oBAAA,GACE,OAAOxC,QAAA,KAAa,eAAAJ,cAAA,CAA8BQ,KAAA,CAAA+B,IAAA,CAAW;MAE/D,IAAAM,aAAA;MAAqC,IAGjChD,mBAAA,CAAoB8C,cAAA;QACtBE,aAAA,CAAAA,CAAA,CAAgBF,cAAA;MAAhB;QAAA,IACSC,oBAAA;UACTC,aAAA,CAAAA,CAAA,CAAgBA,KAACD,oBAAA;YAAAxC,QAAA;YAAAU,OAAA;YAAA,GAA+DZ;UAAK,C;QAArF;UAAA,KACU0C,oBAAA;YAAA,IAGRhB,gBAAA,EAAAkB,MAAA,IACAxD,gBAAA,CAAiBkB,KAAA,KACjBA,KAAA,CAAAuC,IAAA,KAAe,cACfvC,KAAA,CAAA+B,IAAA,KAAe;cAEf,MAAAS,iBAAA,GAAAhD,cAAA,CAAAiD,IAAA;cAEAJ,aAAA,CAAAA,CAAA,CACEA,KAACG,iBAAA;gBAAA5C,QAAA;gBAAAU,OAAA;gBAAA,GAGMZ,KAAK;gBAAA0B,gBAAA;gBAAApB;cAAA,C;YAJd;cAWEiB,EAAA,GAAAyB,KAAA,CAACnB,WAAA;gBAAA,GAAgBC,gBAAgB;gBAAAS,QAAA,GAC7B,CAAAE,cAAA,KAAmB,MACnB,OAAOA,cAAA,KAAmB,eAC1BA,cAAA,SAAsB,KACtB1B,IAAA,CAAAkC,CAAA,CAAO;kBAAAC,KAAA,EACE/D,cAAA,CAAe,CAAC,WAAWmB,KAAA,GAAQA,KAAA,CAAA4C,KAAA,OAAiB,KAAM,QAAQnC,IAAA;gBAAA,CAC3E,GACD,OAAO0B,cAAA,KAAmB,YAAYA,cAAA,EACtC,OAAOA,cAAA,KAAmB,YAAYA,cAAA,EACtC,OAAOA,cAAA,KAAmB,YACzBA,cAAA,SAAmB,IACnBU,IAAA,CAAAC,SAAA,CAAeX,cAAA;cAAA,C;;;;;;UAMrB,CAACnC,KAAA,CAAA+B,IAAA,KAAe,YAAY/B,KAAA,CAAA+B,IAAA,KAAe,OAAM,KAAM/B,KAAA,CAAA+C,OAAA,CAAAC,MAAoB,IAAIpD,QAAA;QACjF,MAAAqD,OAAA,GAAgBC,KAAA,CAAAC,OAAA,CAAcvD,QAAA,IAC1BA,QAAA,CAAAwD,GAAA,CAAAC,KAA4C,EAAAC,IAAA,CAAO,OACnD,aAAa1D,QAAA,EAAU;QAE3B,MAAA2D,WAAA,GAAkB,CAAC/B,gBAAA,CAAA3B,SAAA,EAA4BoD,OAAA,EAAAO,MAAA,CAAAC,OAAgB,EAAAH,IAAA,CAAc;QAG3ErC,EAAA,GAAAe,IAAA,CAACT,WAAA;UAAA,GAAgBC,gBAAgB;UAAA3B,SAAA,EAAaA,WAAA;UAAAoC,QAAA,EAC3CI;QAAA,C;;;MAKArB,EAAA,GAAAgB,IAAA,CAACT,WAAA;QAAA,GAAgBC,gBAAgB;QAAAS,QAAA,EAAGI;MAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;SAApCrB,E;CACT;AA9JgE,SAAAqC,MAAAK,KAAA;EAAA,OAiJhC,aAAaA,KAAA,EAAO;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAA;AAIrD,OAAO,KAAyE,MAAM,OAAO,CAAA;AAW7F,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAgGlF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAAuC,CAAA"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import { appendUploadSelectFields } from 'payload/shared';
|
|
6
|
+
import * as qs from 'qs-esm';
|
|
5
7
|
import React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react';
|
|
6
8
|
import { useDebounce } from '../../../hooks/useDebounce.js';
|
|
7
9
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
@@ -10,7 +12,7 @@ import { useTranslation } from '../../../providers/Translation/index.js';
|
|
|
10
12
|
import { reducer } from './reducer.js';
|
|
11
13
|
const Context = /*#__PURE__*/createContext({});
|
|
12
14
|
export const RelationshipProvider = t0 => {
|
|
13
|
-
const $ = _c(
|
|
15
|
+
const $ = _c(16);
|
|
14
16
|
const {
|
|
15
17
|
children
|
|
16
18
|
} = t0;
|
|
@@ -27,6 +29,7 @@ export const RelationshipProvider = t0 => {
|
|
|
27
29
|
config: t2
|
|
28
30
|
} = useConfig();
|
|
29
31
|
const {
|
|
32
|
+
collections,
|
|
30
33
|
routes: t3,
|
|
31
34
|
serverURL
|
|
32
35
|
} = t2;
|
|
@@ -41,7 +44,7 @@ export const RelationshipProvider = t0 => {
|
|
|
41
44
|
} = useLocale();
|
|
42
45
|
const prevLocale = useRef(locale);
|
|
43
46
|
let t4;
|
|
44
|
-
if ($[1] !== api || $[2] !==
|
|
47
|
+
if ($[1] !== api || $[2] !== collections || $[3] !== debouncedDocuments || $[4] !== i18n || $[5] !== locale || $[6] !== serverURL) {
|
|
45
48
|
t4 = t5 => {
|
|
46
49
|
const reloadAll = t5 === undefined ? false : t5;
|
|
47
50
|
Object.entries(debouncedDocuments).forEach(async t6 => {
|
|
@@ -56,16 +59,28 @@ export const RelationshipProvider = t0 => {
|
|
|
56
59
|
if (idsToLoad.length > 0) {
|
|
57
60
|
const url = `${serverURL}${api}/${slug}`;
|
|
58
61
|
const params = new URLSearchParams();
|
|
62
|
+
const select = {};
|
|
59
63
|
params.append("depth", "0");
|
|
60
64
|
params.append("limit", "250");
|
|
65
|
+
const collection = collections.find(c => c.slug === slug);
|
|
66
|
+
if (collection.admin.enableListViewSelectAPI) {
|
|
67
|
+
const fieldToSelect = collection.admin.useAsTitle ?? "id";
|
|
68
|
+
select[fieldToSelect] = true;
|
|
69
|
+
if (collection.upload) {
|
|
70
|
+
appendUploadSelectFields({
|
|
71
|
+
collectionConfig: collection,
|
|
72
|
+
select
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
61
76
|
if (locale) {
|
|
62
77
|
params.append("locale", locale);
|
|
63
78
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
const idsToString = idsToLoad.map(_temp);
|
|
80
|
+
params.append("where[id][in]", idsToString.join(","));
|
|
81
|
+
const query = `?${params.toString()}&${qs.stringify({
|
|
82
|
+
select
|
|
83
|
+
})}`;
|
|
69
84
|
const result = await fetch(`${url}${query}`, {
|
|
70
85
|
credentials: "include",
|
|
71
86
|
headers: {
|
|
@@ -94,47 +109,48 @@ export const RelationshipProvider = t0 => {
|
|
|
94
109
|
});
|
|
95
110
|
};
|
|
96
111
|
$[1] = api;
|
|
97
|
-
$[2] =
|
|
98
|
-
$[3] =
|
|
99
|
-
$[4] =
|
|
100
|
-
$[5] =
|
|
101
|
-
$[6] =
|
|
112
|
+
$[2] = collections;
|
|
113
|
+
$[3] = debouncedDocuments;
|
|
114
|
+
$[4] = i18n;
|
|
115
|
+
$[5] = locale;
|
|
116
|
+
$[6] = serverURL;
|
|
117
|
+
$[7] = t4;
|
|
102
118
|
} else {
|
|
103
|
-
t4 = $[
|
|
119
|
+
t4 = $[7];
|
|
104
120
|
}
|
|
105
121
|
const loadRelationshipDocs = t4;
|
|
106
122
|
let t5;
|
|
107
123
|
let t6;
|
|
108
|
-
if ($[
|
|
124
|
+
if ($[8] !== loadRelationshipDocs || $[9] !== locale) {
|
|
109
125
|
t5 = () => {
|
|
110
126
|
loadRelationshipDocs(locale && prevLocale.current !== locale);
|
|
111
127
|
prevLocale.current = locale;
|
|
112
128
|
};
|
|
113
129
|
t6 = [locale, loadRelationshipDocs];
|
|
114
|
-
$[
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
130
|
+
$[8] = loadRelationshipDocs;
|
|
131
|
+
$[9] = locale;
|
|
132
|
+
$[10] = t5;
|
|
133
|
+
$[11] = t6;
|
|
118
134
|
} else {
|
|
119
|
-
t5 = $[
|
|
120
|
-
t6 = $[
|
|
135
|
+
t5 = $[10];
|
|
136
|
+
t6 = $[11];
|
|
121
137
|
}
|
|
122
138
|
useEffect(t5, t6);
|
|
123
139
|
let t7;
|
|
124
|
-
if ($[
|
|
140
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
125
141
|
t7 = relationships => {
|
|
126
142
|
dispatchDocuments({
|
|
127
143
|
type: "REQUEST",
|
|
128
144
|
docs: relationships
|
|
129
145
|
});
|
|
130
146
|
};
|
|
131
|
-
$[
|
|
147
|
+
$[12] = t7;
|
|
132
148
|
} else {
|
|
133
|
-
t7 = $[
|
|
149
|
+
t7 = $[12];
|
|
134
150
|
}
|
|
135
151
|
const getRelationships = t7;
|
|
136
152
|
let t8;
|
|
137
|
-
if ($[
|
|
153
|
+
if ($[13] !== children || $[14] !== documents) {
|
|
138
154
|
t8 = _jsx(Context, {
|
|
139
155
|
value: {
|
|
140
156
|
documents,
|
|
@@ -142,11 +158,11 @@ export const RelationshipProvider = t0 => {
|
|
|
142
158
|
},
|
|
143
159
|
children
|
|
144
160
|
});
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
161
|
+
$[13] = children;
|
|
162
|
+
$[14] = documents;
|
|
163
|
+
$[15] = t8;
|
|
148
164
|
} else {
|
|
149
|
-
t8 = $[
|
|
165
|
+
t8 = $[15];
|
|
150
166
|
}
|
|
151
167
|
return t8;
|
|
152
168
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","routes","t3","serverURL","api","i18n","code","locale","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","params","URLSearchParams","append","idsToString","map","_temp","join","query","toString","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { TypeWithID } from 'payload'\n\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = `${serverURL}${api}/${slug}`\n\n const params = new URLSearchParams()\n\n params.append('depth', '0')\n params.append('limit', '250')\n\n if (
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","appendUploadSelectFields","qs","React","createContext","use","useCallback","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","t0","$","children","t1","Symbol","for","documents","dispatchDocuments","debouncedDocuments","config","t2","collections","routes","t3","serverURL","api","i18n","code","locale","prevLocale","t4","t5","reloadAll","undefined","Object","entries","forEach","t6","slug","docs","idsToLoad","t7","id","value","push","length","url","params","URLSearchParams","select","append","collection","find","admin","enableListViewSelectAPI","fieldToSelect","useAsTitle","upload","collectionConfig","idsToString","map","_temp","join","query","toString","stringify","result","fetch","credentials","headers","language","ok","json","type","relationTo","loadRelationshipDocs","current","relationships","getRelationships","t8","_jsx","useListRelationships","id_0","String"],"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { SelectType, TypeWithID } from 'payload'\n\nimport { appendUploadSelectFields } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: false | null | TypeWithID\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ readonly children?: React.ReactNode }> = ({\n children,\n}) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = `${serverURL}${api}/${slug}`\n\n const params = new URLSearchParams()\n const select: SelectType = {}\n\n params.append('depth', '0')\n params.append('limit', '250')\n\n const collection = collections.find((c) => c.slug === slug)\n if (collection.admin.enableListViewSelectAPI) {\n const fieldToSelect = collection.admin.useAsTitle ?? 'id'\n select[fieldToSelect] = true\n\n if (collection.upload) {\n appendUploadSelectFields({ collectionConfig: collection, select })\n }\n }\n\n if (locale) {\n params.append('locale', locale)\n }\n\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n\n const query = `?${params.toString()}&${qs.stringify({ select })}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, serverURL, api, i18n, locale, collections],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context value={{ documents, getRelationships }}>{children}</Context>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,9 +6,11 @@ export type ThumbnailProps = {
|
|
|
6
6
|
collectionSlug?: string;
|
|
7
7
|
doc?: Record<string, unknown>;
|
|
8
8
|
fileSrc?: string;
|
|
9
|
+
height?: number;
|
|
9
10
|
imageCacheTag?: string;
|
|
10
|
-
size?: 'expand' | 'large' | 'medium' | 'small';
|
|
11
|
+
size?: 'expand' | 'large' | 'medium' | 'none' | 'small';
|
|
11
12
|
uploadConfig?: SanitizedCollectionConfig['upload'];
|
|
13
|
+
width?: number;
|
|
12
14
|
};
|
|
13
15
|
export declare const Thumbnail: React.FC<ThumbnailProps>;
|
|
14
16
|
type ThumbnailComponentProps = {
|
|
@@ -17,7 +19,7 @@ type ThumbnailComponentProps = {
|
|
|
17
19
|
readonly filename: string;
|
|
18
20
|
readonly fileSrc: string;
|
|
19
21
|
readonly imageCacheTag?: string;
|
|
20
|
-
readonly size?: 'expand' | 'large' | 'medium' | 'small';
|
|
22
|
+
readonly size?: 'expand' | 'large' | 'medium' | 'none' | 'small';
|
|
21
23
|
};
|
|
22
24
|
export declare function ThumbnailComponent(props: ThumbnailComponentProps): React.JSX.Element;
|
|
23
25
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACvD,YAAY,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiD9C,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;CACjE,CAAA;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBAyChE"}
|
|
@@ -13,8 +13,10 @@ export const Thumbnail = props => {
|
|
|
13
13
|
className: t0,
|
|
14
14
|
doc: t1,
|
|
15
15
|
fileSrc,
|
|
16
|
+
height,
|
|
16
17
|
imageCacheTag,
|
|
17
|
-
size
|
|
18
|
+
size,
|
|
19
|
+
width
|
|
18
20
|
} = props;
|
|
19
21
|
const className = t0 === undefined ? "" : t0;
|
|
20
22
|
const {
|
|
@@ -70,7 +72,9 @@ export const Thumbnail = props => {
|
|
|
70
72
|
height: "100%"
|
|
71
73
|
}), fileExists && _jsx("img", {
|
|
72
74
|
alt: filename,
|
|
73
|
-
|
|
75
|
+
height,
|
|
76
|
+
src,
|
|
77
|
+
width
|
|
74
78
|
}), fileExists === false && _jsx(File, {})]
|
|
75
79
|
});
|
|
76
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","File","ShimmerEffect","Thumbnail","props","$","className","t0","doc","t1","fileSrc","imageCacheTag","size","undefined","filename","fileExists","setFileExists","useState","t2","t3","classNames","join","t4","t5","img","Image","src","onload","onerror","useEffect","queryChar","includes","encodeURIComponent","_jsxs","children","_jsx","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","File","ShimmerEffect","Thumbnail","props","$","className","t0","doc","t1","fileSrc","height","imageCacheTag","size","width","undefined","filename","fileExists","setFileExists","useState","t2","t3","classNames","join","t4","t5","img","Image","src","onload","onerror","useEffect","queryChar","includes","encodeURIComponent","_jsxs","children","_jsx","alt","ThumbnailComponent"],"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n height?: number\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'none' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n width?: number\n}\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const {\n className = '',\n doc: { filename } = {},\n fileSrc,\n height,\n imageCacheTag,\n size,\n width,\n } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n let src: null | string = null\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={filename as string} height={height} src={src} width={width} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n\ntype ThumbnailComponentProps = {\n readonly alt?: string\n readonly className?: string\n readonly filename: string\n readonly fileSrc: string\n readonly imageCacheTag?: string\n readonly size?: 'expand' | 'large' | 'medium' | 'none' | 'small'\n}\nexport function ThumbnailComponent(props: ThumbnailComponentProps) {\n const { alt, className = '', filename, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n let src: string = ''\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={alt || filename} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
@layer payload-default {
|
|
4
4
|
.thumbnail {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
&:not(.thumbnail--size-none) {
|
|
6
|
+
min-height: 100%;
|
|
7
|
+
flex-shrink: 0;
|
|
8
|
+
align-self: stretch;
|
|
9
|
+
overflow: hidden;
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
img,
|
|
12
|
+
svg {
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
object-fit: cover;
|
|
16
|
+
}
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
&--size-expand {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldErrors.js","names":["c","_c","React","groupSimilarErrors","items","result","item","parts","split","inserted","i","length","startsWith","splice","push","createErrorsFromMessage","message","intro","errorsString","errors","map","error","replaceAll","trim","FieldErrorsToast","t0","$","errorMessage","t1","t2","useState","t3","_jsxs","children","Array","isArray","_jsx","_temp","index"],"sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nfunction groupSimilarErrors(items: string[]): string[] {\n const result: string[] = []\n\n for (const item of items) {\n if (item) {\n const parts = item.split(' → ')\n let inserted = false\n\n // Find a place where a similar path exists\n for (let i = 0; i < result.length; i++) {\n if (result[i].startsWith(parts[0])) {\n result.splice(i + 1, 0, item)\n inserted = true\n break\n }\n }\n\n // If no similar path was found, add to the end\n if (!inserted) {\n result.push(item)\n }\n }\n }\n\n return result\n}\n\nfunction createErrorsFromMessage(message: string): {\n errors?: string[]\n message: string\n} {\n const [intro, errorsString] = message.split(':')\n\n if (!errorsString) {\n return {\n message: intro,\n }\n }\n\n const errors = errorsString.split(',').map((error) => error.replaceAll(' > ', ' → ').trim())\n\n if (errors.length === 1) {\n return {\n errors,\n message: `${intro}
|
|
1
|
+
{"version":3,"file":"fieldErrors.js","names":["c","_c","React","groupSimilarErrors","items","result","item","parts","split","inserted","i","length","startsWith","splice","push","createErrorsFromMessage","message","intro","errorsString","errors","map","error","replaceAll","trim","FieldErrorsToast","t0","$","errorMessage","t1","t2","useState","t3","_jsxs","children","Array","isArray","_jsx","_temp","index"],"sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nfunction groupSimilarErrors(items: string[]): string[] {\n const result: string[] = []\n\n for (const item of items) {\n if (item) {\n const parts = item.split(' → ')\n let inserted = false\n\n // Find a place where a similar path exists\n for (let i = 0; i < result.length; i++) {\n if (result[i].startsWith(parts[0])) {\n result.splice(i + 1, 0, item)\n inserted = true\n break\n }\n }\n\n // If no similar path was found, add to the end\n if (!inserted) {\n result.push(item)\n }\n }\n }\n\n return result\n}\n\nfunction createErrorsFromMessage(message: string): {\n errors?: string[]\n message: string\n} {\n const [intro, errorsString] = message.split(':')\n\n if (!errorsString) {\n return {\n message: intro,\n }\n }\n\n const errors = errorsString.split(',').map((error) => error.replaceAll(' > ', ' → ').trim())\n\n if (errors.length === 1) {\n return {\n errors,\n message: `${intro}: `,\n }\n }\n\n return {\n errors: groupSimilarErrors(errors),\n message: `${intro} (${errors.length}):`,\n }\n}\n\nexport function FieldErrorsToast({ errorMessage }) {\n const [{ errors, message }] = React.useState(() => createErrorsFromMessage(errorMessage))\n\n return (\n <div>\n {message}\n {Array.isArray(errors) && errors.length > 0 ? (\n errors.length === 1 ? (\n <span data-testid=\"field-error\">{errors[0]}</span>\n ) : (\n <ul data-testid=\"field-errors\">\n {errors.map((error, index) => {\n return <li key={index}>{error}</li>\n })}\n </ul>\n )\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,mBAAmBC,KAAe;EACzC,MAAMC,MAAA,GAAmB,EAAE;EAE3B,KAAK,MAAMC,IAAA,IAAQF,KAAA,EAAO;IACxB,IAAIE,IAAA,EAAM;MACR,MAAMC,KAAA,GAAQD,IAAA,CAAKE,KAAK,CAAC;MACzB,IAAIC,QAAA,GAAW;MAEf;MACA,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIL,MAAA,CAAOM,MAAM,EAAED,CAAA,IAAK;QACtC,IAAIL,MAAM,CAACK,CAAA,CAAE,CAACE,UAAU,CAACL,KAAK,CAAC,EAAE,GAAG;UAClCF,MAAA,CAAOQ,MAAM,CAACH,CAAA,GAAI,GAAG,GAAGJ,IAAA;UACxBG,QAAA,GAAW;UACX;QACF;MACF;MAEA;MACA,IAAI,CAACA,QAAA,EAAU;QACbJ,MAAA,CAAOS,IAAI,CAACR,IAAA;MACd;IACF;EACF;EAEA,OAAOD,MAAA;AACT;AAEA,SAASU,wBAAwBC,OAAe;EAI9C,MAAM,CAACC,KAAA,EAAOC,YAAA,CAAa,GAAGF,OAAA,CAAQR,KAAK,CAAC;EAE5C,IAAI,CAACU,YAAA,EAAc;IACjB,OAAO;MACLF,OAAA,EAASC;IACX;EACF;EAEA,MAAME,MAAA,GAASD,YAAA,CAAaV,KAAK,CAAC,KAAKY,GAAG,CAAEC,KAAA,IAAUA,KAAA,CAAMC,UAAU,CAAC,OAAO,OAAOC,IAAI;EAEzF,IAAIJ,MAAA,CAAOR,MAAM,KAAK,GAAG;IACvB,OAAO;MACLQ,MAAA;MACAH,OAAA,EAAS,GAAGC,KAAA;IACd;EACF;EAEA,OAAO;IACLE,MAAA,EAAQhB,kBAAA,CAAmBgB,MAAA;IAC3BH,OAAA,EAAS,GAAGC,KAAA,KAAUE,MAAA,CAAOR,MAAM;EACrC;AACF;AAEA,OAAO,SAAAa,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAzB,EAAA;EAA0B;IAAA0B;EAAA,IAAAF,EAAgB;EAAA,IAAAG,EAAA;EAAA,IAAAF,CAAA,QAAAC,YAAA;IACFC,EAAA,GAAAA,CAAA,KAAMb,uBAAA,CAAwBY,YAAA;IAAAD,CAAA,MAAAC,YAAA;IAAAD,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAA3E,OAAAG,EAAA,IAA8B3B,KAAA,CAAA4B,QAAA,CAAeF,EAA8B;EAApE;IAAAT,MAAA;IAAAH;EAAA,IAAAa,EAAmB;EAAA,IAAAE,EAAA;EAAA,IAAAL,CAAA,QAAAP,MAAA,IAAAO,CAAA,QAAAV,OAAA;IAGxBe,EAAA,GAAAC,KAAA,CAAC;MAAAC,QAAA,GACEjB,OAAA,EACAkB,KAAA,CAAAC,OAAA,CAAchB,MAAA,KAAWA,MAAA,CAAAR,MAAA,IAAgB,GACxCQ,MAAA,CAAAR,MAAA,MAAkB,GAChByB,IAAA,CAAC;QAAA,eAAiB;QAAAH,QAAA,EAAed,MAAM;MAAA,C,IAEvCiB,IAAA,CAAC;QAAA,eAAe;QAAAH,QAAA,EACbd,MAAA,CAAAC,GAAA,CAAAiB,KAED;MAAA,C,QAGF;IAAA,C;;;;;;;SAZNN,E;;AAJG,SAAAM,MAAAhB,KAAA,EAAAiB,KAAA;EAAA,OAYcF,IAAA,CAAC;IAAAH,QAAA,EAAgBZ;EAAA,GAARiB,KAAA;AAAA","ignoreList":[]}
|