@kne/system-layout 0.2.0-alpha.22 → 0.2.0-alpha.24
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 +593 -18
- package/dist/{index-677f911f.js → index-ce544506.js} +1 -1
- package/dist/{index-677f911f.js.map → index-ce544506.js.map} +1 -1
- package/dist/index.css +464 -83
- package/dist/index.css.map +1 -1
- package/dist/index.js +125 -45
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +126 -45
- package/dist/index.modern.js.map +1 -1
- package/package.json +3 -1
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/Layout/UserCard.js","../src/Menu/index.js","../src/context.js","../src/Toolbar/index.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/ErrorComponent/index.js","../src/Layout/index.js","../src/Page/index.js","../src/isMobile.js","../src/themeToken.js","../src/index.js"],"sourcesContent":["import { Image } from '@kne/react-file';\nimport { Flex } from 'antd';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst UserCard = ({ name, avatar, email, phone, description, menuOpen, extra }) => {\n if (!menuOpen) {\n return <Image.Avatar id={avatar} src={avatar} shape=\"circle\" size={40} alt=\"avatar\" />;\n }\n return (\n <Flex gap={12} justify=\"center\">\n <Image.Avatar id={avatar} src={avatar} shape=\"circle\" size={40} alt=\"avatar\" />\n <Flex vertical>\n <div className={classnames('username', style['username'])}>{name || '-'}</div>\n <div className={classnames('user-description', style['user-description'])}>{email || phone || description || '-'}</div>\n {extra}\n </Flex>\n </Flex>\n );\n};\n\nexport default UserCard;\n","import { Flex } from 'antd';\nimport { isValidElement, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport classnames from 'classnames';\nimport Icon from '@kne/react-icon';\nimport ensureSlash from '@kne/ensure-slash';\nimport isPlainObject from 'lodash/isPlainObject';\nimport VirtualList from 'rc-virtual-list';\nimport style from './style.module.scss';\n\nconst MENU_ITEM_HEIGHT = 52;\nconst MENU_GROUP_HEIGHT = 48;\nconst MENU_GROUP_SPLIT_HEIGHT = 17;\n\nconst getItemKey = (item, index) => item.key || item.path || index;\n\nconst Menu = ({ className, menuOpen, items, activeKey, base = '', onChange }) => {\n const location = useLocation();\n const navigate = useNavigate();\n const listRef = useRef(null);\n const virtualListRef = useRef(null);\n const [listHeight, setListHeight] = useState(0);\n const currentPathname = base ? location.pathname.replace(new RegExp(`^${base}`), '') : location.pathname;\n\n const isItemActive = useCallback(\n item => {\n if (typeof activeKey === 'string') {\n return activeKey === item.key;\n }\n if (typeof activeKey === 'function') {\n return activeKey(item, { menuOpen, base });\n }\n if (typeof item.path === 'string') {\n return ensureSlash(currentPathname) === ensureSlash(item.path);\n }\n return false;\n },\n [activeKey, base, currentPathname, menuOpen]\n );\n\n const getEstimatedItemHeight = useCallback(\n (item, index) => {\n const hasGroup = item.group && item.group !== items[index - 1]?.group;\n if (!hasGroup) {\n return MENU_ITEM_HEIGHT;\n }\n return MENU_ITEM_HEIGHT + (menuOpen ? MENU_GROUP_HEIGHT : MENU_GROUP_SPLIT_HEIGHT);\n },\n [items, menuOpen]\n );\n\n const estimatedItemHeight = useMemo(() => {\n if (!items.length) {\n return MENU_ITEM_HEIGHT;\n }\n const total = items.reduce((sum, item, index) => sum + getEstimatedItemHeight(item, index), 0);\n return Math.max(MENU_ITEM_HEIGHT, Math.ceil(total / items.length));\n }, [getEstimatedItemHeight, items]);\n\n const listData = useMemo(\n () =>\n items.map((item, index) => ({\n item,\n index,\n key: getItemKey(item, index)\n })),\n [items]\n );\n\n const activeIndex = useMemo(() => listData.findIndex(({ item }) => isItemActive(item)), [isItemActive, listData]);\n\n useLayoutEffect(() => {\n const el = listRef.current;\n if (!el) {\n return;\n }\n const updateHeight = () => {\n const styles = getComputedStyle(el);\n const paddingY = parseFloat(styles.paddingTop) + parseFloat(styles.paddingBottom);\n setListHeight(el.clientHeight - paddingY);\n };\n updateHeight();\n const observer = new ResizeObserver(updateHeight);\n observer.observe(el);\n return () => observer.disconnect();\n }, []);\n\n useLayoutEffect(() => {\n if (activeIndex < 0 || listHeight <= 0) {\n return;\n }\n virtualListRef.current?.scrollTo({\n index: activeIndex,\n align: 'auto'\n });\n }, [activeIndex, listHeight, menuOpen, listData.length]);\n\n const renderMenuItem = (item, index) => {\n const active = isItemActive(item);\n const icon = typeof item.icon === 'function' ? item.icon({ menuOpen, active }) : item.icon;\n const hasGroup = item.group && item.group !== items[index - 1]?.group;\n\n return (\n <div\n key={getItemKey(item, index)}\n title={item.label}\n onClick={e => {\n if (active) {\n return;\n }\n onChange && onChange(item, { menuOpen, base });\n if (typeof item.onClick === 'function') {\n item.onClick(item, { menuOpen, base, event: e });\n return;\n }\n if (item.path) {\n navigate(ensureSlash(`${base}${item.path}`));\n }\n }}\n >\n {hasGroup && menuOpen ? <div className={classnames('menu-group', style['menu-group'])}>{item.groupLabel || item.group}</div> : null}\n {hasGroup && !menuOpen ? <div className={classnames('menu-group-split', style['menu-group-split'])} /> : null}\n <Flex\n className={classnames('menu-item', style['menu-item'], {\n ['is-active']: active,\n ['is-closed']: !menuOpen\n })}\n align=\"center\"\n gap={8}\n >\n {(icon => {\n if (typeof icon === 'string') {\n return <Icon className={classnames('menu-item-icon', style['menu-item-icon'])} type={icon} fontClassName=\"system\" />;\n }\n\n if (isValidElement(icon)) {\n return <span className={classnames('menu-item-icon', style['menu-item-icon'])}>{icon}</span>;\n }\n\n if (isPlainObject(icon) && typeof icon.type === 'string') {\n return <Icon {...icon} className={classnames('menu-item-icon', style['menu-item-icon'])} />;\n }\n\n return null;\n })(icon)}\n {menuOpen && item.label}\n </Flex>\n </div>\n );\n };\n\n return (\n <div ref={listRef} className={classnames('menu', className, style['menu-list'])}>\n {listHeight > 0 ? (\n <VirtualList ref={virtualListRef} data={listData} height={listHeight} itemHeight={estimatedItemHeight} itemKey=\"key\" virtual={listData.length > 0}>\n {({ item, index }) => renderMenuItem(item, index)}\n </VirtualList>\n ) : null}\n </div>\n );\n};\n\nexport default Menu;\n","import { createContext, useContext as useReactContext } from 'react';\n\nconst context = createContext({});\n\nexport const useContext = () => {\n return useReactContext(context);\n};\n\nexport const { Provider, Consumer } = context;\n\nexport default context;\n","import { createPortal } from 'react-dom';\nimport { Flex } from 'antd';\nimport ensureSlash from '@kne/ensure-slash';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport Icon from '@kne/react-icon';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport { isValidElement, useRef, useLayoutEffect, useState, useEffect } from 'react';\nimport isPlainObject from 'lodash/isPlainObject';\nimport { useScrollElement, usePopupContainer, useResponsiveContext, useIsMobile } from '@kne/responsive-utils';\nimport { useContext } from '../context';\n\nconst resolveTarget = target => {\n if (!target) {\n return null;\n }\n return typeof target === 'function' ? target() : target;\n};\n\nconst Toolbar = ({ show = true, className, items, activeKey, base = '', onChange, target }) => {\n const location = useLocation();\n const navigate = useNavigate();\n const getScrollElement = useScrollElement();\n const getBoundaryElement = usePopupContainer();\n const { mode } = useResponsiveContext();\n const isMobile = useIsMobile();\n const { scrollReady } = useContext();\n const currentPathname = base ? location.pathname.replace(new RegExp(`^${base}`), '') : location.pathname;\n const toolbarMenu = items.filter(item => item.toolbar);\n const itemRefs = useRef([]);\n const firstRenderRef = useRef(true);\n const [indicator, setIndicator] = useState({ left: 0, width: 0, scale: 1, visible: false });\n const [clicked, setClicked] = useState(false);\n const [scrolling, setScrolling] = useState(false);\n const scrollTimerRef = useRef(null);\n\n const activeIndex = toolbarMenu.findIndex(item => {\n if (typeof activeKey === 'string') {\n return activeKey === item.key;\n }\n if (typeof activeKey === 'function') {\n return activeKey(item, { base });\n }\n if (typeof item.path === 'string') {\n return ensureSlash(currentPathname) === ensureSlash(item.path);\n }\n return false;\n });\n const displayIndex = activeIndex >= 0 ? activeIndex : 0;\n\n const listRef = useRef(null);\n const explicitTarget = resolveTarget(target);\n const useBoundaryMount = isMobile && mode === 'container' && !explicitTarget;\n const useViewportFixed = isMobile && mode !== 'container' && !explicitTarget;\n const boundaryTarget = useBoundaryMount ? getBoundaryElement() : null;\n\n useLayoutEffect(() => {\n if (activeIndex < 0) {\n return;\n }\n const item = itemRefs.current[activeIndex];\n const list = listRef.current;\n if (!item || !list) {\n return;\n }\n\n const itemRect = item.getBoundingClientRect();\n const listRect = list.getBoundingClientRect();\n const newLeft = itemRect.left - listRect.left;\n const newWidth = itemRect.width;\n\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n setIndicator({ left: newLeft, width: newWidth, scale: 1, visible: true });\n return;\n }\n\n setIndicator(prev => ({ ...prev, scale: 1.15 }));\n\n const t1 = setTimeout(() => {\n setIndicator(prev => ({ ...prev, left: newLeft, width: newWidth }));\n }, 120);\n\n const t2 = setTimeout(() => {\n setIndicator(prev => ({ ...prev, scale: 1 }));\n }, 380);\n\n return () => {\n clearTimeout(t1);\n clearTimeout(t2);\n };\n }, [activeIndex, show, target, useBoundaryMount, useViewportFixed]);\n\n useEffect(() => {\n const scrollEl = getScrollElement();\n if (!scrollEl || typeof scrollEl.addEventListener !== 'function') {\n return;\n }\n const handleScroll = () => {\n setScrolling(true);\n if (scrollTimerRef.current) {\n clearTimeout(scrollTimerRef.current);\n }\n scrollTimerRef.current = setTimeout(() => {\n setScrolling(false);\n }, 500);\n };\n\n scrollEl.addEventListener('scroll', handleScroll, { passive: true });\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll);\n if (scrollTimerRef.current) {\n clearTimeout(scrollTimerRef.current);\n }\n };\n }, [getScrollElement, show, scrollReady]);\n\n if (!show) {\n return null;\n }\n\n const toolbarList = (\n <Flex\n ref={listRef}\n className={classnames('toolbar-list', style['toolbar-list'], {\n ['is-clicked']: clicked,\n ['is-scrolling']: scrolling,\n [style['is-boundary']]: useBoundaryMount,\n [style['is-viewport']]: useViewportFixed\n })}\n style={{\n '--toolbar-count': toolbarMenu.length || 1\n }}\n onAnimationEnd={() => {\n if (clicked) {\n setClicked(false);\n }\n }}\n >\n {indicator.visible && (\n <div\n className={classnames('toolbar-indicator', style['toolbar-indicator'])}\n style={{\n left: `${indicator.left}px`,\n width: `${indicator.width}px`,\n transform: `scale(${indicator.scale})`\n }}\n />\n )}\n {toolbarMenu.map((item, index) => {\n const active = index === activeIndex;\n const icon = typeof item.icon === 'function' ? item.icon({ active }) : item.icon;\n return (\n <Flex\n key={item.key || item.path || index}\n ref={el => {\n itemRefs.current[index] = el;\n }}\n vertical\n flex={1}\n justify=\"center\"\n align=\"center\"\n className={classnames('toolbar-item', style['toolbar-item'], {\n ['is-active']: active,\n [style['is-hidden']]: scrolling && index !== displayIndex\n })}\n onClick={e => {\n if (active) {\n return;\n }\n setClicked(true);\n onChange && onChange(item, { base });\n if (typeof item.onClick === 'function') {\n item.onClick(item, { base, event: e });\n return;\n }\n if (item.path) {\n navigate(ensureSlash(`${base}${item.path}`));\n }\n }}\n >\n {(icon => {\n if (typeof icon === 'string') {\n return <Icon className={classnames('toolbar-item-icon', style['toolbar-item-icon'])} type={icon} fontClassName=\"system\" />;\n }\n\n if (isValidElement(icon)) {\n return <span className={classnames('toolbar-item-icon', style['toolbar-item-icon'])}>{icon}</span>;\n }\n\n if (isPlainObject(icon) && typeof icon.type === 'string') {\n return <Icon {...icon} className={classnames('toolbar-item-icon', style['toolbar-item-icon'])} />;\n }\n\n return null;\n })(icon)}\n <div className={classnames('toolbar-item-label', style['toolbar-item-label'])}>{item.label}</div>\n </Flex>\n );\n })}\n </Flex>\n );\n\n if (useBoundaryMount && boundaryTarget) {\n return <div className={classnames('toolbar', style['toolbar'], className)}>{createPortal(<div className={classnames('toolbar-boundary-overlay', style['toolbar-boundary-overlay'])}>{toolbarList}</div>, boundaryTarget)}</div>;\n }\n\n if (useViewportFixed) {\n return <div className={classnames('toolbar', style['toolbar'], style['toolbar-inline'], className)}>{toolbarList}</div>;\n }\n\n if (explicitTarget) {\n return <div className={classnames('toolbar', style['toolbar'], className)}>{createPortal(toolbarList, explicitTarget)}</div>;\n }\n\n return null;\n};\n\nexport default Toolbar;\n","const locale = {\n systemError: '系统出了点小问题,可刷新页面进行解决',\n refresh: '刷新'\n};\n\nexport default locale;\n","const locale = {\n systemError: 'The system encountered a minor issue, please refresh the page to resolve it',\n refresh: 'Refresh'\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: 'system-layout'\n});\n\nexport default withLocale;\n","import React from 'react';\nimport { Alert, Button } from 'antd';\nimport ReactErrorBoundary from '@kne/react-error-boundary';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\n\nconst ErrorComponent = withLocale(() => {\n const { formatMessage } = useIntl();\n return (\n <Alert\n message={formatMessage({ id: 'systemError' })}\n showIcon\n type=\"error\"\n action={\n <Button size=\"small\" danger onClick={() => window.location.reload()}>\n {formatMessage({ id: 'refresh' })}\n </Button>\n }\n />\n );\n});\n\nconst ErrorBoundary = props => {\n return <ReactErrorBoundary {...props} errorComponent={ErrorComponent} />;\n};\n\nexport default ErrorBoundary;\n","import { useMemo, useState, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Flex, Row, Col } from 'antd';\nimport classnames from 'classnames';\nimport localStorage from '@kne/local-storage';\nimport { Image } from '@kne/react-file';\nimport UserCard from './UserCard';\nimport Menu from '../Menu';\nimport Toolbar from '../Toolbar';\nimport Icon from '@kne/react-icon';\nimport defaultLogo from './defaultLogo.svg';\nimport { ReactComponent as ExpandIcon } from './expand.svg';\nimport style from './style.module.scss';\nimport ErrorBoundary from '../ErrorComponent';\nimport SimpleBar from 'simplebar-react';\nimport { Provider } from '../context';\nimport { useLocation } from 'react-router-dom';\nimport useIsMobile from '../useIsMobile';\nimport { ResponsiveProvider, useResponsiveContext, defaultResponsiveContextValue, findResponsiveScroll, getDefaultScrollElement, RESPONSIVE_BOUNDARY_CLASS, RESPONSIVE_CONTAINER_CLASS, RESPONSIVE_SCROLL_CLASS } from '@kne/responsive-utils';\nimport 'simplebar-react/dist/simplebar.min.css';\n\nconst hasParentResponsiveProvider = parent => {\n return parent.getBoundaryElement !== defaultResponsiveContextValue.getBoundaryElement || parent.getScrollElement !== defaultResponsiveContextValue.getScrollElement;\n};\n\nconst resolvePageScrollElement = (pageScrollRef, openScrollbar, deviceIsMobile) => {\n if (deviceIsMobile && !openScrollbar) {\n const anchor = pageScrollRef.current;\n if (anchor && anchor.parentElement) {\n const parentScroll = findResponsiveScroll(anchor.parentElement);\n if (parentScroll) {\n return parentScroll;\n }\n }\n return getDefaultScrollElement();\n }\n const anchor = pageScrollRef.current;\n if (anchor && typeof anchor.getScrollElement === 'function') {\n return anchor.getScrollElement();\n }\n if (anchor && anchor.nodeType === 1 && openScrollbar) {\n const wrapper = anchor.querySelector('.simplebar-content-wrapper');\n if (wrapper) {\n return wrapper;\n }\n }\n return findResponsiveScroll(anchor) || getDefaultScrollElement();\n};\n\nconst LayoutResponsiveScope = ({ boundaryRef, scrollRef, getScrollElement, children }) => {\n const parent = useResponsiveContext();\n if (hasParentResponsiveProvider(parent)) {\n return children;\n }\n return (\n <ResponsiveProvider boundaryRef={boundaryRef} scrollRef={scrollRef} getScrollElement={getScrollElement}>\n {children}\n </ResponsiveProvider>\n );\n};\n\nconst LayoutMenuOpenKey = 'LAYOUT_MENU_OPEN';\n\nconst DRAG_THRESHOLD = 4;\n\nconst MobileAiEntry = ({ variant, onOpen }) => {\n const btnRef = useRef(null);\n const dragRef = useRef(null);\n const [pos, setPos] = useState(null);\n\n const handlePointerDown = event => {\n const node = btnRef.current;\n if (!node) {\n return;\n }\n // 与 toolbar 一致:boundary 模式下相对定位容器为 offsetParent,viewport 模式下相对视口\n const container = node.offsetParent;\n const rect = node.getBoundingClientRect();\n const refLeft = container ? container.getBoundingClientRect().left : 0;\n const refTop = container ? container.getBoundingClientRect().top : 0;\n dragRef.current = {\n startX: event.clientX,\n startY: event.clientY,\n originLeft: rect.left - refLeft,\n originTop: rect.top - refTop,\n refWidth: container ? container.clientWidth : window.innerWidth,\n refHeight: container ? container.clientHeight : window.innerHeight,\n size: node.offsetWidth,\n moved: false\n };\n node.setPointerCapture?.(event.pointerId);\n };\n\n const handlePointerMove = event => {\n const drag = dragRef.current;\n if (!drag) {\n return;\n }\n const dx = event.clientX - drag.startX;\n const dy = event.clientY - drag.startY;\n if (Math.abs(dx) > DRAG_THRESHOLD || Math.abs(dy) > DRAG_THRESHOLD) {\n drag.moved = true;\n }\n const maxLeft = Math.max(8, drag.refWidth - drag.size - 8);\n const maxTop = Math.max(8, drag.refHeight - drag.size - 8);\n setPos({\n left: Math.min(Math.max(8, drag.originLeft + dx), maxLeft),\n top: Math.min(Math.max(8, drag.originTop + dy), maxTop)\n });\n };\n\n const handlePointerUp = event => {\n const drag = dragRef.current;\n dragRef.current = null;\n btnRef.current?.releasePointerCapture?.(event.pointerId);\n if (drag && !drag.moved) {\n onOpen();\n }\n };\n\n return (\n <div\n ref={btnRef}\n className={classnames('ai-entry-mobile', style['ai-entry-mobile'], {\n [style['is-viewport']]: variant === 'viewport',\n [style['is-boundary']]: variant !== 'viewport'\n })}\n style={pos ? { left: `${pos.left}px`, top: `${pos.top}px`, right: 'auto', bottom: 'auto' } : undefined}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n >\n <Icon type=\"system-prompt\" colorful />\n </div>\n );\n};\n\nconst Layout = ({\n className,\n menu,\n background = 'linear-gradient(0deg, #BBCFE7 0%, #BBCFE7 100%), #FFFFFF',\n menuMaxWidth = '254px',\n menuMinWidth = '84px',\n logo,\n menuHeader,\n userInfo,\n aiDialog = null,\n openScrollbar: openScrollbarProps,\n isMobile: isMobileProps,\n toolbarTarget,\n children\n}) => {\n const localMenuOpen = localStorage.getItem(LayoutMenuOpenKey);\n const isMobile = useIsMobile();\n const responsiveContext = useResponsiveContext();\n const deviceIsMobile = typeof isMobileProps === 'boolean' ? isMobileProps : isMobile;\n const useMenuPortal = deviceIsMobile && responsiveContext.mode === 'container';\n const [menuPortalTarget, setMenuPortalTarget] = useState(null);\n const [menuOpen, setMenuOpen] = useState(typeof localMenuOpen === 'boolean' && !deviceIsMobile ? localMenuOpen : !deviceIsMobile);\n const [toolbarShow, setToolbarShow] = useState(true);\n const [navbarShow, setNavbarShow] = useState(true);\n const [aiType, setAiType] = useState('closed');\n const [scrollReady, setScrollReady] = useState(0);\n const openScrollbar = typeof openScrollbarProps === 'boolean' ? openScrollbarProps : !deviceIsMobile && !window.__COMPONENTS_CORE_SIMPLE_BAR_DISABLED;\n const userAvatar = userInfo?.avatar;\n const contextValue = useMemo(() => {\n return {\n setToolbarShow,\n setNavbarShow,\n setMenuOpen,\n deviceIsMobile,\n scrollReady,\n logo: Object.assign(\n {},\n logo\n ? logo\n : {\n src: defaultLogo\n }\n ),\n userAvatar\n };\n }, [deviceIsMobile, logo, userAvatar, scrollReady]);\n const topRef = useRef(null);\n const pageRef = useRef(null);\n const layoutBoundaryRef = useRef(null);\n const pageScrollRef = useRef(null);\n const location = useLocation();\n const getPageScrollElement = useCallback(() => {\n return resolvePageScrollElement(pageScrollRef, openScrollbar, deviceIsMobile);\n }, [openScrollbar, deviceIsMobile]);\n\n const handlePageScrollRef = useCallback(node => {\n pageScrollRef.current = node;\n if (node) {\n setScrollReady(version => version + 1);\n }\n }, []);\n\n useEffect(() => {\n if (!useMenuPortal) {\n setMenuPortalTarget(null);\n return;\n }\n const target = typeof responsiveContext.getBoundaryElement === 'function' ? responsiveContext.getBoundaryElement() : null;\n setMenuPortalTarget(target || null);\n }, [useMenuPortal, responsiveContext, scrollReady]);\n\n useEffect(() => {\n const scrollEl = getPageScrollElement();\n if (scrollEl && typeof scrollEl.scrollTo === 'function') {\n scrollEl.scrollTo(0, 0);\n return;\n }\n topRef.current?.scrollIntoView();\n }, [location, getPageScrollElement]);\n\n const userCard = <UserCard menuOpen={menuOpen} {...Object.assign({}, userInfo)} />;\n\n const menuPortalVars = useMenuPortal\n ? {\n '--menu-max-width': menuMaxWidth,\n '--menu-min-width': menuMinWidth,\n '--background': background\n }\n : undefined;\n\n const layerMenuNode = deviceIsMobile ? (\n <div\n className={classnames('layer-menu', style['layer-menu'], {\n ['open']: menuOpen,\n [style['open']]: menuOpen,\n [style['is-portaled']]: useMenuPortal\n })}\n style={menuPortalVars}\n onClick={() => {\n setMenuOpen(false);\n }}\n />\n ) : null;\n\n const menuNode = (\n <div\n className={classnames('menu', style['menu'], {\n ['open']: menuOpen,\n [style['open']]: menuOpen,\n [style['is-portaled']]: useMenuPortal\n })}\n style={menuPortalVars}\n >\n <div className={classnames('logo', style['logo'])}>\n <Image className={style['logo-img']} {...contextValue.logo} />\n </div>\n <div\n className={classnames('expand-btn-wrapper', style['expand-btn-wrapper'])}\n onClick={() => {\n setMenuOpen(menuOpen => {\n localStorage.setItem(LayoutMenuOpenKey, !menuOpen);\n return !menuOpen;\n });\n }}\n >\n <ExpandIcon\n className={classnames('expand-btn', style['expand-btn'], {\n 'is-closed': !menuOpen\n })}\n />\n </div>\n <div className={classnames('menu-inner', style['menu-inner'])}>\n <div className={classnames('menu-header', style['menu-header'])}>\n <ErrorBoundary>{menuHeader ? (typeof menuHeader === 'function' ? menuHeader({ menuOpen, userCard }) : menuHeader) : userCard}</ErrorBoundary>\n </div>\n <ErrorBoundary>\n <Menu\n className={classnames('menu-list', style['menu-list'])}\n menuOpen={menuOpen}\n {...menu}\n onChange={() => {\n deviceIsMobile && setMenuOpen(false);\n }}\n />\n </ErrorBoundary>\n {aiDialog && !deviceIsMobile && (\n <div\n className={classnames('ai-entry', style['ai-entry'])}\n onClick={() => {\n setAiType('small');\n }}\n >\n <Icon type=\"system-prompt\" colorful />\n </div>\n )}\n </div>\n </div>\n );\n\n const portalMenu = useMenuPortal && menuPortalTarget;\n\n const aiDialogWindow =\n aiDialog && aiType === 'small' ? (\n <div\n className={classnames('ai-dialog-window', style['ai-dialog-window'], {\n 'is-mobile-full': deviceIsMobile,\n [style['is-mobile-full']]: deviceIsMobile,\n [style['is-viewport']]: deviceIsMobile && !portalMenu\n })}\n >\n <Flex className={classnames('ai-dialog-window-title', style['ai-dialog-window-title'])}>\n <div>{aiDialog.title}</div>\n <Flex gap={10}>\n {!deviceIsMobile && (\n <Icon\n className=\"btn\"\n type=\"icon-a-Typeopen_in_full\"\n fontClassName=\"system\"\n onClick={() => {\n setAiType('inner');\n }}\n />\n )}\n <Icon\n className=\"btn\"\n type=\"icon-a-Typeclose\"\n fontClassName=\"system\"\n onClick={() => {\n setAiType('closed');\n }}\n />\n </Flex>\n </Flex>\n <ErrorBoundary>\n <div className={classnames('ai-dialog-window-content', style['ai-dialog-window-content'])}>{aiDialog.content}</div>\n </ErrorBoundary>\n </div>\n ) : null;\n\n const aiEntryMobile = deviceIsMobile && aiDialog && aiType === 'closed' ? <MobileAiEntry variant={portalMenu ? 'boundary' : 'viewport'} onOpen={() => setAiType('small')} /> : null;\n\n // portal 到 boundary(popup 挂载点)时,layout 上的 CSS 变量不会随 portal 继承,需要显式透传\n const aiPortalVars = {\n '--background': background,\n '--toolbar-height': deviceIsMobile && toolbarShow ? '72px' : '0px',\n '--safe-area-inset-top': 'env(safe-area-inset-top)',\n '--safe-area-inset-bottom': 'env(safe-area-inset-bottom)'\n };\n\n const aiOverlayContent =\n aiDialogWindow || aiEntryMobile ? (\n <>\n {aiDialogWindow}\n {aiEntryMobile}\n </>\n ) : null;\n\n const aiOverlay = !aiOverlayContent\n ? null\n : portalMenu\n ? createPortal(\n <div className={classnames('ai-boundary-overlay', style['ai-boundary-overlay'])} style={aiPortalVars}>\n {aiOverlayContent}\n </div>,\n menuPortalTarget\n )\n : aiOverlayContent;\n\n return (\n <LayoutResponsiveScope boundaryRef={layoutBoundaryRef} scrollRef={pageScrollRef} getScrollElement={getPageScrollElement}>\n <Provider value={contextValue}>\n <div ref={topRef} />\n <div\n ref={layoutBoundaryRef}\n className={classnames(className, 'layout', style['layout'], RESPONSIVE_BOUNDARY_CLASS, {\n 'is-mobile': deviceIsMobile,\n [style['is-mobile']]: deviceIsMobile,\n 'has-toolbar': deviceIsMobile && toolbarShow,\n [style['has-toolbar']]: deviceIsMobile && toolbarShow,\n 'has-navbar': deviceIsMobile && navbarShow,\n [style['has-navbar']]: deviceIsMobile && navbarShow\n })}\n style={{\n '--menu-max-width': menuMaxWidth,\n '--menu-min-width': menuMinWidth,\n '--background': background\n }}\n >\n {!portalMenu && layerMenuNode}\n <Flex style={{ flex: 1, minHeight: 0, width: '100%', height: 0 }}>\n {!portalMenu && menuNode}\n {portalMenu &&\n createPortal(\n <div className={classnames(style['menu-boundary-overlay'])} style={menuPortalVars}>\n {layerMenuNode}\n {menuNode}\n </div>,\n menuPortalTarget\n )}\n <Flex flex={1} ref={pageRef} className={classnames('page', style['page'])}>\n <Row className={classnames('page-content', style['page-content'])}>\n {!deviceIsMobile && aiDialog && aiType === 'inner' && (\n <Col span={8} className={classnames('page-dialog-outer', style['page-dialog-outer'])}>\n <div className={classnames('page-dialog', style['page-dialog'])}>\n <Flex className={classnames('ai-dialog-window-title', style['ai-dialog-window-title'])}>\n <div>{aiDialog.title}</div>\n <Flex gap={10}>\n <Icon\n className=\"btn\"\n type=\"icon-a-Typeclose\"\n fontClassName=\"system\"\n onClick={() => {\n setAiType('closed');\n }}\n />\n </Flex>\n </Flex>\n <ErrorBoundary>\n <div className={classnames('page-window-content', style['page-window-content'])}>{aiDialog.content}</div>\n </ErrorBoundary>\n </div>\n </Col>\n )}\n <Col span={!deviceIsMobile && aiDialog && aiType === 'inner' ? 16 : 24} className={RESPONSIVE_CONTAINER_CLASS}>\n <ErrorBoundary>\n {openScrollbar ? (\n <SimpleBar\n ref={handlePageScrollRef}\n className={classnames('page-children', style['page-children'], RESPONSIVE_SCROLL_CLASS, {\n ['has-left']: aiType === 'inner'\n })}\n >\n {children}\n </SimpleBar>\n ) : (\n <div\n ref={handlePageScrollRef}\n className={classnames('page-children', style['page-children'], !deviceIsMobile && 'is-scroller', !deviceIsMobile && style['is-scroller'], !deviceIsMobile && RESPONSIVE_SCROLL_CLASS, {\n ['has-left']: aiType === 'inner'\n })}\n >\n {children}\n </div>\n )}\n </ErrorBoundary>\n </Col>\n </Row>\n </Flex>\n </Flex>\n {aiOverlay}\n <Toolbar {...menu} className={classnames(style['toolbar'])} show={deviceIsMobile && toolbarShow} target={toolbarTarget} />\n </div>\n </Provider>\n </LayoutResponsiveScope>\n );\n};\n\nexport default Layout;\n","import { Flex, Button, Skeleton } from 'antd';\nimport { useEffect, useRef, useState } from 'react';\nimport Icon from '@kne/react-icon';\nimport ButtonGroup from '@kne/button-group';\nimport classnames from 'classnames';\nimport { useNavigate } from 'react-router-dom';\nimport { useScrollElement } from '@kne/responsive-utils';\nimport { useContext } from '../context';\nimport style from './style.module.scss';\nimport { Image } from '@kne/react-file';\n\nconst PageLoading = () => {\n return (\n <Flex flex={1} justify=\"center\">\n <div className={style['page-loading']}>\n <Skeleton active />\n </div>\n </Flex>\n );\n};\n\nconst Page = ({ title, extra = null, back, buttonProps, children, toolbar = true, navbar = true, noPadding }) => {\n const { setToolbarShow, setNavbarShow, setMenuOpen, deviceIsMobile, userAvatar, scrollReady } = useContext();\n const navigate = useNavigate();\n const getScrollElement = useScrollElement();\n const navbarRef = useRef(null);\n const [isScrolled, setIsScrolled] = useState(false);\n useEffect(() => {\n setToolbarShow && setToolbarShow(!!toolbar);\n setNavbarShow && setNavbarShow(!!navbar);\n }, [toolbar, navbar]);\n\n useEffect(() => {\n if (!deviceIsMobile || !navbar) {\n return;\n }\n const scrollEl = getScrollElement();\n if (!scrollEl || typeof scrollEl.addEventListener !== 'function') {\n return;\n }\n const handleScroll = () => {\n const threshold = navbarRef.current ? navbarRef.current.offsetHeight : 48;\n setIsScrolled(scrollEl.scrollTop > threshold);\n };\n handleScroll();\n scrollEl.addEventListener('scroll', handleScroll, { passive: true });\n return () => scrollEl.removeEventListener('scroll', handleScroll);\n }, [deviceIsMobile, navbar, getScrollElement, scrollReady]);\n\n const navbarEl = navbar ? (\n <Flex\n ref={navbarRef}\n justify=\"space-between\"\n align=\"center\"\n gap={20}\n className={classnames('page-header', style['page-header'], {\n ['is-scrolled']: isScrolled,\n [style['is-scrolled']]: isScrolled\n })}\n >\n <Flex className={classnames('page-title-outer', style['page-title-outer'])} align=\"center\" gap={4}>\n {back && (\n <Button\n type=\"text\"\n icon={<Icon className={style['back-icon']} type=\"a-Typearrow_forward_ios\" fontClassName=\"system\" />}\n onClick={() => {\n navigate(-1);\n }}\n />\n )}\n {!back && deviceIsMobile && (\n <Button\n type=\"link\"\n icon={<Icon className={style['back-icon']} type=\"a-Typeequal\" fontClassName=\"system\" />}\n onClick={() => {\n setMenuOpen(open => !open);\n }}\n />\n )}\n <div className={classnames('page-title', style['page-title'])}>{title}</div>\n </Flex>\n <div className={classnames('page-title-extra', style['page-title-extra'])}>\n {extra ? (\n extra\n ) : deviceIsMobile ? (\n <Flex gap={4} align=\"center\">\n {buttonProps && <ButtonGroup {...Object.assign({}, buttonProps, deviceIsMobile ? { showLength: 0, moreType: 'link' } : {})} />}\n <Image.Avatar id={userAvatar} src={userAvatar} shape=\"circle\" size={30} alt=\"avatar\" />\n </Flex>\n ) : (\n buttonProps && <ButtonGroup {...buttonProps} />\n )}\n </div>\n </Flex>\n ) : null;\n const pageInnerClassNameOrigin = classnames('page-inner', style['page-inner']);\n const pageInnerClassName = classnames(pageInnerClassNameOrigin, {\n ['no-padding']: noPadding,\n [style['no-padding']]: noPadding\n });\n\n const render = ({ children, className }) => {\n return (\n <>\n <div className={style['page-top']} />\n <Flex vertical flex={1}>\n {navbarEl}\n <Flex vertical flex={1} className={classnames(pageInnerClassNameOrigin, className)}>\n {children}\n </Flex>\n </Flex>\n <div className={style['page-bottom']} />\n </>\n );\n };\n\n return (\n <Flex\n vertical\n flex={1}\n className={classnames('page', style['page'], {\n ['is-mobile']: deviceIsMobile,\n [style['is-mobile']]: deviceIsMobile\n })}\n >\n {typeof children === 'function'\n ? children({\n navbar: navbarEl,\n className: pageInnerClassName,\n render,\n pageLoading: render({\n children: <PageLoading />\n })\n })\n : render({ children })}\n </Flex>\n );\n};\n\nPage.PageLoading = PageLoading;\n\nexport default Page;\n","import { IS_MOBILE_QUERY, MOBILE_BREAKPOINT } from '@kne/responsive-utils';\n\nconst isMobile = () => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return false;\n }\n return window.matchMedia(IS_MOBILE_QUERY).matches;\n};\n\nexport default isMobile;\nexport { MOBILE_BREAKPOINT };\n","import merge from 'lodash/merge';\nimport transform from 'lodash/transform';\n\nconst transparentBgContainer = { colorBgContainer: 'transparent' };\nconst transparentBgContainerComponents = ['Input', 'InputNumber', 'Card', 'Tree', 'Select', 'DatePicker'];\n\nconst themeToken = {\n components: merge(\n {},\n transform(\n transparentBgContainerComponents,\n (result, component) => {\n result[component] = transparentBgContainer;\n },\n {}\n )\n )\n};\n\nexport default themeToken;\n","export { default } from './Layout';\nexport { default as Layout } from './Layout';\nexport { default as Page } from './Page';\nexport { default as isMobile, MOBILE_BREAKPOINT } from './isMobile';\nexport { default as useIsMobile } from './useIsMobile';\nexport { useContext as useLayoutContext } from './context';\nexport { default as themeToken } from './themeToken';\n\nexport {\n MOBILE_BREAKPOINT as mobileBreakpoint,\n ResponsiveProvider,\n useBreakpoint,\n useMediaQuery,\n usePopupContainer,\n useScrollElement,\n useResponsiveContext,\n RESPONSIVE_CONTAINER_CLASS,\n RESPONSIVE_BOUNDARY_CLASS,\n RESPONSIVE_SCROLL_CLASS\n} from '@kne/responsive-utils';\n\nimport('./icons/index');\n"],"names":["UserCard","name","avatar","email","phone","description","menuOpen","extra","_jsx","Image","Avatar","id","src","shape","size","alt","_jsxs","Flex","gap","justify","children","vertical","className","classnames","style","MENU_ITEM_HEIGHT","MENU_GROUP_HEIGHT","MENU_GROUP_SPLIT_HEIGHT","getItemKey","item","index","key","path","Menu","items","activeKey","base","onChange","location","useLocation","navigate","useNavigate","listRef","useRef","virtualListRef","listHeight","setListHeight","useState","currentPathname","pathname","replace","RegExp","isItemActive","useCallback","ensureSlash","getEstimatedItemHeight","_items","hasGroup","group","estimatedItemHeight","useMemo","length","total","reduce","sum","Math","max","ceil","listData","map","activeIndex","findIndex","useLayoutEffect","el","current","updateHeight","styles","getComputedStyle","paddingY","parseFloat","paddingTop","paddingBottom","clientHeight","observer","ResizeObserver","observe","disconnect","_virtualListRef$curre","scrollTo","align","renderMenuItem","_items2","active","icon","title","label","onClick","e","event","groupLabel","Icon","type","fontClassName","isValidElement","isPlainObject","_extends","ref","VirtualList","data","height","itemHeight","itemKey","virtual","context","createContext","useContext","useReactContext","Provider","Consumer","resolveTarget","target","Toolbar","show","getScrollElement","useScrollElement","getBoundaryElement","usePopupContainer","mode","useResponsiveContext","isMobile","useIsMobile","scrollReady","toolbarMenu","filter","toolbar","itemRefs","firstRenderRef","indicator","setIndicator","left","width","scale","visible","clicked","setClicked","scrolling","setScrolling","scrollTimerRef","displayIndex","explicitTarget","useBoundaryMount","useViewportFixed","boundaryTarget","list","itemRect","getBoundingClientRect","listRect","newLeft","newWidth","prev","t1","setTimeout","t2","clearTimeout","useEffect","scrollEl","addEventListener","handleScroll","passive","removeEventListener","toolbarList","onAnimationEnd","transform","flex","createPortal","locale","systemError","refresh","withLocale","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","ErrorComponent","formatMessage","useIntl","Alert","message","showIcon","action","Button","danger","window","reload","ErrorBoundary","props","ReactErrorBoundary","errorComponent","hasParentResponsiveProvider","parent","defaultResponsiveContextValue","resolvePageScrollElement","pageScrollRef","openScrollbar","deviceIsMobile","anchor","parentElement","parentScroll","findResponsiveScroll","getDefaultScrollElement","nodeType","wrapper","querySelector","LayoutResponsiveScope","boundaryRef","scrollRef","ResponsiveProvider","LayoutMenuOpenKey","DRAG_THRESHOLD","MobileAiEntry","variant","onOpen","btnRef","dragRef","pos","setPos","handlePointerDown","node","container","offsetParent","rect","refLeft","refTop","top","startX","clientX","startY","clientY","originLeft","originTop","refWidth","clientWidth","innerWidth","refHeight","innerHeight","offsetWidth","moved","setPointerCapture","pointerId","handlePointerMove","drag","dx","dy","abs","maxLeft","maxTop","min","handlePointerUp","_btnRef$current","releasePointerCapture","right","bottom","undefined","onPointerDown","onPointerMove","onPointerUp","colorful","Layout","menu","background","menuMaxWidth","menuMinWidth","logo","menuHeader","userInfo","aiDialog","openScrollbarProps","isMobileProps","toolbarTarget","localMenuOpen","localStorage","getItem","responsiveContext","useMenuPortal","menuPortalTarget","setMenuPortalTarget","setMenuOpen","toolbarShow","setToolbarShow","navbarShow","setNavbarShow","aiType","setAiType","setScrollReady","__COMPONENTS_CORE_SIMPLE_BAR_DISABLED","userAvatar","contextValue","Object","assign","defaultLogo","topRef","pageRef","layoutBoundaryRef","getPageScrollElement","handlePageScrollRef","version","_topRef$current","scrollIntoView","userCard","menuPortalVars","layerMenuNode","menuNode","setItem","ExpandIcon","portalMenu","aiDialogWindow","content","aiEntryMobile","aiPortalVars","aiOverlayContent","_Fragment","aiOverlay","value","RESPONSIVE_BOUNDARY_CLASS","minHeight","Row","Col","span","RESPONSIVE_CONTAINER_CLASS","SimpleBar","RESPONSIVE_SCROLL_CLASS","PageLoading","Skeleton","Page","back","buttonProps","navbar","noPadding","navbarRef","isScrolled","setIsScrolled","threshold","offsetHeight","scrollTop","navbarEl","open","ButtonGroup","showLength","moreType","pageInnerClassNameOrigin","pageInnerClassName","render","pageLoading","matchMedia","IS_MOBILE_QUERY","matches","transparentBgContainer","colorBgContainer","transparentBgContainerComponents","themeToken","components","merge","result","component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/Layout/UserCard.js","../src/Menu/index.js","../src/context.js","../src/Toolbar/index.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/ErrorComponent/index.js","../src/Layout/index.js","../src/Page/index.js","../src/isMobile.js","../src/themeToken.js","../src/index.js"],"sourcesContent":["import { Image } from '@kne/react-file';\nimport { Flex } from 'antd';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst UserCard = ({ name, avatar, email, phone, description, menuOpen, extra }) => {\n if (!menuOpen) {\n return <Image.Avatar id={avatar} src={avatar} shape=\"circle\" size={40} alt=\"avatar\" />;\n }\n return (\n <Flex gap={12} justify=\"center\">\n <Image.Avatar id={avatar} src={avatar} shape=\"circle\" size={40} alt=\"avatar\" />\n <Flex vertical>\n <div className={classnames('username', style['username'])}>{name || '-'}</div>\n <div className={classnames('user-description', style['user-description'])}>{email || phone || description || '-'}</div>\n {extra}\n </Flex>\n </Flex>\n );\n};\n\nexport default UserCard;\n","import { Flex } from 'antd';\nimport { isValidElement, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport classnames from 'classnames';\nimport Icon from '@kne/react-icon';\nimport ensureSlash from '@kne/ensure-slash';\nimport isPlainObject from 'lodash/isPlainObject';\nimport VirtualList from 'rc-virtual-list';\nimport style from './style.module.scss';\n\nconst MENU_ITEM_HEIGHT = 52;\nconst MENU_GROUP_HEIGHT = 48;\nconst MENU_GROUP_SPLIT_HEIGHT = 17;\n\nconst getItemKey = (item, index) => item.key || item.path || index;\n\nconst Menu = ({ className, menuOpen, items, activeKey, base = '', onChange }) => {\n const location = useLocation();\n const navigate = useNavigate();\n const listRef = useRef(null);\n const virtualListRef = useRef(null);\n const [listHeight, setListHeight] = useState(0);\n const currentPathname = base ? location.pathname.replace(new RegExp(`^${base}`), '') : location.pathname;\n\n const isItemActive = useCallback(\n item => {\n if (typeof activeKey === 'string') {\n return activeKey === item.key;\n }\n if (typeof activeKey === 'function') {\n return activeKey(item, { menuOpen, base });\n }\n if (typeof item.path === 'string') {\n return ensureSlash(currentPathname) === ensureSlash(item.path);\n }\n return false;\n },\n [activeKey, base, currentPathname, menuOpen]\n );\n\n const getEstimatedItemHeight = useCallback(\n (item, index) => {\n const hasGroup = item.group && item.group !== items[index - 1]?.group;\n if (!hasGroup) {\n return MENU_ITEM_HEIGHT;\n }\n return MENU_ITEM_HEIGHT + (menuOpen ? MENU_GROUP_HEIGHT : MENU_GROUP_SPLIT_HEIGHT);\n },\n [items, menuOpen]\n );\n\n const estimatedItemHeight = useMemo(() => {\n if (!items.length) {\n return MENU_ITEM_HEIGHT;\n }\n const total = items.reduce((sum, item, index) => sum + getEstimatedItemHeight(item, index), 0);\n return Math.max(MENU_ITEM_HEIGHT, Math.ceil(total / items.length));\n }, [getEstimatedItemHeight, items]);\n\n const listData = useMemo(\n () =>\n items.map((item, index) => ({\n item,\n index,\n key: getItemKey(item, index)\n })),\n [items]\n );\n\n const activeIndex = useMemo(() => listData.findIndex(({ item }) => isItemActive(item)), [isItemActive, listData]);\n\n useLayoutEffect(() => {\n const el = listRef.current;\n if (!el) {\n return;\n }\n const updateHeight = () => {\n const styles = getComputedStyle(el);\n const paddingY = parseFloat(styles.paddingTop) + parseFloat(styles.paddingBottom);\n setListHeight(el.clientHeight - paddingY);\n };\n updateHeight();\n const observer = new ResizeObserver(updateHeight);\n observer.observe(el);\n return () => observer.disconnect();\n }, []);\n\n useLayoutEffect(() => {\n if (activeIndex < 0 || listHeight <= 0) {\n return;\n }\n virtualListRef.current?.scrollTo({\n index: activeIndex,\n align: 'auto'\n });\n }, [activeIndex, listHeight, menuOpen, listData.length]);\n\n const renderMenuItem = (item, index) => {\n const active = isItemActive(item);\n const icon = typeof item.icon === 'function' ? item.icon({ menuOpen, active }) : item.icon;\n const hasGroup = item.group && item.group !== items[index - 1]?.group;\n\n return (\n <div\n key={getItemKey(item, index)}\n title={item.label}\n onClick={e => {\n if (active) {\n return;\n }\n onChange && onChange(item, { menuOpen, base });\n if (typeof item.onClick === 'function') {\n item.onClick(item, { menuOpen, base, event: e });\n return;\n }\n if (item.path) {\n navigate(ensureSlash(`${base}${item.path}`));\n }\n }}\n >\n {hasGroup && menuOpen ? <div className={classnames('menu-group', style['menu-group'])}>{item.groupLabel || item.group}</div> : null}\n {hasGroup && !menuOpen ? <div className={classnames('menu-group-split', style['menu-group-split'])} /> : null}\n <Flex\n className={classnames('menu-item', style['menu-item'], {\n ['is-active']: active,\n ['is-closed']: !menuOpen\n })}\n align=\"center\"\n gap={8}\n >\n {(icon => {\n if (typeof icon === 'string') {\n return <Icon className={classnames('menu-item-icon', style['menu-item-icon'])} type={icon} fontClassName=\"system\" />;\n }\n\n if (isValidElement(icon)) {\n return <span className={classnames('menu-item-icon', style['menu-item-icon'])}>{icon}</span>;\n }\n\n if (isPlainObject(icon) && typeof icon.type === 'string') {\n return <Icon {...icon} className={classnames('menu-item-icon', style['menu-item-icon'])} />;\n }\n\n return null;\n })(icon)}\n {menuOpen && item.label}\n </Flex>\n </div>\n );\n };\n\n return (\n <div ref={listRef} className={classnames('menu', className, style['menu-list'])}>\n {listHeight > 0 ? (\n <VirtualList ref={virtualListRef} data={listData} height={listHeight} itemHeight={estimatedItemHeight} itemKey=\"key\" virtual={listData.length > 0}>\n {({ item, index }) => renderMenuItem(item, index)}\n </VirtualList>\n ) : null}\n </div>\n );\n};\n\nexport default Menu;\n","import { createContext, useContext as useReactContext } from 'react';\n\nconst context = createContext({});\n\nexport const useContext = () => {\n return useReactContext(context);\n};\n\nexport const { Provider, Consumer } = context;\n\nexport default context;\n","import { createPortal } from 'react-dom';\nimport { Flex } from 'antd';\nimport ensureSlash from '@kne/ensure-slash';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport Icon from '@kne/react-icon';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport { isValidElement, useRef, useLayoutEffect, useState, useEffect } from 'react';\nimport isPlainObject from 'lodash/isPlainObject';\nimport { useScrollElement, usePopupContainer, useResponsiveContext, useIsMobile } from '@kne/responsive-utils';\nimport { useContext } from '../context';\n\nconst resolveTarget = target => {\n if (!target) {\n return null;\n }\n return typeof target === 'function' ? target() : target;\n};\n\nconst Toolbar = ({ show = true, className, items, activeKey, base = '', onChange, target }) => {\n const location = useLocation();\n const navigate = useNavigate();\n const getScrollElement = useScrollElement();\n const getBoundaryElement = usePopupContainer();\n const { mode } = useResponsiveContext();\n const isMobile = useIsMobile();\n const { scrollReady } = useContext();\n const currentPathname = base ? location.pathname.replace(new RegExp(`^${base}`), '') : location.pathname;\n const toolbarMenu = items.filter(item => item.toolbar);\n const itemRefs = useRef([]);\n const firstRenderRef = useRef(true);\n const [indicator, setIndicator] = useState({ left: 0, width: 0, scale: 1, visible: false });\n const [clicked, setClicked] = useState(false);\n const [scrolling, setScrolling] = useState(false);\n const scrollTimerRef = useRef(null);\n\n const activeIndex = toolbarMenu.findIndex(item => {\n if (typeof activeKey === 'string') {\n return activeKey === item.key;\n }\n if (typeof activeKey === 'function') {\n return activeKey(item, { base });\n }\n if (typeof item.path === 'string') {\n return ensureSlash(currentPathname) === ensureSlash(item.path);\n }\n return false;\n });\n const displayIndex = activeIndex >= 0 ? activeIndex : 0;\n\n const listRef = useRef(null);\n const explicitTarget = resolveTarget(target);\n const useBoundaryMount = isMobile && mode === 'container' && !explicitTarget;\n const useViewportFixed = isMobile && mode !== 'container' && !explicitTarget;\n const boundaryTarget = useBoundaryMount ? getBoundaryElement() : null;\n\n useLayoutEffect(() => {\n if (activeIndex < 0) {\n return;\n }\n const item = itemRefs.current[activeIndex];\n const list = listRef.current;\n if (!item || !list) {\n return;\n }\n\n const itemRect = item.getBoundingClientRect();\n const listRect = list.getBoundingClientRect();\n const newLeft = itemRect.left - listRect.left;\n const newWidth = itemRect.width;\n\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n setIndicator({ left: newLeft, width: newWidth, scale: 1, visible: true });\n return;\n }\n\n setIndicator(prev => ({ ...prev, scale: 1.15 }));\n\n const t1 = setTimeout(() => {\n setIndicator(prev => ({ ...prev, left: newLeft, width: newWidth }));\n }, 120);\n\n const t2 = setTimeout(() => {\n setIndicator(prev => ({ ...prev, scale: 1 }));\n }, 380);\n\n return () => {\n clearTimeout(t1);\n clearTimeout(t2);\n };\n }, [activeIndex, show, target, useBoundaryMount, useViewportFixed]);\n\n useEffect(() => {\n const scrollEl = getScrollElement();\n if (!scrollEl || typeof scrollEl.addEventListener !== 'function') {\n return;\n }\n const handleScroll = () => {\n setScrolling(true);\n if (scrollTimerRef.current) {\n clearTimeout(scrollTimerRef.current);\n }\n scrollTimerRef.current = setTimeout(() => {\n setScrolling(false);\n }, 500);\n };\n\n scrollEl.addEventListener('scroll', handleScroll, { passive: true });\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll);\n if (scrollTimerRef.current) {\n clearTimeout(scrollTimerRef.current);\n }\n };\n }, [getScrollElement, show, scrollReady]);\n\n if (!show) {\n return null;\n }\n\n const toolbarList = (\n <Flex\n ref={listRef}\n className={classnames('toolbar-list', style['toolbar-list'], {\n ['is-clicked']: clicked,\n ['is-scrolling']: scrolling,\n [style['is-boundary']]: useBoundaryMount,\n [style['is-viewport']]: useViewportFixed\n })}\n style={{\n '--toolbar-count': toolbarMenu.length || 1\n }}\n onAnimationEnd={() => {\n if (clicked) {\n setClicked(false);\n }\n }}\n >\n {indicator.visible && (\n <div\n className={classnames('toolbar-indicator', style['toolbar-indicator'])}\n style={{\n left: `${indicator.left}px`,\n width: `${indicator.width}px`,\n transform: `scale(${indicator.scale})`\n }}\n />\n )}\n {toolbarMenu.map((item, index) => {\n const active = index === activeIndex;\n const icon = typeof item.icon === 'function' ? item.icon({ active }) : item.icon;\n return (\n <Flex\n key={item.key || item.path || index}\n ref={el => {\n itemRefs.current[index] = el;\n }}\n vertical\n flex={1}\n justify=\"center\"\n align=\"center\"\n className={classnames('toolbar-item', style['toolbar-item'], {\n ['is-active']: active,\n [style['is-hidden']]: scrolling && index !== displayIndex\n })}\n onClick={e => {\n if (active) {\n return;\n }\n setClicked(true);\n onChange && onChange(item, { base });\n if (typeof item.onClick === 'function') {\n item.onClick(item, { base, event: e });\n return;\n }\n if (item.path) {\n navigate(ensureSlash(`${base}${item.path}`));\n }\n }}\n >\n {(icon => {\n if (typeof icon === 'string') {\n return <Icon className={classnames('toolbar-item-icon', style['toolbar-item-icon'])} type={icon} fontClassName=\"system\" />;\n }\n\n if (isValidElement(icon)) {\n return <span className={classnames('toolbar-item-icon', style['toolbar-item-icon'])}>{icon}</span>;\n }\n\n if (isPlainObject(icon) && typeof icon.type === 'string') {\n return <Icon {...icon} className={classnames('toolbar-item-icon', style['toolbar-item-icon'])} />;\n }\n\n return null;\n })(icon)}\n <div className={classnames('toolbar-item-label', style['toolbar-item-label'])}>{item.label}</div>\n </Flex>\n );\n })}\n </Flex>\n );\n\n if (useBoundaryMount && boundaryTarget) {\n return <div className={classnames('toolbar', style['toolbar'], className)}>{createPortal(<div className={classnames('toolbar-boundary-overlay', style['toolbar-boundary-overlay'])}>{toolbarList}</div>, boundaryTarget)}</div>;\n }\n\n if (useViewportFixed) {\n return <div className={classnames('toolbar', style['toolbar'], style['toolbar-inline'], className)}>{toolbarList}</div>;\n }\n\n if (explicitTarget) {\n return <div className={classnames('toolbar', style['toolbar'], className)}>{createPortal(toolbarList, explicitTarget)}</div>;\n }\n\n return null;\n};\n\nexport default Toolbar;\n","const locale = {\n systemError: '系统出了点小问题,可刷新页面进行解决',\n refresh: '刷新'\n};\n\nexport default locale;\n","const locale = {\n systemError: 'The system encountered a minor issue, please refresh the page to resolve it',\n refresh: 'Refresh'\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: 'system-layout'\n});\n\nexport default withLocale;\n","import React from 'react';\nimport { Alert, Button } from 'antd';\nimport ReactErrorBoundary from '@kne/react-error-boundary';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\n\nconst ErrorComponent = withLocale(() => {\n const { formatMessage } = useIntl();\n return (\n <Alert\n message={formatMessage({ id: 'systemError' })}\n showIcon\n type=\"error\"\n action={\n <Button size=\"small\" danger onClick={() => window.location.reload()}>\n {formatMessage({ id: 'refresh' })}\n </Button>\n }\n />\n );\n});\n\nconst ErrorBoundary = props => {\n return <ReactErrorBoundary {...props} errorComponent={ErrorComponent} />;\n};\n\nexport default ErrorBoundary;\n","import { useMemo, useState, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Flex, Row, Col } from 'antd';\nimport classnames from 'classnames';\nimport localStorage from '@kne/local-storage';\nimport { Image } from '@kne/react-file';\nimport UserCard from './UserCard';\nimport Menu from '../Menu';\nimport Toolbar from '../Toolbar';\nimport Icon from '@kne/react-icon';\nimport defaultLogo from './defaultLogo.svg';\nimport { ReactComponent as ExpandIcon } from './expand.svg';\nimport style from './style.module.scss';\nimport ErrorBoundary from '../ErrorComponent';\nimport SimpleBar from 'simplebar-react';\nimport { Provider } from '../context';\nimport { useLocation } from 'react-router-dom';\nimport useIsMobile from '../useIsMobile';\nimport { ResponsiveProvider, useResponsiveContext, findResponsiveScroll, findScrollParent, getDefaultScrollElement, RESPONSIVE_BOUNDARY_CLASS, RESPONSIVE_CONTAINER_CLASS, RESPONSIVE_SCROLL_CLASS } from '@kne/responsive-utils';\nimport 'simplebar-react/dist/simplebar.min.css';\n\nconst resolvePageScrollElement = (pageScrollRef, openScrollbar, deviceIsMobile) => {\n if (deviceIsMobile && !openScrollbar) {\n const anchor = pageScrollRef.current;\n if (anchor) {\n // example 手机外框:滚动在 SimpleBar wrapper 上;class 可能晚于首帧挂上,\n // findScrollParent 不依赖 kne-responsive-scroll,避免 is-scrolled 监听绑错。\n const marked = findResponsiveScroll(anchor.parentElement || anchor);\n if (marked) {\n return marked;\n }\n const scrollParent = findScrollParent(anchor);\n if (scrollParent) {\n return scrollParent;\n }\n }\n return getDefaultScrollElement();\n }\n const anchor = pageScrollRef.current;\n if (anchor && typeof anchor.getScrollElement === 'function') {\n return anchor.getScrollElement();\n }\n if (anchor && anchor.nodeType === 1 && openScrollbar) {\n const wrapper = anchor.querySelector('.simplebar-content-wrapper');\n if (wrapper) {\n return wrapper;\n }\n }\n return findResponsiveScroll(anchor) || getDefaultScrollElement();\n};\n\n// 始终覆盖本页 scroller(否则嵌套在 Global 下 sticky 会绑到 body)。\n// container 模式(example 手机外框)保留外层 boundary,toolbar/menu 才能 portal 到\n// .example-driver-device-scroll(非滚动内容区),absolute/fixed 相对手机视口生效。\nconst LayoutResponsiveScope = ({ boundaryRef, scrollRef, getScrollElement, children }) => {\n const parent = useResponsiveContext();\n const inheritBoundary = parent.mode === 'container';\n return (\n <ResponsiveProvider\n mode={parent.mode}\n containerWidth={parent.containerWidth}\n boundaryRef={boundaryRef}\n scrollRef={scrollRef}\n getScrollElement={getScrollElement}\n getBoundaryElement={\n inheritBoundary\n ? () => {\n const fromParent = typeof parent.getBoundaryElement === 'function' ? parent.getBoundaryElement() : null;\n return fromParent || null;\n }\n : undefined\n }\n >\n {children}\n </ResponsiveProvider>\n );\n};\n\nconst LayoutMenuOpenKey = 'LAYOUT_MENU_OPEN';\n\nconst DRAG_THRESHOLD = 4;\n\nconst MobileAiEntry = ({ variant, onOpen }) => {\n const btnRef = useRef(null);\n const dragRef = useRef(null);\n const [pos, setPos] = useState(null);\n\n const handlePointerDown = event => {\n const node = btnRef.current;\n if (!node) {\n return;\n }\n // 与 toolbar 一致:boundary 模式下相对定位容器为 offsetParent,viewport 模式下相对视口\n const container = node.offsetParent;\n const rect = node.getBoundingClientRect();\n const refLeft = container ? container.getBoundingClientRect().left : 0;\n const refTop = container ? container.getBoundingClientRect().top : 0;\n dragRef.current = {\n startX: event.clientX,\n startY: event.clientY,\n originLeft: rect.left - refLeft,\n originTop: rect.top - refTop,\n refWidth: container ? container.clientWidth : window.innerWidth,\n refHeight: container ? container.clientHeight : window.innerHeight,\n size: node.offsetWidth,\n moved: false\n };\n node.setPointerCapture?.(event.pointerId);\n };\n\n const handlePointerMove = event => {\n const drag = dragRef.current;\n if (!drag) {\n return;\n }\n const dx = event.clientX - drag.startX;\n const dy = event.clientY - drag.startY;\n if (Math.abs(dx) > DRAG_THRESHOLD || Math.abs(dy) > DRAG_THRESHOLD) {\n drag.moved = true;\n }\n const maxLeft = Math.max(8, drag.refWidth - drag.size - 8);\n const maxTop = Math.max(8, drag.refHeight - drag.size - 8);\n setPos({\n left: Math.min(Math.max(8, drag.originLeft + dx), maxLeft),\n top: Math.min(Math.max(8, drag.originTop + dy), maxTop)\n });\n };\n\n const handlePointerUp = event => {\n const drag = dragRef.current;\n dragRef.current = null;\n btnRef.current?.releasePointerCapture?.(event.pointerId);\n if (drag && !drag.moved) {\n onOpen();\n }\n };\n\n return (\n <div\n ref={btnRef}\n className={classnames('ai-entry-mobile', style['ai-entry-mobile'], {\n [style['is-viewport']]: variant === 'viewport',\n [style['is-boundary']]: variant !== 'viewport'\n })}\n style={pos ? { left: `${pos.left}px`, top: `${pos.top}px`, right: 'auto', bottom: 'auto' } : undefined}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n >\n <Icon type=\"system-prompt\" colorful />\n </div>\n );\n};\n\nconst Layout = ({\n className,\n menu,\n background = 'linear-gradient(0deg, #BBCFE7 0%, #BBCFE7 100%), #FFFFFF',\n menuMaxWidth = '254px',\n menuMinWidth = '84px',\n logo,\n menuHeader,\n userInfo,\n aiDialog = null,\n openScrollbar: openScrollbarProps,\n isMobile: isMobileProps,\n toolbarTarget,\n children\n}) => {\n const localMenuOpen = localStorage.getItem(LayoutMenuOpenKey);\n const isMobile = useIsMobile();\n const responsiveContext = useResponsiveContext();\n const deviceIsMobile = typeof isMobileProps === 'boolean' ? isMobileProps : isMobile;\n const useMenuPortal = deviceIsMobile && responsiveContext.mode === 'container';\n const [menuPortalTarget, setMenuPortalTarget] = useState(null);\n const [menuOpen, setMenuOpen] = useState(typeof localMenuOpen === 'boolean' && !deviceIsMobile ? localMenuOpen : !deviceIsMobile);\n const [toolbarShow, setToolbarShow] = useState(true);\n const [navbarShow, setNavbarShow] = useState(true);\n const [aiType, setAiType] = useState('closed');\n const [scrollReady, setScrollReady] = useState(0);\n const openScrollbar = typeof openScrollbarProps === 'boolean' ? openScrollbarProps : !deviceIsMobile && !window.__COMPONENTS_CORE_SIMPLE_BAR_DISABLED;\n const userAvatar = userInfo?.avatar;\n const contextValue = useMemo(() => {\n return {\n setToolbarShow,\n setNavbarShow,\n setMenuOpen,\n deviceIsMobile,\n scrollReady,\n logo: Object.assign(\n {},\n logo\n ? logo\n : {\n src: defaultLogo\n }\n ),\n userAvatar\n };\n }, [deviceIsMobile, logo, userAvatar, scrollReady]);\n const topRef = useRef(null);\n const pageRef = useRef(null);\n const layoutBoundaryRef = useRef(null);\n const pageScrollRef = useRef(null);\n const location = useLocation();\n const getPageScrollElement = useCallback(() => {\n return resolvePageScrollElement(pageScrollRef, openScrollbar, deviceIsMobile);\n }, [openScrollbar, deviceIsMobile]);\n\n const handlePageScrollRef = useCallback(node => {\n pageScrollRef.current = node;\n if (node) {\n setScrollReady(version => version + 1);\n }\n }, []);\n\n useEffect(() => {\n if (!useMenuPortal) {\n setMenuPortalTarget(null);\n return;\n }\n const target = typeof responsiveContext.getBoundaryElement === 'function' ? responsiveContext.getBoundaryElement() : null;\n setMenuPortalTarget(target || null);\n }, [useMenuPortal, responsiveContext, scrollReady]);\n\n useEffect(() => {\n const scrollEl = getPageScrollElement();\n if (scrollEl && typeof scrollEl.scrollTo === 'function') {\n scrollEl.scrollTo(0, 0);\n return;\n }\n topRef.current?.scrollIntoView();\n }, [location, getPageScrollElement]);\n\n const userCard = <UserCard menuOpen={menuOpen} {...Object.assign({}, userInfo)} />;\n\n const menuPortalVars = useMenuPortal\n ? {\n '--menu-max-width': menuMaxWidth,\n '--menu-min-width': menuMinWidth,\n '--background': background\n }\n : undefined;\n\n const layerMenuNode = deviceIsMobile ? (\n <div\n className={classnames('layer-menu', style['layer-menu'], {\n ['open']: menuOpen,\n [style['open']]: menuOpen,\n [style['is-portaled']]: useMenuPortal\n })}\n style={menuPortalVars}\n onClick={() => {\n setMenuOpen(false);\n }}\n />\n ) : null;\n\n const menuNode = (\n <div\n className={classnames('menu', style['menu'], {\n ['open']: menuOpen,\n [style['open']]: menuOpen,\n [style['is-portaled']]: useMenuPortal\n })}\n style={menuPortalVars}\n >\n <div className={classnames('logo', style['logo'])}>\n <Image className={style['logo-img']} {...contextValue.logo} />\n </div>\n <div\n className={classnames('expand-btn-wrapper', style['expand-btn-wrapper'])}\n onClick={() => {\n setMenuOpen(menuOpen => {\n localStorage.setItem(LayoutMenuOpenKey, !menuOpen);\n return !menuOpen;\n });\n }}\n >\n <ExpandIcon\n className={classnames('expand-btn', style['expand-btn'], {\n 'is-closed': !menuOpen\n })}\n />\n </div>\n <div className={classnames('menu-inner', style['menu-inner'])}>\n <div className={classnames('menu-header', style['menu-header'])}>\n <ErrorBoundary>{menuHeader ? (typeof menuHeader === 'function' ? menuHeader({ menuOpen, userCard }) : menuHeader) : userCard}</ErrorBoundary>\n </div>\n <ErrorBoundary>\n <Menu\n className={classnames('menu-list', style['menu-list'])}\n menuOpen={menuOpen}\n {...menu}\n onChange={() => {\n deviceIsMobile && setMenuOpen(false);\n }}\n />\n </ErrorBoundary>\n {aiDialog && !deviceIsMobile && (\n <div\n className={classnames('ai-entry', style['ai-entry'])}\n onClick={() => {\n setAiType('small');\n }}\n >\n <Icon type=\"system-prompt\" colorful />\n </div>\n )}\n </div>\n </div>\n );\n\n const portalMenu = useMenuPortal && menuPortalTarget;\n\n const aiDialogWindow =\n aiDialog && aiType === 'small' ? (\n <div\n className={classnames('ai-dialog-window', style['ai-dialog-window'], {\n 'is-mobile-full': deviceIsMobile,\n [style['is-mobile-full']]: deviceIsMobile,\n [style['is-viewport']]: deviceIsMobile && !portalMenu\n })}\n >\n <Flex className={classnames('ai-dialog-window-title', style['ai-dialog-window-title'])}>\n <div>{aiDialog.title}</div>\n <Flex gap={10}>\n {!deviceIsMobile && (\n <Icon\n className=\"btn\"\n type=\"icon-a-Typeopen_in_full\"\n fontClassName=\"system\"\n onClick={() => {\n setAiType('inner');\n }}\n />\n )}\n <Icon\n className=\"btn\"\n type=\"icon-a-Typeclose\"\n fontClassName=\"system\"\n onClick={() => {\n setAiType('closed');\n }}\n />\n </Flex>\n </Flex>\n <ErrorBoundary>\n <div className={classnames('ai-dialog-window-content', style['ai-dialog-window-content'])}>{aiDialog.content}</div>\n </ErrorBoundary>\n </div>\n ) : null;\n\n const aiEntryMobile = deviceIsMobile && aiDialog && aiType === 'closed' ? <MobileAiEntry variant={portalMenu ? 'boundary' : 'viewport'} onOpen={() => setAiType('small')} /> : null;\n\n // portal 到 boundary(popup 挂载点)时,layout 上的 CSS 变量不会随 portal 继承,需要显式透传\n const aiPortalVars = {\n '--background': background,\n '--toolbar-height': deviceIsMobile && toolbarShow ? '72px' : '0px',\n '--safe-area-inset-top': 'env(safe-area-inset-top)',\n '--safe-area-inset-bottom': 'env(safe-area-inset-bottom)'\n };\n\n const aiOverlayContent =\n aiDialogWindow || aiEntryMobile ? (\n <>\n {aiDialogWindow}\n {aiEntryMobile}\n </>\n ) : null;\n\n const aiOverlay = !aiOverlayContent\n ? null\n : portalMenu\n ? createPortal(\n <div className={classnames('ai-boundary-overlay', style['ai-boundary-overlay'])} style={aiPortalVars}>\n {aiOverlayContent}\n </div>,\n menuPortalTarget\n )\n : aiOverlayContent;\n\n return (\n <LayoutResponsiveScope boundaryRef={layoutBoundaryRef} scrollRef={pageScrollRef} getScrollElement={getPageScrollElement}>\n <Provider value={contextValue}>\n <div ref={topRef} />\n <div\n ref={layoutBoundaryRef}\n className={classnames(className, 'layout', style['layout'], RESPONSIVE_BOUNDARY_CLASS, {\n 'is-mobile': deviceIsMobile,\n [style['is-mobile']]: deviceIsMobile,\n 'has-toolbar': deviceIsMobile && toolbarShow,\n [style['has-toolbar']]: deviceIsMobile && toolbarShow,\n 'has-navbar': deviceIsMobile && navbarShow,\n [style['has-navbar']]: deviceIsMobile && navbarShow\n })}\n style={{\n '--menu-max-width': menuMaxWidth,\n '--menu-min-width': menuMinWidth,\n '--background': background\n }}\n >\n {!portalMenu && layerMenuNode}\n <Flex style={{ flex: 1, minHeight: 0, width: '100%', height: 0 }}>\n {!portalMenu && menuNode}\n {portalMenu &&\n createPortal(\n <div className={classnames(style['menu-boundary-overlay'])} style={menuPortalVars}>\n {layerMenuNode}\n {menuNode}\n </div>,\n menuPortalTarget\n )}\n <Flex flex={1} ref={pageRef} className={classnames('page', style['page'])}>\n <Row className={classnames('page-content', style['page-content'])}>\n {!deviceIsMobile && aiDialog && aiType === 'inner' && (\n <Col span={8} className={classnames('page-dialog-outer', style['page-dialog-outer'])}>\n <div className={classnames('page-dialog', style['page-dialog'])}>\n <Flex className={classnames('ai-dialog-window-title', style['ai-dialog-window-title'])}>\n <div>{aiDialog.title}</div>\n <Flex gap={10}>\n <Icon\n className=\"btn\"\n type=\"icon-a-Typeclose\"\n fontClassName=\"system\"\n onClick={() => {\n setAiType('closed');\n }}\n />\n </Flex>\n </Flex>\n <ErrorBoundary>\n <div className={classnames('page-window-content', style['page-window-content'])}>{aiDialog.content}</div>\n </ErrorBoundary>\n </div>\n </Col>\n )}\n <Col span={!deviceIsMobile && aiDialog && aiType === 'inner' ? 16 : 24} className={RESPONSIVE_CONTAINER_CLASS}>\n <ErrorBoundary>\n {openScrollbar ? (\n <SimpleBar\n ref={handlePageScrollRef}\n className={classnames('page-children', style['page-children'], RESPONSIVE_SCROLL_CLASS, {\n ['has-left']: aiType === 'inner'\n })}\n >\n {children}\n </SimpleBar>\n ) : (\n <div\n ref={handlePageScrollRef}\n className={classnames('page-children', style['page-children'], !deviceIsMobile && 'is-scroller', !deviceIsMobile && style['is-scroller'], !deviceIsMobile && RESPONSIVE_SCROLL_CLASS, {\n ['has-left']: aiType === 'inner'\n })}\n >\n {children}\n </div>\n )}\n </ErrorBoundary>\n </Col>\n </Row>\n </Flex>\n </Flex>\n {aiOverlay}\n <Toolbar {...menu} className={classnames(style['toolbar'])} show={deviceIsMobile && toolbarShow} target={toolbarTarget} />\n </div>\n </Provider>\n </LayoutResponsiveScope>\n );\n};\n\nexport default Layout;\n","import { Flex, Button, Skeleton } from 'antd';\nimport { createPortal } from 'react-dom';\nimport { useEffect, useRef, useState } from 'react';\nimport Icon from '@kne/react-icon';\nimport ButtonGroup from '@kne/button-group';\nimport classnames from 'classnames';\nimport { useNavigate } from 'react-router-dom';\nimport { useScrollElement, usePopupContainer, useResponsiveContext } from '@kne/responsive-utils';\nimport { useContext } from '../context';\nimport style from './style.module.scss';\nimport { Image } from '@kne/react-file';\n\nconst PageLoading = () => {\n return (\n <Flex flex={1} justify=\"center\">\n <div className={style['page-loading']}>\n <Skeleton active />\n </div>\n </Flex>\n );\n};\n\nconst Page = ({ title, extra = null, back, buttonProps, children, toolbar = true, navbar = true, noPadding }) => {\n const { setToolbarShow, setNavbarShow, setMenuOpen, deviceIsMobile, userAvatar, scrollReady } = useContext();\n const navigate = useNavigate();\n const getScrollElement = useScrollElement();\n const getBoundaryElement = usePopupContainer();\n const { mode } = useResponsiveContext();\n const navbarRef = useRef(null);\n const [isScrolled, setIsScrolled] = useState(false);\n const useBoundaryMount = deviceIsMobile && mode === 'container';\n const useViewportFixed = deviceIsMobile && mode !== 'container';\n const boundaryTarget = useBoundaryMount ? getBoundaryElement() : null;\n\n useEffect(() => {\n setToolbarShow && setToolbarShow(!!toolbar);\n setNavbarShow && setNavbarShow(!!navbar);\n }, [toolbar, navbar]);\n\n useEffect(() => {\n if (!deviceIsMobile || !navbar) {\n return;\n }\n let boundEl = null;\n let remove = null;\n\n const bind = () => {\n const scrollEl = getScrollElement();\n if (!scrollEl || typeof scrollEl.addEventListener !== 'function' || scrollEl === boundEl) {\n return;\n }\n if (typeof remove === 'function') {\n remove();\n }\n boundEl = scrollEl;\n const handleScroll = () => {\n const threshold = navbarRef.current ? navbarRef.current.offsetHeight : 48;\n setIsScrolled(scrollEl.scrollTop > threshold);\n };\n handleScroll();\n scrollEl.addEventListener('scroll', handleScroll, { passive: true });\n remove = () => scrollEl.removeEventListener('scroll', handleScroll);\n };\n\n bind();\n // SimpleBar / kne-responsive-scroll 可能在下一帧才就绪,补一次绑定\n const raf = requestAnimationFrame(bind);\n return () => {\n cancelAnimationFrame(raf);\n if (typeof remove === 'function') {\n remove();\n }\n };\n }, [deviceIsMobile, navbar, getScrollElement, scrollReady]);\n\n const titleExtraContent = (() => {\n if (extra) {\n if (deviceIsMobile && userAvatar) {\n return (\n <Flex gap={4} align=\"center\">\n {extra}\n <Image.Avatar id={userAvatar} src={userAvatar} shape=\"circle\" size={30} alt=\"avatar\" />\n </Flex>\n );\n }\n return extra;\n }\n if (deviceIsMobile && (buttonProps || userAvatar)) {\n const actions = buttonProps ? (\n <div className={classnames('page-title-actions', style['page-title-actions'])}>\n <ButtonGroup {...Object.assign({}, buttonProps, { showLength: 0, moreType: 'link' })} />\n </div>\n ) : null;\n const avatar = userAvatar ? <Image.Avatar id={userAvatar} src={userAvatar} shape=\"circle\" size={30} alt=\"avatar\" /> : null;\n // 仅更多按钮时不要套带 gap 的 Flex,否则 ButtonGroup 测宽空节点也会吃 gap,导致不居中\n if (actions && avatar) {\n return (\n <Flex gap={4} align=\"center\">\n {actions}\n {avatar}\n </Flex>\n );\n }\n return actions || avatar;\n }\n if (buttonProps) {\n return <ButtonGroup {...buttonProps} />;\n }\n return null;\n })();\n\n const navbarInner = navbar ? (\n <Flex\n ref={navbarRef}\n justify=\"space-between\"\n align=\"center\"\n gap={20}\n className={classnames('page-header', style['page-header'], {\n ['is-mobile']: deviceIsMobile,\n [style['is-mobile']]: deviceIsMobile,\n ['is-scrolled']: isScrolled,\n [style['is-scrolled']]: isScrolled,\n [style['is-boundary']]: useBoundaryMount && !!boundaryTarget,\n [style['is-viewport']]: useViewportFixed || (useBoundaryMount && !boundaryTarget)\n })}\n >\n <Flex className={classnames('page-title-outer', style['page-title-outer'])} align=\"center\" gap={4}>\n {back && (\n <Button\n type=\"link\"\n icon={<Icon className={style['back-icon']} type=\"a-Typearrow_forward_ios\" fontClassName=\"system\" />}\n onClick={() => {\n navigate(-1);\n }}\n />\n )}\n {!back && deviceIsMobile && (\n <Button\n type=\"link\"\n icon={<Icon className={style['back-icon']} type=\"a-Typeequal\" fontClassName=\"system\" />}\n onClick={() => {\n setMenuOpen(open => !open);\n }}\n />\n )}\n <div className={classnames('page-title', style['page-title'])}>{title}</div>\n </Flex>\n {titleExtraContent ? <div className={classnames('page-title-extra', style['page-title-extra'], style['has-float'])}>{titleExtraContent}</div> : null}\n </Flex>\n ) : null;\n\n const navbarEl =\n navbarInner && useBoundaryMount && boundaryTarget\n ? createPortal(\n <div\n className={classnames('page-header-boundary-overlay', style['page-header-boundary-overlay'])}\n style={{\n '--safe-area-inset-top': 'env(safe-area-inset-top)',\n '--safe-area-inset-bottom': 'env(safe-area-inset-bottom)'\n }}\n >\n {navbarInner}\n </div>,\n boundaryTarget\n )\n : navbarInner;\n\n const pageInnerClassNameOrigin = classnames('page-inner', style['page-inner']);\n const pageInnerClassName = classnames(pageInnerClassNameOrigin, {\n ['no-padding']: noPadding,\n [style['no-padding']]: noPadding\n });\n\n const render = ({ children, className }) => {\n return (\n <>\n <div className={style['page-top']} />\n <Flex vertical flex={1}>\n {navbarEl}\n <Flex vertical flex={1} className={classnames(pageInnerClassNameOrigin, className)}>\n {children}\n </Flex>\n </Flex>\n <div className={style['page-bottom']} />\n </>\n );\n };\n\n return (\n <Flex\n vertical\n flex={1}\n className={classnames('page', style['page'], {\n ['is-mobile']: deviceIsMobile,\n [style['is-mobile']]: deviceIsMobile\n })}\n >\n {typeof children === 'function'\n ? children({\n navbar: navbarEl,\n className: pageInnerClassName,\n render,\n pageLoading: render({\n children: <PageLoading />\n })\n })\n : render({ children })}\n </Flex>\n );\n};\n\nPage.PageLoading = PageLoading;\n\nexport default Page;\n","import { IS_MOBILE_QUERY, MOBILE_BREAKPOINT } from '@kne/responsive-utils';\n\nconst isMobile = () => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return false;\n }\n return window.matchMedia(IS_MOBILE_QUERY).matches;\n};\n\nexport default isMobile;\nexport { MOBILE_BREAKPOINT };\n","import merge from 'lodash/merge';\nimport transform from 'lodash/transform';\n\nconst transparentBgContainer = { colorBgContainer: 'transparent' };\nconst transparentBgContainerComponents = ['Input', 'InputNumber', 'Card', 'Tree', 'Select', 'DatePicker', 'Tabs'];\n\nconst themeToken = {\n components: merge(\n {},\n transform(\n transparentBgContainerComponents,\n (result, component) => {\n result[component] = transparentBgContainer;\n },\n {}\n )\n )\n};\n\nexport default themeToken;\n","export { default } from './Layout';\nexport { default as Layout } from './Layout';\nexport { default as Page } from './Page';\nexport { default as isMobile, MOBILE_BREAKPOINT } from './isMobile';\nexport { default as useIsMobile } from './useIsMobile';\nexport { useContext as useLayoutContext } from './context';\nexport { default as themeToken } from './themeToken';\n\nexport {\n MOBILE_BREAKPOINT as mobileBreakpoint,\n ResponsiveProvider,\n useBreakpoint,\n useMediaQuery,\n usePopupContainer,\n useScrollElement,\n useResponsiveContext,\n RESPONSIVE_CONTAINER_CLASS,\n RESPONSIVE_BOUNDARY_CLASS,\n RESPONSIVE_SCROLL_CLASS\n} from '@kne/responsive-utils';\n\nimport('./icons/index');\n"],"names":["UserCard","name","avatar","email","phone","description","menuOpen","extra","_jsx","Image","Avatar","id","src","shape","size","alt","_jsxs","Flex","gap","justify","children","vertical","className","classnames","style","MENU_ITEM_HEIGHT","MENU_GROUP_HEIGHT","MENU_GROUP_SPLIT_HEIGHT","getItemKey","item","index","key","path","Menu","items","activeKey","base","onChange","location","useLocation","navigate","useNavigate","listRef","useRef","virtualListRef","listHeight","setListHeight","useState","currentPathname","pathname","replace","RegExp","isItemActive","useCallback","ensureSlash","getEstimatedItemHeight","_items","hasGroup","group","estimatedItemHeight","useMemo","length","total","reduce","sum","Math","max","ceil","listData","map","activeIndex","findIndex","useLayoutEffect","el","current","updateHeight","styles","getComputedStyle","paddingY","parseFloat","paddingTop","paddingBottom","clientHeight","observer","ResizeObserver","observe","disconnect","_virtualListRef$curre","scrollTo","align","renderMenuItem","_items2","active","icon","title","label","onClick","e","event","groupLabel","Icon","type","fontClassName","isValidElement","isPlainObject","_extends","ref","VirtualList","data","height","itemHeight","itemKey","virtual","context","createContext","useContext","useReactContext","Provider","Consumer","resolveTarget","target","Toolbar","show","getScrollElement","useScrollElement","getBoundaryElement","usePopupContainer","mode","useResponsiveContext","isMobile","useIsMobile","scrollReady","toolbarMenu","filter","toolbar","itemRefs","firstRenderRef","indicator","setIndicator","left","width","scale","visible","clicked","setClicked","scrolling","setScrolling","scrollTimerRef","displayIndex","explicitTarget","useBoundaryMount","useViewportFixed","boundaryTarget","list","itemRect","getBoundingClientRect","listRect","newLeft","newWidth","prev","t1","setTimeout","t2","clearTimeout","useEffect","scrollEl","addEventListener","handleScroll","passive","removeEventListener","toolbarList","onAnimationEnd","transform","flex","createPortal","locale","systemError","refresh","withLocale","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","ErrorComponent","formatMessage","useIntl","Alert","message","showIcon","action","Button","danger","window","reload","ErrorBoundary","props","ReactErrorBoundary","errorComponent","resolvePageScrollElement","pageScrollRef","openScrollbar","deviceIsMobile","anchor","marked","findResponsiveScroll","parentElement","scrollParent","findScrollParent","getDefaultScrollElement","nodeType","wrapper","querySelector","LayoutResponsiveScope","boundaryRef","scrollRef","parent","inheritBoundary","ResponsiveProvider","containerWidth","fromParent","undefined","LayoutMenuOpenKey","DRAG_THRESHOLD","MobileAiEntry","variant","onOpen","btnRef","dragRef","pos","setPos","handlePointerDown","node","container","offsetParent","rect","refLeft","refTop","top","startX","clientX","startY","clientY","originLeft","originTop","refWidth","clientWidth","innerWidth","refHeight","innerHeight","offsetWidth","moved","setPointerCapture","pointerId","handlePointerMove","drag","dx","dy","abs","maxLeft","maxTop","min","handlePointerUp","_btnRef$current","releasePointerCapture","right","bottom","onPointerDown","onPointerMove","onPointerUp","colorful","Layout","menu","background","menuMaxWidth","menuMinWidth","logo","menuHeader","userInfo","aiDialog","openScrollbarProps","isMobileProps","toolbarTarget","localMenuOpen","localStorage","getItem","responsiveContext","useMenuPortal","menuPortalTarget","setMenuPortalTarget","setMenuOpen","toolbarShow","setToolbarShow","navbarShow","setNavbarShow","aiType","setAiType","setScrollReady","__COMPONENTS_CORE_SIMPLE_BAR_DISABLED","userAvatar","contextValue","Object","assign","defaultLogo","topRef","pageRef","layoutBoundaryRef","getPageScrollElement","handlePageScrollRef","version","_topRef$current","scrollIntoView","userCard","menuPortalVars","layerMenuNode","menuNode","setItem","ExpandIcon","portalMenu","aiDialogWindow","content","aiEntryMobile","aiPortalVars","aiOverlayContent","_Fragment","aiOverlay","value","RESPONSIVE_BOUNDARY_CLASS","minHeight","Row","Col","span","RESPONSIVE_CONTAINER_CLASS","SimpleBar","RESPONSIVE_SCROLL_CLASS","PageLoading","Skeleton","Page","back","buttonProps","navbar","noPadding","navbarRef","isScrolled","setIsScrolled","boundEl","remove","bind","threshold","offsetHeight","scrollTop","raf","requestAnimationFrame","cancelAnimationFrame","titleExtraContent","actions","ButtonGroup","showLength","moreType","navbarInner","open","navbarEl","pageInnerClassNameOrigin","pageInnerClassName","render","pageLoading","matchMedia","IS_MOBILE_QUERY","matches","transparentBgContainer","colorBgContainer","transparentBgContainerComponents","themeToken","components","merge","result","component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,QAAQ,GAAGA,CAAC;EAAEC,IAAI;EAAEC,MAAM;EAAEC,KAAK;EAAEC,KAAK;EAAEC,WAAW;EAAEC,QAAQ;AAAEC,EAAAA,KAAAA;AAAM,CAAC,KAAK;EACjF,IAAI,CAACD,QAAQ,EAAE;AACb,IAAA,oBAAOE,GAAA,CAACC,KAAK,CAACC,MAAM,EAAA;AAACC,MAAAA,EAAE,EAAET,MAAO;AAACU,MAAAA,GAAG,EAAEV,MAAO;AAACW,MAAAA,KAAK,EAAC,QAAQ;AAACC,MAAAA,IAAI,EAAE,EAAG;AAACC,MAAAA,GAAG,EAAC,QAAA;AAAQ,KAAE,CAAC,CAAA;AACxF,GAAA;EACA,oBACEC,IAAA,CAACC,IAAI,EAAA;AAACC,IAAAA,GAAG,EAAE,EAAG;AAACC,IAAAA,OAAO,EAAC,QAAQ;AAAAC,IAAAA,QAAA,EAC7BZ,cAAAA,GAAA,CAACC,KAAK,CAACC,MAAM,EAAA;AAACC,MAAAA,EAAE,EAAET,MAAO;AAACU,MAAAA,GAAG,EAAEV,MAAO;AAACW,MAAAA,KAAK,EAAC,QAAQ;AAACC,MAAAA,IAAI,EAAE,EAAG;AAACC,MAAAA,GAAG,EAAC,QAAA;AAAQ,KAAE,CAAC,eAC/EC,IAAA,CAACC,IAAI,EAAA;MAACI,QAAQ,EAAA,IAAA;AAAAD,MAAAA,QAAA,gBACZZ,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,UAAU,EAAEC,OAAK,CAAC,UAAU,CAAC,CAAE;QAAAJ,QAAA,EAAEnB,IAAI,IAAI,GAAA;OAAS,CAAC,eAC9EO,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,kBAAkB,EAAEC,OAAK,CAAC,kBAAkB,CAAC,CAAE;AAAAJ,QAAAA,QAAA,EAAEjB,KAAK,IAAIC,KAAK,IAAIC,WAAW,IAAI,GAAA;OAAS,CAAC,EACtHE,KAAK,CAAA;AAAA,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX,CAAC;;;;ACTD,MAAMkB,gBAAgB,GAAG,EAAE,CAAA;AAC3B,MAAMC,iBAAiB,GAAG,EAAE,CAAA;AAC5B,MAAMC,uBAAuB,GAAG,EAAE,CAAA;AAElC,MAAMC,UAAU,GAAGA,CAACC,IAAI,EAAEC,KAAK,KAAKD,IAAI,CAACE,GAAG,IAAIF,IAAI,CAACG,IAAI,IAAIF,KAAK,CAAA;AAElE,MAAMG,IAAI,GAAGA,CAAC;EAAEX,SAAS;EAAEhB,QAAQ;EAAE4B,KAAK;EAAEC,SAAS;EAAEC,IAAI,EAAJA,KAAI,GAAG,EAAE;AAAEC,EAAAA,QAAAA;AAAS,CAAC,KAAK;AAC/E,EAAA,MAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAMC,OAAO,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,EAAA,MAAMC,cAAc,GAAGD,MAAM,CAAC,IAAI,CAAC,CAAA;EACnC,MAAM,CAACE,UAAU,EAAEC,aAAa,CAAC,GAAGC,QAAQ,CAAC,CAAC,CAAC,CAAA;EAC/C,MAAMC,eAAe,GAAGZ,KAAI,GAAGE,QAAQ,CAACW,QAAQ,CAACC,OAAO,CAAC,IAAIC,MAAM,CAAC,CAAA,CAAA,EAAIf,KAAI,CAAA,CAAE,CAAC,EAAE,EAAE,CAAC,GAAGE,QAAQ,CAACW,QAAQ,CAAA;AAExG,EAAA,MAAMG,YAAY,GAAGC,WAAW,CAC9BxB,IAAI,IAAI;AACN,IAAA,IAAI,OAAOM,SAAS,KAAK,QAAQ,EAAE;AACjC,MAAA,OAAOA,SAAS,KAAKN,IAAI,CAACE,GAAG,CAAA;AAC/B,KAAA;AACA,IAAA,IAAI,OAAOI,SAAS,KAAK,UAAU,EAAE;MACnC,OAAOA,SAAS,CAACN,IAAI,EAAE;QAAEvB,QAAQ;AAAE8B,QAAAA,IAAI,EAAJA,KAAAA;AAAK,OAAC,CAAC,CAAA;AAC5C,KAAA;AACA,IAAA,IAAI,OAAOP,IAAI,CAACG,IAAI,KAAK,QAAQ,EAAE;MACjC,OAAOsB,WAAW,CAACN,eAAe,CAAC,KAAKM,WAAW,CAACzB,IAAI,CAACG,IAAI,CAAC,CAAA;AAChE,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;GACb,EACD,CAACG,SAAS,EAAEC,KAAI,EAAEY,eAAe,EAAE1C,QAAQ,CAC7C,CAAC,CAAA;EAED,MAAMiD,sBAAsB,GAAGF,WAAW,CACxC,CAACxB,IAAI,EAAEC,KAAK,KAAK;AAAA,IAAA,IAAA0B,MAAA,CAAA;IACf,MAAMC,QAAQ,GAAG5B,IAAI,CAAC6B,KAAK,IAAI7B,IAAI,CAAC6B,KAAK,MAAA,CAAAF,MAAA,GAAKtB,KAAK,CAACJ,KAAK,GAAG,CAAC,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAhB0B,MAAA,CAAkBE,KAAK,CAAA,CAAA;IACrE,IAAI,CAACD,QAAQ,EAAE;AACb,MAAA,OAAOhC,gBAAgB,CAAA;AACzB,KAAA;AACA,IAAA,OAAOA,gBAAgB,IAAInB,QAAQ,GAAGoB,iBAAiB,GAAGC,uBAAuB,CAAC,CAAA;AACpF,GAAC,EACD,CAACO,KAAK,EAAE5B,QAAQ,CAClB,CAAC,CAAA;AAED,EAAA,MAAMqD,mBAAmB,GAAGC,OAAO,CAAC,MAAM;AACxC,IAAA,IAAI,CAAC1B,KAAK,CAAC2B,MAAM,EAAE;AACjB,MAAA,OAAOpC,gBAAgB,CAAA;AACzB,KAAA;IACA,MAAMqC,KAAK,GAAG5B,KAAK,CAAC6B,MAAM,CAAC,CAACC,GAAG,EAAEnC,IAAI,EAAEC,KAAK,KAAKkC,GAAG,GAAGT,sBAAsB,CAAC1B,IAAI,EAAEC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9F,IAAA,OAAOmC,IAAI,CAACC,GAAG,CAACzC,gBAAgB,EAAEwC,IAAI,CAACE,IAAI,CAACL,KAAK,GAAG5B,KAAK,CAAC2B,MAAM,CAAC,CAAC,CAAA;AACpE,GAAC,EAAE,CAACN,sBAAsB,EAAErB,KAAK,CAAC,CAAC,CAAA;AAEnC,EAAA,MAAMkC,QAAQ,GAAGR,OAAO,CACtB,MACE1B,KAAK,CAACmC,GAAG,CAAC,CAACxC,IAAI,EAAEC,KAAK,MAAM;IAC1BD,IAAI;IACJC,KAAK;AACLC,IAAAA,GAAG,EAAEH,UAAU,CAACC,IAAI,EAAEC,KAAK,CAAA;AAC7B,GAAC,CAAC,CAAC,EACL,CAACI,KAAK,CACR,CAAC,CAAA;EAED,MAAMoC,WAAW,GAAGV,OAAO,CAAC,MAAMQ,QAAQ,CAACG,SAAS,CAAC,CAAC;AAAE1C,IAAAA,IAAAA;AAAK,GAAC,KAAKuB,YAAY,CAACvB,IAAI,CAAC,CAAC,EAAE,CAACuB,YAAY,EAAEgB,QAAQ,CAAC,CAAC,CAAA;AAEjHI,EAAAA,eAAe,CAAC,MAAM;AACpB,IAAA,MAAMC,EAAE,GAAG/B,OAAO,CAACgC,OAAO,CAAA;IAC1B,IAAI,CAACD,EAAE,EAAE;AACP,MAAA,OAAA;AACF,KAAA;IACA,MAAME,YAAY,GAAGA,MAAM;AACzB,MAAA,MAAMC,MAAM,GAAGC,gBAAgB,CAACJ,EAAE,CAAC,CAAA;AACnC,MAAA,MAAMK,QAAQ,GAAGC,UAAU,CAACH,MAAM,CAACI,UAAU,CAAC,GAAGD,UAAU,CAACH,MAAM,CAACK,aAAa,CAAC,CAAA;AACjFnC,MAAAA,aAAa,CAAC2B,EAAE,CAACS,YAAY,GAAGJ,QAAQ,CAAC,CAAA;KAC1C,CAAA;AACDH,IAAAA,YAAY,EAAE,CAAA;AACd,IAAA,MAAMQ,QAAQ,GAAG,IAAIC,cAAc,CAACT,YAAY,CAAC,CAAA;AACjDQ,IAAAA,QAAQ,CAACE,OAAO,CAACZ,EAAE,CAAC,CAAA;AACpB,IAAA,OAAO,MAAMU,QAAQ,CAACG,UAAU,EAAE,CAAA;GACnC,EAAE,EAAE,CAAC,CAAA;AAENd,EAAAA,eAAe,CAAC,MAAM;AAAA,IAAA,IAAAe,qBAAA,CAAA;AACpB,IAAA,IAAIjB,WAAW,GAAG,CAAC,IAAIzB,UAAU,IAAI,CAAC,EAAE;AACtC,MAAA,OAAA;AACF,KAAA;IACA,CAAA0C,qBAAA,GAAA3C,cAAc,CAAC8B,OAAO,KAAtBa,IAAAA,IAAAA,qBAAA,CAAwBC,QAAQ,CAAC;AAC/B1D,MAAAA,KAAK,EAAEwC,WAAW;AAClBmB,MAAAA,KAAK,EAAE,MAAA;AACT,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACnB,WAAW,EAAEzB,UAAU,EAAEvC,QAAQ,EAAE8D,QAAQ,CAACP,MAAM,CAAC,CAAC,CAAA;AAExD,EAAA,MAAM6B,cAAc,GAAGA,CAAC7D,IAAI,EAAEC,KAAK,KAAK;AAAA,IAAA,IAAA6D,OAAA,CAAA;AACtC,IAAA,MAAMC,MAAM,GAAGxC,YAAY,CAACvB,IAAI,CAAC,CAAA;AACjC,IAAA,MAAMgE,IAAI,GAAG,OAAOhE,IAAI,CAACgE,IAAI,KAAK,UAAU,GAAGhE,IAAI,CAACgE,IAAI,CAAC;MAAEvF,QAAQ;AAAEsF,MAAAA,MAAAA;AAAO,KAAC,CAAC,GAAG/D,IAAI,CAACgE,IAAI,CAAA;IAC1F,MAAMpC,QAAQ,GAAG5B,IAAI,CAAC6B,KAAK,IAAI7B,IAAI,CAAC6B,KAAK,MAAA,CAAAiC,OAAA,GAAKzD,KAAK,CAACJ,KAAK,GAAG,CAAC,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAhB6D,OAAA,CAAkBjC,KAAK,CAAA,CAAA;AAErE,IAAA,oBACE1C,IAAA,CAAA,KAAA,EAAA;MAEE8E,KAAK,EAAEjE,IAAI,CAACkE,KAAM;MAClBC,OAAO,EAAEC,CAAC,IAAI;AACZ,QAAA,IAAIL,MAAM,EAAE;AACV,UAAA,OAAA;AACF,SAAA;AACAvD,QAAAA,QAAQ,IAAIA,QAAQ,CAACR,IAAI,EAAE;UAAEvB,QAAQ;AAAE8B,UAAAA,IAAI,EAAJA,KAAAA;AAAK,SAAC,CAAC,CAAA;AAC9C,QAAA,IAAI,OAAOP,IAAI,CAACmE,OAAO,KAAK,UAAU,EAAE;AACtCnE,UAAAA,IAAI,CAACmE,OAAO,CAACnE,IAAI,EAAE;YAAEvB,QAAQ;AAAE8B,YAAAA,IAAI,EAAJA,KAAI;AAAE8D,YAAAA,KAAK,EAAED,CAAAA;AAAE,WAAC,CAAC,CAAA;AAChD,UAAA,OAAA;AACF,SAAA;QACA,IAAIpE,IAAI,CAACG,IAAI,EAAE;UACbQ,QAAQ,CAACc,WAAW,CAAC,CAAGlB,EAAAA,KAAI,CAAGP,EAAAA,IAAI,CAACG,IAAI,CAAE,CAAA,CAAC,CAAC,CAAA;AAC9C,SAAA;OACA;AAAAZ,MAAAA,QAAA,EAEDqC,CAAAA,QAAQ,IAAInD,QAAQ,gBAAGE,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,YAAY,EAAEC,OAAK,CAAC,YAAY,CAAC,CAAE;AAAAJ,QAAAA,QAAA,EAAES,IAAI,CAACsE,UAAU,IAAItE,IAAI,CAAC6B,KAAAA;OAAW,CAAC,GAAG,IAAI,EAClID,QAAQ,IAAI,CAACnD,QAAQ,gBAAGE,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,kBAAkB,EAAEC,OAAK,CAAC,kBAAkB,CAAC,CAAA;AAAE,OAAE,CAAC,GAAG,IAAI,eAC7GR,IAAA,CAACC,IAAI,EAAA;QACHK,SAAS,EAAEC,UAAU,CAAC,WAAW,EAAEC,OAAK,CAAC,WAAW,CAAC,EAAE;UACrD,CAAC,WAAW,GAAGoE,MAAM;UACrB,CAAC,WAAW,GAAG,CAACtF,QAAAA;AAClB,SAAC,CAAE;AACHmF,QAAAA,KAAK,EAAC,QAAQ;AACdvE,QAAAA,GAAG,EAAE,CAAE;QAAAE,QAAA,EAAA,CAEN,CAACyE,IAAI,IAAI;AACR,UAAA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;YAC5B,oBAAOrF,GAAA,CAAC4F,IAAI,EAAA;cAAC9E,SAAS,EAAEC,UAAU,CAAC,gBAAgB,EAAEC,OAAK,CAAC,gBAAgB,CAAC,CAAE;AAAC6E,cAAAA,IAAI,EAAER,IAAK;AAACS,cAAAA,aAAa,EAAC,QAAA;AAAQ,aAAE,CAAC,CAAA;AACtH,WAAA;AAEA,UAAA,iBAAIC,cAAc,CAACV,IAAI,CAAC,EAAE;AACxB,YAAA,oBAAOrF,GAAA,CAAA,MAAA,EAAA;cAAMc,SAAS,EAAEC,UAAU,CAAC,gBAAgB,EAAEC,OAAK,CAAC,gBAAgB,CAAC,CAAE;AAAAJ,cAAAA,QAAA,EAAEyE,IAAAA;AAAI,aAAO,CAAC,CAAA;AAC9F,WAAA;UAEA,IAAIW,aAAa,CAACX,IAAI,CAAC,IAAI,OAAOA,IAAI,CAACQ,IAAI,KAAK,QAAQ,EAAE;AACxD,YAAA,oBAAO7F,GAAA,CAAC4F,IAAI,EAAAK,QAAA,KAAKZ,IAAI,EAAA;cAAEvE,SAAS,EAAEC,UAAU,CAAC,gBAAgB,EAAEC,OAAK,CAAC,gBAAgB,CAAC,CAAA;AAAE,aAAA,CAAE,CAAC,CAAA;AAC7F,WAAA;AAEA,UAAA,OAAO,IAAI,CAAA;SACZ,EAAEqE,IAAI,CAAC,EACPvF,QAAQ,IAAIuB,IAAI,CAACkE,KAAK,CAAA;AAAA,OACnB,CAAC,CAAA;AAAA,KAAA,EA1CFnE,UAAU,CAACC,IAAI,EAAEC,KAAK,CA2CxB,CAAC,CAAA;GAET,CAAA;AAED,EAAA,oBACEtB,GAAA,CAAA,KAAA,EAAA;AAAKkG,IAAAA,GAAG,EAAEhE,OAAQ;IAACpB,SAAS,EAAEC,UAAU,CAAC,MAAM,EAAED,SAAS,EAAEE,OAAK,CAAC,WAAW,CAAC,CAAE;AAAAJ,IAAAA,QAAA,EAC7EyB,UAAU,GAAG,CAAC,gBACbrC,GAAA,CAACmG,WAAW,EAAA;AAACD,MAAAA,GAAG,EAAE9D,cAAe;AAACgE,MAAAA,IAAI,EAAExC,QAAS;AAACyC,MAAAA,MAAM,EAAEhE,UAAW;AAACiE,MAAAA,UAAU,EAAEnD,mBAAoB;AAACoD,MAAAA,OAAO,EAAC,KAAK;AAACC,MAAAA,OAAO,EAAE5C,QAAQ,CAACP,MAAM,GAAG,CAAE;AAAAzC,MAAAA,QAAA,EAC/IA,CAAC;QAAES,IAAI;AAAEC,QAAAA,KAAAA;AAAM,OAAC,KAAK4D,cAAc,CAAC7D,IAAI,EAAEC,KAAK,CAAA;AAAC,KACtC,CAAC,GACZ,IAAA;AAAI,GACL,CAAC,CAAA;AAEV,CAAC;;;;AC9JD,MAAMmF,OAAO,gBAAGC,aAAa,CAAC,EAAE,CAAC,CAAA;AAEpBC,MAAAA,UAAU,GAAGA,MAAM;EAC9B,OAAOC,YAAe,CAACH,OAAO,CAAC,CAAA;AACjC,EAAC;AAEM,MAAM;EAAEI,QAAQ;AAAEC,EAAAA,QAAAA;AAAS,CAAC,GAAGL,OAAO;;ACI7C,MAAMM,aAAa,GAAGC,MAAM,IAAI;EAC9B,IAAI,CAACA,MAAM,EAAE;AACX,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EACA,OAAO,OAAOA,MAAM,KAAK,UAAU,GAAGA,MAAM,EAAE,GAAGA,MAAM,CAAA;AACzD,CAAC,CAAA;AAED,MAAMC,OAAO,GAAGA,CAAC;EAAEC,IAAI,EAAJA,KAAI,GAAG,IAAI;EAAEpG,SAAS;EAAEY,KAAK;EAAEC,SAAS;EAAEC,IAAI,EAAJA,KAAI,GAAG,EAAE;EAAEC,QAAQ;AAAEmF,EAAAA,MAAAA;AAAO,CAAC,KAAK;AAC7F,EAAA,MAAMlF,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAMkF,gBAAgB,GAAGC,gBAAgB,EAAE,CAAA;AAC3C,EAAA,MAAMC,kBAAkB,GAAGC,iBAAiB,EAAE,CAAA;EAC9C,MAAM;AAAEC,IAAAA,IAAAA;GAAM,GAAGC,oBAAoB,EAAE,CAAA;AACvC,EAAA,MAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAC9B,MAAM;AAAEC,IAAAA,WAAAA;GAAa,GAAGhB,UAAU,EAAE,CAAA;EACpC,MAAMnE,eAAe,GAAGZ,KAAI,GAAGE,QAAQ,CAACW,QAAQ,CAACC,OAAO,CAAC,IAAIC,MAAM,CAAC,CAAA,CAAA,EAAIf,KAAI,CAAA,CAAE,CAAC,EAAE,EAAE,CAAC,GAAGE,QAAQ,CAACW,QAAQ,CAAA;EACxG,MAAMmF,WAAW,GAAGlG,KAAK,CAACmG,MAAM,CAACxG,IAAI,IAAIA,IAAI,CAACyG,OAAO,CAAC,CAAA;AACtD,EAAA,MAAMC,QAAQ,GAAG5F,MAAM,CAAC,EAAE,CAAC,CAAA;AAC3B,EAAA,MAAM6F,cAAc,GAAG7F,MAAM,CAAC,IAAI,CAAC,CAAA;AACnC,EAAA,MAAM,CAAC8F,SAAS,EAAEC,YAAY,CAAC,GAAG3F,QAAQ,CAAC;AAAE4F,IAAAA,IAAI,EAAE,CAAC;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,OAAO,EAAE,KAAA;AAAM,GAAC,CAAC,CAAA;EAC3F,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGjG,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC7C,MAAM,CAACkG,SAAS,EAAEC,YAAY,CAAC,GAAGnG,QAAQ,CAAC,KAAK,CAAC,CAAA;AACjD,EAAA,MAAMoG,cAAc,GAAGxG,MAAM,CAAC,IAAI,CAAC,CAAA;AAEnC,EAAA,MAAM2B,WAAW,GAAG8D,WAAW,CAAC7D,SAAS,CAAC1C,IAAI,IAAI;AAChD,IAAA,IAAI,OAAOM,SAAS,KAAK,QAAQ,EAAE;AACjC,MAAA,OAAOA,SAAS,KAAKN,IAAI,CAACE,GAAG,CAAA;AAC/B,KAAA;AACA,IAAA,IAAI,OAAOI,SAAS,KAAK,UAAU,EAAE;MACnC,OAAOA,SAAS,CAACN,IAAI,EAAE;AAAEO,QAAAA,IAAI,EAAJA,KAAAA;AAAK,OAAC,CAAC,CAAA;AAClC,KAAA;AACA,IAAA,IAAI,OAAOP,IAAI,CAACG,IAAI,KAAK,QAAQ,EAAE;MACjC,OAAOsB,WAAW,CAACN,eAAe,CAAC,KAAKM,WAAW,CAACzB,IAAI,CAACG,IAAI,CAAC,CAAA;AAChE,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAC,CAAC,CAAA;EACF,MAAMoH,YAAY,GAAG9E,WAAW,IAAI,CAAC,GAAGA,WAAW,GAAG,CAAC,CAAA;AAEvD,EAAA,MAAM5B,OAAO,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,EAAA,MAAM0G,cAAc,GAAG9B,aAAa,CAACC,MAAM,CAAC,CAAA;EAC5C,MAAM8B,gBAAgB,GAAGrB,QAAQ,IAAIF,IAAI,KAAK,WAAW,IAAI,CAACsB,cAAc,CAAA;EAC5E,MAAME,gBAAgB,GAAGtB,QAAQ,IAAIF,IAAI,KAAK,WAAW,IAAI,CAACsB,cAAc,CAAA;EAC5E,MAAMG,cAAc,GAAGF,gBAAgB,GAAGzB,kBAAkB,EAAE,GAAG,IAAI,CAAA;AAErErD,EAAAA,eAAe,CAAC,MAAM;IACpB,IAAIF,WAAW,GAAG,CAAC,EAAE;AACnB,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAMzC,IAAI,GAAG0G,QAAQ,CAAC7D,OAAO,CAACJ,WAAW,CAAC,CAAA;AAC1C,IAAA,MAAMmF,IAAI,GAAG/G,OAAO,CAACgC,OAAO,CAAA;AAC5B,IAAA,IAAI,CAAC7C,IAAI,IAAI,CAAC4H,IAAI,EAAE;AAClB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAMC,QAAQ,GAAG7H,IAAI,CAAC8H,qBAAqB,EAAE,CAAA;AAC7C,IAAA,MAAMC,QAAQ,GAAGH,IAAI,CAACE,qBAAqB,EAAE,CAAA;IAC7C,MAAME,OAAO,GAAGH,QAAQ,CAACf,IAAI,GAAGiB,QAAQ,CAACjB,IAAI,CAAA;AAC7C,IAAA,MAAMmB,QAAQ,GAAGJ,QAAQ,CAACd,KAAK,CAAA;IAE/B,IAAIJ,cAAc,CAAC9D,OAAO,EAAE;MAC1B8D,cAAc,CAAC9D,OAAO,GAAG,KAAK,CAAA;AAC9BgE,MAAAA,YAAY,CAAC;AAAEC,QAAAA,IAAI,EAAEkB,OAAO;AAAEjB,QAAAA,KAAK,EAAEkB,QAAQ;AAAEjB,QAAAA,KAAK,EAAE,CAAC;AAAEC,QAAAA,OAAO,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AACzE,MAAA,OAAA;AACF,KAAA;AAEAJ,IAAAA,YAAY,CAACqB,IAAI,IAAAtD,QAAA,KAAUsD,IAAI,EAAA;AAAElB,MAAAA,KAAK,EAAE,IAAA;AAAI,KAAA,CAAG,CAAC,CAAA;AAEhD,IAAA,MAAMmB,EAAE,GAAGC,UAAU,CAAC,MAAM;AAC1BvB,MAAAA,YAAY,CAACqB,IAAI,IAAAtD,QAAA,KAAUsD,IAAI,EAAA;AAAEpB,QAAAA,IAAI,EAAEkB,OAAO;AAAEjB,QAAAA,KAAK,EAAEkB,QAAAA;AAAQ,OAAA,CAAG,CAAC,CAAA;KACpE,EAAE,GAAG,CAAC,CAAA;AAEP,IAAA,MAAMI,EAAE,GAAGD,UAAU,CAAC,MAAM;AAC1BvB,MAAAA,YAAY,CAACqB,IAAI,IAAAtD,QAAA,KAAUsD,IAAI,EAAA;AAAElB,QAAAA,KAAK,EAAE,CAAA;AAAC,OAAA,CAAG,CAAC,CAAA;KAC9C,EAAE,GAAG,CAAC,CAAA;AAEP,IAAA,OAAO,MAAM;MACXsB,YAAY,CAACH,EAAE,CAAC,CAAA;MAChBG,YAAY,CAACD,EAAE,CAAC,CAAA;KACjB,CAAA;AACH,GAAC,EAAE,CAAC5F,WAAW,EAAEoD,KAAI,EAAEF,MAAM,EAAE8B,gBAAgB,EAAEC,gBAAgB,CAAC,CAAC,CAAA;AAEnEa,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMC,QAAQ,GAAG1C,gBAAgB,EAAE,CAAA;IACnC,IAAI,CAAC0C,QAAQ,IAAI,OAAOA,QAAQ,CAACC,gBAAgB,KAAK,UAAU,EAAE;AAChE,MAAA,OAAA;AACF,KAAA;IACA,MAAMC,YAAY,GAAGA,MAAM;MACzBrB,YAAY,CAAC,IAAI,CAAC,CAAA;MAClB,IAAIC,cAAc,CAACzE,OAAO,EAAE;AAC1ByF,QAAAA,YAAY,CAAChB,cAAc,CAACzE,OAAO,CAAC,CAAA;AACtC,OAAA;AACAyE,MAAAA,cAAc,CAACzE,OAAO,GAAGuF,UAAU,CAAC,MAAM;QACxCf,YAAY,CAAC,KAAK,CAAC,CAAA;OACpB,EAAE,GAAG,CAAC,CAAA;KACR,CAAA;AAEDmB,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,QAAQ,EAAEC,YAAY,EAAE;AAAEC,MAAAA,OAAO,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;AACpE,IAAA,OAAO,MAAM;AACXH,MAAAA,QAAQ,CAACI,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;MACpD,IAAIpB,cAAc,CAACzE,OAAO,EAAE;AAC1ByF,QAAAA,YAAY,CAAChB,cAAc,CAACzE,OAAO,CAAC,CAAA;AACtC,OAAA;KACD,CAAA;GACF,EAAE,CAACiD,gBAAgB,EAAED,KAAI,EAAES,WAAW,CAAC,CAAC,CAAA;EAEzC,IAAI,CAACT,KAAI,EAAE;AACT,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,MAAMgD,WAAW,gBACf1J,IAAA,CAACC,IAAI,EAAA;AACHyF,IAAAA,GAAG,EAAEhE,OAAQ;IACbpB,SAAS,EAAEC,UAAU,CAAC,cAAc,EAAEC,OAAK,CAAC,cAAc,CAAC,EAAE;MAC3D,CAAC,YAAY,GAAGuH,OAAO;MACvB,CAAC,cAAc,GAAGE,SAAS;AAC3B,MAAA,CAACzH,OAAK,CAAC,aAAa,CAAC,GAAG8H,gBAAgB;AACxC,MAAA,CAAC9H,OAAK,CAAC,aAAa,CAAC,GAAG+H,gBAAAA;AAC1B,KAAC,CAAE;AACH/H,IAAAA,KAAK,EAAE;AACL,MAAA,iBAAiB,EAAE4G,WAAW,CAACvE,MAAM,IAAI,CAAA;KACzC;IACF8G,cAAc,EAAEA,MAAM;AACpB,MAAA,IAAI5B,OAAO,EAAE;QACXC,UAAU,CAAC,KAAK,CAAC,CAAA;AACnB,OAAA;KACA;AAAA5H,IAAAA,QAAA,EAEDqH,CAAAA,SAAS,CAACK,OAAO,iBAChBtI,GAAA,CAAA,KAAA,EAAA;MACEc,SAAS,EAAEC,UAAU,CAAC,mBAAmB,EAAEC,OAAK,CAAC,mBAAmB,CAAC,CAAE;AACvEA,MAAAA,KAAK,EAAE;AACLmH,QAAAA,IAAI,EAAE,CAAA,EAAGF,SAAS,CAACE,IAAI,CAAI,EAAA,CAAA;AAC3BC,QAAAA,KAAK,EAAE,CAAA,EAAGH,SAAS,CAACG,KAAK,CAAI,EAAA,CAAA;AAC7BgC,QAAAA,SAAS,EAAE,CAAA,MAAA,EAASnC,SAAS,CAACI,KAAK,CAAA,CAAA,CAAA;AACrC,OAAA;KACD,CACF,EACAT,WAAW,CAAC/D,GAAG,CAAC,CAACxC,IAAI,EAAEC,KAAK,KAAK;AAChC,MAAA,MAAM8D,MAAM,GAAG9D,KAAK,KAAKwC,WAAW,CAAA;AACpC,MAAA,MAAMuB,IAAI,GAAG,OAAOhE,IAAI,CAACgE,IAAI,KAAK,UAAU,GAAGhE,IAAI,CAACgE,IAAI,CAAC;AAAED,QAAAA,MAAAA;AAAO,OAAC,CAAC,GAAG/D,IAAI,CAACgE,IAAI,CAAA;MAChF,oBACE7E,IAAA,CAACC,IAAI,EAAA;QAEHyF,GAAG,EAAEjC,EAAE,IAAI;AACT8D,UAAAA,QAAQ,CAAC7D,OAAO,CAAC5C,KAAK,CAAC,GAAG2C,EAAE,CAAA;SAC5B;QACFpD,QAAQ,EAAA,IAAA;AACRwJ,QAAAA,IAAI,EAAE,CAAE;AACR1J,QAAAA,OAAO,EAAC,QAAQ;AAChBsE,QAAAA,KAAK,EAAC,QAAQ;QACdnE,SAAS,EAAEC,UAAU,CAAC,cAAc,EAAEC,OAAK,CAAC,cAAc,CAAC,EAAE;UAC3D,CAAC,WAAW,GAAGoE,MAAM;UACrB,CAACpE,OAAK,CAAC,WAAW,CAAC,GAAGyH,SAAS,IAAInH,KAAK,KAAKsH,YAAAA;AAC/C,SAAC,CAAE;QACHpD,OAAO,EAAEC,CAAC,IAAI;AACZ,UAAA,IAAIL,MAAM,EAAE;AACV,YAAA,OAAA;AACF,WAAA;UACAoD,UAAU,CAAC,IAAI,CAAC,CAAA;AAChB3G,UAAAA,QAAQ,IAAIA,QAAQ,CAACR,IAAI,EAAE;AAAEO,YAAAA,IAAI,EAAJA,KAAAA;AAAK,WAAC,CAAC,CAAA;AACpC,UAAA,IAAI,OAAOP,IAAI,CAACmE,OAAO,KAAK,UAAU,EAAE;AACtCnE,YAAAA,IAAI,CAACmE,OAAO,CAACnE,IAAI,EAAE;AAAEO,cAAAA,IAAI,EAAJA,KAAI;AAAE8D,cAAAA,KAAK,EAAED,CAAAA;AAAE,aAAC,CAAC,CAAA;AACtC,YAAA,OAAA;AACF,WAAA;UACA,IAAIpE,IAAI,CAACG,IAAI,EAAE;YACbQ,QAAQ,CAACc,WAAW,CAAC,CAAGlB,EAAAA,KAAI,CAAGP,EAAAA,IAAI,CAACG,IAAI,CAAE,CAAA,CAAC,CAAC,CAAA;AAC9C,WAAA;SACA;QAAAZ,QAAA,EAAA,CAED,CAACyE,IAAI,IAAI;AACR,UAAA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;YAC5B,oBAAOrF,GAAA,CAAC4F,IAAI,EAAA;cAAC9E,SAAS,EAAEC,UAAU,CAAC,mBAAmB,EAAEC,OAAK,CAAC,mBAAmB,CAAC,CAAE;AAAC6E,cAAAA,IAAI,EAAER,IAAK;AAACS,cAAAA,aAAa,EAAC,QAAA;AAAQ,aAAE,CAAC,CAAA;AAC5H,WAAA;AAEA,UAAA,iBAAIC,cAAc,CAACV,IAAI,CAAC,EAAE;AACxB,YAAA,oBAAOrF,GAAA,CAAA,MAAA,EAAA;cAAMc,SAAS,EAAEC,UAAU,CAAC,mBAAmB,EAAEC,OAAK,CAAC,mBAAmB,CAAC,CAAE;AAAAJ,cAAAA,QAAA,EAAEyE,IAAAA;AAAI,aAAO,CAAC,CAAA;AACpG,WAAA;UAEA,IAAIW,aAAa,CAACX,IAAI,CAAC,IAAI,OAAOA,IAAI,CAACQ,IAAI,KAAK,QAAQ,EAAE;AACxD,YAAA,oBAAO7F,GAAA,CAAC4F,IAAI,EAAAK,QAAA,KAAKZ,IAAI,EAAA;cAAEvE,SAAS,EAAEC,UAAU,CAAC,mBAAmB,EAAEC,OAAK,CAAC,mBAAmB,CAAC,CAAA;AAAE,aAAA,CAAE,CAAC,CAAA;AACnG,WAAA;AAEA,UAAA,OAAO,IAAI,CAAA;AACb,SAAC,EAAEqE,IAAI,CAAC,eACRrF,GAAA,CAAA,KAAA,EAAA;UAAKc,SAAS,EAAEC,UAAU,CAAC,oBAAoB,EAAEC,OAAK,CAAC,oBAAoB,CAAC,CAAE;UAAAJ,QAAA,EAAES,IAAI,CAACkE,KAAAA;AAAK,SAAM,CAAC,CAAA;OA1C5FlE,EAAAA,IAAI,CAACE,GAAG,IAAIF,IAAI,CAACG,IAAI,IAAIF,KA2C1B,CAAC,CAAA;AAEX,KAAC,CAAC,CAAA;AAAA,GACE,CACP,CAAA;EAED,IAAIwH,gBAAgB,IAAIE,cAAc,EAAE;AACtC,IAAA,oBAAOhJ,GAAA,CAAA,KAAA,EAAA;MAAKc,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAEC,OAAK,CAAC,SAAS,CAAC,EAAEF,SAAS,CAAE;MAAAF,QAAA,eAAE0J,YAAY,cAACtK,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,0BAA0B,EAAEC,OAAK,CAAC,0BAA0B,CAAC,CAAE;AAAAJ,QAAAA,QAAA,EAAEsJ,WAAAA;OAAiB,CAAC,EAAElB,cAAc,CAAA;AAAC,KAAM,CAAC,CAAA;AACjO,GAAA;AAEA,EAAA,IAAID,gBAAgB,EAAE;AACpB,IAAA,oBAAO/I,GAAA,CAAA,KAAA,EAAA;AAAKc,MAAAA,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAEC,OAAK,CAAC,SAAS,CAAC,EAAEA,OAAK,CAAC,gBAAgB,CAAC,EAAEF,SAAS,CAAE;AAAAF,MAAAA,QAAA,EAAEsJ,WAAAA;AAAW,KAAM,CAAC,CAAA;AACzH,GAAA;AAEA,EAAA,IAAIrB,cAAc,EAAE;AAClB,IAAA,oBAAO7I,GAAA,CAAA,KAAA,EAAA;MAAKc,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAEC,OAAK,CAAC,SAAS,CAAC,EAAEF,SAAS,CAAE;AAAAF,MAAAA,QAAA,eAAE0J,YAAY,CAACJ,WAAW,EAAErB,cAAc,CAAA;AAAC,KAAM,CAAC,CAAA;AAC9H,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC;;ACxND,MAAM0B,QAAM,GAAG;AACbC,EAAAA,WAAW,EAAE,oBAAoB;AACjCC,EAAAA,OAAO,EAAE,IAAA;AACX,CAAC;;ACHD,MAAMF,MAAM,GAAG;AACbC,EAAAA,WAAW,EAAE,6EAA6E;AAC1FC,EAAAA,OAAO,EAAE,SAAA;AACX,CAAC;;ACCD,MAAMC,UAAU,GAAGC,sBAAsB,CAAC;AACxCC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,QAAQ,EAAE;AACR,IAAA,OAAO,EAAEC,QAAI;AACb,IAAA,OAAO,EAAEC,MAAAA;GACV;AACDC,EAAAA,SAAS,EAAE,eAAA;AACb,CAAC,CAAC;;ACLF,MAAMC,cAAc,GAAGP,UAAU,CAAC,MAAM;EACtC,MAAM;AAAEQ,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;EACnC,oBACEnL,GAAA,CAACoL,KAAK,EAAA;IACJC,OAAO,EAAEH,aAAa,CAAC;AAAE/K,MAAAA,EAAE,EAAE,aAAA;AAAc,KAAC,CAAE;IAC9CmL,QAAQ,EAAA,IAAA;AACRzF,IAAAA,IAAI,EAAC,OAAO;IACZ0F,MAAM,eACJvL,GAAA,CAACwL,MAAM,EAAA;AAAClL,MAAAA,IAAI,EAAC,OAAO;MAACmL,MAAM,EAAA,IAAA;MAACjG,OAAO,EAAEA,MAAMkG,MAAM,CAAC5J,QAAQ,CAAC6J,MAAM,EAAG;MAAA/K,QAAA,EACjEsK,aAAa,CAAC;AAAE/K,QAAAA,EAAE,EAAE,SAAA;OAAW,CAAA;KAC1B,CAAA;AACT,GACF,CAAC,CAAA;AAEN,CAAC,CAAC,CAAA;AAEF,MAAMyL,aAAa,GAAGC,KAAK,IAAI;AAC7B,EAAA,oBAAO7L,GAAA,CAAC8L,kBAAkB,EAAA7F,QAAA,KAAK4F,KAAK,EAAA;AAAEE,IAAAA,cAAc,EAAEd,cAAAA;AAAe,GAAA,CAAE,CAAC,CAAA;AAC1E,CAAC;;ACHD,MAAMe,wBAAwB,GAAGA,CAACC,aAAa,EAAEC,aAAa,EAAEC,cAAc,KAAK;AACjF,EAAA,IAAIA,cAAc,IAAI,CAACD,aAAa,EAAE;AACpC,IAAA,MAAME,OAAM,GAAGH,aAAa,CAAC/H,OAAO,CAAA;AACpC,IAAA,IAAIkI,OAAM,EAAE;AACV;AACA;MACA,MAAMC,MAAM,GAAGC,oBAAoB,CAACF,OAAM,CAACG,aAAa,IAAIH,OAAM,CAAC,CAAA;AACnE,MAAA,IAAIC,MAAM,EAAE;AACV,QAAA,OAAOA,MAAM,CAAA;AACf,OAAA;AACA,MAAA,MAAMG,YAAY,GAAGC,gBAAgB,CAACL,OAAM,CAAC,CAAA;AAC7C,MAAA,IAAII,YAAY,EAAE;AAChB,QAAA,OAAOA,YAAY,CAAA;AACrB,OAAA;AACF,KAAA;IACA,OAAOE,uBAAuB,EAAE,CAAA;AAClC,GAAA;AACA,EAAA,MAAMN,MAAM,GAAGH,aAAa,CAAC/H,OAAO,CAAA;EACpC,IAAIkI,MAAM,IAAI,OAAOA,MAAM,CAACjF,gBAAgB,KAAK,UAAU,EAAE;AAC3D,IAAA,OAAOiF,MAAM,CAACjF,gBAAgB,EAAE,CAAA;AAClC,GAAA;EACA,IAAIiF,MAAM,IAAIA,MAAM,CAACO,QAAQ,KAAK,CAAC,IAAIT,aAAa,EAAE;AACpD,IAAA,MAAMU,OAAO,GAAGR,MAAM,CAACS,aAAa,CAAC,4BAA4B,CAAC,CAAA;AAClE,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,OAAOA,OAAO,CAAA;AAChB,KAAA;AACF,GAAA;AACA,EAAA,OAAON,oBAAoB,CAACF,MAAM,CAAC,IAAIM,uBAAuB,EAAE,CAAA;AAClE,CAAC,CAAA;;AAED;AACA;AACA;AACA,MAAMI,qBAAqB,GAAGA,CAAC;EAAEC,WAAW;EAAEC,SAAS;EAAE7F,gBAAgB;AAAEvG,EAAAA,QAAAA;AAAS,CAAC,KAAK;AACxF,EAAA,MAAMqM,MAAM,GAAGzF,oBAAoB,EAAE,CAAA;AACrC,EAAA,MAAM0F,eAAe,GAAGD,MAAM,CAAC1F,IAAI,KAAK,WAAW,CAAA;EACnD,oBACEvH,GAAA,CAACmN,kBAAkB,EAAA;IACjB5F,IAAI,EAAE0F,MAAM,CAAC1F,IAAK;IAClB6F,cAAc,EAAEH,MAAM,CAACG,cAAe;AACtCL,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,SAAS,EAAEA,SAAU;AACrB7F,IAAAA,gBAAgB,EAAEA,gBAAiB;IACnCE,kBAAkB,EAChB6F,eAAe,GACX,MAAM;AACJ,MAAA,MAAMG,UAAU,GAAG,OAAOJ,MAAM,CAAC5F,kBAAkB,KAAK,UAAU,GAAG4F,MAAM,CAAC5F,kBAAkB,EAAE,GAAG,IAAI,CAAA;MACvG,OAAOgG,UAAU,IAAI,IAAI,CAAA;AAC3B,KAAC,GACDC,SACL;AAAA1M,IAAAA,QAAA,EAEAA,QAAAA;AAAQ,GACS,CAAC,CAAA;AAEzB,CAAC,CAAA;AAED,MAAM2M,iBAAiB,GAAG,kBAAkB,CAAA;AAE5C,MAAMC,cAAc,GAAG,CAAC,CAAA;AAExB,MAAMC,aAAa,GAAGA,CAAC;EAAEC,OAAO;AAAEC,EAAAA,MAAAA;AAAO,CAAC,KAAK;AAC7C,EAAA,MAAMC,MAAM,GAAGzL,MAAM,CAAC,IAAI,CAAC,CAAA;AAC3B,EAAA,MAAM0L,OAAO,GAAG1L,MAAM,CAAC,IAAI,CAAC,CAAA;EAC5B,MAAM,CAAC2L,GAAG,EAAEC,MAAM,CAAC,GAAGxL,QAAQ,CAAC,IAAI,CAAC,CAAA;EAEpC,MAAMyL,iBAAiB,GAAGtI,KAAK,IAAI;AACjC,IAAA,MAAMuI,IAAI,GAAGL,MAAM,CAAC1J,OAAO,CAAA;IAC3B,IAAI,CAAC+J,IAAI,EAAE;AACT,MAAA,OAAA;AACF,KAAA;AACA;AACA,IAAA,MAAMC,SAAS,GAAGD,IAAI,CAACE,YAAY,CAAA;AACnC,IAAA,MAAMC,IAAI,GAAGH,IAAI,CAAC9E,qBAAqB,EAAE,CAAA;AACzC,IAAA,MAAMkF,OAAO,GAAGH,SAAS,GAAGA,SAAS,CAAC/E,qBAAqB,EAAE,CAAChB,IAAI,GAAG,CAAC,CAAA;AACtE,IAAA,MAAMmG,MAAM,GAAGJ,SAAS,GAAGA,SAAS,CAAC/E,qBAAqB,EAAE,CAACoF,GAAG,GAAG,CAAC,CAAA;IACpEV,OAAO,CAAC3J,OAAO,GAAG;MAChBsK,MAAM,EAAE9I,KAAK,CAAC+I,OAAO;MACrBC,MAAM,EAAEhJ,KAAK,CAACiJ,OAAO;AACrBC,MAAAA,UAAU,EAAER,IAAI,CAACjG,IAAI,GAAGkG,OAAO;AAC/BQ,MAAAA,SAAS,EAAET,IAAI,CAACG,GAAG,GAAGD,MAAM;MAC5BQ,QAAQ,EAAEZ,SAAS,GAAGA,SAAS,CAACa,WAAW,GAAGrD,MAAM,CAACsD,UAAU;MAC/DC,SAAS,EAAEf,SAAS,GAAGA,SAAS,CAACxJ,YAAY,GAAGgH,MAAM,CAACwD,WAAW;MAClE5O,IAAI,EAAE2N,IAAI,CAACkB,WAAW;AACtBC,MAAAA,KAAK,EAAE,KAAA;KACR,CAAA;IACDnB,IAAI,CAACoB,iBAAiB,IAAA,IAAA,IAAtBpB,IAAI,CAACoB,iBAAiB,CAAG3J,KAAK,CAAC4J,SAAS,CAAC,CAAA;GAC1C,CAAA;EAED,MAAMC,iBAAiB,GAAG7J,KAAK,IAAI;AACjC,IAAA,MAAM8J,IAAI,GAAG3B,OAAO,CAAC3J,OAAO,CAAA;IAC5B,IAAI,CAACsL,IAAI,EAAE;AACT,MAAA,OAAA;AACF,KAAA;IACA,MAAMC,EAAE,GAAG/J,KAAK,CAAC+I,OAAO,GAAGe,IAAI,CAAChB,MAAM,CAAA;IACtC,MAAMkB,EAAE,GAAGhK,KAAK,CAACiJ,OAAO,GAAGa,IAAI,CAACd,MAAM,CAAA;AACtC,IAAA,IAAIjL,IAAI,CAACkM,GAAG,CAACF,EAAE,CAAC,GAAGjC,cAAc,IAAI/J,IAAI,CAACkM,GAAG,CAACD,EAAE,CAAC,GAAGlC,cAAc,EAAE;MAClEgC,IAAI,CAACJ,KAAK,GAAG,IAAI,CAAA;AACnB,KAAA;AACA,IAAA,MAAMQ,OAAO,GAAGnM,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE8L,IAAI,CAACV,QAAQ,GAAGU,IAAI,CAAClP,IAAI,GAAG,CAAC,CAAC,CAAA;AAC1D,IAAA,MAAMuP,MAAM,GAAGpM,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE8L,IAAI,CAACP,SAAS,GAAGO,IAAI,CAAClP,IAAI,GAAG,CAAC,CAAC,CAAA;AAC1DyN,IAAAA,MAAM,CAAC;AACL5F,MAAAA,IAAI,EAAE1E,IAAI,CAACqM,GAAG,CAACrM,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE8L,IAAI,CAACZ,UAAU,GAAGa,EAAE,CAAC,EAAEG,OAAO,CAAC;AAC1DrB,MAAAA,GAAG,EAAE9K,IAAI,CAACqM,GAAG,CAACrM,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE8L,IAAI,CAACX,SAAS,GAAGa,EAAE,CAAC,EAAEG,MAAM,CAAA;AACxD,KAAC,CAAC,CAAA;GACH,CAAA;EAED,MAAME,eAAe,GAAGrK,KAAK,IAAI;AAAA,IAAA,IAAAsK,eAAA,CAAA;AAC/B,IAAA,MAAMR,IAAI,GAAG3B,OAAO,CAAC3J,OAAO,CAAA;IAC5B2J,OAAO,CAAC3J,OAAO,GAAG,IAAI,CAAA;AACtB,IAAA,CAAA8L,eAAA,GAAApC,MAAM,CAAC1J,OAAO,aAAd8L,eAAA,CAAgBC,qBAAqB,IAAA,IAAA,IAArCD,eAAA,CAAgBC,qBAAqB,CAAGvK,KAAK,CAAC4J,SAAS,CAAC,CAAA;AACxD,IAAA,IAAIE,IAAI,IAAI,CAACA,IAAI,CAACJ,KAAK,EAAE;AACvBzB,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;GACD,CAAA;AAED,EAAA,oBACE3N,GAAA,CAAA,KAAA,EAAA;AACEkG,IAAAA,GAAG,EAAE0H,MAAO;IACZ9M,SAAS,EAAEC,UAAU,CAAC,iBAAiB,EAAEC,OAAK,CAAC,iBAAiB,CAAC,EAAE;AACjE,MAAA,CAACA,OAAK,CAAC,aAAa,CAAC,GAAG0M,OAAO,KAAK,UAAU;AAC9C,MAAA,CAAC1M,OAAK,CAAC,aAAa,CAAC,GAAG0M,OAAO,KAAK,UAAA;AACtC,KAAC,CAAE;IACH1M,KAAK,EAAE8M,GAAG,GAAG;AAAE3F,MAAAA,IAAI,EAAE,CAAA,EAAG2F,GAAG,CAAC3F,IAAI,CAAI,EAAA,CAAA;AAAEoG,MAAAA,GAAG,EAAE,CAAA,EAAGT,GAAG,CAACS,GAAG,CAAI,EAAA,CAAA;AAAE2B,MAAAA,KAAK,EAAE,MAAM;AAAEC,MAAAA,MAAM,EAAE,MAAA;AAAO,KAAC,GAAG7C,SAAU;AACvG8C,IAAAA,aAAa,EAAEpC,iBAAkB;AACjCqC,IAAAA,aAAa,EAAEd,iBAAkB;AACjCe,IAAAA,WAAW,EAAEP,eAAgB;IAAAnP,QAAA,eAE7BZ,GAAA,CAAC4F,IAAI,EAAA;AAACC,MAAAA,IAAI,EAAC,eAAe;MAAC0K,QAAQ,EAAA,IAAA;KAAE,CAAA;AAAC,GACnC,CAAC,CAAA;AAEV,CAAC,CAAA;AAEKC,MAAAA,MAAM,GAAGA,CAAC;EACd1P,SAAS;EACT2P,IAAI;EACJC,UAAU,EAAVA,WAAU,GAAG,0DAA0D;EACvEC,YAAY,EAAZA,aAAY,GAAG,OAAO;EACtBC,YAAY,EAAZA,aAAY,GAAG,MAAM;EACrBC,IAAI;EACJC,UAAU;EACVC,QAAQ;EACRC,QAAQ,EAARA,SAAQ,GAAG,IAAI;AACf9E,EAAAA,aAAa,EAAE+E,kBAAkB;AACjCxJ,EAAAA,QAAQ,EAAEyJ,aAAa;EACvBC,aAAa;AACbvQ,EAAAA,QAAAA;AACF,CAAC,KAAK;AACJ,EAAA,MAAMwQ,aAAa,GAAGC,YAAY,CAACC,OAAO,CAAC/D,iBAAiB,CAAC,CAAA;AAC7D,EAAA,MAAM9F,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAM6J,iBAAiB,GAAG/J,oBAAoB,EAAE,CAAA;EAChD,MAAM2E,cAAc,GAAG,OAAO+E,aAAa,KAAK,SAAS,GAAGA,aAAa,GAAGzJ,QAAQ,CAAA;EACpF,MAAM+J,aAAa,GAAGrF,cAAc,IAAIoF,iBAAiB,CAAChK,IAAI,KAAK,WAAW,CAAA;EAC9E,MAAM,CAACkK,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGnP,QAAQ,CAAC,IAAI,CAAC,CAAA;EAC9D,MAAM,CAACzC,QAAQ,EAAE6R,WAAW,CAAC,GAAGpP,QAAQ,CAAC,OAAO6O,aAAa,KAAK,SAAS,IAAI,CAACjF,cAAc,GAAGiF,aAAa,GAAG,CAACjF,cAAc,CAAC,CAAA;EACjI,MAAM,CAACyF,WAAW,EAAEC,cAAc,CAAC,GAAGtP,QAAQ,CAAC,IAAI,CAAC,CAAA;EACpD,MAAM,CAACuP,UAAU,EAAEC,aAAa,CAAC,GAAGxP,QAAQ,CAAC,IAAI,CAAC,CAAA;EAClD,MAAM,CAACyP,MAAM,EAAEC,SAAS,CAAC,GAAG1P,QAAQ,CAAC,QAAQ,CAAC,CAAA;EAC9C,MAAM,CAACoF,WAAW,EAAEuK,cAAc,CAAC,GAAG3P,QAAQ,CAAC,CAAC,CAAC,CAAA;AACjD,EAAA,MAAM2J,aAAa,GAAG,OAAO+E,kBAAkB,KAAK,SAAS,GAAGA,kBAAkB,GAAG,CAAC9E,cAAc,IAAI,CAACT,MAAM,CAACyG,qCAAqC,CAAA;AACrJ,EAAA,MAAMC,UAAU,GAAGrB,QAAQ,IAARA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAErR,MAAM,CAAA;AACnC,EAAA,MAAM2S,YAAY,GAAGjP,OAAO,CAAC,MAAM;IACjC,OAAO;MACLyO,cAAc;MACdE,aAAa;MACbJ,WAAW;MACXxF,cAAc;MACdxE,WAAW;MACXkJ,IAAI,EAAEyB,MAAM,CAACC,MAAM,CACjB,EAAE,EACF1B,IAAI,GACAA,IAAI,GACJ;AACEzQ,QAAAA,GAAG,EAAEoS,WAAAA;AACP,OACN,CAAC;AACDJ,MAAAA,UAAAA;KACD,CAAA;GACF,EAAE,CAACjG,cAAc,EAAE0E,IAAI,EAAEuB,UAAU,EAAEzK,WAAW,CAAC,CAAC,CAAA;AACnD,EAAA,MAAM8K,MAAM,GAAGtQ,MAAM,CAAC,IAAI,CAAC,CAAA;AAC3B,EAAA,MAAMuQ,OAAO,GAAGvQ,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,EAAA,MAAMwQ,iBAAiB,GAAGxQ,MAAM,CAAC,IAAI,CAAC,CAAA;AACtC,EAAA,MAAM8J,aAAa,GAAG9J,MAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,MAAML,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAM6Q,oBAAoB,GAAG/P,WAAW,CAAC,MAAM;AAC7C,IAAA,OAAOmJ,wBAAwB,CAACC,aAAa,EAAEC,aAAa,EAAEC,cAAc,CAAC,CAAA;AAC/E,GAAC,EAAE,CAACD,aAAa,EAAEC,cAAc,CAAC,CAAC,CAAA;AAEnC,EAAA,MAAM0G,mBAAmB,GAAGhQ,WAAW,CAACoL,IAAI,IAAI;IAC9ChC,aAAa,CAAC/H,OAAO,GAAG+J,IAAI,CAAA;AAC5B,IAAA,IAAIA,IAAI,EAAE;AACRiE,MAAAA,cAAc,CAACY,OAAO,IAAIA,OAAO,GAAG,CAAC,CAAC,CAAA;AACxC,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;AAENlJ,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4H,aAAa,EAAE;MAClBE,mBAAmB,CAAC,IAAI,CAAC,CAAA;AACzB,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAM1K,MAAM,GAAG,OAAOuK,iBAAiB,CAAClK,kBAAkB,KAAK,UAAU,GAAGkK,iBAAiB,CAAClK,kBAAkB,EAAE,GAAG,IAAI,CAAA;AACzHqK,IAAAA,mBAAmB,CAAC1K,MAAM,IAAI,IAAI,CAAC,CAAA;GACpC,EAAE,CAACwK,aAAa,EAAED,iBAAiB,EAAE5J,WAAW,CAAC,CAAC,CAAA;AAEnDiC,EAAAA,SAAS,CAAC,MAAM;AAAA,IAAA,IAAAmJ,eAAA,CAAA;AACd,IAAA,MAAMlJ,QAAQ,GAAG+I,oBAAoB,EAAE,CAAA;IACvC,IAAI/I,QAAQ,IAAI,OAAOA,QAAQ,CAAC7E,QAAQ,KAAK,UAAU,EAAE;AACvD6E,MAAAA,QAAQ,CAAC7E,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACvB,MAAA,OAAA;AACF,KAAA;IACA,CAAA+N,eAAA,GAAAN,MAAM,CAACvO,OAAO,aAAd6O,eAAA,CAAgBC,cAAc,EAAE,CAAA;AAClC,GAAC,EAAE,CAAClR,QAAQ,EAAE8Q,oBAAoB,CAAC,CAAC,CAAA;AAEpC,EAAA,MAAMK,QAAQ,gBAAGjT,GAAA,CAACR,QAAQ,EAAAyG,QAAA,CAAA;AAACnG,IAAAA,QAAQ,EAAEA,QAAAA;GAAcwS,EAAAA,MAAM,CAACC,MAAM,CAAC,EAAE,EAAExB,QAAQ,CAAC,CAAG,CAAC,CAAA;EAElF,MAAMmC,cAAc,GAAG1B,aAAa,GAChC;AACE,IAAA,kBAAkB,EAAEb,aAAY;AAChC,IAAA,kBAAkB,EAAEC,aAAY;AAChC,IAAA,cAAc,EAAEF,WAAAA;AAClB,GAAC,GACDpD,SAAS,CAAA;AAEb,EAAA,MAAM6F,aAAa,GAAGhH,cAAc,gBAClCnM,GAAA,CAAA,KAAA,EAAA;IACEc,SAAS,EAAEC,UAAU,CAAC,YAAY,EAAEC,OAAK,CAAC,YAAY,CAAC,EAAE;MACvD,CAAC,MAAM,GAAGlB,QAAQ;AAClB,MAAA,CAACkB,OAAK,CAAC,MAAM,CAAC,GAAGlB,QAAQ;AACzB,MAAA,CAACkB,OAAK,CAAC,aAAa,CAAC,GAAGwQ,aAAAA;AAC1B,KAAC,CAAE;AACHxQ,IAAAA,KAAK,EAAEkS,cAAe;IACtB1N,OAAO,EAAEA,MAAM;MACbmM,WAAW,CAAC,KAAK,CAAC,CAAA;AACpB,KAAA;GACD,CAAC,GACA,IAAI,CAAA;EAER,MAAMyB,QAAQ,gBACZ5S,IAAA,CAAA,KAAA,EAAA;IACEM,SAAS,EAAEC,UAAU,CAAC,MAAM,EAAEC,OAAK,CAAC,MAAM,CAAC,EAAE;MAC3C,CAAC,MAAM,GAAGlB,QAAQ;AAClB,MAAA,CAACkB,OAAK,CAAC,MAAM,CAAC,GAAGlB,QAAQ;AACzB,MAAA,CAACkB,OAAK,CAAC,aAAa,CAAC,GAAGwQ,aAAAA;AAC1B,KAAC,CAAE;AACHxQ,IAAAA,KAAK,EAAEkS,cAAe;AAAAtS,IAAAA,QAAA,gBAEtBZ,GAAA,CAAA,KAAA,EAAA;MAAKc,SAAS,EAAEC,UAAU,CAAC,MAAM,EAAEC,OAAK,CAAC,MAAM,CAAC,CAAE;AAAAJ,MAAAA,QAAA,eAChDZ,GAAA,CAACC,KAAK,EAAAgG,QAAA,CAAA;QAACnF,SAAS,EAAEE,OAAK,CAAC,UAAU,CAAA;OAAOqR,EAAAA,YAAY,CAACxB,IAAI,CAAG,CAAA;KAC1D,CAAC,eACN7Q,GAAA,CAAA,KAAA,EAAA;MACEc,SAAS,EAAEC,UAAU,CAAC,oBAAoB,EAAEC,OAAK,CAAC,oBAAoB,CAAC,CAAE;MACzEwE,OAAO,EAAEA,MAAM;QACbmM,WAAW,CAAC7R,QAAQ,IAAI;AACtBuR,UAAAA,YAAY,CAACgC,OAAO,CAAC9F,iBAAiB,EAAE,CAACzN,QAAQ,CAAC,CAAA;AAClD,UAAA,OAAO,CAACA,QAAQ,CAAA;AAClB,SAAC,CAAC,CAAA;OACF;MAAAc,QAAA,eAEFZ,GAAA,CAACsT,cAAU,EAAA;QACTxS,SAAS,EAAEC,UAAU,CAAC,YAAY,EAAEC,OAAK,CAAC,YAAY,CAAC,EAAE;AACvD,UAAA,WAAW,EAAE,CAAClB,QAAAA;SACf,CAAA;OACF,CAAA;KACE,CAAC,eACNU,IAAA,CAAA,KAAA,EAAA;MAAKM,SAAS,EAAEC,UAAU,CAAC,YAAY,EAAEC,OAAK,CAAC,YAAY,CAAC,CAAE;AAAAJ,MAAAA,QAAA,gBAC5DZ,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,aAAa,EAAEC,OAAK,CAAC,aAAa,CAAC,CAAE;QAAAJ,QAAA,eAC9DZ,GAAA,CAAC4L,aAAa,EAAA;UAAAhL,QAAA,EAAEkQ,UAAU,GAAI,OAAOA,UAAU,KAAK,UAAU,GAAGA,UAAU,CAAC;YAAEhR,QAAQ;AAAEmT,YAAAA,QAAAA;WAAU,CAAC,GAAGnC,UAAU,GAAImC,QAAAA;SAAwB,CAAA;AAAC,OAC1I,CAAC,eACNjT,GAAA,CAAC4L,aAAa,EAAA;AAAAhL,QAAAA,QAAA,eACZZ,GAAA,CAACyB,IAAI,EAAAwE,QAAA,CAAA;UACHnF,SAAS,EAAEC,UAAU,CAAC,WAAW,EAAEC,OAAK,CAAC,WAAW,CAAC,CAAE;AACvDlB,UAAAA,QAAQ,EAAEA,QAAAA;AAAS,SAAA,EACf2Q,IAAI,EAAA;UACR5O,QAAQ,EAAEA,MAAM;AACdsK,YAAAA,cAAc,IAAIwF,WAAW,CAAC,KAAK,CAAC,CAAA;AACtC,WAAA;SACD,CAAA,CAAA;AAAC,OACW,CAAC,EACfX,SAAQ,IAAI,CAAC7E,cAAc,iBAC1BnM,GAAA,CAAA,KAAA,EAAA;QACEc,SAAS,EAAEC,UAAU,CAAC,UAAU,EAAEC,OAAK,CAAC,UAAU,CAAC,CAAE;QACrDwE,OAAO,EAAEA,MAAM;UACbyM,SAAS,CAAC,OAAO,CAAC,CAAA;SAClB;QAAArR,QAAA,eAEFZ,GAAA,CAAC4F,IAAI,EAAA;AAACC,UAAAA,IAAI,EAAC,eAAe;UAAC0K,QAAQ,EAAA,IAAA;SAAE,CAAA;AAAC,OACnC,CACN,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACH,CACN,CAAA;AAED,EAAA,MAAMgD,UAAU,GAAG/B,aAAa,IAAIC,gBAAgB,CAAA;EAEpD,MAAM+B,cAAc,GAClBxC,SAAQ,IAAIgB,MAAM,KAAK,OAAO,gBAC5BxR,IAAA,CAAA,KAAA,EAAA;IACEM,SAAS,EAAEC,UAAU,CAAC,kBAAkB,EAAEC,OAAK,CAAC,kBAAkB,CAAC,EAAE;AACnE,MAAA,gBAAgB,EAAEmL,cAAc;AAChC,MAAA,CAACnL,OAAK,CAAC,gBAAgB,CAAC,GAAGmL,cAAc;AACzC,MAAA,CAACnL,OAAK,CAAC,aAAa,CAAC,GAAGmL,cAAc,IAAI,CAACoH,UAAAA;AAC7C,KAAC,CAAE;IAAA3S,QAAA,EAAA,cAEHJ,IAAA,CAACC,IAAI,EAAA;MAACK,SAAS,EAAEC,UAAU,CAAC,wBAAwB,EAAEC,OAAK,CAAC,wBAAwB,CAAC,CAAE;AAAAJ,MAAAA,QAAA,gBACrFZ,GAAA,CAAA,KAAA,EAAA;QAAAY,QAAA,EAAMoQ,SAAQ,CAAC1L,KAAAA;AAAK,OAAM,CAAC,eAC3B9E,IAAA,CAACC,IAAI,EAAA;AAACC,QAAAA,GAAG,EAAE,EAAG;AAAAE,QAAAA,QAAA,GACX,CAACuL,cAAc,iBACdnM,GAAA,CAAC4F,IAAI,EAAA;AACH9E,UAAAA,SAAS,EAAC,KAAK;AACf+E,UAAAA,IAAI,EAAC,yBAAyB;AAC9BC,UAAAA,aAAa,EAAC,QAAQ;UACtBN,OAAO,EAAEA,MAAM;YACbyM,SAAS,CAAC,OAAO,CAAC,CAAA;AACpB,WAAA;AAAE,SACH,CACF,eACDjS,GAAA,CAAC4F,IAAI,EAAA;AACH9E,UAAAA,SAAS,EAAC,KAAK;AACf+E,UAAAA,IAAI,EAAC,kBAAkB;AACvBC,UAAAA,aAAa,EAAC,QAAQ;UACtBN,OAAO,EAAEA,MAAM;YACbyM,SAAS,CAAC,QAAQ,CAAC,CAAA;AACrB,WAAA;AAAE,SACH,CAAC,CAAA;AAAA,OACE,CAAC,CAAA;AAAA,KACH,CAAC,eACPjS,GAAA,CAAC4L,aAAa,EAAA;AAAAhL,MAAAA,QAAA,eACZZ,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,0BAA0B,EAAEC,OAAK,CAAC,0BAA0B,CAAC,CAAE;QAAAJ,QAAA,EAAEoQ,SAAQ,CAACyC,OAAAA;OAAa,CAAA;AAAC,KACtG,CAAC,CAAA;GACb,CAAC,GACJ,IAAI,CAAA;AAEV,EAAA,MAAMC,aAAa,GAAGvH,cAAc,IAAI6E,SAAQ,IAAIgB,MAAM,KAAK,QAAQ,gBAAGhS,GAAA,CAACyN,aAAa,EAAA;AAACC,IAAAA,OAAO,EAAE6F,UAAU,GAAG,UAAU,GAAG,UAAW;AAAC5F,IAAAA,MAAM,EAAEA,MAAMsE,SAAS,CAAC,OAAO,CAAA;GAAI,CAAC,GAAG,IAAI,CAAA;;AAEnL;AACA,EAAA,MAAM0B,YAAY,GAAG;AACnB,IAAA,cAAc,EAAEjD,WAAU;AAC1B,IAAA,kBAAkB,EAAEvE,cAAc,IAAIyF,WAAW,GAAG,MAAM,GAAG,KAAK;AAClE,IAAA,uBAAuB,EAAE,0BAA0B;AACnD,IAAA,0BAA0B,EAAE,6BAAA;GAC7B,CAAA;EAED,MAAMgC,gBAAgB,GACpBJ,cAAc,IAAIE,aAAa,gBAC7BlT,IAAA,CAAAqT,QAAA,EAAA;IAAAjT,QAAA,EAAA,CACG4S,cAAc,EACdE,aAAa,CAAA;GACd,CAAC,GACD,IAAI,CAAA;EAEV,MAAMI,SAAS,GAAG,CAACF,gBAAgB,GAC/B,IAAI,GACJL,UAAU,gBACRjJ,YAAY,cACVtK,GAAA,CAAA,KAAA,EAAA;IAAKc,SAAS,EAAEC,UAAU,CAAC,qBAAqB,EAAEC,OAAK,CAAC,qBAAqB,CAAC,CAAE;AAACA,IAAAA,KAAK,EAAE2S,YAAa;AAAA/S,IAAAA,QAAA,EAClGgT,gBAAAA;AAAgB,GACd,CAAC,EACNnC,gBACF,CAAC,GACDmC,gBAAgB,CAAA;EAEtB,oBACE5T,GAAA,CAAC8M,qBAAqB,EAAA;AAACC,IAAAA,WAAW,EAAE4F,iBAAkB;AAAC3F,IAAAA,SAAS,EAAEf,aAAc;AAAC9E,IAAAA,gBAAgB,EAAEyL,oBAAqB;IAAAhS,QAAA,eACtHJ,IAAA,CAACqG,QAAQ,EAAA;AAACkN,MAAAA,KAAK,EAAE1B,YAAa;AAAAzR,MAAAA,QAAA,gBAC5BZ,GAAA,CAAA,KAAA,EAAA;AAAKkG,QAAAA,GAAG,EAAEuM,MAAAA;OAAS,CAAC,eACpBjS,IAAA,CAAA,KAAA,EAAA;AACE0F,QAAAA,GAAG,EAAEyM,iBAAkB;AACvB7R,QAAAA,SAAS,EAAEC,UAAU,CAACD,SAAS,EAAE,QAAQ,EAAEE,OAAK,CAAC,QAAQ,CAAC,EAAEgT,yBAAyB,EAAE;AACrF,UAAA,WAAW,EAAE7H,cAAc;AAC3B,UAAA,CAACnL,OAAK,CAAC,WAAW,CAAC,GAAGmL,cAAc;UACpC,aAAa,EAAEA,cAAc,IAAIyF,WAAW;AAC5C,UAAA,CAAC5Q,OAAK,CAAC,aAAa,CAAC,GAAGmL,cAAc,IAAIyF,WAAW;UACrD,YAAY,EAAEzF,cAAc,IAAI2F,UAAU;AAC1C,UAAA,CAAC9Q,OAAK,CAAC,YAAY,CAAC,GAAGmL,cAAc,IAAI2F,UAAAA;AAC3C,SAAC,CAAE;AACH9Q,QAAAA,KAAK,EAAE;AACL,UAAA,kBAAkB,EAAE2P,aAAY;AAChC,UAAA,kBAAkB,EAAEC,aAAY;AAChC,UAAA,cAAc,EAAEF,WAAAA;SAChB;QAAA9P,QAAA,EAAA,CAED,CAAC2S,UAAU,IAAIJ,aAAa,eAC7B3S,IAAA,CAACC,IAAI,EAAA;AAACO,UAAAA,KAAK,EAAE;AAAEqJ,YAAAA,IAAI,EAAE,CAAC;AAAE4J,YAAAA,SAAS,EAAE,CAAC;AAAE7L,YAAAA,KAAK,EAAE,MAAM;AAAE/B,YAAAA,MAAM,EAAE,CAAA;WAAI;UAAAzF,QAAA,EAAA,CAC9D,CAAC2S,UAAU,IAAIH,QAAQ,EACvBG,UAAU,iBACTjJ,YAAY,cACV9J,IAAA,CAAA,KAAA,EAAA;AAAKM,YAAAA,SAAS,EAAEC,UAAU,CAACC,OAAK,CAAC,uBAAuB,CAAC,CAAE;AAACA,YAAAA,KAAK,EAAEkS,cAAe;YAAAtS,QAAA,EAAA,CAC/EuS,aAAa,EACbC,QAAQ,CAAA;AAAA,WACN,CAAC,EACN3B,gBACF,CAAC,eACHzR,GAAA,CAACS,IAAI,EAAA;AAAC4J,YAAAA,IAAI,EAAE,CAAE;AAACnE,YAAAA,GAAG,EAAEwM,OAAQ;YAAC5R,SAAS,EAAEC,UAAU,CAAC,MAAM,EAAEC,OAAK,CAAC,MAAM,CAAC,CAAE;YAAAJ,QAAA,eACxEJ,IAAA,CAAC0T,GAAG,EAAA;cAACpT,SAAS,EAAEC,UAAU,CAAC,cAAc,EAAEC,OAAK,CAAC,cAAc,CAAC,CAAE;AAAAJ,cAAAA,QAAA,EAC/D,CAAA,CAACuL,cAAc,IAAI6E,SAAQ,IAAIgB,MAAM,KAAK,OAAO,iBAChDhS,GAAA,CAACmU,GAAG,EAAA;AAACC,gBAAAA,IAAI,EAAE,CAAE;gBAACtT,SAAS,EAAEC,UAAU,CAAC,mBAAmB,EAAEC,OAAK,CAAC,mBAAmB,CAAC,CAAE;AAAAJ,gBAAAA,QAAA,eACnFJ,IAAA,CAAA,KAAA,EAAA;kBAAKM,SAAS,EAAEC,UAAU,CAAC,aAAa,EAAEC,OAAK,CAAC,aAAa,CAAC,CAAE;kBAAAJ,QAAA,EAAA,cAC9DJ,IAAA,CAACC,IAAI,EAAA;oBAACK,SAAS,EAAEC,UAAU,CAAC,wBAAwB,EAAEC,OAAK,CAAC,wBAAwB,CAAC,CAAE;AAAAJ,oBAAAA,QAAA,gBACrFZ,GAAA,CAAA,KAAA,EAAA;sBAAAY,QAAA,EAAMoQ,SAAQ,CAAC1L,KAAAA;AAAK,qBAAM,CAAC,eAC3BtF,GAAA,CAACS,IAAI,EAAA;AAACC,sBAAAA,GAAG,EAAE,EAAG;sBAAAE,QAAA,eACZZ,GAAA,CAAC4F,IAAI,EAAA;AACH9E,wBAAAA,SAAS,EAAC,KAAK;AACf+E,wBAAAA,IAAI,EAAC,kBAAkB;AACvBC,wBAAAA,aAAa,EAAC,QAAQ;wBACtBN,OAAO,EAAEA,MAAM;0BACbyM,SAAS,CAAC,QAAQ,CAAC,CAAA;AACrB,yBAAA;uBACD,CAAA;AAAC,qBACE,CAAC,CAAA;AAAA,mBACH,CAAC,eACPjS,GAAA,CAAC4L,aAAa,EAAA;AAAAhL,oBAAAA,QAAA,eACZZ,GAAA,CAAA,KAAA,EAAA;sBAAKc,SAAS,EAAEC,UAAU,CAAC,qBAAqB,EAAEC,OAAK,CAAC,qBAAqB,CAAC,CAAE;sBAAAJ,QAAA,EAAEoQ,SAAQ,CAACyC,OAAAA;qBAAa,CAAA;AAAC,mBAC5F,CAAC,CAAA;iBACb,CAAA;AAAC,eACH,CACN,eACDzT,GAAA,CAACmU,GAAG,EAAA;AAACC,gBAAAA,IAAI,EAAE,CAACjI,cAAc,IAAI6E,SAAQ,IAAIgB,MAAM,KAAK,OAAO,GAAG,EAAE,GAAG,EAAG;AAAClR,gBAAAA,SAAS,EAAEuT,0BAA2B;gBAAAzT,QAAA,eAC5GZ,GAAA,CAAC4L,aAAa,EAAA;AAAAhL,kBAAAA,QAAA,EACXsL,aAAa,gBACZlM,GAAA,CAACsU,SAAS,EAAA;AACRpO,oBAAAA,GAAG,EAAE2M,mBAAoB;oBACzB/R,SAAS,EAAEC,UAAU,CAAC,eAAe,EAAEC,OAAK,CAAC,eAAe,CAAC,EAAEuT,uBAAuB,EAAE;sBACtF,CAAC,UAAU,GAAGvC,MAAM,KAAK,OAAA;AAC3B,qBAAC,CAAE;AAAApR,oBAAAA,QAAA,EAEFA,QAAAA;mBACQ,CAAC,gBAEZZ,GAAA,CAAA,KAAA,EAAA;AACEkG,oBAAAA,GAAG,EAAE2M,mBAAoB;oBACzB/R,SAAS,EAAEC,UAAU,CAAC,eAAe,EAAEC,OAAK,CAAC,eAAe,CAAC,EAAE,CAACmL,cAAc,IAAI,aAAa,EAAE,CAACA,cAAc,IAAInL,OAAK,CAAC,aAAa,CAAC,EAAE,CAACmL,cAAc,IAAIoI,uBAAuB,EAAE;sBACpL,CAAC,UAAU,GAAGvC,MAAM,KAAK,OAAA;AAC3B,qBAAC,CAAE;AAAApR,oBAAAA,QAAA,EAEFA,QAAAA;mBACE,CAAA;iBAEM,CAAA;AAAC,eACb,CAAC,CAAA;aACH,CAAA;AAAC,WACF,CAAC,CAAA;SACH,CAAC,EACNkT,SAAS,eACV9T,GAAA,CAACiH,OAAO,EAAAhB,QAAA,CAAA,EAAA,EAAKwK,IAAI,EAAA;AAAE3P,UAAAA,SAAS,EAAEC,UAAU,CAACC,OAAK,CAAC,SAAS,CAAC,CAAE;UAACkG,IAAI,EAAEiF,cAAc,IAAIyF,WAAY;AAAC5K,UAAAA,MAAM,EAAEmK,aAAAA;AAAc,SAAA,CAAE,CAAC,CAAA;AAAA,OACvH,CAAC,CAAA;KACE,CAAA;AAAC,GACU,CAAC,CAAA;AAE5B;;;;ACzcA,MAAMqD,WAAW,GAAGA,MAAM;EACxB,oBACExU,GAAA,CAACS,IAAI,EAAA;AAAC4J,IAAAA,IAAI,EAAE,CAAE;AAAC1J,IAAAA,OAAO,EAAC,QAAQ;AAAAC,IAAAA,QAAA,eAC7BZ,GAAA,CAAA,KAAA,EAAA;AAAKc,MAAAA,SAAS,EAAEE,KAAK,CAAC,cAAc,CAAE;MAAAJ,QAAA,eACpCZ,GAAA,CAACyU,QAAQ,EAAA;QAACrP,MAAM,EAAA,IAAA;OAAE,CAAA;KACf,CAAA;AAAC,GACF,CAAC,CAAA;AAEX,CAAC,CAAA;AAEKsP,MAAAA,IAAI,GAAGA,CAAC;EAAEpP,KAAK;EAAEvF,KAAK,EAALA,MAAK,GAAG,IAAI;EAAE4U,IAAI;EAAEC,WAAW;EAAEhU,QAAQ;EAAEkH,OAAO,EAAPA,QAAO,GAAG,IAAI;EAAE+M,MAAM,EAANA,OAAM,GAAG,IAAI;AAAEC,EAAAA,SAAAA;AAAU,CAAC,KAAK;EAC/G,MAAM;IAAEjD,cAAc;IAAEE,aAAa;IAAEJ,WAAW;IAAExF,cAAc;IAAEiG,UAAU;AAAEzK,IAAAA,WAAAA;GAAa,GAAGhB,UAAU,EAAE,CAAA;AAC5G,EAAA,MAAM3E,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,MAAMkF,gBAAgB,GAAGC,gBAAgB,EAAE,CAAA;AAC3C,EAAA,MAAMC,kBAAkB,GAAGC,iBAAiB,EAAE,CAAA;EAC9C,MAAM;AAAEC,IAAAA,IAAAA;GAAM,GAAGC,oBAAoB,EAAE,CAAA;AACvC,EAAA,MAAMuN,SAAS,GAAG5S,MAAM,CAAC,IAAI,CAAC,CAAA;EAC9B,MAAM,CAAC6S,UAAU,EAAEC,aAAa,CAAC,GAAG1S,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnD,EAAA,MAAMuG,gBAAgB,GAAGqD,cAAc,IAAI5E,IAAI,KAAK,WAAW,CAAA;AAC/D,EAAA,MAAMwB,gBAAgB,GAAGoD,cAAc,IAAI5E,IAAI,KAAK,WAAW,CAAA;EAC/D,MAAMyB,cAAc,GAAGF,gBAAgB,GAAGzB,kBAAkB,EAAE,GAAG,IAAI,CAAA;AAErEuC,EAAAA,SAAS,CAAC,MAAM;AACdiI,IAAAA,cAAc,IAAIA,cAAc,CAAC,CAAC,CAAC/J,QAAO,CAAC,CAAA;AAC3CiK,IAAAA,aAAa,IAAIA,aAAa,CAAC,CAAC,CAAC8C,OAAM,CAAC,CAAA;AAC1C,GAAC,EAAE,CAAC/M,QAAO,EAAE+M,OAAM,CAAC,CAAC,CAAA;AAErBjL,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACuC,cAAc,IAAI,CAAC0I,OAAM,EAAE;AAC9B,MAAA,OAAA;AACF,KAAA;IACA,IAAIK,OAAO,GAAG,IAAI,CAAA;IAClB,IAAIC,MAAM,GAAG,IAAI,CAAA;IAEjB,MAAMC,IAAI,GAAGA,MAAM;AACjB,MAAA,MAAMvL,QAAQ,GAAG1C,gBAAgB,EAAE,CAAA;AACnC,MAAA,IAAI,CAAC0C,QAAQ,IAAI,OAAOA,QAAQ,CAACC,gBAAgB,KAAK,UAAU,IAAID,QAAQ,KAAKqL,OAAO,EAAE;AACxF,QAAA,OAAA;AACF,OAAA;AACA,MAAA,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE;AAChCA,QAAAA,MAAM,EAAE,CAAA;AACV,OAAA;AACAD,MAAAA,OAAO,GAAGrL,QAAQ,CAAA;MAClB,MAAME,YAAY,GAAGA,MAAM;AACzB,QAAA,MAAMsL,SAAS,GAAGN,SAAS,CAAC7Q,OAAO,GAAG6Q,SAAS,CAAC7Q,OAAO,CAACoR,YAAY,GAAG,EAAE,CAAA;AACzEL,QAAAA,aAAa,CAACpL,QAAQ,CAAC0L,SAAS,GAAGF,SAAS,CAAC,CAAA;OAC9C,CAAA;AACDtL,MAAAA,YAAY,EAAE,CAAA;AACdF,MAAAA,QAAQ,CAACC,gBAAgB,CAAC,QAAQ,EAAEC,YAAY,EAAE;AAAEC,QAAAA,OAAO,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;MACpEmL,MAAM,GAAGA,MAAMtL,QAAQ,CAACI,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;KACpE,CAAA;AAEDqL,IAAAA,IAAI,EAAE,CAAA;AACN;AACA,IAAA,MAAMI,GAAG,GAAGC,qBAAqB,CAACL,IAAI,CAAC,CAAA;AACvC,IAAA,OAAO,MAAM;MACXM,oBAAoB,CAACF,GAAG,CAAC,CAAA;AACzB,MAAA,IAAI,OAAOL,MAAM,KAAK,UAAU,EAAE;AAChCA,QAAAA,MAAM,EAAE,CAAA;AACV,OAAA;KACD,CAAA;GACF,EAAE,CAAChJ,cAAc,EAAE0I,OAAM,EAAE1N,gBAAgB,EAAEQ,WAAW,CAAC,CAAC,CAAA;EAE3D,MAAMgO,iBAAiB,GAAG,CAAC,MAAM;AAC/B,IAAA,IAAI5V,MAAK,EAAE;MACT,IAAIoM,cAAc,IAAIiG,UAAU,EAAE;QAChC,oBACE5R,IAAA,CAACC,IAAI,EAAA;AAACC,UAAAA,GAAG,EAAE,CAAE;AAACuE,UAAAA,KAAK,EAAC,QAAQ;AAAArE,UAAAA,QAAA,GACzBb,MAAK,eACNC,GAAA,CAACC,KAAK,CAACC,MAAM,EAAA;AAACC,YAAAA,EAAE,EAAEiS,UAAW;AAAChS,YAAAA,GAAG,EAAEgS,UAAW;AAAC/R,YAAAA,KAAK,EAAC,QAAQ;AAACC,YAAAA,IAAI,EAAE,EAAG;AAACC,YAAAA,GAAG,EAAC,QAAA;AAAQ,WAAE,CAAC,CAAA;AAAA,SACnF,CAAC,CAAA;AAEX,OAAA;AACA,MAAA,OAAOR,MAAK,CAAA;AACd,KAAA;AACA,IAAA,IAAIoM,cAAc,KAAKyI,WAAW,IAAIxC,UAAU,CAAC,EAAE;AACjD,MAAA,MAAMwD,OAAO,GAAGhB,WAAW,gBACzB5U,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,oBAAoB,EAAEC,KAAK,CAAC,oBAAoB,CAAC,CAAE;AAAAJ,QAAAA,QAAA,eAC5EZ,GAAA,CAAC6V,WAAW,EAAA5P,QAAA,CAAA,EAAA,EAAKqM,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEqC,WAAW,EAAE;AAAEkB,UAAAA,UAAU,EAAE,CAAC;AAAEC,UAAAA,QAAQ,EAAE,MAAA;AAAO,SAAC,CAAC,CAAG,CAAA;OACpF,CAAC,GACJ,IAAI,CAAA;MACR,MAAMrW,MAAM,GAAG0S,UAAU,gBAAGpS,GAAA,CAACC,KAAK,CAACC,MAAM,EAAA;AAACC,QAAAA,EAAE,EAAEiS,UAAW;AAAChS,QAAAA,GAAG,EAAEgS,UAAW;AAAC/R,QAAAA,KAAK,EAAC,QAAQ;AAACC,QAAAA,IAAI,EAAE,EAAG;AAACC,QAAAA,GAAG,EAAC,QAAA;OAAU,CAAC,GAAG,IAAI,CAAA;AAC1H;MACA,IAAIqV,OAAO,IAAIlW,MAAM,EAAE;QACrB,oBACEc,IAAA,CAACC,IAAI,EAAA;AAACC,UAAAA,GAAG,EAAE,CAAE;AAACuE,UAAAA,KAAK,EAAC,QAAQ;UAAArE,QAAA,EAAA,CACzBgV,OAAO,EACPlW,MAAM,CAAA;AAAA,SACH,CAAC,CAAA;AAEX,OAAA;MACA,OAAOkW,OAAO,IAAIlW,MAAM,CAAA;AAC1B,KAAA;AACA,IAAA,IAAIkV,WAAW,EAAE;MACf,oBAAO5U,GAAA,CAAC6V,WAAW,EAAA5P,QAAA,CAAK2O,EAAAA,EAAAA,WAAW,CAAG,CAAC,CAAA;AACzC,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,GAAG,CAAA;AAEJ,EAAA,MAAMoB,WAAW,GAAGnB,OAAM,gBACxBrU,IAAA,CAACC,IAAI,EAAA;AACHyF,IAAAA,GAAG,EAAE6O,SAAU;AACfpU,IAAAA,OAAO,EAAC,eAAe;AACvBsE,IAAAA,KAAK,EAAC,QAAQ;AACdvE,IAAAA,GAAG,EAAE,EAAG;IACRI,SAAS,EAAEC,UAAU,CAAC,aAAa,EAAEC,KAAK,CAAC,aAAa,CAAC,EAAE;MACzD,CAAC,WAAW,GAAGmL,cAAc;AAC7B,MAAA,CAACnL,KAAK,CAAC,WAAW,CAAC,GAAGmL,cAAc;MACpC,CAAC,aAAa,GAAG6I,UAAU;AAC3B,MAAA,CAAChU,KAAK,CAAC,aAAa,CAAC,GAAGgU,UAAU;MAClC,CAAChU,KAAK,CAAC,aAAa,CAAC,GAAG8H,gBAAgB,IAAI,CAAC,CAACE,cAAc;MAC5D,CAAChI,KAAK,CAAC,aAAa,CAAC,GAAG+H,gBAAgB,IAAKD,gBAAgB,IAAI,CAACE,cAAAA;AACpE,KAAC,CAAE;IAAApI,QAAA,EAAA,cAEHJ,IAAA,CAACC,IAAI,EAAA;MAACK,SAAS,EAAEC,UAAU,CAAC,kBAAkB,EAAEC,KAAK,CAAC,kBAAkB,CAAC,CAAE;AAACiE,MAAAA,KAAK,EAAC,QAAQ;AAACvE,MAAAA,GAAG,EAAE,CAAE;AAAAE,MAAAA,QAAA,EAC/F+T,CAAAA,IAAI,iBACH3U,GAAA,CAACwL,MAAM,EAAA;AACL3F,QAAAA,IAAI,EAAC,MAAM;QACXR,IAAI,eAAErF,GAAA,CAAC4F,IAAI,EAAA;AAAC9E,UAAAA,SAAS,EAAEE,KAAK,CAAC,WAAW,CAAE;AAAC6E,UAAAA,IAAI,EAAC,yBAAyB;AAACC,UAAAA,aAAa,EAAC,QAAA;AAAQ,SAAE,CAAE;QACpGN,OAAO,EAAEA,MAAM;UACbxD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACd,SAAA;OACD,CACF,EACA,CAAC2S,IAAI,IAAIxI,cAAc,iBACtBnM,GAAA,CAACwL,MAAM,EAAA;AACL3F,QAAAA,IAAI,EAAC,MAAM;QACXR,IAAI,eAAErF,GAAA,CAAC4F,IAAI,EAAA;AAAC9E,UAAAA,SAAS,EAAEE,KAAK,CAAC,WAAW,CAAE;AAAC6E,UAAAA,IAAI,EAAC,aAAa;AAACC,UAAAA,aAAa,EAAC,QAAA;AAAQ,SAAE,CAAE;QACxFN,OAAO,EAAEA,MAAM;AACbmM,UAAAA,WAAW,CAACsE,IAAI,IAAI,CAACA,IAAI,CAAC,CAAA;AAC5B,SAAA;OACD,CACF,eACDjW,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEC,UAAU,CAAC,YAAY,EAAEC,KAAK,CAAC,YAAY,CAAC,CAAE;AAAAJ,QAAAA,QAAA,EAAE0E,KAAAA;AAAK,OAAM,CAAC,CAAA;AAAA,KACxE,CAAC,EACNqQ,iBAAiB,gBAAG3V,GAAA,CAAA,KAAA,EAAA;AAAKc,MAAAA,SAAS,EAAEC,UAAU,CAAC,kBAAkB,EAAEC,KAAK,CAAC,kBAAkB,CAAC,EAAEA,KAAK,CAAC,WAAW,CAAC,CAAE;AAAAJ,MAAAA,QAAA,EAAE+U,iBAAAA;KAAuB,CAAC,GAAG,IAAI,CAAA;GAChJ,CAAC,GACL,IAAI,CAAA;EAER,MAAMO,QAAQ,GACZF,WAAW,IAAIlN,gBAAgB,IAAIE,cAAc,gBAC7CsB,YAAY,cACVtK,GAAA,CAAA,KAAA,EAAA;IACEc,SAAS,EAAEC,UAAU,CAAC,8BAA8B,EAAEC,KAAK,CAAC,8BAA8B,CAAC,CAAE;AAC7FA,IAAAA,KAAK,EAAE;AACL,MAAA,uBAAuB,EAAE,0BAA0B;AACnD,MAAA,0BAA0B,EAAE,6BAAA;KAC5B;AAAAJ,IAAAA,QAAA,EAEDoV,WAAAA;AAAW,GACT,CAAC,EACNhN,cACF,CAAC,GACDgN,WAAW,CAAA;EAEjB,MAAMG,wBAAwB,GAAGpV,UAAU,CAAC,YAAY,EAAEC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;AAC9E,EAAA,MAAMoV,kBAAkB,GAAGrV,UAAU,CAACoV,wBAAwB,EAAE;IAC9D,CAAC,YAAY,GAAGrB,SAAS;AACzB,IAAA,CAAC9T,KAAK,CAAC,YAAY,CAAC,GAAG8T,SAAAA;AACzB,GAAC,CAAC,CAAA;EAEF,MAAMuB,MAAM,GAAGA,CAAC;IAAEzV,QAAQ;AAAEE,IAAAA,SAAAA;AAAU,GAAC,KAAK;IAC1C,oBACEN,IAAA,CAAAqT,QAAA,EAAA;AAAAjT,MAAAA,QAAA,gBACEZ,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEE,KAAK,CAAC,UAAU,CAAA;AAAE,OAAE,CAAC,eACrCR,IAAA,CAACC,IAAI,EAAA;QAACI,QAAQ,EAAA,IAAA;AAACwJ,QAAAA,IAAI,EAAE,CAAE;AAAAzJ,QAAAA,QAAA,EACpBsV,CAAAA,QAAQ,eACTlW,GAAA,CAACS,IAAI,EAAA;UAACI,QAAQ,EAAA,IAAA;AAACwJ,UAAAA,IAAI,EAAE,CAAE;AAACvJ,UAAAA,SAAS,EAAEC,UAAU,CAACoV,wBAAwB,EAAErV,SAAS,CAAE;AAAAF,UAAAA,QAAA,EAChFA,QAAAA;AAAQ,SACL,CAAC,CAAA;OACH,CAAC,eACPZ,GAAA,CAAA,KAAA,EAAA;QAAKc,SAAS,EAAEE,KAAK,CAAC,aAAa,CAAA;AAAE,OAAE,CAAC,CAAA;AAAA,KACxC,CAAC,CAAA;GAEN,CAAA;EAED,oBACEhB,GAAA,CAACS,IAAI,EAAA;IACHI,QAAQ,EAAA,IAAA;AACRwJ,IAAAA,IAAI,EAAE,CAAE;IACRvJ,SAAS,EAAEC,UAAU,CAAC,MAAM,EAAEC,KAAK,CAAC,MAAM,CAAC,EAAE;MAC3C,CAAC,WAAW,GAAGmL,cAAc;AAC7B,MAAA,CAACnL,KAAK,CAAC,WAAW,CAAC,GAAGmL,cAAAA;AACxB,KAAC,CAAE;AAAAvL,IAAAA,QAAA,EAEF,OAAOA,QAAQ,KAAK,UAAU,GAC3BA,QAAQ,CAAC;AACPiU,MAAAA,MAAM,EAAEqB,QAAQ;AAChBpV,MAAAA,SAAS,EAAEsV,kBAAkB;MAC7BC,MAAM;MACNC,WAAW,EAAED,MAAM,CAAC;AAClBzV,QAAAA,QAAQ,eAAEZ,GAAA,CAACwU,WAAW,EAAE,EAAA,CAAA;OACzB,CAAA;KACF,CAAC,GACF6B,MAAM,CAAC;AAAEzV,MAAAA,QAAAA;KAAU,CAAA;AAAC,GACpB,CAAC,CAAA;AAEX,EAAC;AAED8T,IAAI,CAACF,WAAW,GAAGA,WAAW;;ACjNxB/M,MAAAA,QAAQ,GAAGA,MAAM;EACrB,IAAI,OAAOiE,MAAM,KAAK,WAAW,IAAI,OAAOA,MAAM,CAAC6K,UAAU,KAAK,UAAU,EAAE;AAC5E,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,OAAO7K,MAAM,CAAC6K,UAAU,CAACC,eAAe,CAAC,CAACC,OAAO,CAAA;AACnD;;ACJA,MAAMC,sBAAsB,GAAG;AAAEC,EAAAA,gBAAgB,EAAE,aAAA;AAAc,CAAC,CAAA;AAClE,MAAMC,gCAAgC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;AAEjH,MAAMC,UAAU,GAAG;AACjBC,EAAAA,UAAU,EAAEC,KAAK,CACf,EAAE,EACF3M,SAAS,CACPwM,gCAAgC,EAChC,CAACI,MAAM,EAAEC,SAAS,KAAK;AACrBD,IAAAA,MAAM,CAACC,SAAS,CAAC,GAAGP,sBAAsB,CAAA;GAC3C,EACD,EACF,CACF,CAAA;AACF;;ACIA,OAAO,qBAAe,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kne/system-layout",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.24",
|
|
4
4
|
"description": "用于一个系统初始化布局",
|
|
5
5
|
"syntax": {
|
|
6
6
|
"esmodules": true
|
|
@@ -83,7 +83,9 @@
|
|
|
83
83
|
"@kne/icon-build": "^0.1.7",
|
|
84
84
|
"@kne/microbundle": "^0.15.5",
|
|
85
85
|
"@kne/modules-dev": "^2.1.16",
|
|
86
|
+
"@kne/react-filter": "^1.0.11",
|
|
86
87
|
"@kne/scroll-loader": "^0.1.14",
|
|
88
|
+
"@kne/table-page": "^0.1.11",
|
|
87
89
|
"antd": "^6.5.0",
|
|
88
90
|
"cross-env": "^7.0.3",
|
|
89
91
|
"husky": "^9.0.11",
|