@gravity-ui/navigation 3.10.1 → 5.0.0-beta.1

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 (117) hide show
  1. package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +16 -5
  2. package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +2 -0
  3. package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +5 -1
  4. package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesGroupHeader.d.ts +13 -0
  5. package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/AllPagesListItem.d.ts +2 -4
  6. package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.d.ts +4 -0
  7. package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +14 -0
  8. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +3 -0
  9. package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
  10. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +3 -0
  11. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +2 -0
  12. package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.d.ts +2 -0
  13. package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +39 -0
  14. package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +15 -0
  15. package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +10 -0
  16. package/build/cjs/components/AsideHeader/components/CompositeBar/index.d.ts +2 -0
  17. package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +4 -0
  18. package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +6 -0
  19. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +2 -1
  20. package/build/cjs/components/AsideHeader/components/Panels.d.ts +1 -1
  21. package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.d.ts +6 -0
  22. package/build/cjs/components/AsideHeader/hooks/useIsExpanded.d.ts +6 -0
  23. package/build/cjs/components/AsideHeader/i18n/index.d.ts +8 -0
  24. package/build/cjs/components/AsideHeader/index.d.ts +7 -0
  25. package/build/cjs/components/AsideHeader/types.d.ts +60 -8
  26. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +4 -0
  27. package/build/cjs/components/AsideHeader/utils/getGroupHeight.d.ts +2 -0
  28. package/build/cjs/components/MobileHeader/i18n/index.d.ts +8 -0
  29. package/build/cjs/components/MobileHeader/types.d.ts +2 -1
  30. package/build/cjs/components/Settings/i18n/index.d.ts +8 -0
  31. package/build/cjs/components/Title/i18n/index.d.ts +8 -0
  32. package/build/cjs/components/constants.d.ts +2 -2
  33. package/build/cjs/components/index.d.ts +1 -7
  34. package/build/cjs/components/types.d.ts +18 -10
  35. package/build/cjs/{index-8E4JW4bt.js → index-Bw3wDNJr.js} +631 -873
  36. package/build/cjs/index-Bw3wDNJr.js.map +1 -0
  37. package/build/cjs/{index-BlcEvPtS.js → index-Di96hvKc.js} +2 -2
  38. package/build/cjs/{index-BlcEvPtS.js.map → index-Di96hvKc.js.map} +1 -1
  39. package/build/cjs/index.js +1 -1
  40. package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +16 -5
  41. package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +2 -0
  42. package/build/esm/components/AsideHeader/__stories__/moc.d.ts +5 -1
  43. package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesGroupHeader.d.ts +13 -0
  44. package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/AllPagesListItem.d.ts +2 -4
  45. package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.d.ts +4 -0
  46. package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +14 -0
  47. package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +3 -0
  48. package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
  49. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +3 -0
  50. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +2 -0
  51. package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.d.ts +2 -0
  52. package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +39 -0
  53. package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +15 -0
  54. package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +10 -0
  55. package/build/esm/components/AsideHeader/components/CompositeBar/index.d.ts +2 -0
  56. package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +4 -0
  57. package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +6 -0
  58. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +2 -1
  59. package/build/esm/components/AsideHeader/components/Panels.d.ts +1 -1
  60. package/build/esm/components/AsideHeader/hooks/useDelayedToggle.d.ts +6 -0
  61. package/build/esm/components/AsideHeader/hooks/useIsExpanded.d.ts +6 -0
  62. package/build/esm/components/AsideHeader/i18n/index.d.ts +8 -0
  63. package/build/esm/components/AsideHeader/index.d.ts +7 -0
  64. package/build/esm/components/AsideHeader/types.d.ts +60 -8
  65. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +4 -0
  66. package/build/esm/components/AsideHeader/utils/getGroupHeight.d.ts +2 -0
  67. package/build/esm/components/MobileHeader/i18n/index.d.ts +8 -0
  68. package/build/esm/components/MobileHeader/types.d.ts +2 -1
  69. package/build/esm/components/Settings/i18n/index.d.ts +8 -0
  70. package/build/esm/components/Title/i18n/index.d.ts +8 -0
  71. package/build/esm/components/constants.d.ts +2 -2
  72. package/build/esm/components/index.d.ts +1 -7
  73. package/build/esm/components/types.d.ts +18 -10
  74. package/build/esm/{index-n2JA2W2G.js → index-B2xnhTBt.js} +2 -2
  75. package/build/esm/{index-n2JA2W2G.js.map → index-B2xnhTBt.js.map} +1 -1
  76. package/build/esm/{index-Cqnwnlke.js → index-OhAIuDEO.js} +634 -876
  77. package/build/esm/index-OhAIuDEO.js.map +1 -0
  78. package/build/esm/index.js +1 -1
  79. package/package.json +2 -2
  80. package/build/cjs/components/AllPagesPanel/constants.d.ts +0 -3
  81. package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +0 -6
  82. package/build/cjs/components/AllPagesPanel/useGroupedMenuItems.d.ts +0 -4
  83. package/build/cjs/components/AllPagesPanel/useVisibleMenuItems.d.ts +0 -2
  84. package/build/cjs/components/CompositeBar/CompositeBar.d.ts +0 -20
  85. package/build/cjs/components/CompositeBar/Item/Item.d.ts +0 -43
  86. package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
  87. package/build/cjs/components/CompositeBar/utils.d.ts +0 -12
  88. package/build/cjs/components/FooterItem/FooterItem.d.ts +0 -7
  89. package/build/cjs/index-8E4JW4bt.js.map +0 -1
  90. package/build/esm/components/AllPagesPanel/constants.d.ts +0 -3
  91. package/build/esm/components/AllPagesPanel/i18n/index.d.ts +0 -6
  92. package/build/esm/components/AllPagesPanel/useGroupedMenuItems.d.ts +0 -4
  93. package/build/esm/components/AllPagesPanel/useVisibleMenuItems.d.ts +0 -2
  94. package/build/esm/components/CompositeBar/CompositeBar.d.ts +0 -20
  95. package/build/esm/components/CompositeBar/Item/Item.d.ts +0 -43
  96. package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
  97. package/build/esm/components/CompositeBar/utils.d.ts +0 -12
  98. package/build/esm/components/FooterItem/FooterItem.d.ts +0 -7
  99. package/build/esm/index-Cqnwnlke.js.map +0 -1
  100. package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/index.d.ts +0 -0
  101. package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesPanel.d.ts +0 -0
  102. package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/index.d.ts +0 -0
  103. package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/HighlightedItem/HighlightedItem.d.ts +0 -0
  104. package/build/{esm → cjs/components/AsideHeader}/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +1 -1
  105. package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/MultipleTooltip/index.d.ts +0 -0
  106. package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/constants.d.ts +0 -0
  107. package/build/cjs/components/{FooterItem → AsideHeader/components/FooterItem}/__stories__/FooterItem.stories.d.ts +0 -0
  108. package/build/cjs/components/{FooterItem → AsideHeader/components/FooterItem}/__tests__/helpersPlaywright.d.ts +0 -0
  109. package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/index.d.ts +0 -0
  110. package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesPanel.d.ts +0 -0
  111. package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/index.d.ts +0 -0
  112. package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/HighlightedItem/HighlightedItem.d.ts +0 -0
  113. package/build/{cjs → esm/components/AsideHeader}/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +1 -1
  114. /package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/MultipleTooltip/index.d.ts +0 -0
  115. /package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/constants.d.ts +0 -0
  116. /package/build/esm/components/{FooterItem → AsideHeader/components/FooterItem}/__stories__/FooterItem.stories.d.ts +0 -0
  117. /package/build/esm/components/{FooterItem → AsideHeader/components/FooterItem}/__tests__/helpersPlaywright.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index-n2JA2W2G.js","sources":["../../../src/components/TopAlert/useTopAlertHeight.ts","../../../src/components/TopAlert/TopAlert.tsx"],"sourcesContent":["import React from 'react';\n\nimport debounceFn from 'lodash/debounce';\n\nimport {TopAlertProps} from '../types';\n\ntype TopAlertHeightControls = {\n alertRef: React.RefObject<HTMLDivElement>;\n updateTopSize: () => void;\n};\n\nconst G_ROOT_CLASS_NAME = 'g-root';\n\nexport const useTopAlertHeight = ({alert}: {alert?: TopAlertProps}): TopAlertHeightControls => {\n const alertRef = React.useRef<HTMLDivElement>(null);\n\n const setAsideTopPanelHeight = React.useCallback((clientHeight: number) => {\n const gRootElement = document\n .getElementsByClassName(G_ROOT_CLASS_NAME)\n .item(0) as HTMLElement | null;\n gRootElement?.style.setProperty('--gn-top-alert-height', clientHeight + 'px');\n }, []);\n\n const updateTopSize = React.useCallback(() => {\n setAsideTopPanelHeight(alertRef.current?.clientHeight || 0);\n }, [setAsideTopPanelHeight]);\n\n React.useLayoutEffect(() => {\n const updateTopSizeDebounce = debounceFn(updateTopSize, 200, {leading: true});\n\n if (alert) {\n window.addEventListener('resize', updateTopSizeDebounce);\n updateTopSizeDebounce();\n }\n return () => {\n window.removeEventListener('resize', updateTopSizeDebounce);\n setAsideTopPanelHeight(0);\n };\n }, [alert, alertRef, updateTopSize, setAsideTopPanelHeight]);\n\n return {\n alertRef,\n updateTopSize,\n };\n};\n","import React from 'react';\n\nimport {Alert, Text} from '@gravity-ui/uikit';\n\nimport {TopAlertProps} from '../types';\nimport {block} from '../utils/cn';\n\nimport {useTopAlertHeight} from './useTopAlertHeight';\n\nimport './TopAlert.scss';\n\nconst b = block('top-alert');\n\ntype Props = {\n alert?: TopAlertProps;\n className?: string;\n mobileView?: boolean;\n};\n\nexport const TopAlert = ({alert, className, mobileView = false}: Props) => {\n const {alertRef, updateTopSize} = useTopAlertHeight({alert});\n\n const [opened, setOpened] = React.useState(true);\n\n const handleClose = React.useCallback(() => {\n setOpened(false);\n\n if (alert && 'onCloseTopAlert' in alert) {\n alert.onCloseTopAlert?.();\n }\n }, [alert]);\n\n React.useEffect(() => {\n if (!opened) {\n updateTopSize();\n }\n }, [opened, updateTopSize]);\n\n if (!alert) {\n return null;\n }\n\n const {render} = alert;\n\n if (typeof render === 'function') {\n return (\n <div\n ref={alertRef}\n className={b('wrapper', {'with-bottom-border': !mobileView && opened}, className)}\n >\n {opened && render({handleClose})}\n </div>\n );\n }\n\n return (\n <div\n ref={alertRef}\n className={b('wrapper', {'with-bottom-border': !mobileView && opened}, className)}\n >\n {opened && (\n <Alert\n className={b('', {\n centered: alert.centered,\n dense: alert.dense,\n })}\n corners=\"square\"\n layout=\"horizontal\"\n align={alert.align}\n theme={alert.theme || 'warning'}\n view={alert.view}\n icon={alert.icon}\n title={alert.title}\n message={\n mobileView ? (\n <Text ellipsisLines={5} variant=\"body-2\">\n {alert.message}\n </Text>\n ) : (\n alert.message\n )\n }\n actions={alert.actions}\n onClose={alert.closable ? handleClose : undefined}\n />\n )}\n </div>\n );\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"index-B2xnhTBt.js","sources":["../../../src/components/TopAlert/useTopAlertHeight.ts","../../../src/components/TopAlert/TopAlert.tsx"],"sourcesContent":["import React from 'react';\n\nimport debounceFn from 'lodash/debounce';\n\nimport {TopAlertProps} from '../types';\n\ntype TopAlertHeightControls = {\n alertRef: React.RefObject<HTMLDivElement>;\n updateTopSize: () => void;\n};\n\nconst G_ROOT_CLASS_NAME = 'g-root';\n\nexport const useTopAlertHeight = ({alert}: {alert?: TopAlertProps}): TopAlertHeightControls => {\n const alertRef = React.useRef<HTMLDivElement>(null);\n\n const setAsideTopPanelHeight = React.useCallback((clientHeight: number) => {\n const gRootElement = document\n .getElementsByClassName(G_ROOT_CLASS_NAME)\n .item(0) as HTMLElement | null;\n gRootElement?.style.setProperty('--gn-top-alert-height', clientHeight + 'px');\n }, []);\n\n const updateTopSize = React.useCallback(() => {\n setAsideTopPanelHeight(alertRef.current?.clientHeight || 0);\n }, [setAsideTopPanelHeight]);\n\n React.useLayoutEffect(() => {\n const updateTopSizeDebounce = debounceFn(updateTopSize, 200, {leading: true});\n\n if (alert) {\n window.addEventListener('resize', updateTopSizeDebounce);\n updateTopSizeDebounce();\n }\n return () => {\n window.removeEventListener('resize', updateTopSizeDebounce);\n setAsideTopPanelHeight(0);\n };\n }, [alert, alertRef, updateTopSize, setAsideTopPanelHeight]);\n\n return {\n alertRef,\n updateTopSize,\n };\n};\n","import React from 'react';\n\nimport {Alert, Text} from '@gravity-ui/uikit';\n\nimport {TopAlertProps} from '../types';\nimport {block} from '../utils/cn';\n\nimport {useTopAlertHeight} from './useTopAlertHeight';\n\nimport './TopAlert.scss';\n\nconst b = block('top-alert');\n\ntype Props = {\n alert?: TopAlertProps;\n className?: string;\n mobileView?: boolean;\n};\n\nexport const TopAlert = ({alert, className, mobileView = false}: Props) => {\n const {alertRef, updateTopSize} = useTopAlertHeight({alert});\n\n const [opened, setOpened] = React.useState(true);\n\n const handleClose = React.useCallback(() => {\n setOpened(false);\n\n if (alert && 'onCloseTopAlert' in alert) {\n alert.onCloseTopAlert?.();\n }\n }, [alert]);\n\n React.useEffect(() => {\n if (!opened) {\n updateTopSize();\n }\n }, [opened, updateTopSize]);\n\n if (!alert) {\n return null;\n }\n\n const {render} = alert;\n\n if (typeof render === 'function') {\n return (\n <div\n ref={alertRef}\n className={b('wrapper', {'with-bottom-border': !mobileView && opened}, className)}\n >\n {opened && render({handleClose})}\n </div>\n );\n }\n\n return (\n <div\n ref={alertRef}\n className={b('wrapper', {'with-bottom-border': !mobileView && opened}, className)}\n >\n {opened && (\n <Alert\n className={b('', {\n centered: alert.centered,\n dense: alert.dense,\n })}\n corners=\"square\"\n layout=\"horizontal\"\n align={alert.align}\n theme={alert.theme || 'warning'}\n view={alert.view}\n icon={alert.icon}\n title={alert.title}\n message={\n mobileView ? (\n <Text ellipsisLines={5} variant=\"body-2\">\n {alert.message}\n </Text>\n ) : (\n alert.message\n )\n }\n actions={alert.actions}\n onClose={alert.closable ? handleClose : undefined}\n />\n )}\n </div>\n );\n};\n"],"names":["React"],"mappings":"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"}