@gravity-ui/querieskit 1.6.0 → 1.8.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/README.md +88 -3
- package/build/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
- package/build/cjs/components/Breadcrumbs/Breadcrumbs.js +19 -6
- package/build/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js +3 -1
- package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -1
- package/build/cjs/modules/NavigationDetail/NavigationDetail.d.ts +3 -1
- package/build/cjs/modules/NavigationDetail/NavigationDetail.js +4 -0
- package/build/cjs/modules/NavigationDetail/NavigationDetail.js.map +1 -1
- package/build/cjs/modules/NavigationHeader/NavigationHeader.d.ts +3 -1
- package/build/cjs/modules/NavigationHeader/NavigationHeader.js +7 -1
- package/build/cjs/modules/NavigationHeader/NavigationHeader.js.map +1 -1
- package/build/cjs/modules/NavigationItemsList/NavigationItemsList.d.ts +3 -2
- package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js +2 -1
- package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
- package/build/cjs/modules/NavigationItemsList/internal/useParentRow.d.ts +1 -1
- package/build/cjs/modules/NavigationItemsList/internal/useParentRow.js +2 -1
- package/build/cjs/modules/NavigationItemsList/internal/useParentRow.js.map +1 -1
- package/build/cjs/modules/TutorialRow/TutorialRow.d.ts +3 -1
- package/build/cjs/modules/TutorialRow/TutorialRow.js +3 -1
- package/build/cjs/modules/TutorialRow/TutorialRow.js.map +1 -1
- package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.d.ts +3 -1
- package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js +3 -1
- package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
- package/build/cjs/types/navigation.d.ts +11 -0
- package/build/cjs/types/navigation.js.map +1 -1
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.d.ts +3 -2
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js +8 -0
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.d.ts +3 -0
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.js +166 -1
- package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.js.map +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.d.ts +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js +6 -3
- package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.d.ts +7 -2
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js +13 -3
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.stories.d.ts +5 -0
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.stories.js +244 -1
- package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.stories.js.map +1 -1
- package/build/esm/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
- package/build/esm/components/Breadcrumbs/Breadcrumbs.js +19 -6
- package/build/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js +3 -1
- package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -1
- package/build/esm/modules/NavigationDetail/NavigationDetail.d.ts +3 -1
- package/build/esm/modules/NavigationDetail/NavigationDetail.js +4 -0
- package/build/esm/modules/NavigationDetail/NavigationDetail.js.map +1 -1
- package/build/esm/modules/NavigationHeader/NavigationHeader.d.ts +3 -1
- package/build/esm/modules/NavigationHeader/NavigationHeader.js +7 -1
- package/build/esm/modules/NavigationHeader/NavigationHeader.js.map +1 -1
- package/build/esm/modules/NavigationItemsList/NavigationItemsList.d.ts +3 -2
- package/build/esm/modules/NavigationItemsList/NavigationItemsList.js +2 -1
- package/build/esm/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
- package/build/esm/modules/NavigationItemsList/internal/useParentRow.d.ts +1 -1
- package/build/esm/modules/NavigationItemsList/internal/useParentRow.js +2 -1
- package/build/esm/modules/NavigationItemsList/internal/useParentRow.js.map +1 -1
- package/build/esm/modules/TutorialRow/TutorialRow.d.ts +3 -1
- package/build/esm/modules/TutorialRow/TutorialRow.js +3 -1
- package/build/esm/modules/TutorialRow/TutorialRow.js.map +1 -1
- package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.d.ts +3 -1
- package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js +3 -1
- package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
- package/build/esm/types/navigation.d.ts +11 -0
- package/build/esm/types/navigation.js.map +1 -1
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.d.ts +3 -2
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js +8 -0
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.d.ts +3 -0
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.js +166 -1
- package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.js.map +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialRowContent.d.ts +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js +6 -3
- package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.d.ts +7 -2
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js +13 -3
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.stories.d.ts +5 -0
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.stories.js +244 -1
- package/build/esm/widgets/TutorialsHistory/TutorialsHistory.stories.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_QueriesNavigation","_createNavigationDetailResolver","_createTableDetailConfig","_actions","_PathEditorStories","_uikit","_components","_mockData","_mockData2","_mockData3","_mockData4","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","FileArrowRightOutIcon","props","_jsx","_objectSpread","children","fill","fillRule","d","clipRule","defaultProps","xmlns","width","height","viewBox","ArrowUpRightFromSquareIcon","CodeIcon","GearIcon","meta","title","component","QueriesNavigation","tags","parameters","layout","onBreadcrumbsUpdate","action","logAction","defaultActions","id","content","Icon","data","size","onClick","location","CLUSTERS","color","backgroundColor","description","ITEM_NAMES","kind","hasChildren","disabled","getPathDepth","path","split","filter","Boolean","length","getItemsForPath","sort","arguments","undefined","concat","_ref","_ref2","leftTitle","rightTitle","localeCompare","map","_ref3","_default","exports","TABLE_VIEW_SECTIONS_WITH_ACTIONS","columns","VIEW_COLUMNS","rows","makeViewRows","loaded","defaultExpanded","actions","section","useLocationState","initial","_useState","useState","_useState2","_slicedToArray","setLocation","onUpdate","next","useNavigationStoryState","_useLocationState","_useState3","_useState4","setSort","items","ClustersToItemsStory","_useNavigationStorySt","cluster","_useState5","_useState6","openedItem","setOpenedItem","resolveDetail","createNavigationDetailResolver","table","createTableDetailConfig","resolveSchema","SCHEMA_COLUMNS","resolvePreview","PREVIEW_COLUMNS","PREVIEW_ROWS","resolveMeta","groups","META_GROUPS","resolveView","sections","style","header","onLoadSuggestions","mockLoadPathSuggestions","clusters","value","detail","onItemOpen","item","onClose","resolve","onClusterClick","onItemClick","LoadingStory","_useLocationState2","listState","loading","EmptyStory","_useLocationState3","EmptySearchStory","_useLocationState4","_useState7","_useState8","search","setSearch","ErrorStory","_useLocationState5","error","CUSTOM_CLUSTERS","_cluster$description","env","getCustomItemsForPath","index","owner","CustomRowsStory","_useLocationState6","_useState9","_useState0","renderClusterItem","_ref4","_jsxs","Flex","alignItems","gap","padding","ClusterRow","Label","theme","renderNavigationItem","_ref5","isParentRow","NavigationItemRow","Text","variant","CustomDetailResolverStory","_useLocationState7","_useState1","_useState10","file","tabs","hasSearch","ClustersToItems","render","Loading","Empty","EmptySearch","Error","CustomRows","CustomDetailResolver"],"sources":["QueriesNavigation.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {QueriesNavigation} from './QueriesNavigation';\nimport {createNavigationDetailResolver} from './helpers/createNavigationDetailResolver';\nimport {createTableDetailConfig} from './helpers/createTableDetailConfig';\nimport {action} from 'storybook/actions';\nimport {\n NavigationCluster,\n NavigationHeaderAction,\n NavigationItem,\n NavigationLocation,\n NavigationSortOrder,\n NavigationViewSection,\n} from '../../types/navigation';\nimport {mockLoadPathSuggestions} from '../../components/PathEditor/PathEditor.stories.helpers';\nimport FileArrowRightOutIcon from '@gravity-ui/icons/svgs/file-arrow-right-out.svg';\nimport ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';\nimport CodeIcon from '@gravity-ui/icons/svgs/code.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport {Flex, Icon, Label, Text} from '@gravity-ui/uikit';\nimport {ClusterRow, NavigationItemRow} from '../../components';\nimport {SCHEMA_COLUMNS} from '../../modules/NavigationSchema/story/mockData';\nimport {PREVIEW_COLUMNS, PREVIEW_ROWS} from '../../modules/NavigationPreview/story/mockData';\nimport {META_GROUPS} from '../../modules/NavigationMeta/story/mockData';\nimport {VIEW_COLUMNS, makeViewRows} from '../../modules/NavigationView/story/mockData';\n\nconst meta: Meta<typeof QueriesNavigation> = {\n title: 'Widgets/QueriesNavigation',\n component: QueriesNavigation,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n};\n\nconst onBreadcrumbsUpdate = action('onUpdate');\nconst logAction = action('actionClick');\n\nconst defaultActions: NavigationHeaderAction[] = [\n {\n id: 'paste',\n title: 'Paste path',\n content: <Icon data={FileArrowRightOutIcon} size={16} />,\n onClick: (location) => logAction('Paste', location),\n },\n {\n id: 'open',\n title: 'Open in new tab',\n content: <Icon data={ArrowUpRightFromSquareIcon} size={16} />,\n onClick: (location) => logAction('Open', location),\n },\n];\n\nconst CLUSTERS: NavigationCluster[] = [\n {\n id: 'northstar',\n title: 'Northstar',\n color: 'white',\n backgroundColor: 'rgba(218, 68, 83, 1)',\n description: 'Production',\n },\n {\n id: 'cedar',\n title: 'Cedar',\n color: 'white',\n backgroundColor: 'rgba(127, 130, 133, 1)',\n description: 'Production',\n },\n {\n id: 'sequoia',\n title: 'Sequoia',\n color: 'white',\n backgroundColor: 'rgba(215, 112, 173, 1)',\n description: 'Production',\n },\n {\n id: 'pioneer-test',\n title: 'Pioneer-Test',\n color: 'white',\n backgroundColor: 'rgba(150, 122, 220, 1)',\n description: 'Testing',\n },\n {\n id: 'orbit',\n title: 'Orbit',\n color: 'white',\n backgroundColor: 'rgba(233, 87, 63, 1)',\n description: 'Production',\n },\n {\n id: 'lighthouse',\n title: 'Lighthouse',\n color: 'white',\n backgroundColor: 'rgba(67, 68, 69, 1)',\n description: 'Production',\n },\n {\n id: 'northstar-gnd',\n title: 'Northstar-GND',\n color: 'white',\n backgroundColor: 'rgba(140, 193, 82, 1)',\n description: 'tesdting',\n },\n {\n id: 'harbor',\n title: 'Harbor',\n color: 'white',\n backgroundColor: 'rgba(55, 188, 155, 1)',\n description: 'Production',\n },\n {\n id: 'cedar-gnd',\n title: 'Cedar-GND',\n color: 'white',\n backgroundColor: 'rgba(140, 193, 82, 1)',\n description: 'Prestable',\n },\n];\n\nconst ITEM_NAMES: Array<Pick<NavigationItem, 'title' | 'kind' | 'hasChildren' | 'disabled'>> = [\n {title: 'abcdapter', kind: 'folder', hasChildren: true},\n {title: 'access_control_object', kind: 'file'},\n {title: 'account_tree', kind: 'folder', hasChildren: true, disabled: true},\n {title: 'cell_balancers', kind: 'folder', hasChildren: true},\n {title: 'clusters', kind: 'folder', hasChildren: true},\n {title: 'doctors_table', kind: 'table'},\n];\n\nconst getPathDepth = (path: string | undefined): number =>\n (path ?? '').split('/').filter(Boolean).length;\n\nconst getItemsForPath = (\n path: string | undefined,\n sort: NavigationSortOrder = 'asc',\n): NavigationItem[] => {\n if (getPathDepth(path) > 1) {\n return [];\n }\n\n return [...ITEM_NAMES]\n .sort(({title: leftTitle}, {title: rightTitle}) =>\n sort === 'asc'\n ? leftTitle.localeCompare(rightTitle)\n : rightTitle.localeCompare(leftTitle),\n )\n .map(({title, kind, hasChildren, disabled}) => ({\n path: `${path ?? ''}/${title}`,\n title,\n kind,\n hasChildren,\n disabled,\n }));\n};\n\nexport default meta;\ntype Story = StoryObj<typeof QueriesNavigation>;\n\nconst TABLE_VIEW_SECTIONS_WITH_ACTIONS: NavigationViewSection[] = [\n {\n id: 'general',\n title: 'General',\n columns: VIEW_COLUMNS,\n rows: makeViewRows(2),\n loaded: true,\n defaultExpanded: true,\n actions: [\n {\n id: 'code',\n title: 'Show code',\n content: <Icon data={CodeIcon} size={14} />,\n onClick: (section) => logAction('ViewShowCode', section.id),\n },\n {\n id: 'settings',\n title: 'Settings',\n content: <Icon data={GearIcon} size={14} />,\n onClick: (section) => logAction('ViewSettings', section.id),\n },\n ],\n },\n {\n id: 'attributes',\n title: 'Attributes',\n columns: VIEW_COLUMNS,\n rows: makeViewRows(2),\n loaded: true,\n },\n];\n\nconst useLocationState = (initial: NavigationLocation) => {\n const [location, setLocation] = useState<NavigationLocation>(initial);\n const onUpdate = (next: NavigationLocation) => {\n onBreadcrumbsUpdate(next);\n setLocation(next);\n };\n return {location, onUpdate};\n};\n\nconst useNavigationStoryState = (initial: NavigationLocation) => {\n const {location, onUpdate} = useLocationState(initial);\n const [sort, setSort] = useState<NavigationSortOrder>('asc');\n const items = getItemsForPath(location.path, sort);\n\n return {location, onUpdate, sort, setSort, items};\n};\n\nconst ClustersToItemsStory = () => {\n const {location, onUpdate, sort, setSort, items} = useNavigationStoryState({\n cluster: undefined,\n path: undefined,\n });\n const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);\n\n const resolveDetail = createNavigationDetailResolver({\n table: createTableDetailConfig({\n resolveSchema: () => ({columns: SCHEMA_COLUMNS, loaded: true}),\n resolvePreview: () => ({\n columns: PREVIEW_COLUMNS,\n rows: PREVIEW_ROWS,\n loaded: true,\n }),\n resolveMeta: () => ({groups: META_GROUPS, loaded: true}),\n resolveView: () => ({sections: TABLE_VIEW_SECTIONS_WITH_ACTIONS, loaded: true}),\n }),\n });\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={CLUSTERS}\n items={items}\n sort={{value: sort, onUpdate: setSort}}\n detail={{\n openedItem,\n onItemOpen: (item) => {\n action('onItemOpen')(item);\n setOpenedItem(item);\n },\n onClose: () => setOpenedItem(undefined),\n resolve: resolveDetail,\n }}\n onClusterClick={action('onClusterClick')}\n onItemClick={action('onItemClick')}\n />\n </div>\n );\n};\n\nconst LoadingStory = () => {\n const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={[]}\n listState={{loading: true}}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home/empty'});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n items={[]}\n />\n </div>\n );\n};\n\nconst EmptySearchStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});\n const [search, setSearch] = useState('no-such-item');\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n items={[]}\n search={{value: search, onUpdate: setSearch}}\n />\n </div>\n );\n};\n\nconst ErrorStory = () => {\n const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={[]}\n listState={{error: 'Custom load error message'}}\n />\n </div>\n );\n};\n\ntype CustomCluster = NavigationCluster & {env: string};\ntype CustomItem = NavigationItem & {owner?: string};\n\nconst CUSTOM_CLUSTERS: CustomCluster[] = CLUSTERS.map((cluster) => ({\n ...cluster,\n env: cluster.description ?? 'Unknown',\n}));\n\nconst getCustomItemsForPath = (path: string | undefined, sort: NavigationSortOrder): CustomItem[] =>\n getItemsForPath(path, sort).map((item, index) => ({\n ...item,\n owner: index % 2 === 0 ? 'robot' : 'user',\n }));\n\nconst CustomRowsStory = () => {\n const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});\n const [sort, setSort] = useState<NavigationSortOrder>('asc');\n\n return (\n <div style={{width: 340, height: 500}}>\n <QueriesNavigation<CustomItem, CustomCluster>\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={CUSTOM_CLUSTERS}\n items={getCustomItemsForPath(location.path, sort)}\n sort={{value: sort, onUpdate: setSort}}\n renderClusterItem={({cluster}) => (\n <Flex alignItems=\"center\" gap={2} style={{width: '100%', padding: '0 8px'}}>\n <ClusterRow cluster={cluster} />\n <Label theme=\"info\">{cluster.env}</Label>\n </Flex>\n )}\n renderNavigationItem={({item, isParentRow}) =>\n isParentRow ? (\n <NavigationItemRow item={item} />\n ) : (\n <Flex alignItems=\"center\" gap={2} style={{width: '100%', padding: '0 8px'}}>\n <NavigationItemRow item={item} />\n {item.owner && (\n <Text color=\"secondary\" variant=\"caption-2\">\n {item.owner}\n </Text>\n )}\n </Flex>\n )\n }\n onClusterClick={action('onClusterClick')}\n onItemClick={action('onItemClick')}\n />\n </div>\n );\n};\n\nconst CustomDetailResolverStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});\n const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);\n\n const resolveDetail = createNavigationDetailResolver({\n file: (item) => ({\n tabs: [\n {id: 'content', title: 'Content', content: `Content of ${item.title}`},\n {id: 'meta', title: 'Meta', content: 'Meta placeholder'},\n ],\n hasSearch: false,\n }),\n });\n\n return (\n <div style={{width: 340, height: 600}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n items={getItemsForPath(location.path)}\n detail={{\n openedItem,\n onItemOpen: setOpenedItem,\n onClose: () => setOpenedItem(undefined),\n resolve: resolveDetail,\n }}\n onItemClick={action('onItemClick')}\n />\n </div>\n );\n};\n\nexport const ClustersToItems: Story = {render: () => <ClustersToItemsStory />};\nexport const Loading: Story = {render: () => <LoadingStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\nexport const EmptySearch: Story = {render: () => <EmptySearchStory />};\nexport const Error: Story = {render: () => <ErrorStory />};\nexport const CustomRows: Story = {render: () => <CustomRowsStory />};\nexport const CustomDetailResolver: Story = {render: () => <CustomDetailResolverStory />};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_QueriesNavigation","_createNavigationDetailResolver","_createTableDetailConfig","_actions","_PathEditorStories","_uikit","_components","_mockData","_mockData2","_mockData3","_mockData4","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","FileArrowRightOutIcon","props","_jsx","_objectSpread","children","fill","fillRule","d","clipRule","defaultProps","xmlns","width","height","viewBox","ArrowUpRightFromSquareIcon","CodeIcon","GearIcon","meta","title","component","QueriesNavigation","tags","parameters","layout","onBreadcrumbsUpdate","action","logAction","defaultActions","id","content","Icon","data","size","onClick","location","CLUSTERS","color","backgroundColor","description","ITEM_NAMES","kind","hasChildren","disabled","getPathDepth","path","split","filter","Boolean","length","getItemsForPath","sort","arguments","undefined","concat","_ref","_ref2","leftTitle","rightTitle","localeCompare","map","_ref3","_default","exports","TABLE_VIEW_SECTIONS_WITH_ACTIONS","columns","VIEW_COLUMNS","rows","makeViewRows","loaded","defaultExpanded","actions","section","useLocationState","initial","_useState","useState","_useState2","_slicedToArray","setLocation","onUpdate","next","useNavigationStoryState","_useLocationState","_useState3","_useState4","setSort","items","ClustersToItemsStory","_useNavigationStorySt","cluster","_useState5","_useState6","openedItem","setOpenedItem","resolveDetail","createNavigationDetailResolver","table","createTableDetailConfig","resolveSchema","SCHEMA_COLUMNS","resolvePreview","PREVIEW_COLUMNS","PREVIEW_ROWS","resolveMeta","groups","META_GROUPS","resolveView","sections","style","header","onLoadSuggestions","mockLoadPathSuggestions","clusters","value","detail","onItemOpen","item","onClose","resolve","onClusterClick","onItemClick","LoadingStory","_useLocationState2","listState","loading","EmptyStory","_useLocationState3","EmptySearchStory","_useLocationState4","_useState7","_useState8","search","setSearch","ErrorStory","_useLocationState5","error","CUSTOM_CLUSTERS","_cluster$description","env","getCustomItemsForPath","index","owner","CustomRowsStory","_useLocationState6","_useState9","_useState0","renderClusterItem","_ref4","_jsxs","Flex","alignItems","gap","padding","ClusterRow","Label","theme","renderNavigationItem","_ref5","isParentRow","NavigationItemRow","Text","variant","CustomDetailResolverStory","_useLocationState7","_useState1","_useState10","file","tabs","hasSearch","CustomHeaderActionsStory","_useNavigationStorySt2","renderActions","_ref6","_actionLocation$path","actionLocation","menuItems","_ref7","hidden","_ref8","text","href","shrink","DropdownMenu","renderSwitcher","Button","view","target","LinkedBreadcrumbsStory","_useNavigationStorySt3","_useState11","_useState12","getBreadcrumbHref","_ref9","ParentRowDuringSearchStory","_useLocationState8","_useState13","_useState14","_ref0","includes","parentRow","showDuringSearch","_ref1","ClustersToItems","render","Loading","Empty","EmptySearch","Error","CustomRows","CustomDetailResolver","CustomHeaderActions","LinkedBreadcrumbs","ParentRowDuringSearch"],"sources":["QueriesNavigation.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {QueriesNavigation} from './QueriesNavigation';\nimport {createNavigationDetailResolver} from './helpers/createNavigationDetailResolver';\nimport {createTableDetailConfig} from './helpers/createTableDetailConfig';\nimport {action} from 'storybook/actions';\nimport {\n NavigationCluster,\n NavigationHeaderAction,\n NavigationItem,\n NavigationLocation,\n NavigationSortOrder,\n NavigationViewSection,\n} from '../../types/navigation';\nimport {mockLoadPathSuggestions} from '../../components/PathEditor/PathEditor.stories.helpers';\nimport FileArrowRightOutIcon from '@gravity-ui/icons/svgs/file-arrow-right-out.svg';\nimport ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';\nimport CodeIcon from '@gravity-ui/icons/svgs/code.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport {\n Button,\n DropdownMenu,\n type DropdownMenuItem,\n Flex,\n Icon,\n Label,\n Text,\n} from '@gravity-ui/uikit';\nimport {ClusterRow, NavigationItemRow} from '../../components';\nimport {SCHEMA_COLUMNS} from '../../modules/NavigationSchema/story/mockData';\nimport {PREVIEW_COLUMNS, PREVIEW_ROWS} from '../../modules/NavigationPreview/story/mockData';\nimport {META_GROUPS} from '../../modules/NavigationMeta/story/mockData';\nimport {VIEW_COLUMNS, makeViewRows} from '../../modules/NavigationView/story/mockData';\n\nconst meta: Meta<typeof QueriesNavigation> = {\n title: 'Widgets/QueriesNavigation',\n component: QueriesNavigation,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n};\n\nconst onBreadcrumbsUpdate = action('onUpdate');\nconst logAction = action('actionClick');\n\nconst defaultActions: NavigationHeaderAction[] = [\n {\n id: 'paste',\n title: 'Paste path',\n content: <Icon data={FileArrowRightOutIcon} size={16} />,\n onClick: (location) => logAction('Paste', location),\n },\n {\n id: 'open',\n title: 'Open in new tab',\n content: <Icon data={ArrowUpRightFromSquareIcon} size={16} />,\n onClick: (location) => logAction('Open', location),\n },\n];\n\nconst CLUSTERS: NavigationCluster[] = [\n {\n id: 'northstar',\n title: 'Northstar',\n color: 'white',\n backgroundColor: 'rgba(218, 68, 83, 1)',\n description: 'Production',\n },\n {\n id: 'cedar',\n title: 'Cedar',\n color: 'white',\n backgroundColor: 'rgba(127, 130, 133, 1)',\n description: 'Production',\n },\n {\n id: 'sequoia',\n title: 'Sequoia',\n color: 'white',\n backgroundColor: 'rgba(215, 112, 173, 1)',\n description: 'Production',\n },\n {\n id: 'pioneer-test',\n title: 'Pioneer-Test',\n color: 'white',\n backgroundColor: 'rgba(150, 122, 220, 1)',\n description: 'Testing',\n },\n {\n id: 'orbit',\n title: 'Orbit',\n color: 'white',\n backgroundColor: 'rgba(233, 87, 63, 1)',\n description: 'Production',\n },\n {\n id: 'lighthouse',\n title: 'Lighthouse',\n color: 'white',\n backgroundColor: 'rgba(67, 68, 69, 1)',\n description: 'Production',\n },\n {\n id: 'northstar-gnd',\n title: 'Northstar-GND',\n color: 'white',\n backgroundColor: 'rgba(140, 193, 82, 1)',\n description: 'tesdting',\n },\n {\n id: 'harbor',\n title: 'Harbor',\n color: 'white',\n backgroundColor: 'rgba(55, 188, 155, 1)',\n description: 'Production',\n },\n {\n id: 'cedar-gnd',\n title: 'Cedar-GND',\n color: 'white',\n backgroundColor: 'rgba(140, 193, 82, 1)',\n description: 'Prestable',\n },\n];\n\nconst ITEM_NAMES: Array<Pick<NavigationItem, 'title' | 'kind' | 'hasChildren' | 'disabled'>> = [\n {title: 'abcdapter', kind: 'folder', hasChildren: true},\n {title: 'access_control_object', kind: 'file'},\n {title: 'account_tree', kind: 'folder', hasChildren: true, disabled: true},\n {title: 'cell_balancers', kind: 'folder', hasChildren: true},\n {title: 'clusters', kind: 'folder', hasChildren: true},\n {title: 'doctors_table', kind: 'table'},\n];\n\nconst getPathDepth = (path: string | undefined): number =>\n (path ?? '').split('/').filter(Boolean).length;\n\nconst getItemsForPath = (\n path: string | undefined,\n sort: NavigationSortOrder = 'asc',\n): NavigationItem[] => {\n if (getPathDepth(path) > 1) {\n return [];\n }\n\n return [...ITEM_NAMES]\n .sort(({title: leftTitle}, {title: rightTitle}) =>\n sort === 'asc'\n ? leftTitle.localeCompare(rightTitle)\n : rightTitle.localeCompare(leftTitle),\n )\n .map(({title, kind, hasChildren, disabled}) => ({\n path: `${path ?? ''}/${title}`,\n title,\n kind,\n hasChildren,\n disabled,\n }));\n};\n\nexport default meta;\ntype Story = StoryObj<typeof QueriesNavigation>;\n\nconst TABLE_VIEW_SECTIONS_WITH_ACTIONS: NavigationViewSection[] = [\n {\n id: 'general',\n title: 'General',\n columns: VIEW_COLUMNS,\n rows: makeViewRows(2),\n loaded: true,\n defaultExpanded: true,\n actions: [\n {\n id: 'code',\n title: 'Show code',\n content: <Icon data={CodeIcon} size={14} />,\n onClick: (section) => logAction('ViewShowCode', section.id),\n },\n {\n id: 'settings',\n title: 'Settings',\n content: <Icon data={GearIcon} size={14} />,\n onClick: (section) => logAction('ViewSettings', section.id),\n },\n ],\n },\n {\n id: 'attributes',\n title: 'Attributes',\n columns: VIEW_COLUMNS,\n rows: makeViewRows(2),\n loaded: true,\n },\n];\n\nconst useLocationState = (initial: NavigationLocation) => {\n const [location, setLocation] = useState<NavigationLocation>(initial);\n const onUpdate = (next: NavigationLocation) => {\n onBreadcrumbsUpdate(next);\n setLocation(next);\n };\n return {location, onUpdate};\n};\n\nconst useNavigationStoryState = (initial: NavigationLocation) => {\n const {location, onUpdate} = useLocationState(initial);\n const [sort, setSort] = useState<NavigationSortOrder>('asc');\n const items = getItemsForPath(location.path, sort);\n\n return {location, onUpdate, sort, setSort, items};\n};\n\nconst ClustersToItemsStory = () => {\n const {location, onUpdate, sort, setSort, items} = useNavigationStoryState({\n cluster: undefined,\n path: undefined,\n });\n const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);\n\n const resolveDetail = createNavigationDetailResolver({\n table: createTableDetailConfig({\n resolveSchema: () => ({columns: SCHEMA_COLUMNS, loaded: true}),\n resolvePreview: () => ({\n columns: PREVIEW_COLUMNS,\n rows: PREVIEW_ROWS,\n loaded: true,\n }),\n resolveMeta: () => ({groups: META_GROUPS, loaded: true}),\n resolveView: () => ({sections: TABLE_VIEW_SECTIONS_WITH_ACTIONS, loaded: true}),\n }),\n });\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={CLUSTERS}\n items={items}\n sort={{value: sort, onUpdate: setSort}}\n detail={{\n openedItem,\n onItemOpen: (item) => {\n action('onItemOpen')(item);\n setOpenedItem(item);\n },\n onClose: () => setOpenedItem(undefined),\n resolve: resolveDetail,\n }}\n onClusterClick={action('onClusterClick')}\n onItemClick={action('onItemClick')}\n />\n </div>\n );\n};\n\nconst LoadingStory = () => {\n const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={[]}\n listState={{loading: true}}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home/empty'});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n items={[]}\n />\n </div>\n );\n};\n\nconst EmptySearchStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});\n const [search, setSearch] = useState('no-such-item');\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n items={[]}\n search={{value: search, onUpdate: setSearch}}\n />\n </div>\n );\n};\n\nconst ErrorStory = () => {\n const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});\n\n return (\n <div style={{width: 300, height: 500}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={[]}\n listState={{error: 'Custom load error message'}}\n />\n </div>\n );\n};\n\ntype CustomCluster = NavigationCluster & {env: string};\ntype CustomItem = NavigationItem & {owner?: string};\n\nconst CUSTOM_CLUSTERS: CustomCluster[] = CLUSTERS.map((cluster) => ({\n ...cluster,\n env: cluster.description ?? 'Unknown',\n}));\n\nconst getCustomItemsForPath = (path: string | undefined, sort: NavigationSortOrder): CustomItem[] =>\n getItemsForPath(path, sort).map((item, index) => ({\n ...item,\n owner: index % 2 === 0 ? 'robot' : 'user',\n }));\n\nconst CustomRowsStory = () => {\n const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});\n const [sort, setSort] = useState<NavigationSortOrder>('asc');\n\n return (\n <div style={{width: 340, height: 500}}>\n <QueriesNavigation<CustomItem, CustomCluster>\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n clusters={CUSTOM_CLUSTERS}\n items={getCustomItemsForPath(location.path, sort)}\n sort={{value: sort, onUpdate: setSort}}\n renderClusterItem={({cluster}) => (\n <Flex alignItems=\"center\" gap={2} style={{width: '100%', padding: '0 8px'}}>\n <ClusterRow cluster={cluster} />\n <Label theme=\"info\">{cluster.env}</Label>\n </Flex>\n )}\n renderNavigationItem={({item, isParentRow}) =>\n isParentRow ? (\n <NavigationItemRow item={item} />\n ) : (\n <Flex alignItems=\"center\" gap={2} style={{width: '100%', padding: '0 8px'}}>\n <NavigationItemRow item={item} />\n {item.owner && (\n <Text color=\"secondary\" variant=\"caption-2\">\n {item.owner}\n </Text>\n )}\n </Flex>\n )\n }\n onClusterClick={action('onClusterClick')}\n onItemClick={action('onItemClick')}\n />\n </div>\n );\n};\n\nconst CustomDetailResolverStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});\n const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);\n\n const resolveDetail = createNavigationDetailResolver({\n file: (item) => ({\n tabs: [\n {id: 'content', title: 'Content', content: `Content of ${item.title}`},\n {id: 'meta', title: 'Meta', content: 'Meta placeholder'},\n ],\n hasSearch: false,\n }),\n });\n\n return (\n <div style={{width: 340, height: 600}}>\n <QueriesNavigation\n location={location}\n header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}\n onUpdate={onUpdate}\n items={getItemsForPath(location.path)}\n detail={{\n openedItem,\n onItemOpen: setOpenedItem,\n onClose: () => setOpenedItem(undefined),\n resolve: resolveDetail,\n }}\n onItemClick={action('onItemClick')}\n />\n </div>\n );\n};\n\nconst CustomHeaderActionsStory = () => {\n const {location, onUpdate, items} = useNavigationStoryState({\n cluster: 'northstar',\n path: '/home',\n });\n\n return (\n <div style={{width: 420, height: 500}}>\n <QueriesNavigation\n location={location}\n onUpdate={onUpdate}\n items={items}\n header={{\n actions: defaultActions,\n renderActions: ({location: actionLocation, actions}) => {\n const menuItems = actions\n .filter(({hidden}) => !hidden)\n .map<DropdownMenuItem>(({title, disabled, onClick}) => ({\n text: title,\n disabled,\n action: () => onClick(actionLocation),\n }));\n const href = `/navigation/${actionLocation.cluster}${actionLocation.path ?? ''}`;\n\n return (\n <Flex gap={1} shrink={0}>\n <DropdownMenu\n size=\"s\"\n items={menuItems}\n renderSwitcher={(props) => (\n <Button {...props} view=\"flat\" size=\"s\">\n Favorites\n </Button>\n )}\n />\n <Button view=\"flat\" size=\"s\" href={href} target=\"_blank\">\n Open\n </Button>\n </Flex>\n );\n },\n }}\n />\n </div>\n );\n};\n\nconst LinkedBreadcrumbsStory = () => {\n const {location, onUpdate, items} = useNavigationStoryState({\n cluster: 'northstar',\n path: '/home',\n });\n const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);\n\n return (\n <div style={{width: 420, height: 500}}>\n <QueriesNavigation\n location={location}\n onUpdate={onUpdate}\n items={items}\n header={{\n actions: defaultActions,\n getBreadcrumbHref: ({cluster, path}) =>\n cluster ? `/navigation/${cluster}${path ?? ''}` : '/navigation',\n }}\n detail={{\n openedItem,\n onItemOpen: setOpenedItem,\n onClose: () => setOpenedItem(undefined),\n }}\n />\n </div>\n );\n};\n\nconst ParentRowDuringSearchStory = () => {\n const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});\n const [search, setSearch] = useState('cluster');\n const items = getItemsForPath(location.path).filter(({title}) => title.includes(search));\n\n return (\n <div style={{width: 340, height: 500}}>\n <QueriesNavigation\n location={location}\n onUpdate={onUpdate}\n items={items}\n search={{value: search, onUpdate: setSearch}}\n parentRow={{showDuringSearch: true}}\n renderNavigationItem={({item, isParentRow}) => (\n <div data-qa={isParentRow ? 'parent-row' : undefined}>\n <NavigationItemRow item={item} />\n </div>\n )}\n />\n </div>\n );\n};\n\nexport const ClustersToItems: Story = {render: () => <ClustersToItemsStory />};\nexport const Loading: Story = {render: () => <LoadingStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\nexport const EmptySearch: Story = {render: () => <EmptySearchStory />};\nexport const Error: Story = {render: () => <ErrorStory />};\nexport const CustomRows: Story = {render: () => <CustomRowsStory />};\nexport const CustomDetailResolver: Story = {render: () => <CustomDetailResolverStory />};\nexport const CustomHeaderActions: Story = {render: () => <CustomHeaderActionsStory />};\nexport const LinkedBreadcrumbs: Story = {render: () => <LinkedBreadcrumbsStory />};\nexport const ParentRowDuringSearch: Story = {render: () => <ParentRowDuringSearchStory />};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,+BAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AASA,IAAAK,kBAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AASA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAAuF,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAD,wBAAAc,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAhB,uBAAA,YAAAA,CAAAc,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAkB,uBAAAnB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAlBQ,IACxFoB,qBAAqB,YAArBA,qBAAqBA,CAAAC,KAAA;EAAA,wBAAAC,eAAA,aAAAC,sBAAA,MAAAA,sBAAA,MAAAF,KAAA;IAAAG,QAAA,mBAAAF,eAAA;MAAAG,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAArBR,qBAAqB,CAAAS,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAAA,IACrBC,0BAA0B,YAA1BA,0BAA0BA,CAAAb,KAAA;EAAA,wBAAAC,eAAA,aAAAC,sBAAA,MAAAA,sBAAA,MAAAF,KAAA;IAAAG,QAAA,mBAAAF,eAAA;MAAAG,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAA1BM,0BAA0B,CAAAL,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAAA,IAC1BE,QAAQ,YAARA,QAAQA,CAAAd,KAAA;EAAA,wBAAAC,eAAA,aAAAC,sBAAA,MAAAA,sBAAA,MAAAF,KAAA;IAAAG,QAAA,mBAAAF,eAAA;MAAAG,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAARO,QAAQ,CAAAN,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAAA,IACRG,QAAQ,YAARA,QAAQA,CAAAf,KAAA;EAAA,wBAAAC,eAAA,aAAAC,sBAAA,MAAAA,sBAAA,MAAAF,KAAA;IAAAG,QAAA,mBAAAF,eAAA;MAAAG,IAAA;MAAAC,QAAA;MAAAC,CAAA;MAAAC,QAAA;IAAA;EAAA;AAAA;AAARQ,QAAQ,CAAAP,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAP,IAAA;EAAAQ,OAAA;AAAA;AAgBf,IAAMI,IAAoC,GAAG;EACzCC,KAAK,EAAE,2BAA2B;EAClCC,SAAS,EAAEC,oCAAiB;EAC5BC,IAAI,EAAE,CAAC,UAAU,CAAC;EAClBC,UAAU,EAAE;IACRC,MAAM,EAAE;EACZ;AACJ,CAAC;AAED,IAAMC,mBAAmB,GAAG,IAAAC,eAAM,EAAC,UAAU,CAAC;AAC9C,IAAMC,SAAS,GAAG,IAAAD,eAAM,EAAC,aAAa,CAAC;AAEvC,IAAME,cAAwC,GAAG,CAC7C;EACIC,EAAE,EAAE,OAAO;EACXV,KAAK,EAAE,YAAY;EACnBW,OAAO,eAAE,IAAA3B,eAAA,EAAC4B,WAAI;IAACC,IAAI,EAAE/B,qBAAsB;IAACgC,IAAI,EAAE;EAAG,CAAE,CAAC;EACxDC,OAAO,EAAE,SAATA,OAAOA,CAAGC,QAAQ;IAAA,OAAKR,SAAS,CAAC,OAAO,EAAEQ,QAAQ,CAAC;EAAA;AACvD,CAAC,EACD;EACIN,EAAE,EAAE,MAAM;EACVV,KAAK,EAAE,iBAAiB;EACxBW,OAAO,eAAE,IAAA3B,eAAA,EAAC4B,WAAI;IAACC,IAAI,EAAEjB,0BAA2B;IAACkB,IAAI,EAAE;EAAG,CAAE,CAAC;EAC7DC,OAAO,EAAE,SAATA,OAAOA,CAAGC,QAAQ;IAAA,OAAKR,SAAS,CAAC,MAAM,EAAEQ,QAAQ,CAAC;EAAA;AACtD,CAAC,CACJ;AAED,IAAMC,QAA6B,GAAG,CAClC;EACIP,EAAE,EAAE,WAAW;EACfV,KAAK,EAAE,WAAW;EAClBkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,sBAAsB;EACvCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,OAAO;EACXV,KAAK,EAAE,OAAO;EACdkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,wBAAwB;EACzCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,SAAS;EACbV,KAAK,EAAE,SAAS;EAChBkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,wBAAwB;EACzCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,cAAc;EAClBV,KAAK,EAAE,cAAc;EACrBkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,wBAAwB;EACzCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,OAAO;EACXV,KAAK,EAAE,OAAO;EACdkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,sBAAsB;EACvCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,YAAY;EAChBV,KAAK,EAAE,YAAY;EACnBkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,qBAAqB;EACtCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,eAAe;EACnBV,KAAK,EAAE,eAAe;EACtBkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,uBAAuB;EACxCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,QAAQ;EACZV,KAAK,EAAE,QAAQ;EACfkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,uBAAuB;EACxCC,WAAW,EAAE;AACjB,CAAC,EACD;EACIV,EAAE,EAAE,WAAW;EACfV,KAAK,EAAE,WAAW;EAClBkB,KAAK,EAAE,OAAO;EACdC,eAAe,EAAE,uBAAuB;EACxCC,WAAW,EAAE;AACjB,CAAC,CACJ;AAED,IAAMC,UAAsF,GAAG,CAC3F;EAACrB,KAAK,EAAE,WAAW;EAAEsB,IAAI,EAAE,QAAQ;EAAEC,WAAW,EAAE;AAAI,CAAC,EACvD;EAACvB,KAAK,EAAE,uBAAuB;EAAEsB,IAAI,EAAE;AAAM,CAAC,EAC9C;EAACtB,KAAK,EAAE,cAAc;EAAEsB,IAAI,EAAE,QAAQ;EAAEC,WAAW,EAAE,IAAI;EAAEC,QAAQ,EAAE;AAAI,CAAC,EAC1E;EAACxB,KAAK,EAAE,gBAAgB;EAAEsB,IAAI,EAAE,QAAQ;EAAEC,WAAW,EAAE;AAAI,CAAC,EAC5D;EAACvB,KAAK,EAAE,UAAU;EAAEsB,IAAI,EAAE,QAAQ;EAAEC,WAAW,EAAE;AAAI,CAAC,EACtD;EAACvB,KAAK,EAAE,eAAe;EAAEsB,IAAI,EAAE;AAAO,CAAC,CAC1C;AAED,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAwB;EAAA,OAC1C,CAACA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,EAAEC,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,MAAM;AAAA;AAElD,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CACjBL,IAAwB,EAEL;EAAA,IADnBM,IAAyB,GAAAC,SAAA,CAAAH,MAAA,QAAAG,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;EAEjC,IAAIR,YAAY,CAACC,IAAI,CAAC,GAAG,CAAC,EAAE;IACxB,OAAO,EAAE;EACb;EAEA,OAAO,GAAAS,MAAA,CAAId,UAAU,EAChBW,IAAI,CAAC,UAAAI,IAAA,EAAAC,KAAA;IAAA,IAASC,SAAS,GAAAF,IAAA,CAAhBpC,KAAK;IAAA,IAAsBuC,UAAU,GAAAF,KAAA,CAAjBrC,KAAK;IAAA,OAC7BgC,IAAI,KAAK,KAAK,GACRM,SAAS,CAACE,aAAa,CAACD,UAAU,CAAC,GACnCA,UAAU,CAACC,aAAa,CAACF,SAAS,CAAC;EAAA,CAC7C,CAAC,CACAG,GAAG,CAAC,UAAAC,KAAA;IAAA,IAAE1C,KAAK,GAAA0C,KAAA,CAAL1C,KAAK;MAAEsB,IAAI,GAAAoB,KAAA,CAAJpB,IAAI;MAAEC,WAAW,GAAAmB,KAAA,CAAXnB,WAAW;MAAEC,QAAQ,GAAAkB,KAAA,CAARlB,QAAQ;IAAA,OAAO;MAC5CE,IAAI,KAAAS,MAAA,CAAKT,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,OAAAS,MAAA,CAAInC,KAAK,CAAE;MAC9BA,KAAK,EAALA,KAAK;MACLsB,IAAI,EAAJA,IAAI;MACJC,WAAW,EAAXA,WAAW;MACXC,QAAQ,EAARA;IACJ,CAAC;EAAA,CAAC,CAAC;AACX,CAAC;AAAA,IAAAmB,QAAA,GAAAC,OAAA,CAAAxE,OAAA,GAEc2B,IAAI;AAGnB,IAAM8C,gCAAyD,GAAG,CAC9D;EACInC,EAAE,EAAE,SAAS;EACbV,KAAK,EAAE,SAAS;EAChB8C,OAAO,EAAEC,uBAAY;EACrBC,IAAI,EAAE,IAAAC,uBAAY,EAAC,CAAC,CAAC;EACrBC,MAAM,EAAE,IAAI;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,CACL;IACI1C,EAAE,EAAE,MAAM;IACVV,KAAK,EAAE,WAAW;IAClBW,OAAO,eAAE,IAAA3B,eAAA,EAAC4B,WAAI;MAACC,IAAI,EAAEhB,QAAS;MAACiB,IAAI,EAAE;IAAG,CAAE,CAAC;IAC3CC,OAAO,EAAE,SAATA,OAAOA,CAAGsC,OAAO;MAAA,OAAK7C,SAAS,CAAC,cAAc,EAAE6C,OAAO,CAAC3C,EAAE,CAAC;IAAA;EAC/D,CAAC,EACD;IACIA,EAAE,EAAE,UAAU;IACdV,KAAK,EAAE,UAAU;IACjBW,OAAO,eAAE,IAAA3B,eAAA,EAAC4B,WAAI;MAACC,IAAI,EAAEf,QAAS;MAACgB,IAAI,EAAE;IAAG,CAAE,CAAC;IAC3CC,OAAO,EAAE,SAATA,OAAOA,CAAGsC,OAAO;MAAA,OAAK7C,SAAS,CAAC,cAAc,EAAE6C,OAAO,CAAC3C,EAAE,CAAC;IAAA;EAC/D,CAAC;AAET,CAAC,EACD;EACIA,EAAE,EAAE,YAAY;EAChBV,KAAK,EAAE,YAAY;EACnB8C,OAAO,EAAEC,uBAAY;EACrBC,IAAI,EAAE,IAAAC,uBAAY,EAAC,CAAC,CAAC;EACrBC,MAAM,EAAE;AACZ,CAAC,CACJ;AAED,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,OAA2B,EAAK;EACtD,IAAAC,SAAA,GAAgC,IAAAC,eAAQ,EAAqBF,OAAO,CAAC;IAAAG,UAAA,OAAAC,uBAAA,EAAAH,SAAA;IAA9DxC,QAAQ,GAAA0C,UAAA;IAAEE,WAAW,GAAAF,UAAA;EAC5B,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAAwB,EAAK;IAC3CxD,mBAAmB,CAACwD,IAAI,CAAC;IACzBF,WAAW,CAACE,IAAI,CAAC;EACrB,CAAC;EACD,OAAO;IAAC9C,QAAQ,EAARA,QAAQ;IAAE6C,QAAQ,EAARA;EAAQ,CAAC;AAC/B,CAAC;AAED,IAAME,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIR,OAA2B,EAAK;EAC7D,IAAAS,iBAAA,GAA6BV,gBAAgB,CAACC,OAAO,CAAC;IAA/CvC,QAAQ,GAAAgD,iBAAA,CAARhD,QAAQ;IAAE6C,QAAQ,GAAAG,iBAAA,CAARH,QAAQ;EACzB,IAAAI,UAAA,GAAwB,IAAAR,eAAQ,EAAsB,KAAK,CAAC;IAAAS,UAAA,OAAAP,uBAAA,EAAAM,UAAA;IAArDjC,IAAI,GAAAkC,UAAA;IAAEC,OAAO,GAAAD,UAAA;EACpB,IAAME,KAAK,GAAGrC,eAAe,CAACf,QAAQ,CAACU,IAAI,EAAEM,IAAI,CAAC;EAElD,OAAO;IAAChB,QAAQ,EAARA,QAAQ;IAAE6C,QAAQ,EAARA,QAAQ;IAAE7B,IAAI,EAAJA,IAAI;IAAEmC,OAAO,EAAPA,OAAO;IAAEC,KAAK,EAALA;EAAK,CAAC;AACrD,CAAC;AAED,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EAC/B,IAAAC,qBAAA,GAAmDP,uBAAuB,CAAC;MACvEQ,OAAO,EAAErC,SAAS;MAClBR,IAAI,EAAEQ;IACV,CAAC,CAAC;IAHKlB,QAAQ,GAAAsD,qBAAA,CAARtD,QAAQ;IAAE6C,QAAQ,GAAAS,qBAAA,CAART,QAAQ;IAAE7B,IAAI,GAAAsC,qBAAA,CAAJtC,IAAI;IAAEmC,OAAO,GAAAG,qBAAA,CAAPH,OAAO;IAAEC,KAAK,GAAAE,qBAAA,CAALF,KAAK;EAI/C,IAAAI,UAAA,GAAoC,IAAAf,eAAQ,EAA6BvB,SAAS,CAAC;IAAAuC,UAAA,OAAAd,uBAAA,EAAAa,UAAA;IAA5EE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAEhC,IAAMG,aAAa,GAAG,IAAAC,8DAA8B,EAAC;IACjDC,KAAK,EAAE,IAAAC,gDAAuB,EAAC;MAC3BC,aAAa,EAAE,SAAfA,aAAaA,CAAA;QAAA,OAAS;UAAClC,OAAO,EAAEmC,wBAAc;UAAE/B,MAAM,EAAE;QAAI,CAAC;MAAA,CAAC;MAC9DgC,cAAc,EAAE,SAAhBA,cAAcA,CAAA;QAAA,OAAS;UACnBpC,OAAO,EAAEqC,0BAAe;UACxBnC,IAAI,EAAEoC,uBAAY;UAClBlC,MAAM,EAAE;QACZ,CAAC;MAAA,CAAC;MACFmC,WAAW,EAAE,SAAbA,WAAWA,CAAA;QAAA,OAAS;UAACC,MAAM,EAAEC,sBAAW;UAAErC,MAAM,EAAE;QAAI,CAAC;MAAA,CAAC;MACxDsC,WAAW,EAAE,SAAbA,WAAWA,CAAA;QAAA,OAAS;UAACC,QAAQ,EAAE5C,gCAAgC;UAAEK,MAAM,EAAE;QAAI,CAAC;MAAA;IAClF,CAAC;EACL,CAAC,CAAC;EAEF,oBACI,IAAAlE,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBiC,QAAQ,EAAE7E,QAAS;MACnBmD,KAAK,EAAEA,KAAM;MACbpC,IAAI,EAAE;QAAC+D,KAAK,EAAE/D,IAAI;QAAE6B,QAAQ,EAAEM;MAAO,CAAE;MACvC6B,MAAM,EAAE;QACJtB,UAAU,EAAVA,UAAU;QACVuB,UAAU,EAAE,SAAZA,UAAUA,CAAGC,IAAI,EAAK;UAClB,IAAA3F,eAAM,EAAC,YAAY,CAAC,CAAC2F,IAAI,CAAC;UAC1BvB,aAAa,CAACuB,IAAI,CAAC;QACvB,CAAC;QACDC,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQxB,aAAa,CAACzC,SAAS,CAAC;QAAA;QACvCkE,OAAO,EAAExB;MACb,CAAE;MACFyB,cAAc,EAAE,IAAA9F,eAAM,EAAC,gBAAgB,CAAE;MACzC+F,WAAW,EAAE,IAAA/F,eAAM,EAAC,aAAa;IAAE,CACtC;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMgG,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;EACvB,IAAAC,kBAAA,GAA6BlD,gBAAgB,CAAC;MAACiB,OAAO,EAAErC,SAAS;MAAER,IAAI,EAAEQ;IAAS,CAAC,CAAC;IAA7ElB,QAAQ,GAAAwF,kBAAA,CAARxF,QAAQ;IAAE6C,QAAQ,GAAA2C,kBAAA,CAAR3C,QAAQ;EAEzB,oBACI,IAAA7E,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBiC,QAAQ,EAAE,EAAG;MACbW,SAAS,EAAE;QAACC,OAAO,EAAE;MAAI;IAAE,CAC9B;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;EACrB,IAAAC,kBAAA,GAA6BtD,gBAAgB,CAAC;MAACiB,OAAO,EAAE,WAAW;MAAE7C,IAAI,EAAE;IAAa,CAAC,CAAC;IAAnFV,QAAQ,GAAA4F,kBAAA,CAAR5F,QAAQ;IAAE6C,QAAQ,GAAA+C,kBAAA,CAAR/C,QAAQ;EAEzB,oBACI,IAAA7E,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAE;IAAG,CACb;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMyC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;EAC3B,IAAAC,kBAAA,GAA6BxD,gBAAgB,CAAC;MAACiB,OAAO,EAAE,WAAW;MAAE7C,IAAI,EAAE;IAAO,CAAC,CAAC;IAA7EV,QAAQ,GAAA8F,kBAAA,CAAR9F,QAAQ;IAAE6C,QAAQ,GAAAiD,kBAAA,CAARjD,QAAQ;EACzB,IAAAkD,UAAA,GAA4B,IAAAtD,eAAQ,EAAC,cAAc,CAAC;IAAAuD,UAAA,OAAArD,uBAAA,EAAAoD,UAAA;IAA7CE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EAExB,oBACI,IAAAhI,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAE,EAAG;MACV6C,MAAM,EAAE;QAAClB,KAAK,EAAEkB,MAAM;QAAEpD,QAAQ,EAAEqD;MAAS;IAAE,CAChD;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;EACrB,IAAAC,kBAAA,GAA6B9D,gBAAgB,CAAC;MAACiB,OAAO,EAAErC,SAAS;MAAER,IAAI,EAAEQ;IAAS,CAAC,CAAC;IAA7ElB,QAAQ,GAAAoG,kBAAA,CAARpG,QAAQ;IAAE6C,QAAQ,GAAAuD,kBAAA,CAARvD,QAAQ;EAEzB,oBACI,IAAA7E,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBiC,QAAQ,EAAE,EAAG;MACbW,SAAS,EAAE;QAACY,KAAK,EAAE;MAA2B;IAAE,CACnD;EAAC,CACD,CAAC;AAEd,CAAC;AAKD,IAAMC,eAAgC,GAAGrG,QAAQ,CAACwB,GAAG,CAAC,UAAC8B,OAAO;EAAA,IAAAgD,oBAAA;EAAA,WAAAtI,sBAAA,MAAAA,sBAAA,MACvDsF,OAAO;IACViD,GAAG,GAAAD,oBAAA,GAAEhD,OAAO,CAACnD,WAAW,cAAAmG,oBAAA,cAAAA,oBAAA,GAAI;EAAS;AAAA,CACvC,CAAC;AAEH,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAI/F,IAAwB,EAAEM,IAAyB;EAAA,OAC9ED,eAAe,CAACL,IAAI,EAAEM,IAAI,CAAC,CAACS,GAAG,CAAC,UAACyD,IAAI,EAAEwB,KAAK;IAAA,WAAAzI,sBAAA,MAAAA,sBAAA,MACrCiH,IAAI;MACPyB,KAAK,EAAED,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG;IAAM;EAAA,CAC3C,CAAC;AAAA;AAEP,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EAC1B,IAAAC,kBAAA,GAA6BvE,gBAAgB,CAAC;MAACiB,OAAO,EAAErC,SAAS;MAAER,IAAI,EAAEQ;IAAS,CAAC,CAAC;IAA7ElB,QAAQ,GAAA6G,kBAAA,CAAR7G,QAAQ;IAAE6C,QAAQ,GAAAgE,kBAAA,CAARhE,QAAQ;EACzB,IAAAiE,UAAA,GAAwB,IAAArE,eAAQ,EAAsB,KAAK,CAAC;IAAAsE,UAAA,OAAApE,uBAAA,EAAAmE,UAAA;IAArD9F,IAAI,GAAA+F,UAAA;IAAE5D,OAAO,GAAA4D,UAAA;EAEpB,oBACI,IAAA/I,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBiC,QAAQ,EAAEwB,eAAgB;MAC1BlD,KAAK,EAAEqD,qBAAqB,CAACzG,QAAQ,CAACU,IAAI,EAAEM,IAAI,CAAE;MAClDA,IAAI,EAAE;QAAC+D,KAAK,EAAE/D,IAAI;QAAE6B,QAAQ,EAAEM;MAAO,CAAE;MACvC6D,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAAC,KAAA;QAAA,IAAI1D,OAAO,GAAA0D,KAAA,CAAP1D,OAAO;QAAA,oBACxB,IAAA2D,gBAAA,EAACC,WAAI;UAACC,UAAU,EAAC,QAAQ;UAACC,GAAG,EAAE,CAAE;UAAC3C,KAAK,EAAE;YAACjG,KAAK,EAAE,MAAM;YAAE6I,OAAO,EAAE;UAAO,CAAE;UAAApJ,QAAA,gBACvE,IAAAF,eAAA,EAACuJ,sBAAU;YAAChE,OAAO,EAAEA;UAAQ,CAAE,CAAC,eAChC,IAAAvF,eAAA,EAACwJ,YAAK;YAACC,KAAK,EAAC,MAAM;YAAAvJ,QAAA,EAAEqF,OAAO,CAACiD;UAAG,CAAQ,CAAC;QAAA,CACvC,CAAC;MAAA,CACT;MACFkB,oBAAoB,EAAE,SAAtBA,oBAAoBA,CAAAC,KAAA;QAAA,IAAIzC,IAAI,GAAAyC,KAAA,CAAJzC,IAAI;UAAE0C,WAAW,GAAAD,KAAA,CAAXC,WAAW;QAAA,OACrCA,WAAW,gBACP,IAAA5J,eAAA,EAAC6J,6BAAiB;UAAC3C,IAAI,EAAEA;QAAK,CAAE,CAAC,gBAEjC,IAAAgC,gBAAA,EAACC,WAAI;UAACC,UAAU,EAAC,QAAQ;UAACC,GAAG,EAAE,CAAE;UAAC3C,KAAK,EAAE;YAACjG,KAAK,EAAE,MAAM;YAAE6I,OAAO,EAAE;UAAO,CAAE;UAAApJ,QAAA,gBACvE,IAAAF,eAAA,EAAC6J,6BAAiB;YAAC3C,IAAI,EAAEA;UAAK,CAAE,CAAC,EAChCA,IAAI,CAACyB,KAAK,iBACP,IAAA3I,eAAA,EAAC8J,WAAI;YAAC5H,KAAK,EAAC,WAAW;YAAC6H,OAAO,EAAC,WAAW;YAAA7J,QAAA,EACtCgH,IAAI,CAACyB;UAAK,CACT,CACT;QAAA,CACC,CACT;MAAA,CACJ;MACDtB,cAAc,EAAE,IAAA9F,eAAM,EAAC,gBAAgB,CAAE;MACzC+F,WAAW,EAAE,IAAA/F,eAAM,EAAC,aAAa;IAAE,CACtC;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMyI,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAS;EACpC,IAAAC,kBAAA,GAA6B3F,gBAAgB,CAAC;MAACiB,OAAO,EAAE,WAAW;MAAE7C,IAAI,EAAE;IAAO,CAAC,CAAC;IAA7EV,QAAQ,GAAAiI,kBAAA,CAARjI,QAAQ;IAAE6C,QAAQ,GAAAoF,kBAAA,CAARpF,QAAQ;EACzB,IAAAqF,UAAA,GAAoC,IAAAzF,eAAQ,EAA6BvB,SAAS,CAAC;IAAAiH,WAAA,OAAAxF,uBAAA,EAAAuF,UAAA;IAA5ExE,UAAU,GAAAyE,WAAA;IAAExE,aAAa,GAAAwE,WAAA;EAEhC,IAAMvE,aAAa,GAAG,IAAAC,8DAA8B,EAAC;IACjDuE,IAAI,EAAE,SAANA,IAAIA,CAAGlD,IAAI;MAAA,OAAM;QACbmD,IAAI,EAAE,CACF;UAAC3I,EAAE,EAAE,SAAS;UAAEV,KAAK,EAAE,SAAS;UAAEW,OAAO,gBAAAwB,MAAA,CAAgB+D,IAAI,CAAClG,KAAK;QAAE,CAAC,EACtE;UAACU,EAAE,EAAE,MAAM;UAAEV,KAAK,EAAE,MAAM;UAAEW,OAAO,EAAE;QAAkB,CAAC,CAC3D;QACD2I,SAAS,EAAE;MACf,CAAC;IAAA;EACL,CAAC,CAAC;EAEF,oBACI,IAAAtK,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB2E,MAAM,EAAE;QAACvC,OAAO,EAAE3C,cAAc;QAAEmF,iBAAiB,EAAEC;MAAuB,CAAE;MAC9EhC,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAErC,eAAe,CAACf,QAAQ,CAACU,IAAI,CAAE;MACtCsE,MAAM,EAAE;QACJtB,UAAU,EAAVA,UAAU;QACVuB,UAAU,EAAEtB,aAAa;QACzBwB,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQxB,aAAa,CAACzC,SAAS,CAAC;QAAA;QACvCkE,OAAO,EAAExB;MACb,CAAE;MACF0B,WAAW,EAAE,IAAA/F,eAAM,EAAC,aAAa;IAAE,CACtC;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMgJ,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAAS;EACnC,IAAAC,sBAAA,GAAoCzF,uBAAuB,CAAC;MACxDQ,OAAO,EAAE,WAAW;MACpB7C,IAAI,EAAE;IACV,CAAC,CAAC;IAHKV,QAAQ,GAAAwI,sBAAA,CAARxI,QAAQ;IAAE6C,QAAQ,GAAA2F,sBAAA,CAAR3F,QAAQ;IAAEO,KAAK,GAAAoF,sBAAA,CAALpF,KAAK;EAKhC,oBACI,IAAApF,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB6C,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAEA,KAAM;MACbuB,MAAM,EAAE;QACJvC,OAAO,EAAE3C,cAAc;QACvBgJ,aAAa,EAAE,SAAfA,aAAaA,CAAAC,KAAA,EAA2C;UAAA,IAAAC,oBAAA;UAAA,IAA7BC,cAAc,GAAAF,KAAA,CAAxB1I,QAAQ;YAAkBoC,OAAO,GAAAsG,KAAA,CAAPtG,OAAO;UAC9C,IAAMyG,SAAS,GAAGzG,OAAO,CACpBxB,MAAM,CAAC,UAAAkI,KAAA;YAAA,IAAEC,MAAM,GAAAD,KAAA,CAANC,MAAM;YAAA,OAAM,CAACA,MAAM;UAAA,EAAC,CAC7BtH,GAAG,CAAmB,UAAAuH,KAAA;YAAA,IAAEhK,KAAK,GAAAgK,KAAA,CAALhK,KAAK;cAAEwB,QAAQ,GAAAwI,KAAA,CAARxI,QAAQ;cAAET,OAAO,GAAAiJ,KAAA,CAAPjJ,OAAO;YAAA,OAAO;cACpDkJ,IAAI,EAAEjK,KAAK;cACXwB,QAAQ,EAARA,QAAQ;cACRjB,MAAM,EAAE,SAARA,MAAMA,CAAA;gBAAA,OAAQQ,OAAO,CAAC6I,cAAc,CAAC;cAAA;YACzC,CAAC;UAAA,CAAC,CAAC;UACP,IAAMM,IAAI,kBAAA/H,MAAA,CAAkByH,cAAc,CAACrF,OAAO,EAAApC,MAAA,EAAAwH,oBAAA,GAAGC,cAAc,CAAClI,IAAI,cAAAiI,oBAAA,cAAAA,oBAAA,GAAI,EAAE,CAAE;UAEhF,oBACI,IAAAzB,gBAAA,EAACC,WAAI;YAACE,GAAG,EAAE,CAAE;YAAC8B,MAAM,EAAE,CAAE;YAAAjL,QAAA,gBACpB,IAAAF,eAAA,EAACoL,mBAAY;cACTtJ,IAAI,EAAC,GAAG;cACRsD,KAAK,EAAEyF,SAAU;cACjBQ,cAAc,EAAE,SAAhBA,cAAcA,CAAGtL,KAAK;gBAAA,oBAClB,IAAAC,eAAA,EAACsL,aAAM,MAAArL,sBAAA,MAAAA,sBAAA,MAAKF,KAAK;kBAAEwL,IAAI,EAAC,MAAM;kBAACzJ,IAAI,EAAC,GAAG;kBAAA5B,QAAA,EAAC;gBAExC,EAAQ,CAAC;cAAA;YACX,CACL,CAAC,eACF,IAAAF,eAAA,EAACsL,aAAM;cAACC,IAAI,EAAC,MAAM;cAACzJ,IAAI,EAAC,GAAG;cAACoJ,IAAI,EAAEA,IAAK;cAACM,MAAM,EAAC,QAAQ;cAAAtL,QAAA,EAAC;YAEzD,CAAQ,CAAC;UAAA,CACP,CAAC;QAEf;MACJ;IAAE,CACL;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAMuL,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAS;EACjC,IAAAC,sBAAA,GAAoC3G,uBAAuB,CAAC;MACxDQ,OAAO,EAAE,WAAW;MACpB7C,IAAI,EAAE;IACV,CAAC,CAAC;IAHKV,QAAQ,GAAA0J,sBAAA,CAAR1J,QAAQ;IAAE6C,QAAQ,GAAA6G,sBAAA,CAAR7G,QAAQ;IAAEO,KAAK,GAAAsG,sBAAA,CAALtG,KAAK;EAIhC,IAAAuG,WAAA,GAAoC,IAAAlH,eAAQ,EAA6BvB,SAAS,CAAC;IAAA0I,WAAA,OAAAjH,uBAAA,EAAAgH,WAAA;IAA5EjG,UAAU,GAAAkG,WAAA;IAAEjG,aAAa,GAAAiG,WAAA;EAEhC,oBACI,IAAA5L,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB6C,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAEA,KAAM;MACbuB,MAAM,EAAE;QACJvC,OAAO,EAAE3C,cAAc;QACvBoK,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAAC,KAAA;UAAA,IAAIvG,OAAO,GAAAuG,KAAA,CAAPvG,OAAO;YAAE7C,IAAI,GAAAoJ,KAAA,CAAJpJ,IAAI;UAAA,OAC9B6C,OAAO,kBAAApC,MAAA,CAAkBoC,OAAO,EAAApC,MAAA,CAAGT,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE,IAAK,aAAa;QAAA;MACvE,CAAE;MACFsE,MAAM,EAAE;QACJtB,UAAU,EAAVA,UAAU;QACVuB,UAAU,EAAEtB,aAAa;QACzBwB,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQxB,aAAa,CAACzC,SAAS,CAAC;QAAA;MAC3C;IAAE,CACL;EAAC,CACD,CAAC;AAEd,CAAC;AAED,IAAM6I,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA,EAAS;EACrC,IAAAC,kBAAA,GAA6B1H,gBAAgB,CAAC;MAACiB,OAAO,EAAE,WAAW;MAAE7C,IAAI,EAAE;IAAO,CAAC,CAAC;IAA7EV,QAAQ,GAAAgK,kBAAA,CAARhK,QAAQ;IAAE6C,QAAQ,GAAAmH,kBAAA,CAARnH,QAAQ;EACzB,IAAAoH,WAAA,GAA4B,IAAAxH,eAAQ,EAAC,SAAS,CAAC;IAAAyH,WAAA,OAAAvH,uBAAA,EAAAsH,WAAA;IAAxChE,MAAM,GAAAiE,WAAA;IAAEhE,SAAS,GAAAgE,WAAA;EACxB,IAAM9G,KAAK,GAAGrC,eAAe,CAACf,QAAQ,CAACU,IAAI,CAAC,CAACE,MAAM,CAAC,UAAAuJ,KAAA;IAAA,IAAEnL,KAAK,GAAAmL,KAAA,CAALnL,KAAK;IAAA,OAAMA,KAAK,CAACoL,QAAQ,CAACnE,MAAM,CAAC;EAAA,EAAC;EAExF,oBACI,IAAAjI,eAAA;IAAK0G,KAAK,EAAE;MAACjG,KAAK,EAAE,GAAG;MAAEC,MAAM,EAAE;IAAG,CAAE;IAAAR,QAAA,eAClC,IAAAF,eAAA,EAACkB,oCAAiB;MACdc,QAAQ,EAAEA,QAAS;MACnB6C,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAEA,KAAM;MACb6C,MAAM,EAAE;QAAClB,KAAK,EAAEkB,MAAM;QAAEpD,QAAQ,EAAEqD;MAAS,CAAE;MAC7CmE,SAAS,EAAE;QAACC,gBAAgB,EAAE;MAAI,CAAE;MACpC5C,oBAAoB,EAAE,SAAtBA,oBAAoBA,CAAA6C,KAAA;QAAA,IAAIrF,IAAI,GAAAqF,KAAA,CAAJrF,IAAI;UAAE0C,WAAW,GAAA2C,KAAA,CAAX3C,WAAW;QAAA,oBACrC,IAAA5J,eAAA;UAAK,WAAS4J,WAAW,GAAG,YAAY,GAAG1G,SAAU;UAAAhD,QAAA,eACjD,IAAAF,eAAA,EAAC6J,6BAAiB;YAAC3C,IAAI,EAAEA;UAAK,CAAE;QAAC,CAChC,CAAC;MAAA;IACR,CACL;EAAC,CACD,CAAC;AAEd,CAAC;AAEM,IAAMsF,eAAsB,GAAA5I,OAAA,CAAA4I,eAAA,GAAG;EAACC,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAACqF,oBAAoB,IAAE,CAAC;EAAA;AAAA,CAAC;AACvE,IAAMqH,OAAc,GAAA9I,OAAA,CAAA8I,OAAA,GAAG;EAACD,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAACuH,YAAY,IAAE,CAAC;EAAA;AAAA,CAAC;AACvD,IAAMoF,KAAY,GAAA/I,OAAA,CAAA+I,KAAA,GAAG;EAACF,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAAC2H,UAAU,IAAE,CAAC;EAAA;AAAA,CAAC;AACnD,IAAMiF,WAAkB,GAAAhJ,OAAA,CAAAgJ,WAAA,GAAG;EAACH,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAAC6H,gBAAgB,IAAE,CAAC;EAAA;AAAA,CAAC;AAC/D,IAAMgF,KAAY,GAAAjJ,OAAA,CAAAiJ,KAAA,GAAG;EAACJ,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAACmI,UAAU,IAAE,CAAC;EAAA;AAAA,CAAC;AACnD,IAAM2E,UAAiB,GAAAlJ,OAAA,CAAAkJ,UAAA,GAAG;EAACL,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAAC4I,eAAe,IAAE,CAAC;EAAA;AAAA,CAAC;AAC7D,IAAMmE,oBAA2B,GAAAnJ,OAAA,CAAAmJ,oBAAA,GAAG;EAACN,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAACgK,yBAAyB,IAAE,CAAC;EAAA;AAAA,CAAC;AACjF,IAAMgD,mBAA0B,GAAApJ,OAAA,CAAAoJ,mBAAA,GAAG;EAACP,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAACuK,wBAAwB,IAAE,CAAC;EAAA;AAAA,CAAC;AAC/E,IAAM0C,iBAAwB,GAAArJ,OAAA,CAAAqJ,iBAAA,GAAG;EAACR,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAACyL,sBAAsB,IAAE,CAAC;EAAA;AAAA,CAAC;AAC3E,IAAMyB,qBAA4B,GAAAtJ,OAAA,CAAAsJ,qBAAA,GAAG;EAACT,MAAM,EAAE,SAARA,MAAMA,CAAA;IAAA,oBAAQ,IAAAzM,eAAA,EAAC+L,0BAA0B,IAAE,CAAC;EAAA;AAAA,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QueryListRowRenderData } from '../../types/queryList';
|
|
3
3
|
import type { TutorialHistoryRow } from '../../types/tutorial';
|
|
4
|
-
export declare const TutorialRowContent: <T extends TutorialHistoryRow>({ item, variant, }: QueryListRowRenderData<T>) => React.JSX.Element;
|
|
4
|
+
export declare const TutorialRowContent: <T extends TutorialHistoryRow>({ item, variant, renderLink, }: QueryListRowRenderData<T>) => React.JSX.Element;
|
|
@@ -12,16 +12,19 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
var TutorialRowContent = exports.TutorialRowContent = function TutorialRowContent(_ref) {
|
|
14
14
|
var item = _ref.item,
|
|
15
|
-
variant = _ref.variant
|
|
15
|
+
variant = _ref.variant,
|
|
16
|
+
renderLink = _ref.renderLink;
|
|
16
17
|
if ('header' in item) {
|
|
17
18
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_HistoryGroupHeader.HistoryGroupHeader, {
|
|
18
19
|
title: item.header
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
22
|
return variant === 'search' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialSearchRow.TutorialSearchRow, {
|
|
22
|
-
item: item
|
|
23
|
+
item: item,
|
|
24
|
+
renderLink: renderLink
|
|
23
25
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialRow.TutorialRow, {
|
|
24
|
-
item: item
|
|
26
|
+
item: item,
|
|
27
|
+
renderLink: renderLink
|
|
25
28
|
});
|
|
26
29
|
};
|
|
27
30
|
// #sourceMappingURL=TutorialRowContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_HistoryGroupHeader","_TutorialRow","_TutorialSearchRow","_jsxRuntime","e","__esModule","default","TutorialRowContent","exports","_ref","item","variant","_jsx","HistoryGroupHeader","title","header","TutorialSearchRow","TutorialRow"],"sources":["TutorialRowContent.tsx"],"sourcesContent":["import React from 'react';\nimport type {QueryListRowRenderData} from '../../types/queryList';\nimport type {TutorialHistoryRow} from '../../types/tutorial';\nimport {HistoryGroupHeader} from '../../components/HistoryGroupHeader';\nimport {TutorialRow} from '../../modules/TutorialRow';\nimport {TutorialSearchRow} from '../../modules/TutorialSearchRow';\n\nexport const TutorialRowContent = <T extends TutorialHistoryRow>({\n item,\n variant,\n}: QueryListRowRenderData<T>) => {\n if ('header' in item) {\n return <HistoryGroupHeader title={item.header} />;\n }\n\n return variant === 'search' ? <TutorialSearchRow item={item}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_HistoryGroupHeader","_TutorialRow","_TutorialSearchRow","_jsxRuntime","e","__esModule","default","TutorialRowContent","exports","_ref","item","variant","renderLink","_jsx","HistoryGroupHeader","title","header","TutorialSearchRow","TutorialRow"],"sources":["TutorialRowContent.tsx"],"sourcesContent":["import React from 'react';\nimport type {QueryListRowRenderData} from '../../types/queryList';\nimport type {TutorialHistoryRow} from '../../types/tutorial';\nimport {HistoryGroupHeader} from '../../components/HistoryGroupHeader';\nimport {TutorialRow} from '../../modules/TutorialRow';\nimport {TutorialSearchRow} from '../../modules/TutorialSearchRow';\n\nexport const TutorialRowContent = <T extends TutorialHistoryRow>({\n item,\n variant,\n renderLink,\n}: QueryListRowRenderData<T>) => {\n if ('header' in item) {\n return <HistoryGroupHeader title={item.header} />;\n }\n\n return variant === 'search' ? (\n <TutorialSearchRow item={item} renderLink={renderLink} />\n ) : (\n <TutorialRow item={item} renderLink={renderLink} />\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3D,IAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,SAArBA,kBAAkBA,CAAAE,IAAA,EAIE;EAAA,IAH7BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAEV,IAAI,QAAQ,IAAIF,IAAI,EAAE;IAClB,oBAAO,IAAAG,eAAA,EAACC,sCAAkB;MAACC,KAAK,EAAEL,IAAI,CAACM;IAAO,CAAE,CAAC;EACrD;EAEA,OAAOL,OAAO,KAAK,QAAQ,gBACvB,IAAAE,eAAA,EAACI,oCAAiB;IAACP,IAAI,EAAEA,IAAK;IAACE,UAAU,EAAEA;EAAW,CAAE,CAAC,gBAEzD,IAAAC,eAAA,EAACK,wBAAW;IAACR,IAAI,EAAEA,IAAK;IAACE,UAAU,EAAEA;EAAW,CAAE,CACrD;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { QueryListFilterConfig, QueryListItem, QueryListSearchConfig } from '../../types/queryList';
|
|
2
|
+
import type { QueryListFilterConfig, QueryListItem, QueryListLinkRenderer, QueryListRowRenderData, QueryListSearchConfig } from '../../types/queryList';
|
|
3
3
|
import type { TutorialHistoryRow } from '../../types/tutorial';
|
|
4
4
|
import './TutorialsHistory.scss';
|
|
5
5
|
export type TutorialsHistoryProps<T extends TutorialHistoryRow = TutorialHistoryRow> = {
|
|
@@ -10,6 +10,11 @@ export type TutorialsHistoryProps<T extends TutorialHistoryRow = TutorialHistory
|
|
|
10
10
|
filter?: QueryListFilterConfig;
|
|
11
11
|
items: QueryListItem<T>[];
|
|
12
12
|
selectedRowId?: T['id'];
|
|
13
|
+
renderRowItem?: (data: QueryListRowRenderData<T>) => React.ReactNode;
|
|
13
14
|
onListItemClick?: (item: QueryListItem<T>) => void;
|
|
15
|
+
hasMore?: boolean;
|
|
16
|
+
loading?: boolean;
|
|
17
|
+
onLoadMore?: () => void;
|
|
18
|
+
renderLink?: QueryListLinkRenderer;
|
|
14
19
|
};
|
|
15
|
-
export declare const TutorialsHistory: <T extends TutorialHistoryRow>({ title, logo, search, filter, items, selectedRowId, onListItemClick, className, }: TutorialsHistoryProps<T>) => React.JSX.Element;
|
|
20
|
+
export declare const TutorialsHistory: <T extends TutorialHistoryRow>({ title, logo, search, filter, items, selectedRowId, renderRowItem, onListItemClick, hasMore, loading, onLoadMore, renderLink, className, }: TutorialsHistoryProps<T>) => React.JSX.Element;
|
|
@@ -17,7 +17,7 @@ var _HistoryHeader = require("../../modules/HistoryHeader");
|
|
|
17
17
|
var _HistoryLayout = require("../../modules/HistoryLayout");
|
|
18
18
|
var _RowsList = require("../../modules/RowsList");
|
|
19
19
|
var _i18n = _interopRequireDefault(require("./i18n"));
|
|
20
|
-
var
|
|
20
|
+
var _useListKey = require("../../helpers/useListKey");
|
|
21
21
|
var _TutorialRowContent = require("./TutorialRowContent");
|
|
22
22
|
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
|
23
23
|
require("./TutorialsHistory.css");
|
|
@@ -32,11 +32,17 @@ var TutorialsHistory = exports.TutorialsHistory = function TutorialsHistory(_ref
|
|
|
32
32
|
filter = _ref.filter,
|
|
33
33
|
items = _ref.items,
|
|
34
34
|
selectedRowId = _ref.selectedRowId,
|
|
35
|
+
renderRowItem = _ref.renderRowItem,
|
|
35
36
|
onListItemClick = _ref.onListItemClick,
|
|
37
|
+
hasMore = _ref.hasMore,
|
|
38
|
+
loading = _ref.loading,
|
|
39
|
+
onLoadMore = _ref.onLoadMore,
|
|
40
|
+
renderLink = _ref.renderLink,
|
|
36
41
|
className = _ref.className;
|
|
37
42
|
var fullSearchAvailable = search.fullSearchAvailable !== false;
|
|
38
43
|
var showSearchResults = Boolean(fullSearchAvailable && search.fullSearch && ((_search$value = search.value) === null || _search$value === void 0 ? void 0 : _search$value.trim()));
|
|
39
44
|
var rowVariant = showSearchResults ? 'search' : 'default';
|
|
45
|
+
var listKey = (0, _useListKey.useListKey)(items, rowVariant, Boolean(onLoadMore));
|
|
40
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_HistoryLayout.HistoryLayout, {
|
|
41
47
|
className: block(null, className),
|
|
42
48
|
title: title || (0, _i18n.default)('title_tutorials'),
|
|
@@ -54,11 +60,15 @@ var TutorialsHistory = exports.TutorialsHistory = function TutorialsHistory(_ref
|
|
|
54
60
|
rowVariant: rowVariant,
|
|
55
61
|
selectedRowId: selectedRowId,
|
|
56
62
|
renderRow: function renderRow(data) {
|
|
57
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialRowContent.TutorialRowContent, (0, _objectSpread2.default)({}, data));
|
|
63
|
+
return renderRowItem ? renderRowItem(data) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialRowContent.TutorialRowContent, (0, _objectSpread2.default)({}, data));
|
|
58
64
|
},
|
|
59
65
|
showFiltersHint: Boolean(filter),
|
|
66
|
+
hasMore: hasMore,
|
|
67
|
+
loading: loading,
|
|
68
|
+
onLoadMore: onLoadMore,
|
|
69
|
+
renderLink: renderLink,
|
|
60
70
|
onItemClick: onListItemClick
|
|
61
|
-
},
|
|
71
|
+
}, listKey)
|
|
62
72
|
});
|
|
63
73
|
};
|
|
64
74
|
// #sourceMappingURL=TutorialsHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_HistoryHeader","_HistoryLayout","_RowsList","_i18n","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_HistoryHeader","_HistoryLayout","_RowsList","_i18n","_useListKey","_TutorialRowContent","_bemCnLite","_jsxRuntime","e","__esModule","default","block","cn","TutorialsHistory","exports","_ref","_search$value","title","logo","search","filter","items","selectedRowId","renderRowItem","onListItemClick","hasMore","loading","onLoadMore","renderLink","className","fullSearchAvailable","showSearchResults","Boolean","fullSearch","value","trim","rowVariant","listKey","useListKey","_jsx","HistoryLayout","i18n","header","HistoryHeader","hasClear","onUpdate","children","RowsList","renderRow","data","TutorialRowContent","_objectSpread","showFiltersHint","onItemClick"],"sources":["TutorialsHistory.tsx"],"sourcesContent":["import React from 'react';\nimport {HistoryHeader} from '../../modules/HistoryHeader';\nimport {HistoryLayout} from '../../modules/HistoryLayout';\nimport {RowsList} from '../../modules/RowsList';\nimport i18n from './i18n';\nimport type {\n QueryListFilterConfig,\n QueryListItem,\n QueryListLinkRenderer,\n QueryListRowRenderData,\n QueryListSearchConfig,\n} from '../../types/queryList';\nimport type {TutorialHistoryRow} from '../../types/tutorial';\nimport {useListKey} from '../../helpers/useListKey';\nimport {TutorialRowContent} from './TutorialRowContent';\nimport cn from 'bem-cn-lite';\nimport './TutorialsHistory.scss';\n\nexport type TutorialsHistoryProps<T extends TutorialHistoryRow = TutorialHistoryRow> = {\n className?: string;\n title?: string;\n logo?: React.ReactNode;\n search: QueryListSearchConfig;\n filter?: QueryListFilterConfig;\n items: QueryListItem<T>[];\n selectedRowId?: T['id'];\n renderRowItem?: (data: QueryListRowRenderData<T>) => React.ReactNode;\n onListItemClick?: (item: QueryListItem<T>) => void;\n hasMore?: boolean;\n loading?: boolean;\n onLoadMore?: () => void;\n renderLink?: QueryListLinkRenderer;\n};\n\nconst block = cn('qp-tutorials-history');\n\nexport const TutorialsHistory = <T extends TutorialHistoryRow>({\n title,\n logo,\n search,\n filter,\n items,\n selectedRowId,\n renderRowItem,\n onListItemClick,\n hasMore,\n loading,\n onLoadMore,\n renderLink,\n className,\n}: TutorialsHistoryProps<T>) => {\n const fullSearchAvailable = search.fullSearchAvailable !== false;\n const showSearchResults = Boolean(\n fullSearchAvailable && search.fullSearch && search.value?.trim(),\n );\n const rowVariant = showSearchResults ? 'search' : 'default';\n const listKey = useListKey(items, rowVariant, Boolean(onLoadMore));\n\n return (\n <HistoryLayout\n className={block(null, className)}\n title={title || i18n('title_tutorials')}\n logo={logo}\n header={\n <HistoryHeader\n search={search.value}\n fullSearch={search.fullSearch}\n fullSearchAvailable={fullSearchAvailable}\n hasClear={search.hasClear}\n filter={filter}\n onUpdate={search.onUpdate}\n />\n }\n >\n <RowsList\n key={listKey}\n items={items}\n rowVariant={rowVariant}\n selectedRowId={selectedRowId}\n renderRow={(data) =>\n renderRowItem ? renderRowItem(data) : <TutorialRowContent {...data} />\n }\n showFiltersHint={Boolean(filter)}\n hasMore={hasMore}\n loading={loading}\n onLoadMore={onLoadMore}\n renderLink={renderLink}\n onItemClick={onListItemClick}\n />\n </HistoryLayout>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,3 +5,8 @@ export default meta;
|
|
|
5
5
|
type Story = StoryObj<typeof TutorialsHistory>;
|
|
6
6
|
export declare const Default: Story;
|
|
7
7
|
export declare const Empty: Story;
|
|
8
|
+
export declare const InitialLoading: Story;
|
|
9
|
+
export declare const Paginated: Story;
|
|
10
|
+
export declare const LoadingMore: Story;
|
|
11
|
+
export declare const RouterLinks: Story;
|
|
12
|
+
export declare const CustomRowRenderer: Story;
|
|
@@ -3,19 +3,46 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = exports.Empty = exports.Default = void 0;
|
|
6
|
+
exports.default = exports.RouterLinks = exports.Paginated = exports.LoadingMore = exports.InitialLoading = exports.Empty = exports.Default = exports.CustomRowRenderer = void 0;
|
|
7
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
11
|
require("core-js/modules/es.array.concat.js");
|
|
9
12
|
require("core-js/modules/es.array.filter.js");
|
|
13
|
+
require("core-js/modules/es.array.from.js");
|
|
10
14
|
require("core-js/modules/es.array.includes.js");
|
|
15
|
+
require("core-js/modules/es.array.map.js");
|
|
11
16
|
require("core-js/modules/es.object.to-string.js");
|
|
12
17
|
require("core-js/modules/es.string.includes.js");
|
|
18
|
+
require("core-js/modules/es.string.iterator.js");
|
|
19
|
+
require("core-js/modules/web.timers.js");
|
|
13
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
var _uikit = require("@gravity-ui/uikit");
|
|
22
|
+
var _components = require("../../components");
|
|
14
23
|
var _TutorialsHistory = require("./TutorialsHistory");
|
|
15
24
|
var _actions = require("storybook/actions");
|
|
16
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
26
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
27
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
28
|
+
var _excluded = ["onClick"];
|
|
29
|
+
var BookOpenIcon = function BookOpenIcon(props) {
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
|
31
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
32
|
+
fill: "currentColor",
|
|
33
|
+
fillRule: "evenodd",
|
|
34
|
+
d: "M7.345 2.634q.136.069.268.145L8 3l.387-.221q.133-.076.268-.145a6.7 6.7 0 0 1 6.052-.03c.486.242.793.74.793 1.283v8.938c0 .65-.526 1.175-1.175 1.175h-.04c-.187 0-.37-.05-.529-.146a4.8 4.8 0 0 0-4.61-.177l-.199.1A2.1 2.1 0 0 1 8 14h-.117a1.6 1.6 0 0 1-.726-.171l-.233-.117a4.94 4.94 0 0 0-4.748.183.74.74 0 0 1-.381.105h-.12A1.175 1.175 0 0 1 .5 12.825V3.887c0-.543.307-1.04.793-1.284a6.7 6.7 0 0 1 6.052.03m1.405 9.572V4.3l.382-.218A5.2 5.2 0 0 1 14 3.927v8.357a6.3 6.3 0 0 0-5.25-.078m-1.5.005V4.299l-.382-.218A5.2 5.2 0 0 0 2 3.927v8.365a6.44 6.44 0 0 1 5.25-.082",
|
|
35
|
+
clipRule: "evenodd"
|
|
36
|
+
})
|
|
37
|
+
}));
|
|
38
|
+
};
|
|
39
|
+
BookOpenIcon.defaultProps = {
|
|
40
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
41
|
+
width: "16",
|
|
42
|
+
height: "16",
|
|
43
|
+
fill: "none",
|
|
44
|
+
viewBox: "0 0 16 16"
|
|
45
|
+
};
|
|
19
46
|
var QUERY = "use test;\n\nSELECT\n \"test_session\" AS session_id,\n \"test_task\" AS task_id,\n SUBSTRING(\"test\", 1, 1) AS truncated_char";
|
|
20
47
|
var filterFields = [{
|
|
21
48
|
id: 'onlyMine',
|
|
@@ -57,6 +84,56 @@ var BASE_ITEMS = [{
|
|
|
57
84
|
query: QUERY,
|
|
58
85
|
height: 28
|
|
59
86
|
}];
|
|
87
|
+
var LINK_ITEMS = BASE_ITEMS.map(function (item) {
|
|
88
|
+
return 'id' in item ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
89
|
+
href: "/tutorials/".concat(item.id)
|
|
90
|
+
}) : item;
|
|
91
|
+
});
|
|
92
|
+
var PAGINATION_PAGES = [Array.from({
|
|
93
|
+
length: 8
|
|
94
|
+
}, function (_, index) {
|
|
95
|
+
return {
|
|
96
|
+
id: "basics-".concat(index + 1),
|
|
97
|
+
title: "YQL basics: lesson ".concat(index + 1),
|
|
98
|
+
query: QUERY,
|
|
99
|
+
href: "/tutorials/basics-".concat(index + 1),
|
|
100
|
+
height: 28
|
|
101
|
+
};
|
|
102
|
+
}), Array.from({
|
|
103
|
+
length: 8
|
|
104
|
+
}, function (_, index) {
|
|
105
|
+
return {
|
|
106
|
+
id: "advanced-".concat(index + 1),
|
|
107
|
+
title: "Advanced YQL: lesson ".concat(index + 1),
|
|
108
|
+
query: QUERY,
|
|
109
|
+
href: "/tutorials/advanced-".concat(index + 1),
|
|
110
|
+
height: 28
|
|
111
|
+
};
|
|
112
|
+
})];
|
|
113
|
+
var CUSTOM_ROW_ITEMS = [{
|
|
114
|
+
header: 'Getting started',
|
|
115
|
+
height: 28
|
|
116
|
+
}, {
|
|
117
|
+
id: '01HZXB4K8P7Y2Q9T6M3N5R1C0A',
|
|
118
|
+
title: 'Getting started with YQL',
|
|
119
|
+
href: '/tutorials/getting-started',
|
|
120
|
+
height: 32
|
|
121
|
+
}];
|
|
122
|
+
var renderRouterLink = function renderRouterLink(_ref) {
|
|
123
|
+
var _onClick = _ref.onClick,
|
|
124
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
125
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
|
|
126
|
+
"data-router-link": true,
|
|
127
|
+
onClick: function onClick(event) {
|
|
128
|
+
_onClick === null || _onClick === void 0 || _onClick(event);
|
|
129
|
+
if (event.defaultPrevented || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
event.preventDefault();
|
|
133
|
+
(0, _actions.action)('routerNavigate')(props.href);
|
|
134
|
+
}
|
|
135
|
+
}));
|
|
136
|
+
};
|
|
60
137
|
var meta = {
|
|
61
138
|
title: 'Widgets/TutorialsHistory',
|
|
62
139
|
component: _TutorialsHistory.TutorialsHistory,
|
|
@@ -144,6 +221,117 @@ var EmptyStory = function EmptyStory() {
|
|
|
144
221
|
})
|
|
145
222
|
});
|
|
146
223
|
};
|
|
224
|
+
var PaginatedStory = function PaginatedStory() {
|
|
225
|
+
var _useState7 = (0, _react.useState)(PAGINATION_PAGES[0]),
|
|
226
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
227
|
+
items = _useState8[0],
|
|
228
|
+
setItems = _useState8[1];
|
|
229
|
+
var _useState9 = (0, _react.useState)(1),
|
|
230
|
+
_useState0 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
231
|
+
page = _useState0[0],
|
|
232
|
+
setPage = _useState0[1];
|
|
233
|
+
var _useState1 = (0, _react.useState)(false),
|
|
234
|
+
_useState10 = (0, _slicedToArray2.default)(_useState1, 2),
|
|
235
|
+
loading = _useState10[0],
|
|
236
|
+
setLoading = _useState10[1];
|
|
237
|
+
var handleLoadMore = function handleLoadMore() {
|
|
238
|
+
var nextPage = PAGINATION_PAGES[page];
|
|
239
|
+
if (loading || !nextPage) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
(0, _actions.action)('onLoadMore')(page);
|
|
243
|
+
setLoading(true);
|
|
244
|
+
window.setTimeout(function () {
|
|
245
|
+
setItems(function (currentItems) {
|
|
246
|
+
return [].concat((0, _toConsumableArray2.default)(currentItems), (0, _toConsumableArray2.default)(nextPage));
|
|
247
|
+
});
|
|
248
|
+
setPage(function (currentPage) {
|
|
249
|
+
return currentPage + 1;
|
|
250
|
+
});
|
|
251
|
+
setLoading(false);
|
|
252
|
+
}, 1500);
|
|
253
|
+
};
|
|
254
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
255
|
+
style: {
|
|
256
|
+
width: 300,
|
|
257
|
+
height: 300
|
|
258
|
+
},
|
|
259
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialsHistory.TutorialsHistory, {
|
|
260
|
+
title: "Paginated tutorials",
|
|
261
|
+
items: items,
|
|
262
|
+
selectedRowId: "basics-2",
|
|
263
|
+
loading: loading,
|
|
264
|
+
hasMore: page < PAGINATION_PAGES.length,
|
|
265
|
+
onLoadMore: handleLoadMore,
|
|
266
|
+
renderLink: renderRouterLink,
|
|
267
|
+
search: {
|
|
268
|
+
onUpdate: (0, _actions.action)('onSearchUpdate')
|
|
269
|
+
}
|
|
270
|
+
})
|
|
271
|
+
});
|
|
272
|
+
};
|
|
273
|
+
var RouterLinksStory = function RouterLinksStory() {
|
|
274
|
+
var _useState11 = (0, _react.useState)({
|
|
275
|
+
value: '',
|
|
276
|
+
fullSearch: false
|
|
277
|
+
}),
|
|
278
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
279
|
+
search = _useState12[0],
|
|
280
|
+
setSearch = _useState12[1];
|
|
281
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
282
|
+
style: {
|
|
283
|
+
width: 500,
|
|
284
|
+
height: 500
|
|
285
|
+
},
|
|
286
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialsHistory.TutorialsHistory, {
|
|
287
|
+
title: "Router links",
|
|
288
|
+
items: LINK_ITEMS,
|
|
289
|
+
renderLink: renderRouterLink,
|
|
290
|
+
search: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, search), {}, {
|
|
291
|
+
hasClear: true,
|
|
292
|
+
onUpdate: setSearch
|
|
293
|
+
})
|
|
294
|
+
})
|
|
295
|
+
});
|
|
296
|
+
};
|
|
297
|
+
var CustomRowRendererStory = function CustomRowRendererStory() {
|
|
298
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
299
|
+
style: {
|
|
300
|
+
width: 400,
|
|
301
|
+
height: 300
|
|
302
|
+
},
|
|
303
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TutorialsHistory.TutorialsHistory, {
|
|
304
|
+
title: "Custom tutorial rows",
|
|
305
|
+
items: CUSTOM_ROW_ITEMS,
|
|
306
|
+
selectedRowId: "01HZXB4K8P7Y2Q9T6M3N5R1C0A",
|
|
307
|
+
renderLink: renderRouterLink,
|
|
308
|
+
renderRowItem: function renderRowItem(_ref2) {
|
|
309
|
+
var item = _ref2.item,
|
|
310
|
+
renderLink = _ref2.renderLink;
|
|
311
|
+
return 'header' in item ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.HistoryGroupHeader, {
|
|
312
|
+
title: item.header
|
|
313
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RowLink, {
|
|
314
|
+
href: item.href,
|
|
315
|
+
renderLink: renderLink,
|
|
316
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Flex, {
|
|
317
|
+
alignItems: "center",
|
|
318
|
+
gap: 2,
|
|
319
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
|
|
320
|
+
data: BookOpenIcon,
|
|
321
|
+
size: 16
|
|
322
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Text, {
|
|
323
|
+
ellipsis: true,
|
|
324
|
+
children: item.title
|
|
325
|
+
})]
|
|
326
|
+
})
|
|
327
|
+
});
|
|
328
|
+
},
|
|
329
|
+
search: {
|
|
330
|
+
onUpdate: (0, _actions.action)('onSearchUpdate')
|
|
331
|
+
}
|
|
332
|
+
})
|
|
333
|
+
});
|
|
334
|
+
};
|
|
147
335
|
var Default = exports.Default = {
|
|
148
336
|
render: function render() {
|
|
149
337
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultStory, {});
|
|
@@ -154,4 +342,59 @@ var Empty = exports.Empty = {
|
|
|
154
342
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(EmptyStory, {});
|
|
155
343
|
}
|
|
156
344
|
};
|
|
345
|
+
var InitialLoading = exports.InitialLoading = {
|
|
346
|
+
args: {
|
|
347
|
+
title: 'Loading tutorials',
|
|
348
|
+
items: [],
|
|
349
|
+
loading: true,
|
|
350
|
+
search: {
|
|
351
|
+
onUpdate: (0, _actions.action)('onSearchUpdate')
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
decorators: [function (StoryComponent) {
|
|
355
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
356
|
+
style: {
|
|
357
|
+
width: 300,
|
|
358
|
+
height: 500
|
|
359
|
+
},
|
|
360
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StoryComponent, {})
|
|
361
|
+
});
|
|
362
|
+
}]
|
|
363
|
+
};
|
|
364
|
+
var Paginated = exports.Paginated = {
|
|
365
|
+
render: function render() {
|
|
366
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PaginatedStory, {});
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
var LoadingMore = exports.LoadingMore = {
|
|
370
|
+
args: {
|
|
371
|
+
title: 'Loading next page',
|
|
372
|
+
items: PAGINATION_PAGES[0],
|
|
373
|
+
loading: true,
|
|
374
|
+
hasMore: true,
|
|
375
|
+
onLoadMore: (0, _actions.action)('onLoadMore'),
|
|
376
|
+
search: {
|
|
377
|
+
onUpdate: (0, _actions.action)('onSearchUpdate')
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
decorators: [function (StoryComponent) {
|
|
381
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
382
|
+
style: {
|
|
383
|
+
width: 300,
|
|
384
|
+
height: 300
|
|
385
|
+
},
|
|
386
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StoryComponent, {})
|
|
387
|
+
});
|
|
388
|
+
}]
|
|
389
|
+
};
|
|
390
|
+
var RouterLinks = exports.RouterLinks = {
|
|
391
|
+
render: function render() {
|
|
392
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RouterLinksStory, {});
|
|
393
|
+
}
|
|
394
|
+
};
|
|
395
|
+
var CustomRowRenderer = exports.CustomRowRenderer = {
|
|
396
|
+
render: function render() {
|
|
397
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomRowRendererStory, {});
|
|
398
|
+
}
|
|
399
|
+
};
|
|
157
400
|
// #sourceMappingURL=TutorialsHistory.stories.js.map
|