@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.
Files changed (82) hide show
  1. package/README.md +88 -3
  2. package/build/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  3. package/build/cjs/components/Breadcrumbs/Breadcrumbs.js +19 -6
  4. package/build/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  5. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js +3 -1
  6. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -1
  7. package/build/cjs/modules/NavigationDetail/NavigationDetail.d.ts +3 -1
  8. package/build/cjs/modules/NavigationDetail/NavigationDetail.js +4 -0
  9. package/build/cjs/modules/NavigationDetail/NavigationDetail.js.map +1 -1
  10. package/build/cjs/modules/NavigationHeader/NavigationHeader.d.ts +3 -1
  11. package/build/cjs/modules/NavigationHeader/NavigationHeader.js +7 -1
  12. package/build/cjs/modules/NavigationHeader/NavigationHeader.js.map +1 -1
  13. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.d.ts +3 -2
  14. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js +2 -1
  15. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
  16. package/build/cjs/modules/NavigationItemsList/internal/useParentRow.d.ts +1 -1
  17. package/build/cjs/modules/NavigationItemsList/internal/useParentRow.js +2 -1
  18. package/build/cjs/modules/NavigationItemsList/internal/useParentRow.js.map +1 -1
  19. package/build/cjs/modules/TutorialRow/TutorialRow.d.ts +3 -1
  20. package/build/cjs/modules/TutorialRow/TutorialRow.js +3 -1
  21. package/build/cjs/modules/TutorialRow/TutorialRow.js.map +1 -1
  22. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.d.ts +3 -1
  23. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js +3 -1
  24. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
  25. package/build/cjs/types/navigation.d.ts +11 -0
  26. package/build/cjs/types/navigation.js.map +1 -1
  27. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.d.ts +3 -2
  28. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js +8 -0
  29. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
  30. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.d.ts +3 -0
  31. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.js +166 -1
  32. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.js.map +1 -1
  33. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.d.ts +1 -1
  34. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js +6 -3
  35. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
  36. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.d.ts +7 -2
  37. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js +13 -3
  38. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
  39. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.stories.d.ts +5 -0
  40. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.stories.js +244 -1
  41. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.stories.js.map +1 -1
  42. package/build/esm/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  43. package/build/esm/components/Breadcrumbs/Breadcrumbs.js +19 -6
  44. package/build/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  45. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js +3 -1
  46. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -1
  47. package/build/esm/modules/NavigationDetail/NavigationDetail.d.ts +3 -1
  48. package/build/esm/modules/NavigationDetail/NavigationDetail.js +4 -0
  49. package/build/esm/modules/NavigationDetail/NavigationDetail.js.map +1 -1
  50. package/build/esm/modules/NavigationHeader/NavigationHeader.d.ts +3 -1
  51. package/build/esm/modules/NavigationHeader/NavigationHeader.js +7 -1
  52. package/build/esm/modules/NavigationHeader/NavigationHeader.js.map +1 -1
  53. package/build/esm/modules/NavigationItemsList/NavigationItemsList.d.ts +3 -2
  54. package/build/esm/modules/NavigationItemsList/NavigationItemsList.js +2 -1
  55. package/build/esm/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
  56. package/build/esm/modules/NavigationItemsList/internal/useParentRow.d.ts +1 -1
  57. package/build/esm/modules/NavigationItemsList/internal/useParentRow.js +2 -1
  58. package/build/esm/modules/NavigationItemsList/internal/useParentRow.js.map +1 -1
  59. package/build/esm/modules/TutorialRow/TutorialRow.d.ts +3 -1
  60. package/build/esm/modules/TutorialRow/TutorialRow.js +3 -1
  61. package/build/esm/modules/TutorialRow/TutorialRow.js.map +1 -1
  62. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.d.ts +3 -1
  63. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js +3 -1
  64. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
  65. package/build/esm/types/navigation.d.ts +11 -0
  66. package/build/esm/types/navigation.js.map +1 -1
  67. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.d.ts +3 -2
  68. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js +8 -0
  69. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
  70. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.d.ts +3 -0
  71. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.js +166 -1
  72. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.js.map +1 -1
  73. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.d.ts +1 -1
  74. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js +6 -3
  75. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
  76. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.d.ts +7 -2
  77. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js +13 -3
  78. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
  79. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.stories.d.ts +5 -0
  80. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.stories.js +244 -1
  81. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.stories.js.map +1 -1
  82. 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":"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","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} /> : <TutorialRow item={item} />;\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,EAGE;EAAA,IAF7BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAEP,IAAI,QAAQ,IAAID,IAAI,EAAE;IAClB,oBAAO,IAAAE,eAAA,EAACC,sCAAkB;MAACC,KAAK,EAAEJ,IAAI,CAACK;IAAO,CAAE,CAAC;EACrD;EAEA,OAAOJ,OAAO,KAAK,QAAQ,gBAAG,IAAAC,eAAA,EAACI,oCAAiB;IAACN,IAAI,EAAEA;EAAK,CAAE,CAAC,gBAAG,IAAAE,eAAA,EAACK,wBAAW;IAACP,IAAI,EAAEA;EAAK,CAAE,CAAC;AACjG,CAAC","ignoreList":[]}
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 _getListKey = require("../../helpers/getListKey");
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
- }, (0, _getListKey.getListKey)(items, rowVariant))
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","_getListKey","_TutorialRowContent","_bemCnLite","_jsxRuntime","e","__esModule","default","block","cn","TutorialsHistory","exports","_ref","_search$value","title","logo","search","filter","items","selectedRowId","onListItemClick","className","fullSearchAvailable","showSearchResults","Boolean","fullSearch","value","trim","rowVariant","_jsx","HistoryLayout","i18n","header","HistoryHeader","hasClear","onUpdate","children","RowsList","renderRow","data","TutorialRowContent","_objectSpread","showFiltersHint","onItemClick","getListKey"],"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 QueryListSearchConfig,\n} from '../../types/queryList';\nimport type {TutorialHistoryRow} from '../../types/tutorial';\nimport {getListKey} from '../../helpers/getListKey';\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 onListItemClick?: (item: QueryListItem<T>) => void;\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 onListItemClick,\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\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={getListKey(items, rowVariant)}\n items={items}\n rowVariant={rowVariant}\n selectedRowId={selectedRowId}\n renderRow={(data) => <TutorialRowContent {...data} />}\n showFiltersHint={Boolean(filter)}\n onItemClick={onListItemClick}\n />\n </HistoryLayout>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAOA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAR,sBAAA,CAAAC,OAAA;AACAA,OAAA;AAAiC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAajC,IAAMG,KAAK,GAAG,IAAAC,kBAAE,EAAC,sBAAsB,CAAC;AAEjC,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,SAAnBA,gBAAgBA,CAAAE,IAAA,EASG;EAAA,IAAAC,aAAA;EAAA,IAR5BC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,MAAM,GAAAL,IAAA,CAANK,MAAM;IACNC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,aAAa,GAAAP,IAAA,CAAbO,aAAa;IACbC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;IACfC,SAAS,GAAAT,IAAA,CAATS,SAAS;EAET,IAAMC,mBAAmB,GAAGN,MAAM,CAACM,mBAAmB,KAAK,KAAK;EAChE,IAAMC,iBAAiB,GAAGC,OAAO,CAC7BF,mBAAmB,IAAIN,MAAM,CAACS,UAAU,MAAAZ,aAAA,GAAIG,MAAM,CAACU,KAAK,cAAAb,aAAA,uBAAZA,aAAA,CAAcc,IAAI,CAAC,CAAC,CACpE,CAAC;EACD,IAAMC,UAAU,GAAGL,iBAAiB,GAAG,QAAQ,GAAG,SAAS;EAE3D,oBACI,IAAAM,eAAA,EAACC,4BAAa;IACVT,SAAS,EAAEb,KAAK,CAAC,IAAI,EAAEa,SAAS,CAAE;IAClCP,KAAK,EAAEA,KAAK,IAAI,IAAAiB,aAAI,EAAC,iBAAiB,CAAE;IACxChB,IAAI,EAAEA,IAAK;IACXiB,MAAM,eACF,IAAAH,eAAA,EAACI,4BAAa;MACVjB,MAAM,EAAEA,MAAM,CAACU,KAAM;MACrBD,UAAU,EAAET,MAAM,CAACS,UAAW;MAC9BH,mBAAmB,EAAEA,mBAAoB;MACzCY,QAAQ,EAAElB,MAAM,CAACkB,QAAS;MAC1BjB,MAAM,EAAEA,MAAO;MACfkB,QAAQ,EAAEnB,MAAM,CAACmB;IAAS,CAC7B,CACJ;IAAAC,QAAA,eAED,IAAAP,eAAA,EAACQ,kBAAQ;MAELnB,KAAK,EAAEA,KAAM;MACbU,UAAU,EAAEA,UAAW;MACvBT,aAAa,EAAEA,aAAc;MAC7BmB,SAAS,EAAE,SAAXA,SAASA,CAAGC,IAAI;QAAA,oBAAK,IAAAV,eAAA,EAACW,sCAAkB,MAAAC,sBAAA,MAAKF,IAAI,CAAG,CAAC;MAAA,CAAC;MACtDG,eAAe,EAAElB,OAAO,CAACP,MAAM,CAAE;MACjC0B,WAAW,EAAEvB;IAAgB,GANxB,IAAAwB,sBAAU,EAAC1B,KAAK,EAAEU,UAAU,CAOpC;EAAC,CACS,CAAC;AAExB,CAAC","ignoreList":[]}
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