@payloadcms/ui 3.44.0 → 3.45.0-canary.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 (113) hide show
  1. package/dist/elements/Button/index.d.ts.map +1 -1
  2. package/dist/elements/Button/index.js +2 -1
  3. package/dist/elements/Button/index.js.map +1 -1
  4. package/dist/elements/Button/index.scss +2 -2
  5. package/dist/elements/DocumentControls/index.d.ts +1 -0
  6. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  7. package/dist/elements/DocumentControls/index.js +26 -11
  8. package/dist/elements/DocumentControls/index.js.map +1 -1
  9. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentFields/index.js.map +1 -1
  11. package/dist/elements/LivePreview/Device/index.d.ts +5 -0
  12. package/dist/elements/LivePreview/Device/index.d.ts.map +1 -0
  13. package/dist/elements/LivePreview/Device/index.js +92 -0
  14. package/dist/elements/LivePreview/Device/index.js.map +1 -0
  15. package/dist/elements/LivePreview/DeviceContainer/index.d.ts +5 -0
  16. package/dist/elements/LivePreview/DeviceContainer/index.d.ts.map +1 -0
  17. package/dist/elements/LivePreview/DeviceContainer/index.js +55 -0
  18. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -0
  19. package/dist/elements/LivePreview/IFrame/index.d.ts +10 -0
  20. package/dist/elements/LivePreview/IFrame/index.d.ts.map +1 -0
  21. package/dist/elements/LivePreview/IFrame/index.js +30 -0
  22. package/dist/elements/LivePreview/IFrame/index.js.map +1 -0
  23. package/dist/elements/LivePreview/IFrame/index.scss +9 -0
  24. package/dist/elements/LivePreview/Toggler/index.d.ts +4 -0
  25. package/dist/elements/LivePreview/Toggler/index.d.ts.map +1 -0
  26. package/dist/elements/LivePreview/Toggler/index.js +30 -0
  27. package/dist/elements/LivePreview/Toggler/index.js.map +1 -0
  28. package/dist/elements/LivePreview/Toggler/index.scss +48 -0
  29. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts +5 -0
  30. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts.map +1 -0
  31. package/dist/elements/LivePreview/Toolbar/Controls/index.js +157 -0
  32. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -0
  33. package/dist/elements/LivePreview/Toolbar/Controls/index.scss +61 -0
  34. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts +6 -0
  35. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -0
  36. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +101 -0
  37. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -0
  38. package/dist/elements/LivePreview/Toolbar/SizeInput/index.scss +12 -0
  39. package/dist/elements/LivePreview/Toolbar/index.d.ts +7 -0
  40. package/dist/elements/LivePreview/Toolbar/index.d.ts.map +1 -0
  41. package/dist/elements/LivePreview/Toolbar/index.js +97 -0
  42. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -0
  43. package/dist/elements/LivePreview/Toolbar/index.scss +43 -0
  44. package/dist/elements/LivePreview/ToolbarArea/index.d.ts +6 -0
  45. package/dist/elements/LivePreview/ToolbarArea/index.d.ts.map +1 -0
  46. package/dist/elements/LivePreview/ToolbarArea/index.js +41 -0
  47. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -0
  48. package/dist/elements/LivePreview/ToolbarArea/index.scss +6 -0
  49. package/dist/elements/LivePreview/Window/index.d.ts +5 -0
  50. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -0
  51. package/dist/elements/LivePreview/Window/index.js +182 -0
  52. package/dist/elements/LivePreview/Window/index.js.map +1 -0
  53. package/dist/elements/LivePreview/Window/index.scss +48 -0
  54. package/dist/elements/PreviewButton/index.d.ts +1 -0
  55. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  56. package/dist/elements/PreviewButton/index.js +13 -10
  57. package/dist/elements/PreviewButton/index.js.map +1 -1
  58. package/dist/elements/PreviewButton/index.scss +39 -0
  59. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  60. package/dist/elements/PreviewButton/usePreviewURL.js +1 -1
  61. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  62. package/dist/exports/client/index.d.ts +2 -1
  63. package/dist/exports/client/index.d.ts.map +1 -1
  64. package/dist/exports/client/index.js +22 -22
  65. package/dist/exports/client/index.js.map +4 -4
  66. package/dist/exports/shared/index.js +1 -1
  67. package/dist/exports/shared/index.js.map +2 -2
  68. package/dist/forms/Form/index.d.ts.map +1 -1
  69. package/dist/forms/Form/index.js +1 -1
  70. package/dist/forms/Form/index.js.map +1 -1
  71. package/dist/forms/Form/mergeServerFormState.js +1 -1
  72. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  73. package/dist/hooks/usePopupWindow.d.ts +20 -0
  74. package/dist/hooks/usePopupWindow.d.ts.map +1 -0
  75. package/dist/hooks/usePopupWindow.js +144 -0
  76. package/dist/hooks/usePopupWindow.js.map +1 -0
  77. package/dist/icons/ExternalLink/index.d.ts.map +1 -0
  78. package/dist/icons/ExternalLink/index.js.map +1 -0
  79. package/dist/icons/Eye/index.d.ts +7 -0
  80. package/dist/icons/Eye/index.d.ts.map +1 -0
  81. package/dist/icons/Eye/index.js +28 -0
  82. package/dist/icons/Eye/index.js.map +1 -0
  83. package/dist/icons/Eye/index.scss +20 -0
  84. package/dist/providers/LivePreview/collisionDetection.d.ts +3 -0
  85. package/dist/providers/LivePreview/collisionDetection.d.ts.map +1 -0
  86. package/dist/providers/LivePreview/collisionDetection.js +29 -0
  87. package/dist/providers/LivePreview/collisionDetection.js.map +1 -0
  88. package/dist/providers/LivePreview/context.d.ts +55 -0
  89. package/dist/providers/LivePreview/context.d.ts.map +1 -0
  90. package/dist/providers/LivePreview/context.js +44 -0
  91. package/dist/providers/LivePreview/context.js.map +1 -0
  92. package/dist/providers/LivePreview/index.d.ts +16 -0
  93. package/dist/providers/LivePreview/index.d.ts.map +1 -0
  94. package/dist/providers/LivePreview/index.js +206 -0
  95. package/dist/providers/LivePreview/index.js.map +1 -0
  96. package/dist/providers/LivePreview/index.scss +68 -0
  97. package/dist/providers/LivePreview/sizeReducer.d.ts +20 -0
  98. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -0
  99. package/dist/providers/LivePreview/sizeReducer.js +30 -0
  100. package/dist/providers/LivePreview/sizeReducer.js.map +1 -0
  101. package/dist/styles.css +1 -1
  102. package/dist/utilities/formatDocTitle/index.js +2 -2
  103. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  104. package/dist/views/Edit/index.d.ts.map +1 -1
  105. package/dist/views/Edit/index.js +52 -41
  106. package/dist/views/Edit/index.js.map +1 -1
  107. package/dist/views/Edit/index.scss +39 -1
  108. package/package.json +5 -5
  109. package/dist/graphics/ExternalLink/index.d.ts.map +0 -1
  110. package/dist/graphics/ExternalLink/index.js.map +0 -1
  111. /package/dist/{graphics → icons}/ExternalLink/index.d.ts +0 -0
  112. /package/dist/{graphics → icons}/ExternalLink/index.js +0 -0
  113. /package/dist/{graphics → icons}/ExternalLink/index.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsJlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAqB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuJlC,CAAA"}
