@consta/header 1.0.1 → 1.2.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 (157) hide show
  1. package/BannerBar/index.d.ts +1 -0
  2. package/BannerBar/index.js +1 -0
  3. package/GlobalMenu/index.d.ts +1 -0
  4. package/GlobalMenu/index.js +1 -0
  5. package/MegaMenu/index.d.ts +1 -0
  6. package/MegaMenu/index.js +1 -0
  7. package/NavBar/index.d.ts +1 -0
  8. package/NavBar/index.js +1 -0
  9. package/__internal__/src/components/Badges/Badges.js.map +1 -1
  10. package/__internal__/src/components/Badges/helpers.js.map +1 -1
  11. package/__internal__/src/components/Badges/types.d.ts +6 -6
  12. package/__internal__/src/components/BannerBar/BannerBar.css +1 -0
  13. package/__internal__/src/components/BannerBar/BannerBar.d.ts +3 -0
  14. package/__internal__/src/components/BannerBar/BannerBar.js +2 -0
  15. package/__internal__/src/components/BannerBar/BannerBar.js.map +1 -0
  16. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.css +1 -0
  17. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.d.ts +3 -0
  18. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.js +2 -0
  19. package/__internal__/src/components/BannerBar/BannerBarItem/BannerBarItem.js.map +1 -0
  20. package/__internal__/src/components/BannerBar/BannerBarItem/index.d.ts +1 -0
  21. package/__internal__/src/components/BannerBar/BannerBarItem/index.js +2 -0
  22. package/__internal__/src/components/BannerBar/BannerBarItem/index.js.map +1 -0
  23. package/__internal__/src/components/BannerBar/helpers.d.ts +274 -0
  24. package/__internal__/src/components/BannerBar/helpers.js +2 -0
  25. package/__internal__/src/components/BannerBar/helpers.js.map +1 -0
  26. package/__internal__/src/components/BannerBar/index.d.ts +3 -0
  27. package/__internal__/src/components/BannerBar/index.js +2 -0
  28. package/__internal__/src/components/BannerBar/index.js.map +1 -0
  29. package/__internal__/src/components/BannerBar/types.d.ts +42 -0
  30. package/__internal__/src/components/BannerBar/types.js +2 -0
  31. package/__internal__/src/components/BannerBar/types.js.map +1 -0
  32. package/__internal__/src/components/ButtonMenu/ButtonMenu.js.map +1 -1
  33. package/__internal__/src/components/ButtonMenu/helpers.d.ts +2 -2
  34. package/__internal__/src/components/ButtonMenu/helpers.js.map +1 -1
  35. package/__internal__/src/components/ButtonMenu/types.d.ts +9 -9
  36. package/__internal__/src/components/GlobalMenu/GlobalMenu.css +1 -0
  37. package/__internal__/src/components/GlobalMenu/GlobalMenu.d.ts +3 -0
  38. package/__internal__/src/components/GlobalMenu/GlobalMenu.js +2 -0
  39. package/__internal__/src/components/GlobalMenu/GlobalMenu.js.map +1 -0
  40. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.css +1 -0
  41. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.d.ts +3 -0
  42. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.js +2 -0
  43. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/GlobalMenuGroup.js.map +1 -0
  44. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/index.d.ts +1 -0
  45. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/index.js +2 -0
  46. package/__internal__/src/components/GlobalMenu/GlobalMenuGroup/index.js.map +1 -0
  47. package/__internal__/src/components/GlobalMenu/helper.d.ts +281 -0
  48. package/__internal__/src/components/GlobalMenu/helper.js +2 -0
  49. package/__internal__/src/components/GlobalMenu/helper.js.map +1 -0
  50. package/__internal__/src/components/GlobalMenu/index.d.ts +2 -0
  51. package/__internal__/src/components/GlobalMenu/index.js +2 -0
  52. package/__internal__/src/components/GlobalMenu/index.js.map +1 -0
  53. package/__internal__/src/components/GlobalMenu/types.d.ts +75 -0
  54. package/__internal__/src/components/GlobalMenu/types.js +2 -0
  55. package/__internal__/src/components/GlobalMenu/types.js.map +1 -0
  56. package/__internal__/src/components/Header/Header.js.map +1 -1
  57. package/__internal__/src/components/Header/HeaderLogin/HeaderLogin.d.ts +2 -2
  58. package/__internal__/src/components/Header/HeaderLogin/HeaderLogin.js.map +1 -1
  59. package/__internal__/src/components/Header/HeaderLogo/HeaderLogo.d.ts +2 -2
  60. package/__internal__/src/components/Header/HeaderLogo/HeaderLogo.js.map +1 -1
  61. package/__internal__/src/components/Header/HeaderSearch/HeaderSearch.d.ts +1 -1
  62. package/__internal__/src/components/Header/HeaderSearch/HeaderSearch.js.map +1 -1
  63. package/__internal__/src/components/Header/helpers.d.ts +1 -1
  64. package/__internal__/src/components/Header/helpers.js.map +1 -1
  65. package/__internal__/src/components/Header/types.d.ts +12 -12
  66. package/__internal__/src/components/Languages/Languages.js.map +1 -1
  67. package/__internal__/src/components/Languages/helpers.d.ts +1 -1
  68. package/__internal__/src/components/Languages/helpers.js.map +1 -1
  69. package/__internal__/src/components/Languages/types.d.ts +3 -3
  70. package/__internal__/src/components/Layout/Layout.d.ts +1 -1
  71. package/__internal__/src/components/Layout/Layout.js.map +1 -1
  72. package/__internal__/src/components/Layout/LayoutRow/LayoutRow.d.ts +1 -1
  73. package/__internal__/src/components/Layout/LayoutRow/LayoutRow.js.map +1 -1
  74. package/__internal__/src/components/Layout/helpers.js.map +1 -1
  75. package/__internal__/src/components/Layout/types.d.ts +3 -3
  76. package/__internal__/src/components/MegaMenu/MegaMenu.css +1 -0
  77. package/__internal__/src/components/MegaMenu/MegaMenu.d.ts +4 -0
  78. package/__internal__/src/components/MegaMenu/MegaMenu.js +2 -0
  79. package/__internal__/src/components/MegaMenu/MegaMenu.js.map +1 -0
  80. package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.css +1 -0
  81. package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.d.ts +3 -0
  82. package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.js +2 -0
  83. package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.js.map +1 -0
  84. package/__internal__/src/components/MegaMenu/MegaMenuBox/index.d.ts +2 -0
  85. package/__internal__/src/components/MegaMenu/MegaMenuBox/index.js +2 -0
  86. package/__internal__/src/components/MegaMenu/MegaMenuBox/index.js.map +1 -0
  87. package/__internal__/src/components/MegaMenu/MegaMenuBox/types.d.ts +10 -0
  88. package/__internal__/src/components/MegaMenu/MegaMenuBox/types.js +2 -0
  89. package/__internal__/src/components/MegaMenu/MegaMenuBox/types.js.map +1 -0
  90. package/__internal__/src/components/MegaMenu/helper.d.ts +301 -0
  91. package/__internal__/src/components/MegaMenu/helper.js +2 -0
  92. package/__internal__/src/components/MegaMenu/helper.js.map +1 -0
  93. package/__internal__/src/components/MegaMenu/index.d.ts +3 -0
  94. package/__internal__/src/components/MegaMenu/index.js +2 -0
  95. package/__internal__/src/components/MegaMenu/index.js.map +1 -0
  96. package/__internal__/src/components/MegaMenu/types.d.ts +65 -0
  97. package/__internal__/src/components/MegaMenu/types.js +2 -0
  98. package/__internal__/src/components/MegaMenu/types.js.map +1 -0
  99. package/__internal__/src/components/Menu/Menu.js.map +1 -1
  100. package/__internal__/src/components/Menu/helpers.d.ts +1 -1
  101. package/__internal__/src/components/Menu/helpers.js.map +1 -1
  102. package/__internal__/src/components/Menu/types.d.ts +10 -10
  103. package/__internal__/src/components/MobileMenu/MobileMenu.js.map +1 -1
  104. package/__internal__/src/components/MobileMenu/types.d.ts +2 -2
  105. package/__internal__/src/components/NavBar/NavBar.css +1 -0
  106. package/__internal__/src/components/NavBar/NavBar.d.ts +3 -0
  107. package/__internal__/src/components/NavBar/NavBar.js +2 -0
  108. package/__internal__/src/components/NavBar/NavBar.js.map +1 -0
  109. package/__internal__/src/components/NavBar/helper.d.ts +31 -0
  110. package/__internal__/src/components/NavBar/helper.js +2 -0
  111. package/__internal__/src/components/NavBar/helper.js.map +1 -0
  112. package/__internal__/src/components/NavBar/index.d.ts +1 -0
  113. package/__internal__/src/components/NavBar/index.js +2 -0
  114. package/__internal__/src/components/NavBar/index.js.map +1 -0
  115. package/__internal__/src/components/NavBar/types.d.ts +48 -0
  116. package/__internal__/src/components/NavBar/types.js +2 -0
  117. package/__internal__/src/components/NavBar/types.js.map +1 -0
  118. package/__internal__/src/components/NotificationCard/NotificationCard.d.ts +1 -1
  119. package/__internal__/src/components/NotificationCard/NotificationCard.js.map +1 -1
  120. package/__internal__/src/components/NotificationCard/helpers.js.map +1 -1
  121. package/__internal__/src/components/NotificationCard/types.d.ts +3 -3
  122. package/__internal__/src/components/Notifications/Notifications.js.map +1 -1
  123. package/__internal__/src/components/Notifications/types.d.ts +2 -2
  124. package/__internal__/src/components/NotificationsActions/NotificationsActions.js.map +1 -1
  125. package/__internal__/src/components/NotificationsActions/helpers.js.map +1 -1
  126. package/__internal__/src/components/NotificationsActions/types.d.ts +7 -7
  127. package/__internal__/src/components/NotificationsList/NotificationsList.js.map +1 -1
  128. package/__internal__/src/components/NotificationsList/helpers.d.ts +2 -2
  129. package/__internal__/src/components/NotificationsList/helpers.js.map +1 -1
  130. package/__internal__/src/components/NotificationsList/types.d.ts +23 -23
  131. package/__internal__/src/components/SelectMenu/SelectMenu.js.map +1 -1
  132. package/__internal__/src/components/SelectMenu/helpers.d.ts +1 -1
  133. package/__internal__/src/components/SelectMenu/helpers.js.map +1 -1
  134. package/__internal__/src/components/SelectMenu/types.d.ts +9 -9
  135. package/__internal__/src/components/Sidebar/Sidebar.d.ts +1 -1
  136. package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
  137. package/__internal__/src/components/TileMenu/TileMenu.js.map +1 -1
  138. package/__internal__/src/components/TileMenu/TileMenuItem/TileMenuItem.d.ts +2 -2
  139. package/__internal__/src/components/TileMenu/TileMenuItem/TileMenuItem.js.map +1 -1
  140. package/__internal__/src/components/TileMenu/TileMenuList/TileMenuList.js.map +1 -1
  141. package/__internal__/src/components/TileMenu/TileMenuList/types.d.ts +8 -8
  142. package/__internal__/src/components/TileMenu/helpers.d.ts +3 -0
  143. package/__internal__/src/components/TileMenu/helpers.js.map +1 -1
  144. package/__internal__/src/components/TileMenu/types.d.ts +14 -14
  145. package/__internal__/src/components/TileMenu/types.js.map +1 -1
  146. package/__internal__/src/components/VerticalMenu/VerticalMenu.js.map +1 -1
  147. package/__internal__/src/components/VerticalMenu/VerticalMenuItem/VerticalMenuItem.js.map +1 -1
  148. package/__internal__/src/components/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.js.map +1 -1
  149. package/__internal__/src/components/VerticalMenu/helpers.d.ts +1 -1
  150. package/__internal__/src/components/VerticalMenu/helpers.js.map +1 -1
  151. package/__internal__/src/components/VerticalMenu/types.d.ts +16 -16
  152. package/__internal__/src/docs/start/start.stand.js.map +1 -1
  153. package/__internal__/src/helpers/getItemClick.d.ts +2 -2
  154. package/__internal__/src/helpers/getItemClick.js.map +1 -1
  155. package/__internal__/src/utils/bem.js.map +1 -1
  156. package/__internal__/src/utils/types/PropsWithHTMLAttributes.d.ts +2 -2
  157. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsActions.js","names":["Button","ContextMenu","IconMeatball","useForkRef","useMutableRef","withTooltip","React","forwardRef","useCallback","useEffect","useRef","useState","getItemClick","withDefaultGetters","ButtonWithTooltip","NotificationsActionsRender","props","ref","items","className","children","mainButtonOnlyIcon","opened","onOpen","onOpenProp","setVisibleMenu","setVisibleMenuProp","getItemIcon","getItemLabel","getItemOnClick","onItemClick","otherProps","buttonRef","visibleMenu","closeMenu","toogleMenu","state","setVisibleMenuRef","menuRef","getOnItemClick","item","e","elementZIndex","style","zIndex","current","length","content","width","NotificationsActions"],"sources":["../../../../../src/components/NotificationsActions/NotificationsActions.tsx"],"sourcesContent":["import { Button } from '@consta/uikit/Button';\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { IconMeatball } from '@consta/uikit/IconMeatball';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport { withTooltip } from '@consta/uikit/withTooltip';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n NotificationsActionsComponent,\n NotificationsActionsProps,\n} from './types';\n\nconst ButtonWithTooltip = withTooltip()(Button);\n\nconst NotificationsActionsRender = (\n props: NotificationsActionsProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const {\n items = [],\n className,\n children,\n mainButtonOnlyIcon,\n opened = false,\n onOpen: onOpenProp,\n setVisibleMenu: setVisibleMenuProp,\n getItemIcon,\n getItemLabel,\n getItemOnClick,\n onItemClick,\n ...otherProps\n } = withDefaultGetters(props);\n const buttonRef = useRef(null);\n\n const [visibleMenu, setVisibleMenu] = useState<boolean>(opened);\n\n const closeMenu = useCallback(() => setVisibleMenu(false), []);\n const toogleMenu = useCallback(() => setVisibleMenu((state?) => !state), []);\n const onOpen = useMutableRef(onOpenProp);\n const setVisibleMenuRef = useMutableRef(setVisibleMenuProp);\n const menuRef = useForkRef([buttonRef, ref]);\n\n const getOnItemClick =\n (item: typeof items[number]) => (e: React.MouseEvent) => {\n onItemClick?.({ e, item });\n getItemOnClick(item)?.(e);\n };\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n useEffect(() => {\n setVisibleMenu(opened);\n }, [opened]);\n\n useEffect(() => {\n onOpen.current?.(visibleMenu);\n }, [visibleMenu, onOpen]);\n\n useEffect(() => {\n setVisibleMenuRef.current?.(setVisibleMenu);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (items.length === 1 && !mainButtonOnlyIcon) {\n return (\n <Button\n {...otherProps}\n className={className}\n size=\"xs\"\n view=\"clear\"\n iconLeft={getItemIcon(items[0])}\n onClick={getOnItemClick(items[0])}\n label={getItemLabel(items[0])}\n ref={ref}\n />\n );\n }\n\n if (items.length === 1 && getItemIcon(items[0]) && mainButtonOnlyIcon) {\n return (\n <ButtonWithTooltip\n {...otherProps}\n className={className}\n size=\"xs\"\n view=\"clear\"\n iconLeft={getItemIcon(items[0])}\n onClick={getOnItemClick(items[0])}\n tooltipProps={{\n content: getItemLabel(items[0]),\n }}\n ref={ref}\n />\n );\n }\n\n return (\n <>\n <Button\n {...otherProps}\n className={className}\n size=\"xs\"\n view=\"clear\"\n iconLeft={IconMeatball}\n ref={menuRef}\n onClick={toogleMenu}\n />\n <ContextMenu\n isOpen={visibleMenu}\n items={items}\n getItemLabel={getItemLabel}\n onItemClick={({ e, item }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n getItemKey={getItemLabel}\n getItemLeftIcon={getItemIcon}\n anchorRef={buttonRef}\n onClickOutside={closeMenu}\n possibleDirections={['downStartRight', 'upStartRight']}\n direction=\"downStartRight\"\n style={{ width: 280, zIndex: elementZIndex }}\n />\n </>\n );\n};\n\nexport const NotificationsActions = forwardRef(\n NotificationsActionsRender,\n) as NotificationsActionsComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"NotificationsActions.js","names":["Button","ContextMenu","IconMeatball","useForkRef","useMutableRef","withTooltip","React","forwardRef","useCallback","useEffect","useRef","useState","getItemClick","withDefaultGetters","ButtonWithTooltip","NotificationsActionsRender","props","ref","items","className","children","mainButtonOnlyIcon","opened","onOpen","onOpenProp","setVisibleMenu","setVisibleMenuProp","getItemIcon","getItemLabel","getItemOnClick","onItemClick","otherProps","buttonRef","visibleMenu","closeMenu","toogleMenu","state","setVisibleMenuRef","menuRef","getOnItemClick","item","e","elementZIndex","style","zIndex","current","length","content","width","NotificationsActions"],"sources":["../../../../../src/components/NotificationsActions/NotificationsActions.tsx"],"sourcesContent":["import { Button } from '@consta/uikit/Button';\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { IconMeatball } from '@consta/uikit/IconMeatball';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport { withTooltip } from '@consta/uikit/withTooltip';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n NotificationsActionsComponent,\n NotificationsActionsProps,\n} from './types';\n\nconst ButtonWithTooltip = withTooltip()(Button);\n\nconst NotificationsActionsRender = (\n props: NotificationsActionsProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const {\n items = [],\n className,\n children,\n mainButtonOnlyIcon,\n opened = false,\n onOpen: onOpenProp,\n setVisibleMenu: setVisibleMenuProp,\n getItemIcon,\n getItemLabel,\n getItemOnClick,\n onItemClick,\n ...otherProps\n } = withDefaultGetters(props);\n const buttonRef = useRef(null);\n\n const [visibleMenu, setVisibleMenu] = useState<boolean>(opened);\n\n const closeMenu = useCallback(() => setVisibleMenu(false), []);\n const toogleMenu = useCallback(() => setVisibleMenu((state?) => !state), []);\n const onOpen = useMutableRef(onOpenProp);\n const setVisibleMenuRef = useMutableRef(setVisibleMenuProp);\n const menuRef = useForkRef([buttonRef, ref]);\n\n const getOnItemClick =\n (item: typeof items[number]) => (e: React.MouseEvent) => {\n onItemClick?.({ e, item });\n getItemOnClick(item)?.(e);\n };\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n useEffect(() => {\n setVisibleMenu(opened);\n }, [opened]);\n\n useEffect(() => {\n onOpen.current?.(visibleMenu);\n }, [visibleMenu, onOpen]);\n\n useEffect(() => {\n setVisibleMenuRef.current?.(setVisibleMenu);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (items.length === 1 && !mainButtonOnlyIcon) {\n return (\n <Button\n {...otherProps}\n className={className}\n size=\"xs\"\n view=\"clear\"\n iconLeft={getItemIcon(items[0])}\n onClick={getOnItemClick(items[0])}\n label={getItemLabel(items[0])}\n ref={ref}\n />\n );\n }\n\n if (items.length === 1 && getItemIcon(items[0]) && mainButtonOnlyIcon) {\n return (\n <ButtonWithTooltip\n {...otherProps}\n className={className}\n size=\"xs\"\n view=\"clear\"\n iconLeft={getItemIcon(items[0])}\n onClick={getOnItemClick(items[0])}\n tooltipProps={{\n content: getItemLabel(items[0]),\n }}\n ref={ref}\n />\n );\n }\n\n return (\n <>\n <Button\n {...otherProps}\n className={className}\n size=\"xs\"\n view=\"clear\"\n iconLeft={IconMeatball}\n ref={menuRef}\n onClick={toogleMenu}\n />\n <ContextMenu\n isOpen={visibleMenu}\n items={items}\n getItemLabel={getItemLabel}\n onItemClick={({ e, item }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n getItemKey={getItemLabel}\n getItemLeftIcon={getItemIcon}\n anchorRef={buttonRef}\n onClickOutside={closeMenu}\n possibleDirections={['downStartRight', 'upStartRight']}\n direction=\"downStartRight\"\n style={{ width: 280, zIndex: elementZIndex }}\n />\n </>\n );\n};\n\nexport const NotificationsActions = forwardRef(\n NotificationsActionsRender,\n) as NotificationsActionsComponent;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemIcon","item","icon","defaultGetItemLabel","label","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemIcon","getItemLabel","getItemOnClick"],"sources":["../../../../../src/components/NotificationsActions/helpers.tsx"],"sourcesContent":["import {\n DefaultItem,\n NotificationsActionsPropGetItemIcon,\n NotificationsActionsPropGetItemLabel,\n NotificationsActionsPropGetItemOnClick,\n NotificationsActionsProps,\n} from './types';\n\nconst defaultGetItemIcon: NotificationsActionsPropGetItemIcon<DefaultItem> = (\n item,\n) => item.icon;\nconst defaultGetItemLabel: NotificationsActionsPropGetItemLabel<DefaultItem> = (\n item,\n) => item.label;\nconst defaultGetItemOnClick: NotificationsActionsPropGetItemOnClick<\n DefaultItem\n> = (item) => item.onClick;\n\nexport function withDefaultGetters<ITEM>(\n props: NotificationsActionsProps<ITEM>,\n) {\n return {\n ...props,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n"],"mappings":"0qBAQMA,mBAAoE,CACxEC,CAD2E,EAExEA,CAAI,CAACC,I,CACJC,mBAAsE,CAC1EF,CAD6E,EAE1EA,CAAI,CAACG,K,CACJC,qBAEL,CAAIJ,CAAD,EAAUA,CAAI,CAACK,O,CAEnB,MAAO,SAASC,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,WAAW,CAAED,CAAK,CAACC,WAAN,EAAqBT,kBAFpC,CAGEU,YAAY,CAAEF,CAAK,CAACE,YAAN,EAAsBP,mBAHtC,CAIEQ,cAAc,CAAEH,CAAK,CAACG,cAAN,EAAwBN,qBAJ1C,EAMD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemIcon","item","icon","defaultGetItemLabel","label","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemIcon","getItemLabel","getItemOnClick"],"sources":["../../../../../src/components/NotificationsActions/helpers.tsx"],"sourcesContent":["import {\n DefaultItem,\n NotificationsActionsPropGetItemIcon,\n NotificationsActionsPropGetItemLabel,\n NotificationsActionsPropGetItemOnClick,\n NotificationsActionsProps,\n} from './types';\n\nconst defaultGetItemIcon: NotificationsActionsPropGetItemIcon<DefaultItem> = (\n item,\n) => item.icon;\nconst defaultGetItemLabel: NotificationsActionsPropGetItemLabel<DefaultItem> = (\n item,\n) => item.label;\nconst defaultGetItemOnClick: NotificationsActionsPropGetItemOnClick<\n DefaultItem\n> = (item) => item.onClick;\n\nexport function withDefaultGetters<ITEM>(\n props: NotificationsActionsProps<ITEM>,\n) {\n return {\n ...props,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n"],"mappings":"0qBAQMA,mBAAoE,CACxEC,CAAI,EACDA,CAAI,CAACC,IAAI,CACRC,mBAAsE,CAC1EF,CAAI,EACDA,CAAI,CAACG,KAAK,CACTC,qBAEL,CAAIJ,CAAI,EAAKA,CAAI,CAACK,OAAO,CAE1B,MAAO,SAASC,mBAAkB,CAChCC,CAAsC,CACtC,CACA,sCACKA,CAAK,MACRC,WAAW,CAAED,CAAK,CAACC,WAAW,EAAIT,kBAAkB,CACpDU,YAAY,CAAEF,CAAK,CAACE,YAAY,EAAIP,mBAAmB,CACvDQ,cAAc,CAAEH,CAAK,CAACG,cAAc,EAAIN,qBAAqB,EAEjE"}
@@ -1,19 +1,19 @@
1
1
  /// <reference types="react" />
2
2
  import { IconComponent } from '@consta/uikit/Icon';
3
3
  import { PropsWithHTMLAttributes } from "../../utils/types/PropsWithHTMLAttributes";
4
- export declare type DefaultItem = {
4
+ export type DefaultItem = {
5
5
  label: string;
6
6
  onClick?: React.EventHandler<React.MouseEvent>;
7
7
  icon?: IconComponent;
8
8
  };
9
- export declare type NotificationsActionsPropGetItemLabel<ITEM> = (item: ITEM) => string;
10
- export declare type NotificationsActionsPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
11
- export declare type NotificationsActionsPropGetItemOnClick<ITEM> = (item: ITEM) => React.EventHandler<React.MouseEvent> | undefined;
12
- export declare type NotificationsActionsOnItemClick<ITEM> = (props: {
9
+ export type NotificationsActionsPropGetItemLabel<ITEM> = (item: ITEM) => string;
10
+ export type NotificationsActionsPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
11
+ export type NotificationsActionsPropGetItemOnClick<ITEM> = (item: ITEM) => React.EventHandler<React.MouseEvent> | undefined;
12
+ export type NotificationsActionsOnItemClick<ITEM> = (props: {
13
13
  e: React.MouseEvent;
14
14
  item: ITEM;
15
15
  }) => void;
16
- export declare type NotificationsActionsProps<ITEM = DefaultItem> = PropsWithHTMLAttributes<{
16
+ export type NotificationsActionsProps<ITEM = DefaultItem> = PropsWithHTMLAttributes<{
17
17
  items?: ITEM[];
18
18
  mainButtonOnlyIcon?: boolean;
19
19
  opened?: boolean;
@@ -29,4 +29,4 @@ export declare type NotificationsActionsProps<ITEM = DefaultItem> = PropsWithHTM
29
29
  } ? {} : {
30
30
  getItemLabel: NotificationsActionsPropGetItemLabel<ITEM>;
31
31
  });
32
- export declare type NotificationsActionsComponent = <ITEM = DefaultItem>(props: NotificationsActionsProps<ITEM>) => React.ReactElement | null;
32
+ export type NotificationsActionsComponent = <ITEM = DefaultItem>(props: NotificationsActionsProps<ITEM>) => React.ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsList.js","names":["Button","IconClose","Text","React","forwardRef","Fragment","useCallback","useEffect","useRef","NotificationCard","NotificationsActions","cn","defaultGroupLabelFormat","getGroups","withDefaultGetters","cnNotificationsList","NotificationsListRender","props","ref","className","items","groupByDay","groups","groupLabelFormat","itemDateFormat","title","actions","getItemLabel","getActionIcon","getActionLabel","getActionOnClick","getGroupId","getGroupLabel","getItemActions","getItemBadges","getItemDate","getItemDescription","getItemGroup","getItemImage","getItemRead","getItemView","onClose","otherProps","resultGroups","setVisibleMenuRef","listRef","closeAllMenu","key","current","Object","prototype","hasOwnProperty","call","addEventListener","passive","removeEventListener","elementZIndex","style","zIndex","length","map","group","groupIndex","groupLabel","item","itemIndex","value","NotificationsList"],"sources":["../../../../../src/components/NotificationsList/NotificationsList.tsx"],"sourcesContent":["import './NotificationsList.css';\n\nimport { Button } from '@consta/uikit/Button';\nimport { IconClose } from '@consta/uikit/IconClose';\nimport { Text } from '@consta/uikit/Text';\nimport React, {\n forwardRef,\n Fragment,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\n\nimport { NotificationCard } from '##/components/NotificationCard';\nimport { NotificationsActions } from '##/components/NotificationsActions';\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultGroupLabelFormat,\n getGroups,\n withDefaultGetters,\n} from './helpers';\nimport { NotificationsListComponent, NotificationsListProps } from './types';\n\nexport const cnNotificationsList = cn('NotificationsList');\n\nfunction NotificationsListRender(\n props: NotificationsListProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n className,\n items,\n groupByDay = false,\n groups,\n groupLabelFormat = defaultGroupLabelFormat,\n itemDateFormat,\n title,\n actions,\n getItemLabel,\n getActionIcon,\n getActionLabel,\n getActionOnClick,\n getGroupId,\n getGroupLabel,\n getItemActions,\n getItemBadges,\n getItemDate,\n getItemDescription,\n getItemGroup,\n getItemImage,\n getItemRead,\n getItemView,\n onClose,\n ...otherProps\n } = withDefaultGetters(props);\n\n const resultGroups = getGroups(\n items,\n groups,\n groupByDay,\n getItemGroup,\n getItemDate,\n getGroupId,\n );\n\n const setVisibleMenuRef = useRef<Record<string, Function>>({});\n const listRef = useRef<HTMLDivElement>(null);\n\n const closeAllMenu = useCallback(() => {\n for (const key in setVisibleMenuRef.current) {\n if (\n Object.prototype.hasOwnProperty.call(setVisibleMenuRef.current, key)\n ) {\n setVisibleMenuRef.current[key](false);\n }\n }\n }, []);\n\n useEffect(() => {\n listRef.current?.addEventListener('scroll', closeAllMenu, {\n passive: true,\n });\n\n return () => listRef.current?.removeEventListener('scroll', closeAllMenu);\n }, [listRef.current]);\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnNotificationsList(null, [className])}\n >\n {(title || actions) && (\n <div className={cnNotificationsList('Header')}>\n <Text\n className={cnNotificationsList('HeaderItem')}\n size=\"xl\"\n truncate\n >\n {title}\n </Text>\n {actions?.length && (\n <NotificationsActions\n className={cnNotificationsList('HeaderItem')}\n items={actions}\n getItemIcon={getActionIcon}\n getItemOnClick={getActionOnClick}\n getItemLabel={getActionLabel}\n style={{ zIndex: elementZIndex }}\n />\n )}\n {onClose && (\n <Button\n className={cnNotificationsList('HeaderItem')}\n size=\"s\"\n view=\"clear\"\n iconLeft={IconClose}\n onClick={onClose}\n />\n )}\n </div>\n )}\n <div ref={listRef} className={cnNotificationsList('List')}>\n {resultGroups.map((group, groupIndex) => {\n const groupLabel = groupByDay\n ? groupLabelFormat(Number(group.key))\n : group.group && getGroupLabel(group.group);\n return (\n <Fragment key={cnNotificationsList('Group', { groupIndex })}>\n {groupLabel && (\n <Text\n className={cnNotificationsList('GroupLabel')}\n key={cnNotificationsList('GroupLabel', { groupIndex })}\n view=\"secondary\"\n transform=\"uppercase\"\n weight=\"bold\"\n size=\"2xs\"\n >\n {groupLabel}\n </Text>\n )}\n {group.items.map((item, itemIndex) => {\n return (\n <NotificationCard\n className={cnNotificationsList('Item')}\n key={cnNotificationsList('Item', { groupIndex, itemIndex })}\n title={getItemLabel(item)}\n description={getItemDescription(item)}\n imageUrl={getItemImage(item)}\n read={getItemRead(item)}\n date={getItemDate(item)}\n dateFormat={itemDateFormat}\n badges={getItemBadges(item)}\n actions={getItemActions(item)}\n view={getItemView(item)}\n setVisibleMenu={(value) => {\n setVisibleMenuRef.current[`${groupIndex}-${itemIndex}`] =\n value;\n }}\n style={{ zIndex: elementZIndex }}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n </div>\n );\n}\n\nexport const NotificationsList = forwardRef(\n NotificationsListRender,\n) as NotificationsListComponent;\n\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"NotificationsList.js","names":["Button","IconClose","Text","React","forwardRef","Fragment","useCallback","useEffect","useRef","NotificationCard","NotificationsActions","cn","defaultGroupLabelFormat","getGroups","withDefaultGetters","cnNotificationsList","NotificationsListRender","props","ref","className","items","groupByDay","groups","groupLabelFormat","itemDateFormat","title","actions","getItemLabel","getActionIcon","getActionLabel","getActionOnClick","getGroupId","getGroupLabel","getItemActions","getItemBadges","getItemDate","getItemDescription","getItemGroup","getItemImage","getItemRead","getItemView","onClose","otherProps","resultGroups","setVisibleMenuRef","listRef","closeAllMenu","key","current","Object","prototype","hasOwnProperty","call","addEventListener","passive","removeEventListener","elementZIndex","style","zIndex","length","map","group","groupIndex","groupLabel","item","itemIndex","value","NotificationsList"],"sources":["../../../../../src/components/NotificationsList/NotificationsList.tsx"],"sourcesContent":["import './NotificationsList.css';\n\nimport { Button } from '@consta/uikit/Button';\nimport { IconClose } from '@consta/uikit/IconClose';\nimport { Text } from '@consta/uikit/Text';\nimport React, {\n forwardRef,\n Fragment,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\n\nimport { NotificationCard } from '##/components/NotificationCard';\nimport { NotificationsActions } from '##/components/NotificationsActions';\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultGroupLabelFormat,\n getGroups,\n withDefaultGetters,\n} from './helpers';\nimport { NotificationsListComponent, NotificationsListProps } from './types';\n\nexport const cnNotificationsList = cn('NotificationsList');\n\nfunction NotificationsListRender(\n props: NotificationsListProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n className,\n items,\n groupByDay = false,\n groups,\n groupLabelFormat = defaultGroupLabelFormat,\n itemDateFormat,\n title,\n actions,\n getItemLabel,\n getActionIcon,\n getActionLabel,\n getActionOnClick,\n getGroupId,\n getGroupLabel,\n getItemActions,\n getItemBadges,\n getItemDate,\n getItemDescription,\n getItemGroup,\n getItemImage,\n getItemRead,\n getItemView,\n onClose,\n ...otherProps\n } = withDefaultGetters(props);\n\n const resultGroups = getGroups(\n items,\n groups,\n groupByDay,\n getItemGroup,\n getItemDate,\n getGroupId,\n );\n\n const setVisibleMenuRef = useRef<Record<string, Function>>({});\n const listRef = useRef<HTMLDivElement>(null);\n\n const closeAllMenu = useCallback(() => {\n for (const key in setVisibleMenuRef.current) {\n if (\n Object.prototype.hasOwnProperty.call(setVisibleMenuRef.current, key)\n ) {\n setVisibleMenuRef.current[key](false);\n }\n }\n }, []);\n\n useEffect(() => {\n listRef.current?.addEventListener('scroll', closeAllMenu, {\n passive: true,\n });\n\n return () => listRef.current?.removeEventListener('scroll', closeAllMenu);\n }, [listRef.current]);\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnNotificationsList(null, [className])}\n >\n {(title || actions) && (\n <div className={cnNotificationsList('Header')}>\n <Text\n className={cnNotificationsList('HeaderItem')}\n size=\"xl\"\n truncate\n >\n {title}\n </Text>\n {actions?.length && (\n <NotificationsActions\n className={cnNotificationsList('HeaderItem')}\n items={actions}\n getItemIcon={getActionIcon}\n getItemOnClick={getActionOnClick}\n getItemLabel={getActionLabel}\n style={{ zIndex: elementZIndex }}\n />\n )}\n {onClose && (\n <Button\n className={cnNotificationsList('HeaderItem')}\n size=\"s\"\n view=\"clear\"\n iconLeft={IconClose}\n onClick={onClose}\n />\n )}\n </div>\n )}\n <div ref={listRef} className={cnNotificationsList('List')}>\n {resultGroups.map((group, groupIndex) => {\n const groupLabel = groupByDay\n ? groupLabelFormat(Number(group.key))\n : group.group && getGroupLabel(group.group);\n return (\n <Fragment key={cnNotificationsList('Group', { groupIndex })}>\n {groupLabel && (\n <Text\n className={cnNotificationsList('GroupLabel')}\n key={cnNotificationsList('GroupLabel', { groupIndex })}\n view=\"secondary\"\n transform=\"uppercase\"\n weight=\"bold\"\n size=\"2xs\"\n >\n {groupLabel}\n </Text>\n )}\n {group.items.map((item, itemIndex) => {\n return (\n <NotificationCard\n className={cnNotificationsList('Item')}\n key={cnNotificationsList('Item', { groupIndex, itemIndex })}\n title={getItemLabel(item)}\n description={getItemDescription(item)}\n imageUrl={getItemImage(item)}\n read={getItemRead(item)}\n date={getItemDate(item)}\n dateFormat={itemDateFormat}\n badges={getItemBadges(item)}\n actions={getItemActions(item)}\n view={getItemView(item)}\n setVisibleMenu={(value) => {\n setVisibleMenuRef.current[`${groupIndex}-${itemIndex}`] =\n value;\n }}\n style={{ zIndex: elementZIndex }}\n />\n );\n })}\n </Fragment>\n );\n })}\n </div>\n </div>\n );\n}\n\nexport const NotificationsList = forwardRef(\n NotificationsListRender,\n) as NotificationsListComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -40,7 +40,7 @@ export declare function withDefaultGetters<ITEM, GROUP, ACTION>(props: Notificat
40
40
  label: string;
41
41
  } ? {} : {
42
42
  getItemLabel: NotificationsListPropGetItemLabel<ITEM>;
43
- }) & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "title" | "children" | "items" | "getItemLabel" | "onClose" | "groups" | "getGroupLabel" | "getGroupId" | "getItemGroup" | "actions" | "itemDateFormat" | "getItemDescription" | "getItemImage" | "getItemRead" | "getItemDate" | "getItemBadges" | "getItemActions" | "getItemView" | "getActionLabel" | "getActionIcon" | "getActionOnClick" | "groupByDay" | "groupLabelFormat" | keyof (ACTION extends {
43
+ }) & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "title" | "children" | "items" | "getItemLabel" | "onClose" | "getItemDescription" | "getItemImage" | "groups" | "getGroupLabel" | "getGroupId" | "getItemGroup" | "actions" | "itemDateFormat" | "getItemRead" | "getItemDate" | "getItemBadges" | "getItemActions" | "getItemView" | "getActionLabel" | "getActionIcon" | "getActionOnClick" | "groupByDay" | "groupLabelFormat" | keyof (ACTION extends {
44
44
  label: string;
45
45
  } ? {} : {
46
46
  getActionLabel: NotificationsListPropGetItemActions<ACTION>;
@@ -74,7 +74,7 @@ export declare function withDefaultGetters<ITEM, GROUP, ACTION>(props: Notificat
74
74
  ref?: import("react").Ref<HTMLDivElement> | undefined;
75
75
  key?: import("react").Key | null | undefined;
76
76
  };
77
- declare type ReturnedGroup<ITEM, GROUP> = {
77
+ type ReturnedGroup<ITEM, GROUP> = {
78
78
  items: ITEM[];
79
79
  key: string | number;
80
80
  group?: GROUP;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["getGroups","constaGetGroups","format","isToday","isYesterday","startOfDay","defaultGetActionIcon","action","icon","defaultGetActionLabel","label","defaultGetActionOnClick","onClick","defaultGetGroupId","group","id","defaultGetGroupLabel","defaultGetItemActions","item","actions","defaultGetItemBadges","badges","defaultGetItemDate","date","defaultGetItemDescription","description","defaultGetItemGroup","defaultGetItemImage","image","defaultGetItemLabel","defaultGetItemRead","read","defaultGetItemView","view","withDefaultGetters","props","getActionIcon","getActionLabel","getActionOnClick","getGroupId","getGroupLabel","getItemActions","getItemBadges","getItemDate","getItemDescription","getItemGroup","getItemImage","getItemLabel","getItemRead","getItemView","noGroupKey","defaultGroupLabelFormat","timestamp","sortGroup","a","b","key","items","groups","groupByDay","getTime"],"sources":["../../../../../src/components/NotificationsList/helpers.ts"],"sourcesContent":["import { getGroups as constaGetGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { format, isToday, isYesterday, startOfDay } from 'date-fns';\n\nimport {\n NotificationsDefaultAction,\n NotificationsDefaultGroup,\n NotificationsDefaultItem,\n NotificationsListPropGetActionIcon,\n NotificationsListPropGetActionLabel,\n NotificationsListPropGetActionOnClick,\n NotificationsListPropGetGroupId,\n NotificationsListPropGetGroupLabel,\n NotificationsListPropGetItemActions,\n NotificationsListPropGetItemBadges,\n NotificationsListPropGetItemDate,\n NotificationsListPropGetItemDescription,\n NotificationsListPropGetItemGroup,\n NotificationsListPropGetItemImage,\n NotificationsListPropGetItemLabel,\n NotificationsListPropGetItemRead,\n NotificationsListPropGetItemView,\n NotificationsListPropGroupLabelFormat,\n NotificationsListProps,\n} from './types';\n\nconst defaultGetActionIcon: NotificationsListPropGetActionIcon<\n NotificationsDefaultAction\n> = (action) => action.icon;\nconst defaultGetActionLabel: NotificationsListPropGetActionLabel<\n NotificationsDefaultAction\n> = (action) => action.label;\nconst defaultGetActionOnClick: NotificationsListPropGetActionOnClick<\n NotificationsDefaultAction\n> = (action) => action.onClick;\nconst defaultGetGroupId: NotificationsListPropGetGroupId<\n NotificationsDefaultGroup\n> = (group) => group.id;\nconst defaultGetGroupLabel: NotificationsListPropGetGroupLabel<\n NotificationsDefaultGroup\n> = (group) => group.label;\nconst defaultGetItemActions: NotificationsListPropGetItemActions<\n NotificationsDefaultItem\n> = (item) => item.actions;\nconst defaultGetItemBadges: NotificationsListPropGetItemBadges<\n NotificationsDefaultItem\n> = (item) => item.badges;\nconst defaultGetItemDate: NotificationsListPropGetItemDate<\n NotificationsDefaultItem\n> = (item) => item.date;\nconst defaultGetItemDescription: NotificationsListPropGetItemDescription<\n NotificationsDefaultItem\n> = (item) => item.description;\nconst defaultGetItemGroup: NotificationsListPropGetItemGroup<\n NotificationsDefaultItem\n> = (item) => item.group;\nconst defaultGetItemImage: NotificationsListPropGetItemImage<\n NotificationsDefaultItem\n> = (item) => item.image;\nconst defaultGetItemLabel: NotificationsListPropGetItemLabel<\n NotificationsDefaultItem\n> = (item) => item.label;\nconst defaultGetItemRead: NotificationsListPropGetItemRead<\n NotificationsDefaultItem\n> = (item) => item.read;\nconst defaultGetItemView: NotificationsListPropGetItemView<\n NotificationsDefaultItem\n> = (item) => item.view;\n\nexport function withDefaultGetters<ITEM, GROUP, ACTION>(\n props: NotificationsListProps<ITEM, GROUP, ACTION>,\n) {\n return {\n ...props,\n getActionIcon: props.getActionIcon || defaultGetActionIcon,\n getActionLabel: props.getActionLabel || defaultGetActionLabel,\n getActionOnClick: props.getActionOnClick || defaultGetActionOnClick,\n getGroupId: props.getGroupId || defaultGetGroupId,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getItemActions: props.getItemActions || defaultGetItemActions,\n getItemBadges: props.getItemBadges || defaultGetItemBadges,\n getItemDate: props.getItemDate || defaultGetItemDate,\n getItemDescription: props.getItemDescription || defaultGetItemDescription,\n getItemGroup: props.getItemGroup || defaultGetItemGroup,\n getItemImage: props.getItemImage || defaultGetItemImage,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemRead: props.getItemRead || defaultGetItemRead,\n getItemView: props.getItemView || defaultGetItemView,\n };\n}\n\ntype ReturnedGroup<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n};\n\nexport const noGroupKey = 'no-group';\n\nexport const defaultGroupLabelFormat: NotificationsListPropGroupLabelFormat<\n true\n> = (timestamp) => {\n if (isToday(timestamp)) {\n return 'Сегодня';\n }\n if (isYesterday(timestamp)) {\n return 'Вчера';\n }\n return format(timestamp, 'dd.MM.yyyy');\n};\n\nconst sortGroup = (\n a: { key: string | number },\n b: { key: string | number },\n) => {\n if (a.key < b.key) {\n return 1;\n }\n if (a.key > b.key) {\n return -1;\n }\n return 0;\n};\n\nexport const getGroups = <ITEM, GROUP>(\n items: ITEM[],\n groups: GROUP[] | undefined,\n groupByDay: boolean,\n getItemGroup: NotificationsListPropGetItemGroup<ITEM>,\n getItemDate: NotificationsListPropGetItemDate<ITEM>,\n getGroupId: NotificationsListPropGetGroupId<GROUP>,\n): Array<ReturnedGroup<ITEM, GROUP>> => {\n if (groupByDay) {\n const getItemGroupByDate = (item: ITEM) => {\n const date = getItemDate(item);\n return date ? startOfDay(date).getTime() : undefined;\n };\n\n return constaGetGroups<ITEM, GROUP>(\n items,\n getItemGroupByDate,\n undefined,\n undefined,\n sortGroup,\n noGroupKey,\n );\n }\n return constaGetGroups(\n items,\n getItemGroup,\n groups,\n getGroupId,\n undefined,\n noGroupKey,\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["getGroups","constaGetGroups","format","isToday","isYesterday","startOfDay","defaultGetActionIcon","action","icon","defaultGetActionLabel","label","defaultGetActionOnClick","onClick","defaultGetGroupId","group","id","defaultGetGroupLabel","defaultGetItemActions","item","actions","defaultGetItemBadges","badges","defaultGetItemDate","date","defaultGetItemDescription","description","defaultGetItemGroup","defaultGetItemImage","image","defaultGetItemLabel","defaultGetItemRead","read","defaultGetItemView","view","withDefaultGetters","props","getActionIcon","getActionLabel","getActionOnClick","getGroupId","getGroupLabel","getItemActions","getItemBadges","getItemDate","getItemDescription","getItemGroup","getItemImage","getItemLabel","getItemRead","getItemView","noGroupKey","defaultGroupLabelFormat","timestamp","sortGroup","a","b","key","items","groups","groupByDay","getTime"],"sources":["../../../../../src/components/NotificationsList/helpers.ts"],"sourcesContent":["import { getGroups as constaGetGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { format, isToday, isYesterday, startOfDay } from 'date-fns';\n\nimport {\n NotificationsDefaultAction,\n NotificationsDefaultGroup,\n NotificationsDefaultItem,\n NotificationsListPropGetActionIcon,\n NotificationsListPropGetActionLabel,\n NotificationsListPropGetActionOnClick,\n NotificationsListPropGetGroupId,\n NotificationsListPropGetGroupLabel,\n NotificationsListPropGetItemActions,\n NotificationsListPropGetItemBadges,\n NotificationsListPropGetItemDate,\n NotificationsListPropGetItemDescription,\n NotificationsListPropGetItemGroup,\n NotificationsListPropGetItemImage,\n NotificationsListPropGetItemLabel,\n NotificationsListPropGetItemRead,\n NotificationsListPropGetItemView,\n NotificationsListPropGroupLabelFormat,\n NotificationsListProps,\n} from './types';\n\nconst defaultGetActionIcon: NotificationsListPropGetActionIcon<\n NotificationsDefaultAction\n> = (action) => action.icon;\nconst defaultGetActionLabel: NotificationsListPropGetActionLabel<\n NotificationsDefaultAction\n> = (action) => action.label;\nconst defaultGetActionOnClick: NotificationsListPropGetActionOnClick<\n NotificationsDefaultAction\n> = (action) => action.onClick;\nconst defaultGetGroupId: NotificationsListPropGetGroupId<\n NotificationsDefaultGroup\n> = (group) => group.id;\nconst defaultGetGroupLabel: NotificationsListPropGetGroupLabel<\n NotificationsDefaultGroup\n> = (group) => group.label;\nconst defaultGetItemActions: NotificationsListPropGetItemActions<\n NotificationsDefaultItem\n> = (item) => item.actions;\nconst defaultGetItemBadges: NotificationsListPropGetItemBadges<\n NotificationsDefaultItem\n> = (item) => item.badges;\nconst defaultGetItemDate: NotificationsListPropGetItemDate<\n NotificationsDefaultItem\n> = (item) => item.date;\nconst defaultGetItemDescription: NotificationsListPropGetItemDescription<\n NotificationsDefaultItem\n> = (item) => item.description;\nconst defaultGetItemGroup: NotificationsListPropGetItemGroup<\n NotificationsDefaultItem\n> = (item) => item.group;\nconst defaultGetItemImage: NotificationsListPropGetItemImage<\n NotificationsDefaultItem\n> = (item) => item.image;\nconst defaultGetItemLabel: NotificationsListPropGetItemLabel<\n NotificationsDefaultItem\n> = (item) => item.label;\nconst defaultGetItemRead: NotificationsListPropGetItemRead<\n NotificationsDefaultItem\n> = (item) => item.read;\nconst defaultGetItemView: NotificationsListPropGetItemView<\n NotificationsDefaultItem\n> = (item) => item.view;\n\nexport function withDefaultGetters<ITEM, GROUP, ACTION>(\n props: NotificationsListProps<ITEM, GROUP, ACTION>,\n) {\n return {\n ...props,\n getActionIcon: props.getActionIcon || defaultGetActionIcon,\n getActionLabel: props.getActionLabel || defaultGetActionLabel,\n getActionOnClick: props.getActionOnClick || defaultGetActionOnClick,\n getGroupId: props.getGroupId || defaultGetGroupId,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getItemActions: props.getItemActions || defaultGetItemActions,\n getItemBadges: props.getItemBadges || defaultGetItemBadges,\n getItemDate: props.getItemDate || defaultGetItemDate,\n getItemDescription: props.getItemDescription || defaultGetItemDescription,\n getItemGroup: props.getItemGroup || defaultGetItemGroup,\n getItemImage: props.getItemImage || defaultGetItemImage,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemRead: props.getItemRead || defaultGetItemRead,\n getItemView: props.getItemView || defaultGetItemView,\n };\n}\n\ntype ReturnedGroup<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n};\n\nexport const noGroupKey = 'no-group';\n\nexport const defaultGroupLabelFormat: NotificationsListPropGroupLabelFormat<\n true\n> = (timestamp) => {\n if (isToday(timestamp)) {\n return 'Сегодня';\n }\n if (isYesterday(timestamp)) {\n return 'Вчера';\n }\n return format(timestamp, 'dd.MM.yyyy');\n};\n\nconst sortGroup = (\n a: { key: string | number },\n b: { key: string | number },\n) => {\n if (a.key < b.key) {\n return 1;\n }\n if (a.key > b.key) {\n return -1;\n }\n return 0;\n};\n\nexport const getGroups = <ITEM, GROUP>(\n items: ITEM[],\n groups: GROUP[] | undefined,\n groupByDay: boolean,\n getItemGroup: NotificationsListPropGetItemGroup<ITEM>,\n getItemDate: NotificationsListPropGetItemDate<ITEM>,\n getGroupId: NotificationsListPropGetGroupId<GROUP>,\n): Array<ReturnedGroup<ITEM, GROUP>> => {\n if (groupByDay) {\n const getItemGroupByDate = (item: ITEM) => {\n const date = getItemDate(item);\n return date ? startOfDay(date).getTime() : undefined;\n };\n\n return constaGetGroups<ITEM, GROUP>(\n items,\n getItemGroupByDate,\n undefined,\n undefined,\n sortGroup,\n noGroupKey,\n );\n }\n return constaGetGroups(\n items,\n getItemGroup,\n groups,\n getGroupId,\n undefined,\n noGroupKey,\n );\n};\n"],"mappings":"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"}
@@ -2,20 +2,20 @@
2
2
  import { BadgePropStatus } from '@consta/uikit/Badge';
3
3
  import { IconProps } from '@consta/uikit/Icon';
4
4
  import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
5
- export declare type NotificationsDefaultAction = {
5
+ export type NotificationsDefaultAction = {
6
6
  label: string;
7
7
  onClick?: React.EventHandler<React.MouseEvent>;
8
8
  icon?: React.FC<IconProps>;
9
9
  };
10
- export declare type Badge = {
10
+ export type Badge = {
11
11
  label: string;
12
12
  status?: BadgePropStatus;
13
13
  };
14
- export declare type NotificationsDefaultGroup = {
14
+ export type NotificationsDefaultGroup = {
15
15
  label: string;
16
16
  id: string;
17
17
  };
18
- export declare type NotificationsDefaultItem = {
18
+ export type NotificationsDefaultItem = {
19
19
  label: string;
20
20
  description?: string;
21
21
  image?: string;
@@ -27,23 +27,23 @@ export declare type NotificationsDefaultItem = {
27
27
  group?: string;
28
28
  view?: 'default' | 'user';
29
29
  };
30
- export declare type NotificationsListPropGetItemLabel<ITEM> = (item: ITEM) => string;
31
- export declare type NotificationsListPropGetItemDescription<ITEM> = (item: ITEM) => string | undefined;
32
- export declare type NotificationsListPropGetItemImage<ITEM> = (item: ITEM) => string | undefined;
33
- export declare type NotificationsListPropGetItemRead<ITEM> = (item: ITEM) => boolean | undefined;
34
- export declare type NotificationsListPropGetItemDate<ITEM> = (item: ITEM) => Date | undefined;
35
- export declare type NotificationsListPropGetItemBadges<ITEM> = (item: ITEM) => Badge[] | undefined;
36
- export declare type NotificationsListPropGetItemActions<ITEM> = (item: ITEM) => NotificationsDefaultAction[] | undefined;
37
- export declare type NotificationsListPropGetItemGroup<ITEM> = (item: ITEM) => string | undefined;
38
- export declare type NotificationsListPropGetItemView<ITEM> = (item: ITEM) => 'default' | 'user' | undefined;
39
- export declare type NotificationsListPropItemDateFormat = (date: Date) => string;
40
- export declare type NotificationsListPropGetActionLabel<ACTION> = (action: ACTION) => string;
41
- export declare type NotificationsListPropGetActionIcon<ACTION> = (action: ACTION) => React.FC<IconProps> | undefined;
42
- export declare type NotificationsListPropGetActionOnClick<ACTION> = (action: ACTION) => React.EventHandler<React.MouseEvent> | undefined;
43
- export declare type NotificationsListPropGetGroupLabel<GROUP> = (group: GROUP) => string;
44
- export declare type NotificationsListPropGetGroupId<GROUP> = (group: GROUP) => string | number;
45
- export declare type NotificationsListPropGroupLabelFormat<GROUP_BY_DAY> = GROUP_BY_DAY extends true ? (timestamp: number) => string : never;
46
- export declare type Props<ITEM, GROUP, ACTION, GROUP_BY_DAY extends boolean> = {
30
+ export type NotificationsListPropGetItemLabel<ITEM> = (item: ITEM) => string;
31
+ export type NotificationsListPropGetItemDescription<ITEM> = (item: ITEM) => string | undefined;
32
+ export type NotificationsListPropGetItemImage<ITEM> = (item: ITEM) => string | undefined;
33
+ export type NotificationsListPropGetItemRead<ITEM> = (item: ITEM) => boolean | undefined;
34
+ export type NotificationsListPropGetItemDate<ITEM> = (item: ITEM) => Date | undefined;
35
+ export type NotificationsListPropGetItemBadges<ITEM> = (item: ITEM) => Badge[] | undefined;
36
+ export type NotificationsListPropGetItemActions<ITEM> = (item: ITEM) => NotificationsDefaultAction[] | undefined;
37
+ export type NotificationsListPropGetItemGroup<ITEM> = (item: ITEM) => string | undefined;
38
+ export type NotificationsListPropGetItemView<ITEM> = (item: ITEM) => 'default' | 'user' | undefined;
39
+ export type NotificationsListPropItemDateFormat = (date: Date) => string;
40
+ export type NotificationsListPropGetActionLabel<ACTION> = (action: ACTION) => string;
41
+ export type NotificationsListPropGetActionIcon<ACTION> = (action: ACTION) => React.FC<IconProps> | undefined;
42
+ export type NotificationsListPropGetActionOnClick<ACTION> = (action: ACTION) => React.EventHandler<React.MouseEvent> | undefined;
43
+ export type NotificationsListPropGetGroupLabel<GROUP> = (group: GROUP) => string;
44
+ export type NotificationsListPropGetGroupId<GROUP> = (group: GROUP) => string | number;
45
+ export type NotificationsListPropGroupLabelFormat<GROUP_BY_DAY> = GROUP_BY_DAY extends true ? (timestamp: number) => string : never;
46
+ export type Props<ITEM, GROUP, ACTION, GROUP_BY_DAY extends boolean> = {
47
47
  children?: never;
48
48
  items: ITEM[];
49
49
  itemDateFormat?: NotificationsListPropItemDateFormat;
@@ -84,5 +84,5 @@ export declare type Props<ITEM, GROUP, ACTION, GROUP_BY_DAY extends boolean> = {
84
84
  } ? {} : {
85
85
  getItemLabel: NotificationsListPropGetItemLabel<ITEM>;
86
86
  });
87
- export declare type NotificationsListProps<ITEM = NotificationsDefaultItem, GROUP = NotificationsDefaultGroup, ACTION = NotificationsDefaultAction, GROUP_BY_DAY extends boolean = false> = PropsWithHTMLAttributesAndRef<Props<ITEM, GROUP, ACTION, GROUP_BY_DAY>, HTMLDivElement>;
88
- export declare type NotificationsListComponent = <ITEM = NotificationsDefaultItem, GROUP = NotificationsDefaultGroup, ACTION = NotificationsDefaultAction, GROUP_BY_DAY extends boolean = false>(props: NotificationsListProps<ITEM, GROUP, ACTION, GROUP_BY_DAY>) => React.ReactElement | null;
87
+ export type NotificationsListProps<ITEM = NotificationsDefaultItem, GROUP = NotificationsDefaultGroup, ACTION = NotificationsDefaultAction, GROUP_BY_DAY extends boolean = false> = PropsWithHTMLAttributesAndRef<Props<ITEM, GROUP, ACTION, GROUP_BY_DAY>, HTMLDivElement>;
88
+ export type NotificationsListComponent = <ITEM = NotificationsDefaultItem, GROUP = NotificationsDefaultGroup, ACTION = NotificationsDefaultAction, GROUP_BY_DAY extends boolean = false>(props: NotificationsListProps<ITEM, GROUP, ACTION, GROUP_BY_DAY>) => React.ReactElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenu.js","names":["ContextMenu","IconSelect","Text","useFlag","useForkRef","useMutableRef","React","forwardRef","useCallback","useRef","getItemClick","cn","withDefaultGetters","cnSelectMenu","SelectMenuRender","props","componentRef","items","className","getItemHref","getItemLabel","getItemOnClick","getItemTarget","onItemClick","label","onClick","onClickProp","getItemSubMenu","style","otherProps","open","setOpen","ref","getItemHrefRef","getItemTargetRef","onClickRef","getItemAs","item","current","getItemHTMLAttributes","href","target","e","toogle","off","zIndex","SelectMenu"],"sources":["../../../../../src/components/SelectMenu/SelectMenu.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport './SelectMenu.css';\n\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { IconSelect } from '@consta/uikit/IconSelect';\nimport { Text } from '@consta/uikit/Text';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport React, { forwardRef, useCallback, useRef } from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n SelectMenuComponent,\n SelectMenuDefaultItem,\n SelectMenuProps,\n} from './types';\n\nexport const cnSelectMenu = cn('SelectMenu');\n\nconst SelectMenuRender = (\n props: SelectMenuProps,\n componentRef: React.Ref<HTMLDivElement>,\n) => {\n const {\n items,\n className,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n onItemClick,\n label,\n onClick: onClickProp,\n getItemSubMenu,\n style,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [open, setOpen] = useFlag();\n\n const ref = useRef<HTMLDivElement>(null);\n\n const getItemHrefRef = useMutableRef(getItemHref);\n const getItemTargetRef = useMutableRef(getItemTarget);\n const onClickRef = useMutableRef(onClickProp);\n\n const getItemAs = useCallback((item: SelectMenuDefaultItem) => {\n if (getItemHrefRef.current(item)) {\n return 'a';\n }\n return 'span';\n }, []);\n\n const getItemHTMLAttributes = useCallback((item: SelectMenuDefaultItem) => {\n const href = getItemHrefRef.current(item);\n const target = getItemTargetRef.current(item);\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n };\n }, []);\n\n const onClick = useCallback((e: React.MouseEvent<HTMLDivElement>) => {\n onClickRef.current?.(e);\n setOpen.toogle();\n }, []);\n\n return (\n <>\n <div\n {...otherProps}\n className={cnSelectMenu(null, [className])}\n ref={useForkRef([ref, componentRef])}\n onClick={onClick}\n style={style}\n >\n <Text className={cnSelectMenu('Label')} size=\"s\">\n {label}\n </Text>\n <span className={cnSelectMenu('ArrowBox', { open })}>\n <IconSelect size=\"xs\" />\n </span>\n </div>\n {items && (\n <ContextMenu\n className={cnSelectMenu('Menu')}\n anchorRef={ref}\n isOpen={open}\n items={items}\n getItemLabel={getItemLabel}\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n onClickOutside={setOpen.off}\n onItemClick={({ e, item }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"rightStartDown\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n getItemSubMenu={getItemSubMenu}\n style={{\n zIndex:\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : 'auto',\n }}\n />\n )}\n </>\n );\n};\n\nexport const SelectMenu = forwardRef(SelectMenuRender) as SelectMenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectMenu.js","names":["ContextMenu","IconSelect","Text","useFlag","useForkRef","useMutableRef","React","forwardRef","useCallback","useRef","getItemClick","cn","withDefaultGetters","cnSelectMenu","SelectMenuRender","props","componentRef","items","className","getItemHref","getItemLabel","getItemOnClick","getItemTarget","onItemClick","label","onClick","onClickProp","getItemSubMenu","style","otherProps","open","setOpen","ref","getItemHrefRef","getItemTargetRef","onClickRef","getItemAs","item","current","getItemHTMLAttributes","href","target","e","toogle","off","zIndex","SelectMenu"],"sources":["../../../../../src/components/SelectMenu/SelectMenu.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport './SelectMenu.css';\n\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { IconSelect } from '@consta/uikit/IconSelect';\nimport { Text } from '@consta/uikit/Text';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport React, { forwardRef, useCallback, useRef } from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n SelectMenuComponent,\n SelectMenuDefaultItem,\n SelectMenuProps,\n} from './types';\n\nexport const cnSelectMenu = cn('SelectMenu');\n\nconst SelectMenuRender = (\n props: SelectMenuProps,\n componentRef: React.Ref<HTMLDivElement>,\n) => {\n const {\n items,\n className,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n onItemClick,\n label,\n onClick: onClickProp,\n getItemSubMenu,\n style,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [open, setOpen] = useFlag();\n\n const ref = useRef<HTMLDivElement>(null);\n\n const getItemHrefRef = useMutableRef(getItemHref);\n const getItemTargetRef = useMutableRef(getItemTarget);\n const onClickRef = useMutableRef(onClickProp);\n\n const getItemAs = useCallback((item: SelectMenuDefaultItem) => {\n if (getItemHrefRef.current(item)) {\n return 'a';\n }\n return 'span';\n }, []);\n\n const getItemHTMLAttributes = useCallback((item: SelectMenuDefaultItem) => {\n const href = getItemHrefRef.current(item);\n const target = getItemTargetRef.current(item);\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n };\n }, []);\n\n const onClick = useCallback((e: React.MouseEvent<HTMLDivElement>) => {\n onClickRef.current?.(e);\n setOpen.toogle();\n }, []);\n\n return (\n <>\n <div\n {...otherProps}\n className={cnSelectMenu(null, [className])}\n ref={useForkRef([ref, componentRef])}\n onClick={onClick}\n style={style}\n >\n <Text className={cnSelectMenu('Label')} size=\"s\">\n {label}\n </Text>\n <span className={cnSelectMenu('ArrowBox', { open })}>\n <IconSelect size=\"xs\" />\n </span>\n </div>\n {items && (\n <ContextMenu\n className={cnSelectMenu('Menu')}\n anchorRef={ref}\n isOpen={open}\n items={items}\n getItemLabel={getItemLabel}\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n onClickOutside={setOpen.off}\n onItemClick={({ e, item }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"rightStartDown\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n getItemSubMenu={getItemSubMenu}\n style={{\n zIndex:\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : 'auto',\n }}\n />\n )}\n </>\n );\n};\n\nexport const SelectMenu = forwardRef(SelectMenuRender) as SelectMenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare function withDefaultGetters<ITEM>(props: SelectMenuProps<ITEM>):
27
27
  getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM> | undefined;
28
28
  getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM> | undefined;
29
29
  label: string;
30
- } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "getItemLabel" | "label" | "onItemClick" | "getItemHref" | "getItemTarget" | "getItemOnClick" | "getItemSubMenu"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
30
+ } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "getItemLabel" | "label" | "getItemOnClick" | "onItemClick" | "getItemHref" | "getItemTarget" | "getItemSubMenu"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
31
31
  label: string;
32
32
  } ? {} : {
33
33
  getItemLabel: SelectMenuPropGetItemLabel<ITEM>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","defaultGetItemHref","href","defaultGetItemOnClick","onClick","defaultGetItemTarget","target","defaultGetItemSubMenu","subMenu","getGetters","props","getItemLabel","getItemHref","getItemOnClick","getItemTarget","getItemSubMenu","withDefaultGetters"],"sources":["../../../../../src/components/SelectMenu/helpers.ts"],"sourcesContent":["import {\n SelectMenuDefaultItem,\n SelectMenuPropGetItemHref,\n SelectMenuPropGetItemLabel,\n SelectMenuPropGetItemOnClick,\n SelectMenuPropGetItemSubMenu,\n SelectMenuPropGetItemTarget,\n SelectMenuProps,\n} from './types';\n\nexport const defaultGetItemLabel: SelectMenuPropGetItemLabel<\n SelectMenuDefaultItem\n> = (item) => item.label;\nexport const defaultGetItemHref: SelectMenuPropGetItemHref<\n SelectMenuDefaultItem\n> = (item) => item.href;\nexport const defaultGetItemOnClick: SelectMenuPropGetItemOnClick<\n SelectMenuDefaultItem\n> = (item) => item.onClick;\nexport const defaultGetItemTarget: SelectMenuPropGetItemTarget<\n SelectMenuDefaultItem\n> = (item) => item.target;\nexport const defaultGetItemSubMenu: SelectMenuPropGetItemSubMenu<\n SelectMenuDefaultItem\n> = (item) => item.subMenu;\n\nexport const getGetters = <ITEM>(props: {\n getItemLabel?: SelectMenuPropGetItemLabel<ITEM>;\n getItemHref?: SelectMenuPropGetItemHref<ITEM>;\n getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM>;\n getItemTarget?: SelectMenuPropGetItemTarget<ITEM>;\n getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM>;\n}) => {\n return {\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemHref: props.getItemHref || defaultGetItemHref,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemTarget: props.getItemTarget || defaultGetItemTarget,\n getItemSubMenu: props.getItemSubMenu || defaultGetItemSubMenu,\n };\n};\n\nexport function withDefaultGetters<ITEM>(props: SelectMenuProps<ITEM>) {\n return {\n ...props,\n ...getGetters(props),\n };\n}\n"],"mappings":"qqBAUA,MAAO,MAAMA,oBAEZ,CAAIC,CAAD,EAAUA,CAAI,CAACC,KAFZ,CAGP,MAAO,MAAMC,mBAEZ,CAAIF,CAAD,EAAUA,CAAI,CAACG,IAFZ,CAGP,MAAO,MAAMC,sBAEZ,CAAIJ,CAAD,EAAUA,CAAI,CAACK,OAFZ,CAGP,MAAO,MAAMC,qBAEZ,CAAIN,CAAD,EAAUA,CAAI,CAACO,MAFZ,CAGP,MAAO,MAAMC,sBAEZ,CAAIR,CAAD,EAAUA,CAAI,CAACS,OAFZ,CAIP,MAAO,MAAMC,WAAU,CAAUC,CAAP,GAOjB,CACLC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBb,mBAD/B,CAELc,WAAW,CAAEF,CAAK,CAACE,WAAN,EAAqBX,kBAF7B,CAGLY,cAAc,CAAEH,CAAK,CAACG,cAAN,EAAwBV,qBAHnC,CAILW,aAAa,CAAEJ,CAAK,CAACI,aAAN,EAAuBT,oBAJjC,CAKLU,cAAc,CAAEL,CAAK,CAACK,cAAN,EAAwBR,qBALnC,CAPiB,CAAnB,CAgBP,MAAO,SAASS,mBAAT,CAAkCN,CAAlC,CAAgE,CACrE,sCACKA,CADL,EAEKD,UAAU,CAACC,CAAD,CAFf,CAID"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","defaultGetItemHref","href","defaultGetItemOnClick","onClick","defaultGetItemTarget","target","defaultGetItemSubMenu","subMenu","getGetters","props","getItemLabel","getItemHref","getItemOnClick","getItemTarget","getItemSubMenu","withDefaultGetters"],"sources":["../../../../../src/components/SelectMenu/helpers.ts"],"sourcesContent":["import {\n SelectMenuDefaultItem,\n SelectMenuPropGetItemHref,\n SelectMenuPropGetItemLabel,\n SelectMenuPropGetItemOnClick,\n SelectMenuPropGetItemSubMenu,\n SelectMenuPropGetItemTarget,\n SelectMenuProps,\n} from './types';\n\nexport const defaultGetItemLabel: SelectMenuPropGetItemLabel<\n SelectMenuDefaultItem\n> = (item) => item.label;\nexport const defaultGetItemHref: SelectMenuPropGetItemHref<\n SelectMenuDefaultItem\n> = (item) => item.href;\nexport const defaultGetItemOnClick: SelectMenuPropGetItemOnClick<\n SelectMenuDefaultItem\n> = (item) => item.onClick;\nexport const defaultGetItemTarget: SelectMenuPropGetItemTarget<\n SelectMenuDefaultItem\n> = (item) => item.target;\nexport const defaultGetItemSubMenu: SelectMenuPropGetItemSubMenu<\n SelectMenuDefaultItem\n> = (item) => item.subMenu;\n\nexport const getGetters = <ITEM>(props: {\n getItemLabel?: SelectMenuPropGetItemLabel<ITEM>;\n getItemHref?: SelectMenuPropGetItemHref<ITEM>;\n getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM>;\n getItemTarget?: SelectMenuPropGetItemTarget<ITEM>;\n getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM>;\n}) => {\n return {\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemHref: props.getItemHref || defaultGetItemHref,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemTarget: props.getItemTarget || defaultGetItemTarget,\n getItemSubMenu: props.getItemSubMenu || defaultGetItemSubMenu,\n };\n};\n\nexport function withDefaultGetters<ITEM>(props: SelectMenuProps<ITEM>) {\n return {\n ...props,\n ...getGetters(props),\n };\n}\n"],"mappings":"qqBAUA,MAAO,MAAMA,oBAEZ,CAAIC,CAAI,EAAKA,CAAI,CAACC,KAAK,CACxB,MAAO,MAAMC,mBAEZ,CAAIF,CAAI,EAAKA,CAAI,CAACG,IAAI,CACvB,MAAO,MAAMC,sBAEZ,CAAIJ,CAAI,EAAKA,CAAI,CAACK,OAAO,CAC1B,MAAO,MAAMC,qBAEZ,CAAIN,CAAI,EAAKA,CAAI,CAACO,MAAM,CACzB,MAAO,MAAMC,sBAEZ,CAAIR,CAAI,EAAKA,CAAI,CAACS,OAAO,CAE1B,MAAO,MAAMC,WAAU,CAAUC,CAMhC,GACQ,CACLC,YAAY,CAAED,CAAK,CAACC,YAAY,EAAIb,mBAAmB,CACvDc,WAAW,CAAEF,CAAK,CAACE,WAAW,EAAIX,kBAAkB,CACpDY,cAAc,CAAEH,CAAK,CAACG,cAAc,EAAIV,qBAAqB,CAC7DW,aAAa,CAAEJ,CAAK,CAACI,aAAa,EAAIT,oBAAoB,CAC1DU,cAAc,CAAEL,CAAK,CAACK,cAAc,EAAIR,qBAC1C,CAAC,CACF,CAED,MAAO,SAASS,mBAAkB,CAAON,CAA4B,CAAE,CACrE,sCACKA,CAAK,EACLD,UAAU,CAACC,CAAK,CAAC,CAExB"}
@@ -1,22 +1,22 @@
1
1
  /// <reference types="react" />
2
2
  import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
3
- export declare type SelectMenuDefaultItem = {
3
+ export type SelectMenuDefaultItem = {
4
4
  label: string;
5
5
  href?: string;
6
6
  target?: string;
7
7
  onClick?: React.EventHandler<React.MouseEvent>;
8
8
  subMenu?: SelectMenuDefaultItem[];
9
9
  };
10
- export declare type SelectMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;
11
- export declare type SelectMenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;
12
- export declare type SelectMenuPropGetItemTarget<ITEM> = (item: ITEM) => string | undefined;
13
- export declare type SelectMenuPropGetItemOnClick<ITEM> = (item: ITEM) => React.EventHandler<React.MouseEvent> | undefined;
14
- export declare type SelectMenuPropOnItemClick<ITEM> = (props: {
10
+ export type SelectMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;
11
+ export type SelectMenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;
12
+ export type SelectMenuPropGetItemTarget<ITEM> = (item: ITEM) => string | undefined;
13
+ export type SelectMenuPropGetItemOnClick<ITEM> = (item: ITEM) => React.EventHandler<React.MouseEvent> | undefined;
14
+ export type SelectMenuPropOnItemClick<ITEM> = (props: {
15
15
  e: React.MouseEvent;
16
16
  item: ITEM;
17
17
  }) => void;
18
- export declare type SelectMenuPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;
19
- export declare type SelectMenuProps<ITEM = SelectMenuDefaultItem> = PropsWithHTMLAttributesAndRef<{
18
+ export type SelectMenuPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;
19
+ export type SelectMenuProps<ITEM = SelectMenuDefaultItem> = PropsWithHTMLAttributesAndRef<{
20
20
  items: ITEM[];
21
21
  onItemClick?: SelectMenuPropOnItemClick<ITEM>;
22
22
  getItemHref?: SelectMenuPropGetItemHref<ITEM>;
@@ -30,4 +30,4 @@ export declare type SelectMenuProps<ITEM = SelectMenuDefaultItem> = PropsWithHTM
30
30
  } ? {} : {
31
31
  getItemLabel: SelectMenuPropGetItemLabel<ITEM>;
32
32
  });
33
- export declare type SelectMenuComponent = <ITEM = SelectMenuDefaultItem>(props: SelectMenuProps<ITEM>) => React.ReactElement | null;
33
+ export type SelectMenuComponent = <ITEM = SelectMenuDefaultItem>(props: SelectMenuProps<ITEM>) => React.ReactElement | null;
@@ -1,7 +1,7 @@
1
1
  import './Sidebar.css';
2
2
  import { Sidebar as ConstaSidebar } from '@consta/uikit/Sidebar';
3
3
  import React from 'react';
4
- declare type SidebarProps = Omit<React.ComponentProps<typeof ConstaSidebar>, 'position' | 'onClose'> & {
4
+ type SidebarProps = Omit<React.ComponentProps<typeof ConstaSidebar>, 'position' | 'onClose'> & {
5
5
  title?: string;
6
6
  onClose?: React.EventHandler<React.MouseEvent>;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","names":["Button","IconClose","Sidebar","ConstaSidebar","Text","useBreakpoints","React","cn","cnSidebar","props","children","title","onClose","className","otherProps","bigScreen"],"sources":["../../../../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["import './Sidebar.css';\n\nimport { Button } from '@consta/uikit/Button';\nimport { IconClose } from '@consta/uikit/IconClose';\nimport { Sidebar as ConstaSidebar } from '@consta/uikit/Sidebar';\nimport { Text } from '@consta/uikit/Text';\nimport { useBreakpoints } from '@consta/uikit/useBreakpoints';\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\n\ntype SidebarProps = Omit<\n React.ComponentProps<typeof ConstaSidebar>,\n 'position' | 'onClose'\n> & {\n title?: string;\n onClose?: React.EventHandler<React.MouseEvent>;\n};\n\nconst cnSidebar = cn('Sidebar');\n\nexport const Sidebar = (props: SidebarProps) => {\n const { children, title, onClose, className, ...otherProps } = props;\n const { bigScreen } = useBreakpoints({ bigScreen: 520 });\n return (\n <ConstaSidebar\n {...otherProps}\n position={bigScreen ? 'right' : 'bottom'}\n size={bigScreen ? 'l' : 'full'}\n className={cnSidebar(null, [className])}\n >\n {(title || onClose) && (\n <div className={cnSidebar('Header')}>\n <Text className={cnSidebar('Title')} size=\"xl\" truncate>\n {title}\n </Text>\n {onClose && (\n <Button\n size=\"s\"\n view=\"clear\"\n iconLeft={IconClose}\n onClick={onClose}\n />\n )}\n </div>\n )}\n\n {children}\n </ConstaSidebar>\n );\n};\n"],"mappings":"gJAAA,sBAEA,OAASA,MAAT,KAAuB,sBAAvB,CACA,OAASC,SAAT,KAA0B,yBAA1B,CACA,OAASC,OAAO,GAAIC,cAApB,KAAyC,uBAAzC,CACA,OAASC,IAAT,KAAqB,oBAArB,CACA,OAASC,cAAT,KAA+B,8BAA/B,CACA,MAAOC,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,uBAUA,KAAMC,UAAS,CAAGD,EAAE,CAAC,SAAD,CAApB,CAEA,MAAO,MAAML,QAAO,CAAIO,CAAD,EAAyB,MACxC,CAAEC,QAAQ,CAARA,CAAF,CAAYC,KAAK,CAALA,CAAZ,CAAmBC,OAAO,CAAPA,CAAnB,CAA4BC,SAAS,CAATA,CAA5B,EAAyDJ,CADjB,CACEK,CADF,0BACiBL,CADjB,YAExC,CAAEM,SAAS,CAATA,CAAF,EAAgBV,cAAc,CAAC,CAAEU,SAAS,CAAE,GAAb,CAAD,CAFU,CAG9C,MACE,qBAAC,aAAD,kBACMD,CADN,EAEE,QAAQ,CAAEC,CAAS,CAAG,OAAH,CAAa,QAFlC,CAGE,IAAI,CAAEA,CAAS,CAAG,GAAH,CAAS,MAH1B,CAIE,SAAS,CAAEP,SAAS,CAAC,IAAD,CAAO,CAACK,CAAD,CAAP,CAJtB,GAMG,CAACF,CAAK,EAAIC,CAAV,GACC,2BAAK,SAAS,CAAEJ,SAAS,CAAC,QAAD,CAAzB,EACE,oBAAC,IAAD,EAAM,SAAS,CAAEA,SAAS,CAAC,OAAD,CAA1B,CAAqC,IAAI,CAAC,IAA1C,CAA+C,QAAQ,GAAvD,EACGG,CADH,CADF,CAIGC,CAAO,EACN,oBAAC,MAAD,EACE,IAAI,CAAC,GADP,CAEE,IAAI,CAAC,OAFP,CAGE,QAAQ,CAAEX,SAHZ,CAIE,OAAO,CAAEW,CAJX,EALJ,CAPJ,CAsBGF,CAtBH,CAyBH,CA7BM"}
1
+ {"version":3,"file":"Sidebar.js","names":["Button","IconClose","Sidebar","ConstaSidebar","Text","useBreakpoints","React","cn","cnSidebar","props","children","title","onClose","className","otherProps","bigScreen"],"sources":["../../../../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["import './Sidebar.css';\n\nimport { Button } from '@consta/uikit/Button';\nimport { IconClose } from '@consta/uikit/IconClose';\nimport { Sidebar as ConstaSidebar } from '@consta/uikit/Sidebar';\nimport { Text } from '@consta/uikit/Text';\nimport { useBreakpoints } from '@consta/uikit/useBreakpoints';\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\n\ntype SidebarProps = Omit<\n React.ComponentProps<typeof ConstaSidebar>,\n 'position' | 'onClose'\n> & {\n title?: string;\n onClose?: React.EventHandler<React.MouseEvent>;\n};\n\nconst cnSidebar = cn('Sidebar');\n\nexport const Sidebar = (props: SidebarProps) => {\n const { children, title, onClose, className, ...otherProps } = props;\n const { bigScreen } = useBreakpoints({ bigScreen: 520 });\n return (\n <ConstaSidebar\n {...otherProps}\n position={bigScreen ? 'right' : 'bottom'}\n size={bigScreen ? 'l' : 'full'}\n className={cnSidebar(null, [className])}\n >\n {(title || onClose) && (\n <div className={cnSidebar('Header')}>\n <Text className={cnSidebar('Title')} size=\"xl\" truncate>\n {title}\n </Text>\n {onClose && (\n <Button\n size=\"s\"\n view=\"clear\"\n iconLeft={IconClose}\n onClick={onClose}\n />\n )}\n </div>\n )}\n\n {children}\n </ConstaSidebar>\n );\n};\n"],"mappings":"gJAAA,sBAEA,OAASA,MAAM,KAAQ,sBAAsB,CAC7C,OAASC,SAAS,KAAQ,yBAAyB,CACnD,OAASC,OAAO,GAAIC,cAAa,KAAQ,uBAAuB,CAChE,OAASC,IAAI,KAAQ,oBAAoB,CACzC,OAASC,cAAc,KAAQ,8BAA8B,CAC7D,MAAOC,MAAK,KAAM,OAAO,CAEzB,OAASC,EAAE,uBAUX,KAAMC,UAAS,CAAGD,EAAE,CAAC,SAAS,CAAC,CAE/B,MAAO,MAAML,QAAO,CAAIO,CAAmB,EAAK,MACxC,CAAEC,QAAQ,CAARA,CAAQ,CAAEC,KAAK,CAALA,CAAK,CAAEC,OAAO,CAAPA,CAAO,CAAEC,SAAS,CAATA,CAAyB,CAAC,CAAGJ,CAAK,CAApBK,CAAU,0BAAKL,CAAK,YAC9D,CAAEM,SAAS,CAATA,CAAU,CAAC,CAAGV,cAAc,CAAC,CAAEU,SAAS,CAAE,GAAI,CAAC,CAAC,CACxD,MACE,qBAAC,aAAa,kBACRD,CAAU,EACd,QAAQ,CAAEC,CAAS,CAAG,OAAO,CAAG,QAAS,CACzC,IAAI,CAAEA,CAAS,CAAG,GAAG,CAAG,MAAO,CAC/B,SAAS,CAAEP,SAAS,CAAC,IAAI,CAAE,CAACK,CAAS,CAAC,CAAE,GAEvC,CAACF,CAAK,EAAIC,CAAO,GAChB,2BAAK,SAAS,CAAEJ,SAAS,CAAC,QAAQ,CAAE,EAClC,oBAAC,IAAI,EAAC,SAAS,CAAEA,SAAS,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KACpDG,CAAK,CACD,CACNC,CAAO,EACN,oBAAC,MAAM,EACL,IAAI,CAAC,GAAG,CACR,IAAI,CAAC,OAAO,CACZ,QAAQ,CAAEX,SAAU,CACpB,OAAO,CAAEW,CAAQ,EAEpB,CAEJ,CAEAF,CAAQ,CAGf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TileMenu.js","names":["Button","IconBento","animateTimeout","cnMixPopoverAnimate","cnMixPopoverArrow","Popover","useFlag","useForkRef","React","forwardRef","useRef","useState","Transition","Sidebar","cn","TileMenuList","tileMenuPropViewDefault","cnTileMenu","ARROW_SIZE","ARROW_OFFSET","TileMenuRender","props","ref","view","items","isMobile","className","children","listClassName","getItemDescription","getItemHref","getItemImage","getItemOnClick","getItemLabel","title","onItemClick","otherProps","buttonRef","direction","setDirection","visibleMenu","toogle","off","listProps","elementZIndex","style","zIndex","animate","TileMenu"],"sources":["../../../../../src/components/TileMenu/TileMenu.tsx"],"sourcesContent":["import './TileMenu.css';\n\nimport { Button } from '@consta/uikit/Button';\nimport { IconBento } from '@consta/uikit/IconBento';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '@consta/uikit/MixPopoverAnimate';\nimport { cnMixPopoverArrow } from '@consta/uikit/MixPopoverArrow';\nimport { Direction, Popover } from '@consta/uikit/Popover';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport React, { forwardRef, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { Sidebar } from '##/components/Sidebar';\nimport { cn } from '##/utils/bem';\n\nimport { TileMenuList } from './TileMenuList/TileMenuList';\nimport {\n TileMenuComponent,\n TileMenuProps,\n tileMenuPropViewDefault,\n} from './types';\n\nexport const cnTileMenu = cn('TileMenu');\n\nconst ARROW_SIZE = 6;\nconst ARROW_OFFSET = 10;\n\nfunction TileMenuRender(\n props: TileMenuProps,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n view = tileMenuPropViewDefault,\n items,\n isMobile,\n className,\n children,\n listClassName,\n getItemDescription,\n getItemHref,\n getItemImage,\n getItemOnClick,\n getItemLabel,\n title,\n onItemClick,\n ...otherProps\n } = props;\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const [direction, setDirection] = useState<Direction | undefined>(undefined);\n\n const [visibleMenu, { toogle, off }] = useFlag();\n\n const listProps = {\n className: listClassName,\n getItemDescription,\n getItemHref,\n getItemImage,\n getItemOnClick,\n getItemLabel,\n items,\n view,\n onItemClick,\n };\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n return (\n <>\n <Button\n {...otherProps}\n size=\"s\"\n view=\"clear\"\n className={cnTileMenu(null, [className])}\n iconLeft={IconBento}\n ref={useForkRef([ref, buttonRef])}\n onClick={toogle}\n />\n {isMobile ? (\n <Sidebar\n isOpen={visibleMenu}\n onClickOutside={off}\n onClose={off}\n title={title}\n style={{ zIndex: elementZIndex }}\n >\n <TileMenuList {...listProps} />\n </Sidebar>\n ) : (\n <Transition timeout={animateTimeout} unmountOnExit in={visibleMenu}>\n {(animate) => (\n <Popover\n className={cnTileMenu('Popover', { view }, [\n cnMixPopoverAnimate({ animate, direction }),\n ])}\n anchorRef={buttonRef}\n arrowOffset={ARROW_OFFSET + ARROW_SIZE}\n offset={ARROW_SIZE + 4}\n onSetDirection={setDirection}\n style={{\n ['--popover-arrow-size' as string]: `${ARROW_SIZE}px`,\n ['--popover-arrow-offset' as string]: `${ARROW_OFFSET}px`,\n zIndex: elementZIndex,\n }}\n onClickOutside={off}\n >\n <div className={cnMixPopoverArrow({ direction })} />\n <div className={cnTileMenu('ListWrapper')}>\n <TileMenuList {...listProps} />\n </div>\n </Popover>\n )}\n </Transition>\n )}\n </>\n );\n}\n\nexport const TileMenu = forwardRef(TileMenuRender) as TileMenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"TileMenu.js","names":["Button","IconBento","animateTimeout","cnMixPopoverAnimate","cnMixPopoverArrow","Popover","useFlag","useForkRef","React","forwardRef","useRef","useState","Transition","Sidebar","cn","TileMenuList","tileMenuPropViewDefault","cnTileMenu","ARROW_SIZE","ARROW_OFFSET","TileMenuRender","props","ref","view","items","isMobile","className","children","listClassName","getItemDescription","getItemHref","getItemImage","getItemOnClick","getItemLabel","title","onItemClick","otherProps","buttonRef","direction","setDirection","visibleMenu","toogle","off","listProps","elementZIndex","style","zIndex","animate","TileMenu"],"sources":["../../../../../src/components/TileMenu/TileMenu.tsx"],"sourcesContent":["import './TileMenu.css';\n\nimport { Button } from '@consta/uikit/Button';\nimport { IconBento } from '@consta/uikit/IconBento';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '@consta/uikit/MixPopoverAnimate';\nimport { cnMixPopoverArrow } from '@consta/uikit/MixPopoverArrow';\nimport { Direction, Popover } from '@consta/uikit/Popover';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useForkRef } from '@consta/uikit/useForkRef';\nimport React, { forwardRef, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { Sidebar } from '##/components/Sidebar';\nimport { cn } from '##/utils/bem';\n\nimport { TileMenuList } from './TileMenuList/TileMenuList';\nimport {\n TileMenuComponent,\n TileMenuProps,\n tileMenuPropViewDefault,\n} from './types';\n\nexport const cnTileMenu = cn('TileMenu');\n\nconst ARROW_SIZE = 6;\nconst ARROW_OFFSET = 10;\n\nfunction TileMenuRender(\n props: TileMenuProps,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n view = tileMenuPropViewDefault,\n items,\n isMobile,\n className,\n children,\n listClassName,\n getItemDescription,\n getItemHref,\n getItemImage,\n getItemOnClick,\n getItemLabel,\n title,\n onItemClick,\n ...otherProps\n } = props;\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const [direction, setDirection] = useState<Direction | undefined>(undefined);\n\n const [visibleMenu, { toogle, off }] = useFlag();\n\n const listProps = {\n className: listClassName,\n getItemDescription,\n getItemHref,\n getItemImage,\n getItemOnClick,\n getItemLabel,\n items,\n view,\n onItemClick,\n };\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n return (\n <>\n <Button\n {...otherProps}\n size=\"s\"\n view=\"clear\"\n className={cnTileMenu(null, [className])}\n iconLeft={IconBento}\n ref={useForkRef([ref, buttonRef])}\n onClick={toogle}\n />\n {isMobile ? (\n <Sidebar\n isOpen={visibleMenu}\n onClickOutside={off}\n onClose={off}\n title={title}\n style={{ zIndex: elementZIndex }}\n >\n <TileMenuList {...listProps} />\n </Sidebar>\n ) : (\n <Transition timeout={animateTimeout} unmountOnExit in={visibleMenu}>\n {(animate) => (\n <Popover\n className={cnTileMenu('Popover', { view }, [\n cnMixPopoverAnimate({ animate, direction }),\n ])}\n anchorRef={buttonRef}\n arrowOffset={ARROW_OFFSET + ARROW_SIZE}\n offset={ARROW_SIZE + 4}\n onSetDirection={setDirection}\n style={{\n ['--popover-arrow-size' as string]: `${ARROW_SIZE}px`,\n ['--popover-arrow-offset' as string]: `${ARROW_OFFSET}px`,\n zIndex: elementZIndex,\n }}\n onClickOutside={off}\n >\n <div className={cnMixPopoverArrow({ direction })} />\n <div className={cnTileMenu('ListWrapper')}>\n <TileMenuList {...listProps} />\n </div>\n </Popover>\n )}\n </Transition>\n )}\n </>\n );\n}\n\nexport const TileMenu = forwardRef(TileMenuRender) as TileMenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import './TileMenuItem.css';
2
2
  import React from 'react';
3
3
  export declare const tileMenuItemPropView: readonly ["card", "line"];
4
- export declare type TileMenuItemPropView = typeof tileMenuItemPropView[number];
5
- declare type TileMenuItemProps = {
4
+ export type TileMenuItemPropView = typeof tileMenuItemPropView[number];
5
+ type TileMenuItemProps = {
6
6
  image?: string | React.FC;
7
7
  title: string;
8
8
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TileMenuItem.js","names":["forwardRefWithAs","cnMixSpace","Text","React","cn","tileMenuItemPropView","cnTileMenuItem","renderImage","image","title","TileMenuItem","props","ref","className","description","view","as","otherProps","viewIsCard","viewIsLine","p","pT","pV","pB"],"sources":["../../../../../../src/components/TileMenu/TileMenuItem/TileMenuItem.tsx"],"sourcesContent":["import './TileMenuItem.css';\n\nimport { forwardRefWithAs } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';\nimport { cnMixSpace } from '@consta/uikit/MixSpace';\nimport { Text } from '@consta/uikit/Text';\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\n\nexport const tileMenuItemPropView = ['card', 'line'] as const;\nexport type TileMenuItemPropView = typeof tileMenuItemPropView[number];\n\ntype TileMenuItemProps = {\n image?: string | React.FC;\n title: string;\n description?: string;\n view?: TileMenuItemPropView;\n};\n\nconst cnTileMenuItem = cn('TileMenuItem');\n\nconst renderImage = (image: string | React.FC, title: string) => {\n if (typeof image === 'string') {\n return <img src={image} alt={title} />;\n }\n const ImageComponent = image;\n return <ImageComponent />;\n};\n\nexport const TileMenuItem = forwardRefWithAs<TileMenuItemProps>(\n (props, ref) => {\n const {\n image,\n className,\n title,\n description,\n view = 'line',\n as = 'div',\n ...otherProps\n } = props;\n\n const Tag = as as string;\n const viewIsCard = view === 'card';\n const viewIsLine = view === 'line';\n\n return (\n <Tag\n {...otherProps}\n ref={ref}\n className={cnTileMenuItem({ view }, [\n viewIsCard\n ? cnMixSpace({ p: 's', pT: 'm' })\n : cnMixSpace({ pV: 's' }),\n className,\n ])}\n >\n {image && (\n <div className={cnTileMenuItem('ImageWrapper')}>\n {renderImage(image, title)}\n </div>\n )}\n <div className={cnTileMenuItem('ContentWrapper')}>\n <Text\n weight={viewIsLine ? 'bold' : undefined}\n align={viewIsCard ? 'center' : undefined}\n className={cnTileMenuItem('Title', [\n viewIsLine ? cnMixSpace({ pB: '2xs' }) : undefined,\n ])}\n >\n {title}\n </Text>\n {description && viewIsLine && (\n <Text view=\"secondary\" className={cnTileMenuItem('Description')}>\n {description}\n </Text>\n )}\n </div>\n </Tag>\n );\n },\n);\n"],"mappings":"6JAAA,2BAEA,OAASA,gBAAT,KAAiC,kEAAjC,CACA,OAASC,UAAT,KAA2B,wBAA3B,CACA,OAASC,IAAT,KAAqB,oBAArB,CACA,MAAOC,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BAEA,MAAO,MAAMC,qBAAoB,CAAG,CAAC,MAAD,CAAS,MAAT,CAA7B,C,KAUDC,eAAc,CAAGF,EAAE,CAAC,cAAD,C,CAEnBG,WAAW,CAAG,CAACC,CAAD,CAA2BC,CAA3B,GAA6C,CAC/D,GAAqB,QAAjB,QAAOD,EAAX,CACE,MAAO,4BAAK,GAAG,CAAEA,CAAV,CAAiB,GAAG,CAAEC,CAAtB,EAAP,CAGF,MAAO,qBADgBD,CAChB,MACR,C,CAED,MAAO,MAAME,aAAY,CAAGV,gBAAgB,CAC1C,CAACW,CAAD,CAAQC,CAAR,GAAgB,MACR,CACJJ,KAAK,CAALA,CADI,CAEJK,SAAS,CAATA,CAFI,CAGJJ,KAAK,CAALA,CAHI,CAIJK,WAAW,CAAXA,CAJI,CAKJC,IAAI,CAAJA,CAAI,CAAG,MALH,CAMJC,EAAE,CAAFA,CAAE,CAAG,KAND,EAQFL,CATU,CAQTM,CARS,0BASVN,CATU,YAYRO,CAAU,CAAY,MAAT,GAAAH,CAZL,CAaRI,CAAU,CAAY,MAAT,GAAAJ,CAbL,CAed,MACE,qBALUC,CAKV,kBACMC,CADN,EAEE,GAAG,CAAEL,CAFP,CAGE,SAAS,CAAEN,cAAc,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAD,CAAW,CAClCG,CAAU,CACNjB,UAAU,CAAC,CAAEmB,CAAC,CAAE,GAAL,CAAUC,EAAE,CAAE,GAAd,CAAD,CADJ,CAENpB,UAAU,CAAC,CAAEqB,EAAE,CAAE,GAAN,CAAD,CAHoB,CAIlCT,CAJkC,CAAX,CAH3B,GAUGL,CAAK,EACJ,2BAAK,SAAS,CAAEF,cAAc,CAAC,cAAD,CAA9B,EACGC,WAAW,CAACC,CAAD,CAAQC,CAAR,CADd,CAXJ,CAeE,2BAAK,SAAS,CAAEH,cAAc,CAAC,gBAAD,CAA9B,EACE,oBAAC,IAAD,EACE,MAAM,CAAEa,CAAU,CAAG,MAAH,OADpB,CAEE,KAAK,CAAED,CAAU,CAAG,QAAH,OAFnB,CAGE,SAAS,CAAEZ,cAAc,CAAC,OAAD,CAAU,CACjCa,CAAU,CAAGlB,UAAU,CAAC,CAAEsB,EAAE,CAAE,KAAN,CAAD,CAAb,OADuB,CAAV,CAH3B,EAOGd,CAPH,CADF,CAUGK,CAAW,EAAIK,CAAf,EACC,oBAAC,IAAD,EAAM,IAAI,CAAC,WAAX,CAAuB,SAAS,CAAEb,cAAc,CAAC,aAAD,CAAhD,EACGQ,CADH,CAXJ,CAfF,CAiCH,CAlDyC,CAArC"}
1
+ {"version":3,"file":"TileMenuItem.js","names":["forwardRefWithAs","cnMixSpace","Text","React","cn","tileMenuItemPropView","cnTileMenuItem","renderImage","image","title","TileMenuItem","props","ref","className","description","view","as","otherProps","viewIsCard","viewIsLine","p","pT","pV","pB"],"sources":["../../../../../../src/components/TileMenu/TileMenuItem/TileMenuItem.tsx"],"sourcesContent":["import './TileMenuItem.css';\n\nimport { forwardRefWithAs } from '@consta/uikit/__internal__/src/utils/types/PropsWithAsAttributes';\nimport { cnMixSpace } from '@consta/uikit/MixSpace';\nimport { Text } from '@consta/uikit/Text';\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\n\nexport const tileMenuItemPropView = ['card', 'line'] as const;\nexport type TileMenuItemPropView = typeof tileMenuItemPropView[number];\n\ntype TileMenuItemProps = {\n image?: string | React.FC;\n title: string;\n description?: string;\n view?: TileMenuItemPropView;\n};\n\nconst cnTileMenuItem = cn('TileMenuItem');\n\nconst renderImage = (image: string | React.FC, title: string) => {\n if (typeof image === 'string') {\n return <img src={image} alt={title} />;\n }\n const ImageComponent = image;\n return <ImageComponent />;\n};\n\nexport const TileMenuItem = forwardRefWithAs<TileMenuItemProps>(\n (props, ref) => {\n const {\n image,\n className,\n title,\n description,\n view = 'line',\n as = 'div',\n ...otherProps\n } = props;\n\n const Tag = as as string;\n const viewIsCard = view === 'card';\n const viewIsLine = view === 'line';\n\n return (\n <Tag\n {...otherProps}\n ref={ref}\n className={cnTileMenuItem({ view }, [\n viewIsCard\n ? cnMixSpace({ p: 's', pT: 'm' })\n : cnMixSpace({ pV: 's' }),\n className,\n ])}\n >\n {image && (\n <div className={cnTileMenuItem('ImageWrapper')}>\n {renderImage(image, title)}\n </div>\n )}\n <div className={cnTileMenuItem('ContentWrapper')}>\n <Text\n weight={viewIsLine ? 'bold' : undefined}\n align={viewIsCard ? 'center' : undefined}\n className={cnTileMenuItem('Title', [\n viewIsLine ? cnMixSpace({ pB: '2xs' }) : undefined,\n ])}\n >\n {title}\n </Text>\n {description && viewIsLine && (\n <Text view=\"secondary\" className={cnTileMenuItem('Description')}>\n {description}\n </Text>\n )}\n </div>\n </Tag>\n );\n },\n);\n"],"mappings":"6JAAA,2BAEA,OAASA,gBAAgB,KAAQ,kEAAkE,CACnG,OAASC,UAAU,KAAQ,wBAAwB,CACnD,OAASC,IAAI,KAAQ,oBAAoB,CACzC,MAAOC,MAAK,KAAM,OAAO,CAEzB,OAASC,EAAE,0BAEX,MAAO,MAAMC,qBAAoB,CAAG,CAAC,MAAM,CAAE,MAAM,CAAU,CAAC,KAUxDC,eAAc,CAAGF,EAAE,CAAC,cAAc,CAAC,CAEnCG,WAAW,CAAG,CAACC,CAAwB,CAAEC,CAAa,GAAK,CAC/D,GAAqB,QAAQ,EAAzB,MAAOD,EAAkB,CAC3B,MAAO,4BAAK,GAAG,CAAEA,CAAM,CAAC,GAAG,CAAEC,CAAM,EAAG,CAGxC,MAAO,qBADgBD,CAAK,MAE9B,CAAC,CAED,MAAO,MAAME,aAAY,CAAGV,gBAAgB,CAC1C,CAACW,CAAK,CAAEC,CAAG,GAAK,MACR,CACJJ,KAAK,CAALA,CAAK,CACLK,SAAS,CAATA,CAAS,CACTJ,KAAK,CAALA,CAAK,CACLK,WAAW,CAAXA,CAAW,CACXC,IAAI,CAAJA,CAAI,CAAG,MAAM,CACbC,EAAE,CAAFA,CAAE,CAAG,KAEP,CAAC,CAAGL,CAAK,CADJM,CAAU,0BACXN,CAAK,YAGHO,CAAU,CAAY,MAAM,GAAfH,CAAe,CAC5BI,CAAU,CAAY,MAAM,GAAfJ,CAAe,CAElC,MACE,qBALUC,CAAE,kBAMNC,CAAU,EACd,GAAG,CAAEL,CAAI,CACT,SAAS,CAAEN,cAAc,CAAC,CAAES,IAAI,CAAJA,CAAK,CAAC,CAAE,CAClCG,CAAU,CACNjB,UAAU,CAAC,CAAEmB,CAAC,CAAE,GAAG,CAAEC,EAAE,CAAE,GAAI,CAAC,CAAC,CAC/BpB,UAAU,CAAC,CAAEqB,EAAE,CAAE,GAAI,CAAC,CAAC,CAC3BT,CAAS,CACV,CAAE,GAEFL,CAAK,EACJ,2BAAK,SAAS,CAAEF,cAAc,CAAC,cAAc,CAAE,EAC5CC,WAAW,CAACC,CAAK,CAAEC,CAAK,CAAC,CAE7B,CACD,2BAAK,SAAS,CAAEH,cAAc,CAAC,gBAAgB,CAAE,EAC/C,oBAAC,IAAI,EACH,MAAM,CAAEa,CAAU,CAAG,MAAM,OAAa,CACxC,KAAK,CAAED,CAAU,CAAG,QAAQ,OAAa,CACzC,SAAS,CAAEZ,cAAc,CAAC,OAAO,CAAE,CACjCa,CAAU,CAAGlB,UAAU,CAAC,CAAEsB,EAAE,CAAE,KAAM,CAAC,CAAC,OAAY,CACnD,CAAE,EAEFd,CAAK,CACD,CACNK,CAAW,EAAIK,CAAU,EACxB,oBAAC,IAAI,EAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAEb,cAAc,CAAC,aAAa,CAAE,EAC7DQ,CAAW,CAEf,CACG,CAGZ,CAAC,CACF"}