@payloadcms/ui 3.4.1-canary.b6681a9 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/elements/Button/index.d.ts.map +1 -1
  2. package/dist/elements/Button/index.js +1 -0
  3. package/dist/elements/Button/index.js.map +1 -1
  4. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  5. package/dist/elements/Popup/PopupTrigger/index.js +1 -1
  6. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  7. package/dist/elements/Popup/PopupTrigger/index.scss +4 -0
  8. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  9. package/dist/elements/RelationshipTable/index.js +145 -280
  10. package/dist/elements/RelationshipTable/index.js.map +1 -1
  11. package/dist/elements/TableColumns/index.js +1 -2
  12. package/dist/elements/TableColumns/index.js.map +1 -1
  13. package/dist/exports/client/{CodeEditor-RZ32B2QF.js → CodeEditor-FR4GQI3P.js} +2 -2
  14. package/dist/exports/client/{DatePicker-QW5V4BQV.js → DatePicker-IHDOZXIJ.js} +2 -2
  15. package/dist/exports/client/{chunk-KZPVHMBR.js → chunk-JPWZT3ZI.js} +1 -1
  16. package/dist/exports/client/{chunk-KZPVHMBR.js.map → chunk-JPWZT3ZI.js.map} +1 -1
  17. package/dist/exports/client/{chunk-CKHKQPOO.js → chunk-RO7ZK4KN.js} +1 -1
  18. package/dist/exports/client/{chunk-CKHKQPOO.js.map → chunk-RO7ZK4KN.js.map} +1 -1
  19. package/dist/exports/client/index.d.ts +0 -4
  20. package/dist/exports/client/index.d.ts.map +1 -1
  21. package/dist/exports/client/index.js +10 -10
  22. package/dist/exports/client/index.js.map +4 -4
  23. package/dist/fields/Tabs/index.d.ts +0 -15
  24. package/dist/fields/Tabs/index.d.ts.map +1 -1
  25. package/dist/fields/Tabs/index.js +2 -2
  26. package/dist/fields/Tabs/index.js.map +1 -1
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +16 -2
  29. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  30. package/dist/providers/ListQuery/index.d.ts +3 -3
  31. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  32. package/dist/providers/ListQuery/index.js +2 -2
  33. package/dist/providers/ListQuery/index.js.map +1 -1
  34. package/dist/styles.css +1 -1
  35. package/package.json +7 -11
  36. /package/dist/exports/client/{CodeEditor-RZ32B2QF.js.map → CodeEditor-FR4GQI3P.js.map} +0 -0
  37. /package/dist/exports/client/{DatePicker-QW5V4BQV.js.map → DatePicker-IHDOZXIJ.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,qGAmJjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,qGAoJjB,CAAA"}
@@ -158,6 +158,7 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
158
158
  button: /*#__PURE__*/_jsx(ChevronIcon, {}),
159
159
  buttonSize: size,
160
160
  className: disabled ? `${baseClass}--popup-disabled` : '',
161
+ disabled: disabled,
161
162
  horizontalAlign: "right",
162
163
  noBackground: true,
163
164
  render: ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","Link","newTab","onClick","onMouseDown","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","buttonElement","prefetch","href","console","error","LinkTag","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef, Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n Link,\n newTab,\n onClick,\n onMouseDown,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n let prefetch\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) {\n LinkTag = 'div'\n } else {\n prefetch = false\n }\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} prefetch={prefetch} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","Link","newTab","onClick","onMouseDown","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","buttonElement","prefetch","href","console","error","LinkTag","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef, Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n Link,\n newTab,\n onClick,\n onMouseDown,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n let prefetch\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) {\n LinkTag = 'div'\n } else {\n prefetch = false\n }\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} prefetch={prefetch} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled}\n horizontalAlign=\"right\"\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuDpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwDpD,CAAA"}
@@ -15,7 +15,7 @@ export const PopupTrigger = props => {
15
15
  setActive,
16
16
  size
17
17
  } = props;
