@ytsaurus/ui 1.75.1 → 1.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/build/assets-manifest.json +75 -75
- package/dist/public/build/css/{job.c7c99207.chunk.css → job.9757ff68.chunk.css} +2 -2
- package/dist/public/build/css/job.9757ff68.chunk.css.map +1 -0
- package/dist/public/build/css/main.0efa9da5.css +10 -0
- package/dist/public/build/css/main.0efa9da5.css.map +1 -0
- package/dist/public/build/css/navigation.c199c4f2.chunk.css +2 -0
- package/dist/public/build/css/navigation.c199c4f2.chunk.css.map +1 -0
- package/dist/public/build/js/{1260.534f3f75.chunk.js → 1260.a1e22005.chunk.js} +2 -2
- package/dist/public/build/js/{1260.534f3f75.chunk.js.map → 1260.a1e22005.chunk.js.map} +1 -1
- package/dist/public/build/js/{1879.23423388.chunk.js → 1879.3975650a.chunk.js} +3 -3
- package/dist/public/build/js/{1879.23423388.chunk.js.map → 1879.3975650a.chunk.js.map} +1 -1
- package/dist/public/build/js/{1983.666923be.chunk.js → 1983.64a2e22f.chunk.js} +2 -2
- package/dist/public/build/js/{1983.666923be.chunk.js.map → 1983.64a2e22f.chunk.js.map} +1 -1
- package/dist/public/build/js/{2447.b2877275.chunk.js → 2447.eb8fde89.chunk.js} +2 -2
- package/dist/public/build/js/{2447.b2877275.chunk.js.map → 2447.eb8fde89.chunk.js.map} +1 -1
- package/dist/public/build/js/3724.3e5848f0.chunk.js +2 -0
- package/dist/public/build/js/{3724.425d01ec.chunk.js.map → 3724.3e5848f0.chunk.js.map} +1 -1
- package/dist/public/build/js/6729.39d7cf60.chunk.js +2 -0
- package/dist/public/build/js/6729.39d7cf60.chunk.js.map +1 -0
- package/dist/public/build/js/{7959.95ebd185.chunk.js → 7959.faac2ff8.chunk.js} +2 -2
- package/dist/public/build/js/{7959.95ebd185.chunk.js.map → 7959.faac2ff8.chunk.js.map} +1 -1
- package/dist/public/build/js/{8390.83f4531a.chunk.js → 8390.c3d2de6a.chunk.js} +2 -2
- package/dist/public/build/js/{8390.83f4531a.chunk.js.map → 8390.c3d2de6a.chunk.js.map} +1 -1
- package/dist/public/build/js/{8460.2d4d237e.chunk.js → 8460.fc8e2238.chunk.js} +2 -2
- package/dist/public/build/js/{8460.2d4d237e.chunk.js.map → 8460.fc8e2238.chunk.js.map} +1 -1
- package/dist/public/build/js/{8778.e18e655b.chunk.js → 8778.f3ea089f.chunk.js} +2 -2
- package/dist/public/build/js/{8778.e18e655b.chunk.js.map → 8778.f3ea089f.chunk.js.map} +1 -1
- package/dist/public/build/js/{9558.a6ea64c9.chunk.js → 9558.6a4bf9a9.chunk.js} +2 -2
- package/dist/public/build/js/{9558.a6ea64c9.chunk.js.map → 9558.6a4bf9a9.chunk.js.map} +1 -1
- package/dist/public/build/js/9569.aac48f3b.chunk.js +2 -0
- package/dist/public/build/js/9569.aac48f3b.chunk.js.map +1 -0
- package/dist/public/build/js/{accounts.2ba221c2.chunk.js → accounts.aa7ed73f.chunk.js} +2 -2
- package/dist/public/build/js/accounts.aa7ed73f.chunk.js.map +1 -0
- package/dist/public/build/js/{acl.c948c339.chunk.js → acl.4cd54663.chunk.js} +2 -2
- package/dist/public/build/js/{acl.c948c339.chunk.js.map → acl.4cd54663.chunk.js.map} +1 -1
- package/dist/public/build/js/{app-navigation.b062662b.chunk.js → app-navigation.13c65573.chunk.js} +2 -2
- package/dist/public/build/js/app-navigation.13c65573.chunk.js.map +1 -0
- package/dist/public/build/js/chyt.0ee6bfa2.chunk.js +2 -0
- package/dist/public/build/js/chyt.0ee6bfa2.chunk.js.map +1 -0
- package/dist/public/build/js/cluster-page-wrapper.bdc8607f.chunk.js +2 -0
- package/dist/public/build/js/cluster-page-wrapper.bdc8607f.chunk.js.map +1 -0
- package/dist/public/build/js/{components.bbe331cb.chunk.js → components.b39828bc.chunk.js} +2 -2
- package/dist/public/build/js/components.b39828bc.chunk.js.map +1 -0
- package/dist/public/build/js/job.ea2ba82d.chunk.js +2 -0
- package/dist/public/build/js/job.ea2ba82d.chunk.js.map +1 -0
- package/dist/public/build/js/main.6375dbc6.js +3 -0
- package/dist/public/build/js/main.6375dbc6.js.map +1 -0
- package/dist/public/build/js/manage-tokens.e1e791fc.chunk.js +2 -0
- package/dist/public/build/js/manage-tokens.e1e791fc.chunk.js.map +1 -0
- package/dist/public/build/js/{navigation-flow.eeb01518.chunk.js → navigation-flow.6d67215a.chunk.js} +2 -2
- package/dist/public/build/js/{navigation-flow.eeb01518.chunk.js.map → navigation-flow.6d67215a.chunk.js.map} +1 -1
- package/dist/public/build/js/navigation.529208de.chunk.js +2 -0
- package/dist/public/build/js/navigation.529208de.chunk.js.map +1 -0
- package/dist/public/build/js/odin.c4c4ef6f.chunk.js +2 -0
- package/dist/public/build/js/odin.c4c4ef6f.chunk.js.map +1 -0
- package/dist/public/build/js/{path-viewer.b1b3328d.chunk.js → path-viewer.c091d9f4.chunk.js} +2 -2
- package/dist/public/build/js/{path-viewer.b1b3328d.chunk.js.map → path-viewer.c091d9f4.chunk.js.map} +1 -1
- package/dist/public/build/js/{query-navigation.9964bfcf.chunk.js → query-navigation.b1574290.chunk.js} +2 -2
- package/dist/public/build/js/{query-navigation.9964bfcf.chunk.js.map → query-navigation.b1574290.chunk.js.map} +1 -1
- package/dist/public/build/js/{query-results.733b1795.chunk.js → query-results.0a05cc41.chunk.js} +2 -2
- package/dist/public/build/js/{query-results.733b1795.chunk.js.map → query-results.0a05cc41.chunk.js.map} +1 -1
- package/dist/public/build/js/query-tracker.515069f6.chunk.js +2 -0
- package/dist/public/build/js/query-tracker.515069f6.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.481a6d3a.js → runtime.09217c31.js} +2 -2
- package/dist/public/build/js/{runtime.481a6d3a.js.map → runtime.09217c31.js.map} +1 -1
- package/dist/public/build/js/{scheduling.b70d4627.chunk.js → scheduling.6448eabd.chunk.js} +2 -2
- package/dist/public/build/js/{scheduling.b70d4627.chunk.js.map → scheduling.6448eabd.chunk.js.map} +1 -1
- package/dist/public/build/js/system.1114aa96.chunk.js +2 -0
- package/dist/public/build/js/system.1114aa96.chunk.js.map +1 -0
- package/dist/public/build/js/{yt-df-dialog.9ddda260.chunk.js → yt-df-dialog.4ad719bf.chunk.js} +2 -2
- package/dist/public/build/js/yt-df-dialog.4ad719bf.chunk.js.map +1 -0
- package/dist/public/build/manifest.json +70 -70
- package/dist/shared/constants/settings-types.d.ts +1 -0
- package/package.json +3 -2
- package/dist/public/build/css/job.c7c99207.chunk.css.map +0 -1
- package/dist/public/build/css/main.2d3cbfcd.css +0 -10
- package/dist/public/build/css/main.2d3cbfcd.css.map +0 -1
- package/dist/public/build/css/navigation.0a9042b3.chunk.css +0 -2
- package/dist/public/build/css/navigation.0a9042b3.chunk.css.map +0 -1
- package/dist/public/build/js/3724.425d01ec.chunk.js +0 -2
- package/dist/public/build/js/5177.b4cec253.chunk.js +0 -2
- package/dist/public/build/js/5177.b4cec253.chunk.js.map +0 -1
- package/dist/public/build/js/6729.da9aa02f.chunk.js +0 -2
- package/dist/public/build/js/6729.da9aa02f.chunk.js.map +0 -1
- package/dist/public/build/js/accounts.2ba221c2.chunk.js.map +0 -1
- package/dist/public/build/js/app-navigation.b062662b.chunk.js.map +0 -1
- package/dist/public/build/js/chyt.7f99f87d.chunk.js +0 -2
- package/dist/public/build/js/chyt.7f99f87d.chunk.js.map +0 -1
- package/dist/public/build/js/cluster-page-wrapper.894fbacc.chunk.js +0 -2
- package/dist/public/build/js/cluster-page-wrapper.894fbacc.chunk.js.map +0 -1
- package/dist/public/build/js/components.bbe331cb.chunk.js.map +0 -1
- package/dist/public/build/js/job.4fc50056.chunk.js +0 -2
- package/dist/public/build/js/job.4fc50056.chunk.js.map +0 -1
- package/dist/public/build/js/main.7981a440.js +0 -3
- package/dist/public/build/js/main.7981a440.js.map +0 -1
- package/dist/public/build/js/manage-tokens.286a4da9.chunk.js +0 -2
- package/dist/public/build/js/manage-tokens.286a4da9.chunk.js.map +0 -1
- package/dist/public/build/js/navigation.d891266d.chunk.js +0 -2
- package/dist/public/build/js/navigation.d891266d.chunk.js.map +0 -1
- package/dist/public/build/js/odin.df1cfe56.chunk.js +0 -2
- package/dist/public/build/js/odin.df1cfe56.chunk.js.map +0 -1
- package/dist/public/build/js/query-tracker.06cc4fdc.chunk.js +0 -2
- package/dist/public/build/js/query-tracker.06cc4fdc.chunk.js.map +0 -1
- package/dist/public/build/js/system.f759d3f0.chunk.js +0 -2
- package/dist/public/build/js/system.f759d3f0.chunk.js.map +0 -1
- package/dist/public/build/js/yt-df-dialog.9ddda260.chunk.js.map +0 -1
- /package/dist/public/build/js/{1879.23423388.chunk.js.LICENSE.txt → 1879.3975650a.chunk.js.LICENSE.txt} +0 -0
- /package/dist/public/build/js/{main.7981a440.js.LICENSE.txt → main.6375dbc6.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"js/8390.83f4531a.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/utils.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/BreadcrumbItem.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/BreadcrumbsSeparator.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/i18n/index.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/Breadcrumbs.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/hooks/useResizeObserver/useResizeObserver.js","webpack://@ytsaurus/ui/./src/ui/components/Breadcrumbs/Breadcrumbs.tsx","webpack://@ytsaurus/ui/./src/ui/components/PageCounter/PageCounter.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnHeader/ColumnHeader.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.js","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/modal-no-content.svg","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelectorModal/ColumnSelectorModal.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/controls/RoleListControl/utils.ts","webpack://@ytsaurus/ui/./src/ui/components/Dialog/DialogError.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/index.tsx","webpack://@ytsaurus/ui/./src/ui/hocs/withDelayedMount.tsx","webpack://@ytsaurus/ui/./src/ui/components/Favourites/Favourites.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg"],"sourcesContent":["import { block } from '../../utils/cn';\nexport function shouldClientNavigate(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n const target = link.getAttribute('target');\n return (link.href &&\n (!target || target === '_self') &&\n link.origin === location.origin &&\n !link.hasAttribute('download') &&\n !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey);\n}\nexport const b = block('breadcrumbs2');\n","'use client';\nimport React from 'react';\nimport { filterDOMProps } from '../../utils/filterDOMProps';\nimport { b, shouldClientNavigate } from './utils';\nexport function BreadcrumbItem(props) {\n const Element = props.href ? 'a' : 'span';\n const domProps = filterDOMProps(props, { labelable: true });\n let title = props.title;\n if (!title && typeof props.children === 'string') {\n title = props.children;\n }\n const handleAction = (event) => {\n if (props.disabled || props.current) {\n event.preventDefault();\n return;\n }\n if (typeof props.onAction === 'function') {\n props.onAction();\n }\n const target = event.currentTarget;\n if (typeof props.navigate === 'function' && target instanceof HTMLAnchorElement) {\n if (props.href && !event.isDefaultPrevented() && shouldClientNavigate(target, event)) {\n event.preventDefault();\n props.navigate(props.href, props.routerOptions);\n }\n }\n };\n const isDisabled = props.disabled || props.current;\n let linkProps = {\n title,\n onClick: handleAction,\n 'aria-disabled': isDisabled ? true : undefined,\n };\n if (Element === 'a') {\n linkProps.href = props.href;\n linkProps.hrefLang = props.hrefLang;\n linkProps.target = props.target;\n linkProps.rel = props.target === '_blank' && !props.rel ? 'noopener noreferrer' : props.rel;\n linkProps.download = props.download;\n linkProps.ping = props.ping;\n linkProps.referrerPolicy = props.referrerPolicy;\n }\n else {\n linkProps.role = 'link';\n linkProps.tabIndex = isDisabled ? undefined : 0;\n linkProps.onKeyDown = (event) => {\n if (event.key === 'Enter') {\n handleAction(event);\n }\n };\n }\n if (props.current) {\n linkProps['aria-current'] = 'page';\n }\n if (props.itemType === 'menu') {\n linkProps = {};\n }\n return (React.createElement(Element, Object.assign({}, domProps, linkProps, { className: props.itemType === 'menu'\n ? b('menu')\n : b('link', {\n 'is-current': props.current,\n 'is-disabled': isDisabled && !props.current,\n }) }), props.children));\n}\nBreadcrumbItem.displayName = 'Breadcrumbs.Item';\n","import React from 'react';\nimport { b } from './utils';\nexport function BreadcrumbsSeparator({ separator }) {\n return (React.createElement(\"div\", { \"aria-hidden\": true, className: b('divider') }, separator !== null && separator !== void 0 ? separator : '/'));\n}\nBreadcrumbsSeparator.displayName = 'Breadcrumbs.Separator';\n","import { addComponentKeysets } from '../../../utils/addComponentKeysets';\nimport en from './en.json';\nimport ru from './ru.json';\nconst COMPONENT = 'lab/Breadcrumbs';\nexport default addComponentKeysets({ en, ru }, COMPONENT);\n","'use client';\nimport React from 'react';\nimport { useForkRef, useResizeObserver } from '../../../hooks';\nimport { Button } from '../../Button';\nimport { DropdownMenu } from '../../DropdownMenu';\nimport { filterDOMProps } from '../../utils/filterDOMProps';\nimport { BreadcrumbItem } from './BreadcrumbItem';\nimport { BreadcrumbsSeparator } from './BreadcrumbsSeparator';\nimport i18n from './i18n';\nimport { b, shouldClientNavigate } from './utils';\nimport './Breadcrumbs.css';\nfunction Item(_props) {\n return null;\n}\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs(props, ref) {\n const listRef = React.useRef(null);\n const containerRef = useForkRef(ref, listRef);\n const items = [];\n React.Children.forEach(props.children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key === undefined || child.key === null) {\n child = React.cloneElement(child, { key: index });\n }\n items.push(child);\n }\n });\n const [visibleItemsCount, setVisibleItemsCount] = React.useState(items.length);\n const [calculated, setCalculated] = React.useState(false);\n const recalculate = (visibleItems) => {\n const list = listRef.current;\n if (!list) {\n return;\n }\n const listItems = Array.from(list.children);\n if (listItems.length === 0) {\n return;\n }\n const containerWidth = list.offsetWidth;\n let newVisibleItemsCount = 0;\n let calculatedWidth = 0;\n let maxItems = props.maxItems || Infinity;\n let rootWidth = 0;\n if (props.showRoot) {\n const item = listItems.shift();\n if (item) {\n rootWidth = item.scrollWidth;\n calculatedWidth += rootWidth;\n }\n newVisibleItemsCount++;\n }\n const hasMenu = items.length > visibleItems;\n if (hasMenu) {\n const item = listItems.shift();\n if (item) {\n calculatedWidth += item.offsetWidth;\n }\n maxItems--;\n }\n if (props.showRoot && calculatedWidth >= containerWidth) {\n calculatedWidth -= rootWidth;\n newVisibleItemsCount--;\n }\n const lastItem = listItems.pop();\n if (lastItem) {\n calculatedWidth += Math.min(lastItem.offsetWidth, 200);\n if (calculatedWidth < containerWidth) {\n newVisibleItemsCount++;\n }\n }\n for (let i = listItems.length - 1; i >= 0; i--) {\n const item = listItems[i];\n calculatedWidth += item.offsetWidth;\n if (calculatedWidth >= containerWidth) {\n break;\n }\n newVisibleItemsCount++;\n }\n newVisibleItemsCount = Math.max(Math.min(maxItems, newVisibleItemsCount), 1);\n if (newVisibleItemsCount === visibleItemsCount) {\n setCalculated(true);\n }\n else {\n setVisibleItemsCount(newVisibleItemsCount);\n }\n };\n const handleResize = React.useCallback(() => {\n setCalculated(false);\n setVisibleItemsCount(items.length);\n }, [items.length]);\n useResizeObserver({\n ref: listRef,\n onResize: handleResize,\n });\n const lastChildren = React.useRef(null);\n React.useLayoutEffect(() => {\n if (calculated && props.children !== lastChildren.current) {\n lastChildren.current = props.children;\n setCalculated(false);\n setVisibleItemsCount(items.length);\n }\n }, [calculated, items.length, props.children]);\n React.useLayoutEffect(() => {\n if (!calculated) {\n recalculate(visibleItemsCount);\n }\n });\n const { navigate } = props;\n let contents = items;\n if (items.length > visibleItemsCount) {\n contents = [];\n const breadcrumbs = [...items];\n let endItems = visibleItemsCount;\n if (props.showRoot && visibleItemsCount > 1) {\n const rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.push(rootItem);\n }\n endItems--;\n }\n const hiddenItems = breadcrumbs.slice(0, -endItems);\n const menuItem = (React.createElement(BreadcrumbItem, { itemType: \"menu\" },\n React.createElement(DropdownMenu, { items: hiddenItems.map((el, index) => {\n return Object.assign(Object.assign({}, el.props), { text: el.props.children, disabled: props.disabled, items: [], action: (event) => {\n var _a;\n if (typeof props.onAction === 'function') {\n props.onAction((_a = el.key) !== null && _a !== void 0 ? _a : index);\n }\n // TODO: move this logic to DropdownMenu\n const target = event.currentTarget;\n if (typeof navigate === 'function' &&\n target instanceof HTMLAnchorElement) {\n if (el.props.href && shouldClientNavigate(target, event)) {\n event.preventDefault();\n navigate(el.props.href, el.props.routerOptions);\n }\n }\n } });\n }), popupProps: {\n className: b('popup', {\n staircase: props.popupStyle === 'staircase',\n }),\n placement: props.popupPlacement,\n }, renderSwitcher: ({ onClick }) => (React.createElement(Button, { title: i18n('label_more'), className: b('more-button'), onClick: onClick, size: \"s\", view: \"flat\", disabled: props.disabled },\n React.createElement(Button.Icon, null, \"...\"))) })));\n contents.push(menuItem);\n contents.push(...breadcrumbs.slice(-endItems));\n }\n const lastIndex = contents.length - 1;\n const breadcrumbItems = contents.map((child, index) => {\n var _a;\n const isCurrent = index === lastIndex;\n const key = (_a = child.key) !== null && _a !== void 0 ? _a : index;\n const handleAction = () => {\n if (typeof props.onAction === 'function') {\n props.onAction(key);\n }\n };\n return (React.createElement(\"li\", { key: index, className: b('item', { calculating: !calculated }) },\n React.createElement(BreadcrumbItem, Object.assign({}, child.props, { key: key, current: isCurrent, disabled: props.disabled, onAction: handleAction, navigate: navigate }), child.props.children),\n isCurrent ? null : React.createElement(BreadcrumbsSeparator, { separator: props.separator })));\n });\n return (React.createElement(\"ol\", Object.assign({ ref: containerRef }, filterDOMProps(props, { labelable: true }), { \"data-qa\": props.qa, className: b(null, props.className), style: props.style }), breadcrumbItems));\n});\nBreadcrumbs.Item = Item;\nBreadcrumbs.displayName = 'Breadcrumbs';\nexport { Item as BreadcrumbsItem };\n","import React from 'react';\nexport function useResizeObserver({ ref, onResize }) {\n React.useEffect(() => {\n const element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) {\n return undefined;\n }\n if (typeof window.ResizeObserver === 'undefined') {\n window.addEventListener('resize', onResize, false);\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n }\n const observer = new ResizeObserver((entries) => {\n if (!entries.length) {\n return;\n }\n onResize();\n });\n observer.observe(element);\n return () => {\n observer.disconnect();\n };\n }, [ref, onResize]);\n}\n","import React, {FC, PropsWithChildren} from 'react';\nimport {\n unstable_BreadcrumbsProps as BreadcrumbsProps,\n unstable_Breadcrumbs as UBreadcrumbs,\n} from '@gravity-ui/uikit/unstable';\nimport './Breadcrumbs.scss';\nimport cn from 'bem-cn-lite';\n\nconst b = cn('yt-u-breadcrumbs');\n\nexport const Breadcrumbs: FC<PropsWithChildren<BreadcrumbsProps>> = ({children, ...props}) => {\n return (\n <UBreadcrumbs {...props} className={b(null, props.className)}>\n {children}\n </UBreadcrumbs>\n );\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nconst block = cn('yt-page-counter');\n\nexport interface PageCounterProps {\n className?: string;\n pageIndex?: number;\n pageCount?: number;\n}\n\nfunction PageCounter({pageIndex, pageCount, className}: PageCounterProps) {\n if (pageIndex === undefined || pageCount === undefined) {\n return null;\n }\n\n return pageCount! > 1 ? (\n <span className={block(null, className)}>\n Page: {(pageIndex || 0) + 1} / {pageCount}\n </span>\n ) : null;\n}\n\nexport default React.memo(PageCounter);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport capitalize_ from 'lodash/capitalize';\n\nimport barsDescendingSvg from '@gravity-ui/icons/svgs/bars-descending-align-left.svg';\nimport {Button, DropdownMenu, Icon, Text} from '@gravity-ui/uikit';\n\nimport SortIcon from '../../components/SortIcon/SortIcon';\n\nimport {OrderType, calculateNextOrderValue, nextSortOrderValue} from '../../utils/sort-helpers';\nimport PageCounter, {PageCounterProps} from '../../components/PageCounter/PageCounter';\nimport Loader from '../../components/Loader/Loader';\nimport {rumLogError} from '../../rum/rum-counter';\n\nimport './ColumnHeader.scss';\n\nconst block = cn('column-header');\n\nexport type ColumnInfo<T> = {\n column: T;\n title?: string;\n shortTitle?: string;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n allowUnordered?: boolean;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n withUndefined?: boolean;\n allowedOrderTypes?: Array<OrderType>;\n};\n\nexport type HasSortColumn<T> =\n | (ColumnInfo<T> & {options?: undefined})\n | ({\n title: string;\n shortTitle?: string;\n column: T;\n options: Array<ColumnInfo<T>>;\n } & Partial<Record<keyof Omit<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>, undefined>>);\n\nexport type ColumnHeaderProps<T extends string = string> = PageCounterProps &\n HasSortColumn<T> & {\n className?: string;\n order?: OrderType;\n multisortIndex?: number;\n onSort?: (\n column: T,\n nextOrder: OrderType,\n options: {currentOrder?: OrderType; multisort?: boolean},\n ) => void;\n\n loading?: boolean;\n\n align?: 'center' | 'left' | 'right';\n };\n\ntype NameTitleContent = {\n nameContent: string;\n titleContent: string;\n};\n\nfunction getNameTitle<T extends string>({\n column,\n title,\n shortTitle,\n}: Pick<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>): NameTitleContent {\n const t = title ?? capitalize_(column);\n const nameContent = !shortTitle ? t : shortTitle;\n return {nameContent, titleContent: t};\n}\n\nfunction useColumnInfo<T extends string = string>(\n props: ColumnHeaderProps<T>,\n): ColumnInfo<T> & NameTitleContent & {subColumn?: NameTitleContent} {\n if (props.options === undefined) {\n const {column, allowUnordered, withUndefined, title, shortTitle, allowedOrderTypes} = props;\n return {\n column,\n allowUnordered,\n withUndefined,\n allowedOrderTypes,\n ...getNameTitle({column, title, shortTitle}),\n };\n }\n\n const {column: value, options, title, shortTitle} = props;\n const columnData = options.find(({column}) => value === column)!;\n if (!columnData) {\n rumLogError({\n message: 'Unexpected behavior: missing value in ColumnHeader.props.options',\n additional: props,\n });\n }\n return {\n subColumn: getNameTitle({...columnData}),\n ...columnData,\n ...getNameTitle({column: '', title, shortTitle}),\n };\n}\n\nexport default function ColumnHeader<T extends string = string>(props: ColumnHeaderProps<T>) {\n const {className, align, order, onSort, multisortIndex, loading, pageIndex, pageCount} = props;\n const {\n column,\n allowUnordered,\n withUndefined,\n nameContent,\n titleContent,\n allowedOrderTypes,\n subColumn,\n } = useColumnInfo(props);\n\n const changeHandler = React.useCallback(\n (e: React.MouseEvent) => {\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort?.(column, nextOrder, {\n currentOrder: order,\n multisort: e.ctrlKey || e.metaKey,\n });\n },\n [column, order, onSort, allowUnordered, allowedOrderTypes, withUndefined],\n );\n\n const sortable = Boolean(onSort);\n\n return (\n <div className={block(null, className)}>\n <div\n className={block('label-icon', {sortable, align})}\n onClick={sortable ? changeHandler : undefined}\n >\n <span className={block('label')} title={titleContent}>\n {nameContent}\n </span>\n {sortable && (\n <span className={block('icon')}>\n <SortIcon order={order} />\n </span>\n )}\n {multisortIndex !== undefined && (\n <span className={block('multisort')}>\n <sup>{multisortIndex}</sup>\n </span>\n )}\n {Boolean(order) && Boolean(subColumn) && (\n <Text\n className={block('label', {'sub-column': true})}\n variant=\"caption-2\"\n title={subColumn?.titleContent}\n color=\"dark-secondary\"\n >\n {subColumn?.nameContent}\n </Text>\n )}\n </div>\n <SubColumnSelector options={props.options} order={order} onSort={onSort} />\n {loading !== undefined && (\n <div className={block('loader')}>\n <Loader visible={loading} />\n </div>\n )}\n {Boolean(pageCount) && (\n <PageCounter\n className={block('page-counter')}\n pageIndex={pageIndex}\n pageCount={pageCount}\n />\n )}\n </div>\n );\n}\n\nfunction SubColumnSelector<T extends string>({\n order,\n options,\n onSort,\n}: Pick<ColumnHeaderProps<T>, 'onSort'> & {\n order?: ColumnHeaderProps<T>['order'];\n options?: Array<ColumnInfo<T>>;\n}) {\n return !options ? null : (\n <DropdownMenu\n items={options.map((x) => {\n const {titleContent} = getNameTitle(x);\n return {\n text: titleContent,\n action() {\n if (!onSort) {\n return;\n }\n const {column, allowUnordered, withUndefined, allowedOrderTypes} = x;\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort(column, nextOrder, {\n currentOrder: order,\n });\n },\n };\n })}\n renderSwitcher={({onClick}) => (\n <Button onClick={onClick} view=\"flat\" size=\"xs\">\n <Icon size={12} data={barsDescendingSvg} />\n </Button>\n )}\n />\n );\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {sortableContainer, sortableElement, sortableHandle} from 'react-sortable-hoc';\nimport ReactList from 'react-list';\n\nimport each_ from 'lodash/each';\nimport escapeRegExp_ from 'lodash/escapeRegExp';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\nimport reduce_ from 'lodash/reduce';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../components/Icon/Icon';\n\nimport {renderText} from '../../components/templates/utils';\n\nimport './ColumnSelector.scss';\nimport Button from '../Button/Button';\n\nconst b = cn('column-selector');\n\nexport function makeItemsCopy(items) {\n return map_(items, (item) => {\n return {...item};\n });\n}\n\nconst DragHandle = sortableHandle(() => (\n <div className={b('drag-handle')}>\n <Icon face=\"solid\" awesome=\"list\" />\n </div>\n));\n\nconst SortableItem = sortableElement(\n ({\n item,\n isSortable,\n isSelectable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n withClickableHandler,\n }) => {\n const active = !isDisabled && !item.disabled;\n const className = b('list-item', {\n selected: item.checked && active && 'yes',\n selectable: isSelectable && active && 'yes',\n disabled: !active && 'yes',\n });\n\n return (\n <div className={className}>\n {isSortable && item.checked && <DragHandle />}\n <div className={b('list-item-name')}>\n {item.keyColumn && <Icon awesome=\"key\" />}\n {itemRenderer(item)}\n </div>\n {active && withClickableHandler && (\n <span\n className={b('list-item-check')}\n onClick={onCheckBoxChange}\n data-item={item.name}\n >\n <Icon awesome=\"check\" />\n </span>\n )}\n {!active && <Icon className={b('list-item-lock')} awesome=\"lock\" />}\n </div>\n );\n },\n);\n\nconst SortableList = sortableContainer(\n ({\n items,\n isSortable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n isSelectable,\n useStaticSize,\n withClickableHandler = true,\n }) => {\n const renderer = (index, key) => {\n const item = items[index];\n return (\n <SortableItem\n key={key}\n index={index}\n item={item}\n disabled={!isSortable}\n isSortable={isSortable}\n isDisabled={isDisabled}\n isSelectable={isSelectable}\n itemRenderer={itemRenderer}\n onCheckBoxChange={onCheckBoxChange}\n withClickableHandler={withClickableHandler}\n />\n );\n };\n // Use 'simple' placement for draggable items because 'uniform' produces bugs when items are dragged outside the viewport\n const type = isSortable ? 'simple' : 'uniform';\n const mods = {'static-size': useStaticSize};\n\n return (\n <div className={b('list', mods)}>\n <ReactList itemRenderer={renderer} length={items.length} type={type} />\n </div>\n );\n },\n);\n\nexport default class ColumnSelector extends Component {\n static itemsProps = PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n keyColumn: PropTypes.bool,\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n );\n\n static propTypes = {\n className: PropTypes.string,\n items: ColumnSelector.itemsProps.isRequired,\n showDisabledItems: PropTypes.bool,\n isSortable: PropTypes.bool,\n isSelectable: PropTypes.bool,\n isFilterable: PropTypes.bool,\n showSelectedOnly: PropTypes.bool,\n isHeadless: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n children: PropTypes.node,\n itemRenderer: PropTypes.func,\n };\n\n static defaultProps = {\n itemRenderer: ({name, caption = name}) => renderText(caption, {asHTML: false}),\n isSortable: false,\n isHeadless: false,\n isSelectable: true,\n isFilterable: true,\n showSelectedOnly: false,\n };\n\n constructor(props) {\n const {items, isHeadless, showSelectedOnly} = props;\n super(props);\n\n const state = {\n showSelectedOnly,\n filter: '',\n };\n if (isHeadless) {\n Object.assign(state, {items: makeItemsCopy(items)});\n }\n this.state = state;\n }\n\n get items() {\n return this.props.isHeadless ? this.state.items : this.props.items;\n }\n\n get buttonALLisDisabled() {\n return this.items.every((item) => item.checked);\n }\n\n get buttonNONEisDisabled() {\n return !this.items.some((item) => item.checked);\n }\n\n /*\n Takes items from the proper place (props or state), modifies them and writes them back at the same place.\n */\n withActualItems(func) {\n const {onChange} = this.props;\n // headless widget keeps its state to itself, but calls onChange as a way of notifying caller about changes\n if (this.props.isHeadless) {\n const {items} = func({items: this.state.items || []});\n this.setState({items}, () => {\n onChange({items: [...this.state.items]});\n });\n } else {\n // widget inside modal passes all changes to the modal component where they are put into state\n const {items} = func({items: this.props.items || []});\n onChange({items: [...items]});\n }\n }\n\n toggleItem = (name) => {\n this.withActualItems(({items}) => {\n items = [...items];\n const index = items.findIndex((item) => item.name === name);\n const changedItem = items[index];\n items[index] = {...changedItem, checked: !changedItem.checked};\n\n return {items};\n });\n };\n\n selectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (!item.checked && !item.disabled) {\n items[index] = {...item, checked: true};\n }\n });\n\n return {items};\n });\n };\n\n deselectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (item.checked && !item.disabled) {\n items[index] = {...item, checked: false};\n }\n });\n\n return {items};\n });\n };\n\n invertItems = () => {\n this.withActualItems(({items}) => {\n const visibleItems = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleItems[item.name]) {\n return;\n }\n if (!item.disabled) {\n items[index] = {...item, checked: !item.checked};\n }\n });\n\n return {items};\n });\n };\n\n _handleCheckBoxChange = (event) => {\n this.toggleItem(event.currentTarget.getAttribute('data-item'));\n };\n\n _handleSortEnd = ({oldIndex, newIndex}) => {\n if (oldIndex === newIndex) {\n return;\n }\n\n this.withActualItems(({items}) => {\n items = [...items];\n\n const {items: visibleItems} = this.getVisibleItems();\n const fromIndex = items.findIndex((item) => item.name === visibleItems[oldIndex].name);\n const toIndex = items.findIndex((item) => item.name === visibleItems[newIndex].name);\n\n const [removed] = items.splice(fromIndex, 1);\n items.splice(toIndex, 0, removed);\n\n return {items};\n });\n };\n\n _handleDefaultSort = () => {\n this.withActualItems(({items}) => {\n return {\n items: items.sort((a, b) => {\n const aCaption = a.caption || a.name;\n const bCaption = b.caption || b.name;\n\n return aCaption.localeCompare(bCaption);\n }),\n };\n });\n };\n\n _toggleShownItems = () => {\n this.setState((prevState) => ({\n showSelectedOnly: !prevState.showSelectedOnly,\n }));\n };\n\n _changeFilter = (filter) => {\n this.setState({filter});\n };\n\n renderSearchBox() {\n return (\n <TextInput\n placeholder=\"Search...\"\n onUpdate={this._changeFilter}\n value={this.state.filter}\n hasClear={true}\n />\n );\n }\n\n renderControls() {\n const {isFilterable, isSelectable, isSortable, isHeadless} = this.props;\n const btnProps = {\n size: 'm',\n className: b('controls-item'),\n };\n\n return (\n <div className={b('controls')}>\n {isFilterable && this.renderSearchBox()}\n {isHeadless && (\n <Button {...btnProps} onClick={this._toggleShownItems}>\n Selected \n <span className=\"elements-secondary-text\">\n {filter_(this.items, (item) => item.checked).length}\n </span>\n </Button>\n )}\n {isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonALLisDisabled}\n onClick={this.selectAllItems}\n >\n Add all\n </Button>\n )}\n {isSelectable && (\n <Button {...btnProps} onClick={this.invertItems}>\n Invert list\n </Button>\n )}\n {!isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonNONEisDisabled}\n onClick={this.deselectAllItems}\n >\n Remove all\n </Button>\n )}\n {isSortable && (\n <Button {...btnProps} onClick={this._handleDefaultSort}>\n Default sort\n </Button>\n )}\n </div>\n );\n }\n\n filterItemsByName(items) {\n const re = new RegExp(escapeRegExp_(this.state.filter), 'i');\n return filter_(items, (item) => re.test(item.name));\n }\n\n filterItems(items) {\n const {showDisabledItems} = this.props;\n items = showDisabledItems ? items : filter_(items, (item) => !item.disabled);\n\n const visibleItems = this.filterItemsByName(items);\n return this.state.showSelectedOnly\n ? filter_(visibleItems, (item) => item.checked)\n : visibleItems;\n }\n\n getVisibleItems() {\n const toSplit = this.filterItems(this.items);\n const [keyItems, items] = partition_(toSplit, (item) => item.keyColumn);\n return {items, keyItems};\n }\n\n getVisibleItemsMap() {\n return reduce_(\n this.filterItems(this.items),\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n );\n }\n\n renderList() {\n const {isSortable, isSelectable, itemRenderer, children, isHeadless} = this.props;\n\n const {items, keyItems} = this.getVisibleItems();\n\n const className = b(\n 'content',\n {\n headless: isHeadless ? undefined : 'no',\n empty: items.length ? undefined : 'yes',\n },\n 'pretty-scroll',\n );\n\n return (\n <div className={className}>\n {keyItems.length > 0 && (\n <React.Fragment>\n <SortableList\n lockAxis=\"y\"\n isDisabled={false}\n isSortable={false}\n isSelectable={isSelectable}\n items={keyItems}\n itemRenderer={itemRenderer}\n helperClass={b('list-item', {helper: 'yes'})}\n onCheckBoxChange={this._handleCheckBoxChange}\n />\n {items.length > 0 && <div className={b('separator')} />}\n </React.Fragment>\n )}\n {items.length > 0 && (\n <SortableList\n items={items}\n isSelectable={isSelectable}\n isSortable={isSortable}\n itemRenderer={itemRenderer}\n lockAxis=\"y\"\n helperClass={b('list-item', {helper: 'yes'})}\n onSortEnd={this._handleSortEnd}\n onCheckBoxChange={this._handleCheckBoxChange}\n useDragHandle\n />\n )}\n {!keyItems.length && !items.length && children}\n </div>\n );\n }\n\n render() {\n const {isHeadless, isSortable, className} = this.props;\n const classNames = b(\n {\n headless: isHeadless ? 'yes' : undefined,\n sortable: isSortable ? undefined : 'no',\n },\n className,\n );\n return (\n <div className={classNames}>\n {this.renderControls()}\n {this.renderList()}\n </div>\n );\n }\n}\n","const SvgModalNoContent = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 194 194\" {...props}><g fill=\"none\" fillRule=\"evenodd\" stroke=\"#999\" opacity={0.22}><path strokeWidth={2} d=\"M97.116 188.443h1v1h-1zM96.424 185.293h1.1v1h-1.1zM95.374 182.143h2.34v1h-2.34zM94.324 178.993h4.2v1h-4.2zM93.273 175.842h6.679v1h-6.679zM91.173 172.692h9.779v1h-9.779zM89.597 169.542h13.499v1H89.597zM87.496 166.391h17.839v1H87.496zM84.871 163.241h22.798v1H84.871zM81.719 160.091h28.998v1H81.719zM78.043 156.94h35.817v1H78.043zM73.842 153.623h45.117v1H73.842z\" /><ellipse cx={96.77} cy={96.61} strokeWidth={8} rx={92.403} ry={92.61} /><ellipse cx={96.669} cy={96.371} strokeWidth={4} rx={37.057} ry={37.141} /><ellipse cx={97.269} cy={96.915} strokeWidth={8} rx={11.499} ry={11.532} /><path strokeLinecap=\"square\" strokeWidth={4} d=\"M34.504 34.653 66.12 66.34\" /><path strokeDasharray=\"8,8\" strokeWidth={4} d=\"M33.023 44.104V148.48M160.116 44.104V148.48\" /><path strokeLinecap=\"square\" strokeWidth={4} d=\"M159.603 34.653 127.986 66.34M34.504 159.798l31.617-31.685M159.603 159.798l-31.617-31.685\" /></g></svg>;\nexport default SvgModalNoContent;","import React from 'react';\nimport hammer from '../../common/hammer';\nimport block from 'bem-cn-lite';\n\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport Modal from '../Modal/Modal';\nimport ColumnSelector, {makeItemsCopy} from '../ColumnSelector/ColumnSelector';\nimport NoContentImage from '../../assets/img/svg/modal-no-content.svg';\n\nimport './ColumnSelectorModal.scss';\n\nconst b = block('column-selector-modal');\n\nexport type ColumnSelectorModalProps<DataT> = {\n items: Array<ColumnSelectorItem<DataT>>;\n srcItems: Array<ColumnSelectorItem<DataT>>;\n isVisible?: boolean;\n onChange: (items: Array<ColumnSelectorItem<DataT>>) => void;\n onConfirm: (items: Array<ColumnSelectorItem<DataT>>) => void;\n onCancel: () => void;\n\n itemRenderer: (item: ColumnSelectorItem<DataT>) => React.ReactNode;\n entity: string;\n};\n\nexport type ColumnSelectorItem<DataT> = {\n name: string;\n checked: boolean;\n data: DataT;\n disabled?: boolean;\n keyColumn?: boolean;\n};\n\ntype Props<T> = ColumnSelectorModalProps<T>;\n\ntype State<T> = Pick<Props<T>, 'items' | 'srcItems'> & {itemsOrder: Array<string>};\n\nexport default class ColumnSelectorModal<T = never> extends React.Component<Props<T>, State<T>> {\n static defaultProps: Partial<Props<unknown>> = {\n entity: 'columns',\n };\n\n state: State<T> = {\n srcItems: this.props.srcItems || this.props.items,\n items: makeItemsCopy(this.props.items),\n itemsOrder: this._getItemsOrder(this.props.items),\n };\n\n // in React 16.3 there is another way to do it: getDerivedStateFromProps;\n // revise this place once received data is managed by Redux\n componentDidUpdate(prevProps: Props<T>) {\n const {items, srcItems} = this.props;\n if (prevProps.items !== items || prevProps.srcItems !== srcItems) {\n // don't update itemsOrder\n this.setState({\n srcItems: srcItems || this.props.items,\n items: this._getOrderedItems(makeItemsCopy(items)),\n });\n }\n }\n\n _handleCONFIRMButtonClick = () => {\n const {items} = this.state;\n this.props.onConfirm(items);\n };\n\n _handleCANCELButtonClick = () => {\n const {items} = this.props;\n const order = this._getItemsOrder(items);\n // reset state to initial on cancel\n this.setState({\n items: this._getOrderedItems(makeItemsCopy(items)),\n itemsOrder: order,\n });\n this.props.onCancel();\n };\n\n _getItemsOrder(items: Props<T>['items']) {\n return map_(items, (item) => item.name);\n }\n\n _getOrderedItems(items: Props<T>['items'], order = this.state.itemsOrder) {\n return items.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n\n _getSelectorProps<P>(props: P, items: Props<T>['items']) {\n return {\n ...props,\n items,\n showDisabledItems: true,\n isHeadless: false,\n isFilterable: true,\n onChange: this.onSourceChange,\n };\n }\n\n _getSortableSelectorProps<P>(props: P, items: Props<T>['items']) {\n return {\n ...props,\n items,\n isSelectable: false,\n isSortable: true,\n showSelectedOnly: true,\n onChange: this.onDestinationChange,\n };\n }\n\n calculateSrcItems(newItemsMap: Record<string, ColumnSelectorItem<T>>) {\n return map_(this.state.srcItems, (item) => {\n const newItem = newItemsMap[item.name];\n\n if (newItem && newItem.checked !== item.checked) {\n return newItem;\n }\n\n return item;\n });\n }\n\n onSourceChange = ({items: newItems}: Pick<Props<T>, 'items'>) => {\n const {items} = this.state;\n const newItemsMap = reduce_(\n newItems,\n (acc, data) => {\n acc[data.name] = data;\n return acc;\n },\n {} as Record<string, ColumnSelectorItem<T>>,\n );\n\n const unchanged: Props<T>['items'] = [];\n const changed: Props<T>['items'] = [];\n forEach_(items, (item) => {\n const newItem = newItemsMap[item.name];\n if (newItem && newItem.checked !== item.checked) {\n const dst = newItem.keyColumn ? unchanged : changed;\n dst.push(newItem);\n } else {\n unchanged.push(item);\n }\n });\n\n const preparedItems = unchanged.concat(changed);\n // don't update itemsOrder\n this.setState({\n items: this._getOrderedItems(preparedItems),\n srcItems: this.calculateSrcItems(newItemsMap),\n });\n };\n\n onDestinationChange = ({items: newItems}: Pick<Props<T>, 'items'>) => {\n const newItemsMap = reduce_(\n newItems,\n (acc, data) => {\n acc[data.name] = data;\n return acc;\n },\n {} as Record<string, ColumnSelectorItem<T>>,\n );\n\n const order = this._getItemsOrder(newItems);\n\n this.setState({\n items: this._getOrderedItems(newItems, order),\n itemsOrder: order,\n srcItems: this.calculateSrcItems(newItemsMap),\n });\n };\n\n renderColumnSelector({\n props,\n title,\n description,\n className,\n }: {\n props: object;\n title: string;\n description: string;\n className?: string;\n }) {\n return (\n <ColumnSelector {...props} className={className}>\n <div className={b('no-content')}>\n <p>\n <strong>{title}</strong>\n </p>\n <p>{description}</p>\n <NoContentImage />\n </div>\n </ColumnSelector>\n );\n }\n\n renderContent() {\n const {isVisible, entity, ...rest} = this.props; // eslint-disable-line\n const {items, srcItems} = this.state;\n\n const headingCN = block('elements-heading')({size: 's'}, b('header'));\n\n const selectorProps = this._getSelectorProps(rest, srcItems);\n const sortableSelectorProps = this._getSortableSelectorProps(selectorProps, items);\n const selectedItemsCount = reduce_(\n sortableSelectorProps.items,\n (acc, item) => (item.disabled || !item.checked ? acc : ++acc),\n 0,\n );\n\n return (\n isVisible && (\n <div className={b()}>\n <div className={b('panel', {left: 'yes'})}>\n <div className={headingCN}>\n All \n <span className=\"elements-secondary-text\">{srcItems.length}</span>\n </div>\n\n {this.renderColumnSelector({\n props: selectorProps,\n title: `No available ${entity}`,\n description: `No ${entity} matching your filtering criteria`,\n })}\n </div>\n\n <div className={b('panel')}>\n <div className={headingCN}>\n Selected \n <span className=\"elements-secondary-text\">{selectedItemsCount}</span>\n </div>\n\n {this.renderColumnSelector({\n props: sortableSelectorProps,\n title: `No selected ${entity}`,\n description: `Add ${entity} you need from the All section.`,\n })}\n </div>\n </div>\n )\n );\n }\n\n render() {\n const {isVisible, entity} = this.props;\n const title = `${hammer.format['FirstUppercase'](entity)} setup`;\n\n return (\n <Modal\n size=\"l\"\n title={title}\n borderless={true}\n visible={isVisible}\n confirmText=\"Apply\"\n onConfirm={this._handleCONFIRMButtonClick}\n onCancel={this._handleCANCELButtonClick}\n content={this.renderContent()}\n contentClassName=\"column-selector-modal-content\"\n />\n );\n }\n}\n","import cn from 'bem-cn-lite';\n\nimport filter_ from 'lodash/filter';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport type {EditableManyListsItemType} from '../../../../components/Dialog';\nimport type {ResponsibleType, RoleConverted, Subject} from '../../../../utils/acl/acl-types';\nimport type {PreparedRole} from '../../../../utils/acl';\nimport {RoleListControlProps} from './RoleListControl';\n\nexport const block = cn('role-list-control');\n\nexport function prepareRoleListValue(roles: Array<PreparedRole>, otherMembers: Array<string> = []) {\n const current: typeof roles = [];\n const toAdd: typeof roles = [];\n const toRemove: typeof roles = [];\n const unrecognized: typeof roles = [];\n forEach_(roles, (item) => {\n const {isUnrecognized, isRequested, isApproved, isDepriving} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n toRemove.push(item);\n } else if (isApproved || isRequested) {\n toAdd.push(item);\n } else {\n current.push(item);\n }\n });\n\n const currentArr = current.map((item) => prepareItemOfCurrent(item));\n const otherArr = otherMembers.map((item) => ({\n title: item,\n data: {},\n frozen: true,\n }));\n\n return {\n newItems: [],\n current: {title: 'Current', data: currentArr.concat(otherArr)},\n toAdd: {\n title: 'Will be added',\n itemClassName: block('item-to-add'),\n data: toAdd.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n toRemove: {\n title: 'Will be removed',\n itemClassName: block('item-to-remove'),\n data: toRemove.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n unrecognized: {\n title: 'Unrecognized',\n itemClassName: block('item-unrecognized'),\n data: unrecognized.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n };\n}\n\nfunction prepareItemOfCurrent(role: PreparedRole, extraProps: any = {}) {\n return {\n title: role.text || role.value,\n data: role,\n ...extraProps,\n };\n}\n\nexport function roleListValueToSubjectList(\n value: RoleListControlProps['value'],\n): Array<ResponsibleType> {\n const {current, newItems, toAdd} = value;\n return [\n ...newItems,\n ...manyListDataItemToSubjectList(current),\n ...manyListDataItemToSubjectList(toAdd),\n ];\n}\n\nfunction manyListDataItemToSubjectList(\n manyListDataItem: EditableManyListsItemType<RoleConverted>,\n): Array<ResponsibleType> {\n const {data} = manyListDataItem || {};\n return map_(\n filter_(data, ({removed}) => !removed),\n ({data}) => {\n const {type, value} = data || {};\n return {type: type!, value: value!};\n },\n );\n}\n\nexport function extractChangedSubjects(value: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n}): {\n added: Subject[];\n removed: Subject[];\n} {\n const {current, newItems} = value;\n const added = newItems || [];\n const removed = ((current && current.data) || []).filter(({removed}) => removed);\n return {\n added: added.map(({type, value}) => {\n return type === 'users' ? {user: value} : {group: value};\n }),\n removed: removed.map(({data}) => {\n const {value, type} = data || {};\n return type === 'users' ? {user: value!} : {group: value!};\n }),\n };\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport type {FORM_ERROR as FormErrorType} from './index';\n\nimport {FIX_MY_TYPE, YTError} from '../../types';\nimport Block from '../../components/Block/Block';\n\nimport compact_ from 'lodash/compact';\nimport map_ from 'lodash/map';\n\nconst block = cn('yt-dialog-error');\n\nexport function DialogError(props: FIX_MY_TYPE) {\n return <Block {...props} className={block()} />;\n}\n\nexport function makeErrorFields(errors: Array<YTError | Error | undefined>) {\n return compact_(\n map_(errors, (error, index) => {\n return error\n ? {\n name: `error_${index}`,\n type: 'block' as const,\n extras: {\n children: <DialogError error={error} />,\n },\n }\n : undefined;\n }),\n );\n}\n\nconst FORM_ERROR: typeof FormErrorType = 'FINAL_FORM/form-error';\n\nexport function makeFormSubmitError(error: YTError) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n}\n","import React from 'react';\nimport withLazyLoading from '../../hocs/withLazyLoading';\nimport {withDelayedMount} from '../../hocs/withDelayedMount';\n\nimport type {\n registerDialogControl as RegisterDialogControlFn,\n registerDialogTabControl as RegisterDialogTabControlFn,\n YTDialogType,\n} from './Dialog';\n\nexport type * from './Dialog';\nexport * from './DialogError';\nexport * from './controls/RoleListControl/utils';\n\nexport function importYTDFDialog() {\n return import(/* webpackChunkName: \"yt-df-dialog\" */ './Dialog');\n}\n\nexport const YTDFDialog = withDelayedMount(\n withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).YTDialog};\n }),\n '',\n ),\n) as YTDialogType;\n\nexport function useControlRegistration(\n fn: (params: {\n registerDialogControl: typeof RegisterDialogControlFn;\n registerDialogTabControl: typeof RegisterDialogTabControlFn;\n }) => void,\n) {\n importYTDFDialog().then(({registerDialogControl, registerDialogTabControl}) => {\n fn({registerDialogControl, registerDialogTabControl});\n });\n}\n\nexport type {RoleListControlProps} from './controls/RoleListControl/RoleListControl';\nexport const RoleListControl = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).RoleListControl};\n }),\n '',\n);\n\nexport const EditableList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).EditableList};\n }),\n '',\n);\n\nexport const TabFieldVertical = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).TabFieldVertical};\n }),\n '',\n);\n","import React from 'react';\n\n/**\n * The hoc allows to delay mounting until `props.visible == true`.\n * The hoc might be useful to wrap components wrapped by React.lazy\n * @param Component\n * @returns\n */\nexport function withDelayedMount<P extends {visible?: boolean}>(Component: React.ComponentType<P>) {\n return function MountOnFirstVisible(props: P) {\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => {\n if (!mounted && props.visible) {\n setMounted(true);\n }\n }, [props.visible, mounted]);\n return !mounted ? null : <Component {...props} />;\n };\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\n\nimport map_ from 'lodash/map';\n\nimport {Button, ButtonProps, DropdownMenu} from '@gravity-ui/uikit';\n\nimport Icon from '../Icon/Icon';\nimport Hotkey from '../../components/Hotkey/Hotkey';\n\nimport './Favourites.scss';\n\nconst b = block('favourites');\n\ninterface Props {\n className?: string;\n isActive: boolean;\n items: Array<FavouritesItem>;\n onItemClick: (item: FavouritesItem) => void;\n toggleDisabled?: boolean;\n onToggle: () => void;\n theme?: 'clear';\n}\n\nexport interface FavouritesItem {\n path: string;\n}\n\ninterface State {\n isActive: boolean;\n}\n\nexport default class Favourites extends Component<Props, State> {\n static itemType = PropTypes.shape({\n path: PropTypes.string,\n });\n\n static propTypes = {\n isActive: PropTypes.bool.isRequired,\n items: PropTypes.arrayOf(Favourites.itemType),\n onItemClick: PropTypes.func,\n toggleDisabled: PropTypes.bool,\n onToggle: PropTypes.func,\n className: PropTypes.string,\n theme: PropTypes.string,\n };\n\n static getDerivedStateFromProps(props: Props, state: State) {\n if (props.isActive !== state.isActive) {\n return {isActive: props.isActive};\n }\n return null;\n }\n\n state = {\n isActive: this.props.isActive,\n };\n\n toggleActive = () => {\n const {onToggle} = this.props;\n\n this.setState((prevState) => ({isActive: !prevState.isActive}));\n onToggle();\n };\n\n onItemClick = (item: FavouritesItem) => {\n const {onItemClick} = this.props;\n onItemClick(item);\n };\n\n renderDropDownMenu() {\n const {items} = this.props;\n\n const dropItems = map_(items, (item) => {\n return {\n text: item.path,\n action: () => this.onItemClick(item),\n };\n });\n if (items.length === 0) {\n dropItems.push({\n action: () => {},\n text: 'No favourites',\n });\n }\n\n const switcher = this.renderButton({\n view: 'normal',\n size: 'm',\n pin: 'brick-round',\n title: 'View favourites',\n children: <Icon awesome=\"angle-down\" />,\n });\n\n return (\n <DropdownMenu\n popupProps={{\n className: b('popup', {empty: items.length === 0}),\n }}\n items={dropItems}\n switcher={switcher}\n />\n );\n }\n\n renderHotkey() {\n return <Hotkey settings={[{keys: 'f', handler: this.toggleActive, scope: 'all'}]} />;\n }\n\n renderButton(buttonProps: ButtonProps & {disabled?: boolean}) {\n const {theme} = this.props;\n const themeProps = !theme ? {} : {view: 'outlined' as const};\n return <Button {...buttonProps} {...themeProps} />;\n }\n\n render() {\n const {toggleDisabled, className, theme} = this.props;\n const {isActive} = this.state;\n\n return (\n <div className={b(null, className)}>\n <div className={b('star-btn', {clear: theme === 'clear'})}>\n {this.renderButton({\n view: 'outlined-info',\n selected: isActive,\n size: 'm',\n pin: theme === 'clear' ? 'round-brick' : 'round-clear',\n title: 'Add to favourites [F]',\n onClick: this.toggleActive,\n disabled: toggleDisabled,\n children: <Icon awesome={isActive ? 'star-alt' : 'star'} />,\n })}\n </div>\n {this.renderDropDownMenu()}\n {this.renderHotkey()}\n </div>\n );\n }\n}\n","const SvgBarsDescendingAlignLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBarsDescendingAlignLeft;"],"names":["shouldClientNavigate","link","modifiers","target","getAttribute","href","origin","location","hasAttribute","metaKey","ctrlKey","altKey","shiftKey","b","BreadcrumbItem","props","Element","domProps","filterDOMProps","labelable","title","children","handleAction","event","disabled","current","preventDefault","onAction","currentTarget","navigate","HTMLAnchorElement","isDefaultPrevented","routerOptions","isDisabled","linkProps","onClick","undefined","hrefLang","rel","download","ping","referrerPolicy","role","tabIndex","onKeyDown","key","itemType","Object","assign","className","BreadcrumbsSeparator","separator","displayName","addComponentKeysets","en","Item","_props","ref","listRef","containerRef","useForkRef","items","forEach","child","index","push","visibleItemsCount","setVisibleItemsCount","length","calculated","setCalculated","handleResize","onResize","element","window","ResizeObserver","addEventListener","removeEventListener","observer","entries","observe","disconnect","useResizeObserver","lastChildren","visibleItems","list","listItems","Array","from","containerWidth","offsetWidth","newVisibleItemsCount","calculatedWidth","maxItems","Infinity","rootWidth","showRoot","item","shift","scrollWidth","lastItem","pop","Math","min","i","max","recalculate","contents","breadcrumbs","endItems","rootItem","hiddenItems","slice","menuItem","DropdownMenu","map","el","text","action","_a","popupProps","staircase","popupStyle","placement","popupPlacement","renderSwitcher","Button","i18n","size","view","Icon","lastIndex","breadcrumbItems","isCurrent","calculating","qa","style","cn","Breadcrumbs","_ref","_objectWithoutProperties","_excluded","_jsx","UBreadcrumbs","_objectSpread","block","PageCounter","pageIndex","pageCount","_jsxs","React","getNameTitle","column","shortTitle","t","capitalize_","nameContent","titleContent","ColumnHeader","align","order","onSort","multisortIndex","loading","_useColumnInfo","options","allowUnordered","withUndefined","allowedOrderTypes","value","columnData","find","_ref2","rumLogError","message","additional","subColumn","useColumnInfo","changeHandler","e","nextOrder","calculateNextOrderValue","nextSortOrderValue","currentOrder","multisort","sortable","Boolean","SortIcon","Text","variant","color","SubColumnSelector","Loader","visible","_ref3","x","_ref4","data","barsDescendingSvg","makeItemsCopy","map_","DragHandle","sortableHandle","face","awesome","SortableItem","sortableElement","isSortable","isSelectable","itemRenderer","onCheckBoxChange","withClickableHandler","active","selected","checked","selectable","keyColumn","name","SortableList","sortableContainer","useStaticSize","_ref2$withClickableHa","type","mods","ReactList","ColumnSelector","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","isHeadless","showSelectedOnly","call","toggleItem","withActualItems","_toConsumableArray","findIndex","changedItem","selectAllItems","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","invertItems","_ref6","_handleCheckBoxChange","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","splice","removed","_slicedToArray","_handleDefaultSort","_ref9","sort","a","aCaption","caption","bCaption","localeCompare","_toggleShownItems","setState","prevState","_changeFilter","filter","state","_createClass","get","this","every","some","func","_this2","onChange","TextInput","placeholder","onUpdate","hasClear","_this$props","isFilterable","btnProps","renderSearchBox","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","test","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$props2","_this$getVisibleItems2","headless","empty","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","renderControls","renderList","Component","itemsProps","PropTypes","isRequired","defaultProps","_ref10","_ref10$caption","renderText","asHTML","xmlns","viewBox","fill","fillRule","stroke","opacity","strokeWidth","d","cx","cy","rx","ry","strokeLinecap","strokeDasharray","ColumnSelectorModal","_React$Component","_len","arguments","args","_key","apply","concat","srcItems","itemsOrder","_getItemsOrder","_handleCONFIRMButtonClick","onConfirm","_handleCANCELButtonClick","_getOrderedItems","onCancel","onSourceChange","newItems","newItemsMap","unchanged","changed","forEach_","newItem","preparedItems","calculateSrcItems","onDestinationChange","prevProps","indexOf","description","NoContentImage","isVisible","entity","rest","_this$state","headingCN","selectorProps","_getSelectorProps","sortableSelectorProps","_getSortableSelectorProps","selectedItemsCount","left","renderColumnSelector","hammer","format","Modal","borderless","confirmText","content","renderContent","contentClassName","prepareRoleListValue","roles","otherMembers","toAdd","toRemove","unrecognized","isUnrecognized","isRequested","isApproved","isDepriving","currentArr","prepareItemOfCurrent","otherArr","frozen","itemClassName","extraProps","roleListValueToSubjectList","manyListDataItemToSubjectList","manyListDataItem","extractChangedSubjects","added","user","group","DialogError","Block","makeErrorFields","errors","compact_","error","extras","FORM_ERROR","makeFormSubmitError","validationErrors","_defineProperty","importYTDFDialog","YTDFDialog","withLazyLoading","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","t0","sent","YTDialog","abrupt","stop","_React$useState","_React$useState2","mounted","setMounted","_callee2","_context2","RoleListControl","EditableList","_callee3","_context3","TabFieldVertical","_callee4","_context4","Favourites","isActive","toggleActive","onToggle","onItemClick","dropItems","path","switcher","renderButton","pin","Hotkey","settings","keys","handler","scope","buttonProps","themeProps","theme","toggleDisabled","clear","renderDropDownMenu","renderHotkey","clipRule"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"js/8390.c3d2de6a.chunk.js","mappings":"uNACO,SAASA,EAAqBC,EAAMC,GAEvC,MAAMC,EAASF,EAAKG,aAAa,UACjC,OAAQH,EAAKI,QACPF,GAAqB,UAAXA,IACZF,EAAKK,SAAWC,SAASD,SACxBL,EAAKO,aAAa,cAClBN,EAAUO,UACVP,EAAUQ,UACVR,EAAUS,SACVT,EAAUU,QACnB,CACO,MAAMC,GAAI,E,SAAA,IAAM,gBCThB,SAASC,EAAeC,GAC3B,MAAMC,EAAUD,EAAMV,KAAO,IAAM,OAC7BY,GAAW,EAAAC,EAAA,GAAeH,EAAO,CAAEI,WAAW,IACpD,IAAIC,EAAQL,EAAMK,MACbA,GAAmC,iBAAnBL,EAAMM,WACvBD,EAAQL,EAAMM,UAElB,MAAMC,EAAgBC,IAClB,GAAIR,EAAMS,UAAYT,EAAMU,QAExB,YADAF,EAAMG,iBAGoB,mBAAnBX,EAAMY,UACbZ,EAAMY,WAEV,MAAMxB,EAASoB,EAAMK,cACS,mBAAnBb,EAAMc,UAA2B1B,aAAkB2B,mBACtDf,EAAMV,OAASkB,EAAMQ,sBAAwB/B,EAAqBG,EAAQoB,KAC1EA,EAAMG,iBACNX,EAAMc,SAASd,EAAMV,KAAMU,EAAMiB,eAEzC,EAEEC,EAAalB,EAAMS,UAAYT,EAAMU,QAC3C,IAAIS,EAAY,CACZd,QACAe,QAASb,EACT,kBAAiBW,QAAoBG,GA0BzC,MAxBgB,MAAZpB,GACAkB,EAAU7B,KAAOU,EAAMV,KACvB6B,EAAUG,SAAWtB,EAAMsB,SAC3BH,EAAU/B,OAASY,EAAMZ,OACzB+B,EAAUI,IAAuB,WAAjBvB,EAAMZ,QAAwBY,EAAMuB,IAA8BvB,EAAMuB,IAA9B,sBAC1DJ,EAAUK,SAAWxB,EAAMwB,SAC3BL,EAAUM,KAAOzB,EAAMyB,KACvBN,EAAUO,eAAiB1B,EAAM0B,iBAGjCP,EAAUQ,KAAO,OACjBR,EAAUS,SAAWV,OAAaG,EAAY,EAC9CF,EAAUU,UAAarB,IACD,UAAdA,EAAMsB,KACNvB,EAAaC,EACjB,GAGJR,EAAMU,UACNS,EAAU,gBAAkB,QAET,SAAnBnB,EAAM+B,WACNZ,EAAY,CAAC,GAET,gBAAoBlB,EAAS+B,OAAOC,OAAO,CAAC,EAAG/B,EAAUiB,EAAW,CAAEe,UAA8B,SAAnBlC,EAAM+B,SACrFjC,EAAE,QACFA,EAAE,OAAQ,CACR,aAAcE,EAAMU,QACpB,cAAeQ,IAAelB,EAAMU,YACjCV,EAAMM,SACzB,CC7DO,SAAS6B,GAAqB,UAAEC,IACnC,OAAQ,gBAAoB,MAAO,CAAE,eAAe,EAAMF,UAAWpC,EAAE,YAAcsC,QAA6CA,EAAY,IAClJ,CD4DArC,EAAesC,YAAc,mBC3D7BF,EAAqBE,YAAc,wB,uKCDnC,GAAe,EAAAC,EAAA,GAAoB,CAAEC,GAAE,KAAI,GADzB,mBCQlB,SAASC,EAAKC,GACV,OAAO,IACX,CACO,MAAM,EAAc,cAAiB,SAAqBzC,EAAO0C,GACpE,MAAMC,EAAU,SAAa,MACvBC,GAAe,EAAAC,EAAA,GAAWH,EAAKC,GAC/BG,EAAQ,GACd,WAAeC,QAAQ/C,EAAMM,UAAU,CAAC0C,EAAOC,KACvC,iBAAqBD,UACH3B,IAAd2B,EAAMlB,KAAmC,OAAdkB,EAAMlB,MACjCkB,EAAQ,eAAmBA,EAAO,CAAElB,IAAKmB,KAE7CH,EAAMI,KAAKF,GACf,IAEJ,MAAOG,EAAmBC,GAAwB,WAAeN,EAAMO,SAChEC,EAAYC,GAAiB,YAAe,GA0D7CC,EAAe,eAAkB,KACnCD,GAAc,GACdH,EAAqBN,EAAMO,OAAO,GACnC,CAACP,EAAMO,UCvFP,UAA2B,IAAEX,EAAG,SAAEe,IACrC,aAAgB,KACZ,MAAMC,EAAUhB,aAAiC,EAASA,EAAIhC,QAC9D,IAAKgD,EACD,OAEJ,QAAqC,IAA1BC,OAAOC,eAEd,OADAD,OAAOE,iBAAiB,SAAUJ,GAAU,GACrC,KACHE,OAAOG,oBAAoB,SAAUL,GAAU,EAAM,EAG7D,MAAMM,EAAW,IAAIH,gBAAgBI,IAC5BA,EAAQX,QAGbI,GAAU,IAGd,OADAM,EAASE,QAAQP,GACV,KACHK,EAASG,YAAY,CACxB,GACF,CAACxB,EAAKe,GACb,CDiEIU,CAAkB,CACdzB,IAAKC,EACLc,SAAUD,IAEd,MAAMY,EAAe,SAAa,MAClC,mBAAsB,KACdd,GAActD,EAAMM,WAAa8D,EAAa1D,UAC9C0D,EAAa1D,QAAUV,EAAMM,SAC7BiD,GAAc,GACdH,EAAqBN,EAAMO,QAC/B,GACD,CAACC,EAAYR,EAAMO,OAAQrD,EAAMM,WACpC,mBAAsB,KACbgD,GA1EW,CAACe,IACjB,MAAMC,EAAO3B,EAAQjC,QACrB,IAAK4D,EACD,OAEJ,MAAMC,EAAYC,MAAMC,KAAKH,EAAKhE,UAClC,GAAyB,IAArBiE,EAAUlB,OACV,OAEJ,MAAMqB,EAAiBJ,EAAKK,YAC5B,IAAIC,EAAuB,EACvBC,EAAkB,EAClBC,EAAW9E,EAAM8E,UAAYC,IAC7BC,EAAY,EAChB,GAAIhF,EAAMiF,SAAU,CAChB,MAAMC,EAAOX,EAAUY,QACnBD,IACAF,EAAYE,EAAKE,YACjBP,GAAmBG,GAEvBJ,GACJ,CAEA,GADgB9B,EAAMO,OAASgB,EAClB,CACT,MAAMa,EAAOX,EAAUY,QACnBD,IACAL,GAAmBK,EAAKP,aAE5BG,GACJ,CACI9E,EAAMiF,UAAYJ,GAAmBH,IACrCG,GAAmBG,EACnBJ,KAEJ,MAAMS,EAAWd,EAAUe,MACvBD,IACAR,GAAmBU,KAAKC,IAAIH,EAASV,YAAa,KAC9CE,EAAkBH,GAClBE,KAGR,IAAK,IAAIa,EAAIlB,EAAUlB,OAAS,EAAGoC,GAAK,IAEpCZ,GADaN,EAAUkB,GACCd,cACpBE,GAAmBH,IAHgBe,IAMvCb,IAEJA,EAAuBW,KAAKG,IAAIH,KAAKC,IAAIV,EAAUF,GAAuB,GACtEA,IAAyBzB,EACzBI,GAAc,GAGdH,EAAqBwB,EACzB,EAoBIe,CAAYxC,EAChB,IAEJ,MAAM,SAAErC,GAAad,EACrB,IAAI4F,EAAW9C,EACf,GAAIA,EAAMO,OAASF,EAAmB,CAClCyC,EAAW,GACX,MAAMC,EAAc,IAAI/C,GACxB,IAAIgD,EAAW3C,EACf,GAAInD,EAAMiF,UAAY9B,EAAoB,EAAG,CACzC,MAAM4C,EAAWF,EAAYV,QACzBY,GACAH,EAAS1C,KAAK6C,GAElBD,GACJ,CACA,MAAME,EAAcH,EAAYI,MAAM,GAAIH,GACpCI,EAAY,gBAAoBnG,EAAgB,CAAEgC,SAAU,QAC9D,gBAAoBoE,EAAA,EAAc,CAAErD,MAAOkD,EAAYI,KAAI,CAACC,EAAIpD,IACjDjB,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGoE,EAAGrG,OAAQ,CAAEsG,KAAMD,EAAGrG,MAAMM,SAAUG,SAAUT,EAAMS,SAAUqC,MAAO,GAAIyD,OAAS/F,IACnH,IAAIgG,EAC0B,mBAAnBxG,EAAMY,UACbZ,EAAMY,SAA2B,QAAjB4F,EAAKH,EAAGvE,WAAwB,IAAP0E,EAAgBA,EAAKvD,GAGlE,MAAM7D,EAASoB,EAAMK,cACG,mBAAbC,GACP1B,aAAkB2B,mBACdsF,EAAGrG,MAAMV,MAAQL,EAAqBG,EAAQoB,KAC9CA,EAAMG,iBACNG,EAASuF,EAAGrG,MAAMV,KAAM+G,EAAGrG,MAAMiB,eAEzC,MAERwF,WAAY,CACZvE,UAAWpC,EAAE,QAAS,CAClB4G,UAAgC,cAArB1G,EAAM2G,aAErBC,UAAW5G,EAAM6G,gBAClBC,eAAgB,EAAG1F,aAAe,gBAAoB2F,EAAA,EAAQ,CAAE1G,MAAO2G,EAAK,cAAe9E,UAAWpC,EAAE,eAAgBsB,QAASA,EAAS6F,KAAM,IAAKC,KAAM,OAAQzG,SAAUT,EAAMS,UAClL,gBAAoBsG,EAAA,EAAOI,KAAM,KAAM,WACnDvB,EAAS1C,KAAKgD,GACdN,EAAS1C,QAAQ2C,EAAYI,OAAOH,GACxC,CACA,MAAMsB,EAAYxB,EAASvC,OAAS,EAC9BgE,EAAkBzB,EAASQ,KAAI,CAACpD,EAAOC,KACzC,IAAIuD,EACJ,MAAMc,EAAYrE,IAAUmE,EACtBtF,EAA2B,QAApB0E,EAAKxD,EAAMlB,WAAwB,IAAP0E,EAAgBA,EAAKvD,EAM9D,OAAQ,gBAAoB,KAAM,CAAEnB,IAAKmB,EAAOf,UAAWpC,EAAE,OAAQ,CAAEyH,aAAcjE,KACjF,gBAAoBvD,EAAgBiC,OAAOC,OAAO,CAAC,EAAGe,EAAMhD,MAAO,CAAE8B,IAAKA,EAAKpB,QAAS4G,EAAW7G,SAAUT,EAAMS,SAAUG,SAN5G,KACa,mBAAnBZ,EAAMY,UACbZ,EAAMY,SAASkB,EACnB,EAGqJhB,SAAUA,IAAakC,EAAMhD,MAAMM,UACxLgH,EAAY,KAAO,gBAAoBnF,EAAsB,CAAEC,UAAWpC,EAAMoC,YAAc,IAEtG,OAAQ,gBAAoB,KAAMJ,OAAOC,OAAO,CAAES,IAAKE,IAAgB,EAAAzC,EAAA,GAAeH,EAAO,CAAEI,WAAW,IAAS,CAAE,UAAWJ,EAAMwH,GAAItF,UAAWpC,EAAE,KAAME,EAAMkC,WAAYuF,MAAOzH,EAAMyH,QAAUJ,EAC1M,IACA,EAAY7E,KAAOA,EACnB,EAAYH,YAAc,c,yCE5JpBvC,GAAI4H,EAAAA,EAAAA,GAAG,oBAEAC,EAAuD,SAAHC,GAA8B,IAAzBtH,EAAQsH,EAARtH,SAAaN,GAAK6H,EAAAA,EAAAA,GAAAD,EAAAE,GACpF,OACIC,EAAAA,EAAAA,KAACC,GAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKjI,GAAK,IAAEkC,UAAWpC,EAAE,KAAME,EAAMkC,WAAW5B,SACxDA,IAGb,C,oLCbM4H,GAAQR,EAAAA,EAAAA,GAAG,mBAQjB,SAASS,EAAWP,GAAuD,IAArDQ,EAASR,EAATQ,UAAWC,EAAST,EAATS,UAAWnG,EAAS0F,EAAT1F,UACxC,YAAkBb,IAAd+G,QAAyC/G,IAAdgH,EACpB,KAGJA,EAAa,GAChBC,EAAAA,EAAAA,MAAA,QAAMpG,UAAWgG,EAAM,KAAMhG,GAAW5B,SAAA,CAAC,UAC7B8H,GAAa,GAAK,EAAE,MAAIC,KAEpC,IACR,CAEA,QAAeE,EAAAA,KAAWJ,G,0BCPpBD,GAAQR,EAAAA,EAAAA,GAAG,iBA+CjB,SAASc,EAAYZ,GAIyD,IAH1Ea,EAAMb,EAANa,OACApI,EAAKuH,EAALvH,MACAqI,EAAUd,EAAVc,WAEMC,EAAItI,QAAAA,EAASuI,IAAYH,GAE/B,MAAO,CAACI,YADaH,GAAaC,EACbG,aAAcH,EACvC,CA+Be,SAASI,EAAwC/I,GAC5D,IAAOkC,EAAkFlC,EAAlFkC,UAAW8G,EAAuEhJ,EAAvEgJ,MAAOC,EAAgEjJ,EAAhEiJ,MAAOC,EAAyDlJ,EAAzDkJ,OAAQC,EAAiDnJ,EAAjDmJ,eAAgBC,EAAiCpJ,EAAjCoJ,QAAShB,EAAwBpI,EAAxBoI,UAAWC,EAAarI,EAAbqI,UAC5EgB,EA/BJ,SACIrJ,GAEA,QAAsBqB,IAAlBrB,EAAMsJ,QAAuB,CAC7B,IAAOb,EAA+EzI,EAA/EyI,OAAQc,EAAuEvJ,EAAvEuJ,eAAgBC,EAAuDxJ,EAAvDwJ,cAAenJ,EAAwCL,EAAxCK,MAAOqI,EAAiC1I,EAAjC0I,WAAYe,EAAqBzJ,EAArByJ,kBACjE,OAAAxB,EAAAA,EAAAA,GAAA,CACIQ,OAAAA,EACAc,eAAAA,EACAC,cAAAA,EACAC,kBAAAA,GACGjB,EAAa,CAACC,OAAAA,EAAQpI,MAAAA,EAAOqI,WAAAA,IAExC,CAEA,IAAegB,EAAqC1J,EAA7CyI,OAAea,EAA8BtJ,EAA9BsJ,QAASjJ,EAAqBL,EAArBK,MAAOqI,EAAc1I,EAAd0I,WAChCiB,EAAaL,EAAQM,MAAK,SAAAC,GAAA,IAAEpB,EAAMoB,EAANpB,OAAM,OAAMiB,IAAUjB,CAAM,IAO9D,OANKkB,IACDG,EAAAA,EAAAA,IAAY,CACRC,QAAS,mEACTC,WAAYhK,KAGpBiI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CACIgC,UAAWzB,GAAYP,EAAAA,EAAAA,GAAC,CAAC,EAAG0B,KACzBA,GACAnB,EAAa,CAACC,OAAQ,GAAIpI,MAAAA,EAAOqI,WAAAA,IAE5C,CAYQwB,CAAclK,GAPdyI,EAAMY,EAANZ,OACAc,EAAcF,EAAdE,eACAC,EAAaH,EAAbG,cACAX,EAAWQ,EAAXR,YACAC,EAAYO,EAAZP,aACAW,EAAiBJ,EAAjBI,kBACAQ,EAASZ,EAATY,UAGEE,EAAgB5B,EAAAA,aAClB,SAAC6B,GACG,IAAMC,EAAYZ,GACZa,EAAAA,EAAAA,IAAwBrB,EAAOQ,IAC/Bc,EAAAA,EAAAA,IAAmBtB,EAAOM,EAAgBC,GAChDN,SAAAA,EAAST,EAAQ4B,EAAW,CACxBG,aAAcvB,EACdwB,UAAWL,EAAEzK,SAAWyK,EAAE1K,SAElC,GACA,CAAC+I,EAAQQ,EAAOC,EAAQK,EAAgBE,EAAmBD,IAGzDkB,EAAWC,QAAQzB,GAEzB,OACIZ,EAAAA,EAAAA,MAAA,OAAKpG,UAAWgG,EAAM,KAAMhG,GAAW5B,SAAA,EACnCgI,EAAAA,EAAAA,MAAA,OACIpG,UAAWgG,EAAM,aAAc,CAACwC,SAAAA,EAAU1B,MAAAA,IAC1C5H,QAASsJ,EAAWP,OAAgB9I,EAAUf,SAAA,EAE9CyH,EAAAA,EAAAA,KAAA,QAAM7F,UAAWgG,EAAM,SAAU7H,MAAOyI,EAAaxI,SAChDuI,IAEJ6B,IACG3C,EAAAA,EAAAA,KAAA,QAAM7F,UAAWgG,EAAM,QAAQ5H,UAC3ByH,EAAAA,EAAAA,KAAC6C,EAAAA,EAAQ,CAAC3B,MAAOA,WAGL5H,IAAnB8H,IACGb,EAAAA,EAAAA,MAAA,QAAMpG,UAAWgG,EAAM,aAAa5H,SAAA,CAAC,KAC3ByH,EAAAA,EAAAA,KAAA,OAAAzH,SAAM6I,OAGnBwB,QAAQ1B,IAAU0B,QAAQV,KACvBlC,EAAAA,EAAAA,KAAC8C,EAAAA,EAAI,CACD3I,UAAWgG,EAAM,QAAS,CAAC,cAAc,IACzC4C,QAAQ,YACRzK,MAAO4J,aAAS,EAATA,EAAWnB,aAClBiC,MAAM,iBAAgBzK,SAErB2J,aAAS,EAATA,EAAWpB,kBAIxBd,EAAAA,EAAAA,KAACiD,EAAiB,CAAC1B,QAAStJ,EAAMsJ,QAASL,MAAOA,EAAOC,OAAQA,SACpD7H,IAAZ+H,IACGrB,EAAAA,EAAAA,KAAA,OAAK7F,UAAWgG,EAAM,UAAU5H,UAC5ByH,EAAAA,EAAAA,KAACkD,EAAAA,EAAM,CAACC,QAAS9B,MAGxBuB,QAAQtC,KACLN,EAAAA,EAAAA,KAACI,EAAW,CACRjG,UAAWgG,EAAM,gBACjBE,UAAWA,EACXC,UAAWA,MAK/B,CAEA,SAAS2C,EAAiBG,GAOtB,IANAlC,EAAKkC,EAALlC,MACAK,EAAO6B,EAAP7B,QACAJ,EAAMiC,EAANjC,OAKA,OAAQI,GACJvB,EAAAA,EAAAA,KAAC5B,EAAAA,EAAY,CACTrD,MAAOwG,EAAQlD,KAAI,SAACgF,GAEhB,MAAO,CACH9E,KAFmBkC,EAAa4C,GAA7BtC,aAGHvC,OAAM,WACF,GAAK2C,EAAL,CAGA,IAAOT,EAA4D2C,EAA5D3C,OAAQc,EAAoD6B,EAApD7B,eAAgBC,EAAoC4B,EAApC5B,cAAeC,EAAqB2B,EAArB3B,kBACxCY,EAAYZ,GACZa,EAAAA,EAAAA,IAAwBrB,EAAOQ,IAC/Bc,EAAAA,EAAAA,IAAmBtB,EAAOM,EAAgBC,GAChDN,EAAOT,EAAQ4B,EAAW,CACtBG,aAAcvB,GANlB,CAQJ,EAER,IACAnC,eAAgB,SAAAuE,GAAA,IAAEjK,EAAOiK,EAAPjK,QAAO,OACrB2G,EAAAA,EAAAA,KAAChB,EAAAA,EAAM,CAAC3F,QAASA,EAAS8F,KAAK,OAAOD,KAAK,KAAI3G,UAC3CyH,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAACF,KAAM,GAAIqE,KAAMC,EAAAA,KACjB,IAvBH,IA2BtB,C,iXC9LMzL,GAAI4H,EAAAA,EAAAA,GAAG,mBAEN,SAAS8D,EAAc1I,GAC1B,OAAO2I,IAAK3I,GAAO,SAACoC,GAChB,OAAA+C,EAAAA,EAAAA,GAAA,GAAW/C,EACf,GACJ,CAEA,IAAMwG,GAAaC,EAAAA,EAAAA,KAAe,kBAC9B5D,EAAAA,EAAAA,KAAA,OAAK7F,UAAWpC,EAAE,eAAeQ,UAC7ByH,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAACyE,KAAK,QAAQC,QAAQ,UACzB,IAGJC,GAAeC,EAAAA,EAAAA,KACjB,SAAAnE,GAQO,IAPH1C,EAAI0C,EAAJ1C,KACA8G,EAAUpE,EAAVoE,WACAC,EAAYrE,EAAZqE,aACA/K,EAAU0G,EAAV1G,WACAgL,EAAYtE,EAAZsE,aACAC,EAAgBvE,EAAhBuE,iBACAC,EAAoBxE,EAApBwE,qBAEMC,GAAUnL,IAAegE,EAAKzE,SAC9ByB,EAAYpC,EAAE,YAAa,CAC7BwM,SAAUpH,EAAKqH,SAAWF,GAAU,MACpCG,WAAYP,GAAgBI,GAAU,MACtC5L,UAAW4L,GAAU,QAGzB,OACI/D,EAAAA,EAAAA,MAAA,OAAKpG,UAAWA,EAAU5B,SAAA,CACrB0L,GAAc9G,EAAKqH,UAAWxE,EAAAA,EAAAA,KAAC2D,EAAU,KAC1CpD,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,EAAE,kBAAkBQ,SAAA,CAC/B4E,EAAKuH,YAAa1E,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAAC0E,QAAQ,QAChCK,EAAahH,MAEjBmH,GAAUD,IACPrE,EAAAA,EAAAA,KAAA,QACI7F,UAAWpC,EAAE,mBACbsB,QAAS+K,EACT,YAAWjH,EAAKwH,KAAKpM,UAErByH,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAAC0E,QAAQ,aAGpBQ,IAAUtE,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAACjF,UAAWpC,EAAE,kBAAmB+L,QAAQ,WAGtE,IAGEc,GAAeC,EAAAA,EAAAA,KACjB,SAAA/C,GASO,IARH/G,EAAK+G,EAAL/G,MACAkJ,EAAUnC,EAAVmC,WACA9K,EAAU2I,EAAV3I,WACAgL,EAAYrC,EAAZqC,aACAC,EAAgBtC,EAAhBsC,iBACAF,EAAYpC,EAAZoC,aACAY,EAAahD,EAAbgD,cAAaC,EAAAjD,EACbuC,qBAAAA,OAAoB,IAAAU,GAAOA,EAoBrBC,EAAOf,EAAa,SAAW,UAC/BgB,EAAO,CAAC,cAAeH,GAE7B,OACI9E,EAAAA,EAAAA,KAAA,OAAK7F,UAAWpC,EAAE,OAAQkN,GAAM1M,UAC5ByH,EAAAA,EAAAA,KAACkF,IAAS,CAACf,aAvBF,SAACjJ,EAAOnB,GACrB,IAAMoD,EAAOpC,EAAMG,GACnB,OACI8E,EAAAA,EAAAA,KAAC+D,EAAY,CAET7I,MAAOA,EACPiC,KAAMA,EACNzE,UAAWuL,EACXA,WAAYA,EACZ9K,WAAYA,EACZ+K,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,EAClBC,qBAAsBA,GATjBtK,EAYjB,EAO2CuB,OAAQP,EAAMO,OAAQ0J,KAAMA,KAG3E,IAGiBG,EAAc,SAAAC,IAAAC,EAAAA,EAAAA,GAAAF,EAAAC,GAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAAJ,GAkC/B,SAAAA,EAAYlN,GAAQ,IAADuN,GAAAC,EAAAA,EAAAA,GAAA,KAAAN,GACf,IAAOpK,EAAuC9C,EAAvC8C,MAAO2K,EAAgCzN,EAAhCyN,WAAYC,EAAoB1N,EAApB0N,kBAC1BH,EAAAF,EAAAM,KAAA,KAAM3N,IA0CV4N,WAAa,SAAClB,GACVa,EAAKM,iBAAgB,SAAA1C,GAAc,IAAZrI,EAAKqI,EAALrI,MAEbG,GADNH,GAAKgL,EAAAA,EAAAA,GAAOhL,IACQiL,WAAU,SAAC7I,GAAI,OAAKA,EAAKwH,OAASA,CAAI,IACpDsB,EAAclL,EAAMG,GAG1B,OAFAH,EAAMG,IAAMgF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO+F,GAAW,IAAEzB,SAAUyB,EAAYzB,UAE/C,CAACzJ,MAAAA,EACZ,GACJ,EAACyK,EAEDU,eAAiB,WACbV,EAAKM,iBAAgB,SAAAxC,GAAc,IAAZvI,EAAKuI,EAALvI,MACboL,EAAaX,EAAKY,qBAWxB,OAVArL,GAAKgL,EAAAA,EAAAA,GAAOhL,GACZsL,IAAMtL,GAAO,SAACoC,EAAMjC,GACXiL,EAAWhJ,EAAKwH,QAGhBxH,EAAKqH,SAAYrH,EAAKzE,WACvBqC,EAAMG,IAAMgF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO/C,GAAI,IAAEqH,SAAS,KAE1C,IAEO,CAACzJ,MAAAA,EACZ,GACJ,EAACyK,EAEDc,iBAAmB,WACfd,EAAKM,iBAAgB,SAAAS,GAAc,IAAZxL,EAAKwL,EAALxL,MACboL,EAAaX,EAAKY,qBAWxB,OAVArL,GAAKgL,EAAAA,EAAAA,GAAOhL,GACZsL,IAAMtL,GAAO,SAACoC,EAAMjC,GACXiL,EAAWhJ,EAAKwH,OAGjBxH,EAAKqH,UAAYrH,EAAKzE,WACtBqC,EAAMG,IAAMgF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO/C,GAAI,IAAEqH,SAAS,IAE1C,IAEO,CAACzJ,MAAAA,EACZ,GACJ,EAACyK,EAEDgB,YAAc,WACVhB,EAAKM,iBAAgB,SAAAW,GAAc,IAAZ1L,EAAK0L,EAAL1L,MACbuB,EAAekJ,EAAKY,qBAW1B,OAVArL,GAAKgL,EAAAA,EAAAA,GAAOhL,GACZsL,IAAMtL,GAAO,SAACoC,EAAMjC,GACXoB,EAAaa,EAAKwH,QAGlBxH,EAAKzE,WACNqC,EAAMG,IAAMgF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO/C,GAAI,IAAEqH,SAAUrH,EAAKqH,WAEhD,IAEO,CAACzJ,MAAAA,EACZ,GACJ,EAACyK,EAEDkB,sBAAwB,SAACjO,GACrB+M,EAAKK,WAAWpN,EAAMK,cAAcxB,aAAa,aACrD,EAACkO,EAEDmB,eAAiB,SAAAC,GAA2B,IAAzBC,EAAQD,EAARC,SAAUC,EAAQF,EAARE,SACrBD,IAAaC,GAIjBtB,EAAKM,iBAAgB,SAAAiB,GAAc,IAAZhM,EAAKgM,EAALhM,MACnBA,GAAKgL,EAAAA,EAAAA,GAAOhL,GAEZ,IAAcuB,EAAgBkJ,EAAKwB,kBAA5BjM,MACDkM,EAAYlM,EAAMiL,WAAU,SAAC7I,GAAI,OAAKA,EAAKwH,OAASrI,EAAauK,GAAUlC,IAAI,IAC/EuC,EAAUnM,EAAMiL,WAAU,SAAC7I,GAAI,OAAKA,EAAKwH,OAASrI,EAAawK,GAAUnC,IAAI,IAEnFwC,EAAkBpM,EAAMqM,OAAOH,EAAW,GAAnCI,GAAqCC,EAAAA,EAAAA,GAAAH,EAAA,GAA9B,GAGd,OAFApM,EAAMqM,OAAOF,EAAS,EAAGG,GAElB,CAACtM,MAAAA,EACZ,GACJ,EAACyK,EAED+B,mBAAqB,WACjB/B,EAAKM,iBAAgB,SAAA0B,GACjB,MAAO,CACHzM,MAFoByM,EAALzM,MAEF0M,MAAK,SAACC,EAAG3P,GAClB,IAAM4P,EAAWD,EAAEE,SAAWF,EAAE/C,KAC1BkD,EAAW9P,EAAE6P,SAAW7P,EAAE4M,KAEhC,OAAOgD,EAASG,cAAcD,EAClC,IAER,GACJ,EAACrC,EAEDuC,kBAAoB,WAChBvC,EAAKwC,UAAS,SAACC,GAAS,MAAM,CAC1BtC,kBAAmBsC,EAAUtC,iBAChC,GACL,EAACH,EAED0C,cAAgB,SAACC,GACb3C,EAAKwC,SAAS,CAACG,OAAAA,GACnB,EAlJI,IAAMC,EAAQ,CACVzC,iBAAAA,EACAwC,OAAQ,IAKO,OAHfzC,GACAzL,OAAOC,OAAOkO,EAAO,CAACrN,MAAO0I,EAAc1I,KAE/CyK,EAAK4C,MAAQA,EAAM5C,CACvB,CAySC,OAzSA6C,EAAAA,EAAAA,GAAAlD,EAAA,EAAApL,IAAA,QAAAuO,IAED,WACI,OAAOC,KAAKtQ,MAAMyN,WAAa6C,KAAKH,MAAMrN,MAAQwN,KAAKtQ,MAAM8C,KACjE,GAAC,CAAAhB,IAAA,sBAAAuO,IAED,WACI,OAAOC,KAAKxN,MAAMyN,OAAM,SAACrL,GAAI,OAAKA,EAAKqH,OAAO,GAClD,GAAC,CAAAzK,IAAA,uBAAAuO,IAED,WACI,OAAQC,KAAKxN,MAAM0N,MAAK,SAACtL,GAAI,OAAKA,EAAKqH,OAAO,GAClD,GAEA,CAAAzK,IAAA,kBAAA4H,MAGA,SAAgB+G,GAAO,IAADC,EAAA,KACXC,EAAYL,KAAKtQ,MAAjB2Q,SAEP,GAAIL,KAAKtQ,MAAMyN,WAAY,CACvB,IAAO3K,EAAS2N,EAAK,CAAC3N,MAAOwN,KAAKH,MAAMrN,OAAS,KAA1CA,MACPwN,KAAKP,SAAS,CAACjN,MAAAA,IAAQ,WACnB6N,EAAS,CAAC7N,OAAKgL,EAAAA,EAAAA,GAAM4C,EAAKP,MAAMrN,QACpC,GACJ,KAAO,CAEH,IAAOA,EAAS2N,EAAK,CAAC3N,MAAOwN,KAAKtQ,MAAM8C,OAAS,KAA1CA,MACP6N,EAAS,CAAC7N,OAAKgL,EAAAA,EAAAA,GAAMhL,IACzB,CACJ,GAAC,CAAAhB,IAAA,kBAAA4H,MA8GD,WACI,OACI3B,EAAAA,EAAAA,KAAC6I,EAAAA,EAAS,CACNC,YAAY,YACZC,SAAUR,KAAKL,cACfvG,MAAO4G,KAAKH,MAAMD,OAClBa,UAAU,GAGtB,GAAC,CAAAjP,IAAA,iBAAA4H,MAED,WACI,IAAAsH,EAA6DV,KAAKtQ,MAA3DiR,EAAYD,EAAZC,aAAchF,EAAY+E,EAAZ/E,aAAcD,EAAUgF,EAAVhF,WAAYyB,EAAUuD,EAAVvD,WACzCyD,EAAW,CACbjK,KAAM,IACN/E,UAAWpC,EAAE,kBAGjB,OACIwI,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,EAAE,YAAYQ,SAAA,CACzB2Q,GAAgBX,KAAKa,kBACrB1D,IACGnF,EAAAA,EAAAA,MAACvB,EAAAA,GAAMkB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKiJ,GAAQ,IAAE9P,QAASkP,KAAKR,kBAAkBxP,SAAA,CAAC,cAEnDyH,EAAAA,EAAAA,KAAA,QAAM7F,UAAU,0BAAyB5B,SACpC8Q,IAAQd,KAAKxN,OAAO,SAACoC,GAAI,OAAKA,EAAKqH,OAAO,IAAElJ,aAIxD4I,IACGlE,EAAAA,EAAAA,KAAChB,EAAAA,GAAMkB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACCiJ,GAAQ,IACZzQ,SAAU6P,KAAKe,oBACfjQ,QAASkP,KAAKrC,eAAe3N,SAChC,aAIJ2L,IACGlE,EAAAA,EAAAA,KAAChB,EAAAA,GAAMkB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKiJ,GAAQ,IAAE9P,QAASkP,KAAK/B,YAAYjO,SAAC,kBAInD2L,IACElE,EAAAA,EAAAA,KAAChB,EAAAA,GAAMkB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACCiJ,GAAQ,IACZzQ,SAAU6P,KAAKgB,qBACflQ,QAASkP,KAAKjC,iBAAiB/N,SAClC,gBAIJ0L,IACGjE,EAAAA,EAAAA,KAAChB,EAAAA,GAAMkB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKiJ,GAAQ,IAAE9P,QAASkP,KAAKhB,mBAAmBhP,SAAC,oBAMxE,GAAC,CAAAwB,IAAA,oBAAA4H,MAED,SAAkB5G,GACd,IAAMyO,EAAK,IAAIC,OAAOC,IAAcnB,KAAKH,MAAMD,QAAS,KACxD,OAAOkB,IAAQtO,GAAO,SAACoC,GAAI,OAAKqM,EAAGG,KAAKxM,EAAKwH,KAAK,GACtD,GAAC,CAAA5K,IAAA,cAAA4H,MAED,SAAY5G,GAERA,EAD4BwN,KAAKtQ,MAA1B2R,kBACqB7O,EAAQsO,IAAQtO,GAAO,SAACoC,GAAI,OAAMA,EAAKzE,QAAQ,IAE3E,IAAM4D,EAAeiM,KAAKsB,kBAAkB9O,GAC5C,OAAOwN,KAAKH,MAAMzC,iBACZ0D,IAAQ/M,GAAc,SAACa,GAAI,OAAKA,EAAKqH,OAAO,IAC5ClI,CACV,GAAC,CAAAvC,IAAA,kBAAA4H,MAED,WACI,IAAMmI,EAAUvB,KAAKwB,YAAYxB,KAAKxN,OACtCiP,EAA0BC,IAAWH,GAAS,SAAC3M,GAAI,OAAKA,EAAKuH,SAAS,IAACwF,GAAA5C,EAAAA,EAAAA,GAAA0C,EAAA,GAAhEG,EAAQD,EAAA,GACf,MAAO,CAACnP,MADcmP,EAAA,GACPC,SAAAA,EACnB,GAAC,CAAApQ,IAAA,qBAAA4H,MAED,WACI,OAAOyI,IACH7B,KAAKwB,YAAYxB,KAAKxN,QACtB,SAACsP,EAAKlN,GAEF,OADAkN,EAAIlN,EAAKwH,MAAQxH,EACVkN,CACX,GACA,CAAC,EAET,GAAC,CAAAtQ,IAAA,aAAA4H,MAED,WACI,IAAA2I,EAAuE/B,KAAKtQ,MAArEgM,EAAUqG,EAAVrG,WAAYC,EAAYoG,EAAZpG,aAAcC,EAAYmG,EAAZnG,aAAc5L,EAAQ+R,EAAR/R,SAAUmN,EAAU4E,EAAV5E,WAEzD6E,EAA0BhC,KAAKvB,kBAAxBjM,EAAKwP,EAALxP,MAAOoP,EAAQI,EAARJ,SAERhQ,EAAYpC,EACd,UACA,CACIyS,SAAU9E,OAAapM,EAAY,KACnCmR,MAAO1P,EAAMO,YAAShC,EAAY,OAEtC,iBAGJ,OACIiH,EAAAA,EAAAA,MAAA,OAAKpG,UAAWA,EAAU5B,SAAA,CACrB4R,EAAS7O,OAAS,IACfiF,EAAAA,EAAAA,MAACC,EAAAA,SAAc,CAAAjI,SAAA,EACXyH,EAAAA,EAAAA,KAAC4E,EAAY,CACT8F,SAAS,IACTvR,YAAY,EACZ8K,YAAY,EACZC,aAAcA,EACdnJ,MAAOoP,EACPhG,aAAcA,EACdwG,YAAa5S,EAAE,YAAa,CAAC6S,OAAQ,QACrCxG,iBAAkBmE,KAAK7B,wBAE1B3L,EAAMO,OAAS,IAAK0E,EAAAA,EAAAA,KAAA,OAAK7F,UAAWpC,EAAE,kBAG9CgD,EAAMO,OAAS,IACZ0E,EAAAA,EAAAA,KAAC4E,EAAY,CACT7J,MAAOA,EACPmJ,aAAcA,EACdD,WAAYA,EACZE,aAAcA,EACduG,SAAS,IACTC,YAAa5S,EAAE,YAAa,CAAC6S,OAAQ,QACrCC,UAAWtC,KAAK5B,eAChBvC,iBAAkBmE,KAAK7B,sBACvBoE,eAAa,KAGnBX,EAAS7O,SAAWP,EAAMO,QAAU/C,IAGlD,GAAC,CAAAwB,IAAA,SAAA4H,MAED,WACI,IAAAoJ,EAA4CxC,KAAKtQ,MAA1CyN,EAAUqF,EAAVrF,WAAYzB,EAAU8G,EAAV9G,WAAY9J,EAAS4Q,EAAT5Q,UACzB6Q,EAAajT,EACf,CACIyS,SAAU9E,EAAa,WAAQpM,EAC/BqJ,SAAUsB,OAAa3K,EAAY,MAEvCa,GAEJ,OACIoG,EAAAA,EAAAA,MAAA,OAAKpG,UAAW6Q,EAAWzS,SAAA,CACtBgQ,KAAK0C,iBACL1C,KAAK2C,eAGlB,KAAC/F,CAAA,CAvV8B,CAASgG,EAAAA,WAAvBhG,EACViG,WAAaC,IAAAA,QAChBA,IAAAA,MAAgB,CACZ1G,KAAM0G,IAAAA,OAAiBC,WACvB9G,QAAS6G,IAAAA,KAAeC,WACxB5G,UAAW2G,IAAAA,KACXzD,QAASyD,IAAAA,OACT3S,SAAU2S,IAAAA,QAPDlG,EAyBVoG,aAAe,CAClBpH,aAAc,SAAAqH,GAAA,IAAE7G,EAAI6G,EAAJ7G,KAAI8G,EAAAD,EAAE5D,QAAAA,OAAO,IAAA6D,EAAG9G,EAAI8G,EAAA,OAAMC,EAAAA,EAAAA,IAAW9D,EAAS,CAAC+D,QAAQ,GAAO,EAC9E1H,YAAY,EACZyB,YAAY,EACZxB,cAAc,EACdgF,cAAc,EACdvD,kBAAkB,E,sOChJ1B,QAD0B,SAAA1N,GAAK,OAAI+H,EAAAA,EAAAA,KAAA,OAAAE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAK0L,MAAM,6BAA6BC,QAAQ,eAAkB5T,GAAK,IAAAM,UAAEgI,EAAAA,EAAAA,MAAA,KAAGuL,KAAK,OAAOC,SAAS,UAAUC,OAAO,OAAOC,QAAS,IAAK1T,SAAA,EAACyH,EAAAA,EAAAA,KAAA,QAAMkM,YAAa,EAAGC,EAAE,6WAA4WnM,EAAAA,EAAAA,KAAA,WAASoM,GAAI,MAAOC,GAAI,MAAOH,YAAa,EAAGI,GAAI,OAAQC,GAAI,SAASvM,EAAAA,EAAAA,KAAA,WAASoM,GAAI,OAAQC,GAAI,OAAQH,YAAa,EAAGI,GAAI,OAAQC,GAAI,UAAUvM,EAAAA,EAAAA,KAAA,WAASoM,GAAI,OAAQC,GAAI,OAAQH,YAAa,EAAGI,GAAI,OAAQC,GAAI,UAAUvM,EAAAA,EAAAA,KAAA,QAAMwM,cAAc,SAASN,YAAa,EAAGC,EAAE,gCAA+BnM,EAAAA,EAAAA,KAAA,QAAMyM,gBAAgB,MAAMP,YAAa,EAAGC,EAAE,iDAAgDnM,EAAAA,EAAAA,KAAA,QAAMwM,cAAc,SAASN,YAAa,EAAGC,EAAE,mGAAyG,E,6BCc3kCpU,GAAIoI,EAAAA,EAAAA,GAAM,yBA0BKuM,EAAmB,SAAAC,IAAAtH,EAAAA,EAAAA,GAAAqH,EAAAC,GAAA,IAAArH,GAAAC,EAAAA,EAAAA,GAAAmH,GAAA,SAAAA,IAAA,IAAAlH,GAAAC,EAAAA,EAAAA,GAAA,KAAAiH,GAAA,QAAAE,EAAAC,UAAAvR,OAAAwR,EAAA,IAAArQ,MAAAmQ,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAAD,EAAAC,GAAAF,UAAAE,GAkIlC,OAlIkCvH,EAAAF,EAAAM,KAAAoH,MAAA1H,EAAA,OAAA2H,OAAAH,KAKpC1E,MAAkB,CACd8E,SAAU1H,EAAKvN,MAAMiV,UAAY1H,EAAKvN,MAAM8C,MAC5CA,OAAO0I,EAAAA,EAAAA,GAAc+B,EAAKvN,MAAM8C,OAChCoS,WAAY3H,EAAK4H,eAAe5H,EAAKvN,MAAM8C,QAC9CyK,EAeD6H,0BAA4B,WACxB,IAAOtS,EAASyK,EAAK4C,MAAdrN,MACPyK,EAAKvN,MAAMqV,UAAUvS,EACzB,EAACyK,EAED+H,yBAA2B,WACvB,IAAOxS,EAASyK,EAAKvN,MAAd8C,MACDmG,EAAQsE,EAAK4H,eAAerS,GAElCyK,EAAKwC,SAAS,CACVjN,MAAOyK,EAAKgI,kBAAiB/J,EAAAA,EAAAA,GAAc1I,IAC3CoS,WAAYjM,IAEhBsE,EAAKvN,MAAMwV,UACf,EAACjI,EA4CDkI,eAAiB,SAAA7N,GAAiD,IAAxC8N,EAAQ9N,EAAf9E,MACRA,EAASyK,EAAK4C,MAAdrN,MACD6S,EAAcxD,IAChBuD,GACA,SAACtD,EAAK9G,GAEF,OADA8G,EAAI9G,EAAKoB,MAAQpB,EACV8G,CACX,GACA,CAAC,GAGCwD,EAA+B,GAC/BC,EAA6B,GACnCC,IAAShT,GAAO,SAACoC,GACb,IAAM6Q,EAAUJ,EAAYzQ,EAAKwH,MAC7BqJ,GAAWA,EAAQxJ,UAAYrH,EAAKqH,SACxBwJ,EAAQtJ,UAAYmJ,EAAYC,GACxC3S,KAAK6S,GAETH,EAAU1S,KAAKgC,EAEvB,IAEA,IAAM8Q,EAAgBJ,EAAUZ,OAAOa,GAEvCtI,EAAKwC,SAAS,CACVjN,MAAOyK,EAAKgI,iBAAiBS,GAC7Bf,SAAU1H,EAAK0I,kBAAkBN,IAEzC,EAACpI,EAED2I,oBAAsB,SAAArM,GAAiD,IAAxC6L,EAAQ7L,EAAf/G,MACd6S,EAAcxD,IAChBuD,GACA,SAACtD,EAAK9G,GAEF,OADA8G,EAAI9G,EAAKoB,MAAQpB,EACV8G,CACX,GACA,CAAC,GAGCnJ,EAAQsE,EAAK4H,eAAeO,GAElCnI,EAAKwC,SAAS,CACVjN,MAAOyK,EAAKgI,iBAAiBG,EAAUzM,GACvCiM,WAAYjM,EACZgM,SAAU1H,EAAK0I,kBAAkBN,IAEzC,EAACpI,CAAC,CA0FD,OA1FA6C,EAAAA,EAAAA,GAAAqE,EAAA,EAAA3S,IAAA,qBAAA4H,MArHD,SAAmByM,GACf,IAAAnF,EAA0BV,KAAKtQ,MAAxB8C,EAAKkO,EAALlO,MAAOmS,EAAQjE,EAARiE,SACVkB,EAAUrT,QAAUA,GAASqT,EAAUlB,WAAaA,GAEpD3E,KAAKP,SAAS,CACVkF,SAAUA,GAAY3E,KAAKtQ,MAAM8C,MACjCA,MAAOwN,KAAKiF,kBAAiB/J,EAAAA,EAAAA,GAAc1I,KAGvD,GAAC,CAAAhB,IAAA,iBAAA4H,MAkBD,SAAe5G,GACX,OAAO2I,IAAK3I,GAAO,SAACoC,GAAI,OAAKA,EAAKwH,IAAI,GAC1C,GAAC,CAAA5K,IAAA,mBAAA4H,MAED,SAAiB5G,GAA0D,IAAhCmG,EAAK2L,UAAAvR,OAAA,QAAAhC,IAAAuT,UAAA,GAAAA,UAAA,GAAGtE,KAAKH,MAAM+E,WAC1D,OAAOpS,EAAM0M,MAAK,SAACC,EAAG3P,GAAC,OAAKmJ,EAAMmN,QAAQ3G,EAAE/C,MAAQzD,EAAMmN,QAAQtW,EAAE4M,KAAK,GAC7E,GAAC,CAAA5K,IAAA,oBAAA4H,MAED,SAAqB1J,EAAU8C,GAC3B,OAAAmF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOjI,GAAK,IACR8C,MAAAA,EACA6O,mBAAmB,EACnBlE,YAAY,EACZwD,cAAc,EACdN,SAAUL,KAAKmF,gBAEvB,GAAC,CAAA3T,IAAA,4BAAA4H,MAED,SAA6B1J,EAAU8C,GACnC,OAAAmF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOjI,GAAK,IACR8C,MAAAA,EACAmJ,cAAc,EACdD,YAAY,EACZ0B,kBAAkB,EAClBiD,SAAUL,KAAK4F,qBAEvB,GAAC,CAAApU,IAAA,oBAAA4H,MAED,SAAkBiM,GACd,OAAOlK,IAAK6E,KAAKH,MAAM8E,UAAU,SAAC/P,GAC9B,IAAM6Q,EAAUJ,EAAYzQ,EAAKwH,MAEjC,OAAIqJ,GAAWA,EAAQxJ,UAAYrH,EAAKqH,QAC7BwJ,EAGJ7Q,CACX,GACJ,GAAC,CAAApD,IAAA,uBAAA4H,MAoDD,SAAAyB,GAUI,IATAnL,EAAKmL,EAALnL,MACAK,EAAK8K,EAAL9K,MACAgW,EAAWlL,EAAXkL,YACAnU,EAASiJ,EAATjJ,UAOA,OACI6F,EAAAA,EAAAA,KAACmF,EAAAA,GAAcjF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKjI,GAAK,IAAEkC,UAAWA,EAAU5B,UAC5CgI,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,EAAE,cAAcQ,SAAA,EAC5ByH,EAAAA,EAAAA,KAAA,KAAAzH,UACIyH,EAAAA,EAAAA,KAAA,UAAAzH,SAASD,OAEb0H,EAAAA,EAAAA,KAAA,KAAAzH,SAAI+V,KACJtO,EAAAA,EAAAA,KAACuO,EAAc,SAI/B,GAAC,CAAAxU,IAAA,gBAAA4H,MAED,WACI,IAAA2I,EAAqC/B,KAAKtQ,MAAnCuW,EAASlE,EAATkE,UAAWC,EAAMnE,EAANmE,OAAWC,GAAI5O,EAAAA,EAAAA,GAAAwK,EAAAvK,GACjC4O,EAA0BpG,KAAKH,MAAxBrN,EAAK4T,EAAL5T,MAAOmS,EAAQyB,EAARzB,SAER0B,GAAYzO,EAAAA,EAAAA,GAAM,mBAANA,CAA0B,CAACjB,KAAM,KAAMnH,EAAE,WAErD8W,EAAgBtG,KAAKuG,kBAAkBJ,EAAMxB,GAC7C6B,EAAwBxG,KAAKyG,0BAA0BH,EAAe9T,GACtEkU,EAAqB7E,IACvB2E,EAAsBhU,OACtB,SAACsP,EAAKlN,GAAI,OAAMA,EAAKzE,WAAayE,EAAKqH,QAAU6F,IAAQA,CAAG,GAC5D,GAGJ,OACImE,IACIjO,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,IAAIQ,SAAA,EAChBgI,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,EAAE,QAAS,CAACmX,KAAM,QAAQ3W,SAAA,EACtCgI,EAAAA,EAAAA,MAAA,OAAKpG,UAAWyU,EAAUrW,SAAA,CAAC,SAEvByH,EAAAA,EAAAA,KAAA,QAAM7F,UAAU,0BAAyB5B,SAAE2U,EAAS5R,YAGvDiN,KAAK4G,qBAAqB,CACvBlX,MAAO4W,EACPvW,MAAM,gBAAD2U,OAAkBwB,GACvBH,YAAY,MAADrB,OAAQwB,EAAM,2CAIjClO,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,EAAE,SAASQ,SAAA,EACvBgI,EAAAA,EAAAA,MAAA,OAAKpG,UAAWyU,EAAUrW,SAAA,CAAC,cAEvByH,EAAAA,EAAAA,KAAA,QAAM7F,UAAU,0BAAyB5B,SAAE0W,OAG9C1G,KAAK4G,qBAAqB,CACvBlX,MAAO8W,EACPzW,MAAM,eAAD2U,OAAiBwB,GACtBH,YAAY,OAADrB,OAASwB,EAAM,0CAMlD,GAAC,CAAA1U,IAAA,SAAA4H,MAED,WACI,IAAAoJ,EAA4BxC,KAAKtQ,MAA1BuW,EAASzD,EAATyD,UAAWC,EAAM1D,EAAN0D,OACZnW,EAAK,GAAA2U,OAAMmC,EAAAA,EAAOC,OAAuB,eAAEZ,GAAO,UAExD,OACIzO,EAAAA,EAAAA,KAACsP,EAAAA,EAAK,CACFpQ,KAAK,IACL5G,MAAOA,EACPiX,YAAY,EACZpM,QAASqL,EACTgB,YAAY,QACZlC,UAAW/E,KAAK8E,0BAChBI,SAAUlF,KAAKgF,yBACfkC,QAASlH,KAAKmH,gBACdC,iBAAiB,iCAG7B,KAACjD,CAAA,CA5NmC,CAAoBlM,EAAAA,WAAvCkM,EACVnB,aAAwC,CAC3CkD,OAAQ,U,gKC/BHtO,GAAQR,EAAAA,EAAAA,GAAG,qBAEjB,SAASiQ,EAAqBC,GAA+D,IAAnCC,EAA2BjD,UAAAvR,OAAA,QAAAhC,IAAAuT,UAAA,GAAAA,UAAA,GAAG,GACrFlU,EAAwB,GACxBoX,EAAsB,GACtBC,EAAyB,GACzBC,EAA6B,GACnClC,IAAS8B,GAAO,SAAC1S,GACb,IAAO+S,EAAwD/S,EAAxD+S,eAAgBC,EAAwChT,EAAxCgT,YAAaC,EAA2BjT,EAA3BiT,WAAYC,EAAelT,EAAfkT,YAC5CH,EACAD,EAAa9U,KAAKgC,GACXkT,EACPL,EAAS7U,KAAKgC,GACPiT,GAAcD,EACrBJ,EAAM5U,KAAKgC,GAEXxE,EAAQwC,KAAKgC,EAErB,IAEA,IAAMmT,EAAa3X,EAAQ0F,KAAI,SAAClB,GAAI,OAAKoT,EAAqBpT,EAAK,IAC7DqT,EAAWV,EAAazR,KAAI,SAAClB,GAAI,MAAM,CACzC7E,MAAO6E,EACPoG,KAAM,CAAC,EACPkN,QAAQ,EACX,IAED,MAAO,CACH9C,SAAU,GACVhV,QAAS,CAACL,MAAO,UAAWiL,KAAM+M,EAAWrD,OAAOuD,IACpDT,MAAO,CACHzX,MAAO,gBACPoY,cAAevQ,EAAM,eACrBoD,KAAMwM,EAAM1R,KAAI,SAAClB,GAAI,OAAKoT,EAAqBpT,EAAM,CAACsT,QAAQ,GAAM,KAExET,SAAU,CACN1X,MAAO,kBACPoY,cAAevQ,EAAM,kBACrBoD,KAAMyM,EAAS3R,KAAI,SAAClB,GAAI,OAAKoT,EAAqBpT,EAAM,CAACsT,QAAQ,GAAM,KAE3ER,aAAc,CACV3X,MAAO,eACPoY,cAAevQ,EAAM,qBACrBoD,KAAM0M,EAAa5R,KAAI,SAAClB,GAAI,OAAKoT,EAAqBpT,EAAM,CAACsT,QAAQ,GAAM,KAGvF,CAEA,SAASF,EAAqB3W,GAA2C,IAAvB+W,EAAe9D,UAAAvR,OAAA,QAAAhC,IAAAuT,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjE,OAAA3M,EAAAA,EAAAA,GAAA,CACI5H,MAAOsB,EAAK2E,MAAQ3E,EAAK+H,MACzB4B,KAAM3J,GACH+W,EAEX,CAEO,SAASC,EACZjP,GAEA,IAAOhJ,EAA4BgJ,EAA5BhJ,QAASgV,EAAmBhM,EAAnBgM,SAAUoC,EAASpO,EAAToO,MAC1B,MAAM,GAAN9C,QAAAlH,EAAAA,EAAAA,GACO4H,IAAQ5H,EAAAA,EAAAA,GACR8K,EAA8BlY,KAAQoN,EAAAA,EAAAA,GACtC8K,EAA8Bd,IAEzC,CAEA,SAASc,EACLC,GAEA,IAAOvN,GAAQuN,GAAoB,CAAC,GAA7BvN,KACP,OAAOG,IACH2F,IAAQ9F,GAAM,SAAAzB,GAAS,OAAAA,EAAPuF,OAAqB,KACrC,SAAAjE,GAAa,IACTE,EADEF,EAAJG,MACgC,CAAC,EAC/B,MAAO,CAACyB,KADG1B,EAAJ0B,KACcrD,MADH2B,EAAL3B,MAEjB,GAER,CAEO,SAASoP,EAAuBpP,GAOnC,IAAOhJ,EAAqBgJ,EAArBhJ,QACDqY,EADsBrP,EAAZgM,UACU,GACpBtG,GAAY1O,GAAWA,EAAQ4K,MAAS,IAAI4E,QAAO,SAAA5B,GAAS,OAAAA,EAAPc,OAAoB,IAC/E,MAAO,CACH2J,MAAOA,EAAM3S,KAAI,SAAAoI,GAAoB,IAAlBzB,EAAIyB,EAAJzB,KAAMrD,EAAK8E,EAAL9E,MACrB,MAAgB,UAATqD,EAAmB,CAACiM,KAAMtP,GAAS,CAACuP,MAAOvP,EACtD,IACA0F,QAASA,EAAQhJ,KAAI,SAAAuI,GAAa,IAC9BG,EADuBH,EAAJrD,MACW,CAAC,EAAxB5B,EAAKoF,EAALpF,MACP,MAAgB,UADEoF,EAAJ/B,KACY,CAACiM,KAAMtP,GAAU,CAACuP,MAAOvP,EACvD,IAER,C,sRCnGMxB,GAAQR,EAAAA,EAAAA,GAAG,mBAEV,SAASwR,EAAYlZ,GACxB,OAAO+H,EAAAA,EAAAA,KAACoR,EAAAA,GAAKlR,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKjI,GAAK,IAAEkC,UAAWgG,MACxC,CAEO,SAASkR,EAAgBC,GAC5B,OAAOC,IACH7N,IAAK4N,GAAQ,SAACE,EAAOtW,GACjB,OAAOsW,EACD,CACI7M,KAAK,SAADsI,OAAW/R,GACf8J,KAAM,QACNyM,OAAQ,CACJlZ,UAAUyH,EAAAA,EAAAA,KAACmR,EAAW,CAACK,MAAOA,WAGtClY,CACV,IAER,CAEA,IAAMoY,EAAmC,wBAElC,SAASC,EAAoBH,GAChC,MAAO,CACHI,kBAAgBC,EAAAA,EAAAA,GAAA,GACXH,GAAa1R,EAAAA,EAAAA,KAACmR,EAAW,CAACK,MAAOA,KAG9C,C,eC3BO,SAASM,IACZ,OAAO,gTACX,CAEO,ICVyD3G,EDUnD4G,GCVmD5G,GDW5D6G,EAAAA,EAAAA,GACIxR,EAAAA,MAAUyR,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAC,IAAA,OAAAD,IAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACiBR,IAAkB,OAAU,OAAVM,EAAAG,GAAAH,EAAAI,KAAEC,SAAQL,EAAAM,OAAA,kBAAAN,EAAAG,KAAA,wBAAAH,EAAAO,OAAA,GAAAR,EAAA,MAExD,ICdG,SAA6Bla,GAChC,IAAA2a,EAA8BpS,EAAAA,UAAe,GAAMqS,GAAAvL,EAAAA,EAAAA,GAAAsL,EAAA,GAA5CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAM1B,OALArS,EAAAA,WAAgB,YACPsS,GAAW7a,EAAMkL,SAClB4P,GAAW,EAEnB,GAAG,CAAC9a,EAAMkL,QAAS2P,IACXA,GAAiB9S,EAAAA,EAAAA,KAACmL,GAASjL,EAAAA,EAAAA,GAAA,GAAKjI,IAAtB,IACtB,IDsB2B+Z,EAAAA,EAAAA,GAC3BxR,EAAAA,MAAUyR,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAc,IAAA,OAAAd,IAAAA,MAAA,SAAAe,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,cAAAW,EAAAX,KAAA,EACiBR,IAAkB,OAAiB,OAAjBmB,EAAAV,GAAAU,EAAAT,KAAEU,gBAAeD,EAAAP,OAAA,kBAAAO,EAAAV,KAAA,wBAAAU,EAAAN,OAAA,GAAAK,EAAA,MAE/D,IAJG,IAOMG,GAAenB,EAAAA,EAAAA,GACxBxR,EAAAA,MAAUyR,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAkB,IAAA,OAAAlB,IAAAA,MAAA,SAAAmB,GAAA,cAAAA,EAAAhB,KAAAgB,EAAAf,MAAA,cAAAe,EAAAf,KAAA,EACiBR,IAAkB,OAAc,OAAduB,EAAAd,GAAAc,EAAAb,KAAEW,aAAYE,EAAAX,OAAA,kBAAAW,EAAAd,KAAA,wBAAAc,EAAAV,OAAA,GAAAS,EAAA,MAE5D,IAGSE,GAAmBtB,EAAAA,EAAAA,GAC5BxR,EAAAA,MAAUyR,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAqB,IAAA,OAAArB,IAAAA,MAAA,SAAAsB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,cAAAkB,EAAAlB,KAAA,EACiBR,IAAkB,OAAkB,OAAlB0B,EAAAjB,GAAAiB,EAAAhB,KAAEc,iBAAgBE,EAAAd,OAAA,kBAAAc,EAAAjB,KAAA,wBAAAiB,EAAAb,OAAA,GAAAY,EAAA,MAEhE,G,mNE5CExb,GAAIoI,EAAAA,EAAAA,GAAM,cAoBKsT,EAAU,SAAArO,IAAAC,EAAAA,EAAAA,GAAAoO,EAAArO,GAAA,IAAAE,GAAAC,EAAAA,EAAAA,GAAAkO,GAAA,SAAAA,IAAA,IAAAjO,GAAAC,EAAAA,EAAAA,GAAA,KAAAgO,GAAA,QAAA7G,EAAAC,UAAAvR,OAAAwR,EAAA,IAAArQ,MAAAmQ,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAAD,EAAAC,GAAAF,UAAAE,GAoCzB,OApCyBvH,EAAAF,EAAAM,KAAAoH,MAAA1H,EAAA,OAAA2H,OAAAH,KAsB3B1E,MAAQ,CACJsL,SAAUlO,EAAKvN,MAAMyb,UACxBlO,EAEDmO,aAAe,WACX,IAAOC,EAAYpO,EAAKvN,MAAjB2b,SAEPpO,EAAKwC,UAAS,SAACC,GAAS,MAAM,CAACyL,UAAWzL,EAAUyL,SAAS,IAC7DE,GACJ,EAACpO,EAEDqO,YAAc,SAAC1W,IAEX0W,EADsBrO,EAAKvN,MAApB4b,aACK1W,EAChB,EAACqI,CAAC,CAhBD,OAgBA6C,EAAAA,EAAAA,GAAAoL,EAAA,EAAA1Z,IAAA,qBAAA4H,MAED,WAAsB,IAADgH,EAAA,KACV5N,EAASwN,KAAKtQ,MAAd8C,MAED+Y,EAAYpQ,IAAK3I,GAAO,SAACoC,GAC3B,MAAO,CACHoB,KAAMpB,EAAK4W,KACXvV,OAAQ,kBAAMmK,EAAKkL,YAAY1W,EAAK,EAE5C,IACqB,IAAjBpC,EAAMO,QACNwY,EAAU3Y,KAAK,CACXqD,OAAQ,WAAO,EACfD,KAAM,kBAId,IAAMyV,EAAWzL,KAAK0L,aAAa,CAC/B9U,KAAM,SACND,KAAM,IACNgV,IAAK,cACL5b,MAAO,kBACPC,UAAUyH,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAAC0E,QAAQ,iBAG5B,OACI9D,EAAAA,EAAAA,KAAC5B,EAAAA,EAAY,CACTM,WAAY,CACRvE,UAAWpC,EAAE,QAAS,CAAC0S,MAAwB,IAAjB1P,EAAMO,UAExCP,MAAO+Y,EACPE,SAAUA,GAGtB,GAAC,CAAAja,IAAA,eAAA4H,MAED,WACI,OAAO3B,EAAAA,EAAAA,KAACmU,EAAAA,EAAM,CAACC,SAAU,CAAC,CAACC,KAAM,IAAKC,QAAS/L,KAAKoL,aAAcY,MAAO,SAC7E,GAAC,CAAAxa,IAAA,eAAA4H,MAED,SAAa6S,GACT,IACMC,EADUlM,KAAKtQ,MAAdyc,MAC0B,CAACvV,KAAM,YAAZ,CAAC,EAC7B,OAAOa,EAAAA,EAAAA,KAAChB,EAAAA,GAAMkB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKsU,GAAiBC,GACxC,GAAC,CAAA1a,IAAA,SAAA4H,MAED,WACI,IAAAsH,EAA2CV,KAAKtQ,MAAzC0c,EAAc1L,EAAd0L,eAAgBxa,EAAS8O,EAAT9O,UAAWua,EAAKzL,EAALyL,MAC3BhB,EAAYnL,KAAKH,MAAjBsL,SAEP,OACInT,EAAAA,EAAAA,MAAA,OAAKpG,UAAWpC,EAAE,KAAMoC,GAAW5B,SAAA,EAC/ByH,EAAAA,EAAAA,KAAA,OAAK7F,UAAWpC,EAAE,WAAY,CAAC6c,MAAiB,UAAVF,IAAoBnc,SACrDgQ,KAAK0L,aAAa,CACf9U,KAAM,gBACNoF,SAAUmP,EACVxU,KAAM,IACNgV,IAAe,UAAVQ,EAAoB,cAAgB,cACzCpc,MAAO,wBACPe,QAASkP,KAAKoL,aACdjb,SAAUic,EACVpc,UAAUyH,EAAAA,EAAAA,KAACZ,EAAAA,EAAI,CAAC0E,QAAS4P,EAAW,WAAa,aAGxDnL,KAAKsM,qBACLtM,KAAKuM,iBAGlB,IAAC,EAAA/a,IAAA,2BAAA4H,MA1FD,SAAgC1J,EAAcmQ,GAC1C,OAAInQ,EAAMyb,WAAatL,EAAMsL,SAClB,CAACA,SAAUzb,EAAMyb,UAErB,IACX,KAACD,CAAA,CApB0B,CAAStI,EAAAA,WAAnBsI,EACVzZ,SAAWqR,IAAAA,MAAgB,CAC9B0I,KAAM1I,IAAAA,Q,6DClCd,QADmC,SAAApT,GAAK,OAAI+H,EAAAA,EAAAA,KAAA,OAAAE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAK0L,MAAM,6BAA6BE,KAAK,OAAOD,QAAQ,aAAgB5T,GAAK,IAAAM,UAAEyH,EAAAA,EAAAA,KAAA,QAAM8L,KAAK,eAAeC,SAAS,UAAUI,EAAE,uMAAuM4I,SAAS,cAAmB,C","sources":["webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/utils.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/BreadcrumbItem.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/BreadcrumbsSeparator.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/i18n/index.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/components/lab/Breadcrumbs/Breadcrumbs.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/build/esm/hooks/useResizeObserver/useResizeObserver.js","webpack://@ytsaurus/ui/./src/ui/components/Breadcrumbs/Breadcrumbs.tsx","webpack://@ytsaurus/ui/./src/ui/components/PageCounter/PageCounter.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnHeader/ColumnHeader.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.js","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/modal-no-content.svg","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelectorModal/ColumnSelectorModal.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/controls/RoleListControl/utils.ts","webpack://@ytsaurus/ui/./src/ui/components/Dialog/DialogError.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/index.tsx","webpack://@ytsaurus/ui/./src/ui/hocs/withDelayedMount.tsx","webpack://@ytsaurus/ui/./src/ui/components/Favourites/Favourites.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg"],"sourcesContent":["import { block } from '../../utils/cn';\nexport function shouldClientNavigate(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n const target = link.getAttribute('target');\n return (link.href &&\n (!target || target === '_self') &&\n link.origin === location.origin &&\n !link.hasAttribute('download') &&\n !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey);\n}\nexport const b = block('breadcrumbs2');\n","'use client';\nimport React from 'react';\nimport { filterDOMProps } from '../../utils/filterDOMProps';\nimport { b, shouldClientNavigate } from './utils';\nexport function BreadcrumbItem(props) {\n const Element = props.href ? 'a' : 'span';\n const domProps = filterDOMProps(props, { labelable: true });\n let title = props.title;\n if (!title && typeof props.children === 'string') {\n title = props.children;\n }\n const handleAction = (event) => {\n if (props.disabled || props.current) {\n event.preventDefault();\n return;\n }\n if (typeof props.onAction === 'function') {\n props.onAction();\n }\n const target = event.currentTarget;\n if (typeof props.navigate === 'function' && target instanceof HTMLAnchorElement) {\n if (props.href && !event.isDefaultPrevented() && shouldClientNavigate(target, event)) {\n event.preventDefault();\n props.navigate(props.href, props.routerOptions);\n }\n }\n };\n const isDisabled = props.disabled || props.current;\n let linkProps = {\n title,\n onClick: handleAction,\n 'aria-disabled': isDisabled ? true : undefined,\n };\n if (Element === 'a') {\n linkProps.href = props.href;\n linkProps.hrefLang = props.hrefLang;\n linkProps.target = props.target;\n linkProps.rel = props.target === '_blank' && !props.rel ? 'noopener noreferrer' : props.rel;\n linkProps.download = props.download;\n linkProps.ping = props.ping;\n linkProps.referrerPolicy = props.referrerPolicy;\n }\n else {\n linkProps.role = 'link';\n linkProps.tabIndex = isDisabled ? undefined : 0;\n linkProps.onKeyDown = (event) => {\n if (event.key === 'Enter') {\n handleAction(event);\n }\n };\n }\n if (props.current) {\n linkProps['aria-current'] = 'page';\n }\n if (props.itemType === 'menu') {\n linkProps = {};\n }\n return (React.createElement(Element, Object.assign({}, domProps, linkProps, { className: props.itemType === 'menu'\n ? b('menu')\n : b('link', {\n 'is-current': props.current,\n 'is-disabled': isDisabled && !props.current,\n }) }), props.children));\n}\nBreadcrumbItem.displayName = 'Breadcrumbs.Item';\n","import React from 'react';\nimport { b } from './utils';\nexport function BreadcrumbsSeparator({ separator }) {\n return (React.createElement(\"div\", { \"aria-hidden\": true, className: b('divider') }, separator !== null && separator !== void 0 ? separator : '/'));\n}\nBreadcrumbsSeparator.displayName = 'Breadcrumbs.Separator';\n","import { addComponentKeysets } from '../../../utils/addComponentKeysets';\nimport en from './en.json';\nimport ru from './ru.json';\nconst COMPONENT = 'lab/Breadcrumbs';\nexport default addComponentKeysets({ en, ru }, COMPONENT);\n","'use client';\nimport React from 'react';\nimport { useForkRef, useResizeObserver } from '../../../hooks';\nimport { Button } from '../../Button';\nimport { DropdownMenu } from '../../DropdownMenu';\nimport { filterDOMProps } from '../../utils/filterDOMProps';\nimport { BreadcrumbItem } from './BreadcrumbItem';\nimport { BreadcrumbsSeparator } from './BreadcrumbsSeparator';\nimport i18n from './i18n';\nimport { b, shouldClientNavigate } from './utils';\nimport './Breadcrumbs.css';\nfunction Item(_props) {\n return null;\n}\nexport const Breadcrumbs = React.forwardRef(function Breadcrumbs(props, ref) {\n const listRef = React.useRef(null);\n const containerRef = useForkRef(ref, listRef);\n const items = [];\n React.Children.forEach(props.children, (child, index) => {\n if (React.isValidElement(child)) {\n if (child.key === undefined || child.key === null) {\n child = React.cloneElement(child, { key: index });\n }\n items.push(child);\n }\n });\n const [visibleItemsCount, setVisibleItemsCount] = React.useState(items.length);\n const [calculated, setCalculated] = React.useState(false);\n const recalculate = (visibleItems) => {\n const list = listRef.current;\n if (!list) {\n return;\n }\n const listItems = Array.from(list.children);\n if (listItems.length === 0) {\n return;\n }\n const containerWidth = list.offsetWidth;\n let newVisibleItemsCount = 0;\n let calculatedWidth = 0;\n let maxItems = props.maxItems || Infinity;\n let rootWidth = 0;\n if (props.showRoot) {\n const item = listItems.shift();\n if (item) {\n rootWidth = item.scrollWidth;\n calculatedWidth += rootWidth;\n }\n newVisibleItemsCount++;\n }\n const hasMenu = items.length > visibleItems;\n if (hasMenu) {\n const item = listItems.shift();\n if (item) {\n calculatedWidth += item.offsetWidth;\n }\n maxItems--;\n }\n if (props.showRoot && calculatedWidth >= containerWidth) {\n calculatedWidth -= rootWidth;\n newVisibleItemsCount--;\n }\n const lastItem = listItems.pop();\n if (lastItem) {\n calculatedWidth += Math.min(lastItem.offsetWidth, 200);\n if (calculatedWidth < containerWidth) {\n newVisibleItemsCount++;\n }\n }\n for (let i = listItems.length - 1; i >= 0; i--) {\n const item = listItems[i];\n calculatedWidth += item.offsetWidth;\n if (calculatedWidth >= containerWidth) {\n break;\n }\n newVisibleItemsCount++;\n }\n newVisibleItemsCount = Math.max(Math.min(maxItems, newVisibleItemsCount), 1);\n if (newVisibleItemsCount === visibleItemsCount) {\n setCalculated(true);\n }\n else {\n setVisibleItemsCount(newVisibleItemsCount);\n }\n };\n const handleResize = React.useCallback(() => {\n setCalculated(false);\n setVisibleItemsCount(items.length);\n }, [items.length]);\n useResizeObserver({\n ref: listRef,\n onResize: handleResize,\n });\n const lastChildren = React.useRef(null);\n React.useLayoutEffect(() => {\n if (calculated && props.children !== lastChildren.current) {\n lastChildren.current = props.children;\n setCalculated(false);\n setVisibleItemsCount(items.length);\n }\n }, [calculated, items.length, props.children]);\n React.useLayoutEffect(() => {\n if (!calculated) {\n recalculate(visibleItemsCount);\n }\n });\n const { navigate } = props;\n let contents = items;\n if (items.length > visibleItemsCount) {\n contents = [];\n const breadcrumbs = [...items];\n let endItems = visibleItemsCount;\n if (props.showRoot && visibleItemsCount > 1) {\n const rootItem = breadcrumbs.shift();\n if (rootItem) {\n contents.push(rootItem);\n }\n endItems--;\n }\n const hiddenItems = breadcrumbs.slice(0, -endItems);\n const menuItem = (React.createElement(BreadcrumbItem, { itemType: \"menu\" },\n React.createElement(DropdownMenu, { items: hiddenItems.map((el, index) => {\n return Object.assign(Object.assign({}, el.props), { text: el.props.children, disabled: props.disabled, items: [], action: (event) => {\n var _a;\n if (typeof props.onAction === 'function') {\n props.onAction((_a = el.key) !== null && _a !== void 0 ? _a : index);\n }\n // TODO: move this logic to DropdownMenu\n const target = event.currentTarget;\n if (typeof navigate === 'function' &&\n target instanceof HTMLAnchorElement) {\n if (el.props.href && shouldClientNavigate(target, event)) {\n event.preventDefault();\n navigate(el.props.href, el.props.routerOptions);\n }\n }\n } });\n }), popupProps: {\n className: b('popup', {\n staircase: props.popupStyle === 'staircase',\n }),\n placement: props.popupPlacement,\n }, renderSwitcher: ({ onClick }) => (React.createElement(Button, { title: i18n('label_more'), className: b('more-button'), onClick: onClick, size: \"s\", view: \"flat\", disabled: props.disabled },\n React.createElement(Button.Icon, null, \"...\"))) })));\n contents.push(menuItem);\n contents.push(...breadcrumbs.slice(-endItems));\n }\n const lastIndex = contents.length - 1;\n const breadcrumbItems = contents.map((child, index) => {\n var _a;\n const isCurrent = index === lastIndex;\n const key = (_a = child.key) !== null && _a !== void 0 ? _a : index;\n const handleAction = () => {\n if (typeof props.onAction === 'function') {\n props.onAction(key);\n }\n };\n return (React.createElement(\"li\", { key: index, className: b('item', { calculating: !calculated }) },\n React.createElement(BreadcrumbItem, Object.assign({}, child.props, { key: key, current: isCurrent, disabled: props.disabled, onAction: handleAction, navigate: navigate }), child.props.children),\n isCurrent ? null : React.createElement(BreadcrumbsSeparator, { separator: props.separator })));\n });\n return (React.createElement(\"ol\", Object.assign({ ref: containerRef }, filterDOMProps(props, { labelable: true }), { \"data-qa\": props.qa, className: b(null, props.className), style: props.style }), breadcrumbItems));\n});\nBreadcrumbs.Item = Item;\nBreadcrumbs.displayName = 'Breadcrumbs';\nexport { Item as BreadcrumbsItem };\n","import React from 'react';\nexport function useResizeObserver({ ref, onResize }) {\n React.useEffect(() => {\n const element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) {\n return undefined;\n }\n if (typeof window.ResizeObserver === 'undefined') {\n window.addEventListener('resize', onResize, false);\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n }\n const observer = new ResizeObserver((entries) => {\n if (!entries.length) {\n return;\n }\n onResize();\n });\n observer.observe(element);\n return () => {\n observer.disconnect();\n };\n }, [ref, onResize]);\n}\n","import React, {FC, PropsWithChildren} from 'react';\nimport {\n unstable_BreadcrumbsProps as BreadcrumbsProps,\n unstable_Breadcrumbs as UBreadcrumbs,\n} from '@gravity-ui/uikit/unstable';\nimport './Breadcrumbs.scss';\nimport cn from 'bem-cn-lite';\n\nconst b = cn('yt-u-breadcrumbs');\n\nexport const Breadcrumbs: FC<PropsWithChildren<BreadcrumbsProps>> = ({children, ...props}) => {\n return (\n <UBreadcrumbs {...props} className={b(null, props.className)}>\n {children}\n </UBreadcrumbs>\n );\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nconst block = cn('yt-page-counter');\n\nexport interface PageCounterProps {\n className?: string;\n pageIndex?: number;\n pageCount?: number;\n}\n\nfunction PageCounter({pageIndex, pageCount, className}: PageCounterProps) {\n if (pageIndex === undefined || pageCount === undefined) {\n return null;\n }\n\n return pageCount! > 1 ? (\n <span className={block(null, className)}>\n Page: {(pageIndex || 0) + 1} / {pageCount}\n </span>\n ) : null;\n}\n\nexport default React.memo(PageCounter);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport capitalize_ from 'lodash/capitalize';\n\nimport barsDescendingSvg from '@gravity-ui/icons/svgs/bars-descending-align-left.svg';\nimport {Button, DropdownMenu, Icon, Text} from '@gravity-ui/uikit';\n\nimport SortIcon from '../../components/SortIcon/SortIcon';\n\nimport {OrderType, calculateNextOrderValue, nextSortOrderValue} from '../../utils/sort-helpers';\nimport PageCounter, {PageCounterProps} from '../../components/PageCounter/PageCounter';\nimport Loader from '../../components/Loader/Loader';\nimport {rumLogError} from '../../rum/rum-counter';\n\nimport './ColumnHeader.scss';\n\nconst block = cn('column-header');\n\nexport type ColumnInfo<T> = {\n column: T;\n title?: string;\n shortTitle?: string;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n allowUnordered?: boolean;\n /**\n * Ignored when allowedOrderTypes is defined\n */\n withUndefined?: boolean;\n allowedOrderTypes?: Array<OrderType>;\n};\n\nexport type HasSortColumn<T> =\n | (ColumnInfo<T> & {options?: undefined})\n | ({\n title: string;\n shortTitle?: string;\n column: T;\n options: Array<ColumnInfo<T>>;\n } & Partial<Record<keyof Omit<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>, undefined>>);\n\nexport type ColumnHeaderProps<T extends string = string> = PageCounterProps &\n HasSortColumn<T> & {\n className?: string;\n order?: OrderType;\n multisortIndex?: number;\n onSort?: (\n column: T,\n nextOrder: OrderType,\n options: {currentOrder?: OrderType; multisort?: boolean},\n ) => void;\n\n loading?: boolean;\n\n align?: 'center' | 'left' | 'right';\n };\n\ntype NameTitleContent = {\n nameContent: string;\n titleContent: string;\n};\n\nfunction getNameTitle<T extends string>({\n column,\n title,\n shortTitle,\n}: Pick<ColumnInfo<T>, 'column' | 'title' | 'shortTitle'>): NameTitleContent {\n const t = title ?? capitalize_(column);\n const nameContent = !shortTitle ? t : shortTitle;\n return {nameContent, titleContent: t};\n}\n\nfunction useColumnInfo<T extends string = string>(\n props: ColumnHeaderProps<T>,\n): ColumnInfo<T> & NameTitleContent & {subColumn?: NameTitleContent} {\n if (props.options === undefined) {\n const {column, allowUnordered, withUndefined, title, shortTitle, allowedOrderTypes} = props;\n return {\n column,\n allowUnordered,\n withUndefined,\n allowedOrderTypes,\n ...getNameTitle({column, title, shortTitle}),\n };\n }\n\n const {column: value, options, title, shortTitle} = props;\n const columnData = options.find(({column}) => value === column)!;\n if (!columnData) {\n rumLogError({\n message: 'Unexpected behavior: missing value in ColumnHeader.props.options',\n additional: props,\n });\n }\n return {\n subColumn: getNameTitle({...columnData}),\n ...columnData,\n ...getNameTitle({column: '', title, shortTitle}),\n };\n}\n\nexport default function ColumnHeader<T extends string = string>(props: ColumnHeaderProps<T>) {\n const {className, align, order, onSort, multisortIndex, loading, pageIndex, pageCount} = props;\n const {\n column,\n allowUnordered,\n withUndefined,\n nameContent,\n titleContent,\n allowedOrderTypes,\n subColumn,\n } = useColumnInfo(props);\n\n const changeHandler = React.useCallback(\n (e: React.MouseEvent) => {\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort?.(column, nextOrder, {\n currentOrder: order,\n multisort: e.ctrlKey || e.metaKey,\n });\n },\n [column, order, onSort, allowUnordered, allowedOrderTypes, withUndefined],\n );\n\n const sortable = Boolean(onSort);\n\n return (\n <div className={block(null, className)}>\n <div\n className={block('label-icon', {sortable, align})}\n onClick={sortable ? changeHandler : undefined}\n >\n <span className={block('label')} title={titleContent}>\n {nameContent}\n </span>\n {sortable && (\n <span className={block('icon')}>\n <SortIcon order={order} />\n </span>\n )}\n {multisortIndex !== undefined && (\n <span className={block('multisort')}>\n <sup>{multisortIndex}</sup>\n </span>\n )}\n {Boolean(order) && Boolean(subColumn) && (\n <Text\n className={block('label', {'sub-column': true})}\n variant=\"caption-2\"\n title={subColumn?.titleContent}\n color=\"dark-secondary\"\n >\n {subColumn?.nameContent}\n </Text>\n )}\n </div>\n <SubColumnSelector options={props.options} order={order} onSort={onSort} />\n {loading !== undefined && (\n <div className={block('loader')}>\n <Loader visible={loading} />\n </div>\n )}\n {Boolean(pageCount) && (\n <PageCounter\n className={block('page-counter')}\n pageIndex={pageIndex}\n pageCount={pageCount}\n />\n )}\n </div>\n );\n}\n\nfunction SubColumnSelector<T extends string>({\n order,\n options,\n onSort,\n}: Pick<ColumnHeaderProps<T>, 'onSort'> & {\n order?: ColumnHeaderProps<T>['order'];\n options?: Array<ColumnInfo<T>>;\n}) {\n return !options ? null : (\n <DropdownMenu\n items={options.map((x) => {\n const {titleContent} = getNameTitle(x);\n return {\n text: titleContent,\n action() {\n if (!onSort) {\n return;\n }\n const {column, allowUnordered, withUndefined, allowedOrderTypes} = x;\n const nextOrder = allowedOrderTypes\n ? calculateNextOrderValue(order, allowedOrderTypes)\n : nextSortOrderValue(order, allowUnordered, withUndefined);\n onSort(column, nextOrder, {\n currentOrder: order,\n });\n },\n };\n })}\n renderSwitcher={({onClick}) => (\n <Button onClick={onClick} view=\"flat\" size=\"xs\">\n <Icon size={12} data={barsDescendingSvg} />\n </Button>\n )}\n />\n );\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {sortableContainer, sortableElement, sortableHandle} from 'react-sortable-hoc';\nimport ReactList from 'react-list';\n\nimport each_ from 'lodash/each';\nimport escapeRegExp_ from 'lodash/escapeRegExp';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\nimport reduce_ from 'lodash/reduce';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../components/Icon/Icon';\n\nimport {renderText} from '../../components/templates/utils';\n\nimport './ColumnSelector.scss';\nimport Button from '../Button/Button';\n\nconst b = cn('column-selector');\n\nexport function makeItemsCopy(items) {\n return map_(items, (item) => {\n return {...item};\n });\n}\n\nconst DragHandle = sortableHandle(() => (\n <div className={b('drag-handle')}>\n <Icon face=\"solid\" awesome=\"list\" />\n </div>\n));\n\nconst SortableItem = sortableElement(\n ({\n item,\n isSortable,\n isSelectable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n withClickableHandler,\n }) => {\n const active = !isDisabled && !item.disabled;\n const className = b('list-item', {\n selected: item.checked && active && 'yes',\n selectable: isSelectable && active && 'yes',\n disabled: !active && 'yes',\n });\n\n return (\n <div className={className}>\n {isSortable && item.checked && <DragHandle />}\n <div className={b('list-item-name')}>\n {item.keyColumn && <Icon awesome=\"key\" />}\n {itemRenderer(item)}\n </div>\n {active && withClickableHandler && (\n <span\n className={b('list-item-check')}\n onClick={onCheckBoxChange}\n data-item={item.name}\n >\n <Icon awesome=\"check\" />\n </span>\n )}\n {!active && <Icon className={b('list-item-lock')} awesome=\"lock\" />}\n </div>\n );\n },\n);\n\nconst SortableList = sortableContainer(\n ({\n items,\n isSortable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n isSelectable,\n useStaticSize,\n withClickableHandler = true,\n }) => {\n const renderer = (index, key) => {\n const item = items[index];\n return (\n <SortableItem\n key={key}\n index={index}\n item={item}\n disabled={!isSortable}\n isSortable={isSortable}\n isDisabled={isDisabled}\n isSelectable={isSelectable}\n itemRenderer={itemRenderer}\n onCheckBoxChange={onCheckBoxChange}\n withClickableHandler={withClickableHandler}\n />\n );\n };\n // Use 'simple' placement for draggable items because 'uniform' produces bugs when items are dragged outside the viewport\n const type = isSortable ? 'simple' : 'uniform';\n const mods = {'static-size': useStaticSize};\n\n return (\n <div className={b('list', mods)}>\n <ReactList itemRenderer={renderer} length={items.length} type={type} />\n </div>\n );\n },\n);\n\nexport default class ColumnSelector extends Component {\n static itemsProps = PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n keyColumn: PropTypes.bool,\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n );\n\n static propTypes = {\n className: PropTypes.string,\n items: ColumnSelector.itemsProps.isRequired,\n showDisabledItems: PropTypes.bool,\n isSortable: PropTypes.bool,\n isSelectable: PropTypes.bool,\n isFilterable: PropTypes.bool,\n showSelectedOnly: PropTypes.bool,\n isHeadless: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n children: PropTypes.node,\n itemRenderer: PropTypes.func,\n };\n\n static defaultProps = {\n itemRenderer: ({name, caption = name}) => renderText(caption, {asHTML: false}),\n isSortable: false,\n isHeadless: false,\n isSelectable: true,\n isFilterable: true,\n showSelectedOnly: false,\n };\n\n constructor(props) {\n const {items, isHeadless, showSelectedOnly} = props;\n super(props);\n\n const state = {\n showSelectedOnly,\n filter: '',\n };\n if (isHeadless) {\n Object.assign(state, {items: makeItemsCopy(items)});\n }\n this.state = state;\n }\n\n get items() {\n return this.props.isHeadless ? this.state.items : this.props.items;\n }\n\n get buttonALLisDisabled() {\n return this.items.every((item) => item.checked);\n }\n\n get buttonNONEisDisabled() {\n return !this.items.some((item) => item.checked);\n }\n\n /*\n Takes items from the proper place (props or state), modifies them and writes them back at the same place.\n */\n withActualItems(func) {\n const {onChange} = this.props;\n // headless widget keeps its state to itself, but calls onChange as a way of notifying caller about changes\n if (this.props.isHeadless) {\n const {items} = func({items: this.state.items || []});\n this.setState({items}, () => {\n onChange({items: [...this.state.items]});\n });\n } else {\n // widget inside modal passes all changes to the modal component where they are put into state\n const {items} = func({items: this.props.items || []});\n onChange({items: [...items]});\n }\n }\n\n toggleItem = (name) => {\n this.withActualItems(({items}) => {\n items = [...items];\n const index = items.findIndex((item) => item.name === name);\n const changedItem = items[index];\n items[index] = {...changedItem, checked: !changedItem.checked};\n\n return {items};\n });\n };\n\n selectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (!item.checked && !item.disabled) {\n items[index] = {...item, checked: true};\n }\n });\n\n return {items};\n });\n };\n\n deselectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (item.checked && !item.disabled) {\n items[index] = {...item, checked: false};\n }\n });\n\n return {items};\n });\n };\n\n invertItems = () => {\n this.withActualItems(({items}) => {\n const visibleItems = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleItems[item.name]) {\n return;\n }\n if (!item.disabled) {\n items[index] = {...item, checked: !item.checked};\n }\n });\n\n return {items};\n });\n };\n\n _handleCheckBoxChange = (event) => {\n this.toggleItem(event.currentTarget.getAttribute('data-item'));\n };\n\n _handleSortEnd = ({oldIndex, newIndex}) => {\n if (oldIndex === newIndex) {\n return;\n }\n\n this.withActualItems(({items}) => {\n items = [...items];\n\n const {items: visibleItems} = this.getVisibleItems();\n const fromIndex = items.findIndex((item) => item.name === visibleItems[oldIndex].name);\n const toIndex = items.findIndex((item) => item.name === visibleItems[newIndex].name);\n\n const [removed] = items.splice(fromIndex, 1);\n items.splice(toIndex, 0, removed);\n\n return {items};\n });\n };\n\n _handleDefaultSort = () => {\n this.withActualItems(({items}) => {\n return {\n items: items.sort((a, b) => {\n const aCaption = a.caption || a.name;\n const bCaption = b.caption || b.name;\n\n return aCaption.localeCompare(bCaption);\n }),\n };\n });\n };\n\n _toggleShownItems = () => {\n this.setState((prevState) => ({\n showSelectedOnly: !prevState.showSelectedOnly,\n }));\n };\n\n _changeFilter = (filter) => {\n this.setState({filter});\n };\n\n renderSearchBox() {\n return (\n <TextInput\n placeholder=\"Search...\"\n onUpdate={this._changeFilter}\n value={this.state.filter}\n hasClear={true}\n />\n );\n }\n\n renderControls() {\n const {isFilterable, isSelectable, isSortable, isHeadless} = this.props;\n const btnProps = {\n size: 'm',\n className: b('controls-item'),\n };\n\n return (\n <div className={b('controls')}>\n {isFilterable && this.renderSearchBox()}\n {isHeadless && (\n <Button {...btnProps} onClick={this._toggleShownItems}>\n Selected \n <span className=\"elements-secondary-text\">\n {filter_(this.items, (item) => item.checked).length}\n </span>\n </Button>\n )}\n {isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonALLisDisabled}\n onClick={this.selectAllItems}\n >\n Add all\n </Button>\n )}\n {isSelectable && (\n <Button {...btnProps} onClick={this.invertItems}>\n Invert list\n </Button>\n )}\n {!isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonNONEisDisabled}\n onClick={this.deselectAllItems}\n >\n Remove all\n </Button>\n )}\n {isSortable && (\n <Button {...btnProps} onClick={this._handleDefaultSort}>\n Default sort\n </Button>\n )}\n </div>\n );\n }\n\n filterItemsByName(items) {\n const re = new RegExp(escapeRegExp_(this.state.filter), 'i');\n return filter_(items, (item) => re.test(item.name));\n }\n\n filterItems(items) {\n const {showDisabledItems} = this.props;\n items = showDisabledItems ? items : filter_(items, (item) => !item.disabled);\n\n const visibleItems = this.filterItemsByName(items);\n return this.state.showSelectedOnly\n ? filter_(visibleItems, (item) => item.checked)\n : visibleItems;\n }\n\n getVisibleItems() {\n const toSplit = this.filterItems(this.items);\n const [keyItems, items] = partition_(toSplit, (item) => item.keyColumn);\n return {items, keyItems};\n }\n\n getVisibleItemsMap() {\n return reduce_(\n this.filterItems(this.items),\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n );\n }\n\n renderList() {\n const {isSortable, isSelectable, itemRenderer, children, isHeadless} = this.props;\n\n const {items, keyItems} = this.getVisibleItems();\n\n const className = b(\n 'content',\n {\n headless: isHeadless ? undefined : 'no',\n empty: items.length ? undefined : 'yes',\n },\n 'pretty-scroll',\n );\n\n return (\n <div className={className}>\n {keyItems.length > 0 && (\n <React.Fragment>\n <SortableList\n lockAxis=\"y\"\n isDisabled={false}\n isSortable={false}\n isSelectable={isSelectable}\n items={keyItems}\n itemRenderer={itemRenderer}\n helperClass={b('list-item', {helper: 'yes'})}\n onCheckBoxChange={this._handleCheckBoxChange}\n />\n {items.length > 0 && <div className={b('separator')} />}\n </React.Fragment>\n )}\n {items.length > 0 && (\n <SortableList\n items={items}\n isSelectable={isSelectable}\n isSortable={isSortable}\n itemRenderer={itemRenderer}\n lockAxis=\"y\"\n helperClass={b('list-item', {helper: 'yes'})}\n onSortEnd={this._handleSortEnd}\n onCheckBoxChange={this._handleCheckBoxChange}\n useDragHandle\n />\n )}\n {!keyItems.length && !items.length && children}\n </div>\n );\n }\n\n render() {\n const {isHeadless, isSortable, className} = this.props;\n const classNames = b(\n {\n headless: isHeadless ? 'yes' : undefined,\n sortable: isSortable ? undefined : 'no',\n },\n className,\n );\n return (\n <div className={classNames}>\n {this.renderControls()}\n {this.renderList()}\n </div>\n );\n }\n}\n","const SvgModalNoContent = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 194 194\" {...props}><g fill=\"none\" fillRule=\"evenodd\" stroke=\"#999\" opacity={0.22}><path strokeWidth={2} d=\"M97.116 188.443h1v1h-1zM96.424 185.293h1.1v1h-1.1zM95.374 182.143h2.34v1h-2.34zM94.324 178.993h4.2v1h-4.2zM93.273 175.842h6.679v1h-6.679zM91.173 172.692h9.779v1h-9.779zM89.597 169.542h13.499v1H89.597zM87.496 166.391h17.839v1H87.496zM84.871 163.241h22.798v1H84.871zM81.719 160.091h28.998v1H81.719zM78.043 156.94h35.817v1H78.043zM73.842 153.623h45.117v1H73.842z\" /><ellipse cx={96.77} cy={96.61} strokeWidth={8} rx={92.403} ry={92.61} /><ellipse cx={96.669} cy={96.371} strokeWidth={4} rx={37.057} ry={37.141} /><ellipse cx={97.269} cy={96.915} strokeWidth={8} rx={11.499} ry={11.532} /><path strokeLinecap=\"square\" strokeWidth={4} d=\"M34.504 34.653 66.12 66.34\" /><path strokeDasharray=\"8,8\" strokeWidth={4} d=\"M33.023 44.104V148.48M160.116 44.104V148.48\" /><path strokeLinecap=\"square\" strokeWidth={4} d=\"M159.603 34.653 127.986 66.34M34.504 159.798l31.617-31.685M159.603 159.798l-31.617-31.685\" /></g></svg>;\nexport default SvgModalNoContent;","import React from 'react';\nimport hammer from '../../common/hammer';\nimport block from 'bem-cn-lite';\n\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport Modal from '../Modal/Modal';\nimport ColumnSelector, {makeItemsCopy} from '../ColumnSelector/ColumnSelector';\nimport NoContentImage from '../../assets/img/svg/modal-no-content.svg';\n\nimport './ColumnSelectorModal.scss';\n\nconst b = block('column-selector-modal');\n\nexport type ColumnSelectorModalProps<DataT> = {\n items: Array<ColumnSelectorItem<DataT>>;\n srcItems: Array<ColumnSelectorItem<DataT>>;\n isVisible?: boolean;\n onChange: (items: Array<ColumnSelectorItem<DataT>>) => void;\n onConfirm: (items: Array<ColumnSelectorItem<DataT>>) => void;\n onCancel: () => void;\n\n itemRenderer: (item: ColumnSelectorItem<DataT>) => React.ReactNode;\n entity: string;\n};\n\nexport type ColumnSelectorItem<DataT> = {\n name: string;\n checked: boolean;\n data: DataT;\n disabled?: boolean;\n keyColumn?: boolean;\n};\n\ntype Props<T> = ColumnSelectorModalProps<T>;\n\ntype State<T> = Pick<Props<T>, 'items' | 'srcItems'> & {itemsOrder: Array<string>};\n\nexport default class ColumnSelectorModal<T = never> extends React.Component<Props<T>, State<T>> {\n static defaultProps: Partial<Props<unknown>> = {\n entity: 'columns',\n };\n\n state: State<T> = {\n srcItems: this.props.srcItems || this.props.items,\n items: makeItemsCopy(this.props.items),\n itemsOrder: this._getItemsOrder(this.props.items),\n };\n\n // in React 16.3 there is another way to do it: getDerivedStateFromProps;\n // revise this place once received data is managed by Redux\n componentDidUpdate(prevProps: Props<T>) {\n const {items, srcItems} = this.props;\n if (prevProps.items !== items || prevProps.srcItems !== srcItems) {\n // don't update itemsOrder\n this.setState({\n srcItems: srcItems || this.props.items,\n items: this._getOrderedItems(makeItemsCopy(items)),\n });\n }\n }\n\n _handleCONFIRMButtonClick = () => {\n const {items} = this.state;\n this.props.onConfirm(items);\n };\n\n _handleCANCELButtonClick = () => {\n const {items} = this.props;\n const order = this._getItemsOrder(items);\n // reset state to initial on cancel\n this.setState({\n items: this._getOrderedItems(makeItemsCopy(items)),\n itemsOrder: order,\n });\n this.props.onCancel();\n };\n\n _getItemsOrder(items: Props<T>['items']) {\n return map_(items, (item) => item.name);\n }\n\n _getOrderedItems(items: Props<T>['items'], order = this.state.itemsOrder) {\n return items.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n\n _getSelectorProps<P>(props: P, items: Props<T>['items']) {\n return {\n ...props,\n items,\n showDisabledItems: true,\n isHeadless: false,\n isFilterable: true,\n onChange: this.onSourceChange,\n };\n }\n\n _getSortableSelectorProps<P>(props: P, items: Props<T>['items']) {\n return {\n ...props,\n items,\n isSelectable: false,\n isSortable: true,\n showSelectedOnly: true,\n onChange: this.onDestinationChange,\n };\n }\n\n calculateSrcItems(newItemsMap: Record<string, ColumnSelectorItem<T>>) {\n return map_(this.state.srcItems, (item) => {\n const newItem = newItemsMap[item.name];\n\n if (newItem && newItem.checked !== item.checked) {\n return newItem;\n }\n\n return item;\n });\n }\n\n onSourceChange = ({items: newItems}: Pick<Props<T>, 'items'>) => {\n const {items} = this.state;\n const newItemsMap = reduce_(\n newItems,\n (acc, data) => {\n acc[data.name] = data;\n return acc;\n },\n {} as Record<string, ColumnSelectorItem<T>>,\n );\n\n const unchanged: Props<T>['items'] = [];\n const changed: Props<T>['items'] = [];\n forEach_(items, (item) => {\n const newItem = newItemsMap[item.name];\n if (newItem && newItem.checked !== item.checked) {\n const dst = newItem.keyColumn ? unchanged : changed;\n dst.push(newItem);\n } else {\n unchanged.push(item);\n }\n });\n\n const preparedItems = unchanged.concat(changed);\n // don't update itemsOrder\n this.setState({\n items: this._getOrderedItems(preparedItems),\n srcItems: this.calculateSrcItems(newItemsMap),\n });\n };\n\n onDestinationChange = ({items: newItems}: Pick<Props<T>, 'items'>) => {\n const newItemsMap = reduce_(\n newItems,\n (acc, data) => {\n acc[data.name] = data;\n return acc;\n },\n {} as Record<string, ColumnSelectorItem<T>>,\n );\n\n const order = this._getItemsOrder(newItems);\n\n this.setState({\n items: this._getOrderedItems(newItems, order),\n itemsOrder: order,\n srcItems: this.calculateSrcItems(newItemsMap),\n });\n };\n\n renderColumnSelector({\n props,\n title,\n description,\n className,\n }: {\n props: object;\n title: string;\n description: string;\n className?: string;\n }) {\n return (\n <ColumnSelector {...props} className={className}>\n <div className={b('no-content')}>\n <p>\n <strong>{title}</strong>\n </p>\n <p>{description}</p>\n <NoContentImage />\n </div>\n </ColumnSelector>\n );\n }\n\n renderContent() {\n const {isVisible, entity, ...rest} = this.props; // eslint-disable-line\n const {items, srcItems} = this.state;\n\n const headingCN = block('elements-heading')({size: 's'}, b('header'));\n\n const selectorProps = this._getSelectorProps(rest, srcItems);\n const sortableSelectorProps = this._getSortableSelectorProps(selectorProps, items);\n const selectedItemsCount = reduce_(\n sortableSelectorProps.items,\n (acc, item) => (item.disabled || !item.checked ? acc : ++acc),\n 0,\n );\n\n return (\n isVisible && (\n <div className={b()}>\n <div className={b('panel', {left: 'yes'})}>\n <div className={headingCN}>\n All \n <span className=\"elements-secondary-text\">{srcItems.length}</span>\n </div>\n\n {this.renderColumnSelector({\n props: selectorProps,\n title: `No available ${entity}`,\n description: `No ${entity} matching your filtering criteria`,\n })}\n </div>\n\n <div className={b('panel')}>\n <div className={headingCN}>\n Selected \n <span className=\"elements-secondary-text\">{selectedItemsCount}</span>\n </div>\n\n {this.renderColumnSelector({\n props: sortableSelectorProps,\n title: `No selected ${entity}`,\n description: `Add ${entity} you need from the All section.`,\n })}\n </div>\n </div>\n )\n );\n }\n\n render() {\n const {isVisible, entity} = this.props;\n const title = `${hammer.format['FirstUppercase'](entity)} setup`;\n\n return (\n <Modal\n size=\"l\"\n title={title}\n borderless={true}\n visible={isVisible}\n confirmText=\"Apply\"\n onConfirm={this._handleCONFIRMButtonClick}\n onCancel={this._handleCANCELButtonClick}\n content={this.renderContent()}\n contentClassName=\"column-selector-modal-content\"\n />\n );\n }\n}\n","import cn from 'bem-cn-lite';\n\nimport filter_ from 'lodash/filter';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport type {EditableManyListsItemType} from '../../../../components/Dialog';\nimport type {ResponsibleType, RoleConverted, Subject} from '../../../../utils/acl/acl-types';\nimport type {PreparedRole} from '../../../../utils/acl';\nimport {RoleListControlProps} from './RoleListControl';\n\nexport const block = cn('role-list-control');\n\nexport function prepareRoleListValue(roles: Array<PreparedRole>, otherMembers: Array<string> = []) {\n const current: typeof roles = [];\n const toAdd: typeof roles = [];\n const toRemove: typeof roles = [];\n const unrecognized: typeof roles = [];\n forEach_(roles, (item) => {\n const {isUnrecognized, isRequested, isApproved, isDepriving} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n toRemove.push(item);\n } else if (isApproved || isRequested) {\n toAdd.push(item);\n } else {\n current.push(item);\n }\n });\n\n const currentArr = current.map((item) => prepareItemOfCurrent(item));\n const otherArr = otherMembers.map((item) => ({\n title: item,\n data: {},\n frozen: true,\n }));\n\n return {\n newItems: [],\n current: {title: 'Current', data: currentArr.concat(otherArr)},\n toAdd: {\n title: 'Will be added',\n itemClassName: block('item-to-add'),\n data: toAdd.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n toRemove: {\n title: 'Will be removed',\n itemClassName: block('item-to-remove'),\n data: toRemove.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n unrecognized: {\n title: 'Unrecognized',\n itemClassName: block('item-unrecognized'),\n data: unrecognized.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n };\n}\n\nfunction prepareItemOfCurrent(role: PreparedRole, extraProps: any = {}) {\n return {\n title: role.text || role.value,\n data: role,\n ...extraProps,\n };\n}\n\nexport function roleListValueToSubjectList(\n value: RoleListControlProps['value'],\n): Array<ResponsibleType> {\n const {current, newItems, toAdd} = value;\n return [\n ...newItems,\n ...manyListDataItemToSubjectList(current),\n ...manyListDataItemToSubjectList(toAdd),\n ];\n}\n\nfunction manyListDataItemToSubjectList(\n manyListDataItem: EditableManyListsItemType<RoleConverted>,\n): Array<ResponsibleType> {\n const {data} = manyListDataItem || {};\n return map_(\n filter_(data, ({removed}) => !removed),\n ({data}) => {\n const {type, value} = data || {};\n return {type: type!, value: value!};\n },\n );\n}\n\nexport function extractChangedSubjects(value: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n}): {\n added: Subject[];\n removed: Subject[];\n} {\n const {current, newItems} = value;\n const added = newItems || [];\n const removed = ((current && current.data) || []).filter(({removed}) => removed);\n return {\n added: added.map(({type, value}) => {\n return type === 'users' ? {user: value} : {group: value};\n }),\n removed: removed.map(({data}) => {\n const {value, type} = data || {};\n return type === 'users' ? {user: value!} : {group: value!};\n }),\n };\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport type {FORM_ERROR as FormErrorType} from './index';\n\nimport {FIX_MY_TYPE, YTError} from '../../types';\nimport Block from '../../components/Block/Block';\n\nimport compact_ from 'lodash/compact';\nimport map_ from 'lodash/map';\n\nconst block = cn('yt-dialog-error');\n\nexport function DialogError(props: FIX_MY_TYPE) {\n return <Block {...props} className={block()} />;\n}\n\nexport function makeErrorFields(errors: Array<YTError | Error | undefined>) {\n return compact_(\n map_(errors, (error, index) => {\n return error\n ? {\n name: `error_${index}`,\n type: 'block' as const,\n extras: {\n children: <DialogError error={error} />,\n },\n }\n : undefined;\n }),\n );\n}\n\nconst FORM_ERROR: typeof FormErrorType = 'FINAL_FORM/form-error';\n\nexport function makeFormSubmitError(error: YTError) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n}\n","import React from 'react';\nimport withLazyLoading from '../../hocs/withLazyLoading';\nimport {withDelayedMount} from '../../hocs/withDelayedMount';\n\nimport type {\n registerDialogControl as RegisterDialogControlFn,\n registerDialogTabControl as RegisterDialogTabControlFn,\n YTDialogType,\n} from './Dialog';\n\nexport type * from './Dialog';\nexport * from './DialogError';\nexport * from './controls/RoleListControl/utils';\n\nexport function importYTDFDialog() {\n return import(/* webpackChunkName: \"yt-df-dialog\" */ './Dialog');\n}\n\nexport const YTDFDialog = withDelayedMount(\n withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).YTDialog};\n }),\n '',\n ),\n) as YTDialogType;\n\nexport function useControlRegistration(\n fn: (params: {\n registerDialogControl: typeof RegisterDialogControlFn;\n registerDialogTabControl: typeof RegisterDialogTabControlFn;\n }) => void,\n) {\n importYTDFDialog().then(({registerDialogControl, registerDialogTabControl}) => {\n fn({registerDialogControl, registerDialogTabControl});\n });\n}\n\nexport type {RoleListControlProps} from './controls/RoleListControl/RoleListControl';\nexport const RoleListControl = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).RoleListControl};\n }),\n '',\n);\n\nexport const EditableList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).EditableList};\n }),\n '',\n);\n\nexport const TabFieldVertical = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).TabFieldVertical};\n }),\n '',\n);\n","import React from 'react';\n\n/**\n * The hoc allows to delay mounting until `props.visible == true`.\n * The hoc might be useful to wrap components wrapped by React.lazy\n * @param Component\n * @returns\n */\nexport function withDelayedMount<P extends {visible?: boolean}>(Component: React.ComponentType<P>) {\n return function MountOnFirstVisible(props: P) {\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => {\n if (!mounted && props.visible) {\n setMounted(true);\n }\n }, [props.visible, mounted]);\n return !mounted ? null : <Component {...props} />;\n };\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\n\nimport map_ from 'lodash/map';\n\nimport {Button, ButtonProps, DropdownMenu} from '@gravity-ui/uikit';\n\nimport Icon from '../Icon/Icon';\nimport Hotkey from '../../components/Hotkey/Hotkey';\n\nimport './Favourites.scss';\n\nconst b = block('favourites');\n\ninterface Props {\n className?: string;\n isActive: boolean;\n items: Array<FavouritesItem>;\n onItemClick: (item: FavouritesItem) => void;\n toggleDisabled?: boolean;\n onToggle: () => void;\n theme?: 'clear';\n}\n\nexport interface FavouritesItem {\n path: string;\n}\n\ninterface State {\n isActive: boolean;\n}\n\nexport default class Favourites extends Component<Props, State> {\n static itemType = PropTypes.shape({\n path: PropTypes.string,\n });\n\n static propTypes = {\n isActive: PropTypes.bool.isRequired,\n items: PropTypes.arrayOf(Favourites.itemType),\n onItemClick: PropTypes.func,\n toggleDisabled: PropTypes.bool,\n onToggle: PropTypes.func,\n className: PropTypes.string,\n theme: PropTypes.string,\n };\n\n static getDerivedStateFromProps(props: Props, state: State) {\n if (props.isActive !== state.isActive) {\n return {isActive: props.isActive};\n }\n return null;\n }\n\n state = {\n isActive: this.props.isActive,\n };\n\n toggleActive = () => {\n const {onToggle} = this.props;\n\n this.setState((prevState) => ({isActive: !prevState.isActive}));\n onToggle();\n };\n\n onItemClick = (item: FavouritesItem) => {\n const {onItemClick} = this.props;\n onItemClick(item);\n };\n\n renderDropDownMenu() {\n const {items} = this.props;\n\n const dropItems = map_(items, (item) => {\n return {\n text: item.path,\n action: () => this.onItemClick(item),\n };\n });\n if (items.length === 0) {\n dropItems.push({\n action: () => {},\n text: 'No favourites',\n });\n }\n\n const switcher = this.renderButton({\n view: 'normal',\n size: 'm',\n pin: 'brick-round',\n title: 'View favourites',\n children: <Icon awesome=\"angle-down\" />,\n });\n\n return (\n <DropdownMenu\n popupProps={{\n className: b('popup', {empty: items.length === 0}),\n }}\n items={dropItems}\n switcher={switcher}\n />\n );\n }\n\n renderHotkey() {\n return <Hotkey settings={[{keys: 'f', handler: this.toggleActive, scope: 'all'}]} />;\n }\n\n renderButton(buttonProps: ButtonProps & {disabled?: boolean}) {\n const {theme} = this.props;\n const themeProps = !theme ? {} : {view: 'outlined' as const};\n return <Button {...buttonProps} {...themeProps} />;\n }\n\n render() {\n const {toggleDisabled, className, theme} = this.props;\n const {isActive} = this.state;\n\n return (\n <div className={b(null, className)}>\n <div className={b('star-btn', {clear: theme === 'clear'})}>\n {this.renderButton({\n view: 'outlined-info',\n selected: isActive,\n size: 'm',\n pin: theme === 'clear' ? 'round-brick' : 'round-clear',\n title: 'Add to favourites [F]',\n onClick: this.toggleActive,\n disabled: toggleDisabled,\n children: <Icon awesome={isActive ? 'star-alt' : 'star'} />,\n })}\n </div>\n {this.renderDropDownMenu()}\n {this.renderHotkey()}\n </div>\n );\n }\n}\n","const SvgBarsDescendingAlignLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBarsDescendingAlignLeft;"],"names":["shouldClientNavigate","link","modifiers","target","getAttribute","href","origin","location","hasAttribute","metaKey","ctrlKey","altKey","shiftKey","b","BreadcrumbItem","props","Element","domProps","filterDOMProps","labelable","title","children","handleAction","event","disabled","current","preventDefault","onAction","currentTarget","navigate","HTMLAnchorElement","isDefaultPrevented","routerOptions","isDisabled","linkProps","onClick","undefined","hrefLang","rel","download","ping","referrerPolicy","role","tabIndex","onKeyDown","key","itemType","Object","assign","className","BreadcrumbsSeparator","separator","displayName","addComponentKeysets","en","Item","_props","ref","listRef","containerRef","useForkRef","items","forEach","child","index","push","visibleItemsCount","setVisibleItemsCount","length","calculated","setCalculated","handleResize","onResize","element","window","ResizeObserver","addEventListener","removeEventListener","observer","entries","observe","disconnect","useResizeObserver","lastChildren","visibleItems","list","listItems","Array","from","containerWidth","offsetWidth","newVisibleItemsCount","calculatedWidth","maxItems","Infinity","rootWidth","showRoot","item","shift","scrollWidth","lastItem","pop","Math","min","i","max","recalculate","contents","breadcrumbs","endItems","rootItem","hiddenItems","slice","menuItem","DropdownMenu","map","el","text","action","_a","popupProps","staircase","popupStyle","placement","popupPlacement","renderSwitcher","Button","i18n","size","view","Icon","lastIndex","breadcrumbItems","isCurrent","calculating","qa","style","cn","Breadcrumbs","_ref","_objectWithoutProperties","_excluded","_jsx","UBreadcrumbs","_objectSpread","block","PageCounter","pageIndex","pageCount","_jsxs","React","getNameTitle","column","shortTitle","t","capitalize_","nameContent","titleContent","ColumnHeader","align","order","onSort","multisortIndex","loading","_useColumnInfo","options","allowUnordered","withUndefined","allowedOrderTypes","value","columnData","find","_ref2","rumLogError","message","additional","subColumn","useColumnInfo","changeHandler","e","nextOrder","calculateNextOrderValue","nextSortOrderValue","currentOrder","multisort","sortable","Boolean","SortIcon","Text","variant","color","SubColumnSelector","Loader","visible","_ref3","x","_ref4","data","barsDescendingSvg","makeItemsCopy","map_","DragHandle","sortableHandle","face","awesome","SortableItem","sortableElement","isSortable","isSelectable","itemRenderer","onCheckBoxChange","withClickableHandler","active","selected","checked","selectable","keyColumn","name","SortableList","sortableContainer","useStaticSize","_ref2$withClickableHa","type","mods","ReactList","ColumnSelector","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","isHeadless","showSelectedOnly","call","toggleItem","withActualItems","_toConsumableArray","findIndex","changedItem","selectAllItems","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","invertItems","_ref6","_handleCheckBoxChange","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","splice","removed","_slicedToArray","_handleDefaultSort","_ref9","sort","a","aCaption","caption","bCaption","localeCompare","_toggleShownItems","setState","prevState","_changeFilter","filter","state","_createClass","get","this","every","some","func","_this2","onChange","TextInput","placeholder","onUpdate","hasClear","_this$props","isFilterable","btnProps","renderSearchBox","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","test","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$props2","_this$getVisibleItems2","headless","empty","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","renderControls","renderList","Component","itemsProps","PropTypes","isRequired","defaultProps","_ref10","_ref10$caption","renderText","asHTML","xmlns","viewBox","fill","fillRule","stroke","opacity","strokeWidth","d","cx","cy","rx","ry","strokeLinecap","strokeDasharray","ColumnSelectorModal","_React$Component","_len","arguments","args","_key","apply","concat","srcItems","itemsOrder","_getItemsOrder","_handleCONFIRMButtonClick","onConfirm","_handleCANCELButtonClick","_getOrderedItems","onCancel","onSourceChange","newItems","newItemsMap","unchanged","changed","forEach_","newItem","preparedItems","calculateSrcItems","onDestinationChange","prevProps","indexOf","description","NoContentImage","isVisible","entity","rest","_this$state","headingCN","selectorProps","_getSelectorProps","sortableSelectorProps","_getSortableSelectorProps","selectedItemsCount","left","renderColumnSelector","hammer","format","Modal","borderless","confirmText","content","renderContent","contentClassName","prepareRoleListValue","roles","otherMembers","toAdd","toRemove","unrecognized","isUnrecognized","isRequested","isApproved","isDepriving","currentArr","prepareItemOfCurrent","otherArr","frozen","itemClassName","extraProps","roleListValueToSubjectList","manyListDataItemToSubjectList","manyListDataItem","extractChangedSubjects","added","user","group","DialogError","Block","makeErrorFields","errors","compact_","error","extras","FORM_ERROR","makeFormSubmitError","validationErrors","_defineProperty","importYTDFDialog","YTDFDialog","withLazyLoading","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","t0","sent","YTDialog","abrupt","stop","_React$useState","_React$useState2","mounted","setMounted","_callee2","_context2","RoleListControl","EditableList","_callee3","_context3","TabFieldVertical","_callee4","_context4","Favourites","isActive","toggleActive","onToggle","onItemClick","dropItems","path","switcher","renderButton","pin","Hotkey","settings","keys","handler","scope","buttonProps","themeProps","theme","toggleDisabled","clear","renderDropDownMenu","renderHotkey","clipRule"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[8460],{14880:(e,t,n)=>{n.d(t,{A:()=>c});var r=n(40319),o=n(18801),a=(n(77810),n(15647)),i=n(97536),u=n(57614),s=n(64922),l=["title","getPathProps","path","exactPath","attribute","attributes","openAttributesModal","withTooltip","tooltipProps"];const c=(0,a.Ng)(null,{openAttributesModal:u.V6})((function(e){var t=e.title,n=e.getPathProps,a=void 0===n?function(){return{}}:n,u=e.path,c=e.exactPath,d=e.attribute,p=e.attributes,v=e.openAttributesModal,f=e.withTooltip,m=void 0===f||f,h=e.tooltipProps,A=void 0===h?{placement:"bottom-end",content:"Show attributes"}:h,x=(0,o.A)(e,l);return(0,s.jsx)(i.A,(0,r.A)((0,r.A)({},x),{},{tooltipProps:A,withTooltip:m,onClick:function(){var e=(0,r.A)({path:u,exactPath:c},a());v((0,r.A)((0,r.A)({title:t},e),{},{attribute:d,attributes:p}))}}))}))},34413:(e,t,n)=>{n.d(t,{A:()=>N});var r=n(40319),o=n(77810),a=n(76872),i=n(88314),u=n.n(i),s=n(10559),l=n(85137),c=n(55695),d=n(92423),p=n(72679),v=n(38226),f=n(44458),m=n(64922),h=(0,a.A)("yt-page-counter");function A(e){var t=e.pageIndex,n=e.pageCount,r=e.className;return void 0===t||void 0===n?null:n>1?(0,m.jsxs)("span",{className:h(null,r),children:["Page: ",(t||0)+1," / ",n]}):null}const x=o.memo(A);var b=n(38198),g=n(12680),_=(0,a.A)("column-header");function w(e){var t=e.column,n=e.title,r=e.shortTitle,o=null!=n?n:u()(t);return{nameContent:r||o,titleContent:o}}function N(e){var t=e.className,n=e.align,a=e.order,i=e.onSort,u=e.multisortIndex,s=e.loading,c=e.pageIndex,d=e.pageCount,p=function(e){if(void 0===e.options){var t=e.column,n=e.allowUnordered,o=e.withUndefined,a=e.title,i=e.shortTitle,u=e.allowedOrderTypes;return(0,r.A)({column:t,allowUnordered:n,withUndefined:o,allowedOrderTypes:u},w({column:t,title:a,shortTitle:i}))}var s=e.column,l=e.options,c=e.title,d=e.shortTitle,p=l.find((function(e){var t=e.column;return s===t}));return p||(0,g.N1)({message:"Unexpected behavior: missing value in ColumnHeader.props.options",additional:e}),(0,r.A)((0,r.A)({subColumn:w((0,r.A)({},p))},p),w({column:"",title:c,shortTitle:d}))}(e),h=p.column,A=p.allowUnordered,N=p.withUndefined,j=p.nameContent,y=p.titleContent,P=p.allowedOrderTypes,k=p.subColumn,z=o.useCallback((function(e){var t=P?(0,f.Pc)(a,P):(0,f.$N)(a,A,N);null==i||i(h,t,{currentOrder:a,multisort:e.ctrlKey||e.metaKey})}),[h,a,i,A,P,N]),T=Boolean(i);return(0,m.jsxs)("div",{className:_(null,t),children:[(0,m.jsxs)("div",{className:_("label-icon",{sortable:T,align:n}),onClick:T?z:void 0,children:[(0,m.jsx)("span",{className:_("label"),title:y,children:j}),T&&(0,m.jsx)("span",{className:_("icon"),children:(0,m.jsx)(v.A,{order:a})}),void 0!==u&&(0,m.jsxs)("span",{className:_("multisort"),children:[" ",(0,m.jsx)("sup",{children:u})]}),Boolean(a)&&Boolean(k)&&(0,m.jsx)(l.E,{className:_("label",{"sub-column":!0}),variant:"caption-2",title:null==k?void 0:k.titleContent,color:"dark-secondary",children:null==k?void 0:k.nameContent})]}),(0,m.jsx)(C,{options:e.options,order:a,onSort:i}),void 0!==s&&(0,m.jsx)("div",{className:_("loader"),children:(0,m.jsx)(b.A,{visible:s})}),Boolean(d)&&(0,m.jsx)(x,{className:_("page-counter"),pageIndex:c,pageCount:d})]})}function C(e){var t=e.order,n=e.options,r=e.onSort;return n?(0,m.jsx)(c.r,{items:n.map((function(e){return{text:w(e).titleContent,action:function(){if(r){var n=e.column,o=e.allowUnordered,a=e.withUndefined,i=e.allowedOrderTypes,u=i?(0,f.Pc)(t,i):(0,f.$N)(t,o,a);r(n,u,{currentOrder:t})}}}})),renderSwitcher:function(e){var t=e.onClick;return(0,m.jsx)(d.$,{onClick:t,view:"flat",size:"xs",children:(0,m.jsx)(p.I,{size:12,data:s.A})})}}):null}},17852:(e,t,n)=>{n.d(t,{D7:()=>v,lN:()=>A,om:()=>p,ps:()=>m});var r=n(13322),o=n(40319),a=n(76872),i=n(49214),u=n.n(i),s=n(39760),l=n.n(s),c=n(27528),d=n.n(c),p=(0,a.A)("role-list-control");function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=[],o=[],a=[];l()(e,(function(e){var t=e.isUnrecognized,i=e.isRequested,u=e.isApproved,s=e.isDepriving;t?a.push(e):s?o.push(e):u||i?r.push(e):n.push(e)}));var i=n.map((function(e){return f(e)})),u=t.map((function(e){return{title:e,data:{},frozen:!0}}));return{newItems:[],current:{title:"Current",data:i.concat(u)},toAdd:{title:"Will be added",itemClassName:p("item-to-add"),data:r.map((function(e){return f(e,{frozen:!0})}))},toRemove:{title:"Will be removed",itemClassName:p("item-to-remove"),data:o.map((function(e){return f(e,{frozen:!0})}))},unrecognized:{title:"Unrecognized",itemClassName:p("item-unrecognized"),data:a.map((function(e){return f(e,{frozen:!0})}))}}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,o.A)({title:e.text||e.value,data:e},t)}function m(e){var t=e.current,n=e.newItems,o=e.toAdd;return[].concat((0,r.A)(n),(0,r.A)(h(t)),(0,r.A)(h(o)))}function h(e){var t=(e||{}).data;return d()(u()(t,(function(e){return!e.removed})),(function(e){var t=e.data||{};return{type:t.type,value:t.value}}))}function A(e){var t=e.current,n=e.newItems||[],r=(t&&t.data||[]).filter((function(e){return e.removed}));return{added:n.map((function(e){var t=e.type,n=e.value;return"users"===t?{user:n}:{group:n}})),removed:r.map((function(e){var t=e.data||{},n=t.value;return"users"===t.type?{user:n}:{group:n}}))}}},20361:(e,t,n)=>{n.d(t,{J_:()=>b,Vm:()=>P,yz:()=>k,yZ:()=>y,lN:()=>N.lN,Y:()=>g,Ln:()=>w,D7:()=>N.D7,ps:()=>N.ps});var r=n(28407),o=n(70232),a=n.n(o),i=n(77810),u=n(33882),s=n(40319),l=n(9736),c=n(64922),d=n(68175),p=n(76872),v=n(81738),f=n(29347),m=n.n(f),h=n(27528),A=n.n(h),x=(0,p.A)("yt-dialog-error");function b(e){return(0,c.jsx)(v.A,(0,s.A)((0,s.A)({},e),{},{className:x()}))}function g(e){return m()(A()(e,(function(e,t){return e?{name:"error_".concat(t),type:"block",extras:{children:(0,c.jsx)(b,{error:e})}}:void 0})))}var _="FINAL_FORM/form-error";function w(e){return{validationErrors:(0,d.A)({},_,(0,c.jsx)(b,{error:e}))}}var N=n(17852);function C(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(164),n.e(2209),n.e(6756),n.e(2640),n.e(6652),n.e(937),n.e(3776),n.e(3716),n.e(5423),n.e(9641),n.e(6019),n.e(3320),n.e(1051),n.e(8512),n.e(7315),n.e(5695),n.e(3990),n.e(3724),n.e(9558),n.e(8427),n.e(1879),n.e(3784),n.e(2736)]).then(n.bind(n,36381))}var j,y=(j=(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.YTDialog,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),function(e){var t=i.useState(!1),n=(0,l.A)(t,2),r=n[0],o=n[1];return i.useEffect((function(){!r&&e.visible&&o(!0)}),[e.visible,r]),r?(0,c.jsx)(j,(0,s.A)({},e)):null});(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.RoleListControl,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");var P=(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.EditableList,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),k=(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.TabFieldVertical,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"")},17955:(e,t,n)=>{n.d(t,{x:()=>h});var r=n(77810),o=n(15647),a=n(76872),i=n(27497),u=n(76426),s=n(28640),l=n(34380),c=n(31229),d=n(771),p=n(64922),v=(0,d.X4)(c.mH.reShortNameFromAddress),f=(0,d.X4)(c.mH.reShortNameFromTabletNodeAddress),m=(0,a.A)("yt-host");function h(e){var t=e.address,n=void 0===t?"":t,a=e.prefix,c=e.className,d=e.copyBtnClassName,h=e.onClick,A=e.useText,x=e.asTabletNode,b=e.inlineMargins,g=r.useMemo((function(){return function(e,t){var n=t?f:v;if(n){var r,o=null==n?void 0:n.exec(e);if(null!=o&&null!==(r=o.groups)&&void 0!==r&&r.shortname)return[o.groups.shortname,o.groups.suffix].filter(Boolean).join("")}}(n,x)||n}),[n,x]),_=(0,o.d4)(i.dB);return(0,p.jsxs)("span",{className:m({hidden:!g,"inline-margins":b},["elements-monospace",c].filter(Boolean).join(" ")),onClick:h,children:[a,(0,p.jsx)(l.m,{className:m("tooltip"),content:n,children:A?g:(0,p.jsx)(u.A,{url:"/".concat(_,"/components/nodes/").concat(n),routed:!0,children:g})}),(0,p.jsx)("span",{className:m("copy-btn",d),children:(0,p.jsx)(s.A,{view:"flat-secondary",text:n})})]})}},26777:(e,t,n)=>{n.d(t,{BZ:()=>z,D1:()=>F,Gy:()=>M,N8:()=>U,O6:()=>O,Rh:()=>B,Sz:()=>q,VS:()=>Y,Y:()=>L,Zb:()=>R,o6:()=>S,u_:()=>E,w8:()=>T});var r=n(70353),o=n(9736),a=n(28407),i=n(40319),u=n(13322),s=n(70232),l=n.n(s),c=n(3009),d=n.n(c),p=n(39760),v=n.n(p),f=n(31470),m=n.n(f),h=n(96843),A=n.n(h),x=n(27528),b=n.n(x),g=n(90636),_=n.n(g),w=n(84092),N=n.n(w),C=n(69313),j=n(48971),y=n(64714),P={labels:["codec:","level:"],items:(0,u.A)(["none","snappy","zlib_","lz4","lz4_high_compression","quick_lz","zstd_","brotli_","lzma_","bzip2_"].map((function(e){return{value:e,content:e}}))),subItemsMap:{zlib_:k(1,9),zstd_:k(1,21),brotli_:k(1,11),lzma_:k(0,9),bzip2_:k(1,9)}};function k(e,t){for(var n=[],r=e;r<=t;++r)n.push({value:String(r),content:String(r)});return n}function z(e){if(!e)return[C.HL];for(var t in P.subItemsMap)if(e.startsWith(t))return[t,e.substr(t.length)];return[e]}function T(e){return m()(e,[C.HL])?"":null==e?void 0:e.join("")}var E={REPLICATION:"replication",ERASURE:"erasure"},I=[{value:"lrc_12_2_2",title:"lrc_12_2_2 (recommended)"},{value:"reed_solomon_6_3",title:"reed_solomon_6_3"}];function O(e){return e&&"none"!==e?E.ERASURE:E.REPLICATION}function R(e){return e&&"none"!==e?e:I[0].value}function S(e,t){return e===E.REPLICATION?"none":t||I[0].value}var L={NONE:"none",COMPRESSED:"compressed",UNCOMPRESSED:"uncompressed"};function B(e){return{ui_marker:e}}function M(e,t,n){return null==t?{command:"remove",parameters:(0,i.A)({path:e},n)}:{command:"set",parameters:(0,i.A)((0,i.A)({path:e},n),{},{force:!0}),input:t}}var U={REPLICATED_TABLE:"replicated_table",REPLICATION_LOG_TABLE:"replication_log_table",CHAOS_REPLICATED_TABLE:"chaos_replicated_table",MAP_NODE:"map_node",TABLE:"table"};function D(e,t){return H.apply(this,arguments)}function H(){return(H=(0,a.A)(l().mark((function e(t,n){var o,a,i,u,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.length){e.next=2;break}return e.abrupt("return",Promise.resolve());case 2:o={},v()(n,(function(e){for(var t=e.split("/"),n=1;n<t.length;++n){var r=t.slice(0,n).join("/");r&&(o[r]=!0)}})),a=Object.keys(o).sort(),i=(0,r.A)(a),e.prev=6,s=l().mark((function e(){var n,r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=u.value,r=t+"/@"+n,e.next=4,N().v3.exists({path:r}).then((function(e){if(!e)return N().v3.set({path:r},{})}));case 4:case"end":return e.stop()}}),e)})),i.s();case 9:if((u=i.n()).done){e.next=13;break}return e.delegateYield(s(),"t0",11);case 11:e.next=9;break;case 13:e.next=18;break;case 15:e.prev=15,e.t1=e.catch(6),i.e(e.t1);case 18:return e.prev=18,i.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,null,[[6,15,18,21]])})))).apply(this,arguments)}function F(e,t){if(A()(t))return Promise.resolve();var n=[],r=[],i={};return v()(t,(function(t){var a=t.attr,u=t.value,s=a.split("/");if(1===s.length){var l=e+"/@"+s.join("/");n.push(M(l,u))}else{var c=s.splice(s.length-1,1),d=(0,o.A)(c,1)[0],p=s.join("/");r.push(p);var v=e+"/@"+p;(i[v]=i[v]||{})[d]=u}})),Promise.all([].concat((0,u.A)(n.length?[(0,j.Mt)(y.Qq.executeBatch(y.Vu.updateNodeAttributes,{requests:n}),"Failed to update node attributes")]:[]),[D(e,r).then((function(){if(A()(i))return Promise.resolve([]);var e=b()(i,function(){var e=(0,a.A)(l().mark((function e(t,n){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=V(n,t),e.next=3,r;case 3:return e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}());return Promise.all(e)}))]))}function V(e,t){if(A()(t))return Promise.resolve();var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=d()(n);return v()(t,(function(e,t){void 0===e?delete r[t]:r[t]=e})),m()(n,r)?Promise.resolve():N().v3.set({path:e},r)};return N().v3.exists({path:e}).then((function(t){return t?y.Qq.get(y.Vu.updateAttributes,{path:e}).then(n):n({})}))}function q(e,t,n){return{command:e,parameters:t,setup:n}}function Y(e){var t=_()(e,(function(e){return-1===e.indexOf("/")})),n=(0,o.A)(t,2),r=n[0],a=n[1];return a.length?{keys:r,paths:a}:r}},10559:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(40319),o=n(64922);const a=function(e){return(0,o.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,o.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z",clipRule:"evenodd"})}))}}}]);
|
2
|
-
//# sourceMappingURL=8460.
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[8460],{14880:(e,t,n)=>{n.d(t,{A:()=>c});var r=n(40319),o=n(18801),a=(n(77810),n(15647)),i=n(97536),u=n(57614),s=n(64922),l=["title","getPathProps","path","exactPath","attribute","attributes","openAttributesModal","withTooltip","tooltipProps"];const c=(0,a.Ng)(null,{openAttributesModal:u.V6})((function(e){var t=e.title,n=e.getPathProps,a=void 0===n?function(){return{}}:n,u=e.path,c=e.exactPath,d=e.attribute,p=e.attributes,v=e.openAttributesModal,f=e.withTooltip,m=void 0===f||f,h=e.tooltipProps,A=void 0===h?{placement:"bottom-end",content:"Show attributes"}:h,x=(0,o.A)(e,l);return(0,s.jsx)(i.A,(0,r.A)((0,r.A)({},x),{},{tooltipProps:A,withTooltip:m,onClick:function(){var e=(0,r.A)({path:u,exactPath:c},a());v((0,r.A)((0,r.A)({title:t},e),{},{attribute:d,attributes:p}))}}))}))},34413:(e,t,n)=>{n.d(t,{A:()=>N});var r=n(40319),o=n(77810),a=n(76872),i=n(88314),u=n.n(i),s=n(10559),l=n(85137),c=n(55695),d=n(92423),p=n(72679),v=n(38226),f=n(44458),m=n(64922),h=(0,a.A)("yt-page-counter");function A(e){var t=e.pageIndex,n=e.pageCount,r=e.className;return void 0===t||void 0===n?null:n>1?(0,m.jsxs)("span",{className:h(null,r),children:["Page: ",(t||0)+1," / ",n]}):null}const x=o.memo(A);var b=n(38198),g=n(12680),_=(0,a.A)("column-header");function w(e){var t=e.column,n=e.title,r=e.shortTitle,o=null!=n?n:u()(t);return{nameContent:r||o,titleContent:o}}function N(e){var t=e.className,n=e.align,a=e.order,i=e.onSort,u=e.multisortIndex,s=e.loading,c=e.pageIndex,d=e.pageCount,p=function(e){if(void 0===e.options){var t=e.column,n=e.allowUnordered,o=e.withUndefined,a=e.title,i=e.shortTitle,u=e.allowedOrderTypes;return(0,r.A)({column:t,allowUnordered:n,withUndefined:o,allowedOrderTypes:u},w({column:t,title:a,shortTitle:i}))}var s=e.column,l=e.options,c=e.title,d=e.shortTitle,p=l.find((function(e){var t=e.column;return s===t}));return p||(0,g.N1)({message:"Unexpected behavior: missing value in ColumnHeader.props.options",additional:e}),(0,r.A)((0,r.A)({subColumn:w((0,r.A)({},p))},p),w({column:"",title:c,shortTitle:d}))}(e),h=p.column,A=p.allowUnordered,N=p.withUndefined,j=p.nameContent,y=p.titleContent,P=p.allowedOrderTypes,k=p.subColumn,z=o.useCallback((function(e){var t=P?(0,f.Pc)(a,P):(0,f.$N)(a,A,N);null==i||i(h,t,{currentOrder:a,multisort:e.ctrlKey||e.metaKey})}),[h,a,i,A,P,N]),T=Boolean(i);return(0,m.jsxs)("div",{className:_(null,t),children:[(0,m.jsxs)("div",{className:_("label-icon",{sortable:T,align:n}),onClick:T?z:void 0,children:[(0,m.jsx)("span",{className:_("label"),title:y,children:j}),T&&(0,m.jsx)("span",{className:_("icon"),children:(0,m.jsx)(v.A,{order:a})}),void 0!==u&&(0,m.jsxs)("span",{className:_("multisort"),children:[" ",(0,m.jsx)("sup",{children:u})]}),Boolean(a)&&Boolean(k)&&(0,m.jsx)(l.E,{className:_("label",{"sub-column":!0}),variant:"caption-2",title:null==k?void 0:k.titleContent,color:"dark-secondary",children:null==k?void 0:k.nameContent})]}),(0,m.jsx)(C,{options:e.options,order:a,onSort:i}),void 0!==s&&(0,m.jsx)("div",{className:_("loader"),children:(0,m.jsx)(b.A,{visible:s})}),Boolean(d)&&(0,m.jsx)(x,{className:_("page-counter"),pageIndex:c,pageCount:d})]})}function C(e){var t=e.order,n=e.options,r=e.onSort;return n?(0,m.jsx)(c.r,{items:n.map((function(e){return{text:w(e).titleContent,action:function(){if(r){var n=e.column,o=e.allowUnordered,a=e.withUndefined,i=e.allowedOrderTypes,u=i?(0,f.Pc)(t,i):(0,f.$N)(t,o,a);r(n,u,{currentOrder:t})}}}})),renderSwitcher:function(e){var t=e.onClick;return(0,m.jsx)(d.$,{onClick:t,view:"flat",size:"xs",children:(0,m.jsx)(p.I,{size:12,data:s.A})})}}):null}},17852:(e,t,n)=>{n.d(t,{D7:()=>v,lN:()=>A,om:()=>p,ps:()=>m});var r=n(13322),o=n(40319),a=n(76872),i=n(49214),u=n.n(i),s=n(39760),l=n.n(s),c=n(27528),d=n.n(c),p=(0,a.A)("role-list-control");function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=[],o=[],a=[];l()(e,(function(e){var t=e.isUnrecognized,i=e.isRequested,u=e.isApproved,s=e.isDepriving;t?a.push(e):s?o.push(e):u||i?r.push(e):n.push(e)}));var i=n.map((function(e){return f(e)})),u=t.map((function(e){return{title:e,data:{},frozen:!0}}));return{newItems:[],current:{title:"Current",data:i.concat(u)},toAdd:{title:"Will be added",itemClassName:p("item-to-add"),data:r.map((function(e){return f(e,{frozen:!0})}))},toRemove:{title:"Will be removed",itemClassName:p("item-to-remove"),data:o.map((function(e){return f(e,{frozen:!0})}))},unrecognized:{title:"Unrecognized",itemClassName:p("item-unrecognized"),data:a.map((function(e){return f(e,{frozen:!0})}))}}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,o.A)({title:e.text||e.value,data:e},t)}function m(e){var t=e.current,n=e.newItems,o=e.toAdd;return[].concat((0,r.A)(n),(0,r.A)(h(t)),(0,r.A)(h(o)))}function h(e){var t=(e||{}).data;return d()(u()(t,(function(e){return!e.removed})),(function(e){var t=e.data||{};return{type:t.type,value:t.value}}))}function A(e){var t=e.current,n=e.newItems||[],r=(t&&t.data||[]).filter((function(e){return e.removed}));return{added:n.map((function(e){var t=e.type,n=e.value;return"users"===t?{user:n}:{group:n}})),removed:r.map((function(e){var t=e.data||{},n=t.value;return"users"===t.type?{user:n}:{group:n}}))}}},20361:(e,t,n)=>{n.d(t,{J_:()=>b,Vm:()=>P,yz:()=>k,yZ:()=>y,lN:()=>N.lN,Y:()=>g,Ln:()=>w,D7:()=>N.D7,ps:()=>N.ps});var r=n(28407),o=n(70232),a=n.n(o),i=n(77810),u=n(33882),s=n(40319),l=n(9736),c=n(64922),d=n(68175),p=n(76872),v=n(88794),f=n(29347),m=n.n(f),h=n(27528),A=n.n(h),x=(0,p.A)("yt-dialog-error");function b(e){return(0,c.jsx)(v.A,(0,s.A)((0,s.A)({},e),{},{className:x()}))}function g(e){return m()(A()(e,(function(e,t){return e?{name:"error_".concat(t),type:"block",extras:{children:(0,c.jsx)(b,{error:e})}}:void 0})))}var _="FINAL_FORM/form-error";function w(e){return{validationErrors:(0,d.A)({},_,(0,c.jsx)(b,{error:e}))}}var N=n(17852);function C(){return Promise.all([n.e(8096),n.e(4724),n.e(6030),n.e(1086),n.e(164),n.e(2209),n.e(6756),n.e(2640),n.e(6652),n.e(937),n.e(3776),n.e(3716),n.e(5423),n.e(9641),n.e(6019),n.e(3320),n.e(1051),n.e(8512),n.e(7315),n.e(5695),n.e(3990),n.e(3724),n.e(9558),n.e(8427),n.e(1879),n.e(3784),n.e(2736)]).then(n.bind(n,36381))}var j,y=(j=(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.YTDialog,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),function(e){var t=i.useState(!1),n=(0,l.A)(t,2),r=n[0],o=n[1];return i.useEffect((function(){!r&&e.visible&&o(!0)}),[e.visible,r]),r?(0,c.jsx)(j,(0,s.A)({},e)):null});(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.RoleListControl,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");var P=(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.EditableList,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),k=(0,u.A)(i.lazy((0,r.A)(a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.t0=e.sent.TabFieldVertical,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"")},17955:(e,t,n)=>{n.d(t,{x:()=>h});var r=n(77810),o=n(15647),a=n(76872),i=n(27497),u=n(76426),s=n(28640),l=n(34380),c=n(31229),d=n(771),p=n(64922),v=(0,d.X4)(c.mH.reShortNameFromAddress),f=(0,d.X4)(c.mH.reShortNameFromTabletNodeAddress),m=(0,a.A)("yt-host");function h(e){var t=e.address,n=void 0===t?"":t,a=e.prefix,c=e.className,d=e.copyBtnClassName,h=e.onClick,A=e.useText,x=e.asTabletNode,b=e.inlineMargins,g=r.useMemo((function(){return function(e,t){var n=t?f:v;if(n){var r,o=null==n?void 0:n.exec(e);if(null!=o&&null!==(r=o.groups)&&void 0!==r&&r.shortname)return[o.groups.shortname,o.groups.suffix].filter(Boolean).join("")}}(n,x)||n}),[n,x]),_=(0,o.d4)(i.dB);return(0,p.jsxs)("span",{className:m({hidden:!g,"inline-margins":b},["elements-monospace",c].filter(Boolean).join(" ")),onClick:h,children:[a,(0,p.jsx)(l.m,{className:m("tooltip"),content:n,children:A?g:(0,p.jsx)(u.A,{url:"/".concat(_,"/components/nodes/").concat(n),routed:!0,children:g})}),(0,p.jsx)("span",{className:m("copy-btn",d),children:(0,p.jsx)(s.A,{view:"flat-secondary",text:n})})]})}},26777:(e,t,n)=>{n.d(t,{BZ:()=>z,D1:()=>F,Gy:()=>M,N8:()=>U,O6:()=>O,Rh:()=>B,Sz:()=>q,VS:()=>Y,Y:()=>L,Zb:()=>R,o6:()=>S,u_:()=>E,w8:()=>T});var r=n(70353),o=n(9736),a=n(28407),i=n(40319),u=n(13322),s=n(70232),l=n.n(s),c=n(3009),d=n.n(c),p=n(39760),v=n.n(p),f=n(31470),m=n.n(f),h=n(96843),A=n.n(h),x=n(27528),b=n.n(x),g=n(90636),_=n.n(g),w=n(84092),N=n.n(w),C=n(69313),j=n(48971),y=n(64714),P={labels:["codec:","level:"],items:(0,u.A)(["none","snappy","zlib_","lz4","lz4_high_compression","quick_lz","zstd_","brotli_","lzma_","bzip2_"].map((function(e){return{value:e,content:e}}))),subItemsMap:{zlib_:k(1,9),zstd_:k(1,21),brotli_:k(1,11),lzma_:k(0,9),bzip2_:k(1,9)}};function k(e,t){for(var n=[],r=e;r<=t;++r)n.push({value:String(r),content:String(r)});return n}function z(e){if(!e)return[C.HL];for(var t in P.subItemsMap)if(e.startsWith(t))return[t,e.substr(t.length)];return[e]}function T(e){return m()(e,[C.HL])?"":null==e?void 0:e.join("")}var E={REPLICATION:"replication",ERASURE:"erasure"},I=[{value:"lrc_12_2_2",title:"lrc_12_2_2 (recommended)"},{value:"reed_solomon_6_3",title:"reed_solomon_6_3"}];function O(e){return e&&"none"!==e?E.ERASURE:E.REPLICATION}function R(e){return e&&"none"!==e?e:I[0].value}function S(e,t){return e===E.REPLICATION?"none":t||I[0].value}var L={NONE:"none",COMPRESSED:"compressed",UNCOMPRESSED:"uncompressed"};function B(e){return{ui_marker:e}}function M(e,t,n){return null==t?{command:"remove",parameters:(0,i.A)({path:e},n)}:{command:"set",parameters:(0,i.A)((0,i.A)({path:e},n),{},{force:!0}),input:t}}var U={REPLICATED_TABLE:"replicated_table",REPLICATION_LOG_TABLE:"replication_log_table",CHAOS_REPLICATED_TABLE:"chaos_replicated_table",MAP_NODE:"map_node",TABLE:"table"};function D(e,t){return H.apply(this,arguments)}function H(){return(H=(0,a.A)(l().mark((function e(t,n){var o,a,i,u,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.length){e.next=2;break}return e.abrupt("return",Promise.resolve());case 2:o={},v()(n,(function(e){for(var t=e.split("/"),n=1;n<t.length;++n){var r=t.slice(0,n).join("/");r&&(o[r]=!0)}})),a=Object.keys(o).sort(),i=(0,r.A)(a),e.prev=6,s=l().mark((function e(){var n,r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=u.value,r=t+"/@"+n,e.next=4,N().v3.exists({path:r}).then((function(e){if(!e)return N().v3.set({path:r},{})}));case 4:case"end":return e.stop()}}),e)})),i.s();case 9:if((u=i.n()).done){e.next=13;break}return e.delegateYield(s(),"t0",11);case 11:e.next=9;break;case 13:e.next=18;break;case 15:e.prev=15,e.t1=e.catch(6),i.e(e.t1);case 18:return e.prev=18,i.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,null,[[6,15,18,21]])})))).apply(this,arguments)}function F(e,t){if(A()(t))return Promise.resolve();var n=[],r=[],i={};return v()(t,(function(t){var a=t.attr,u=t.value,s=a.split("/");if(1===s.length){var l=e+"/@"+s.join("/");n.push(M(l,u))}else{var c=s.splice(s.length-1,1),d=(0,o.A)(c,1)[0],p=s.join("/");r.push(p);var v=e+"/@"+p;(i[v]=i[v]||{})[d]=u}})),Promise.all([].concat((0,u.A)(n.length?[(0,j.Mt)(y.Qq.executeBatch(y.Vu.updateNodeAttributes,{requests:n}),"Failed to update node attributes")]:[]),[D(e,r).then((function(){if(A()(i))return Promise.resolve([]);var e=b()(i,function(){var e=(0,a.A)(l().mark((function e(t,n){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=V(n,t),e.next=3,r;case 3:return e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}());return Promise.all(e)}))]))}function V(e,t){if(A()(t))return Promise.resolve();var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=d()(n);return v()(t,(function(e,t){void 0===e?delete r[t]:r[t]=e})),m()(n,r)?Promise.resolve():N().v3.set({path:e},r)};return N().v3.exists({path:e}).then((function(t){return t?y.Qq.get(y.Vu.updateAttributes,{path:e}).then(n):n({})}))}function q(e,t,n){return{command:e,parameters:t,setup:n}}function Y(e){var t=_()(e,(function(e){return-1===e.indexOf("/")})),n=(0,o.A)(t,2),r=n[0],a=n[1];return a.length?{keys:r,paths:a}:r}},10559:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(40319),o=n(64922);const a=function(e){return(0,o.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,o.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z",clipRule:"evenodd"})}))}}}]);
|
2
|
+
//# sourceMappingURL=8460.fc8e2238.chunk.js.map
|