@@ -95,7 +95,8 @@ export const Button = props => {
95
95
  onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,
96
96
  onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,
97
97
  rel: newTab ? 'noopener noreferrer' : undefined,
98
- target: newTab ? '_blank' : undefined
98
+ target: newTab ? '_blank' : undefined,
99
+ title: ariaLabel
99
100
  };
100
101
  let buttonElement;
101
102
  let prefetch;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","buttonElement","prefetch","href","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { 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 { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\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: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\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 !margin && `${baseClass}--no-margin`,\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.RefObject<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 (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={prefetch}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...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 && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\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","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","prefetch","href","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { 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 { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\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: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\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 !margin && `${baseClass}--no-margin`,\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 title: ariaLabel,\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.RefObject<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 (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={prefetch}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...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 && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\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":[]}
@@ -196,7 +196,7 @@
196
196
  background-color: var(--bg-color, transparent);
197
197
  box-shadow: var(--box-shadow, none);
198
198
 
199
- .icon {
199
+ &__icon {
200
200
  width: 100%;
201
201
  height: 100%;
202
202
 
@@ -227,7 +227,7 @@
227
227
  padding: var(--btn-icon-padding);
228
228
  color: inherit;
229
229
 
230
- .icon {
230
+ svg {
231
231
  width: 100%;
232
232
  height: 100%;
233
233
  }
@@ -20,6 +20,7 @@ export declare const DocumentControls: React.FC<{
20
20
  readonly id?: number | string;
21
21
  readonly isAccountView?: boolean;
22
22
  readonly isEditing?: boolean;
23
+ readonly isInDrawer?: boolean;
23
24
  readonly onDelete?: DocumentDrawerContextType['onDelete'];
24
25
  readonly onDrawerCreateNew?: () => void;
25
26
  readonly onDuplicate?: DocumentDrawerContextType['onDuplicate'];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAsB9E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B,CAiSA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAwB9E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjD,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3C,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvC,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,6BAA6B,GAAG,yBAAyB,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC3B,CAoSA,CAAA"}
@@ -8,6 +8,7 @@ import React, { Fragment, useEffect } from 'react';
8
8
  import { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js';
9
9
  import { useConfig } from '../../providers/Config/index.js';
10
10
  import { useEditDepth } from '../../providers/EditDepth/index.js';
11
+ import { useLivePreviewContext } from '../../providers/LivePreview/context.js';
11
12
  import { useTranslation } from '../../providers/Translation/index.js';
12
13
  import { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js';
13
14
  import { Autosave } from '../Autosave/index.js';
@@ -17,6 +18,7 @@ import { DeleteDocument } from '../DeleteDocument/index.js';
17
18
  import { DuplicateDocument } from '../DuplicateDocument/index.js';
18
19
  import { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js';
19
20
  import { Gutter } from '../Gutter/index.js';
21
+ import { LivePreviewToggler } from '../LivePreview/Toggler/index.js';
20
22
  import { Locked } from '../Locked/index.js';
21
23
  import { Popup, PopupList } from '../Popup/index.js';
22
24
  import { PreviewButton } from '../PreviewButton/index.js';
@@ -28,7 +30,7 @@ import { Status } from '../Status/index.js';
28
30
  import './index.scss';
29
31
  const baseClass = 'doc-controls';
30
32
  export const DocumentControls = props => {
31
- const $ = _c(12);
33
+ const $ = _c(15);
32
34
  const {
33
35
  id,
34
36
  slug,
@@ -41,6 +43,7 @@ export const DocumentControls = props => {
41
43
  hasSavePermission,
42
44
  isAccountView,
43
45
  isEditing,
46
+ isInDrawer,
44
47
  onDelete,
45
48
  onDrawerCreateNew,
46
49
  onDuplicate,
@@ -80,6 +83,9 @@ export const DocumentControls = props => {
80
83
  const globalConfig = getEntityConfig({
81
84
  globalSlug: slug
82
85
  });
86
+ const {
87
+ isLivePreviewEnabled
88
+ } = useLivePreviewContext();
83
89
  const {
84
90
  admin: t2,
85
91
  localization,
@@ -139,8 +145,17 @@ export const DocumentControls = props => {
139
145
  const showFolderMetaIcon = collectionConfig && collectionConfig.folders;
140
146
  const showLockedMetaIcon = user && readOnlyForIncomingUser;
141
147
  let t6;
142
- if ($[7] !== onTakeOver || $[8] !== readOnlyForIncomingUser || $[9] !== t || $[10] !== user) {
143
- t6 = user && readOnlyForIncomingUser && _jsx(Button, {
148
+ if ($[7] !== isInDrawer || $[8] !== isLivePreviewEnabled) {
149
+ t6 = isLivePreviewEnabled && !isInDrawer && _jsx(LivePreviewToggler, {});
150
+ $[7] = isInDrawer;
151
+ $[8] = isLivePreviewEnabled;
152
+ $[9] = t6;
153
+ } else {
154
+ t6 = $[9];
155
+ }
156
+ let t7;
157
+ if ($[10] !== onTakeOver || $[11] !== readOnlyForIncomingUser || $[12] !== t || $[13] !== user) {
158
+ t7 = user && readOnlyForIncomingUser && _jsx(Button, {
144
159
  buttonStyle: "secondary",
145
160
  id: "take-over",
146
161
  onClick: onTakeOver,
@@ -148,13 +163,13 @@ export const DocumentControls = props => {
148
163
  type: "button",
149
164
  children: t("general:takeOver")
150
165
  });
151
- $[7] = onTakeOver;
152
- $[8] = readOnlyForIncomingUser;
153
- $[9] = t;
154
- $[10] = user;
155
- $[11] = t6;
166
+ $[10] = onTakeOver;
167
+ $[11] = readOnlyForIncomingUser;
168
+ $[12] = t;
169
+ $[13] = user;
170
+ $[14] = t7;
156
171
  } else {
157
- t6 = $[11];
172
+ t7 = $[14];
158
173
  }
159
174
  return _jsxs(Gutter, {
160
175
  className: baseClass,
@@ -222,7 +237,7 @@ export const DocumentControls = props => {
222
237
  className: `${baseClass}__controls-wrapper`,
223
238
  children: [_jsxs("div", {
224
239
  className: `${baseClass}__controls`,
225
- children: [BeforeDocumentControls, (collectionConfig?.admin.preview || globalConfig?.admin.preview) && _jsx(RenderCustomComponent, {
240
+ children: [BeforeDocumentControls, t6, (collectionConfig?.admin.preview || globalConfig?.admin.preview) && _jsx(RenderCustomComponent, {
226
241
  CustomComponent: CustomPreviewButton,
227
242
  Fallback: _jsx(PreviewButton, {})
228
243
  }), hasSavePermission && _jsx(Fragment, {
@@ -238,7 +253,7 @@ export const DocumentControls = props => {
238
253
  CustomComponent: CustomSaveButton,
239
254
  Fallback: _jsx(SaveButton, {})
240
255
  })
241
- }), t6]
256
+ }), t7]
242
257
  }), showDotMenu && !readOnlyForIncomingUser && _jsx(Popup, {
243
258
  button: _jsxs("div", {
244
259
  className: `${baseClass}__dots`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","React","Fragment","useEffect","useFormInitializing","useFormProcessing","useConfig","useEditDepth","useTranslation","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","MoveDocToFolder","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","BeforeDocumentControls","customComponents","t0","data","disableActions","disableCreate","EditMenuItems","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","processing","initializing","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","collectionConfigDrafts","globalConfigDrafts","autosaveEnabled","autosave","collectionAutosaveEnabled","globalAutosaveEnabled","showSaveDraftButton","showCopyToLocale","disableCopyToLocale","showFolderMetaIcon","folders","showLockedMetaIcon","t6","_jsx","buttonStyle","onClick","size","type","children","_jsxs","className","folderCollectionSlug","folderFieldName","fieldName","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","disabled","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly EditMenuItems?: React.ReactNode\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n EditMenuItems,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const collectionConfigDrafts = collectionConfig?.versions?.drafts\n const globalConfigDrafts = globalConfig?.versions?.drafts\n\n const autosaveEnabled =\n (collectionConfigDrafts && collectionConfigDrafts?.autosave) ||\n (globalConfigDrafts && globalConfigDrafts?.autosave)\n\n const collectionAutosaveEnabled = collectionConfigDrafts && collectionConfigDrafts?.autosave\n const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfigDrafts.autosave !== false &&\n collectionConfigDrafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfigDrafts.autosave !== false &&\n globalConfigDrafts.autosave.showSaveDraftButton === true)\n\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showFolderMetaIcon = collectionConfig && collectionConfig.folders\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {showLockedMetaIcon || showFolderMetaIcon ? (\n <div className={`${baseClass}__meta-icons`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {showFolderMetaIcon && config.folders && (\n <MoveDocToFolder\n folderCollectionSlug={config.folders.slug}\n folderFieldName={config.folders.fieldName}\n />\n )}\n </div>\n ) : null}\n\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n {EditMenuItems}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","React","Fragment","useEffect","useFormInitializing","useFormProcessing","useConfig","useEditDepth","useLivePreviewContext","useTranslation","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","MoveDocToFolder","Gutter","LivePreviewToggler","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","BeforeDocumentControls","customComponents","t0","data","disableActions","disableCreate","EditMenuItems","hasSavePermission","isAccountView","isEditing","isInDrawer","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","isLivePreviewEnabled","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","processing","initializing","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","collectionConfigDrafts","globalConfigDrafts","autosaveEnabled","autosave","collectionAutosaveEnabled","globalAutosaveEnabled","showSaveDraftButton","showCopyToLocale","disableCopyToLocale","showFolderMetaIcon","folders","showLockedMetaIcon","t6","_jsx","t7","buttonStyle","onClick","size","type","children","_jsxs","className","folderCollectionSlug","folderFieldName","fieldName","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","disabled","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext } from '../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { LivePreviewToggler } from '../LivePreview/Toggler/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly EditMenuItems?: React.ReactNode\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly isInDrawer?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n EditMenuItems,\n hasSavePermission,\n isAccountView,\n isEditing,\n isInDrawer,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const { isLivePreviewEnabled } = useLivePreviewContext()\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const collectionConfigDrafts = collectionConfig?.versions?.drafts\n const globalConfigDrafts = globalConfig?.versions?.drafts\n\n const autosaveEnabled =\n (collectionConfigDrafts && collectionConfigDrafts?.autosave) ||\n (globalConfigDrafts && globalConfigDrafts?.autosave)\n\n const collectionAutosaveEnabled = collectionConfigDrafts && collectionConfigDrafts?.autosave\n const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfigDrafts.autosave !== false &&\n collectionConfigDrafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfigDrafts.autosave !== false &&\n globalConfigDrafts.autosave.showSaveDraftButton === true)\n\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showFolderMetaIcon = collectionConfig && collectionConfig.folders\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {showLockedMetaIcon || showFolderMetaIcon ? (\n <div className={`${baseClass}__meta-icons`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {showFolderMetaIcon && config.folders && (\n <MoveDocToFolder\n folderCollectionSlug={config.folders.slug}\n folderFieldName={config.folders.fieldName}\n />\n )}\n </div>\n ) : null}\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n {isLivePreviewEnabled && !isInDrawer && <LivePreviewToggler />}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n {EditMenuItems}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentFields/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAGxE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,4BAA4B,CAAA;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAiFzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentFields/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAGxE,OAAO,KAAkB,MAAM,OAAO,CAAA;AAItC,OAAO,cAAc,CAAA;AAIrB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,4BAA4B,CAAA;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAiFzC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldIsSidebar","React","useMemo","RenderFields","Gutter","baseClass","DocumentFields","AfterFields","BeforeFields","Description","docPermissions","fields","forceSidebarWrap","readOnly","schemaPathSegments","hasSidebarFields","mainFields","sidebarFields","reduce","acc","field","push","_jsxs","className","filter","Boolean","join","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, SanitizedDocumentPermissions } from 'payload'\n\nimport { fieldIsSidebar } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n readonly AfterFields?: React.ReactNode\n readonly BeforeFields?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly docPermissions: SanitizedDocumentPermissions\n readonly fields: ClientField[]\n readonly forceSidebarWrap?: boolean\n readonly readOnly?: boolean\n readonly schemaPathSegments: string[]\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n Description,\n docPermissions,\n fields,\n forceSidebarWrap,\n readOnly,\n schemaPathSegments,\n}) => {\n const { hasSidebarFields, mainFields, sidebarFields } = useMemo(() => {\n return fields.reduce(\n (acc, field) => {\n if (fieldIsSidebar(field)) {\n acc.sidebarFields.push(field)\n acc.mainFields.push(null)\n acc.hasSidebarFields = true\n } else {\n acc.mainFields.push(field)\n acc.sidebarFields.push(null)\n }\n return acc\n },\n {\n hasSidebarFields: false,\n mainFields: [] as ClientField[],\n sidebarFields: [] as ClientField[],\n },\n )\n }, [fields])\n\n return (\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n {Description ? (\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n </header>\n ) : null}\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fields={mainFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields ? (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fields={sidebarFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAG/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,cAAA,GAAiCA,CAAC;EAC7CC,WAAW;EACXC,YAAY;EACZC,WAAW;EACXC,cAAc;EACdC,MAAM;EACNC,gBAAgB;EAChBC,QAAQ;EACRC;AAAkB,CACnB;EACC,MAAM;IAAEC,gBAAgB;IAAEC,UAAU;IAAEC;EAAa,CAAE,GAAGf,OAAA,CAAQ;IAC9D,OAAOS,MAAA,CAAOO,MAAM,CAClB,CAACC,GAAA,EAAKC,KAAA;MACJ,IAAIpB,cAAA,CAAeoB,KAAA,GAAQ;QACzBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAACD,KAAA;QACvBD,GAAA,CAAIH,UAAU,CAACK,IAAI,CAAC;QACpBF,GAAA,CAAIJ,gBAAgB,GAAG;MACzB,OAAO;QACLI,GAAA,CAAIH,UAAU,CAACK,IAAI,CAACD,KAAA;QACpBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAAC;MACzB;MACA,OAAOF,GAAA;IACT,GACA;MACEJ,gBAAA,EAAkB;MAClBC,UAAA,EAAY,EAAE;MACdC,aAAA,EAAe;IACjB;EAEJ,GAAG,CAACN,MAAA,CAAO;EAEX,oBACEW,KAAA,CAAC;IACCC,SAAA,EAAW,CACTlB,SAAA,EACAU,gBAAA,GAAmB,GAAGV,SAAA,eAAwB,GAAG,GAAGA,SAAA,cAAuB,EAC3EO,gBAAA,IAAoB,GAAGP,SAAA,sBAA+B,CACvD,CACEmB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;4BAERC,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGlB,SAAA,QAAiB;gBAClC,aAAAiB,KAAA,CAAClB,MAAA;QAAOmB,SAAA,EAAW,GAAGlB,SAAA,QAAiB;mBACpCI,WAAA,gBACCkB,IAAA,CAAC;UAAOJ,SAAA,EAAW,GAAGlB,SAAA,UAAmB;oBACvC,aAAAsB,IAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGlB,SAAA,cAAuB;sBAAGI;;aAE7C,MACHD,YAAA,E,aACDmB,IAAA,CAACxB,YAAA;UACCoB,SAAA,EAAW,GAAGlB,SAAA,UAAmB;UACjCM,MAAA,EAAQK,UAAA;UACRY,WAAW;UACXC,eAAA,EAAgB;UAChBC,UAAA,EAAW;UACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;UAC1CM,WAAA,EAAatB,cAAA,EAAgBC,MAAA;UAC7BE,QAAA,EAAUA;YAEXN,WAAA;;QAGJQ,gBAAA,gBACCY,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGlB,SAAA,gBAAyB;gBAC1C,aAAAsB,IAAA,CAAC;QAAIJ,SAAA,EAAW,GAAGlB,SAAA,WAAoB;kBACrC,aAAAsB,IAAA,CAAC;UAAIJ,SAAA,EAAW,GAAGlB,SAAA,kBAA2B;oBAC5C,aAAAsB,IAAA,CAACxB,YAAA;YACCQ,MAAA,EAAQM,aAAA;YACRW,WAAW;YACXC,eAAA,EAAgB;YAChBC,UAAA,EAAW;YACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;YAC1CM,WAAA,EAAatB,cAAA,EAAgBC,MAAA;YAC7BE,QAAA,EAAUA;;;;SAKhB;;AAGV","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldIsSidebar","React","useMemo","RenderFields","Gutter","baseClass","DocumentFields","AfterFields","BeforeFields","Description","docPermissions","fields","forceSidebarWrap","readOnly","schemaPathSegments","hasSidebarFields","mainFields","sidebarFields","reduce","acc","field","push","_jsxs","className","filter","Boolean","join","_jsx","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions"],"sources":["../../../src/elements/DocumentFields/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, SanitizedDocumentPermissions } from 'payload'\n\nimport { fieldIsSidebar } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'document-fields'\n\ntype Args = {\n readonly AfterFields?: React.ReactNode\n readonly BeforeFields?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly docPermissions: SanitizedDocumentPermissions\n readonly fields: ClientField[]\n readonly forceSidebarWrap?: boolean\n readonly readOnly?: boolean\n readonly schemaPathSegments: string[]\n}\n\nexport const DocumentFields: React.FC<Args> = ({\n AfterFields,\n BeforeFields,\n Description,\n docPermissions,\n fields,\n forceSidebarWrap,\n readOnly,\n schemaPathSegments,\n}) => {\n const { hasSidebarFields, mainFields, sidebarFields } = useMemo(() => {\n return fields.reduce(\n (acc, field) => {\n if (fieldIsSidebar(field)) {\n acc.sidebarFields.push(field)\n acc.mainFields.push(null)\n acc.hasSidebarFields = true\n } else {\n acc.mainFields.push(field)\n acc.sidebarFields.push(null)\n }\n return acc\n },\n {\n hasSidebarFields: false,\n mainFields: [] as ClientField[],\n sidebarFields: [] as ClientField[],\n },\n )\n }, [fields])\n\n return (\n <div\n className={[\n baseClass,\n hasSidebarFields ? `${baseClass}--has-sidebar` : `${baseClass}--no-sidebar`,\n forceSidebarWrap && `${baseClass}--force-sidebar-wrap`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__main`}>\n <Gutter className={`${baseClass}__edit`}>\n {Description ? (\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__sub-header`}>{Description}</div>\n </header>\n ) : null}\n {BeforeFields}\n <RenderFields\n className={`${baseClass}__fields`}\n fields={mainFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n {AfterFields}\n </Gutter>\n </div>\n {hasSidebarFields ? (\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-fields`}>\n <RenderFields\n fields={sidebarFields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={schemaPathSegments.join('.')}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,cAAA,GAAiCA,CAAC;EAC7CC,WAAW;EACXC,YAAY;EACZC,WAAW;EACXC,cAAc;EACdC,MAAM;EACNC,gBAAgB;EAChBC,QAAQ;EACRC;AAAkB,CACnB;EACC,MAAM;IAAEC,gBAAgB;IAAEC,UAAU;IAAEC;EAAa,CAAE,GAAGf,OAAA,CAAQ;IAC9D,OAAOS,MAAA,CAAOO,MAAM,CAClB,CAACC,GAAA,EAAKC,KAAA;MACJ,IAAIpB,cAAA,CAAeoB,KAAA,GAAQ;QACzBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAACD,KAAA;QACvBD,GAAA,CAAIH,UAAU,CAACK,IAAI,CAAC;QACpBF,GAAA,CAAIJ,gBAAgB,GAAG;MACzB,OAAO;QACLI,GAAA,CAAIH,UAAU,CAACK,IAAI,CAACD,KAAA;QACpBD,GAAA,CAAIF,aAAa,CAACI,IAAI,CAAC;MACzB;MACA,OAAOF,GAAA;IACT,GACA;MACEJ,gBAAA,EAAkB;MAClBC,UAAA,EAAY,EAAE;MACdC,aAAA,EAAe;IACjB;EAEJ,GAAG,CAACN,MAAA,CAAO;EAEX,oBACEW,KAAA,CAAC;IACCC,SAAA,EAAW,CACTlB,SAAA,EACAU,gBAAA,GAAmB,GAAGV,SAAA,eAAwB,GAAG,GAAGA,SAAA,cAAuB,EAC3EO,gBAAA,IAAoB,GAAGP,SAAA,sBAA+B,CACvD,CACEmB,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;4BAERC,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGlB,SAAA,QAAiB;gBAClC,aAAAiB,KAAA,CAAClB,MAAA;QAAOmB,SAAA,EAAW,GAAGlB,SAAA,QAAiB;mBACpCI,WAAA,gBACCkB,IAAA,CAAC;UAAOJ,SAAA,EAAW,GAAGlB,SAAA,UAAmB;oBACvC,aAAAsB,IAAA,CAAC;YAAIJ,SAAA,EAAW,GAAGlB,SAAA,cAAuB;sBAAGI;;aAE7C,MACHD,YAAA,E,aACDmB,IAAA,CAACxB,YAAA;UACCoB,SAAA,EAAW,GAAGlB,SAAA,UAAmB;UACjCM,MAAA,EAAQK,UAAA;UACRY,WAAW;UACXC,eAAA,EAAgB;UAChBC,UAAA,EAAW;UACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;UAC1CM,WAAA,EAAatB,cAAA,EAAgBC,MAAA;UAC7BE,QAAA,EAAUA;YAEXN,WAAA;;QAGJQ,gBAAA,gBACCY,IAAA,CAAC;MAAIJ,SAAA,EAAW,GAAGlB,SAAA,gBAAyB;gBAC1C,aAAAsB,IAAA,CAAC;QAAIJ,SAAA,EAAW,GAAGlB,SAAA,WAAoB;kBACrC,aAAAsB,IAAA,CAAC;UAAIJ,SAAA,EAAW,GAAGlB,SAAA,kBAA2B;oBAC5C,aAAAsB,IAAA,CAACxB,YAAA;YACCQ,MAAA,EAAQM,aAAA;YACRW,WAAW;YACXC,eAAA,EAAgB;YAChBC,UAAA,EAAW;YACXC,gBAAA,EAAkBjB,kBAAA,CAAmBY,IAAI,CAAC;YAC1CM,WAAA,EAAatB,cAAA,EAAgBC,MAAA;YAC7BE,QAAA,EAAUA;;;;SAKhB;;AAGV","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const DeviceContainer: React.FC<{
3
+ children: React.ReactNode;
4
+ }>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/Device/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAKxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAmGA,CAAA"}
@@ -0,0 +1,92 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React, { useEffect } from 'react';
5
+ import { useResize } from '../../../hooks/useResize.js';
6
+ import { useLivePreviewContext } from '../../../providers/LivePreview/context.js';
7
+ export const DeviceContainer = props => {
8
+ const {
9
+ children
10
+ } = props;
11
+ const deviceFrameRef = React.useRef(null);
12
+ const outerFrameRef = React.useRef(null);
13
+ const {
14
+ breakpoint,
15
+ setMeasuredDeviceSize,
16
+ size: desiredSize,
17
+ zoom
18
+ } = useLivePreviewContext();
19
+ // Keep an accurate measurement of the actual device size as it is truly rendered
20
+ // This is helpful when `sizes` are non-number units like percentages, etc.
21
+ const {
22
+ size: measuredDeviceSize
23
+ } = useResize(deviceFrameRef.current);
24
+ const {
25
+ size: outerFrameSize
26
+ } = useResize(outerFrameRef.current);
27
+ let deviceIsLargerThanFrame = false;
28
+ // Sync the measured device size with the context so that other components can use it
29
+ // This happens from the bottom up so that as this component mounts and unmounts,
30
+ // its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe
31
+ useEffect(() => {
32
+ if (measuredDeviceSize) {
33
+ setMeasuredDeviceSize(measuredDeviceSize);
34
+ }
35
+ }, [measuredDeviceSize, setMeasuredDeviceSize]);
36
+ let x = '0';
37
+ let margin = '0';
38
+ if (breakpoint && breakpoint !== 'responsive') {
39
+ x = '-50%';
40
+ if (desiredSize && measuredDeviceSize && typeof zoom === 'number' && typeof desiredSize.width === 'number' && typeof desiredSize.height === 'number' && typeof measuredDeviceSize.width === 'number' && typeof measuredDeviceSize.height === 'number') {
41
+ margin = '0 auto';
42
+ const scaledDesiredWidth = desiredSize.width / zoom;
43
+ const scaledDeviceWidth = measuredDeviceSize.width * zoom;
44
+ const scaledDeviceDifferencePixels = scaledDesiredWidth - desiredSize.width;
45
+ deviceIsLargerThanFrame = scaledDeviceWidth > outerFrameSize.width;
46
+ if (deviceIsLargerThanFrame) {
47
+ if (zoom > 1) {
48
+ const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width;
49
+ if (differenceFromDeviceToFrame < 0) {
50
+ x = `${differenceFromDeviceToFrame / 2}px`;
51
+ } else {
52
+ x = '0';
53
+ }
54
+ } else {
55
+ x = '0';
56
+ }
57
+ } else {
58
+ if (zoom >= 1) {
59
+ x = `${scaledDeviceDifferencePixels / 2}px`;
60
+ } else {
61
+ const differenceFromDeviceToFrame_0 = outerFrameSize.width - scaledDeviceWidth;
62
+ x = `${differenceFromDeviceToFrame_0 / 2}px`;
63
+ margin = '0';
64
+ }
65
+ }
66
+ }
67
+ }
68
+ let width = zoom ? `${100 / zoom}%` : '100%';
69
+ let height = zoom ? `${100 / zoom}%` : '100%';
70
+ if (breakpoint !== 'responsive') {
71
+ width = `${desiredSize?.width / (typeof zoom === 'number' ? zoom : 1)}px`;
72
+ height = `${desiredSize?.height / (typeof zoom === 'number' ? zoom : 1)}px`;
73
+ }
74
+ return /*#__PURE__*/_jsx("div", {
75
+ ref: outerFrameRef,
76
+ style: {
77
+ height: '100%',
78
+ width: '100%'
79
+ },
80
+ children: /*#__PURE__*/_jsx("div", {
81
+ ref: deviceFrameRef,
82
+ style: {
83
+ height,
84
+ margin,
85
+ transform: `translate3d(${x}, 0, 0)`,
86
+ width
87
+ },
88
+ children: children
89
+ })
90
+ });
91
+ };
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useResize","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","outerFrameRef","breakpoint","setMeasuredDeviceSize","size","desiredSize","zoom","measuredDeviceSize","current","outerFrameSize","deviceIsLargerThanFrame","x","margin","width","height","scaledDesiredWidth","scaledDeviceWidth","scaledDeviceDifferencePixels","differenceFromDeviceToFrame","_jsx","ref","style","transform"],"sources":["../../../../src/elements/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport { useResize } from '../../../hooks/useResize.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n const outerFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size: desiredSize, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n\n const { size: measuredDeviceSize } = useResize(deviceFrameRef.current)\n\n const { size: outerFrameSize } = useResize(outerFrameRef.current)\n\n let deviceIsLargerThanFrame: boolean = false\n\n // Sync the measured device size with the context so that other components can use it\n // This happens from the bottom up so that as this component mounts and unmounts,\n // its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe\n useEffect(() => {\n if (measuredDeviceSize) {\n setMeasuredDeviceSize(measuredDeviceSize)\n }\n }, [measuredDeviceSize, setMeasuredDeviceSize])\n\n let x = '0'\n let margin = '0'\n\n if (breakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n desiredSize &&\n measuredDeviceSize &&\n typeof zoom === 'number' &&\n typeof desiredSize.width === 'number' &&\n typeof desiredSize.height === 'number' &&\n typeof measuredDeviceSize.width === 'number' &&\n typeof measuredDeviceSize.height === 'number'\n ) {\n margin = '0 auto'\n const scaledDesiredWidth = desiredSize.width / zoom\n const scaledDeviceWidth = measuredDeviceSize.width * zoom\n const scaledDeviceDifferencePixels = scaledDesiredWidth - desiredSize.width\n deviceIsLargerThanFrame = scaledDeviceWidth > outerFrameSize.width\n\n if (deviceIsLargerThanFrame) {\n if (zoom > 1) {\n const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width\n if (differenceFromDeviceToFrame < 0) {\n x = `${differenceFromDeviceToFrame / 2}px`\n } else {\n x = '0'\n }\n } else {\n x = '0'\n }\n } else {\n if (zoom >= 1) {\n x = `${scaledDeviceDifferencePixels / 2}px`\n } else {\n const differenceFromDeviceToFrame = outerFrameSize.width - scaledDeviceWidth\n x = `${differenceFromDeviceToFrame / 2}px`\n margin = '0'\n }\n }\n }\n }\n\n let width = zoom ? `${100 / zoom}%` : '100%'\n let height = zoom ? `${100 / zoom}%` : '100%'\n\n if (breakpoint !== 'responsive') {\n width = `${desiredSize?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n height = `${desiredSize?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n }\n\n return (\n <div\n ref={outerFrameRef}\n style={{\n height: '100%',\n width: '100%',\n }}\n >\n <div\n ref={deviceFrameRef}\n style={{\n height,\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width,\n }}\n >\n {children}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const DeviceContainer: React.FC<{
3
+ children: React.ReactNode;
4
+ }>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/DeviceContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA+CA,CAAA"}
@@ -0,0 +1,55 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { useLivePreviewContext } from '../../../providers/LivePreview/context.js';
7
+ export const DeviceContainer = props => {
8
+ const $ = _c(6);
9
+ const {
10
+ children
11
+ } = props;
12
+ const {
13
+ breakpoint,
14
+ breakpoints,
15
+ size,
16
+ zoom
17
+ } = useLivePreviewContext();
18
+ const foundBreakpoint = breakpoint && breakpoints?.find(bp => bp.name === breakpoint);
19
+ let x = "0";
20
+ let margin = "0";
21
+ if (foundBreakpoint && breakpoint !== "responsive") {
22
+ x = "-50%";
23
+ if (typeof zoom === "number" && typeof size.width === "number" && typeof size.height === "number") {
24
+ const scaledWidth = size.width / zoom;
25
+ const difference = scaledWidth - size.width;
26
+ x = `${difference / 2}px`;
27
+ margin = "0 auto";
28
+ }
29
+ }
30
+ const t0 = foundBreakpoint && foundBreakpoint?.name !== "responsive" ? `${size?.height / (typeof zoom === "number" ? zoom : 1)}px` : typeof zoom === "number" ? `${100 / zoom}%` : "100%";
31
+ const t1 = `translate3d(${x}, 0, 0)`;
32
+ const t2 = foundBreakpoint && foundBreakpoint?.name !== "responsive" ? `${size?.width / (typeof zoom === "number" ? zoom : 1)}px` : typeof zoom === "number" ? `${100 / zoom}%` : "100%";
33
+ let t3;
34
+ if ($[0] !== children || $[1] !== margin || $[2] !== t0 || $[3] !== t1 || $[4] !== t2) {
35
+ t3 = _jsx("div", {
36
+ style: {
37
+ height: t0,
38
+ margin,
39
+ transform: t1,
40
+ width: t2
41
+ },
42
+ children
43
+ });
44
+ $[0] = children;
45
+ $[1] = margin;
46
+ $[2] = t0;
47
+ $[3] = t1;
48
+ $[4] = t2;
49
+ $[5] = t3;
50
+ } else {
51
+ t3 = $[5];
52
+ }
53
+ return t3;
54
+ };
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useLivePreviewContext","DeviceContainer","props","$","children","breakpoint","breakpoints","size","zoom","foundBreakpoint","find","bp","name","x","margin","width","height","scaledWidth","difference","t0","t1","t2","t3","_jsx","style","transform"],"sources":["../../../../src/elements/LivePreview/DeviceContainer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { breakpoint, breakpoints, size, zoom } = useLivePreviewContext()\n\n const foundBreakpoint = breakpoint && breakpoints?.find((bp) => bp.name === breakpoint)\n\n let x = '0'\n let margin = '0'\n\n if (foundBreakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n return (\n <div\n style={{\n height:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n }}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,eAAA,GAERC,KAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACH;IAAAM;EAAA,IAAqBF,KAAA;EAErB;IAAAG,UAAA;IAAAC,WAAA;IAAAC,IAAA;IAAAC;EAAA,IAAgDR,qBAAA;EAEhD,MAAAS,eAAA,GAAwBJ,UAAA,IAAcC,WAAA,EAAAI,IAAA,CAAAC,EAAA,IAA0BA,EAAA,CAAAC,IAAA,KAAYP,UAAA;EAE5E,IAAAQ,CAAA,GAAQ;EACR,IAAAC,MAAA,GAAa;EAAA,IAETL,eAAA,IAAmBJ,UAAA,KAAe;IACpCQ,CAAA,CAAAA,CAAA,CAAIA,MAAA;IAAJ,IAGE,OAAOL,IAAA,KAAS,YAChB,OAAOD,IAAA,CAAAQ,KAAA,KAAe,YACtB,OAAOR,IAAA,CAAAS,MAAA,KAAgB;MAEvB,MAAAC,WAAA,GAAoBV,IAAA,CAAAQ,KAAA,GAAaP,IAAA;MACjC,MAAAU,UAAA,GAAmBD,WAAA,GAAcV,IAAA,CAAAQ,KAAU;MAC3CF,CAAA,CAAAA,CAAA,CAAIA,GAAGK,UAAA,IAAa,IAAK;MACzBJ,MAAA,CAAAA,CAAA,CAASA,QAAA;IAAT;EAAA;EAQI,MAAAK,EAAA,GAAAV,eAAA,IAAmBA,eAAA,EAAAG,IAAA,KAA0B,eACzC,GAAGL,IAAA,EAAAS,MAAA,IAAgB,OAAOR,IAAA,KAAS,WAAWA,IAAA,IAAO,KAAM,GAC3D,OAAOA,IAAA,KAAS,WACd,GAAG,MAAMA,IAAA,GAAO,GAChB;EAEG,MAAAY,EAAA,kBAAeP,CAAA,SAAU;EAElC,MAAAQ,EAAA,GAAAZ,eAAA,IAAmBA,eAAA,EAAAG,IAAA,KAA0B,eACzC,GAAGL,IAAA,EAAAQ,KAAA,IAAe,OAAOP,IAAA,KAAS,WAAWA,IAAA,IAAO,KAAM,GAC1D,OAAOA,IAAA,KAAS,WACd,GAAG,MAAMA,IAAA,GAAO,GAChB;EAAA,IAAAc,EAAA;EAAA,IAAAnB,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAW,MAAA,IAAAX,CAAA,QAAAgB,EAAA,IAAAhB,CAAA,QAAAiB,EAAA,IAAAjB,CAAA,QAAAkB,EAAA;IAfZC,EAAA,GAAAC,IAAA,CAAC;MAAAC,KAAA;QAAAR,MAAA,EAGKG,EAIM;QAAAL,MAAA;QAAAW,SAAA,EAEGL,EAAyB;QAAAL,KAAA,EAElCM;MAIM;MAAAjB;IAAA,C;;;;;;;;;;SAfZkB,E;CAqBJ","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ type Props = {
4
+ ref: React.RefObject<HTMLIFrameElement>;
5
+ setIframeHasLoaded: (value: boolean) => void;
6
+ url: string;
7
+ };
8
+ export declare const IFrame: React.FC<Props>;
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/IFrame/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;IACvC,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmBlC,CAAA"}