18
- const classes = [baseClass, className, `${baseClass}--${buttonType}`, !noBackground && `${baseClass}--background`, size && `${baseClass}--size-${size}`].filter(Boolean).join(' ');
18
+ const classes = [baseClass, className, `${baseClass}--${buttonType}`, !noBackground && `${baseClass}--background`, size && `${baseClass}--size-${size}`, disabled && `${baseClass}--disabled`].filter(Boolean).join(' ');
19
19
  const handleClick = () => {
20
20
  setActive(!active);
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","disabled","noBackground","setActive","size","classes","filter","Boolean","join","handleClick","_jsx","onClick","onKeyDown","e","key","role","tabIndex","type"],"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n disabled?: boolean\n noBackground?: boolean\n setActive: (active: boolean) => void\n size?: 'large' | 'medium' | 'small'\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, disabled, noBackground, setActive, size } = props\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--${buttonType}`,\n !noBackground && `${baseClass}--background`,\n size && `${baseClass}--size-${size}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const handleClick = () => {\n setActive(!active)\n }\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n tabIndex={0}\n type=\"button\"\n >\n {button}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,SAAS;IAAEC;EAAI,CAAE,GAAGR,KAAA;EAE3F,MAAMS,OAAA,GAAU,CACdX,SAAA,EACAM,SAAA,EACA,GAAGN,SAAA,KAAcK,UAAA,EAAY,EAC7B,CAACG,YAAA,IAAgB,GAAGR,SAAA,cAAuB,EAC3CU,IAAA,IAAQ,GAAGV,SAAA,UAAmBU,IAAA,EAAM,CACrC,CACEE,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,MAAMC,WAAA,GAAcA,CAAA;IAClBN,SAAA,CAAU,CAACN,MAAA;EACb;EAEA,IAAIE,UAAA,KAAe,QAAQ;IACzB,OAAO;EACT;EAEA,IAAIA,UAAA,KAAe,UAAU;IAC3B,oBACEW,IAAA,CAAC;MACCV,SAAA,EAAWK,OAAA;MACXM,OAAA,EAASF,WAAA;MACTG,SAAA,EAAYC,CAAA;QACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;UACrBL,WAAA;QACF;MACF;MACAM,IAAA,EAAK;MACLC,QAAA,EAAU;gBAETlB;;EAGP;EAEA,oBACEY,IAAA,CAAC;IACCV,SAAA,EAAWK,OAAA;IACXJ,QAAA,EAAUA,QAAA;IACVU,OAAA,EAASF,WAAA;IACTG,SAAA,EAAYC,CAAA;MACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;QACrBL,WAAA;MACF;IACF;IACAO,QAAA,EAAU;IACVC,IAAA,EAAK;cAEJnB;;AAGP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","baseClass","PopupTrigger","props","active","button","buttonType","className","disabled","noBackground","setActive","size","classes","filter","Boolean","join","handleClick","_jsx","onClick","onKeyDown","e","key","role","tabIndex","type"],"sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'popup-button'\n\nexport type PopupTriggerProps = {\n active: boolean\n button: React.ReactNode\n buttonType: 'custom' | 'default' | 'none'\n className?: string\n disabled?: boolean\n noBackground?: boolean\n setActive: (active: boolean) => void\n size?: 'large' | 'medium' | 'small'\n}\n\nexport const PopupTrigger: React.FC<PopupTriggerProps> = (props) => {\n const { active, button, buttonType, className, disabled, noBackground, setActive, size } = props\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--${buttonType}`,\n !noBackground && `${baseClass}--background`,\n size && `${baseClass}--size-${size}`,\n disabled && `${baseClass}--disabled`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const handleClick = () => {\n setActive(!active)\n }\n\n if (buttonType === 'none') {\n return null\n }\n\n if (buttonType === 'custom') {\n return (\n <div\n className={classes}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n {button}\n </div>\n )\n }\n\n return (\n <button\n className={classes}\n disabled={disabled}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleClick()\n }\n }}\n tabIndex={0}\n type=\"button\"\n >\n {button}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,YAAY;IAAEC,SAAS;IAAEC;EAAI,CAAE,GAAGR,KAAA;EAE3F,MAAMS,OAAA,GAAU,CACdX,SAAA,EACAM,SAAA,EACA,GAAGN,SAAA,KAAcK,UAAA,EAAY,EAC7B,CAACG,YAAA,IAAgB,GAAGR,SAAA,cAAuB,EAC3CU,IAAA,IAAQ,GAAGV,SAAA,UAAmBU,IAAA,EAAM,EACpCH,QAAA,IAAY,GAAGP,SAAA,YAAqB,CACrC,CACEY,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,MAAMC,WAAA,GAAcA,CAAA;IAClBN,SAAA,CAAU,CAACN,MAAA;EACb;EAEA,IAAIE,UAAA,KAAe,QAAQ;IACzB,OAAO;EACT;EAEA,IAAIA,UAAA,KAAe,UAAU;IAC3B,oBACEW,IAAA,CAAC;MACCV,SAAA,EAAWK,OAAA;MACXM,OAAA,EAASF,WAAA;MACTG,SAAA,EAAYC,CAAA;QACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;UACrBL,WAAA;QACF;MACF;MACAM,IAAA,EAAK;MACLC,QAAA,EAAU;gBAETlB;;EAGP;EAEA,oBACEY,IAAA,CAAC;IACCV,SAAA,EAAWK,OAAA;IACXJ,QAAA,EAAUA,QAAA;IACVU,OAAA,EAASF,WAAA;IACTG,SAAA,EAAYC,CAAA;MACV,IAAIA,CAAA,CAAEC,GAAG,KAAK,SAAS;QACrBL,WAAA;MACF;IACF;IACAO,QAAA,EAAU;IACVC,IAAA,EAAK;cAEJnB;;AAGP","ignoreList":[]}
@@ -27,5 +27,9 @@
27
27
  &--size-large {
28
28
  padding: base(0.8);
29
29
  }
