Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
1 line
9.4 KiB
Plaintext
1 line
9.4 KiB
Plaintext
{"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useLayoutEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","animateIn","setAnimateIn","t2","t3","t4","t5","t6","filter","Boolean","t7","join","t8","t9","t10","DrawerDepthProvider","_jsxs","closeOnBlur","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, use, useCallback, useLayoutEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const isOpen = !!modalState[slug]?.isOpen\n\n const [animateIn, setAnimateIn] = useState(isOpen)\n\n useLayoutEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n // Fixes https://github.com/payloadcms/payload/issues/13778\n closeOnBlur={false}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h)))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]} |