@kne/react-modal 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.css +20 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +84 -121
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +83 -120
- package/dist/index.modern.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/Footer.js","../src/Modal.js","../src/Drawer.js","../src/usePatchElement.js","../src/useDrawer.js","../src/useConfirmModal.js","../src/ScrollRegion.js","../src/TabsLayout.js","../src/ColumnsLayout.js","../src/createModalRender.js","../src/createDrawerRender.js","../src/modalClassNames.js"],"sourcesContent":["const locale = {\n Cancel: '取消',\n Confirm: '确定'\n};\n\nexport default locale;\n","const locale = {\n Cancel: 'Cancel',\n Confirm: 'Confirm'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCN,\n 'en-US': enUS\n },\n namespace: 'react-modal'\n});\n\nexport default withLocale;\n","import classnames from 'classnames';\nimport ButtonGroup from '@kne/button-group';\nimport { useIntl } from '@kne/react-intl';\nimport style from './style.module.scss';\n\nconst Footer = ({ footer, footerButtons, onConfirm, onCancel, cancelText, confirmText, onClose, targetProps, isMobile }) => {\n const { formatMessage } = useIntl();\n\n const defaultButtons = [\n {\n children: cancelText || formatMessage({ id: 'Cancel' }),\n onClick: onCancel\n },\n {\n type: 'primary',\n children: confirmText || formatMessage({ id: 'Confirm' }),\n onClick: onConfirm\n }\n ];\n\n const rawList = footerButtons === undefined ? defaultButtons : footerButtons;\n\n const list = (Array.isArray(rawList) ? rawList : [])\n .filter(item => {\n if (typeof item?.display === 'function') {\n return item.display();\n }\n return item?.display !== false;\n })\n .map(({ ButtonComponent, onClick, autoClose = true, display, ...props }) => ({\n ...props,\n buttonComponent: ButtonComponent,\n onClick: async (...args) => {\n const res = await Promise.resolve(onClick && onClick(...args, targetProps));\n autoClose && res !== false && onClose && onClose();\n return res;\n }\n }));\n\n const showButtons = !(Array.isArray(footerButtons) && footerButtons.length === 0) && list.length > 0;\n const embeddedFooterOnly = Array.isArray(footerButtons) && footerButtons.length === 0 && footer != null;\n const showFooterSlot = !isMobile || footer;\n\n if (!showFooterSlot && !showButtons) {\n return null;\n }\n\n return (\n <div\n className={classnames(style['modal-footer'], 'modal-footer', {\n [style['is-mobile']]: isMobile,\n [style['is-embedded-footer']]: embeddedFooterOnly\n })}\n >\n {showFooterSlot ? <div className={style['modal-footer-extra']}>{footer}</div> : null}\n {showButtons ? (\n <div className={style['modal-footer-actions']}>\n <ButtonGroup list={list} showLength={list.length} place={isMobile ? 'center' : 'end'} />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Footer;\n","import { useEffect, useRef } from 'react';\nimport { App, Button, Modal as AntdModal } from 'antd';\nimport { CloseOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { useMobilePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport Footer from './Footer';\nimport SimpleBar from './SimpleBar';\nimport style from './style.module.scss';\n\nconst ModalLocaleRoot = withLocale(({ children }) => children);\n\nconst renderWithOptions = (value, options) => {\n if (typeof value === 'function') {\n return value(options);\n }\n return value;\n};\n\nconst wrapCustomGetContainer = customGetContainer => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return triggerNode => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst viewportPopupMountOptions = {\n cover: 'viewport',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst findParentModalMountHost = node => {\n if (!node || typeof node.closest !== 'function') {\n return null;\n }\n const parentRoot = node.closest('.ant-modal-root');\n if (!parentRoot) {\n return null;\n }\n return parentRoot.parentElement || (typeof document !== 'undefined' ? document.body : null);\n};\n\nexport const resolveModalGetContainer = ({ customGetContainer, getPopupContainer, getHostNode }) => {\n const wrappedCustom = wrapCustomGetContainer(customGetContainer);\n return triggerNode => {\n if (wrappedCustom) {\n const custom = wrappedCustom(triggerNode);\n if (custom) {\n return custom;\n }\n }\n const from = triggerNode || (typeof getHostNode === 'function' ? getHostNode() : null);\n const nestedHost = findParentModalMountHost(from);\n if (nestedHost) {\n return nestedHost;\n }\n return getPopupContainer(triggerNode);\n };\n};\n\nlet parentScrollLockCount = 0;\nlet parentScrollLocked = [];\n\nexport const lockParentScroll = getScrollElement => {\n parentScrollLockCount += 1;\n if (parentScrollLockCount === 1) {\n const targets = [document.body];\n const scrollEl = typeof getScrollElement === 'function' ? getScrollElement() : null;\n if (scrollEl && scrollEl !== document.body && !targets.includes(scrollEl)) {\n targets.push(scrollEl);\n }\n parentScrollLocked = targets.map(el => {\n const prev = {\n overflow: el.style.overflow,\n overscrollBehavior: el.style.overscrollBehavior\n };\n el.style.overflow = 'hidden';\n el.style.overscrollBehavior = 'none';\n return { el, prev };\n });\n }\n return () => {\n parentScrollLockCount = Math.max(0, parentScrollLockCount - 1);\n if (parentScrollLockCount === 0) {\n parentScrollLocked.forEach(({ el, prev }) => {\n el.style.overflow = prev.overflow;\n el.style.overscrollBehavior = prev.overscrollBehavior;\n });\n parentScrollLocked = [];\n }\n };\n};\n\nconst useLockParentScroll = (enabled, getScrollElement) => {\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return lockParentScroll(getScrollElement);\n }, [enabled, getScrollElement]);\n};\n\nconst sizeStyleVars = (size, hasFooter) => {\n const minBase = size === 'small' ? 300 : 500;\n const chrome = 48 + (hasFooter ? 58 : 0);\n const minHeight = `${Math.max(0, minBase - chrome)}px`;\n if (size === 'large') {\n return {\n width: typeof window !== 'undefined' ? `${Math.min(window.innerWidth - 64, 1500)}px` : '1500px',\n '--kne-modal-body-min-height': minHeight\n };\n }\n if (size === 'small') {\n return {\n width: '600px',\n '--kne-modal-body-min-height': minHeight\n };\n }\n return {\n width: '1000px',\n '--kne-modal-body-min-height': minHeight\n };\n};\n\nconst ModalOuter = ({ title, footer, footerButtons, noPadding, onClose, closable, onConfirm, onCancel, children, targetProps, cancelText, confirmText, isMobile, bodyScroll }) => {\n const effectiveNoPadding = noPadding ?? bodyScroll === false;\n const bodyInner = (\n <div\n className={classnames(style['modal-body-inner'], 'modal-body-inner', {\n [style['no-padding']]: effectiveNoPadding\n })}\n >\n {children}\n </div>\n );\n\n const bodyClassName = classnames(style['modal-body'], 'modal-body');\n\n return (\n <div\n className={classnames(style['modal-outer'], 'modal-container', {\n [style['is-mobile']]: isMobile,\n [style['no-title']]: !title,\n [style['no-footer']]: footer === null && footerButtons === undefined,\n [style['no-padding']]: effectiveNoPadding\n })}\n data-testid=\"react-modal\"\n >\n {closable === false ? null : (\n <Button\n data-testid=\"react-modal-close-btn\"\n className={classnames(style['modal-close'], 'modal-close')}\n type=\"text\"\n icon={<CloseOutlined />}\n onClick={e => {\n e.stopPropagation();\n onClose && onClose();\n }}\n />\n )}\n {title ? <div className={classnames(style['modal-title'], 'modal-title')}>{title}</div> : null}\n {bodyScroll !== false ? (\n <SimpleBar className={bodyClassName} style={{ height: 'var(--kne-modal-body-height)' }}>\n {bodyInner}\n </SimpleBar>\n ) : (\n <div className={classnames(bodyClassName, style['body-scroll-off'])}>{bodyInner}</div>\n )}\n {footer === null && footerButtons === undefined ? null : (\n <Footer footer={footer} footerButtons={footerButtons} onConfirm={onConfirm} confirmText={confirmText} onCancel={onCancel} cancelText={cancelText} onClose={onClose} targetProps={targetProps} isMobile={isMobile} />\n )}\n </div>\n );\n};\n\nconst computedCommonProps = ({\n children,\n footer,\n footerButtons,\n className,\n size = 'default',\n title,\n onClose,\n onConfirm,\n confirmText,\n onCancel,\n cancelText,\n closable,\n noPadding,\n bodyScroll = true,\n isMobile,\n mobileFullscreen = true,\n fixedModeClass,\n wrapClassName,\n classNames: propsClassNames,\n styles: propsStyles,\n style: propsStyle,\n modalRender,\n ...props\n}) => {\n const useMobileLayout = isMobile && mobileFullscreen !== false;\n const hasFooter = !(footer === null && footerButtons === undefined);\n const sizeVars = sizeStyleVars(size, hasFooter);\n const { width, ...cssVars } = sizeVars;\n\n const runChildren = options => {\n const opts = Object.assign({}, options, { close: onClose });\n const modalPanel = (\n <ModalOuter\n title={renderWithOptions(title, opts)}\n closable={closable}\n onClose={onClose}\n onConfirm={onConfirm}\n confirmText={confirmText}\n onCancel={onCancel}\n cancelText={cancelText}\n footerButtons={renderWithOptions(footerButtons, opts)}\n noPadding={noPadding}\n footer={renderWithOptions(footer, opts)}\n targetProps={opts}\n isMobile={useMobileLayout}\n bodyScroll={bodyScroll}\n >\n {renderWithOptions(children, opts)}\n </ModalOuter>\n );\n\n return typeof modalRender === 'function' ? modalRender(modalPanel) : modalPanel;\n };\n\n return {\n ...props,\n icon: null,\n centered: !useMobileLayout,\n width: props.width ?? (useMobileLayout ? 'var(--kne-modal-viewport-width, 100vw)' : width),\n wrapClassName: classnames(wrapClassName, style['modal-wrap'], useMobileLayout ? style['modal-wrap-fullscreen'] : style['modal-wrap-centered'], useMobileLayout && fixedModeClass, modalRender && style['modal-form-host']),\n classNames: Object.assign({}, propsClassNames, {\n mask: classnames(propsClassNames?.mask, useMobileLayout && style['modal-mask-fullscreen'], useMobileLayout && fixedModeClass),\n container: classnames(style['modal-container'], useMobileLayout && style['is-mobile'], propsClassNames?.container),\n body: classnames(style['modal-antd-body'], useMobileLayout && style['is-mobile'], propsClassNames?.body),\n footer: classnames(style['modal-antd-footer'], propsClassNames?.footer),\n header: classnames(style['modal-antd-header'], propsClassNames?.header),\n content: classnames(style['modal-container'], useMobileLayout && style['is-mobile'], propsClassNames?.content)\n }),\n title: null,\n maskClosable: Object.prototype.hasOwnProperty.call(props, 'maskClosable') ? props.maskClosable : false,\n destroyOnHidden: true,\n footer: null,\n closable: false,\n onCancel: onClose,\n className: classnames(className, style['modal'], style[size], {\n [style['is-mobile']]: useMobileLayout\n }),\n style: Object.assign(\n {},\n cssVars,\n propsStyle,\n useMobileLayout\n ? {\n '--kne-modal-viewport-gutter': '0px',\n maxWidth: '100%',\n width: '100%',\n height: 'var(--kne-modal-viewport-height, 100vh)',\n maxHeight: 'var(--kne-modal-viewport-height, 100vh)',\n top: 0,\n margin: 0,\n paddingBottom: 0\n }\n : null\n ),\n styles: {\n ...propsStyles,\n container: {\n padding: 0,\n ...propsStyles?.container,\n ...(useMobileLayout\n ? {\n borderRadius: 0,\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden'\n }\n : null)\n },\n content: {\n padding: 0,\n ...propsStyles?.content\n },\n body: {\n padding: 0,\n ...propsStyles?.body,\n ...(useMobileLayout\n ? {\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden'\n }\n : null)\n }\n },\n children: <ModalLocaleRoot>{runChildren({})}</ModalLocaleRoot>\n };\n};\n\nconst Modal = withLocale(({ size = 'default', getContainer, open, mobileFullscreen = true, bodyScroll = true, ...props }) => {\n const hostRef = useRef(null);\n const { isMobile, fixedModeClass, getPopupContainer, anchorRef } = useMobilePopupMount({\n ...viewportPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(getContainer)\n });\n const getScrollElement = useScrollElement();\n useLockParentScroll(!!open, getScrollElement);\n\n const setAnchorRef = node => {\n hostRef.current = node;\n anchorRef(node);\n };\n\n const getModalContainer = resolveModalGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current\n });\n\n return (\n <>\n <span ref={setAnchorRef} className={style['modal-host']} aria-hidden=\"true\" />\n <AntdModal\n {...computedCommonProps(\n Object.assign({}, props, {\n size,\n isMobile,\n open,\n fixedModeClass,\n mobileFullscreen,\n bodyScroll\n })\n )}\n open={open}\n getContainer={getModalContainer}\n />\n </>\n );\n});\n\nexport const useModal = () => {\n const { modal } = App.useApp();\n const { resolveMount, getPopupContainer } = useMobilePopupMount(viewportPopupMountOptions);\n const getScrollElement = useScrollElement();\n\n return props => {\n const anchor = typeof document !== 'undefined' ? document.activeElement : null;\n const { isMobile, fixedModeClass } = resolveMount(anchor);\n const unlock = lockParentScroll(getScrollElement);\n const api = {};\n const { afterClose: userAfterClose, getContainer: customGetContainer, onClose: userOnClose, onConfirm: userOnConfirm, onCancel: userOnCancel, ...restProps } = props;\n\n const closeModal = () => {\n api.close?.();\n };\n\n const { children, getContainer, afterClose, ...otherProps } = computedCommonProps({\n ...restProps,\n isMobile,\n fixedModeClass,\n onClose: () => {\n userOnClose?.();\n closeModal();\n },\n onCancel: (...args) => {\n userOnCancel?.(...args);\n closeModal();\n },\n onConfirm: async (...args) => {\n const res = await Promise.resolve(userOnConfirm?.(...args));\n if (res !== false) {\n closeModal();\n }\n return res;\n },\n afterClose: (...args) => {\n unlock();\n userAfterClose?.(...args);\n }\n });\n const { destroy } = modal.info({\n ...otherProps,\n afterClose,\n content: children,\n getContainer: resolveModalGetContainer({\n customGetContainer: customGetContainer ?? getContainer,\n getPopupContainer,\n getHostNode: () => anchor\n })\n });\n api.close = destroy;\n return api;\n };\n};\n\nexport default Modal;\n","import { useEffect, useRef } from 'react';\nimport { Button, Drawer as AntdDrawer } from 'antd';\nimport { CloseOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { useMobilePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport Footer from './Footer';\nimport SimpleBar from './SimpleBar';\nimport style from './drawer.module.scss';\n\nconst DrawerLocaleRoot = withLocale(({ children }) => children);\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst boundaryPopupMountOptions = {\n cover: 'boundary',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst renderWithOptions = (value, options) => {\n if (typeof value === 'function') {\n return value(options);\n }\n return value;\n};\n\nconst wrapCustomGetContainer = customGetContainer => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return triggerNode => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst isVerticalPlacement = placement => placement === 'top' || placement === 'bottom';\n\nconst findParentDrawerMountHost = node => {\n if (!node || typeof node.closest !== 'function') {\n return null;\n }\n const parentRoot = node.closest('.ant-drawer-root');\n if (!parentRoot) {\n return null;\n }\n return parentRoot.parentElement || (typeof document !== 'undefined' ? document.body : null);\n};\n\nexport const resolveDrawerGetContainer = ({ customGetContainer, getPopupContainer, getHostNode }) => {\n const wrappedCustom = wrapCustomGetContainer(customGetContainer);\n return triggerNode => {\n if (wrappedCustom) {\n const custom = wrappedCustom(triggerNode);\n if (custom) {\n return custom;\n }\n }\n const from = triggerNode || (typeof getHostNode === 'function' ? getHostNode() : null);\n const nestedHost = findParentDrawerMountHost(from);\n if (nestedHost) {\n return nestedHost;\n }\n return getPopupContainer(triggerNode);\n };\n};\n\nlet parentScrollLockCount = 0;\nlet parentScrollLocked = [];\n\nexport const lockParentScroll = getScrollElement => {\n parentScrollLockCount += 1;\n if (parentScrollLockCount === 1) {\n const targets = [document.body];\n const scrollEl = typeof getScrollElement === 'function' ? getScrollElement() : null;\n if (scrollEl && scrollEl !== document.body && !targets.includes(scrollEl)) {\n targets.push(scrollEl);\n }\n parentScrollLocked = targets.map(el => {\n const prev = {\n overflow: el.style.overflow,\n overscrollBehavior: el.style.overscrollBehavior\n };\n el.style.overflow = 'hidden';\n el.style.overscrollBehavior = 'none';\n return { el, prev };\n });\n }\n return () => {\n parentScrollLockCount = Math.max(0, parentScrollLockCount - 1);\n if (parentScrollLockCount === 0) {\n parentScrollLocked.forEach(({ el, prev }) => {\n el.style.overflow = prev.overflow;\n el.style.overscrollBehavior = prev.overscrollBehavior;\n });\n parentScrollLocked = [];\n }\n };\n};\n\nconst useLockParentScroll = (enabled, getScrollElement) => {\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return lockParentScroll(getScrollElement);\n }, [enabled, getScrollElement]);\n};\n\nconst sizeStyleVars = (size, hasFooter) => {\n const minBase = size === 'small' ? 300 : 500;\n const chrome = 48 + (hasFooter ? 69 : 0);\n const minHeight = `${Math.max(0, minBase - chrome)}px`;\n const largeDim = typeof window !== 'undefined' ? `${Math.min(window.innerWidth - 64, 1500)}px` : '1500px';\n\n if (size === 'large') {\n return { dimension: largeDim, '--kne-drawer-body-min-height': minHeight };\n }\n if (size === 'small') {\n return { dimension: '600px', '--kne-drawer-body-min-height': minHeight };\n }\n return { dimension: '1000px', '--kne-drawer-body-min-height': minHeight };\n};\n\nconst DrawerOuter = ({ title, footer, footerButtons, noPadding, onClose, closable, onConfirm, onCancel, children, targetProps, cancelText, confirmText, isMobile, bodyScroll }) => {\n const effectiveNoPadding = noPadding ?? bodyScroll === false;\n const bodyInner = (\n <div\n className={classnames(style['drawer-body-inner'], 'drawer-body-inner', 'modal-body-inner', {\n [style['no-padding']]: effectiveNoPadding\n })}\n >\n {children}\n </div>\n );\n\n const bodyClassName = classnames(style['drawer-body'], 'drawer-body', 'modal-body');\n\n return (\n <div\n className={classnames(style['drawer-outer'], 'drawer-container', {\n [style['is-mobile']]: isMobile,\n [style['no-title']]: !title,\n [style['no-footer']]: footer === null && footerButtons === undefined,\n [style['no-padding']]: effectiveNoPadding\n })}\n data-testid=\"react-drawer\"\n >\n {closable === false ? null : (\n <Button\n data-testid=\"react-drawer-close-btn\"\n className={classnames(style['drawer-close'], 'drawer-close')}\n type=\"text\"\n icon={<CloseOutlined />}\n onClick={e => {\n e.stopPropagation();\n onClose && onClose();\n }}\n />\n )}\n {title ? <div className={classnames(style['drawer-title'], 'drawer-title', 'modal-title')}>{title}</div> : null}\n {bodyScroll !== false ? (\n <SimpleBar className={bodyClassName} style={{ height: 'var(--kne-drawer-body-height)' }}>\n {bodyInner}\n </SimpleBar>\n ) : (\n <div className={classnames(bodyClassName, style['body-scroll-off'])}>{bodyInner}</div>\n )}\n {footer === null && footerButtons === undefined ? null : (\n <Footer footer={footer} footerButtons={footerButtons} onConfirm={onConfirm} confirmText={confirmText} onCancel={onCancel} cancelText={cancelText} onClose={onClose} targetProps={targetProps} isMobile={isMobile} />\n )}\n </div>\n );\n};\n\nexport const computedDrawerProps = ({\n children,\n footer,\n footerButtons,\n className,\n size = 'default',\n placement = 'right',\n title,\n onClose,\n onConfirm,\n confirmText,\n onCancel,\n cancelText,\n closable,\n noPadding,\n bodyScroll = true,\n isMobile,\n fixedModeClass,\n rootClassName,\n classNames: propsClassNames,\n styles: propsStyles,\n style: propsStyle,\n width: propsWidth,\n height: propsHeight,\n modalRender,\n drawerRender,\n ...props\n}) => {\n const vertical = isVerticalPlacement(placement);\n const hasFooter = !(footer === null && footerButtons === undefined);\n const { dimension, ...cssVars } = sizeStyleVars(size, hasFooter);\n const sizeProp = vertical ? { height: propsHeight ?? dimension } : { width: propsWidth ?? dimension };\n\n const runChildren = options => {\n const opts = Object.assign({}, options, { close: onClose });\n const drawerPanel = (\n <div className={classnames(style['drawer-panel-host'], 'drawer-panel-host')}>\n <div className={classnames(style['drawer-panel-body'], 'drawer-panel-body')}>\n <DrawerOuter\n title={renderWithOptions(title, opts)}\n closable={closable}\n onClose={onClose}\n onConfirm={onConfirm}\n confirmText={confirmText}\n onCancel={onCancel}\n cancelText={cancelText}\n footerButtons={renderWithOptions(footerButtons, opts)}\n noPadding={noPadding}\n footer={renderWithOptions(footer, opts)}\n targetProps={opts}\n isMobile={isMobile}\n bodyScroll={bodyScroll}\n >\n {renderWithOptions(children, opts)}\n </DrawerOuter>\n </div>\n </div>\n );\n\n return typeof modalRender === 'function' ? modalRender(drawerPanel) : drawerPanel;\n };\n\n const mobileWrapperClass = isMobile ? (vertical ? style['drawer-wrapper-mobile-vertical'] : style['drawer-wrapper-mobile']) : null;\n\n const panelLayoutStyles = {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n padding: 0\n };\n\n return {\n ...props,\n ...(drawerRender ? { drawerRender } : null),\n placement,\n ...sizeProp,\n title: null,\n maskClosable: Object.prototype.hasOwnProperty.call(props, 'maskClosable') ? props.maskClosable : false,\n destroyOnHidden: true,\n footer: null,\n closable: false,\n onClose,\n rootClassName: classnames(rootClassName, isMobile && style['drawer-root-mobile'], isMobile && fixedModeClass, modalRender && style['drawer-form-host'], drawerRender && style['drawer-host-render']),\n classNames: Object.assign({}, propsClassNames, {\n header: classnames(style['drawer-antd-header'], propsClassNames?.header),\n footer: classnames(style['drawer-antd-footer'], propsClassNames?.footer),\n body: classnames(style['drawer-antd-body'], isMobile && style['is-mobile'], propsClassNames?.body),\n wrapper: classnames(propsClassNames?.wrapper, mobileWrapperClass),\n mask: classnames(propsClassNames?.mask, isMobile && fixedModeClass)\n }),\n className: classnames(className, style['drawer'], style[size], {\n [style['is-mobile']]: isMobile\n }),\n style: Object.assign({}, cssVars, propsStyle, vertical ? { '--kne-drawer-viewport-height': dimension } : null),\n styles: {\n ...propsStyles,\n body: {\n padding: 0,\n ...propsStyles?.body,\n flex: '1 1 auto',\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n ...(isMobile ? { height: '100%', maxHeight: '100%' } : null)\n },\n section: {\n ...panelLayoutStyles,\n ...propsStyles?.section,\n ...propsStyles?.content\n },\n wrapper: {\n ...propsStyles?.wrapper,\n ...(vertical ? { height: 'var(--kne-drawer-viewport-height, 100vh)', maxHeight: '100%' } : { height: '100%' }),\n ...(isMobile && !vertical ? { width: 'var(--kne-viewport-width, 100vw)', maxWidth: '100%' } : null),\n ...(isMobile && vertical ? { height: 'var(--kne-viewport-height, 100vh)', maxHeight: '100%' } : null)\n }\n },\n children: <DrawerLocaleRoot>{runChildren({})}</DrawerLocaleRoot>\n };\n};\n\nconst Drawer = withLocale(({ size = 'default', placement = 'right', getContainer, open, bodyScroll = true, ...props }) => {\n const hostRef = useRef(null);\n const { isMobile, fixedModeClass, getPopupContainer, anchorRef } = useMobilePopupMount({\n ...boundaryPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(getContainer)\n });\n const getScrollElement = useScrollElement();\n useLockParentScroll(!!open, getScrollElement);\n\n const setAnchorRef = node => {\n hostRef.current = node;\n anchorRef(node);\n };\n\n const getDrawerContainer = resolveDrawerGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current\n });\n\n return (\n <>\n <span ref={setAnchorRef} className={style['drawer-host']} aria-hidden=\"true\" />\n <AntdDrawer\n {...computedDrawerProps(\n Object.assign({}, props, {\n size,\n placement,\n isMobile,\n open,\n fixedModeClass,\n bodyScroll\n })\n )}\n open={open}\n getContainer={getDrawerContainer}\n />\n </>\n );\n});\n\nexport default Drawer;\n","import { useCallback, useState } from 'react';\n\nconst usePatchElement = () => {\n const [elements, setElements] = useState([]);\n const patchElement = useCallback(element => {\n setElements(originElements => [...originElements, element]);\n return () => {\n setElements(originElements => originElements.filter(ele => ele !== element));\n };\n }, []);\n return [elements, patchElement];\n};\n\nexport default usePatchElement;\n","import { createRef, forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { Drawer as AntdDrawer } from 'antd';\nimport { useMobilePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport { computedDrawerProps, lockParentScroll, resolveDrawerGetContainer } from './Drawer';\nimport usePatchElement from './usePatchElement';\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst boundaryPopupMountOptions = {\n cover: 'boundary',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst wrapCustomGetContainer = customGetContainer => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return triggerNode => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst drawerApiRef = { current: null };\n\nlet hookDrawerUuid = 0;\n\nconst HookDrawer = forwardRef(({ config, afterClose: hookAfterClose }, ref) => {\n const [open, setOpen] = useState(true);\n const [innerConfig, setInnerConfig] = useState(config);\n const hostRef = useRef(null);\n const { getPopupContainer, anchorRef } = useMobilePopupMount({\n ...boundaryPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(innerConfig.getContainer)\n });\n\n const close = () => {\n setOpen(false);\n };\n\n useImperativeHandle(ref, () => ({\n destroy: close,\n update: newConfig => {\n setInnerConfig(origin => Object.assign({}, origin, typeof newConfig === 'function' ? newConfig(origin) : newConfig));\n }\n }));\n\n const { getContainer, afterClose: userAfterClose, ...restConfig } = innerConfig;\n const mergedAfterClose = (...args) => {\n hookAfterClose && hookAfterClose(...args);\n userAfterClose && userAfterClose(...args);\n };\n\n const drawerProps = computedDrawerProps({\n ...restConfig,\n onClose: close,\n afterClose: mergedAfterClose\n });\n\n const getDrawerContainer = resolveDrawerGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current\n });\n\n return (\n <>\n <span\n ref={node => {\n hostRef.current = node;\n anchorRef(node);\n }}\n aria-hidden=\"true\"\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n />\n <AntdDrawer {...drawerProps} open={open} getContainer={getDrawerContainer} />\n </>\n );\n});\n\nconst ElementsHolder = memo(\n forwardRef((_props, ref) => {\n const [elements, patchElement] = usePatchElement();\n useImperativeHandle(ref, () => ({ patchElement }), [patchElement]);\n return <>{elements}</>;\n })\n);\n\nconst useDrawerHolder = () => {\n const holderRef = useRef(null);\n const [actionQueue, setActionQueue] = useState([]);\n const { resolveMount, getPopupContainer } = useMobilePopupMount(boundaryPopupMountOptions);\n const getScrollElement = useScrollElement();\n\n useEffect(() => {\n if (actionQueue.length) {\n const cloneQueue = [...actionQueue];\n cloneQueue.forEach(action => action());\n setActionQueue([]);\n }\n }, [actionQueue]);\n\n const drawer = useCallback(\n props => {\n hookDrawerUuid += 1;\n const drawerRef = createRef();\n const api = {};\n let closeFunc;\n let unlock = () => {};\n\n const runOpen = () => {\n const anchor = typeof document !== 'undefined' ? document.activeElement : null;\n const { isMobile, fixedModeClass } = resolveMount(anchor);\n unlock = lockParentScroll(getScrollElement);\n const { afterClose: userAfterClose, getContainer: customGetContainer, ...restProps } = props;\n\n const drawerEl = (\n <HookDrawer\n key={`react-drawer-${hookDrawerUuid}`}\n ref={drawerRef}\n config={{\n ...restProps,\n isMobile,\n fixedModeClass,\n getContainer: customGetContainer,\n onClose: () => api.close(),\n afterClose: (...args) => {\n unlock();\n userAfterClose && userAfterClose(...args);\n }\n }}\n afterClose={() => {\n closeFunc && closeFunc();\n }}\n />\n );\n\n closeFunc = holderRef.current?.patchElement(drawerEl);\n };\n\n if (holderRef.current?.patchElement) {\n runOpen();\n } else {\n setActionQueue(prev => [...prev, runOpen]);\n }\n\n api.close = () => {\n if (drawerRef.current) {\n drawerRef.current.destroy();\n } else {\n setActionQueue(prev => [...prev, () => drawerRef.current?.destroy()]);\n }\n };\n\n return api;\n },\n [getScrollElement, resolveMount]\n );\n\n return [drawer, <ElementsHolder key=\"drawer-elements-holder\" ref={holderRef} />];\n};\n\nexport const DrawerContextHolder = () => {\n const [drawer, contextHolder] = useDrawerHolder();\n drawerApiRef.current = drawer;\n return contextHolder;\n};\n\nexport const useDrawer = () => {\n if (!drawerApiRef.current) {\n throw new Error('useDrawer requires <DrawerContextHolder /> mounted inside <App> before calling useDrawer()');\n }\n return drawerApiRef.current;\n};\n\nexport default useDrawer;\n","import { App } from 'antd';\nimport { CheckCircleFilled, CloseCircleFilled, ExclamationCircleFilled, InfoCircleFilled } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { useMobilePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport { lockParentScroll, resolveModalGetContainer } from './Modal';\nimport modalStyle from './style.module.scss';\nimport confirmStyle from './confirmModal.module.scss';\n\nconst ConfirmLocaleRoot = withLocale(({ children }) => children);\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst viewportPopupMountOptions = {\n cover: 'viewport',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst ICON_BY_TYPE = {\n info: InfoCircleFilled,\n confirm: ExclamationCircleFilled,\n warning: ExclamationCircleFilled,\n error: CloseCircleFilled,\n success: CheckCircleFilled\n};\n\nconst getIconKind = (type, confirmType) => (type === 'confirm' ? confirmType : type);\n\nconst shouldShowDefaultIcon = ({ type, danger, icon }) => {\n if (icon === false || icon === null) {\n return false;\n }\n if (type === 'confirm') {\n return !!danger;\n }\n return ['info', 'success', 'warning', 'error'].includes(type);\n};\n\nconst getConfirmIconNode = ({ type, confirmType = 'info', danger, icon }) => {\n if (icon) {\n return icon;\n }\n if (!shouldShowDefaultIcon({ type, danger, icon })) {\n return null;\n }\n const kind = getIconKind(type, confirmType);\n const IconComponent = ICON_BY_TYPE[kind] || ICON_BY_TYPE.info;\n return <IconComponent className={classnames(confirmStyle['title-icon'], confirmStyle[`title-icon-${kind}`])} />;\n};\n\nconst buildConfirmContent = ({ type, confirmType, title, message, danger, icon, isMobile }) => {\n const iconNode = getConfirmIconNode({ type, confirmType, danger, icon });\n const mobileClass = isMobile ? confirmStyle['is-mobile-block'] : null;\n\n return {\n title: title ? (\n <div\n className={classnames(confirmStyle.titleRow, mobileClass)}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n {iconNode ? <span className={confirmStyle.titleIcon}>{iconNode}</span> : null}\n <div className={confirmStyle.titleText}>{title}</div>\n </div>\n ) : null,\n content: (\n <div\n className={classnames(confirmStyle.contentRow, mobileClass, {\n [confirmStyle['has-title']]: title,\n [confirmStyle['has-icon']]: !!iconNode && title\n })}\n >\n {!title && iconNode ? <span className={confirmStyle.titleIcon}>{iconNode}</span> : null}\n <div className={confirmStyle.contentText}>{message}</div>\n </div>\n )\n };\n};\n\nconst mapConfirmProps = (props, { isMobile, fixedModeClass, getPopupContainer, anchor, unlock, userAfterClose }) => {\n const {\n type = 'confirm',\n icon,\n title,\n danger,\n wrapClassName,\n message,\n confirmType = 'info',\n getContainer: customGetContainer,\n onConfirm,\n onCancel,\n confirmText,\n cancelText,\n afterClose,\n zIndex,\n ...otherProps\n } = {\n maskClosable: false,\n ...props\n };\n\n const { title: confirmTitle, content } = buildConfirmContent({\n type,\n confirmType,\n title,\n message,\n danger,\n icon,\n isMobile\n });\n\n return {\n modalMethod: type,\n config: {\n ...otherProps,\n zIndex: zIndex ?? 1100,\n okText: confirmText ?? otherProps.okText,\n cancelText: cancelText ?? otherProps.cancelText,\n onOk: onConfirm ?? otherProps.onOk,\n onCancel: onCancel ?? otherProps.onCancel,\n getContainer: resolveModalGetContainer({\n customGetContainer,\n getPopupContainer,\n getHostNode: () => anchor\n }),\n centered: true,\n afterClose: (...args) => {\n unlock();\n userAfterClose && userAfterClose(...args);\n afterClose && afterClose(...args);\n },\n icon: null,\n classNames: {\n mask: classnames(isMobile && modalStyle['modal-mask-fullscreen'], isMobile && fixedModeClass, otherProps.classNames?.mask)\n },\n wrapClassName: classnames(modalStyle['modal-wrap'], modalStyle['modal-wrap-centered'], confirmStyle['confirm-modal-wrap'], wrapClassName, {\n [confirmStyle['is-danger']]: danger,\n [confirmStyle['is-mobile']]: isMobile,\n [fixedModeClass]: isMobile\n }),\n title: confirmTitle ? <ConfirmLocaleRoot>{confirmTitle}</ConfirmLocaleRoot> : null,\n content: <ConfirmLocaleRoot>{content}</ConfirmLocaleRoot>\n }\n };\n};\n\nexport const useConfirmModal = () => {\n const { modal } = App.useApp();\n const { resolveMount, getPopupContainer } = useMobilePopupMount(viewportPopupMountOptions);\n const getScrollElement = useScrollElement();\n\n return props => {\n const anchor = typeof document !== 'undefined' ? document.activeElement : null;\n const { isMobile, fixedModeClass } = resolveMount(anchor);\n const unlock = lockParentScroll(getScrollElement);\n const api = {};\n const { afterClose: userAfterClose, ...restProps } = props;\n const { modalMethod, config } = mapConfirmProps(\n {\n ...restProps,\n onClose: () => api.close()\n },\n {\n isMobile,\n fixedModeClass,\n getPopupContainer,\n anchor,\n unlock,\n userAfterClose\n }\n );\n\n if (typeof modal[modalMethod] === 'function') {\n const { destroy } = modal[modalMethod](config);\n api.close = destroy;\n } else {\n unlock();\n api.close = () => {};\n }\n\n return api;\n };\n};\n\nexport default useConfirmModal;\n","import classnames from 'classnames';\nimport SimpleBar from './SimpleBar';\nimport styles from './layouts.module.scss';\n\nconst ScrollRegion = ({ className, inset = false, children, ...props }) => (\n <SimpleBar className={classnames(styles['modal-scroll-region'], 'modal-scroll-region', inset && styles['is-inset'], className)} {...props}>\n <div className={styles['modal-scroll-region-inner']}>{children}</div>\n </SimpleBar>\n);\n\nexport default ScrollRegion;\n","import { Tabs } from 'antd';\nimport classnames from 'classnames';\nimport styles from './layouts.module.scss';\n\nconst TabsLayout = ({ className, destroyOnHidden = true, ...props }) => <Tabs className={classnames(styles['modal-tabs-layout'], className)} destroyOnHidden={destroyOnHidden} {...props} />;\n\nexport default TabsLayout;\n","import { Children } from 'react';\nimport classnames from 'classnames';\nimport styles from './layouts.module.scss';\n\nconst resolveColStyle = width => {\n if (width == null || width === '1fr') {\n return { flex: '1 1 0%', minWidth: 0 };\n }\n return { flex: 'none', width, minWidth: 0 };\n};\n\nconst ColumnsLayout = ({ widths, className, children, ...props }) => {\n const cols = Children.toArray(children);\n\n return (\n <div className={classnames(styles['modal-columns-layout'], className)} {...props}>\n {cols.map((child, index) => (\n <div key={index} className={styles['modal-columns-layout__col']} style={widths ? resolveColStyle(widths[index]) : undefined}>\n {child}\n </div>\n ))}\n </div>\n );\n};\n\nexport default ColumnsLayout;\n","import Modal from './Modal';\n\nconst createModalRender = modalDefaults => hostProps => <Modal {...modalDefaults} {...hostProps} />;\n\nexport default createModalRender;\n","import Drawer from './Drawer';\n\nconst createDrawerRender = drawerDefaults => hostProps => <Drawer {...drawerDefaults} {...hostProps} />;\n\nexport default createDrawerRender;\n","export const modalClassNames = {\n stepsForm: 'react-modal-steps-form',\n splitter: 'react-modal-splitter'\n};\n\nexport default modalClassNames;\n"],"names":["locale","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","Footer","footer","footerButtons","onConfirm","onCancel","cancelText","confirmText","onClose","targetProps","isMobile","formatMessage","useIntl","defaultButtons","children","id","onClick","type","rawList","undefined","list","Array","isArray","filter","item","display","map","ButtonComponent","autoClose","props","buttonComponent","_arguments","arguments","Promise","resolve","slice","call","then","res","e","reject","showButtons","length","embeddedFooterOnly","showFooterSlot","_jsxs","className","classnames","style","_jsx","ButtonGroup","showLength","place","ModalLocaleRoot","renderWithOptions","value","options","wrapCustomGetContainer","customGetContainer","triggerNode","VIEWPORT_EXAMPLE_SELECTORS","viewportPopupMountOptions","cover","exampleSelectors","findParentModalMountHost","node","closest","parentRoot","parentElement","document","body","resolveModalGetContainer","getPopupContainer","getHostNode","wrappedCustom","custom","from","nestedHost","parentScrollLockCount","parentScrollLocked","lockParentScroll","getScrollElement","targets","scrollEl","includes","push","el","prev","overflow","overscrollBehavior","Math","max","forEach","useLockParentScroll","enabled","useEffect","sizeStyleVars","size","hasFooter","minBase","chrome","minHeight","width","window","min","innerWidth","ModalOuter","title","noPadding","closable","bodyScroll","effectiveNoPadding","bodyInner","bodyClassName","Button","icon","CloseOutlined","stopPropagation","SimpleBar","height","computedCommonProps","mobileFullscreen","fixedModeClass","wrapClassName","classNames","propsClassNames","styles","propsStyles","propsStyle","modalRender","useMobileLayout","sizeVars","cssVars","runChildren","opts","Object","assign","close","modalPanel","centered","mask","container","header","content","maskClosable","prototype","hasOwnProperty","destroyOnHidden","maxWidth","maxHeight","top","margin","paddingBottom","padding","borderRadius","Modal","getContainer","open","hostRef","useRef","anchorRef","useMobilePopupMount","useScrollElement","setAnchorRef","current","getModalContainer","_Fragment","ref","AntdModal","useModal","modal","App","useApp","resolveMount","anchor","activeElement","unlock","api","afterClose","userAfterClose","userOnClose","userOnConfirm","userOnCancel","restProps","closeModal","otherProps","destroy","info","DrawerLocaleRoot","boundaryPopupMountOptions","isVerticalPlacement","placement","findParentDrawerMountHost","resolveDrawerGetContainer","largeDim","dimension","DrawerOuter","computedDrawerProps","rootClassName","propsWidth","propsHeight","drawerRender","vertical","sizeProp","drawerPanel","mobileWrapperClass","panelLayoutStyles","flexDirection","wrapper","flex","section","Drawer","getDrawerContainer","AntdDrawer","usePatchElement","elements","setElements","useState","patchElement","useCallback","element","originElements","ele","drawerApiRef","hookDrawerUuid","HookDrawer","forwardRef","config","hookAfterClose","setOpen","innerConfig","setInnerConfig","useImperativeHandle","update","newConfig","origin","restConfig","mergedAfterClose","args","drawerProps","position","ElementsHolder","memo","_props","useDrawerHolder","holderRef","actionQueue","setActionQueue","cloneQueue","action","drawer","drawerRef","createRef","closeFunc","runOpen","drawerEl","DrawerContextHolder","contextHolder","useDrawer","Error","ConfirmLocaleRoot","ICON_BY_TYPE","InfoCircleFilled","confirm","ExclamationCircleFilled","warning","error","CloseCircleFilled","success","CheckCircleFilled","getIconKind","confirmType","shouldShowDefaultIcon","danger","getConfirmIconNode","kind","IconComponent","confirmStyle","buildConfirmContent","message","iconNode","mobileClass","titleRow","titleIcon","titleText","contentRow","contentText","mapConfirmProps","zIndex","confirmTitle","modalMethod","okText","onOk","modalStyle","useConfirmModal","ScrollRegion","inset","TabsLayout","Tabs","resolveColStyle","minWidth","ColumnsLayout","widths","cols","Children","toArray","child","index","createModalRender","modalDefaults","hostProps","createDrawerRender","drawerDefaults","modalClassNames","stepsForm","splitter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/Footer.js","../src/lockParentScroll.js","../src/Modal.js","../src/Drawer.js","../src/usePatchElement.js","../src/useDrawer.js","../src/useConfirmModal.js","../src/ScrollRegion.js","../src/TabsLayout.js","../src/ColumnsLayout.js","../src/createModalRender.js","../src/createDrawerRender.js","../src/modalClassNames.js"],"sourcesContent":["const locale = {\n Cancel: '取消',\n Confirm: '确定'\n};\n\nexport default locale;\n","const locale = {\n Cancel: 'Cancel',\n Confirm: 'Confirm'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCN,\n 'en-US': enUS\n },\n namespace: 'react-modal'\n});\n\nexport default withLocale;\n","import classnames from 'classnames';\nimport ButtonGroup from '@kne/button-group';\nimport { useIntl } from '@kne/react-intl';\nimport style from './style.module.scss';\n\nconst Footer = ({ footer, footerButtons, onConfirm, onCancel, cancelText, confirmText, onClose, targetProps, isMobile }) => {\n const { formatMessage } = useIntl();\n\n const defaultButtons = [\n {\n children: cancelText || formatMessage({ id: 'Cancel' }),\n onClick: onCancel\n },\n {\n type: 'primary',\n children: confirmText || formatMessage({ id: 'Confirm' }),\n onClick: onConfirm\n }\n ];\n\n const rawList = footerButtons === undefined ? defaultButtons : footerButtons;\n\n const list = (Array.isArray(rawList) ? rawList : [])\n .filter(item => {\n if (typeof item?.display === 'function') {\n return item.display();\n }\n return item?.display !== false;\n })\n .map(({ ButtonComponent, onClick, autoClose = true, display, ...props }) => ({\n ...props,\n buttonComponent: ButtonComponent,\n onClick: async (...args) => {\n const res = await Promise.resolve(onClick && onClick(...args, targetProps));\n autoClose && res !== false && onClose && onClose();\n return res;\n }\n }));\n\n const showButtons = !(Array.isArray(footerButtons) && footerButtons.length === 0) && list.length > 0;\n const embeddedFooterOnly = Array.isArray(footerButtons) && footerButtons.length === 0 && footer != null;\n const showFooterSlot = !isMobile || footer;\n\n if (!showFooterSlot && !showButtons) {\n return null;\n }\n\n return (\n <div\n className={classnames(style['modal-footer'], 'modal-footer', {\n [style['is-mobile']]: isMobile,\n [style['is-embedded-footer']]: embeddedFooterOnly\n })}\n >\n {showFooterSlot ? <div className={style['modal-footer-extra']}>{footer}</div> : null}\n {showButtons ? (\n <div className={style['modal-footer-actions']}>\n <ButtonGroup list={list} showLength={list.length} place={isMobile ? 'center' : 'end'} />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Footer;\n","import { useEffect } from 'react';\n\nlet parentScrollLockCount = 0;\nlet parentScrollLocked = [];\n\n/** Modal / Drawer 共用:锁 body + layout scroll,避免背后页面滚动 */\nexport const lockParentScroll = getScrollElement => {\n parentScrollLockCount += 1;\n if (parentScrollLockCount === 1) {\n const targets = [document.body];\n const scrollEl = typeof getScrollElement === 'function' ? getScrollElement() : null;\n if (scrollEl && scrollEl !== document.body && !targets.includes(scrollEl)) {\n targets.push(scrollEl);\n }\n parentScrollLocked = targets.map(el => {\n const prev = {\n overflow: el.style.overflow,\n overscrollBehavior: el.style.overscrollBehavior\n };\n el.style.overflow = 'hidden';\n el.style.overscrollBehavior = 'none';\n return { el, prev };\n });\n }\n return () => {\n parentScrollLockCount = Math.max(0, parentScrollLockCount - 1);\n if (parentScrollLockCount === 0) {\n parentScrollLocked.forEach(({ el, prev }) => {\n el.style.overflow = prev.overflow;\n el.style.overscrollBehavior = prev.overscrollBehavior;\n });\n parentScrollLocked = [];\n }\n };\n};\n\nexport const useLockParentScroll = (enabled, getScrollElement) => {\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return lockParentScroll(getScrollElement);\n }, [enabled, getScrollElement]);\n};\n\nexport default lockParentScroll;\n","import { useRef } from 'react';\nimport { App, Button, Modal as AntdModal } from 'antd';\nimport { CloseOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { usePopupMount, useScrollElement, hoistOutOfModalRoot } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport Footer from './Footer';\nimport SimpleBar from './SimpleBar';\nimport { lockParentScroll, useLockParentScroll } from './lockParentScroll';\nimport style from './style.module.scss';\n\nexport { lockParentScroll } from './lockParentScroll';\n\nconst ModalLocaleRoot = withLocale(({ children }) => children);\n\nconst renderWithOptions = (value, options) => {\n if (typeof value === 'function') {\n return value(options);\n }\n return value;\n};\n\nconst wrapCustomGetContainer = customGetContainer => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return triggerNode => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst viewportPopupMountOptions = {\n cover: 'viewport',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nexport const resolveModalGetContainer = ({ customGetContainer, getPopupContainer, getHostNode }) => {\n const wrappedCustom = wrapCustomGetContainer(customGetContainer);\n return triggerNode => {\n if (wrappedCustom) {\n const custom = wrappedCustom(triggerNode);\n if (custom) {\n return custom;\n }\n }\n const from = triggerNode || (typeof getHostNode === 'function' ? getHostNode() : null);\n const nestedHost = hoistOutOfModalRoot(from);\n if (nestedHost) {\n return nestedHost;\n }\n return getPopupContainer(triggerNode);\n };\n};\n\nconst sizeStyleVars = (size, hasFooter) => {\n const minBase = size === 'small' ? 300 : 500;\n const chrome = 48 + (hasFooter ? 58 : 0);\n const minHeight = `${Math.max(0, minBase - chrome)}px`;\n if (size === 'large') {\n return {\n width: typeof window !== 'undefined' ? `${Math.min(window.innerWidth - 64, 1500)}px` : '1500px',\n '--kne-modal-body-min-height': minHeight\n };\n }\n if (size === 'small') {\n return {\n width: '600px',\n '--kne-modal-body-min-height': minHeight\n };\n }\n return {\n width: '1000px',\n '--kne-modal-body-min-height': minHeight\n };\n};\n\nconst ModalOuter = ({ title, footer, footerButtons, noPadding, onClose, closable, onConfirm, onCancel, children, targetProps, cancelText, confirmText, isMobile, bodyScroll }) => {\n const effectiveNoPadding = noPadding ?? bodyScroll === false;\n const bodyInner = (\n <div\n className={classnames(style['modal-body-inner'], 'modal-body-inner', {\n [style['no-padding']]: effectiveNoPadding\n })}\n >\n {children}\n </div>\n );\n\n const bodyClassName = classnames(style['modal-body'], 'modal-body');\n // 移动端全屏:body 用 flex 吃满 title/footer 之间剩余高度,footer 才能贴底;\n // 勿写死 --kne-modal-body-height(高度受限类会把该值压矮,footer 悬在中间)\n const bodyStyle = isMobile ? { flex: '1 1 auto', minHeight: 0, height: 'auto' } : { height: 'var(--kne-modal-body-height)' };\n\n return (\n <div\n className={classnames(style['modal-outer'], 'modal-container', {\n [style['is-mobile']]: isMobile,\n [style['no-title']]: !title,\n [style['no-footer']]: footer === null && footerButtons === undefined,\n [style['no-padding']]: effectiveNoPadding\n })}\n data-testid=\"react-modal\"\n >\n {closable === false ? null : (\n <Button\n data-testid=\"react-modal-close-btn\"\n className={classnames(style['modal-close'], 'modal-close')}\n type=\"text\"\n icon={<CloseOutlined />}\n onClick={e => {\n e.stopPropagation();\n onClose && onClose();\n }}\n />\n )}\n {title ? <div className={classnames(style['modal-title'], 'modal-title')}>{title}</div> : null}\n {bodyScroll !== false ? (\n <SimpleBar className={bodyClassName} style={bodyStyle}>\n {bodyInner}\n </SimpleBar>\n ) : (\n <div className={classnames(bodyClassName, style['body-scroll-off'])} style={isMobile ? { flex: '1 1 auto', minHeight: 0 } : undefined}>\n {bodyInner}\n </div>\n )}\n {footer === null && footerButtons === undefined ? null : (\n <Footer footer={footer} footerButtons={footerButtons} onConfirm={onConfirm} confirmText={confirmText} onCancel={onCancel} cancelText={cancelText} onClose={onClose} targetProps={targetProps} isMobile={isMobile} />\n )}\n </div>\n );\n};\n\nconst computedCommonProps = ({\n children,\n footer,\n footerButtons,\n className,\n size = 'default',\n title,\n onClose,\n onConfirm,\n confirmText,\n onCancel,\n cancelText,\n closable,\n noPadding,\n bodyScroll = true,\n isMobile,\n mobileFullscreen = true,\n fixedModeClass,\n wrapClassName,\n classNames: propsClassNames,\n styles: propsStyles,\n style: propsStyle,\n modalRender,\n ...props\n}) => {\n const useMobileLayout = isMobile && mobileFullscreen !== false;\n const hasFooter = !(footer === null && footerButtons === undefined);\n const sizeVars = sizeStyleVars(size, hasFooter);\n const { width, ...cssVars } = sizeVars;\n\n const runChildren = options => {\n const opts = Object.assign({}, options, { close: onClose });\n const modalPanel = (\n <ModalOuter\n title={renderWithOptions(title, opts)}\n closable={closable}\n onClose={onClose}\n onConfirm={onConfirm}\n confirmText={confirmText}\n onCancel={onCancel}\n cancelText={cancelText}\n footerButtons={renderWithOptions(footerButtons, opts)}\n noPadding={noPadding}\n footer={renderWithOptions(footer, opts)}\n targetProps={opts}\n isMobile={useMobileLayout}\n bodyScroll={bodyScroll}\n >\n {renderWithOptions(children, opts)}\n </ModalOuter>\n );\n\n return typeof modalRender === 'function' ? modalRender(modalPanel) : modalPanel;\n };\n\n return {\n ...props,\n icon: null,\n centered: !useMobileLayout,\n width: props.width ?? (useMobileLayout ? 'var(--kne-modal-viewport-width, 100vw)' : width),\n wrapClassName: classnames(wrapClassName, style['modal-wrap'], useMobileLayout ? style['modal-wrap-fullscreen'] : style['modal-wrap-centered'], useMobileLayout && fixedModeClass, modalRender && style['modal-form-host']),\n classNames: Object.assign({}, propsClassNames, {\n mask: classnames(propsClassNames?.mask, useMobileLayout && style['modal-mask-fullscreen'], useMobileLayout && fixedModeClass),\n container: classnames(style['modal-container'], useMobileLayout && style['is-mobile'], propsClassNames?.container),\n body: classnames(style['modal-antd-body'], useMobileLayout && style['is-mobile'], propsClassNames?.body),\n footer: classnames(style['modal-antd-footer'], propsClassNames?.footer),\n header: classnames(style['modal-antd-header'], propsClassNames?.header),\n content: classnames(style['modal-container'], useMobileLayout && style['is-mobile'], propsClassNames?.content)\n }),\n title: null,\n maskClosable: Object.prototype.hasOwnProperty.call(props, 'maskClosable') ? props.maskClosable : false,\n destroyOnHidden: true,\n footer: null,\n closable: false,\n onCancel: onClose,\n className: classnames(className, style['modal'], style[size], {\n [style['is-mobile']]: useMobileLayout\n }),\n style: Object.assign(\n {},\n cssVars,\n propsStyle,\n useMobileLayout\n ? {\n '--kne-modal-viewport-gutter': '0px',\n maxWidth: '100%',\n width: '100%',\n height: 'var(--kne-modal-viewport-height, 100vh)',\n maxHeight: 'var(--kne-modal-viewport-height, 100vh)',\n top: 0,\n margin: 0,\n paddingBottom: 0\n }\n : null\n ),\n styles: {\n ...propsStyles,\n container: {\n padding: 0,\n ...propsStyles?.container,\n ...(useMobileLayout\n ? {\n borderRadius: 0,\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden'\n }\n : null)\n },\n content: {\n padding: 0,\n ...propsStyles?.content\n },\n body: {\n padding: 0,\n ...propsStyles?.body,\n ...(useMobileLayout\n ? {\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden'\n }\n : null)\n }\n },\n children: <ModalLocaleRoot>{runChildren({})}</ModalLocaleRoot>\n };\n};\n\nconst Modal = withLocale(({ size = 'default', getContainer, open, mobileFullscreen = true, bodyScroll = true, ...props }) => {\n const hostRef = useRef(null);\n const { isMobile, fixedModeClass, getPopupContainer, anchorRef } = usePopupMount({\n ...viewportPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(getContainer)\n });\n const getScrollElement = useScrollElement();\n useLockParentScroll(!!open, getScrollElement);\n\n const setAnchorRef = node => {\n hostRef.current = node;\n anchorRef(node);\n };\n\n const getModalContainer = resolveModalGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current\n });\n\n return (\n <>\n <span ref={setAnchorRef} className={style['modal-host']} aria-hidden=\"true\" />\n <AntdModal\n {...computedCommonProps(\n Object.assign({}, props, {\n size,\n isMobile,\n open,\n fixedModeClass,\n mobileFullscreen,\n bodyScroll\n })\n )}\n open={open}\n getContainer={getModalContainer}\n />\n </>\n );\n});\n\nexport const useModal = () => {\n const { modal } = App.useApp();\n const { resolveMount, getPopupContainer } = usePopupMount(viewportPopupMountOptions);\n const getScrollElement = useScrollElement();\n\n return props => {\n const anchor = typeof document !== 'undefined' ? document.activeElement : null;\n const { isMobile, fixedModeClass } = resolveMount(anchor);\n const unlock = lockParentScroll(getScrollElement);\n const api = {};\n const { afterClose: userAfterClose, getContainer: customGetContainer, onClose: userOnClose, onConfirm: userOnConfirm, onCancel: userOnCancel, ...restProps } = props;\n\n const closeModal = () => {\n api.close?.();\n };\n\n const { children, getContainer, afterClose, ...otherProps } = computedCommonProps({\n ...restProps,\n isMobile,\n fixedModeClass,\n onClose: () => {\n userOnClose?.();\n closeModal();\n },\n onCancel: (...args) => {\n userOnCancel?.(...args);\n closeModal();\n },\n onConfirm: async (...args) => {\n const res = await Promise.resolve(userOnConfirm?.(...args));\n if (res !== false) {\n closeModal();\n }\n return res;\n },\n afterClose: (...args) => {\n unlock();\n userAfterClose?.(...args);\n }\n });\n const { destroy } = modal.info({\n ...otherProps,\n afterClose,\n content: children,\n getContainer: resolveModalGetContainer({\n customGetContainer: customGetContainer ?? getContainer,\n getPopupContainer,\n getHostNode: () => anchor\n })\n });\n api.close = destroy;\n return api;\n };\n};\n\nexport default Modal;\n","import { useRef } from 'react';\nimport { Button, Drawer as AntdDrawer } from 'antd';\nimport { CloseOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { usePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport Footer from './Footer';\nimport SimpleBar from './SimpleBar';\nimport { lockParentScroll, useLockParentScroll } from './lockParentScroll';\nimport style from './drawer.module.scss';\n\nexport { lockParentScroll } from './lockParentScroll';\n\nconst DrawerLocaleRoot = withLocale(({ children }) => children);\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\n// 与 Modal 一致:真机挂 body+fixed;示例框 / container 模式仍走 boundary(usePopupMount 内判定)\nconst viewportPopupMountOptions = {\n cover: 'viewport',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst renderWithOptions = (value, options) => {\n if (typeof value === 'function') {\n return value(options);\n }\n return value;\n};\n\nconst wrapCustomGetContainer = customGetContainer => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return triggerNode => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst isVerticalPlacement = placement => placement === 'top' || placement === 'bottom';\n\nconst findParentDrawerMountHost = node => {\n if (!node || typeof node.closest !== 'function') {\n return null;\n }\n const parentRoot = node.closest('.ant-drawer-root');\n if (!parentRoot) {\n return null;\n }\n return parentRoot.parentElement || (typeof document !== 'undefined' ? document.body : null);\n};\n\nexport const resolveDrawerGetContainer = ({ customGetContainer, getPopupContainer, getHostNode }) => {\n const wrappedCustom = wrapCustomGetContainer(customGetContainer);\n return triggerNode => {\n if (wrappedCustom) {\n const custom = wrappedCustom(triggerNode);\n if (custom) {\n return custom;\n }\n }\n const from = triggerNode || (typeof getHostNode === 'function' ? getHostNode() : null);\n const nestedHost = findParentDrawerMountHost(from);\n if (nestedHost) {\n return nestedHost;\n }\n return getPopupContainer(triggerNode);\n };\n};\n\nconst sizeStyleVars = (size, hasFooter) => {\n const minBase = size === 'small' ? 300 : 500;\n const chrome = 48 + (hasFooter ? 69 : 0);\n const minHeight = `${Math.max(0, minBase - chrome)}px`;\n const largeDim = typeof window !== 'undefined' ? `${Math.min(window.innerWidth - 64, 1500)}px` : '1500px';\n\n if (size === 'large') {\n return { dimension: largeDim, '--kne-drawer-body-min-height': minHeight };\n }\n if (size === 'small') {\n return { dimension: '600px', '--kne-drawer-body-min-height': minHeight };\n }\n return { dimension: '1000px', '--kne-drawer-body-min-height': minHeight };\n};\n\nconst DrawerOuter = ({ title, footer, footerButtons, noPadding, onClose, closable, onConfirm, onCancel, children, targetProps, cancelText, confirmText, isMobile, bodyScroll }) => {\n const effectiveNoPadding = noPadding ?? bodyScroll === false;\n const bodyInner = (\n <div\n className={classnames(style['drawer-body-inner'], 'drawer-body-inner', 'modal-body-inner', {\n [style['no-padding']]: effectiveNoPadding\n })}\n >\n {children}\n </div>\n );\n\n const bodyClassName = classnames(style['drawer-body'], 'drawer-body', 'modal-body');\n\n return (\n <div\n className={classnames(style['drawer-outer'], 'drawer-container', {\n [style['is-mobile']]: isMobile,\n [style['no-title']]: !title,\n [style['no-footer']]: footer === null && footerButtons === undefined,\n [style['no-padding']]: effectiveNoPadding\n })}\n data-testid=\"react-drawer\"\n >\n {closable === false ? null : (\n <Button\n data-testid=\"react-drawer-close-btn\"\n className={classnames(style['drawer-close'], 'drawer-close')}\n type=\"text\"\n icon={<CloseOutlined />}\n onClick={e => {\n e.stopPropagation();\n onClose && onClose();\n }}\n />\n )}\n {title ? <div className={classnames(style['drawer-title'], 'drawer-title', 'modal-title')}>{title}</div> : null}\n {bodyScroll !== false ? (\n <SimpleBar className={bodyClassName} style={{ height: 'var(--kne-drawer-body-height)' }}>\n {bodyInner}\n </SimpleBar>\n ) : (\n <div className={classnames(bodyClassName, style['body-scroll-off'])}>{bodyInner}</div>\n )}\n {footer === null && footerButtons === undefined ? null : (\n <Footer footer={footer} footerButtons={footerButtons} onConfirm={onConfirm} confirmText={confirmText} onCancel={onCancel} cancelText={cancelText} onClose={onClose} targetProps={targetProps} isMobile={isMobile} />\n )}\n </div>\n );\n};\n\nexport const computedDrawerProps = ({\n children,\n footer,\n footerButtons,\n className,\n size = 'default',\n placement = 'right',\n title,\n onClose,\n onConfirm,\n confirmText,\n onCancel,\n cancelText,\n closable,\n noPadding,\n bodyScroll = true,\n isMobile,\n fixedModeClass,\n rootClassName,\n classNames: propsClassNames,\n styles: propsStyles,\n style: propsStyle,\n width: propsWidth,\n height: propsHeight,\n modalRender,\n drawerRender,\n ...props\n}) => {\n const vertical = isVerticalPlacement(placement);\n const hasFooter = !(footer === null && footerButtons === undefined);\n const { dimension, ...cssVars } = sizeStyleVars(size, hasFooter);\n const sizeProp = vertical ? { height: propsHeight ?? dimension } : { width: propsWidth ?? dimension };\n\n const runChildren = options => {\n const opts = Object.assign({}, options, { close: onClose });\n const drawerPanel = (\n <div className={classnames(style['drawer-panel-host'], 'drawer-panel-host')}>\n <div className={classnames(style['drawer-panel-body'], 'drawer-panel-body')}>\n <DrawerOuter\n title={renderWithOptions(title, opts)}\n closable={closable}\n onClose={onClose}\n onConfirm={onConfirm}\n confirmText={confirmText}\n onCancel={onCancel}\n cancelText={cancelText}\n footerButtons={renderWithOptions(footerButtons, opts)}\n noPadding={noPadding}\n footer={renderWithOptions(footer, opts)}\n targetProps={opts}\n isMobile={isMobile}\n bodyScroll={bodyScroll}\n >\n {renderWithOptions(children, opts)}\n </DrawerOuter>\n </div>\n </div>\n );\n\n return typeof modalRender === 'function' ? modalRender(drawerPanel) : drawerPanel;\n };\n\n const mobileWrapperClass = isMobile ? (vertical ? style['drawer-wrapper-mobile-vertical'] : style['drawer-wrapper-mobile']) : null;\n\n const panelLayoutStyles = {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n padding: 0\n };\n\n return {\n ...props,\n ...(drawerRender ? { drawerRender } : null),\n placement,\n ...sizeProp,\n title: null,\n maskClosable: Object.prototype.hasOwnProperty.call(props, 'maskClosable') ? props.maskClosable : false,\n destroyOnHidden: true,\n footer: null,\n closable: false,\n onClose,\n rootClassName: classnames(rootClassName, isMobile && style['drawer-root-mobile'], isMobile && fixedModeClass, modalRender && style['drawer-form-host'], drawerRender && style['drawer-host-render']),\n classNames: Object.assign({}, propsClassNames, {\n header: classnames(style['drawer-antd-header'], propsClassNames?.header),\n footer: classnames(style['drawer-antd-footer'], propsClassNames?.footer),\n body: classnames(style['drawer-antd-body'], isMobile && style['is-mobile'], propsClassNames?.body),\n wrapper: classnames(propsClassNames?.wrapper, mobileWrapperClass),\n mask: classnames(propsClassNames?.mask, isMobile && fixedModeClass)\n }),\n className: classnames(className, style['drawer'], style[size], {\n [style['is-mobile']]: isMobile\n }),\n style: Object.assign({}, cssVars, propsStyle, vertical ? { '--kne-drawer-viewport-height': dimension } : null),\n styles: {\n ...propsStyles,\n body: {\n padding: 0,\n ...propsStyles?.body,\n flex: '1 1 auto',\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n ...(isMobile ? { height: '100%', maxHeight: '100%' } : null)\n },\n section: {\n ...panelLayoutStyles,\n ...propsStyles?.section,\n ...propsStyles?.content\n },\n wrapper: {\n ...propsStyles?.wrapper,\n ...(vertical ? { height: 'var(--kne-drawer-viewport-height, 100vh)', maxHeight: '100%' } : { height: '100%' }),\n ...(isMobile && !vertical ? { width: 'var(--kne-viewport-width, 100vw)', maxWidth: '100%' } : null),\n ...(isMobile && vertical ? { height: 'var(--kne-viewport-height, 100vh)', maxHeight: '100%' } : null)\n }\n },\n children: <DrawerLocaleRoot>{runChildren({})}</DrawerLocaleRoot>\n };\n};\n\nconst Drawer = withLocale(({ size = 'default', placement = 'right', getContainer, open, bodyScroll = true, ...props }) => {\n const hostRef = useRef(null);\n const { isMobile, fixedModeClass, getPopupContainer, anchorRef } = usePopupMount({\n ...viewportPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(getContainer)\n });\n const getScrollElement = useScrollElement();\n useLockParentScroll(!!open, getScrollElement);\n\n const setAnchorRef = node => {\n hostRef.current = node;\n anchorRef(node);\n };\n\n const getDrawerContainer = resolveDrawerGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current\n });\n\n return (\n <>\n <span ref={setAnchorRef} className={style['drawer-host']} aria-hidden=\"true\" />\n <AntdDrawer\n {...computedDrawerProps(\n Object.assign({}, props, {\n size,\n placement,\n isMobile,\n open,\n fixedModeClass,\n bodyScroll\n })\n )}\n open={open}\n getContainer={getDrawerContainer}\n />\n </>\n );\n});\n\nexport default Drawer;\n","import { useCallback, useState } from 'react';\n\nconst usePatchElement = () => {\n const [elements, setElements] = useState([]);\n const patchElement = useCallback(element => {\n setElements(originElements => [...originElements, element]);\n return () => {\n setElements(originElements => originElements.filter(ele => ele !== element));\n };\n }, []);\n return [elements, patchElement];\n};\n\nexport default usePatchElement;\n","import { createRef, forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { Drawer as AntdDrawer } from 'antd';\nimport { usePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport { computedDrawerProps, lockParentScroll, resolveDrawerGetContainer } from './Drawer';\nimport usePatchElement from './usePatchElement';\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\n// 与 Modal / Drawer 一致:真机 viewport;示例框 / container 仍 boundary\nconst viewportPopupMountOptions = {\n cover: 'viewport',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst wrapCustomGetContainer = customGetContainer => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return triggerNode => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst drawerApiRef = { current: null };\n\nlet hookDrawerUuid = 0;\n\nconst HookDrawer = forwardRef(({ config, afterClose: hookAfterClose }, ref) => {\n const [open, setOpen] = useState(true);\n const [innerConfig, setInnerConfig] = useState(config);\n const hostRef = useRef(null);\n const { getPopupContainer, anchorRef } = usePopupMount({\n ...viewportPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(innerConfig.getContainer)\n });\n\n const close = () => {\n setOpen(false);\n };\n\n useImperativeHandle(ref, () => ({\n destroy: close,\n update: newConfig => {\n setInnerConfig(origin => Object.assign({}, origin, typeof newConfig === 'function' ? newConfig(origin) : newConfig));\n }\n }));\n\n const { getContainer, afterClose: userAfterClose, ...restConfig } = innerConfig;\n const mergedAfterClose = (...args) => {\n hookAfterClose && hookAfterClose(...args);\n userAfterClose && userAfterClose(...args);\n };\n\n const drawerProps = computedDrawerProps({\n ...restConfig,\n onClose: close,\n afterClose: mergedAfterClose\n });\n\n const getDrawerContainer = resolveDrawerGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current\n });\n\n return (\n <>\n <span\n ref={node => {\n hostRef.current = node;\n anchorRef(node);\n }}\n aria-hidden=\"true\"\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n />\n <AntdDrawer {...drawerProps} open={open} getContainer={getDrawerContainer} />\n </>\n );\n});\n\nconst ElementsHolder = memo(\n forwardRef((_props, ref) => {\n const [elements, patchElement] = usePatchElement();\n useImperativeHandle(ref, () => ({ patchElement }), [patchElement]);\n return <>{elements}</>;\n })\n);\n\nconst useDrawerHolder = () => {\n const holderRef = useRef(null);\n const [actionQueue, setActionQueue] = useState([]);\n const { resolveMount, getPopupContainer } = usePopupMount(viewportPopupMountOptions);\n const getScrollElement = useScrollElement();\n\n useEffect(() => {\n if (actionQueue.length) {\n const cloneQueue = [...actionQueue];\n cloneQueue.forEach(action => action());\n setActionQueue([]);\n }\n }, [actionQueue]);\n\n const drawer = useCallback(\n props => {\n hookDrawerUuid += 1;\n const drawerRef = createRef();\n const api = {};\n let closeFunc;\n let unlock = () => {};\n\n const runOpen = () => {\n const anchor = typeof document !== 'undefined' ? document.activeElement : null;\n const { isMobile, fixedModeClass } = resolveMount(anchor);\n unlock = lockParentScroll(getScrollElement);\n const { afterClose: userAfterClose, getContainer: customGetContainer, ...restProps } = props;\n\n const drawerEl = (\n <HookDrawer\n key={`react-drawer-${hookDrawerUuid}`}\n ref={drawerRef}\n config={{\n ...restProps,\n isMobile,\n fixedModeClass,\n getContainer: customGetContainer,\n onClose: () => api.close(),\n afterClose: (...args) => {\n unlock();\n userAfterClose && userAfterClose(...args);\n }\n }}\n afterClose={() => {\n closeFunc && closeFunc();\n }}\n />\n );\n\n closeFunc = holderRef.current?.patchElement(drawerEl);\n };\n\n if (holderRef.current?.patchElement) {\n runOpen();\n } else {\n setActionQueue(prev => [...prev, runOpen]);\n }\n\n api.close = () => {\n if (drawerRef.current) {\n drawerRef.current.destroy();\n } else {\n setActionQueue(prev => [...prev, () => drawerRef.current?.destroy()]);\n }\n };\n\n return api;\n },\n [getScrollElement, resolveMount]\n );\n\n return [drawer, <ElementsHolder key=\"drawer-elements-holder\" ref={holderRef} />];\n};\n\nexport const DrawerContextHolder = () => {\n const [drawer, contextHolder] = useDrawerHolder();\n drawerApiRef.current = drawer;\n return contextHolder;\n};\n\nexport const useDrawer = () => {\n if (!drawerApiRef.current) {\n throw new Error('useDrawer requires <DrawerContextHolder /> mounted inside <App> before calling useDrawer()');\n }\n return drawerApiRef.current;\n};\n\nexport default useDrawer;\n","import { App } from 'antd';\nimport { CheckCircleFilled, CloseCircleFilled, ExclamationCircleFilled, InfoCircleFilled } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { usePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport { lockParentScroll, resolveModalGetContainer } from './Modal';\nimport modalStyle from './style.module.scss';\nimport confirmStyle from './confirmModal.module.scss';\n\nconst ConfirmLocaleRoot = withLocale(({ children }) => children);\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst viewportPopupMountOptions = {\n cover: 'viewport',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS\n};\n\nconst ICON_BY_TYPE = {\n info: InfoCircleFilled,\n confirm: ExclamationCircleFilled,\n warning: ExclamationCircleFilled,\n error: CloseCircleFilled,\n success: CheckCircleFilled\n};\n\nconst getIconKind = (type, confirmType) => (type === 'confirm' ? confirmType : type);\n\nconst shouldShowDefaultIcon = ({ type, danger, icon }) => {\n if (icon === false || icon === null) {\n return false;\n }\n if (type === 'confirm') {\n return !!danger;\n }\n return ['info', 'success', 'warning', 'error'].includes(type);\n};\n\nconst getConfirmIconNode = ({ type, confirmType = 'info', danger, icon }) => {\n if (icon) {\n return icon;\n }\n if (!shouldShowDefaultIcon({ type, danger, icon })) {\n return null;\n }\n const kind = getIconKind(type, confirmType);\n const IconComponent = ICON_BY_TYPE[kind] || ICON_BY_TYPE.info;\n return <IconComponent className={classnames(confirmStyle['title-icon'], confirmStyle[`title-icon-${kind}`])} />;\n};\n\nconst buildConfirmContent = ({ type, confirmType, title, message, danger, icon, isMobile }) => {\n const iconNode = getConfirmIconNode({ type, confirmType, danger, icon });\n const mobileClass = isMobile ? confirmStyle['is-mobile-block'] : null;\n\n return {\n title: title ? (\n <div\n className={classnames(confirmStyle.titleRow, mobileClass)}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n {iconNode ? <span className={confirmStyle.titleIcon}>{iconNode}</span> : null}\n <div className={confirmStyle.titleText}>{title}</div>\n </div>\n ) : null,\n content: (\n <div\n className={classnames(confirmStyle.contentRow, mobileClass, {\n [confirmStyle['has-title']]: title,\n [confirmStyle['has-icon']]: !!iconNode && title\n })}\n >\n {!title && iconNode ? <span className={confirmStyle.titleIcon}>{iconNode}</span> : null}\n <div className={confirmStyle.contentText}>{message}</div>\n </div>\n )\n };\n};\n\nconst mapConfirmProps = (props, { isMobile, fixedModeClass, getPopupContainer, anchor, unlock, userAfterClose }) => {\n const {\n type = 'confirm',\n icon,\n title,\n danger,\n wrapClassName,\n message,\n confirmType = 'info',\n getContainer: customGetContainer,\n onConfirm,\n onCancel,\n confirmText,\n cancelText,\n afterClose,\n zIndex,\n ...otherProps\n } = {\n maskClosable: false,\n ...props\n };\n\n const { title: confirmTitle, content } = buildConfirmContent({\n type,\n confirmType,\n title,\n message,\n danger,\n icon,\n isMobile\n });\n\n return {\n modalMethod: type,\n config: {\n ...otherProps,\n zIndex: zIndex ?? 1100,\n okText: confirmText ?? otherProps.okText,\n cancelText: cancelText ?? otherProps.cancelText,\n onOk: onConfirm ?? otherProps.onOk,\n onCancel: onCancel ?? otherProps.onCancel,\n getContainer: resolveModalGetContainer({\n customGetContainer,\n getPopupContainer,\n getHostNode: () => anchor\n }),\n centered: true,\n afterClose: (...args) => {\n unlock();\n userAfterClose && userAfterClose(...args);\n afterClose && afterClose(...args);\n },\n icon: null,\n classNames: {\n mask: classnames(isMobile && modalStyle['modal-mask-fullscreen'], isMobile && fixedModeClass, otherProps.classNames?.mask)\n },\n wrapClassName: classnames(modalStyle['modal-wrap'], modalStyle['modal-wrap-centered'], confirmStyle['confirm-modal-wrap'], wrapClassName, {\n [confirmStyle['is-danger']]: danger,\n [confirmStyle['is-mobile']]: isMobile,\n [fixedModeClass]: isMobile\n }),\n title: confirmTitle ? <ConfirmLocaleRoot>{confirmTitle}</ConfirmLocaleRoot> : null,\n content: <ConfirmLocaleRoot>{content}</ConfirmLocaleRoot>\n }\n };\n};\n\nexport const useConfirmModal = () => {\n const { modal } = App.useApp();\n const { resolveMount, getPopupContainer } = usePopupMount(viewportPopupMountOptions);\n const getScrollElement = useScrollElement();\n\n return props => {\n const anchor = typeof document !== 'undefined' ? document.activeElement : null;\n const { isMobile, fixedModeClass } = resolveMount(anchor);\n const unlock = lockParentScroll(getScrollElement);\n const api = {};\n const { afterClose: userAfterClose, ...restProps } = props;\n const { modalMethod, config } = mapConfirmProps(\n {\n ...restProps,\n onClose: () => api.close()\n },\n {\n isMobile,\n fixedModeClass,\n getPopupContainer,\n anchor,\n unlock,\n userAfterClose\n }\n );\n\n if (typeof modal[modalMethod] === 'function') {\n const { destroy } = modal[modalMethod](config);\n api.close = destroy;\n } else {\n unlock();\n api.close = () => {};\n }\n\n return api;\n };\n};\n\nexport default useConfirmModal;\n","import classnames from 'classnames';\nimport SimpleBar from './SimpleBar';\nimport styles from './layouts.module.scss';\n\nconst ScrollRegion = ({ className, inset = false, children, ...props }) => (\n <SimpleBar className={classnames(styles['modal-scroll-region'], 'modal-scroll-region', inset && styles['is-inset'], className)} {...props}>\n <div className={styles['modal-scroll-region-inner']}>{children}</div>\n </SimpleBar>\n);\n\nexport default ScrollRegion;\n","import { Tabs } from 'antd';\nimport classnames from 'classnames';\nimport styles from './layouts.module.scss';\n\nconst TabsLayout = ({ className, destroyOnHidden = true, ...props }) => <Tabs className={classnames(styles['modal-tabs-layout'], className)} destroyOnHidden={destroyOnHidden} {...props} />;\n\nexport default TabsLayout;\n","import { Children } from 'react';\nimport classnames from 'classnames';\nimport styles from './layouts.module.scss';\n\nconst resolveColStyle = width => {\n if (width == null || width === '1fr') {\n return { flex: '1 1 0%', minWidth: 0 };\n }\n return { flex: 'none', width, minWidth: 0 };\n};\n\nconst ColumnsLayout = ({ widths, className, children, ...props }) => {\n const cols = Children.toArray(children);\n\n return (\n <div className={classnames(styles['modal-columns-layout'], className)} {...props}>\n {cols.map((child, index) => (\n <div key={index} className={styles['modal-columns-layout__col']} style={widths ? resolveColStyle(widths[index]) : undefined}>\n {child}\n </div>\n ))}\n </div>\n );\n};\n\nexport default ColumnsLayout;\n","import Modal from './Modal';\n\nconst createModalRender = modalDefaults => hostProps => <Modal {...modalDefaults} {...hostProps} />;\n\nexport default createModalRender;\n","import Drawer from './Drawer';\n\nconst createDrawerRender = drawerDefaults => hostProps => <Drawer {...drawerDefaults} {...hostProps} />;\n\nexport default createDrawerRender;\n","export const modalClassNames = {\n stepsForm: 'react-modal-steps-form',\n splitter: 'react-modal-splitter'\n};\n\nexport default modalClassNames;\n"],"names":["locale","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","Footer","footer","footerButtons","onConfirm","onCancel","cancelText","confirmText","onClose","targetProps","isMobile","formatMessage","useIntl","defaultButtons","children","id","onClick","type","rawList","undefined","list","Array","isArray","filter","item","display","map","ButtonComponent","autoClose","props","buttonComponent","_arguments","arguments","Promise","resolve","slice","call","then","res","e","reject","showButtons","length","embeddedFooterOnly","showFooterSlot","_jsxs","className","classnames","style","_jsx","ButtonGroup","showLength","place","parentScrollLockCount","parentScrollLocked","lockParentScroll","getScrollElement","targets","document","body","scrollEl","includes","push","el","prev","overflow","overscrollBehavior","Math","max","forEach","useLockParentScroll","enabled","useEffect","ModalLocaleRoot","renderWithOptions","value","options","wrapCustomGetContainer","customGetContainer","triggerNode","VIEWPORT_EXAMPLE_SELECTORS","viewportPopupMountOptions","cover","exampleSelectors","resolveModalGetContainer","getPopupContainer","getHostNode","wrappedCustom","custom","from","nestedHost","hoistOutOfModalRoot","sizeStyleVars","size","hasFooter","minBase","chrome","minHeight","width","window","min","innerWidth","ModalOuter","title","noPadding","closable","bodyScroll","effectiveNoPadding","bodyInner","bodyClassName","bodyStyle","flex","height","Button","icon","CloseOutlined","stopPropagation","SimpleBar","computedCommonProps","mobileFullscreen","fixedModeClass","wrapClassName","classNames","propsClassNames","styles","propsStyles","propsStyle","modalRender","useMobileLayout","sizeVars","cssVars","runChildren","opts","Object","assign","close","modalPanel","centered","mask","container","header","content","maskClosable","prototype","hasOwnProperty","destroyOnHidden","maxWidth","maxHeight","top","margin","paddingBottom","padding","borderRadius","Modal","getContainer","open","hostRef","useRef","anchorRef","usePopupMount","useScrollElement","setAnchorRef","node","current","getModalContainer","_Fragment","ref","AntdModal","useModal","modal","App","useApp","resolveMount","anchor","activeElement","unlock","api","afterClose","userAfterClose","userOnClose","userOnConfirm","userOnCancel","restProps","closeModal","otherProps","destroy","info","DrawerLocaleRoot","isVerticalPlacement","placement","findParentDrawerMountHost","closest","parentRoot","parentElement","resolveDrawerGetContainer","largeDim","dimension","DrawerOuter","computedDrawerProps","rootClassName","propsWidth","propsHeight","drawerRender","vertical","sizeProp","drawerPanel","mobileWrapperClass","panelLayoutStyles","flexDirection","wrapper","section","Drawer","getDrawerContainer","AntdDrawer","usePatchElement","elements","setElements","useState","patchElement","useCallback","element","originElements","ele","drawerApiRef","hookDrawerUuid","HookDrawer","forwardRef","config","hookAfterClose","setOpen","innerConfig","setInnerConfig","useImperativeHandle","update","newConfig","origin","restConfig","mergedAfterClose","args","drawerProps","position","ElementsHolder","memo","_props","useDrawerHolder","holderRef","actionQueue","setActionQueue","cloneQueue","action","drawer","drawerRef","createRef","closeFunc","runOpen","drawerEl","DrawerContextHolder","contextHolder","useDrawer","Error","ConfirmLocaleRoot","ICON_BY_TYPE","InfoCircleFilled","confirm","ExclamationCircleFilled","warning","error","CloseCircleFilled","success","CheckCircleFilled","getIconKind","confirmType","shouldShowDefaultIcon","danger","getConfirmIconNode","kind","IconComponent","confirmStyle","buildConfirmContent","message","iconNode","mobileClass","titleRow","titleIcon","titleText","contentRow","contentText","mapConfirmProps","zIndex","confirmTitle","modalMethod","okText","onOk","modalStyle","useConfirmModal","ScrollRegion","inset","TabsLayout","Tabs","resolveColStyle","minWidth","ColumnsLayout","widths","cols","Children","toArray","child","index","createModalRender","modalDefaults","hostProps","createDrawerRender","drawerDefaults","modalClassNames","stepsForm","splitter"],"mappings":"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"}
|