30
+
31
+ &--disabled {
32
+ cursor: not-allowed;
33
+ }
30
34
  }
31
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA2NvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAyOvE,CAAA"}
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import { getTranslation } from '@payloadcms/translations';
6
5
  import React, { Fragment, useCallback, useState } from 'react';
@@ -24,20 +23,18 @@ import { DrawerLink } from './cells/DrawerLink/index.js';
24
23
  import { RelationshipTablePagination } from './Pagination.js';
25
24
  const baseClass = 'relationship-table';
26
25
  export const RelationshipTable = props => {
27
- const $ = _c(58);
28
26
  const {
29
27
  AfterInput,
30
- allowCreate: t0,
28
+ allowCreate = true,
31
29
  BeforeInput,
32
- disableTable: t1,
30
+ disableTable = false,
31
+ field,
33
32
  filterOptions,
34
33
  initialData: initialDataFromProps,
35
34
  initialDrawerData,
36
35
  Label,
37
36
  relationTo
38
37
  } = props;
39
- const allowCreate = t0 === undefined ? true : t0;
40
- const disableTable = t1 === undefined ? false : t1;
41
38
  const [Table, setTable] = useState(null);
42
39
  const {
43
40
  getEntityConfig
@@ -45,302 +42,170 @@ export const RelationshipTable = props => {
45
42
  const {
46
43
  permissions
47
44
  } = useAuth();
48
- let t2;
49
- if ($[0] !== initialDataFromProps) {
50
- t2 = () => {
51
- if (initialDataFromProps) {
52
- return {
53
- ...initialDataFromProps,
54
- docs: Array.isArray(initialDataFromProps.docs) ? initialDataFromProps.docs.reduce(_temp, []) : []
55
- };
56
- }
57
- };
58
- $[0] = initialDataFromProps;
59
- $[1] = t2;
60
- } else {
61
- t2 = $[1];
62
- }
63
- const [initialData] = useState(t2);
45
+ const [initialData] = useState(() => {
46
+ if (initialDataFromProps) {
47
+ return {
48
+ ...initialDataFromProps,
49
+ docs: Array.isArray(initialDataFromProps.docs) ? initialDataFromProps.docs.reduce((acc, doc) => {
50
+ if (typeof doc === 'string') {
51
+ return [...acc, {
52
+ id: doc
53
+ }];
54
+ }
55
+ return [...acc, doc];
56
+ }, []) : []
57
+ };
58
+ }
59
+ });
64
60
  const {
65
61
  i18n,
66
62
  t
67
63
  } = useTranslation();
68
64
  const [query, setQuery] = useState();
69
65
  const [openColumnSelector, setOpenColumnSelector] = useState(false);
70
- let t3;
71
- if ($[2] !== getEntityConfig || $[3] !== relationTo) {
72
- t3 = () => getEntityConfig({
73
- collectionSlug: relationTo
74
- });
75
- $[2] = getEntityConfig;
76
- $[3] = relationTo;
77
- $[4] = t3;
78
- } else {
79
- t3 = $[4];
80
- }
81
- const [collectionConfig] = useState(t3);
66
+ const [collectionConfig] = useState(() => getEntityConfig({
67
+ collectionSlug: relationTo
68
+ }));
82
69
  const [isLoadingTable, setIsLoadingTable] = useState(!disableTable);
83
70
  const [data, setData] = useState(initialData);
84
71
  const [columnState, setColumnState] = useState();
85
72
  const {
86
73
  getTableState
87
74
  } = useServerFunctions();
88
- let t4;
89
- if ($[5] !== filterOptions || $[6] !== getTableState || $[7] !== query || $[8] !== relationTo) {
90
- t4 = async docs => {
91
- const newQuery = {
92
- ...(query || {}),
93
- where: {
94
- ...(query?.where || {})
95
- }
96
- };
97
- if (filterOptions) {
98
- newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions);
99
- }
100
- const {
101
- data: newData,
102
- state: newColumnState,
103
- Table: NewTable
104
- } = await getTableState({
105
- collectionSlug: relationTo,
106
- docs,
107
- enableRowSelections: false,
108
- query: newQuery,
109
- renderRowTypes: true,
110
- tableAppearance: "condensed"
111
- });
112
- setData(newData);
113
- setTable(NewTable);
114
- setColumnState(newColumnState);
115
- setIsLoadingTable(false);
116
- };
117
- $[5] = filterOptions;
118
- $[6] = getTableState;
119
- $[7] = query;
120
- $[8] = relationTo;
121
- $[9] = t4;
122
- } else {
123
- t4 = $[9];
124
- }
125
- const renderTable = t4;
126
- let t5;
127
- if ($[10] !== Table || $[11] !== disableTable || $[12] !== query || $[13] !== renderTable) {
128
- t5 = () => {
129
- if (!disableTable && (!Table || query)) {
130
- renderTable();
75
+ const renderTable = useCallback(async docs => {
76
+ const newQuery = {
77
+ limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),
78
+ sort: field.defaultSort || collectionConfig.defaultSort,
79
+ ...(query || {}),
80
+ where: {
81
+ ...(query?.where || {})
131
82
  }
132
83
  };
133
- $[10] = Table;
134
- $[11] = disableTable;
135
- $[12] = query;
136
- $[13] = renderTable;
137
- $[14] = t5;
138
- } else {
139
- t5 = $[14];
140
- }
141
- let t6;
142
- if ($[15] !== disableTable || $[16] !== query) {
143
- t6 = [query, disableTable];
144
- $[15] = disableTable;
145
- $[16] = query;
146
- $[17] = t6;
147
- } else {
148
- t6 = $[17];
149
- }
150
- let t7;
151
- if ($[18] !== Table || $[19] !== renderTable) {
152
- t7 = [Table, renderTable];
153
- $[18] = Table;
154
- $[19] = renderTable;
155
- $[20] = t7;
156
- } else {
157
- t7 = $[20];
158
- }
159
- useIgnoredEffect(t5, t6, t7);
160
- let t8;
161
- if ($[21] !== relationTo) {
162
- t8 = {
163
- collectionSlug: relationTo
164
- };
165
- $[21] = relationTo;
166
- $[22] = t8;
167
- } else {
168
- t8 = $[22];
169
- }
170
- const [DocumentDrawer, DocumentDrawerToggler, t9] = useDocumentDrawer(t8);
171
- const {
84
+ if (filterOptions) {
85
+ newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions);
86
+ }
87
+ const {
88
+ data: newData,
89
+ state: newColumnState,
90
+ Table: NewTable
91
+ } = await getTableState({
92
+ collectionSlug: relationTo,
93
+ docs,
94
+ enableRowSelections: false,
95
+ query: newQuery,
96
+ renderRowTypes: true,
97
+ tableAppearance: 'condensed'
98
+ });
99
+ setData(newData);
100
+ setTable(NewTable);
101
+ setColumnState(newColumnState);
102
+ setIsLoadingTable(false);
103
+ }, [query, field.defaultLimit, field.defaultSort, collectionConfig.admin.pagination.defaultLimit, collectionConfig.defaultSort, filterOptions, getTableState, relationTo]);
104
+ useIgnoredEffect(() => {
105
+ if (!disableTable && (!Table || query)) {
106
+ void renderTable();
107
+ }
108
+ }, [query, disableTable], [Table, renderTable]);
109
+ const [DocumentDrawer, DocumentDrawerToggler, {
172
110
  closeDrawer,
173
111
  openDrawer
174
- } = t9;
175
- let t10;
176
- if ($[23] !== data.docs || $[24] !== renderTable) {
177
- t10 = args => {
178
- const foundDocIndex = data?.docs?.findIndex(doc_0 => doc_0.id === args.doc.id);
179
- let withNewOrUpdatedDoc;
180
- if (foundDocIndex !== -1) {
181
- const newDocs = [...data.docs];
182
- newDocs[foundDocIndex] = args.doc;
183
- withNewOrUpdatedDoc = newDocs;
184
- } else {
185
- withNewOrUpdatedDoc = [args.doc, ...data.docs];
186
- }
187
- renderTable(withNewOrUpdatedDoc);
188
- };
189
- $[23] = data.docs;
190
- $[24] = renderTable;
191
- $[25] = t10;
192
- } else {
193
- t10 = $[25];
194
- }
195
- const onDrawerSave = t10;
196
- let t11;
197
- if ($[26] !== closeDrawer || $[27] !== onDrawerSave) {
198
- t11 = args_0 => {
199
- closeDrawer();
200
- onDrawerSave(args_0);
201
- };
202
- $[26] = closeDrawer;
203
- $[27] = onDrawerSave;
204
- $[28] = t11;
205
- } else {
206
- t11 = $[28];
207
- }
208
- const onDrawerCreate = t11;
209
- const preferenceKey = `${relationTo}-list`;
210
- const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create;
211
- let t12;
212
- if ($[29] !== DocumentDrawerToggler || $[30] !== canCreate || $[31] !== i18n) {
213
- t12 = canCreate && _jsx(DocumentDrawerToggler, {
214
- className: `${baseClass}__add-new`,
215
- children: i18n.t("fields:addNew")
216
- });
217
- $[29] = DocumentDrawerToggler;
218
- $[30] = canCreate;
219
- $[31] = i18n;
220
- $[32] = t12;
221
- } else {
222
- t12 = $[32];
223
- }
224
- const t13 = `${baseClass}__toggle-columns ${openColumnSelector ? `${baseClass}__buttons-active` : ""}`;
225
- const t14 = openColumnSelector ? "up" : "down";
226
- let t15;
227
- if ($[33] !== AfterInput || $[34] !== BeforeInput || $[35] !== DocumentDrawer || $[36] !== Label || $[37] !== Table || $[38] !== canCreate || $[39] !== collectionConfig || $[40] !== columnState || $[41] !== data || $[42] !== i18n || $[43] !== initialDrawerData || $[44] !== isLoadingTable || $[45] !== onDrawerCreate || $[46] !== onDrawerSave || $[47] !== openColumnSelector || $[48] !== openDrawer || $[49] !== preferenceKey || $[50] !== relationTo || $[51] !== t || $[52] !== t12 || $[53] !== t13 || $[54] !== t14) {
228
- let t16;
229
- if ($[56] !== openColumnSelector) {
230
- t16 = () => setOpenColumnSelector(!openColumnSelector);
231
- $[56] = openColumnSelector;
232
- $[57] = t16;
112
+ }] = useDocumentDrawer({
113
+ collectionSlug: relationTo
114
+ });
115
+ const onDrawerSave = useCallback(args => {
116
+ const foundDocIndex = data?.docs?.findIndex(doc_0 => doc_0.id === args.doc.id);
117
+ let withNewOrUpdatedDoc = undefined;
118
+ if (foundDocIndex !== -1) {
119
+ const newDocs = [...data.docs];
120
+ newDocs[foundDocIndex] = args.doc;
121
+ withNewOrUpdatedDoc = newDocs;
233
122
  } else {
234
- t16 = $[57];
123
+ withNewOrUpdatedDoc = [args.doc, ...data.docs];
235
124
  }
236
- t15 = _jsxs("div", {
237
- className: baseClass,
238
- children: [_jsxs("div", {
239
- className: `${baseClass}__header`,
240
- children: [Label, _jsxs("div", {
241
- className: `${baseClass}__actions`,
242
- children: [t12, _jsx(Pill, {
243
- "aria-controls": `${baseClass}-columns`,
244
- "aria-expanded": openColumnSelector,
245
- className: t13,
246
- icon: _jsx(ChevronIcon, {
247
- direction: t14
248
- }),
249
- onClick: t16,
250
- pillStyle: "light",
251
- children: t("general:columns")
252
- })]
125
+ void renderTable(withNewOrUpdatedDoc);
126
+ }, [data.docs, renderTable]);
127
+ const onDrawerCreate = useCallback(args_0 => {
128
+ closeDrawer();
129
+ void onDrawerSave(args_0);
130
+ }, [closeDrawer, onDrawerSave]);
131
+ const preferenceKey = `${relationTo}-list`;
132
+ const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create;
133
+ return /*#__PURE__*/_jsxs("div", {
134
+ className: baseClass,
135
+ children: [/*#__PURE__*/_jsxs("div", {
136
+ className: `${baseClass}__header`,
137
+ children: [Label, /*#__PURE__*/_jsxs("div", {
138
+ className: `${baseClass}__actions`,
139
+ children: [canCreate && /*#__PURE__*/_jsx(DocumentDrawerToggler, {
140
+ className: `${baseClass}__add-new`,
141
+ children: i18n.t('fields:addNew')
142
+ }), /*#__PURE__*/_jsx(Pill, {
143
+ "aria-controls": `${baseClass}-columns`,
144
+ "aria-expanded": openColumnSelector,
145
+ className: `${baseClass}__toggle-columns ${openColumnSelector ? `${baseClass}__buttons-active` : ''}`,
146
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
147
+ direction: openColumnSelector ? 'up' : 'down'
148
+ }),
149
+ onClick: () => setOpenColumnSelector(!openColumnSelector),
150
+ pillStyle: "light",
151
+ children: t('general:columns')
253
152
  })]
254
- }), BeforeInput, isLoadingTable ? _jsx("p", {
255
- children: t("general:loading")
256
- }) : _jsxs(Fragment, {
257
- children: [data.docs && data.docs.length === 0 && _jsxs("div", {
258
- className: `${baseClass}__no-results`,
259
- children: [_jsx("p", {
260
- children: i18n.t("general:noResults", {
261
- label: getTranslation(collectionConfig?.labels?.plural, i18n)
262
- })
263
- }), canCreate && _jsx(Button, {
264
- onClick: openDrawer,
265
- children: i18n.t("general:createNewLabel", {
266
- label: getTranslation(collectionConfig?.labels?.singular, i18n)
267
- })
268
- })]
269
- }), data.docs && data.docs.length > 0 && _jsx(RelationshipProvider, {
270
- children: _jsx(ListQueryProvider, {
153
+ })]
154
+ }), BeforeInput, isLoadingTable ? /*#__PURE__*/_jsx("p", {
155
+ children: t('general:loading')
156
+ }) : /*#__PURE__*/_jsxs(Fragment, {
157
+ children: [data.docs && data.docs.length === 0 && /*#__PURE__*/_jsxs("div", {
158
+ className: `${baseClass}__no-results`,
159
+ children: [/*#__PURE__*/_jsx("p", {
160
+ children: i18n.t('general:noResults', {
161
+ label: getTranslation(collectionConfig?.labels?.plural, i18n)
162
+ })
163
+ }), canCreate && /*#__PURE__*/_jsx(Button, {
164
+ onClick: openDrawer,
165
+ children: i18n.t('general:createNewLabel', {
166
+ label: getTranslation(collectionConfig?.labels?.singular, i18n)
167
+ })
168
+ })]
169
+ }), data.docs && data.docs.length > 0 && /*#__PURE__*/_jsx(RelationshipProvider, {
170
+ children: /*#__PURE__*/_jsx(ListQueryProvider, {
171
+ collectionSlug: relationTo,
172
+ data: data,
173
+ defaultLimit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,
174
+ modifySearchParams: false,
175
+ onQueryChange: setQuery,
176
+ preferenceKey: preferenceKey,
177
+ children: /*#__PURE__*/_jsxs(TableColumnsProvider, {
271
178
  collectionSlug: relationTo,
272
- data,
273
- defaultLimit: collectionConfig?.admin?.pagination?.defaultLimit,
274
- modifySearchParams: false,
275
- onQueryChange: setQuery,
276
- preferenceKey,
277
- children: _jsxs(TableColumnsProvider, {
278
- collectionSlug: relationTo,
279
- columnState,
280
- docs: data.docs,
281
- LinkedCellOverride: _jsx(DrawerLink, {
282
- onDrawerSave
283
- }),
284
- preferenceKey,
285
- renderRowTypes: true,
286
- setTable,
287
- sortColumnProps: {
288
- appearance: "condensed"
289
- },
290
- tableAppearance: "condensed",
291
- children: [_jsx(AnimateHeight, {
292
- className: `${baseClass}__columns`,
293
- height: openColumnSelector ? "auto" : 0,
294
- id: `${baseClass}-columns`,
295
- children: _jsx("div", {
296
- className: `${baseClass}__columns-inner`,
297
- children: _jsx(ColumnSelector, {
298
- collectionSlug: collectionConfig.slug
299
- })
179
+ columnState: columnState,
180
+ docs: data.docs,
181
+ LinkedCellOverride: /*#__PURE__*/_jsx(DrawerLink, {
182
+ onDrawerSave: onDrawerSave
183
+ }),
184
+ preferenceKey: preferenceKey,
185
+ renderRowTypes: true,
186
+ setTable: setTable,
187
+ sortColumnProps: {
188
+ appearance: 'condensed'
189
+ },
190
+ tableAppearance: "condensed",
191
+ children: [/*#__PURE__*/_jsx(AnimateHeight, {
192
+ className: `${baseClass}__columns`,
193
+ height: openColumnSelector ? 'auto' : 0,
194
+ id: `${baseClass}-columns`,
195
+ children: /*#__PURE__*/_jsx("div", {
196
+ className: `${baseClass}__columns-inner`,
197
+ children: /*#__PURE__*/_jsx(ColumnSelector, {
198
+ collectionSlug: collectionConfig.slug
300
199
  })
301
- }), Table, _jsx(RelationshipTablePagination, {})]
302
- })
200
+ })
201
+ }), Table, /*#__PURE__*/_jsx(RelationshipTablePagination, {})]
303
202
  })
304
- })]
305
- }), AfterInput, _jsx(DocumentDrawer, {
306
- initialData: initialDrawerData,
307
- onSave: onDrawerCreate
203
+ })
308
204
  })]
309
- });
310
- $[33] = AfterInput;
311
- $[34] = BeforeInput;
312
- $[35] = DocumentDrawer;
313
- $[36] = Label;
314
- $[37] = Table;
315
- $[38] = canCreate;
316
- $[39] = collectionConfig;
317
- $[40] = columnState;
318
- $[41] = data;
319
- $[42] = i18n;
320
- $[43] = initialDrawerData;
321
- $[44] = isLoadingTable;
322
- $[45] = onDrawerCreate;
323
- $[46] = onDrawerSave;
324
- $[47] = openColumnSelector;
325
- $[48] = openDrawer;
326
- $[49] = preferenceKey;
327
- $[50] = relationTo;
328
- $[51] = t;
329
- $[52] = t12;
330
- $[53] = t13;
331
- $[54] = t14;
332
- $[55] = t15;
333
- } else {
334
- t15 = $[55];
335
- }
336
- return t15;
205
+ }), AfterInput, /*#__PURE__*/_jsx(DocumentDrawer, {
206
+ initialData: initialDrawerData,
207
+ onSave: onDrawerCreate
208
+ })]
209
+ });
337
210
  };
338
- function _temp(acc, doc) {
339
- if (typeof doc === "string") {
340
- return [...acc, {
341
- id: doc
342
- }];
343
- }
344
- return [...acc, doc];
345
- }
346
211
  //# sourceMappingURL=index.js.map