@payloadcms/ui 3.0.0-canary.93a7bbd → 3.0.0-canary.95569e4
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/Autosave/index.js +2 -2
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Dropzone/index.d.ts +5 -4
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +4 -2
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/Hamburger/index.d.ts +2 -2
- package/dist/elements/Hamburger/index.d.ts.map +1 -1
- package/dist/elements/Hamburger/index.js +2 -1
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.scss +3 -2
- package/dist/elements/ListControls/index.d.ts +7 -7
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts +3 -0
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +16 -7
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.scss +1 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +1 -1
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/Upload/index.d.ts +9 -9
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +9 -10
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UPOVAXRP.js → CodeEditor-MODTAQNB.js} +1 -1
- package/dist/exports/client/{CodeEditor-UPOVAXRP.js.map → CodeEditor-MODTAQNB.js.map} +1 -1
- package/dist/exports/client/{DatePicker-BEV27TZK.js → DatePicker-QKRYICNS.js} +2 -2
- package/dist/exports/client/chunk-HR5HEGNB.js +30 -0
- package/dist/exports/client/{chunk-B4RA26U5.js.map → chunk-HR5HEGNB.js.map} +4 -4
- package/dist/exports/client/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +7 -7
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +0 -1
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/index.js +1 -1
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +1 -1
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Code/index.js +1 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +1 -1
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +1 -1
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Group/index.js +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +1 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +3 -1
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.js +1 -1
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/Relationship/index.js +1 -1
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +1 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.js +1 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.js +1 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/index.js +1 -1
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +2 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/graphics/Account/index.js +3 -3
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +1 -1
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +3 -3
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +1 -1
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
- package/dist/providers/Config/RenderComponent.js +3 -0
- package/dist/providers/Config/RenderComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +2 -2
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.js +3 -2
- package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +7 -2
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/globals.js +1 -1
- package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
- package/dist/providers/Root/index.d.ts +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +2 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/scss/toasts.scss +15 -14
- package/dist/styles.css +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/package.json +5 -5
- package/dist/exports/client/chunk-B4RA26U5.js +0 -30
- /package/dist/exports/client/{DatePicker-BEV27TZK.js.map → DatePicker-QKRYICNS.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAG5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAO5C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAG5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAO5C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CA2D1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"sourcesContent":["'use client'\nimport type { SingleValueProps } from 'react-select'\n\nimport React, { Fragment, useEffect, useState } from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../../types.js'\n\nimport { useDocumentDrawer } from '../../../../elements/DocumentDrawer/index.js'\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<SingleValueProps<Option>> = (props) => {\n const {\n children,\n data: { label, relationTo, value },\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { onSave, setDrawerIsOpen } = {} } = {},\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?.permission)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen }] = useDocumentDrawer({\n id: value.toString(),\n collectionSlug: relationTo,\n })\n\n useEffect(() => {\n if (typeof setDrawerIsOpen === 'function') {\n setDrawerIsOpen(isDrawerOpen)\n }\n }, [isDrawerOpen, setDrawerIsOpen])\n\n return (\n <React.Fragment>\n
|
|
1
|
+
{"version":3,"sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"sourcesContent":["'use client'\nimport type { SingleValueProps } from 'react-select'\n\nimport React, { Fragment, useEffect, useState } from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../../types.js'\n\nimport { useDocumentDrawer } from '../../../../elements/DocumentDrawer/index.js'\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<SingleValueProps<Option>> = (props) => {\n const {\n children,\n data: { label, relationTo, value },\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n selectProps: { customProps: { onSave, setDrawerIsOpen } = {} } = {},\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?.permission)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen }] = useDocumentDrawer({\n id: value.toString(),\n collectionSlug: relationTo,\n })\n\n useEffect(() => {\n if (typeof setDrawerIsOpen === 'function') {\n setDrawerIsOpen(isDrawerOpen)\n }\n }, [isDrawerOpen, setDrawerIsOpen])\n\n return (\n <React.Fragment>\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 && (\n <Fragment>\n <DocumentDrawerToggler\n aria-label={t('general:editLabel', { label })}\n className={`${baseClass}__drawer-toggler`}\n onClick={() => setShowTooltip(false)}\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 >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:edit')}\n </Tooltip>\n <EditIcon />\n </DocumentDrawerToggler>\n </Fragment>\n )}\n </div>\n </div>\n {relationTo && hasReadPermission && <DocumentDrawer onSave={onSave} />}\n </SelectComponents.SingleValue>\n </React.Fragment>\n )\n}\n"],"names":["React","Fragment","useEffect","useState","components","SelectComponents","useDocumentDrawer","Tooltip","EditIcon","useAuth","useTranslation","baseClass","SingleValue","props","children","data","label","relationTo","value","selectProps","customProps","onSave","setDrawerIsOpen","showTooltip","setShowTooltip","t","permissions","hasReadPermission","Boolean","collections","read","permission","DocumentDrawer","DocumentDrawerToggler","isDrawerOpen","id","toString","collectionSlug","className","div","aria-label","onClick","onKeyDown","e","key","stopPropagation","onMouseDown","onMouseEnter","onMouseLeave","onTouchEnd","show"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAC5D,SAASC,cAAcC,gBAAgB,QAAQ,eAAc;AAI7D,SAASC,iBAAiB,QAAQ,+CAA8C;AAChF,SAASC,OAAO,QAAQ,wCAAuC;AAC/D,SAASC,QAAQ,QAAQ,kCAAiC;AAC1D,SAASC,OAAO,QAAQ,sCAAqC;AAC7D,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAkD,CAACC;IAC9D,MAAM,EACJC,QAAQ,EACRC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE,EAClC,8FAA8F;IAC9FC,aAAa,EAAEC,aAAa,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EACpE,GAAGT;IAEJ,MAAM,CAACU,aAAaC,eAAe,GAAGrB,SAAS;IAC/C,MAAM,EAAEsB,CAAC,EAAE,GAAGf;IACd,MAAM,EAAEgB,WAAW,EAAE,GAAGjB;IACxB,MAAMkB,oBAAoBC,QAAQF,aAAaG,aAAa,CAACZ,WAAW,EAAEa,MAAMC;IAEhF,MAAM,CAACC,gBAAgBC,uBAAuB,EAAEC,YAAY,EAAE,CAAC,GAAG5B,kBAAkB;QAClF6B,IAAIjB,MAAMkB,QAAQ;QAClBC,gBAAgBpB;IAClB;IAEAf,UAAU;QACR,IAAI,OAAOoB,oBAAoB,YAAY;YACzCA,gBAAgBY;QAClB;IACF,GAAG;QAACA;QAAcZ;KAAgB;IAElC,qBACE,KAACtB,MAAMC,QAAQ;kBACb,cAAA,MAACI,iBAAiBO,WAAW;YAAE,GAAGC,KAAK;YAAEyB,WAAW3B;;8BAClD,KAAC4B;oBAAID,WAAW,CAAC,EAAE3B,UAAU,OAAO,CAAC;8BACnC,cAAA,MAAC4B;wBAAID,WAAW,CAAC,EAAE3B,UAAU,YAAY,CAAC;;0CACxC,KAAC4B;gCAAID,WAAW,CAAC,EAAE3B,UAAU,MAAM,CAAC;0CAAGG;;4BACtCG,cAAcU,mCACb,KAAC1B;0CACC,cAAA,MAACgC;oCACCO,cAAYf,EAAE,qBAAqB;wCAAET;oCAAM;oCAC3CsB,WAAW,CAAC,EAAE3B,UAAU,gBAAgB,CAAC;oCACzC8B,SAAS,IAAMjB,eAAe;oCAC9BkB,WAAW,CAACC;wCACV,IAAIA,EAAEC,GAAG,KAAK,SAAS;4CACrBD,EAAEE,eAAe;wCACnB;oCACF;oCACAC,aAAa,CAACH,IAAMA,EAAEE,eAAe;oCACrCE,cAAc,IAAMvB,eAAe;oCACnCwB,cAAc,IAAMxB,eAAe;oCACnCyB,YAAY,CAACN,IAAMA,EAAEE,eAAe;;sDAEpC,KAACtC;4CAAQ+B,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;4CAAEuC,MAAM3B;sDAChDE,EAAE;;sDAEL,KAACjB;;;;;;;gBAMVS,cAAcU,mCAAqB,KAACK;oBAAeX,QAAQA;;;;;AAIpE,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Row/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Row/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AA+B9B,eAAO,MAAM,QAAQ,yBAAmC,CAAA"}
|
package/dist/fields/Row/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import { RowProvider, useRow } from './provider.js';
|
|
|
10
10
|
export { RowProvider, useRow };
|
|
11
11
|
const baseClass = 'row';
|
|
12
12
|
const RowFieldComponent = (props)=>{
|
|
13
|
-
const { field: { admin: { className }, fields }, forceRender = false } = props;
|
|
13
|
+
const { field: { admin: { className } = {}, fields }, forceRender = false } = props;
|
|
14
14
|
const { indexPath, path, readOnly, schemaPath, siblingPermissions } = useFieldProps();
|
|
15
15
|
return /*#__PURE__*/ _jsx(RowProvider, {
|
|
16
16
|
children: /*#__PURE__*/ _jsx("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Row/index.tsx"],"sourcesContent":["'use client'\nimport type { RowFieldProps } from 'payload'\n\nimport React from 'react'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { RowProvider, useRow } from './provider.js'\n\nexport { RowProvider, useRow }\n\nconst baseClass = 'row'\n\nconst RowFieldComponent: React.FC<RowFieldProps> = (props) => {\n const {\n field: {
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Row/index.tsx"],"sourcesContent":["'use client'\nimport type { RowFieldProps } from 'payload'\n\nimport React from 'react'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { RowProvider, useRow } from './provider.js'\n\nexport { RowProvider, useRow }\n\nconst baseClass = 'row'\n\nconst RowFieldComponent: React.FC<RowFieldProps> = (props) => {\n const {\n field: { admin: { className } = {}, fields },\n forceRender = false,\n } = props\n\n const { indexPath, path, readOnly, schemaPath, siblingPermissions } = useFieldProps()\n\n return (\n <RowProvider>\n <div className={[fieldBaseClass, baseClass, className].filter(Boolean).join(' ')}>\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n forceRender={forceRender}\n indexPath={indexPath}\n margins={false}\n path={path}\n permissions={siblingPermissions}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n </div>\n </RowProvider>\n )\n}\n\nexport const RowField = withCondition(RowFieldComponent)\n"],"names":["React","useFieldProps","RenderFields","withCondition","fieldBaseClass","RowProvider","useRow","baseClass","RowFieldComponent","props","field","admin","className","fields","forceRender","indexPath","path","readOnly","schemaPath","siblingPermissions","div","filter","Boolean","join","margins","permissions","RowField"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AACrB,SAASC,WAAW,EAAEC,MAAM,QAAQ,gBAAe;AAEnD,SAASD,WAAW,EAAEC,MAAM,GAAE;AAE9B,MAAMC,YAAY;AAElB,MAAMC,oBAA6C,CAACC;IAClD,MAAM,EACJC,OAAO,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAE,EAC5CC,cAAc,KAAK,EACpB,GAAGL;IAEJ,MAAM,EAAEM,SAAS,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,kBAAkB,EAAE,GAAGlB;IAEtE,qBACE,KAACI;kBACC,cAAA,KAACe;YAAIR,WAAW;gBAACR;gBAAgBG;gBAAWK;aAAU,CAACS,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1E,cAAA,KAACrB;gBACCU,WAAW,CAAC,EAAEL,UAAU,QAAQ,CAAC;gBACjCM,QAAQA;gBACRC,aAAaA;gBACbC,WAAWA;gBACXS,SAAS;gBACTR,MAAMA;gBACNS,aAAaN;gBACbF,UAAUA;gBACVC,YAAYA;;;;AAKtB;AAEA,OAAO,MAAMQ,WAAWvB,cAAcK,mBAAkB"}
|
|
@@ -18,7 +18,7 @@ import { TabsProvider } from './provider.js';
|
|
|
18
18
|
const baseClass = 'tabs-field';
|
|
19
19
|
export { TabsProvider };
|
|
20
20
|
const TabsFieldComponent = (props)=>{
|
|
21
|
-
const { field, field: { _path: pathFromProps, admin: { className, readOnly: readOnlyFromAdmin }, tabs = [] }, forceRender = false, readOnly: readOnlyFromTopLevelProps } = props;
|
|
21
|
+
const { field, field: { _path: pathFromProps, admin: { className, readOnly: readOnlyFromAdmin } = {}, tabs = [] }, forceRender = false, readOnly: readOnlyFromTopLevelProps } = props;
|
|
22
22
|
const { indexPath, path: pathFromContext, readOnly: readOnlyFromContext, schemaPath, siblingPermissions } = useFieldProps();
|
|
23
23
|
const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin;
|
|
24
24
|
const readOnly = readOnlyFromProps || readOnlyFromContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences, TabsFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { tabHasName, toKebabCase } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { TabComponent } from './Tab/index.js'\nimport './index.scss'\nimport { TabsProvider } from './provider.js'\n\nconst baseClass = 'tabs-field'\n\nexport { TabsProvider }\n\nconst TabsFieldComponent: React.FC<TabsFieldProps> = (props) => {\n const {\n field,\n field: {\n _path: pathFromProps,\n admin: { className, readOnly: readOnlyFromAdmin },\n tabs = [],\n },\n forceRender = false,\n readOnly: readOnlyFromTopLevelProps,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const readOnly = readOnlyFromProps || readOnlyFromContext\n const path = pathFromContext ?? pathFromProps\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0)\n const tabsPrefKey = `tabs-${indexPath}`\n\n useEffect(() => {\n if (preferencesKey) {\n const getInitialPref = async () => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n const initialIndex = path\n ? existingPreferences?.fields?.[path]?.tabIndex\n : existingPreferences?.fields?.[tabsPrefKey]?.tabIndex\n setActiveTabIndex(initialIndex || 0)\n }\n void getInitialPref()\n }\n }, [path, getPreference, preferencesKey, tabsPrefKey])\n\n const handleTabChange = useCallback(\n async (incomingTabIndex: number): Promise<void> => {\n setActiveTabIndex(incomingTabIndex)\n\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n tabIndex: incomingTabIndex,\n },\n },\n }\n : {\n fields: {\n ...existingPreferences?.fields,\n [tabsPrefKey]: {\n ...existingPreferences?.fields?.[tabsPrefKey],\n tabIndex: incomingTabIndex,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, getPreference, setPreference, path, tabsPrefKey],\n )\n\n const activeTabConfig = tabs[activeTabIndex]\n\n function generateTabPath() {\n let tabPath = path\n if (path && tabHasName(activeTabConfig) && activeTabConfig.name) {\n tabPath = `${path}.${activeTabConfig.name}`\n } else if (!path && tabHasName(activeTabConfig) && activeTabConfig.name) {\n tabPath = activeTabConfig.name\n }\n\n return tabPath\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n className,\n baseClass,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TabsProvider>\n <div className={`${baseClass}__tabs-wrap`}>\n <div className={`${baseClass}__tabs`}>\n {tabs.map((tab, tabIndex) => {\n return (\n <TabComponent\n isActive={activeTabIndex === tabIndex}\n key={tabIndex}\n parentPath={path}\n setIsActive={() => {\n void handleTabChange(tabIndex)\n }}\n tab={tab}\n />\n )\n })}\n </div>\n </div>\n <div className={`${baseClass}__content-wrap`}>\n {activeTabConfig && (\n <div\n className={[\n `${baseClass}__tab`,\n activeTabConfig.label &&\n `${baseClass}__tabConfigLabel-${toKebabCase(\n getTranslation(activeTabConfig.label, i18n),\n )}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <FieldDescription Description={field?.admin?.components?.Description} />\n <RenderFields\n fields={activeTabConfig.fields}\n forceRender={forceRender}\n key={\n activeTabConfig.label\n ? getTranslation(activeTabConfig.label, i18n)\n : activeTabConfig['name']\n }\n margins=\"small\"\n path={generateTabPath()}\n permissions={\n 'name' in activeTabConfig && siblingPermissions?.[activeTabConfig.name]?.fields\n ? siblingPermissions[activeTabConfig.name]?.fields\n : siblingPermissions\n }\n readOnly={readOnly}\n schemaPath={`${schemaPath ? `${schemaPath}` : ''}${tabHasName(activeTabConfig) && activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`}\n />\n </div>\n )}\n </div>\n </TabsProvider>\n </div>\n )\n}\n\nexport const TabsField = withCondition(TabsFieldComponent)\n"],"names":["getTranslation","tabHasName","toKebabCase","React","useCallback","useEffect","useState","useCollapsible","useFieldProps","RenderFields","withCondition","useDocumentInfo","usePreferences","useTranslation","FieldDescription","fieldBaseClass","TabComponent","TabsProvider","baseClass","TabsFieldComponent","props","field","_path","pathFromProps","admin","className","readOnly","readOnlyFromAdmin","tabs","forceRender","readOnlyFromTopLevelProps","indexPath","path","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","readOnlyFromProps","getPreference","setPreference","preferencesKey","i18n","isWithinCollapsible","activeTabIndex","setActiveTabIndex","tabsPrefKey","getInitialPref","existingPreferences","initialIndex","fields","tabIndex","handleTabChange","incomingTabIndex","activeTabConfig","generateTabPath","tabPath","name","div","filter","Boolean","join","map","tab","isActive","parentPath","setIsActive","label","Description","components","margins","permissions","TabsField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences, TabsFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { tabHasName, toKebabCase } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { TabComponent } from './Tab/index.js'\nimport './index.scss'\nimport { TabsProvider } from './provider.js'\n\nconst baseClass = 'tabs-field'\n\nexport { TabsProvider }\n\nconst TabsFieldComponent: React.FC<TabsFieldProps> = (props) => {\n const {\n field,\n field: {\n _path: pathFromProps,\n admin: { className, readOnly: readOnlyFromAdmin } = {},\n tabs = [],\n },\n forceRender = false,\n readOnly: readOnlyFromTopLevelProps,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const readOnly = readOnlyFromProps || readOnlyFromContext\n const path = pathFromContext ?? pathFromProps\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0)\n const tabsPrefKey = `tabs-${indexPath}`\n\n useEffect(() => {\n if (preferencesKey) {\n const getInitialPref = async () => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n const initialIndex = path\n ? existingPreferences?.fields?.[path]?.tabIndex\n : existingPreferences?.fields?.[tabsPrefKey]?.tabIndex\n setActiveTabIndex(initialIndex || 0)\n }\n void getInitialPref()\n }\n }, [path, getPreference, preferencesKey, tabsPrefKey])\n\n const handleTabChange = useCallback(\n async (incomingTabIndex: number): Promise<void> => {\n setActiveTabIndex(incomingTabIndex)\n\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n tabIndex: incomingTabIndex,\n },\n },\n }\n : {\n fields: {\n ...existingPreferences?.fields,\n [tabsPrefKey]: {\n ...existingPreferences?.fields?.[tabsPrefKey],\n tabIndex: incomingTabIndex,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, getPreference, setPreference, path, tabsPrefKey],\n )\n\n const activeTabConfig = tabs[activeTabIndex]\n\n function generateTabPath() {\n let tabPath = path\n if (path && tabHasName(activeTabConfig) && activeTabConfig.name) {\n tabPath = `${path}.${activeTabConfig.name}`\n } else if (!path && tabHasName(activeTabConfig) && activeTabConfig.name) {\n tabPath = activeTabConfig.name\n }\n\n return tabPath\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n className,\n baseClass,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TabsProvider>\n <div className={`${baseClass}__tabs-wrap`}>\n <div className={`${baseClass}__tabs`}>\n {tabs.map((tab, tabIndex) => {\n return (\n <TabComponent\n isActive={activeTabIndex === tabIndex}\n key={tabIndex}\n parentPath={path}\n setIsActive={() => {\n void handleTabChange(tabIndex)\n }}\n tab={tab}\n />\n )\n })}\n </div>\n </div>\n <div className={`${baseClass}__content-wrap`}>\n {activeTabConfig && (\n <div\n className={[\n `${baseClass}__tab`,\n activeTabConfig.label &&\n `${baseClass}__tabConfigLabel-${toKebabCase(\n getTranslation(activeTabConfig.label, i18n),\n )}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <FieldDescription Description={field?.admin?.components?.Description} />\n <RenderFields\n fields={activeTabConfig.fields}\n forceRender={forceRender}\n key={\n activeTabConfig.label\n ? getTranslation(activeTabConfig.label, i18n)\n : activeTabConfig['name']\n }\n margins=\"small\"\n path={generateTabPath()}\n permissions={\n 'name' in activeTabConfig && siblingPermissions?.[activeTabConfig.name]?.fields\n ? siblingPermissions[activeTabConfig.name]?.fields\n : siblingPermissions\n }\n readOnly={readOnly}\n schemaPath={`${schemaPath ? `${schemaPath}` : ''}${tabHasName(activeTabConfig) && activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`}\n />\n </div>\n )}\n </div>\n </TabsProvider>\n </div>\n )\n}\n\nexport const TabsField = withCondition(TabsFieldComponent)\n"],"names":["getTranslation","tabHasName","toKebabCase","React","useCallback","useEffect","useState","useCollapsible","useFieldProps","RenderFields","withCondition","useDocumentInfo","usePreferences","useTranslation","FieldDescription","fieldBaseClass","TabComponent","TabsProvider","baseClass","TabsFieldComponent","props","field","_path","pathFromProps","admin","className","readOnly","readOnlyFromAdmin","tabs","forceRender","readOnlyFromTopLevelProps","indexPath","path","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","readOnlyFromProps","getPreference","setPreference","preferencesKey","i18n","isWithinCollapsible","activeTabIndex","setActiveTabIndex","tabsPrefKey","getInitialPref","existingPreferences","initialIndex","fields","tabIndex","handleTabChange","incomingTabIndex","activeTabConfig","generateTabPath","tabPath","name","div","filter","Boolean","join","map","tab","isActive","parentPath","setIsActive","label","Description","components","margins","permissions","TabsField"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { TextInput } from './Input.js';
|
|
|
11
11
|
import './index.scss';
|
|
12
12
|
export { TextInput };
|
|
13
13
|
const TextFieldComponent = (props)=>{
|
|
14
|
-
const { field, field: { name, _path: pathFromProps, admin: { className, description, placeholder, readOnly: readOnlyFromAdmin, rtl, style, width }, hasMany, label, localized, maxLength, maxRows, minLength, minRows, required }, inputRef, readOnly: readOnlyFromTopLevelProps, validate } = props;
|
|
14
|
+
const { field, field: { name, _path: pathFromProps, admin: { className, description, placeholder, readOnly: readOnlyFromAdmin, rtl, style, width } = {}, hasMany, label, localized, maxLength, maxRows, minLength, minRows, required }, inputRef, readOnly: readOnlyFromTopLevelProps, validate } = props;
|
|
15
15
|
const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin;
|
|
16
16
|
const locale = useLocale();
|
|
17
17
|
const { config: { localization: localizationConfig } } = useConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldProps } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextInput, TextInputProps }\n\nconst TextFieldComponent: React.FC<TextFieldProps> = (props) => {\n const {\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rtl,\n style,\n width,\n },\n hasMany,\n label,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n required,\n },\n inputRef,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const locale = useLocale()\n\n const {\n config: { localization: localizationConfig },\n } = useConfig()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!disabled) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n Description={field?.admin?.components?.Description}\n Error={field?.admin?.components?.Error}\n Label={field?.admin?.components?.Label}\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n description={description}\n hasMany={hasMany}\n inputRef={inputRef}\n label={label}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const TextField = withCondition(TextFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","useFieldProps","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextFieldComponent","props","field","name","_path","pathFromProps","admin","className","description","placeholder","readOnly","readOnlyFromAdmin","rtl","style","width","hasMany","label","localized","maxLength","maxRows","minLength","minRows","required","inputRef","readOnlyFromTopLevelProps","validate","readOnlyFromProps","locale","config","localization","localizationConfig","memoizedValidate","value","options","path","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","toString","Description","components","Error","Label","afterInput","beforeInput","onChange","e","target","TextField"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAK/D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,SAAS,QAAQ,aAAY;AACtC,OAAO,eAAc;AAErB,SAASA,SAAS,GAAkB;AAEpC,MAAMC,qBAA+C,CAACC;IACpD,MAAM,EACJC,KAAK,EACLA,OAAO,EACLC,IAAI,EACJC,OAAOC,aAAa,EACpBC,OAAO,EACLC,SAAS,EACTC,WAAW,EACXC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,GAAG,EACHC,KAAK,EACLC,KAAK,EACN,
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldProps } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextInput, TextInputProps }\n\nconst TextFieldComponent: React.FC<TextFieldProps> = (props) => {\n const {\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rtl,\n style,\n width,\n } = {},\n hasMany,\n label,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n required,\n },\n inputRef,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const locale = useLocale()\n\n const {\n config: { localization: localizationConfig },\n } = useConfig()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!disabled) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n Description={field?.admin?.components?.Description}\n Error={field?.admin?.components?.Error}\n Label={field?.admin?.components?.Label}\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n description={description}\n hasMany={hasMany}\n inputRef={inputRef}\n label={label}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const TextField = withCondition(TextFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","useFieldProps","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextFieldComponent","props","field","name","_path","pathFromProps","admin","className","description","placeholder","readOnly","readOnlyFromAdmin","rtl","style","width","hasMany","label","localized","maxLength","maxRows","minLength","minRows","required","inputRef","readOnlyFromTopLevelProps","validate","readOnlyFromProps","locale","config","localization","localizationConfig","memoizedValidate","value","options","path","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","toString","Description","components","Error","Label","afterInput","beforeInput","onChange","e","target","TextField"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { TextareaInput } from './Input.js';
|
|
|
12
12
|
import './index.scss';
|
|
13
13
|
export { TextareaInput };
|
|
14
14
|
const TextareaFieldComponent = (props)=>{
|
|
15
|
-
const { field, field: { name, _path: pathFromProps, admin: { className, description, placeholder, readOnly: readOnlyFromAdmin, rows, rtl, style, width }, label, localized, maxLength, minLength, required }, locale, readOnly: readOnlyFromTopLevelProps, validate } = props;
|
|
15
|
+
const { field, field: { name, _path: pathFromProps, admin: { className, description, placeholder, readOnly: readOnlyFromAdmin, rows, rtl, style, width } = {}, label, localized, maxLength, minLength, required }, locale, readOnly: readOnlyFromTopLevelProps, validate } = props;
|
|
16
16
|
const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin;
|
|
17
17
|
const { i18n } = useTranslation();
|
|
18
18
|
const { config: { localization } } = useConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { TextareaFieldProps, TextareaFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextareaInput } from './Input.js'\nimport './index.scss'\n\nexport { TextAreaInputProps, TextareaInput }\n\nconst TextareaFieldComponent: React.FC<TextareaFieldProps> = (props) => {\n const {\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rows,\n rtl,\n style,\n width,\n },\n label,\n localized,\n maxLength,\n minLength,\n required,\n },\n locale,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { i18n } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: TextareaFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <TextareaInput\n Description={field?.admin?.components?.Description}\n Error={field?.admin?.components?.Error}\n Label={field?.admin?.components?.Label}\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n description={description}\n label={label}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const TextareaField = withCondition(TextareaFieldComponent)\n"],"names":["getTranslation","React","useCallback","useFieldProps","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaFieldComponent","props","field","name","_path","pathFromProps","admin","className","description","placeholder","readOnly","readOnlyFromAdmin","rows","rtl","style","width","label","localized","maxLength","minLength","required","locale","readOnlyFromTopLevelProps","validate","readOnlyFromProps","i18n","config","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","undefined","memoizedValidate","value","options","path","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","Description","components","Error","Label","afterInput","beforeInput","onChange","e","target","TextareaField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,aAAa,QAAQ,aAAY;AAC1C,OAAO,eAAc;AAErB,SAA6BA,aAAa,GAAE;AAE5C,MAAMC,yBAAuD,CAACC;IAC5D,MAAM,EACJC,KAAK,EACLA,OAAO,EACLC,IAAI,EACJC,OAAOC,aAAa,EACpBC,OAAO,EACLC,SAAS,EACTC,WAAW,EACXC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,KAAK,EACN,
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { TextareaFieldProps, TextareaFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextareaInput } from './Input.js'\nimport './index.scss'\n\nexport { TextAreaInputProps, TextareaInput }\n\nconst TextareaFieldComponent: React.FC<TextareaFieldProps> = (props) => {\n const {\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rows,\n rtl,\n style,\n width,\n } = {},\n label,\n localized,\n maxLength,\n minLength,\n required,\n },\n locale,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { i18n } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: TextareaFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <TextareaInput\n Description={field?.admin?.components?.Description}\n Error={field?.admin?.components?.Error}\n Label={field?.admin?.components?.Label}\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n description={description}\n label={label}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const TextareaField = withCondition(TextareaFieldComponent)\n"],"names":["getTranslation","React","useCallback","useFieldProps","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaFieldComponent","props","field","name","_path","pathFromProps","admin","className","description","placeholder","readOnly","readOnlyFromAdmin","rows","rtl","style","width","label","localized","maxLength","minLength","required","locale","readOnlyFromTopLevelProps","validate","readOnlyFromProps","i18n","config","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","undefined","memoizedValidate","value","options","path","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","Description","components","Error","Label","afterInput","beforeInput","onChange","e","target","TextareaField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,aAAa,QAAQ,aAAY;AAC1C,OAAO,eAAc;AAErB,SAA6BA,aAAa,GAAE;AAE5C,MAAMC,yBAAuD,CAACC;IAC5D,MAAM,EACJC,KAAK,EACLA,OAAO,EACLC,IAAI,EACJC,OAAOC,aAAa,EACpBC,OAAO,EACLC,SAAS,EACTC,WAAW,EACXC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,KAAK,EACN,GAAG,CAAC,CAAC,EACNC,KAAK,EACLC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACT,EACDC,MAAM,EACNX,UAAUY,yBAAyB,EACnCC,QAAQ,EACT,GAAGtB;IACJ,MAAMuB,oBAAoBF,6BAA6BX;IAEvD,MAAM,EAAEc,IAAI,EAAE,GAAG5B;IAEjB,MAAM,EACJ6B,QAAQ,EAAEC,YAAY,EAAE,EACzB,GAAG/B;IAEJ,MAAMgC,QAAQ9B,WAAW;QACvB+B,gBAAgBZ;QAChBa,UAAUjB;QACVQ;QACAU,oBAAoBJ,gBAAgBK;IACtC;IAEA,MAAMC,mBAA4CzC,YAChD,CAAC0C,OAAOC;QACN,IAAI,OAAOZ,aAAa,YACtB,OAAOA,SAASW,OAAO;YAAE,GAAGC,OAAO;YAAEjB;YAAWC;YAAWC;QAAS;IACxE,GACA;QAACG;QAAUH;QAAUF;QAAWC;KAAU;IAG5C,MAAM,EAAEiB,MAAMC,eAAe,EAAE3B,UAAU4B,mBAAmB,EAAE,GAAG7C;IAEjE,MAAM,EAAE8C,gBAAgB,EAAEC,cAAc,EAAEJ,IAAI,EAAEK,QAAQ,EAAEC,SAAS,EAAER,KAAK,EAAE,GAAGxC,SAAiB;QAC9F0C,MAAMC,mBAAmBhC,iBAAiBF;QAC1CoB,UAAUU;IACZ;IAEA,MAAMU,WAAWnB,qBAAqBc,uBAAuBE,kBAAkBD;IAE/E,qBACE,KAACxC;QACC6C,aAAa1C,OAAOI,OAAOuC,YAAYD;QACvCE,OAAO5C,OAAOI,OAAOuC,YAAYC;QACjCC,OAAO7C,OAAOI,OAAOuC,YAAYE;QACjCC,YAAY9C,OAAOI,OAAOuC,YAAYG;QACtCC,aAAa/C,OAAOI,OAAOuC,YAAYI;QACvC1C,WAAWA;QACXC,aAAaA;QACbQ,OAAOA;QACPkC,UAAU,CAACC;YACTV,SAASU,EAAEC,MAAM,CAAClB,KAAK;QACzB;QACAE,MAAMA;QACN3B,aAAanB,eAAemB,aAAagB;QACzCf,UAAUiC;QACVvB,UAAUA;QACVR,MAAMA;QACNC,KAAKe;QACLc,WAAWA;QACX5B,OAAOA;QACPoB,OAAOA;QACPnB,OAAOA;;AAGb;AAEA,OAAO,MAAMsC,gBAAgB1D,cAAcK,wBAAuB"}
|
|
@@ -10,7 +10,7 @@ import { UploadInput } from './Input.js';
|
|
|
10
10
|
import './index.scss';
|
|
11
11
|
export { UploadInput };
|
|
12
12
|
const UploadComponent = (props)=>{
|
|
13
|
-
const { field, field: { _path: pathFromProps, admin: { className, readOnly: readOnlyFromAdmin, style, width }, label, relationTo, required }, readOnly: readOnlyFromTopLevelProps, validate } = props;
|
|
13
|
+
const { field, field: { _path: pathFromProps, admin: { className, readOnly: readOnlyFromAdmin, style, width } = {}, label, relationTo, required }, readOnly: readOnlyFromTopLevelProps, validate } = props;
|
|
14
14
|
const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin;
|
|
15
15
|
const { config: { collections, routes: { api: apiRoute }, serverURL } } = useConfig();
|
|
16
16
|
const { permissions } = useAuth();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadFieldProps } from 'payload'\n\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { UploadInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { UploadInput } from './Input.js'\nimport './index.scss'\n\nexport { UploadFieldProps, UploadInput }\nexport type { UploadInputProps }\n\nconst UploadComponent: React.FC<UploadFieldProps> = (props) => {\n const {\n field,\n field: {\n _path: pathFromProps,\n admin: { className, readOnly: readOnlyFromAdmin, style, width },\n label,\n relationTo,\n required,\n },\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const {\n config: {\n collections,\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n\n const collection = collections.find((coll) => coll.slug === relationTo)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n // Checks if the user has permissions to create a new document in the related collection\n const canCreate = useMemo(() => {\n if (permissions?.collections && permissions.collections?.[relationTo]?.create) {\n if (permissions.collections[relationTo].create?.permission === true) {\n return true\n }\n }\n\n return false\n }, [relationTo, permissions])\n\n const { filterOptions, formInitializing, formProcessing, setValue, showError, value } =\n useField<string>({\n path: pathFromContext ?? pathFromProps,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onChange = useCallback(\n (incomingValue) => {\n const incomingID = incomingValue?.id || incomingValue\n setValue(incomingID)\n },\n [setValue],\n )\n\n if (collection.upload) {\n return (\n <UploadInput\n Description={field?.admin?.components?.Description}\n Error={field?.admin?.components?.Error}\n Label={field?.admin?.components?.Label}\n allowNewUpload={canCreate}\n api={apiRoute}\n className={className}\n collection={collection}\n filterOptions={filterOptions}\n label={label}\n onChange={onChange}\n readOnly={disabled}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n }\n\n return null\n}\n\nexport const UploadField = withCondition(UploadComponent)\n"],"names":["React","useCallback","useMemo","useFieldProps","useField","withCondition","useAuth","useConfig","UploadInput","UploadComponent","props","field","_path","pathFromProps","admin","className","readOnly","readOnlyFromAdmin","style","width","label","relationTo","required","readOnlyFromTopLevelProps","validate","readOnlyFromProps","config","collections","routes","api","apiRoute","serverURL","permissions","collection","find","coll","slug","memoizedValidate","value","options","path","pathFromContext","readOnlyFromContext","canCreate","create","permission","filterOptions","formInitializing","formProcessing","setValue","showError","disabled","onChange","incomingValue","incomingID","id","upload","Description","components","Error","Label","allowNewUpload","UploadField"],"mappings":"AAAA;;AAIA,OAAOA,SAASC,WAAW,EAAEC,OAAO,QAAQ,QAAO;AAInD,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,WAAW,QAAQ,aAAY;AACxC,OAAO,eAAc;AAErB,SAA2BA,WAAW,GAAE;AAGxC,MAAMC,kBAA8C,CAACC;IACnD,MAAM,EACJC,KAAK,EACLA,OAAO,EACLC,OAAOC,aAAa,EACpBC,OAAO,EAAEC,SAAS,EAAEC,UAAUC,iBAAiB,EAAEC,KAAK,EAAEC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadFieldProps } from 'payload'\n\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { UploadInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { UploadInput } from './Input.js'\nimport './index.scss'\n\nexport { UploadFieldProps, UploadInput }\nexport type { UploadInputProps }\n\nconst UploadComponent: React.FC<UploadFieldProps> = (props) => {\n const {\n field,\n field: {\n _path: pathFromProps,\n admin: { className, readOnly: readOnlyFromAdmin, style, width } = {},\n label,\n relationTo,\n required,\n },\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const {\n config: {\n collections,\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n\n const collection = collections.find((coll) => coll.slug === relationTo)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n // Checks if the user has permissions to create a new document in the related collection\n const canCreate = useMemo(() => {\n if (permissions?.collections && permissions.collections?.[relationTo]?.create) {\n if (permissions.collections[relationTo].create?.permission === true) {\n return true\n }\n }\n\n return false\n }, [relationTo, permissions])\n\n const { filterOptions, formInitializing, formProcessing, setValue, showError, value } =\n useField<string>({\n path: pathFromContext ?? pathFromProps,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onChange = useCallback(\n (incomingValue) => {\n const incomingID = incomingValue?.id || incomingValue\n setValue(incomingID)\n },\n [setValue],\n )\n\n if (collection.upload) {\n return (\n <UploadInput\n Description={field?.admin?.components?.Description}\n Error={field?.admin?.components?.Error}\n Label={field?.admin?.components?.Label}\n allowNewUpload={canCreate}\n api={apiRoute}\n className={className}\n collection={collection}\n filterOptions={filterOptions}\n label={label}\n onChange={onChange}\n readOnly={disabled}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n }\n\n return null\n}\n\nexport const UploadField = withCondition(UploadComponent)\n"],"names":["React","useCallback","useMemo","useFieldProps","useField","withCondition","useAuth","useConfig","UploadInput","UploadComponent","props","field","_path","pathFromProps","admin","className","readOnly","readOnlyFromAdmin","style","width","label","relationTo","required","readOnlyFromTopLevelProps","validate","readOnlyFromProps","config","collections","routes","api","apiRoute","serverURL","permissions","collection","find","coll","slug","memoizedValidate","value","options","path","pathFromContext","readOnlyFromContext","canCreate","create","permission","filterOptions","formInitializing","formProcessing","setValue","showError","disabled","onChange","incomingValue","incomingID","id","upload","Description","components","Error","Label","allowNewUpload","UploadField"],"mappings":"AAAA;;AAIA,OAAOA,SAASC,WAAW,EAAEC,OAAO,QAAQ,QAAO;AAInD,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,WAAW,QAAQ,aAAY;AACxC,OAAO,eAAc;AAErB,SAA2BA,WAAW,GAAE;AAGxC,MAAMC,kBAA8C,CAACC;IACnD,MAAM,EACJC,KAAK,EACLA,OAAO,EACLC,OAAOC,aAAa,EACpBC,OAAO,EAAEC,SAAS,EAAEC,UAAUC,iBAAiB,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAG,CAAC,CAAC,EACpEC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACT,EACDN,UAAUO,yBAAyB,EACnCC,QAAQ,EACT,GAAGd;IACJ,MAAMe,oBAAoBF,6BAA6BN;IAEvD,MAAM,EACJS,QAAQ,EACNC,WAAW,EACXC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,EACF,GAAGxB;IAEJ,MAAM,EAAEyB,WAAW,EAAE,GAAG1B;IAExB,MAAM2B,aAAaN,YAAYO,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKf;IAE5D,MAAMgB,mBAAmBpC,YACvB,CAACqC,OAAOC;QACN,IAAI,OAAOf,aAAa,YAAY;YAClC,OAAOA,SAASc,OAAO;gBAAE,GAAGC,OAAO;gBAAEjB;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEkB,MAAMC,eAAe,EAAEzB,UAAU0B,mBAAmB,EAAE,GAAGvC;IAEjE,wFAAwF;IACxF,MAAMwC,YAAYzC,QAAQ;QACxB,IAAI8B,aAAaL,eAAeK,YAAYL,WAAW,EAAE,CAACN,WAAW,EAAEuB,QAAQ;YAC7E,IAAIZ,YAAYL,WAAW,CAACN,WAAW,CAACuB,MAAM,EAAEC,eAAe,MAAM;gBACnE,OAAO;YACT;QACF;QAEA,OAAO;IACT,GAAG;QAACxB;QAAYW;KAAY;IAE5B,MAAM,EAAEc,aAAa,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,SAAS,EAAEZ,KAAK,EAAE,GACnFlC,SAAiB;QACfoC,MAAMC,mBAAmB5B;QACzBW,UAAUa;IACZ;IAEF,MAAMc,WAAW1B,qBAAqBiB,uBAAuBM,kBAAkBD;IAE/E,MAAMK,WAAWnD,YACf,CAACoD;QACC,MAAMC,aAAaD,eAAeE,MAAMF;QACxCJ,SAASK;IACX,GACA;QAACL;KAAS;IAGZ,IAAIhB,WAAWuB,MAAM,EAAE;QACrB,qBACE,KAAChD;YACCiD,aAAa9C,OAAOG,OAAO4C,YAAYD;YACvCE,OAAOhD,OAAOG,OAAO4C,YAAYC;YACjCC,OAAOjD,OAAOG,OAAO4C,YAAYE;YACjCC,gBAAgBlB;YAChBd,KAAKC;YACLf,WAAWA;YACXkB,YAAYA;YACZa,eAAeA;YACf1B,OAAOA;YACPgC,UAAUA;YACVpC,UAAUmC;YACV9B,YAAYA;YACZC,UAAUA;YACVS,WAAWA;YACXmB,WAAWA;YACXhC,OAAOA;YACPoB,OAAOA;YACPnB,OAAOA;;IAGb;IAEA,OAAO;AACT;AAEA,OAAO,MAAM2C,cAAczD,cAAcI,iBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderField.d.ts","sourceRoot":"","sources":["../../../src/forms/RenderFields/RenderField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"RenderField.d.ts","sourceRoot":"","sources":["../../../src/forms/RenderFields/RenderField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7B,KAAK,EAAE,WAAW,CAAA;QAClB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqFvC,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { HiddenField, useFieldComponents } from '@payloadcms/ui';
|
|
4
3
|
import React from 'react';
|
|
4
|
+
import { HiddenField } from '../../fields/Hidden/index.js';
|
|
5
5
|
import { RenderComponent } from '../../providers/Config/RenderComponent.js';
|
|
6
|
+
import { useFieldComponents } from '../../providers/FieldComponents/index.js';
|
|
6
7
|
import { useOperation } from '../../providers/Operation/index.js';
|
|
7
8
|
import { FieldPropsProvider, useFieldProps } from '../FieldPropsProvider/index.js';
|
|
8
9
|
export const RenderField = ({ name, fieldComponentProps, indexPath, path: pathFromProps, permissions, schemaPath: schemaPathFromProps, siblingPermissions })=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientField, FieldPermissions } from 'payload'\n\nimport { HiddenField
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientField, FieldPermissions } from 'payload'\n\nimport React from 'react'\n\nimport { HiddenField } from '../../fields/Hidden/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useFieldComponents } from '../../providers/FieldComponents/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { FieldPropsProvider, useFieldProps } from '../FieldPropsProvider/index.js'\n\ntype Props = {\n readonly fieldComponentProps?: {\n field: ClientField\n forceRender?: boolean\n readOnly?: boolean\n }\n readonly indexPath?: string\n readonly isHidden?: boolean\n readonly name?: string\n readonly path: string\n readonly permissions?: FieldPermissions\n readonly schemaPath: string\n readonly siblingPermissions: {\n [fieldName: string]: FieldPermissions\n }\n}\n\nexport const RenderField: React.FC<Props> = ({\n name,\n fieldComponentProps,\n indexPath,\n path: pathFromProps,\n permissions,\n schemaPath: schemaPathFromProps,\n siblingPermissions,\n}) => {\n const fieldComponents = useFieldComponents()\n const operation = useOperation()\n const { readOnly: readOnlyFromContext } = useFieldProps()\n\n if (!fieldComponents) {\n return null\n }\n\n const path = [pathFromProps, name].filter(Boolean).join('.')\n const schemaPath = [schemaPathFromProps, name].filter(Boolean).join('.')\n\n // if the user cannot read the field, then filter it out\n // this is different from `admin.readOnly` which is executed based on `operation`\n if (permissions?.read?.permission === false || fieldComponentProps?.field?.admin?.disabled) {\n return null\n }\n\n // `admin.readOnly` displays the value but prevents the field from being edited\n fieldComponentProps.readOnly = fieldComponentProps?.field?.admin?.readOnly\n\n // if parent field is `readOnly: true`, but this field is `readOnly: false`, the field should still be editable\n if (readOnlyFromContext && fieldComponentProps.readOnly !== false)\n fieldComponentProps.readOnly = true\n\n // if the user does not have access control to begin with, force it to be read-only\n if (permissions?.[operation]?.permission === false) {\n fieldComponentProps.readOnly = true\n }\n\n let RenderedField: React.ReactElement\n\n if (fieldComponentProps?.field?.admin?.components?.Field === null) {\n return null\n }\n\n // hide from admin if field is `admin.hidden: true`\n if (\n 'admin' in fieldComponentProps.field &&\n 'hidden' in fieldComponentProps.field.admin &&\n fieldComponentProps.field.admin.hidden\n ) {\n RenderedField = (\n <HiddenField\n field={fieldComponentProps.field}\n forceRender={fieldComponentProps.forceRender}\n readOnly={fieldComponentProps.readOnly}\n />\n )\n } else {\n RenderedField = (\n <RenderComponent\n Component={fieldComponents?.[fieldComponentProps?.field?.type]}\n clientProps={{\n field: fieldComponentProps.field,\n forceRender: fieldComponentProps.forceRender,\n readOnly: fieldComponentProps.readOnly,\n }}\n mappedComponent={fieldComponentProps?.field?.admin?.components?.Field}\n />\n )\n }\n\n return (\n <FieldPropsProvider\n custom={fieldComponentProps?.field?.admin?.custom}\n indexPath={indexPath}\n path={path}\n permissions={permissions}\n readOnly={fieldComponentProps.readOnly}\n schemaPath={schemaPath}\n siblingPermissions={siblingPermissions}\n type={fieldComponentProps?.field?.type}\n >\n {RenderedField}\n </FieldPropsProvider>\n )\n}\n"],"names":["React","HiddenField","RenderComponent","useFieldComponents","useOperation","FieldPropsProvider","useFieldProps","RenderField","name","fieldComponentProps","indexPath","path","pathFromProps","permissions","schemaPath","schemaPathFromProps","siblingPermissions","fieldComponents","operation","readOnly","readOnlyFromContext","filter","Boolean","join","read","permission","field","admin","disabled","RenderedField","components","Field","hidden","forceRender","Component","type","clientProps","mappedComponent","custom"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,eAAe,QAAQ,4CAA2C;AAC3E,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,kBAAkB,EAAEC,aAAa,QAAQ,iCAAgC;AAmBlF,OAAO,MAAMC,cAA+B,CAAC,EAC3CC,IAAI,EACJC,mBAAmB,EACnBC,SAAS,EACTC,MAAMC,aAAa,EACnBC,WAAW,EACXC,YAAYC,mBAAmB,EAC/BC,kBAAkB,EACnB;IACC,MAAMC,kBAAkBd;IACxB,MAAMe,YAAYd;IAClB,MAAM,EAAEe,UAAUC,mBAAmB,EAAE,GAAGd;IAE1C,IAAI,CAACW,iBAAiB;QACpB,OAAO;IACT;IAEA,MAAMN,OAAO;QAACC;QAAeJ;KAAK,CAACa,MAAM,CAACC,SAASC,IAAI,CAAC;IACxD,MAAMT,aAAa;QAACC;QAAqBP;KAAK,CAACa,MAAM,CAACC,SAASC,IAAI,CAAC;IAEpE,wDAAwD;IACxD,iFAAiF;IACjF,IAAIV,aAAaW,MAAMC,eAAe,SAAShB,qBAAqBiB,OAAOC,OAAOC,UAAU;QAC1F,OAAO;IACT;IAEA,+EAA+E;IAC/EnB,oBAAoBU,QAAQ,GAAGV,qBAAqBiB,OAAOC,OAAOR;IAElE,+GAA+G;IAC/G,IAAIC,uBAAuBX,oBAAoBU,QAAQ,KAAK,OAC1DV,oBAAoBU,QAAQ,GAAG;IAEjC,mFAAmF;IACnF,IAAIN,aAAa,CAACK,UAAU,EAAEO,eAAe,OAAO;QAClDhB,oBAAoBU,QAAQ,GAAG;IACjC;IAEA,IAAIU;IAEJ,IAAIpB,qBAAqBiB,OAAOC,OAAOG,YAAYC,UAAU,MAAM;QACjE,OAAO;IACT;IAEA,mDAAmD;IACnD,IACE,WAAWtB,oBAAoBiB,KAAK,IACpC,YAAYjB,oBAAoBiB,KAAK,CAACC,KAAK,IAC3ClB,oBAAoBiB,KAAK,CAACC,KAAK,CAACK,MAAM,EACtC;QACAH,8BACE,KAAC5B;YACCyB,OAAOjB,oBAAoBiB,KAAK;YAChCO,aAAaxB,oBAAoBwB,WAAW;YAC5Cd,UAAUV,oBAAoBU,QAAQ;;IAG5C,OAAO;QACLU,8BACE,KAAC3B;YACCgC,WAAWjB,iBAAiB,CAACR,qBAAqBiB,OAAOS,KAAK;YAC9DC,aAAa;gBACXV,OAAOjB,oBAAoBiB,KAAK;gBAChCO,aAAaxB,oBAAoBwB,WAAW;gBAC5Cd,UAAUV,oBAAoBU,QAAQ;YACxC;YACAkB,iBAAiB5B,qBAAqBiB,OAAOC,OAAOG,YAAYC;;IAGtE;IAEA,qBACE,KAAC1B;QACCiC,QAAQ7B,qBAAqBiB,OAAOC,OAAOW;QAC3C5B,WAAWA;QACXC,MAAMA;QACNE,aAAaA;QACbM,UAAUV,oBAAoBU,QAAQ;QACtCL,YAAYA;QACZE,oBAAoBA;QACpBmB,MAAM1B,qBAAqBiB,OAAOS;kBAEjCN;;AAGP,EAAC"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { usePathname } from 'next/navigation.js';
|
|
4
4
|
import React from 'react';
|
|
5
|
+
import { useAuth } from '../../providers/Auth/index.js';
|
|
5
6
|
import { RenderComponent } from '../../providers/Config/RenderComponent.js';
|
|
6
7
|
import { useConfig } from '../../providers/Config/index.js';
|
|
7
8
|
import { formatAdminURL } from '../../utilities/formatAdminURL.js';
|
|
8
|
-
import { GravatarAccountIcon } from './Gravatar/index.js';
|
|
9
|
-
import { useAuth } from '@payloadcms/ui';
|
|
10
9
|
import { DefaultAccountIcon } from './Default/index.js';
|
|
10
|
+
import { GravatarAccountIcon } from './Gravatar/index.js';
|
|
11
11
|
export const Account = ()=>{
|
|
12
|
-
const { config: { admin: { avatar,
|
|
12
|
+
const { config: { admin: { avatar, components: { Avatar: CustomAvatar }, routes: { account: accountRoute } }, routes: { admin: adminRoute } } } = useConfig();
|
|
13
13
|
const { user } = useAuth();
|
|
14
14
|
const pathname = usePathname();
|
|
15
15
|
const isOnAccountPage = pathname === formatAdminURL({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/graphics/Account/index.tsx"],"sourcesContent":["'use client'\nimport { usePathname } from 'next/navigation.js'\nimport React from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/graphics/Account/index.tsx"],"sourcesContent":["'use client'\nimport { usePathname } from 'next/navigation.js'\nimport React from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { DefaultAccountIcon } from './Default/index.js'\nimport { GravatarAccountIcon } from './Gravatar/index.js'\n\nexport const Account = () => {\n const {\n config: {\n admin: {\n avatar,\n components: { Avatar: CustomAvatar },\n routes: { account: accountRoute },\n },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { user } = useAuth()\n const pathname = usePathname()\n const isOnAccountPage = pathname === formatAdminURL({ adminRoute, path: accountRoute })\n\n if (CustomAvatar) {\n return (\n <RenderComponent\n clientProps={{\n active: isOnAccountPage,\n }}\n mappedComponent={CustomAvatar}\n />\n )\n }\n\n if (!user?.email || avatar === 'default') return <DefaultAccountIcon active={isOnAccountPage} />\n if (avatar === 'gravatar') return <GravatarAccountIcon />\n}\n"],"names":["usePathname","React","useAuth","RenderComponent","useConfig","formatAdminURL","DefaultAccountIcon","GravatarAccountIcon","Account","config","admin","avatar","components","Avatar","CustomAvatar","routes","account","accountRoute","adminRoute","user","pathname","isOnAccountPage","path","clientProps","active","mappedComponent","email"],"mappings":"AAAA;;AACA,SAASA,WAAW,QAAQ,qBAAoB;AAChD,OAAOC,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,eAAe,QAAQ,4CAA2C;AAC3E,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,kBAAkB,QAAQ,qBAAoB;AACvD,SAASC,mBAAmB,QAAQ,sBAAqB;AAEzD,OAAO,MAAMC,UAAU;IACrB,MAAM,EACJC,QAAQ,EACNC,OAAO,EACLC,MAAM,EACNC,YAAY,EAAEC,QAAQC,YAAY,EAAE,EACpCC,QAAQ,EAAEC,SAASC,YAAY,EAAE,EAClC,EACDF,QAAQ,EAAEL,OAAOQ,UAAU,EAAE,EAC9B,EACF,GAAGd;IAEJ,MAAM,EAAEe,IAAI,EAAE,GAAGjB;IACjB,MAAMkB,WAAWpB;IACjB,MAAMqB,kBAAkBD,aAAaf,eAAe;QAAEa;QAAYI,MAAML;IAAa;IAErF,IAAIH,cAAc;QAChB,qBACE,KAACX;YACCoB,aAAa;gBACXC,QAAQH;YACV;YACAI,iBAAiBX;;IAGvB;IAEA,IAAI,CAACK,MAAMO,SAASf,WAAW,WAAW,qBAAO,KAACL;QAAmBkB,QAAQH;;IAC7E,IAAIV,WAAW,YAAY,qBAAO,KAACJ;AACrC,EAAC"}
|
|
@@ -16,7 +16,7 @@ export const ChevronIcon = ({ className, direction, size })=>/*#__PURE__*/ _jsx(
|
|
|
16
16
|
xmlns: "http://www.w3.org/2000/svg",
|
|
17
17
|
children: /*#__PURE__*/ _jsx("path", {
|
|
18
18
|
className: "stroke",
|
|
19
|
-
d: "M6
|
|
19
|
+
d: "M6 8L10 12.5L14 8",
|
|
20
20
|
strokeLinecap: "square"
|
|
21
21
|
})
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/icons/Chevron/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const ChevronIcon: React.FC<{\n className?: string\n direction?: 'down' | 'left' | 'right' | 'up'\n size?: 'large' | 'small'\n}> = ({ className, direction, size }) => (\n <svg\n className={['icon icon--chevron', className, size && `icon--size-${size}`]\n .filter(Boolean)\n .join(' ')}\n height={20}\n style={{\n transform:\n direction === 'left'\n ? 'rotate(90deg)'\n : direction === 'right'\n ? 'rotate(-90deg)'\n : direction === 'up'\n ? 'rotate(180deg)'\n : undefined,\n }}\n viewBox=\"0 0 20 20\"\n width={20}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path className=\"stroke\" d=\"M6
|
|
1
|
+
{"version":3,"sources":["../../../src/icons/Chevron/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const ChevronIcon: React.FC<{\n className?: string\n direction?: 'down' | 'left' | 'right' | 'up'\n size?: 'large' | 'small'\n}> = ({ className, direction, size }) => (\n <svg\n className={['icon icon--chevron', className, size && `icon--size-${size}`]\n .filter(Boolean)\n .join(' ')}\n height={20}\n style={{\n transform:\n direction === 'left'\n ? 'rotate(90deg)'\n : direction === 'right'\n ? 'rotate(-90deg)'\n : direction === 'up'\n ? 'rotate(180deg)'\n : undefined,\n }}\n viewBox=\"0 0 20 20\"\n width={20}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path className=\"stroke\" d=\"M6 8L10 12.5L14 8\" strokeLinecap=\"square\" />\n </svg>\n)\n"],"names":["React","ChevronIcon","className","direction","size","svg","filter","Boolean","join","height","style","transform","undefined","viewBox","width","xmlns","path","d","strokeLinecap"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,eAAc;AAErB,OAAO,MAAMC,cAIR,CAAC,EAAEC,SAAS,EAAEC,SAAS,EAAEC,IAAI,EAAE,iBAClC,KAACC;QACCH,WAAW;YAAC;YAAsBA;YAAWE,QAAQ,CAAC,WAAW,EAAEA,KAAK,CAAC;SAAC,CACvEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,QAAQ;QACRC,OAAO;YACLC,WACER,cAAc,SACV,kBACAA,cAAc,UACZ,mBACAA,cAAc,OACZ,mBACAS;QACZ;QACAC,SAAQ;QACRC,OAAO;QACPC,OAAM;kBAEN,cAAA,KAACC;YAAKd,WAAU;YAASe,GAAE;YAAoBC,eAAc;;OAEhE"}
|
|
@@ -6,7 +6,7 @@ type ActionsContextType = {
|
|
|
6
6
|
setViewActions: (actions: MappedComponent[]) => void;
|
|
7
7
|
};
|
|
8
8
|
export declare const useActions: () => ActionsContextType;
|
|
9
|
-
export declare const ActionsProvider:
|
|
10
|
-
children:
|
|
11
|
-
}
|
|
9
|
+
export declare const ActionsProvider: React.FC<{
|
|
10
|
+
readonly children: React.ReactNode;
|
|
11
|
+
}>;
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Actions/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Actions/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAyD,MAAM,OAAO,CAAA;AAI7E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,cAAc,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;CACrD,CAAA;AAOD,eAAO,MAAM,UAAU,0BAAmC,CAAA;AAE1D,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAuBA,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useConfig } from '@payloadcms/ui';
|
|
4
3
|
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
4
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
5
5
|
export { SetViewActions } from './SetViewActions/index.js';
|
|
6
6
|
const ActionsContext = /*#__PURE__*/ createContext({
|
|
7
7
|
actions: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Actions/index.tsx"],"sourcesContent":["'use client'\nimport type { MappedComponent } from 'payload'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Actions/index.tsx"],"sourcesContent":["'use client'\nimport type { MappedComponent } from 'payload'\n\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\n\nexport { SetViewActions } from './SetViewActions/index.js'\n\ntype ActionsContextType = {\n actions: MappedComponent[]\n setViewActions: (actions: MappedComponent[]) => void\n}\n\nconst ActionsContext = createContext<ActionsContextType>({\n actions: [],\n setViewActions: () => {},\n})\n\nexport const useActions = () => useContext(ActionsContext)\n\nexport const ActionsProvider: React.FC<{\n readonly children: React.ReactNode\n}> = ({ children }) => {\n const [viewActions, setViewActions] = useState([])\n const [adminActions, setAdminActions] = useState([])\n\n const {\n config: {\n admin: {\n components: { actions },\n },\n },\n } = useConfig()\n\n useEffect(() => {\n setAdminActions(actions || [])\n }, [actions])\n\n const combinedActions = [...(viewActions || []), ...(adminActions || [])]\n\n return (\n <ActionsContext.Provider value={{ actions: combinedActions, setViewActions }}>\n {children}\n </ActionsContext.Provider>\n )\n}\n"],"names":["React","createContext","useContext","useEffect","useState","useConfig","SetViewActions","ActionsContext","actions","setViewActions","useActions","ActionsProvider","children","viewActions","adminActions","setAdminActions","config","admin","components","combinedActions","Provider","value"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE7E,SAASC,SAAS,QAAQ,kCAAiC;AAE3D,SAASC,cAAc,QAAQ,4BAA2B;AAO1D,MAAMC,+BAAiBN,cAAkC;IACvDO,SAAS,EAAE;IACXC,gBAAgB,KAAO;AACzB;AAEA,OAAO,MAAMC,aAAa,IAAMR,WAAWK,gBAAe;AAE1D,OAAO,MAAMI,kBAER,CAAC,EAAEC,QAAQ,EAAE;IAChB,MAAM,CAACC,aAAaJ,eAAe,GAAGL,SAAS,EAAE;IACjD,MAAM,CAACU,cAAcC,gBAAgB,GAAGX,SAAS,EAAE;IAEnD,MAAM,EACJY,QAAQ,EACNC,OAAO,EACLC,YAAY,EAAEV,OAAO,EAAE,EACxB,EACF,EACF,GAAGH;IAEJF,UAAU;QACRY,gBAAgBP,WAAW,EAAE;IAC/B,GAAG;QAACA;KAAQ;IAEZ,MAAMW,kBAAkB;WAAKN,eAAe,EAAE;WAAOC,gBAAgB,EAAE;KAAE;IAEzE,qBACE,KAACP,eAAea,QAAQ;QAACC,OAAO;YAAEb,SAASW;YAAiBV;QAAe;kBACxEG;;AAGP,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/RenderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,
|
|
1
|
+
{"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/RenderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,CAAA;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CA0EA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Config/RenderComponent.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderComponent: React.FC<{\n readonly Component?: React.ComponentType | React.ComponentType[]\n readonly clientProps?: object\n readonly mappedComponent?: MappedComponent | MappedComponent[]\n readonly serverProps?: object\n}> = ({ Component, clientProps = {}, mappedComponent, serverProps }) => {\n if (!mappedComponent && Component) {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderComponent\n Component={c}\n clientProps={clientProps}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n const mappedComponent: MappedComponent = isReactServerComponentOrFunction(Component)\n ? {\n type: 'server',\n Component,\n RenderedComponent: null,\n }\n : {\n type: 'client',\n Component,\n }\n\n return (\n <RenderComponent\n clientProps={clientProps}\n mappedComponent={mappedComponent}\n serverProps={serverProps}\n />\n )\n }\n if (!mappedComponent) {\n return null\n }\n\n if (Array.isArray(mappedComponent)) {\n return mappedComponent.map((c, index) => (\n <RenderComponent\n clientProps={clientProps}\n key={index}\n mappedComponent={c}\n serverProps={serverProps}\n />\n ))\n }\n\n if (mappedComponent.RenderedComponent) {\n return mappedComponent.RenderedComponent\n }\n\n if (!mappedComponent.Component) {\n return null\n }\n\n if (mappedComponent.type === 'server') {\n if (mappedComponent.props) {\n return (\n <mappedComponent.Component {...mappedComponent.props} {...serverProps} {...clientProps} />\n )\n }\n\n return <mappedComponent.Component {...serverProps} {...clientProps} />\n }\n\n if (mappedComponent.props) {\n return <mappedComponent.Component {...mappedComponent.props} {...clientProps} />\n }\n\n return <mappedComponent.Component {...clientProps} />\n}\n"],"names":["isReactServerComponentOrFunction","React","RenderComponent","Component","clientProps","mappedComponent","serverProps","Array","isArray","map","c","index","type","RenderedComponent","props"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ,iBAAgB;AACjE,OAAOC,WAAW,QAAO;AAEzB;;CAEC,GACD,OAAO,MAAMC,kBAKR,CAAC,EAAEC,SAAS,EAAEC,cAAc,CAAC,CAAC,EAAEC,eAAe,EAAEC,WAAW,EAAE;IACjE,IAAI,CAACD,mBAAmBF,WAAW;QACjC,IAAII,MAAMC,OAAO,CAACL,YAAY;YAC5B,OAAOA,UAAUM,GAAG,CAAC,CAACC,GAAGC,sBACvB,KAACT;oBACCC,WAAWO;oBACXN,aAAaA;oBAEbE,aAAaA;mBADRK;QAIX;QAEA,MAAMN,kBAAmCL,iCAAiCG,aACtE;YACES,MAAM;YACNT;YACAU,mBAAmB;QACrB,IACA;YACED,MAAM;YACNT;QACF;QAEJ,qBACE,KAACD;YACCE,aAAaA;YACbC,iBAAiBA;YACjBC,aAAaA;;IAGnB;IACA,IAAI,CAACD,iBAAiB;QACpB,OAAO;IACT;IAEA,IAAIE,MAAMC,OAAO,CAACH,kBAAkB;QAClC,OAAOA,gBAAgBI,GAAG,CAAC,CAACC,GAAGC,sBAC7B,KAACT;gBACCE,aAAaA;gBAEbC,iBAAiBK;gBACjBJ,aAAaA;eAFRK;IAKX;IAEA,IAAIN,gBAAgBQ,iBAAiB,EAAE;QACrC,OAAOR,gBAAgBQ,iBAAiB;IAC1C;IAEA,IAAI,CAACR,gBAAgBF,SAAS,EAAE;QAC9B,OAAO;IACT;IAEA,IAAIE,gBAAgBO,IAAI,KAAK,UAAU;QACrC,IAAIP,gBAAgBS,KAAK,EAAE;YACzB,qBACE,KAACT,gBAAgBF,SAAS;gBAAE,GAAGE,gBAAgBS,KAAK;gBAAG,GAAGR,WAAW;gBAAG,GAAGF,WAAW;;QAE1F;QAEA,qBAAO,KAACC,gBAAgBF,SAAS;YAAE,GAAGG,WAAW;YAAG,GAAGF,WAAW;;IACpE;IAEA,IAAIC,gBAAgBS,KAAK,EAAE;QACzB,qBAAO,KAACT,gBAAgBF,SAAS;YAAE,GAAGE,gBAAgBS,KAAK;YAAG,GAAGV,WAAW;;IAC9E;IAEA,qBAAO,KAACC,gBAAgBF,SAAS;QAAE,GAAGC,WAAW;;AACnD,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Config/RenderComponent.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderComponent: React.FC<{\n readonly Component?: React.ComponentType | React.ComponentType[]\n readonly clientProps?: object\n readonly mappedComponent?: MappedComponent | MappedComponent[]\n readonly serverProps?: object\n}> = ({ Component, clientProps = {}, mappedComponent, serverProps }) => {\n if (!mappedComponent && Component) {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderComponent\n Component={c}\n clientProps={clientProps}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n const mappedComponent: MappedComponent = isReactServerComponentOrFunction(Component)\n ? {\n type: 'server',\n Component,\n RenderedComponent: null,\n }\n : {\n type: 'client',\n Component,\n }\n\n return (\n <RenderComponent\n clientProps={clientProps}\n mappedComponent={mappedComponent}\n serverProps={serverProps}\n />\n )\n }\n if (!mappedComponent) {\n return null\n }\n\n if (Array.isArray(mappedComponent)) {\n return mappedComponent.map((c, index) => (\n <RenderComponent\n clientProps={clientProps}\n key={index}\n mappedComponent={c}\n serverProps={serverProps}\n />\n ))\n }\n\n if (mappedComponent.type === 'empty') {\n return null\n }\n\n if (mappedComponent.RenderedComponent) {\n return mappedComponent.RenderedComponent\n }\n\n if (!mappedComponent.Component) {\n return null\n }\n\n if (mappedComponent.type === 'server') {\n if (mappedComponent.props) {\n return (\n <mappedComponent.Component {...mappedComponent.props} {...serverProps} {...clientProps} />\n )\n }\n\n return <mappedComponent.Component {...serverProps} {...clientProps} />\n }\n\n if (mappedComponent.props) {\n return <mappedComponent.Component {...mappedComponent.props} {...clientProps} />\n }\n\n return <mappedComponent.Component {...clientProps} />\n}\n"],"names":["isReactServerComponentOrFunction","React","RenderComponent","Component","clientProps","mappedComponent","serverProps","Array","isArray","map","c","index","type","RenderedComponent","props"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ,iBAAgB;AACjE,OAAOC,WAAW,QAAO;AAEzB;;CAEC,GACD,OAAO,MAAMC,kBAKR,CAAC,EAAEC,SAAS,EAAEC,cAAc,CAAC,CAAC,EAAEC,eAAe,EAAEC,WAAW,EAAE;IACjE,IAAI,CAACD,mBAAmBF,WAAW;QACjC,IAAII,MAAMC,OAAO,CAACL,YAAY;YAC5B,OAAOA,UAAUM,GAAG,CAAC,CAACC,GAAGC,sBACvB,KAACT;oBACCC,WAAWO;oBACXN,aAAaA;oBAEbE,aAAaA;mBADRK;QAIX;QAEA,MAAMN,kBAAmCL,iCAAiCG,aACtE;YACES,MAAM;YACNT;YACAU,mBAAmB;QACrB,IACA;YACED,MAAM;YACNT;QACF;QAEJ,qBACE,KAACD;YACCE,aAAaA;YACbC,iBAAiBA;YACjBC,aAAaA;;IAGnB;IACA,IAAI,CAACD,iBAAiB;QACpB,OAAO;IACT;IAEA,IAAIE,MAAMC,OAAO,CAACH,kBAAkB;QAClC,OAAOA,gBAAgBI,GAAG,CAAC,CAACC,GAAGC,sBAC7B,KAACT;gBACCE,aAAaA;gBAEbC,iBAAiBK;gBACjBJ,aAAaA;eAFRK;IAKX;IAEA,IAAIN,gBAAgBO,IAAI,KAAK,SAAS;QACpC,OAAO;IACT;IAEA,IAAIP,gBAAgBQ,iBAAiB,EAAE;QACrC,OAAOR,gBAAgBQ,iBAAiB;IAC1C;IAEA,IAAI,CAACR,gBAAgBF,SAAS,EAAE;QAC9B,OAAO;IACT;IAEA,IAAIE,gBAAgBO,IAAI,KAAK,UAAU;QACrC,IAAIP,gBAAgBS,KAAK,EAAE;YACzB,qBACE,KAACT,gBAAgBF,SAAS;gBAAE,GAAGE,gBAAgBS,KAAK;gBAAG,GAAGR,WAAW;gBAAG,GAAGF,WAAW;;QAE1F;QAEA,qBAAO,KAACC,gBAAgBF,SAAS;YAAE,GAAGG,WAAW;YAAG,GAAGF,WAAW;;IACpE;IAEA,IAAIC,gBAAgBS,KAAK,EAAE;QACzB,qBAAO,KAACT,gBAAgBF,SAAS;YAAE,GAAGE,gBAAgBS,KAAK;YAAG,GAAGV,WAAW;;IAC9E;IAEA,qBAAO,KAACC,gBAAgBF,SAAS;QAAE,GAAGC,WAAW;;AACnD,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,aAAa,EACb,SAAS,EAET,OAAO,EACP,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,eAAO,MAAM,4BAA4B,yHAStC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,UAAU,EAAE,yBAAyB,CAAA;IACrC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/Config/createClientConfig/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,aAAa,EACb,SAAS,EAET,OAAO,EACP,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,eAAO,MAAM,4BAA4B,yHAStC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,UAAU,EAAE,yBAAyB,CAAA;IACrC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAyTH,CAAA;AAED,eAAO,MAAM,6BAA6B,2HASvC;IACD,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,iBAAiB,EAAE,sBAAsB,EAAE,CAAA;IAC3C,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,sBAAsB,EAiBzB,CAAA"}
|
|
@@ -117,7 +117,7 @@ export const createClientCollectionConfig = ({ DefaultEditView, DefaultListView,
|
|
|
117
117
|
clientCollection.admin.components.views.edit = {};
|
|
118
118
|
}
|
|
119
119
|
clientCollection.admin.components.views.edit.default = {
|
|
120
|
-
Component: createMappedComponent(hasEditView && 'Component' in collection.admin.components.views.edit.default && collection.admin.components.views.edit.default.Component, {
|
|
120
|
+
Component: createMappedComponent(hasEditView && 'Component' in collection.admin.components.views.edit.default && collection.admin.components.views.edit.default.Component ? collection.admin.components.views.edit.default.Component : null, {
|
|
121
121
|
collectionSlug: collection.slug
|
|
122
122
|
}, DefaultEditView, 'collection.admin.components.views.edit.default')
|
|
123
123
|
};
|
|
@@ -141,7 +141,7 @@ export const createClientCollectionConfig = ({ DefaultEditView, DefaultListView,
|
|
|
141
141
|
if (!clientCollection.admin.components.views.list) {
|
|
142
142
|
clientCollection.admin.components.views.list = {};
|
|
143
143
|
}
|
|
144
|
-
clientCollection.admin.components.views.list.Component = createMappedComponent(hasListView && 'Component' in collection.admin.components.views.list && collection.admin.components.views.list.Component, {
|
|
144
|
+
clientCollection.admin.components.views.list.Component = createMappedComponent(hasListView && 'Component' in collection.admin.components.views.list && collection.admin.components.views.list.Component ? collection.admin.components.views.list.Component : null, {
|
|
145
145
|
collectionSlug: collection.slug
|
|
146
146
|
}, DefaultListView, 'collection.admin.components.views.list');
|
|
147
147
|
if (hasListView && 'actions' in collection.admin.components.views.list && collection.admin.components.views.list.actions) {
|