@consta/uikit 4.13.0 → 4.14.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 (87) hide show
  1. package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.js +1 -1
  2. package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.js.map +1 -1
  3. package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.js +1 -1
  4. package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.js.map +1 -1
  5. package/__internal__/src/components/BreadcrumbsDeprecated/BreadcrumbsDeprecated.js +1 -1
  6. package/__internal__/src/components/BreadcrumbsDeprecated/BreadcrumbsDeprecated.js.map +1 -1
  7. package/__internal__/src/components/CalendarDeprecated/CalendarMonthToggler/CalendarMonthToggler.js +1 -1
  8. package/__internal__/src/components/CalendarDeprecated/CalendarMonthToggler/CalendarMonthToggler.js.map +1 -1
  9. package/__internal__/src/components/CalendarDeprecated/CalendarSlider/CalendarSlider.js +1 -1
  10. package/__internal__/src/components/CalendarDeprecated/CalendarSlider/CalendarSlider.js.map +1 -1
  11. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
  12. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  13. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  14. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  15. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  16. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  17. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  18. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  19. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  21. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  22. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  24. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  25. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  27. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  31. package/__internal__/src/components/DateTime/DateTimeSlider/DateTimeSlider.js +1 -1
  32. package/__internal__/src/components/DateTime/DateTimeSlider/DateTimeSlider.js.map +1 -1
  33. package/__internal__/src/components/DateTime/DateTimeToggler/DateTimeToggler.js +1 -1
  34. package/__internal__/src/components/DateTime/DateTimeToggler/DateTimeToggler.js.map +1 -1
  35. package/__internal__/src/components/Pagination/Pagination.js +1 -1
  36. package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
  37. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
  38. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
  39. package/__internal__/src/components/Responses403/Responses403.js +1 -1
  40. package/__internal__/src/components/Responses403/Responses403.js.map +1 -1
  41. package/__internal__/src/components/Responses404/Responses404.js +1 -1
  42. package/__internal__/src/components/Responses404/Responses404.js.map +1 -1
  43. package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js +1 -1
  44. package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js.map +1 -1
  45. package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js +1 -1
  46. package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js.map +1 -1
  47. package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js +1 -1
  48. package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js.map +1 -1
  49. package/__internal__/src/components/ResponsesExit/ResponsesExit.js +1 -1
  50. package/__internal__/src/components/ResponsesExit/ResponsesExit.js.map +1 -1
  51. package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js +1 -1
  52. package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js.map +1 -1
  53. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js +1 -1
  54. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js.map +1 -1
  55. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js +1 -1
  56. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js.map +1 -1
  57. package/__internal__/src/components/Steps/Steps.js +1 -1
  58. package/__internal__/src/components/Steps/Steps.js.map +1 -1
  59. package/__internal__/src/components/Table/FilterContainer/TableFilterContainer.js +1 -1
  60. package/__internal__/src/components/Table/FilterContainer/TableFilterContainer.js.map +1 -1
  61. package/__internal__/src/components/Table/FilterTooltip/TableFilterTooltip.js +1 -1
  62. package/__internal__/src/components/Table/FilterTooltip/TableFilterTooltip.js.map +1 -1
  63. package/__internal__/src/components/Table/Header/TableHeader.js +1 -1
  64. package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
  65. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js +1 -1
  66. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js.map +1 -1
  67. package/__internal__/src/components/Table/TextFilter/TableTextFilter.js +1 -1
  68. package/__internal__/src/components/Table/TextFilter/TableTextFilter.js.map +1 -1
  69. package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
  70. package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
  71. package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js +1 -1
  72. package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js.map +1 -1
  73. package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
  74. package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
  75. package/__internal__/src/components/TabsDeprecated/MoreItems/TabsMoreItems.js +1 -1
  76. package/__internal__/src/components/TabsDeprecated/MoreItems/TabsMoreItems.js.map +1 -1
  77. package/__internal__/src/components/ThemeToggler/ThemeToggler.js +1 -1
  78. package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
  79. package/__internal__/src/components/ThemeToggler/helpers.d.ts +1 -0
  80. package/__internal__/src/components/ThemeToggler/types.d.ts +4 -2
  81. package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
  82. package/__internal__/src/components/User/User.js +1 -1
  83. package/__internal__/src/components/User/User.js.map +1 -1
  84. package/package.json +1 -1
  85. package/__internal__/src/components/DatePicker/useDropdownVisible.d.ts +0 -24
  86. package/__internal__/src/components/DatePicker/useDropdownVisible.js +0 -2
  87. package/__internal__/src/components/DatePicker/useDropdownVisible.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","onItemClick","item","size","onlyIcon","delimiter","active","getItemHref","getItemIcon","getItemLabel","getItemSubMenu","children"];import"./BreadcrumbsItem.css";import{IconArrowRight}from"@consta/icons/IconArrowRight";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cnMixSpace}from"../../../mixs/MixSpace/MixSpace";import{cn}from"../../../utils/bem";import{getByMap}from"../../../utils/getByMap";import{Button}from"../../Button/Button";import{ContextMenu}from"../../ContextMenu/ContextMenu";import{Text}from"../../Text/Text";import{contextMenuSizeMap,getItemAs,getItemAttributes}from"../BreadcrumbsMore/BreadcrumbsMore";import{iconSizeMap}from"../helpers";export var cnBreadcrumbsItem=cn("BreadcrumbsItem");function BreadcrumbsItemRender(a,b){var c=a.className,d=a.onItemClick,f=a.item,g=a.size,h=a.onlyIcon,i=a.delimiter,j=a.active,k=a.getItemHref,l=a.getItemIcon,m=a.getItemLabel,n=a.getItemSubMenu,o=a.children,p=_objectWithoutProperties(a,_excluded),q=useFlag(),r=_slicedToArray(q,2),s=r[0],t=r[1],u=useRef(null),v=f&&(null===l||void 0===l?void 0:l(f)),w=v&&h,x=f&&(null===k||void 0===k?void 0:k(f)),y=f&&(null===m||void 0===m?void 0:m(f)),z=f&&(null===n||void 0===n?void 0:n(f)),A=getByMap(iconSizeMap,g),B=x?{as:"a",href:x}:{as:"span"};return React.createElement("li",Object.assign({className:cnBreadcrumbsItem(null,[c]),ref:b},p),i&&React.createElement(IconArrowRight,{className:cnBreadcrumbsItem("Delimiter",[cnMixSpace({mH:g})]),view:"ghost",size:A}),o||React.createElement(React.Fragment,null,React.createElement(Text,Object.assign({className:cnBreadcrumbsItem("Link",{active:j}),view:j?"primary":"secondary",onClick:function handleClick(a){f&&(null===d||void 0===d?void 0:d({e:a,item:f}))},size:g,truncate:!w},B),v&&(w?React.createElement(Button,{view:"clear",onlyIcon:!0,iconLeft:v,size:A}):React.createElement(v,{className:cnBreadcrumbsItem("Icon",[cnMixSpace({mR:"xs"})]),size:A})),!w&&y),z&&React.createElement("button",{ref:u,onClick:t.toggle,type:"button",className:cnBreadcrumbsItem("SelectButton")},React.createElement(IconSelect,{size:"xs",view:j?"primary":"secondary"}))),z&&React.createElement(ContextMenu,{isOpen:s,items:z,getItemLabel:m,getItemSubMenu:n,getItemLeftIcon:l,onItemClick:function onItemClick(a){var b=a.e,c=a.item;t.off(),c&&(null===d||void 0===d?void 0:d({e:b,item:c}))},getItemAs:getItemAs(k),getItemAttributes:getItemAttributes(k),direction:"downStartRight",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],anchorRef:u,offset:"xs",onClickOutside:t.off,size:contextMenuSizeMap[g]}))}export var BreadcrumbsItem=forwardRef(BreadcrumbsItemRender);
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","onItemClick","item","size","onlyIcon","delimiter","active","getItemHref","getItemIcon","getItemLabel","getItemSubMenu","children"];import"./BreadcrumbsItem.css";import{IconArrowRight}from"@consta/icons/IconArrowRight";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cnMixSpace}from"../../../mixs/MixSpace/MixSpace";import{cn}from"../../../utils/bem";import{getByMap}from"../../../utils/getByMap";import{Button}from"../../Button/Button";import{ContextMenu}from"../../ContextMenu/ContextMenu";import{Text}from"../../Text/Text";import{contextMenuSizeMap,getItemAs,getItemAttributes}from"../BreadcrumbsMore/BreadcrumbsMore";import{iconSizeMap}from"../helpers";export var cnBreadcrumbsItem=cn("BreadcrumbsItem");function BreadcrumbsItemRender(a,b){var c=a.className,d=a.onItemClick,f=a.item,g=a.size,h=a.onlyIcon,i=a.delimiter,j=a.active,k=a.getItemHref,l=a.getItemIcon,m=a.getItemLabel,n=a.getItemSubMenu,o=a.children,p=_objectWithoutProperties(a,_excluded),q=useFlag(),r=_slicedToArray(q,2),s=r[0],t=r[1],u=useRef(null),v=f&&(null===l||void 0===l?void 0:l(f)),w=v&&h,x=f&&(null===k||void 0===k?void 0:k(f)),y=f&&(null===m||void 0===m?void 0:m(f)),z=f&&(null===n||void 0===n?void 0:n(f)),A=getByMap(iconSizeMap,g),B=x?{as:"a",href:x}:{as:"span"};return React.createElement("li",Object.assign({className:cnBreadcrumbsItem(null,[c]),ref:b},p),i&&React.createElement(IconArrowRight,{className:cnBreadcrumbsItem("Delimiter",[cnMixSpace({mH:g})]),view:"ghost",size:A}),o||React.createElement(React.Fragment,null,React.createElement(Text,Object.assign({className:cnBreadcrumbsItem("Link",{active:j}),view:j?"primary":"secondary",onClick:function handleClick(a){f&&(null===d||void 0===d?void 0:d({e:a,item:f}))},size:g,truncate:!w},B),v&&(w?React.createElement(Button,{type:"button",view:"clear",onlyIcon:!0,iconLeft:v,size:A}):React.createElement(v,{className:cnBreadcrumbsItem("Icon",[cnMixSpace({mR:"xs"})]),size:A})),!w&&y),z&&React.createElement("button",{ref:u,onClick:t.toggle,type:"button",className:cnBreadcrumbsItem("SelectButton")},React.createElement(IconSelect,{size:"xs",view:j?"primary":"secondary"}))),z&&React.createElement(ContextMenu,{isOpen:s,items:z,getItemLabel:m,getItemSubMenu:n,getItemLeftIcon:l,onItemClick:function onItemClick(a){var b=a.e,c=a.item;t.off(),c&&(null===d||void 0===d?void 0:d({e:b,item:c}))},getItemAs:getItemAs(k),getItemAttributes:getItemAttributes(k),direction:"downStartRight",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],anchorRef:u,offset:"xs",onClickOutside:t.off,size:contextMenuSizeMap[g]}))}export var BreadcrumbsItem=forwardRef(BreadcrumbsItemRender);
2
2
  //# sourceMappingURL=BreadcrumbsItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsItem.js","names":["IconArrowRight","IconSelect","React","forwardRef","useRef","useFlag","cnMixSpace","cn","getByMap","Button","ContextMenu","Text","contextMenuSizeMap","getItemAs","getItemAttributes","iconSizeMap","cnBreadcrumbsItem","BreadcrumbsItemRender","props","ref","className","onItemClickProp","onItemClick","item","size","onlyIconProp","onlyIcon","delimiter","active","getItemHref","getItemIcon","getItemLabel","getItemSubMenu","children","otherProps","open","setOpen","buttonRef","Icon","href","label","subMenu","iconSize","linkProps","as","mH","handleClick","e","mR","toggle","off","BreadcrumbsItem"],"sources":["../../../../../../src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.tsx"],"sourcesContent":["import './BreadcrumbsItem.css';\n\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { cnMixSpace } from '../../../mixs/MixSpace/MixSpace';\nimport { cn } from '../../../utils/bem';\nimport { getByMap } from '../../../utils/getByMap';\nimport { Button } from '../../Button/Button';\nimport { ContextMenu } from '../../ContextMenu/ContextMenu';\nimport { Text } from '../../Text/Text';\nimport {\n contextMenuSizeMap,\n getItemAs,\n getItemAttributes,\n} from '../BreadcrumbsMore/BreadcrumbsMore';\nimport { iconSizeMap } from '../helpers';\nimport {\n BreadcrumbsItemComponent,\n BreadcrumbsItemProps,\n BreadcrumbsPropOnItemClick,\n} from '../types';\n\nexport const cnBreadcrumbsItem = cn('BreadcrumbsItem');\n\nfunction BreadcrumbsItemRender<ITEM>(\n props: BreadcrumbsItemProps<ITEM>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n className,\n onItemClick: onItemClickProp,\n item,\n size,\n onlyIcon: onlyIconProp,\n delimiter,\n active,\n getItemHref,\n getItemIcon,\n getItemLabel,\n getItemSubMenu,\n children,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useFlag();\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const Icon = item && getItemIcon?.(item);\n const onlyIcon = Icon && onlyIconProp;\n const href = item && getItemHref?.(item);\n const label = item && getItemLabel?.(item);\n const subMenu = item && getItemSubMenu?.(item);\n\n const iconSize = getByMap(iconSizeMap, size);\n const linkProps = href\n ? ({\n as: 'a',\n href,\n } as const)\n : ({\n as: 'span',\n } as const);\n\n const handleClick: React.MouseEventHandler = (e) => {\n item && onItemClickProp?.({ e, item });\n };\n\n const onItemClick: BreadcrumbsPropOnItemClick<ITEM> = ({ e, item }) => {\n setOpen.off();\n item && onItemClickProp?.({ e, item });\n };\n\n return (\n <li\n className={cnBreadcrumbsItem(null, [className])}\n ref={ref}\n {...otherProps}\n >\n {delimiter && (\n <IconArrowRight\n className={cnBreadcrumbsItem('Delimiter', [cnMixSpace({ mH: size })])}\n view=\"ghost\"\n size={iconSize}\n />\n )}\n {children || (\n <>\n <Text\n className={cnBreadcrumbsItem('Link', { active })}\n view={active ? 'primary' : 'secondary'}\n onClick={handleClick}\n size={size}\n truncate={!onlyIcon}\n {...linkProps}\n >\n {Icon &&\n (onlyIcon ? (\n <Button view=\"clear\" onlyIcon iconLeft={Icon} size={iconSize} />\n ) : (\n <Icon\n className={cnBreadcrumbsItem('Icon', [\n cnMixSpace({ mR: 'xs' }),\n ])}\n size={iconSize}\n />\n ))}\n {!onlyIcon && label}\n </Text>\n {subMenu && (\n <button\n ref={buttonRef}\n onClick={setOpen.toggle}\n type=\"button\"\n className={cnBreadcrumbsItem('SelectButton')}\n >\n <IconSelect size=\"xs\" view={active ? 'primary' : 'secondary'} />\n </button>\n )}\n </>\n )}\n {subMenu && (\n <ContextMenu\n isOpen={open}\n items={subMenu}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n getItemLeftIcon={getItemIcon}\n onItemClick={onItemClick}\n getItemAs={getItemAs(getItemHref)}\n getItemAttributes={getItemAttributes(getItemHref)}\n direction=\"downStartRight\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n anchorRef={buttonRef}\n offset=\"xs\"\n onClickOutside={setOpen.off}\n size={contextMenuSizeMap[size]}\n />\n )}\n </li>\n );\n}\n\nexport const BreadcrumbsItem = forwardRef(\n BreadcrumbsItemRender,\n) as BreadcrumbsItemComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbsItem.js","names":["IconArrowRight","IconSelect","React","forwardRef","useRef","useFlag","cnMixSpace","cn","getByMap","Button","ContextMenu","Text","contextMenuSizeMap","getItemAs","getItemAttributes","iconSizeMap","cnBreadcrumbsItem","BreadcrumbsItemRender","props","ref","className","onItemClickProp","onItemClick","item","size","onlyIconProp","onlyIcon","delimiter","active","getItemHref","getItemIcon","getItemLabel","getItemSubMenu","children","otherProps","open","setOpen","buttonRef","Icon","href","label","subMenu","iconSize","linkProps","as","mH","handleClick","e","mR","toggle","off","BreadcrumbsItem"],"sources":["../../../../../../src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.tsx"],"sourcesContent":["import './BreadcrumbsItem.css';\n\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { cnMixSpace } from '../../../mixs/MixSpace/MixSpace';\nimport { cn } from '../../../utils/bem';\nimport { getByMap } from '../../../utils/getByMap';\nimport { Button } from '../../Button/Button';\nimport { ContextMenu } from '../../ContextMenu/ContextMenu';\nimport { Text } from '../../Text/Text';\nimport {\n contextMenuSizeMap,\n getItemAs,\n getItemAttributes,\n} from '../BreadcrumbsMore/BreadcrumbsMore';\nimport { iconSizeMap } from '../helpers';\nimport {\n BreadcrumbsItemComponent,\n BreadcrumbsItemProps,\n BreadcrumbsPropOnItemClick,\n} from '../types';\n\nexport const cnBreadcrumbsItem = cn('BreadcrumbsItem');\n\nfunction BreadcrumbsItemRender<ITEM>(\n props: BreadcrumbsItemProps<ITEM>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n className,\n onItemClick: onItemClickProp,\n item,\n size,\n onlyIcon: onlyIconProp,\n delimiter,\n active,\n getItemHref,\n getItemIcon,\n getItemLabel,\n getItemSubMenu,\n children,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useFlag();\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const Icon = item && getItemIcon?.(item);\n const onlyIcon = Icon && onlyIconProp;\n const href = item && getItemHref?.(item);\n const label = item && getItemLabel?.(item);\n const subMenu = item && getItemSubMenu?.(item);\n\n const iconSize = getByMap(iconSizeMap, size);\n const linkProps = href\n ? ({\n as: 'a',\n href,\n } as const)\n : ({\n as: 'span',\n } as const);\n\n const handleClick: React.MouseEventHandler = (e) => {\n item && onItemClickProp?.({ e, item });\n };\n\n const onItemClick: BreadcrumbsPropOnItemClick<ITEM> = ({ e, item }) => {\n setOpen.off();\n item && onItemClickProp?.({ e, item });\n };\n\n return (\n <li\n className={cnBreadcrumbsItem(null, [className])}\n ref={ref}\n {...otherProps}\n >\n {delimiter && (\n <IconArrowRight\n className={cnBreadcrumbsItem('Delimiter', [cnMixSpace({ mH: size })])}\n view=\"ghost\"\n size={iconSize}\n />\n )}\n {children || (\n <>\n <Text\n className={cnBreadcrumbsItem('Link', { active })}\n view={active ? 'primary' : 'secondary'}\n onClick={handleClick}\n size={size}\n truncate={!onlyIcon}\n {...linkProps}\n >\n {Icon &&\n (onlyIcon ? (\n <Button\n type=\"button\"\n view=\"clear\"\n onlyIcon\n iconLeft={Icon}\n size={iconSize}\n />\n ) : (\n <Icon\n className={cnBreadcrumbsItem('Icon', [\n cnMixSpace({ mR: 'xs' }),\n ])}\n size={iconSize}\n />\n ))}\n {!onlyIcon && label}\n </Text>\n {subMenu && (\n <button\n ref={buttonRef}\n onClick={setOpen.toggle}\n type=\"button\"\n className={cnBreadcrumbsItem('SelectButton')}\n >\n <IconSelect size=\"xs\" view={active ? 'primary' : 'secondary'} />\n </button>\n )}\n </>\n )}\n {subMenu && (\n <ContextMenu\n isOpen={open}\n items={subMenu}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n getItemLeftIcon={getItemIcon}\n onItemClick={onItemClick}\n getItemAs={getItemAs(getItemHref)}\n getItemAttributes={getItemAttributes(getItemHref)}\n direction=\"downStartRight\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n anchorRef={buttonRef}\n offset=\"xs\"\n onClickOutside={setOpen.off}\n size={contextMenuSizeMap[size]}\n />\n )}\n </li>\n );\n}\n\nexport const BreadcrumbsItem = forwardRef(\n BreadcrumbsItemRender,\n) as BreadcrumbsItemComponent;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","items","className","style","getItemHref","getItemIcon","getItemLabel","getItemOnClick","getItemSubMenu","onItemClick"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./BreadcrumbsMore.css";import React,{forwardRef,useEffect,useRef}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cn}from"../../../utils/bem";import{getByMap}from"../../../utils/getByMap";import{Button}from"../../Button/Button";import{ContextMenu}from"../../ContextMenu/ContextMenu";import{BreadcrumbsItem}from"../BreadcrumbsItem/BreadcrumbsItem";import{iconSizeMap}from"../helpers";var cnBreadcrumbsMore=cn("BreadcrumbsMore");export function getLeftSideBar(a,b){return function(c){var d=null===b||void 0===b?void 0:b(c);return d?React.createElement(d,{size:a}):void 0}}export function getItemAs(a){return function(b){var c=null===a||void 0===a?void 0:a(b);return c?"a":"span"}}export function getItemAttributes(a){return function(b){return a&&{href:a(b)}}}export var contextMenuSizeMap={xs:"s",s:"s",m:"m",l:"l"};function BreadcrumbsMoreRender(a,b){var c=a.size,d=a.items,e=a.className,f=a.style,g=a.getItemHref,h=a.getItemIcon,i=a.getItemLabel,j=a.getItemOnClick,k=a.getItemSubMenu,l=a.onItemClick,m=_objectWithoutProperties(a,_excluded),n=useFlag(),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useRef(null),s=getByMap(iconSizeMap,c);useEffect(q.off,[d]);return React.createElement(BreadcrumbsItem,Object.assign({},m,{className:cnBreadcrumbsMore(null,[e]),delimiter:!0,size:c,ref:b,style:_objectSpread(_objectSpread({},f),{},_defineProperty({},"--breadcrumbs-more-font-size","var(--size-text-".concat(c,")")))}),React.createElement(Button,{className:cnBreadcrumbsMore("Button"),view:"clear",label:"...",size:s,ref:r,onClick:q.toggle}),React.createElement(ContextMenu,{items:d,isOpen:p,getItemLabel:i,getItemSubMenu:k,getItemOnClick:function getItemOnClick(a){return function(b){var c,d=b.e;return null===j||void 0===j||null===(c=j(a))||void 0===c?void 0:c(d)}},onItemClick:function onItemClick(a){var b,c=a.e,d=a.item;null===l||void 0===l?void 0:l({e:c,item:d}),null===j||void 0===j||null===(b=j(d))||void 0===b?void 0:b(c)},getItemLeftIcon:h,anchorRef:r,onClickOutside:q.off,getItemAs:getItemAs(g),getItemAttributes:getItemAttributes(g),direction:"downCenter",possibleDirections:["downCenter","upCenter","downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:"xs",size:contextMenuSizeMap[c]}))}export var BreadcrumbsMore=forwardRef(BreadcrumbsMoreRender);
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","items","className","style","getItemHref","getItemIcon","getItemLabel","getItemOnClick","getItemSubMenu","onItemClick"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./BreadcrumbsMore.css";import React,{forwardRef,useEffect,useRef}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cn}from"../../../utils/bem";import{getByMap}from"../../../utils/getByMap";import{Button}from"../../Button/Button";import{ContextMenu}from"../../ContextMenu/ContextMenu";import{BreadcrumbsItem}from"../BreadcrumbsItem/BreadcrumbsItem";import{iconSizeMap}from"../helpers";var cnBreadcrumbsMore=cn("BreadcrumbsMore");export function getLeftSideBar(a,b){return function(c){var d=null===b||void 0===b?void 0:b(c);return d?React.createElement(d,{size:a}):void 0}}export function getItemAs(a){return function(b){var c=null===a||void 0===a?void 0:a(b);return c?"a":"span"}}export function getItemAttributes(a){return function(b){return a&&{href:a(b)}}}export var contextMenuSizeMap={xs:"s",s:"s",m:"m",l:"l"};function BreadcrumbsMoreRender(a,b){var c=a.size,d=a.items,e=a.className,f=a.style,g=a.getItemHref,h=a.getItemIcon,i=a.getItemLabel,j=a.getItemOnClick,k=a.getItemSubMenu,l=a.onItemClick,m=_objectWithoutProperties(a,_excluded),n=useFlag(),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useRef(null),s=getByMap(iconSizeMap,c);useEffect(q.off,[d]);return React.createElement(BreadcrumbsItem,Object.assign({},m,{className:cnBreadcrumbsMore(null,[e]),delimiter:!0,size:c,ref:b,style:_objectSpread(_objectSpread({},f),{},_defineProperty({},"--breadcrumbs-more-font-size","var(--size-text-".concat(c,")")))}),React.createElement(Button,{className:cnBreadcrumbsMore("Button"),view:"clear",type:"button",label:"...",size:s,ref:r,onClick:q.toggle}),React.createElement(ContextMenu,{items:d,isOpen:p,getItemLabel:i,getItemSubMenu:k,getItemOnClick:function getItemOnClick(a){return function(b){var c,d=b.e;return null===j||void 0===j||null===(c=j(a))||void 0===c?void 0:c(d)}},onItemClick:function onItemClick(a){var b,c=a.e,d=a.item;null===l||void 0===l?void 0:l({e:c,item:d}),null===j||void 0===j||null===(b=j(d))||void 0===b?void 0:b(c)},getItemLeftIcon:h,anchorRef:r,onClickOutside:q.off,getItemAs:getItemAs(g),getItemAttributes:getItemAttributes(g),direction:"downCenter",possibleDirections:["downCenter","upCenter","downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:"xs",size:contextMenuSizeMap[c]}))}export var BreadcrumbsMore=forwardRef(BreadcrumbsMoreRender);
2
2
  //# sourceMappingURL=BreadcrumbsMore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsMore.js","names":["React","forwardRef","useEffect","useRef","useFlag","cn","getByMap","Button","ContextMenu","BreadcrumbsItem","iconSizeMap","cnBreadcrumbsMore","getLeftSideBar","iconSize","getItemIcon","item","Icon","getItemAs","getItemHref","href","getItemAttributes","contextMenuSizeMap","xs","s","m","l","BreadcrumbsMoreRender","props","ref","size","items","className","style","getItemLabel","getItemOnClickProp","getItemOnClick","getItemSubMenu","onItemClickProp","onItemClick","otherProps","open","setOpen","buttonRef","off","toggle","element","e","BreadcrumbsMore"],"sources":["../../../../../../src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.tsx"],"sourcesContent":["import './BreadcrumbsMore.css';\n\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { cn } from '../../../utils/bem';\nimport { getByMap } from '../../../utils/getByMap';\nimport { Button } from '../../Button/Button';\nimport { ContextMenu } from '../../ContextMenu/ContextMenu';\nimport { BreadcrumbsItem } from '../BreadcrumbsItem/BreadcrumbsItem';\nimport { iconSizeMap } from '../helpers';\nimport {\n BreadcrumbsMoreComponent,\n BreadcrumbsMoreProps,\n BreadcrumbsPropGetItemHref,\n BreadcrumbsPropGetItemIcon,\n} from '../types';\n\nconst cnBreadcrumbsMore = cn('BreadcrumbsMore');\n\nexport function getLeftSideBar<ITEM>(\n iconSize: 'xs' | 'm',\n getItemIcon?: BreadcrumbsPropGetItemIcon<ITEM>,\n) {\n return function (item: ITEM) {\n const Icon = getItemIcon?.(item);\n if (Icon) {\n return <Icon size={iconSize} />;\n }\n return undefined;\n };\n}\n\nexport function getItemAs<ITEM>(\n getItemHref?: BreadcrumbsPropGetItemHref<ITEM>,\n) {\n return (item: ITEM) => {\n const href = getItemHref?.(item);\n return href ? 'a' : 'span';\n };\n}\n\nexport function getItemAttributes<ITEM>(\n getItemHref?: BreadcrumbsPropGetItemHref<ITEM>,\n) {\n return (item: ITEM) => {\n return getItemHref && { href: getItemHref(item) };\n };\n}\n\nexport const contextMenuSizeMap = {\n xs: 's',\n s: 's',\n m: 'm',\n l: 'l',\n} as const;\n\nfunction BreadcrumbsMoreRender<ITEM>(\n props: BreadcrumbsMoreProps<ITEM>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n size,\n items,\n className,\n style,\n getItemHref,\n getItemIcon,\n getItemLabel,\n getItemOnClick: getItemOnClickProp,\n getItemSubMenu,\n onItemClick: onItemClickProp,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useFlag();\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const iconSize = getByMap(iconSizeMap, size);\n\n useEffect(setOpen.off, [items]);\n\n const onItemClick = ({\n e,\n item,\n }: {\n e: React.MouseEvent<HTMLDivElement>;\n item: ITEM;\n }) => {\n onItemClickProp?.({ e, item });\n getItemOnClickProp?.(item)?.(e);\n };\n\n const getItemOnClick =\n (element: ITEM) =>\n ({ e }: { e: React.MouseEvent<HTMLDivElement> }) => {\n return getItemOnClickProp?.(element)?.(e);\n };\n\n return (\n <BreadcrumbsItem\n {...otherProps}\n className={cnBreadcrumbsMore(null, [className])}\n delimiter\n size={size}\n ref={ref}\n style={{\n ...style,\n ['--breadcrumbs-more-font-size' as string]: `var(--size-text-${size})`,\n }}\n >\n <Button\n className={cnBreadcrumbsMore('Button')}\n view=\"clear\"\n label=\"...\"\n size={iconSize}\n ref={buttonRef}\n onClick={setOpen.toggle}\n />\n <ContextMenu\n items={items}\n isOpen={open}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n getItemOnClick={getItemOnClick}\n onItemClick={onItemClick}\n getItemLeftIcon={getItemIcon}\n anchorRef={buttonRef}\n onClickOutside={setOpen.off}\n getItemAs={getItemAs(getItemHref)}\n getItemAttributes={getItemAttributes(getItemHref)}\n direction=\"downCenter\"\n possibleDirections={[\n 'downCenter',\n 'upCenter',\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset=\"xs\"\n size={contextMenuSizeMap[size]}\n />\n </BreadcrumbsItem>\n );\n}\n\nexport const BreadcrumbsMore = forwardRef(\n BreadcrumbsMoreRender,\n) as BreadcrumbsMoreComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbsMore.js","names":["React","forwardRef","useEffect","useRef","useFlag","cn","getByMap","Button","ContextMenu","BreadcrumbsItem","iconSizeMap","cnBreadcrumbsMore","getLeftSideBar","iconSize","getItemIcon","item","Icon","getItemAs","getItemHref","href","getItemAttributes","contextMenuSizeMap","xs","s","m","l","BreadcrumbsMoreRender","props","ref","size","items","className","style","getItemLabel","getItemOnClickProp","getItemOnClick","getItemSubMenu","onItemClickProp","onItemClick","otherProps","open","setOpen","buttonRef","off","toggle","element","e","BreadcrumbsMore"],"sources":["../../../../../../src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.tsx"],"sourcesContent":["import './BreadcrumbsMore.css';\n\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { cn } from '../../../utils/bem';\nimport { getByMap } from '../../../utils/getByMap';\nimport { Button } from '../../Button/Button';\nimport { ContextMenu } from '../../ContextMenu/ContextMenu';\nimport { BreadcrumbsItem } from '../BreadcrumbsItem/BreadcrumbsItem';\nimport { iconSizeMap } from '../helpers';\nimport {\n BreadcrumbsMoreComponent,\n BreadcrumbsMoreProps,\n BreadcrumbsPropGetItemHref,\n BreadcrumbsPropGetItemIcon,\n} from '../types';\n\nconst cnBreadcrumbsMore = cn('BreadcrumbsMore');\n\nexport function getLeftSideBar<ITEM>(\n iconSize: 'xs' | 'm',\n getItemIcon?: BreadcrumbsPropGetItemIcon<ITEM>,\n) {\n return function (item: ITEM) {\n const Icon = getItemIcon?.(item);\n if (Icon) {\n return <Icon size={iconSize} />;\n }\n return undefined;\n };\n}\n\nexport function getItemAs<ITEM>(\n getItemHref?: BreadcrumbsPropGetItemHref<ITEM>,\n) {\n return (item: ITEM) => {\n const href = getItemHref?.(item);\n return href ? 'a' : 'span';\n };\n}\n\nexport function getItemAttributes<ITEM>(\n getItemHref?: BreadcrumbsPropGetItemHref<ITEM>,\n) {\n return (item: ITEM) => {\n return getItemHref && { href: getItemHref(item) };\n };\n}\n\nexport const contextMenuSizeMap = {\n xs: 's',\n s: 's',\n m: 'm',\n l: 'l',\n} as const;\n\nfunction BreadcrumbsMoreRender<ITEM>(\n props: BreadcrumbsMoreProps<ITEM>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n size,\n items,\n className,\n style,\n getItemHref,\n getItemIcon,\n getItemLabel,\n getItemOnClick: getItemOnClickProp,\n getItemSubMenu,\n onItemClick: onItemClickProp,\n ...otherProps\n } = props;\n\n const [open, setOpen] = useFlag();\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const iconSize = getByMap(iconSizeMap, size);\n\n useEffect(setOpen.off, [items]);\n\n const onItemClick = ({\n e,\n item,\n }: {\n e: React.MouseEvent<HTMLDivElement>;\n item: ITEM;\n }) => {\n onItemClickProp?.({ e, item });\n getItemOnClickProp?.(item)?.(e);\n };\n\n const getItemOnClick =\n (element: ITEM) =>\n ({ e }: { e: React.MouseEvent<HTMLDivElement> }) => {\n return getItemOnClickProp?.(element)?.(e);\n };\n\n return (\n <BreadcrumbsItem\n {...otherProps}\n className={cnBreadcrumbsMore(null, [className])}\n delimiter\n size={size}\n ref={ref}\n style={{\n ...style,\n ['--breadcrumbs-more-font-size' as string]: `var(--size-text-${size})`,\n }}\n >\n <Button\n className={cnBreadcrumbsMore('Button')}\n view=\"clear\"\n type=\"button\"\n label=\"...\"\n size={iconSize}\n ref={buttonRef}\n onClick={setOpen.toggle}\n />\n <ContextMenu\n items={items}\n isOpen={open}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n getItemOnClick={getItemOnClick}\n onItemClick={onItemClick}\n getItemLeftIcon={getItemIcon}\n anchorRef={buttonRef}\n onClickOutside={setOpen.off}\n getItemAs={getItemAs(getItemHref)}\n getItemAttributes={getItemAttributes(getItemHref)}\n direction=\"downCenter\"\n possibleDirections={[\n 'downCenter',\n 'upCenter',\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset=\"xs\"\n size={contextMenuSizeMap[size]}\n />\n </BreadcrumbsItem>\n );\n}\n\nexport const BreadcrumbsMore = forwardRef(\n BreadcrumbsMoreRender,\n) as BreadcrumbsMoreComponent;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["pages","getLabel","getIsActive","getLink","getIcon","size","maxCount","onClick","onlyIconRoot","className"];import"./Breadcrumbs.css";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{useMemo}from"react";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{Button}from"../Button/Button";export var breadcrumbPropSize=["m","xs","s","l"];export var breadcrumbPropSizeDefault=breadcrumbPropSize[0];export var cnBreadcrumbs=cn("Breadcrumbs");var sizeMap={xs:"xs",s:"xs",m:"xs",l:"m"};export var Breadcrumbs=React.forwardRef(function(a,b){var c=a.pages,d=a.getLabel,e=a.getIsActive,f=a.getLink,g=a.getIcon,h=a.size,i=void 0===h?breadcrumbPropSizeDefault:h,j=a.maxCount,k=void 0===j?0:j,l=a.onClick,m=a.onlyIconRoot,n=void 0!==m&&m,o=a.className,p=_objectWithoutProperties(a,_excluded),q=getByMap(sizeMap,i),r=useMemo(function(){var a=c.slice(),b=a.splice(0,1),d=a.splice(2-k);return{head:b,tail:d,rest:a}},[c,k]),s=r.head,t=r.tail,u=r.rest,v=useMemo(function(){return React.createElement(IconArrowRight,{size:q,className:cnBreadcrumbs("Delimiter",{size:q})})},[q]),w=function(a){var b=!!(1<arguments.length&&arguments[1]!==void 0)&&arguments[1];return a.map(function(a){var c=null===g||void 0===g?void 0:g(a),h=d(a),i=f(a),j=null===e||void 0===e?void 0:e(a);return React.createElement("li",{key:"".concat(h,":").concat(i),className:cnBreadcrumbs("Item")},!b&&v,React.createElement("a",{className:cnBreadcrumbs("Link",{active:j}),onClick:function onClick(b){return null===l||void 0===l?void 0:l(a,b)},href:i},c&&(n&&b?React.createElement(Button,{view:"clear",onlyIcon:!0,iconLeft:c,size:q}):React.createElement(c,{className:cnBreadcrumbs("Icon"),size:q})),(!b||!n)&&React.createElement("span",{className:cnBreadcrumbs("Label")},h)))})};return React.createElement("ul",Object.assign({className:cnBreadcrumbs({size:i},[o]),ref:b},p),w(s,!0),k&&1<u.length?React.createElement("li",{className:cnBreadcrumbs("Item")},v,React.createElement("span",{className:cnBreadcrumbs("More")},"...")):w(u),w(t))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["pages","getLabel","getIsActive","getLink","getIcon","size","maxCount","onClick","onlyIconRoot","className"];import"./Breadcrumbs.css";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{useMemo}from"react";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{Button}from"../Button/Button";export var breadcrumbPropSize=["m","xs","s","l"];export var breadcrumbPropSizeDefault=breadcrumbPropSize[0];export var cnBreadcrumbs=cn("Breadcrumbs");var sizeMap={xs:"xs",s:"xs",m:"xs",l:"m"};export var Breadcrumbs=React.forwardRef(function(a,b){var c=a.pages,d=a.getLabel,e=a.getIsActive,f=a.getLink,g=a.getIcon,h=a.size,i=void 0===h?breadcrumbPropSizeDefault:h,j=a.maxCount,k=void 0===j?0:j,l=a.onClick,m=a.onlyIconRoot,n=void 0!==m&&m,o=a.className,p=_objectWithoutProperties(a,_excluded),q=getByMap(sizeMap,i),r=useMemo(function(){var a=c.slice(),b=a.splice(0,1),d=a.splice(2-k);return{head:b,tail:d,rest:a}},[c,k]),s=r.head,t=r.tail,u=r.rest,v=useMemo(function(){return React.createElement(IconArrowRight,{size:q,className:cnBreadcrumbs("Delimiter",{size:q})})},[q]),w=function(a){var b=!!(1<arguments.length&&arguments[1]!==void 0)&&arguments[1];return a.map(function(a){var c=null===g||void 0===g?void 0:g(a),h=d(a),i=f(a),j=null===e||void 0===e?void 0:e(a);return React.createElement("li",{key:"".concat(h,":").concat(i),className:cnBreadcrumbs("Item")},!b&&v,React.createElement("a",{className:cnBreadcrumbs("Link",{active:j}),onClick:function onClick(b){return null===l||void 0===l?void 0:l(a,b)},href:i},c&&(n&&b?React.createElement(Button,{type:"button",view:"clear",onlyIcon:!0,iconLeft:c,size:q}):React.createElement(c,{className:cnBreadcrumbs("Icon"),size:q})),(!b||!n)&&React.createElement("span",{className:cnBreadcrumbs("Label")},h)))})};return React.createElement("ul",Object.assign({className:cnBreadcrumbs({size:i},[o]),ref:b},p),w(s,!0),k&&1<u.length?React.createElement("li",{className:cnBreadcrumbs("Item")},v,React.createElement("span",{className:cnBreadcrumbs("More")},"...")):w(u),w(t))});
2
2
  //# sourceMappingURL=BreadcrumbsDeprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbsDeprecated.js","names":["IconArrowRight","React","useMemo","cn","getByMap","Button","breadcrumbPropSize","breadcrumbPropSizeDefault","cnBreadcrumbs","sizeMap","xs","s","m","l","Breadcrumbs","forwardRef","props","ref","pages","getLabel","getIsActive","getLink","getIcon","size","maxCount","onClick","onlyIconRoot","className","restProps","iconSize","rest","slice","head","splice","tail","delimiter","renderPages","isFirst","map","page","Icon","label","link","isActive","active","e","length"],"sources":["../../../../../src/components/BreadcrumbsDeprecated/BreadcrumbsDeprecated.tsx"],"sourcesContent":["import './Breadcrumbs.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { useMemo } from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../Button/Button';\n\nexport const breadcrumbPropSize = ['m', 'xs', 's', 'l'] as const;\nexport type BreadcrumbPropSize = typeof breadcrumbPropSize[number];\nexport const breadcrumbPropSizeDefault: BreadcrumbPropSize =\n breadcrumbPropSize[0];\n\nexport const cnBreadcrumbs = cn('Breadcrumbs');\n\nconst sizeMap: Record<BreadcrumbPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 'xs',\n l: 'm',\n};\n\nexport type BreadcrumbsPropGetLabel<ITEM> = (\n item: ITEM,\n) => string | React.ReactNode;\nexport type BreadcrumbsPropGetIsActive<ITEM> = (item: ITEM) => boolean;\nexport type BreadcrumbsPropGetLink<ITEM> = (item: ITEM) => string;\nexport type BreadcrumbsPropGetIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type BreadcrumbsProps<ITEM> = {\n pages: ITEM[];\n getLabel: BreadcrumbsPropGetLabel<ITEM>;\n getIsActive?: BreadcrumbsPropGetIsActive<ITEM>;\n getLink: BreadcrumbsPropGetLink<ITEM>;\n getIcon?: BreadcrumbsPropGetIcon<ITEM>;\n size?: BreadcrumbPropSize;\n maxCount?: number;\n onClick?: (page: ITEM, e: React.MouseEvent) => void;\n onlyIconRoot?: boolean;\n className?: string;\n};\n\ntype Breadcrumbs = <ITEM>(\n props: PropsWithHTMLAttributesAndRef<\n BreadcrumbsProps<ITEM>,\n HTMLUListElement\n >,\n) => React.ReactElement | null;\n\nexport const Breadcrumbs: Breadcrumbs = React.forwardRef((props, ref) => {\n const {\n pages,\n getLabel,\n getIsActive,\n getLink,\n getIcon,\n size = breadcrumbPropSizeDefault,\n maxCount = 0,\n onClick,\n onlyIconRoot = false,\n className,\n ...restProps\n } = props;\n\n const iconSize = getByMap(sizeMap, size);\n\n const { head, tail, rest } = useMemo(() => {\n const rest = pages.slice();\n const head = rest.splice(0, 1);\n const tail = rest.splice(2 - maxCount);\n\n return {\n head,\n tail,\n rest,\n };\n }, [pages, maxCount]);\n\n const delimiter = useMemo(\n () => (\n <IconArrowRight\n size={iconSize}\n className={cnBreadcrumbs('Delimiter', {\n size: iconSize,\n })}\n />\n ),\n [iconSize],\n );\n\n const renderPages = (pages: any, isFirst = false) =>\n pages.map((page: any) => {\n const Icon = getIcon?.(page);\n const label = getLabel(page);\n const link = getLink(page);\n const isActive = getIsActive?.(page);\n\n return (\n <li key={`${label}:${link}`} className={cnBreadcrumbs('Item')}>\n {!isFirst && delimiter}\n <a\n className={cnBreadcrumbs('Link', { active: isActive })}\n onClick={(e) => onClick?.(page, e)}\n href={link}\n >\n {Icon &&\n (onlyIconRoot && isFirst ? (\n <Button view=\"clear\" onlyIcon iconLeft={Icon} size={iconSize} />\n ) : (\n <Icon className={cnBreadcrumbs('Icon')} size={iconSize} />\n ))}\n {(!isFirst || !onlyIconRoot) && (\n <span className={cnBreadcrumbs('Label')}>{label}</span>\n )}\n </a>\n </li>\n );\n });\n\n return (\n <ul\n className={cnBreadcrumbs({ size }, [className])}\n ref={ref}\n {...restProps}\n >\n {renderPages(head, true)}\n {maxCount && rest.length > 1 ? (\n <li className={cnBreadcrumbs('Item')}>\n {delimiter}\n <span className={cnBreadcrumbs('More')}>...</span>\n </li>\n ) : (\n renderPages(rest)\n )}\n {renderPages(tail)}\n </ul>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbsDeprecated.js","names":["IconArrowRight","React","useMemo","cn","getByMap","Button","breadcrumbPropSize","breadcrumbPropSizeDefault","cnBreadcrumbs","sizeMap","xs","s","m","l","Breadcrumbs","forwardRef","props","ref","pages","getLabel","getIsActive","getLink","getIcon","size","maxCount","onClick","onlyIconRoot","className","restProps","iconSize","rest","slice","head","splice","tail","delimiter","renderPages","isFirst","map","page","Icon","label","link","isActive","active","e","length"],"sources":["../../../../../src/components/BreadcrumbsDeprecated/BreadcrumbsDeprecated.tsx"],"sourcesContent":["import './Breadcrumbs.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { useMemo } from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../Button/Button';\n\nexport const breadcrumbPropSize = ['m', 'xs', 's', 'l'] as const;\nexport type BreadcrumbPropSize = typeof breadcrumbPropSize[number];\nexport const breadcrumbPropSizeDefault: BreadcrumbPropSize =\n breadcrumbPropSize[0];\n\nexport const cnBreadcrumbs = cn('Breadcrumbs');\n\nconst sizeMap: Record<BreadcrumbPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 'xs',\n l: 'm',\n};\n\nexport type BreadcrumbsPropGetLabel<ITEM> = (\n item: ITEM,\n) => string | React.ReactNode;\nexport type BreadcrumbsPropGetIsActive<ITEM> = (item: ITEM) => boolean;\nexport type BreadcrumbsPropGetLink<ITEM> = (item: ITEM) => string;\nexport type BreadcrumbsPropGetIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type BreadcrumbsProps<ITEM> = {\n pages: ITEM[];\n getLabel: BreadcrumbsPropGetLabel<ITEM>;\n getIsActive?: BreadcrumbsPropGetIsActive<ITEM>;\n getLink: BreadcrumbsPropGetLink<ITEM>;\n getIcon?: BreadcrumbsPropGetIcon<ITEM>;\n size?: BreadcrumbPropSize;\n maxCount?: number;\n onClick?: (page: ITEM, e: React.MouseEvent) => void;\n onlyIconRoot?: boolean;\n className?: string;\n};\n\ntype Breadcrumbs = <ITEM>(\n props: PropsWithHTMLAttributesAndRef<\n BreadcrumbsProps<ITEM>,\n HTMLUListElement\n >,\n) => React.ReactElement | null;\n\nexport const Breadcrumbs: Breadcrumbs = React.forwardRef((props, ref) => {\n const {\n pages,\n getLabel,\n getIsActive,\n getLink,\n getIcon,\n size = breadcrumbPropSizeDefault,\n maxCount = 0,\n onClick,\n onlyIconRoot = false,\n className,\n ...restProps\n } = props;\n\n const iconSize = getByMap(sizeMap, size);\n\n const { head, tail, rest } = useMemo(() => {\n const rest = pages.slice();\n const head = rest.splice(0, 1);\n const tail = rest.splice(2 - maxCount);\n\n return {\n head,\n tail,\n rest,\n };\n }, [pages, maxCount]);\n\n const delimiter = useMemo(\n () => (\n <IconArrowRight\n size={iconSize}\n className={cnBreadcrumbs('Delimiter', {\n size: iconSize,\n })}\n />\n ),\n [iconSize],\n );\n\n const renderPages = (pages: any, isFirst = false) =>\n pages.map((page: any) => {\n const Icon = getIcon?.(page);\n const label = getLabel(page);\n const link = getLink(page);\n const isActive = getIsActive?.(page);\n\n return (\n <li key={`${label}:${link}`} className={cnBreadcrumbs('Item')}>\n {!isFirst && delimiter}\n <a\n className={cnBreadcrumbs('Link', { active: isActive })}\n onClick={(e) => onClick?.(page, e)}\n href={link}\n >\n {Icon &&\n (onlyIconRoot && isFirst ? (\n <Button\n type=\"button\"\n view=\"clear\"\n onlyIcon\n iconLeft={Icon}\n size={iconSize}\n />\n ) : (\n <Icon className={cnBreadcrumbs('Icon')} size={iconSize} />\n ))}\n {(!isFirst || !onlyIconRoot) && (\n <span className={cnBreadcrumbs('Label')}>{label}</span>\n )}\n </a>\n </li>\n );\n });\n\n return (\n <ul\n className={cnBreadcrumbs({ size }, [className])}\n ref={ref}\n {...restProps}\n >\n {renderPages(head, true)}\n {maxCount && rest.length > 1 ? (\n <li className={cnBreadcrumbs('Item')}>\n {delimiter}\n <span className={cnBreadcrumbs('More')}>...</span>\n </li>\n ) : (\n renderPages(rest)\n )}\n {renderPages(tail)}\n </ul>\n );\n});\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","className","prevOnClick","nextOnClick"];import"./CalendarMonthToggler.css";import{IconForward}from"@consta/icons/IconForward";import React from"react";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{CalendarMonthLabel}from"../CalendarMonthLabel/CalendarMonthLabel";export var cnCalendarMonthToggler=cn("CalendarMonthToggler");export var CalendarMonthToggler=function(a){var b=a.label,c=a.className,d=a.prevOnClick,e=a.nextOnClick,f=_objectWithoutProperties(a,_excluded);return React.createElement("div",Object.assign({},f,{className:cnCalendarMonthToggler({withPrevButton:!!d,withNextButton:!!e},[c])}),d&&React.createElement(Button,{className:cnCalendarMonthToggler("Button",{direction:"prev"}),onClick:d,iconLeft:IconForward,size:"s",view:"clear",iconSize:"s"}),React.createElement(CalendarMonthLabel,{className:cnCalendarMonthToggler("Label"),label:b}),e&&React.createElement(Button,{className:cnCalendarMonthToggler("Button",{direction:"next"}),onClick:e,iconLeft:IconForward,size:"s",view:"clear",iconSize:"s"}))};
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","className","prevOnClick","nextOnClick"];import"./CalendarMonthToggler.css";import{IconForward}from"@consta/icons/IconForward";import React from"react";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{CalendarMonthLabel}from"../CalendarMonthLabel/CalendarMonthLabel";export var cnCalendarMonthToggler=cn("CalendarMonthToggler");export var CalendarMonthToggler=function(a){var b=a.label,c=a.className,d=a.prevOnClick,e=a.nextOnClick,f=_objectWithoutProperties(a,_excluded);return React.createElement("div",Object.assign({},f,{className:cnCalendarMonthToggler({withPrevButton:!!d,withNextButton:!!e},[c])}),d&&React.createElement(Button,{className:cnCalendarMonthToggler("Button",{direction:"prev"}),onClick:d,iconLeft:IconForward,size:"s",type:"button",view:"clear",iconSize:"s"}),React.createElement(CalendarMonthLabel,{className:cnCalendarMonthToggler("Label"),label:b}),e&&React.createElement(Button,{className:cnCalendarMonthToggler("Button",{direction:"next"}),onClick:e,iconLeft:IconForward,size:"s",type:"button",view:"clear",iconSize:"s"}))};
2
2
  //# sourceMappingURL=CalendarMonthToggler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarMonthToggler.js","names":["IconForward","React","cn","Button","CalendarMonthLabel","cnCalendarMonthToggler","CalendarMonthToggler","props","label","className","prevOnClick","nextOnClick","otherProps","withPrevButton","withNextButton","direction"],"sources":["../../../../../../src/components/CalendarDeprecated/CalendarMonthToggler/CalendarMonthToggler.tsx"],"sourcesContent":["import './CalendarMonthToggler.css';\n\nimport { IconForward } from '@consta/icons/IconForward';\nimport React from 'react';\n\nimport { cn } from '../../../utils/bem';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Button } from '../../Button/Button';\nimport { CalendarMonthLabel } from '../CalendarMonthLabel/CalendarMonthLabel';\n\nexport type CalendarMonthTogglerProps = PropsWithJsxAttributes<\n {\n prevOnClick?: React.EventHandler<React.MouseEvent<HTMLDivElement>>;\n nextOnClick?: React.EventHandler<React.MouseEvent<HTMLDivElement>>;\n label: string;\n children?: never;\n },\n 'div'\n>;\n\nexport const cnCalendarMonthToggler = cn('CalendarMonthToggler');\n\nexport const CalendarMonthToggler: React.FC<CalendarMonthTogglerProps> = (\n props,\n) => {\n const { label, className, prevOnClick, nextOnClick, ...otherProps } = props;\n\n return (\n <div\n {...otherProps}\n className={cnCalendarMonthToggler(\n {\n withPrevButton: Boolean(prevOnClick),\n withNextButton: Boolean(nextOnClick),\n },\n [className],\n )}\n >\n {prevOnClick && (\n <Button\n className={cnCalendarMonthToggler('Button', { direction: 'prev' })}\n onClick={prevOnClick}\n iconLeft={IconForward}\n size=\"s\"\n view=\"clear\"\n iconSize=\"s\"\n />\n )}\n <CalendarMonthLabel\n className={cnCalendarMonthToggler('Label')}\n label={label}\n />\n {nextOnClick && (\n <Button\n className={cnCalendarMonthToggler('Button', { direction: 'next' })}\n onClick={nextOnClick}\n iconLeft={IconForward}\n size=\"s\"\n view=\"clear\"\n iconSize=\"s\"\n />\n )}\n </div>\n );\n};\n"],"mappings":"qJAAA,mCAEA,OAASA,WAAT,KAA4B,2BAA5B,CACA,MAAOC,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BAEA,OAASC,MAAT,2BACA,OAASC,kBAAT,gDAYA,MAAO,IAAMC,uBAAsB,CAAGH,EAAE,CAAC,sBAAD,CAAjC,CAEP,MAAO,IAAMI,qBAAyD,CAAG,SACvEC,CADuE,CAEpE,CACH,GAAQC,EAAR,CAAsED,CAAtE,CAAQC,KAAR,CAAeC,CAAf,CAAsEF,CAAtE,CAAeE,SAAf,CAA0BC,CAA1B,CAAsEH,CAAtE,CAA0BG,WAA1B,CAAuCC,CAAvC,CAAsEJ,CAAtE,CAAuCI,WAAvC,CAAuDC,CAAvD,0BAAsEL,CAAtE,YAEA,MACE,4CACMK,CADN,EAEE,SAAS,CAAEP,sBAAsB,CAC/B,CACEQ,cAAc,GAAUH,CAD1B,CAEEI,cAAc,GAAUH,CAF1B,CAD+B,CAK/B,CAACF,CAAD,CAL+B,CAFnC,GAUGC,CAAW,EACV,oBAAC,MAAD,EACE,SAAS,CAAEL,sBAAsB,CAAC,QAAD,CAAW,CAAEU,SAAS,CAAE,MAAb,CAAX,CADnC,CAEE,OAAO,CAAEL,CAFX,CAGE,QAAQ,CAAEV,WAHZ,CAIE,IAAI,CAAC,GAJP,CAKE,IAAI,CAAC,OALP,CAME,QAAQ,CAAC,GANX,EAXJ,CAoBE,oBAAC,kBAAD,EACE,SAAS,CAAEK,sBAAsB,CAAC,OAAD,CADnC,CAEE,KAAK,CAAEG,CAFT,EApBF,CAwBGG,CAAW,EACV,oBAAC,MAAD,EACE,SAAS,CAAEN,sBAAsB,CAAC,QAAD,CAAW,CAAEU,SAAS,CAAE,MAAb,CAAX,CADnC,CAEE,OAAO,CAAEJ,CAFX,CAGE,QAAQ,CAAEX,WAHZ,CAIE,IAAI,CAAC,GAJP,CAKE,IAAI,CAAC,OALP,CAME,QAAQ,CAAC,GANX,EAzBJ,CAoCH,CA1CM"}
1
+ {"version":3,"file":"CalendarMonthToggler.js","names":["IconForward","React","cn","Button","CalendarMonthLabel","cnCalendarMonthToggler","CalendarMonthToggler","props","label","className","prevOnClick","nextOnClick","otherProps","withPrevButton","withNextButton","direction"],"sources":["../../../../../../src/components/CalendarDeprecated/CalendarMonthToggler/CalendarMonthToggler.tsx"],"sourcesContent":["import './CalendarMonthToggler.css';\n\nimport { IconForward } from '@consta/icons/IconForward';\nimport React from 'react';\n\nimport { cn } from '../../../utils/bem';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Button } from '../../Button/Button';\nimport { CalendarMonthLabel } from '../CalendarMonthLabel/CalendarMonthLabel';\n\nexport type CalendarMonthTogglerProps = PropsWithJsxAttributes<\n {\n prevOnClick?: React.EventHandler<React.MouseEvent<HTMLDivElement>>;\n nextOnClick?: React.EventHandler<React.MouseEvent<HTMLDivElement>>;\n label: string;\n children?: never;\n },\n 'div'\n>;\n\nexport const cnCalendarMonthToggler = cn('CalendarMonthToggler');\n\nexport const CalendarMonthToggler: React.FC<CalendarMonthTogglerProps> = (\n props,\n) => {\n const { label, className, prevOnClick, nextOnClick, ...otherProps } = props;\n\n return (\n <div\n {...otherProps}\n className={cnCalendarMonthToggler(\n {\n withPrevButton: Boolean(prevOnClick),\n withNextButton: Boolean(nextOnClick),\n },\n [className],\n )}\n >\n {prevOnClick && (\n <Button\n className={cnCalendarMonthToggler('Button', { direction: 'prev' })}\n onClick={prevOnClick}\n iconLeft={IconForward}\n size=\"s\"\n type=\"button\"\n view=\"clear\"\n iconSize=\"s\"\n />\n )}\n <CalendarMonthLabel\n className={cnCalendarMonthToggler('Label')}\n label={label}\n />\n {nextOnClick && (\n <Button\n className={cnCalendarMonthToggler('Button', { direction: 'next' })}\n onClick={nextOnClick}\n iconLeft={IconForward}\n size=\"s\"\n type=\"button\"\n view=\"clear\"\n iconSize=\"s\"\n />\n )}\n </div>\n );\n};\n"],"mappings":"qJAAA,mCAEA,OAASA,WAAT,KAA4B,2BAA5B,CACA,MAAOC,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BAEA,OAASC,MAAT,2BACA,OAASC,kBAAT,gDAYA,MAAO,IAAMC,uBAAsB,CAAGH,EAAE,CAAC,sBAAD,CAAjC,CAEP,MAAO,IAAMI,qBAAyD,CAAG,SACvEC,CADuE,CAEpE,CACH,GAAQC,EAAR,CAAsED,CAAtE,CAAQC,KAAR,CAAeC,CAAf,CAAsEF,CAAtE,CAAeE,SAAf,CAA0BC,CAA1B,CAAsEH,CAAtE,CAA0BG,WAA1B,CAAuCC,CAAvC,CAAsEJ,CAAtE,CAAuCI,WAAvC,CAAuDC,CAAvD,0BAAsEL,CAAtE,YAEA,MACE,4CACMK,CADN,EAEE,SAAS,CAAEP,sBAAsB,CAC/B,CACEQ,cAAc,GAAUH,CAD1B,CAEEI,cAAc,GAAUH,CAF1B,CAD+B,CAK/B,CAACF,CAAD,CAL+B,CAFnC,GAUGC,CAAW,EACV,oBAAC,MAAD,EACE,SAAS,CAAEL,sBAAsB,CAAC,QAAD,CAAW,CAAEU,SAAS,CAAE,MAAb,CAAX,CADnC,CAEE,OAAO,CAAEL,CAFX,CAGE,QAAQ,CAAEV,WAHZ,CAIE,IAAI,CAAC,GAJP,CAKE,IAAI,CAAC,QALP,CAME,IAAI,CAAC,OANP,CAOE,QAAQ,CAAC,GAPX,EAXJ,CAqBE,oBAAC,kBAAD,EACE,SAAS,CAAEK,sBAAsB,CAAC,OAAD,CADnC,CAEE,KAAK,CAAEG,CAFT,EArBF,CAyBGG,CAAW,EACV,oBAAC,MAAD,EACE,SAAS,CAAEN,sBAAsB,CAAC,QAAD,CAAW,CAAEU,SAAS,CAAE,MAAb,CAAX,CADnC,CAEE,OAAO,CAAEJ,CAFX,CAGE,QAAQ,CAAEX,WAHZ,CAIE,IAAI,CAAC,GAJP,CAKE,IAAI,CAAC,QALP,CAME,IAAI,CAAC,OANP,CAOE,QAAQ,CAAC,GAPX,EA1BJ,CAsCH,CA5CM"}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["currentVisibleDate","className","onChange","value","locale"];import"./CalendarSlider.css";import{IconForward}from"@consta/icons/IconForward";import{addMonths,addYears,endOfYear,format,getMonth,getYear,startOfYear}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{useEffect,useRef}from"react";import{range}from"../../../utils/array";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";export var cnCalendarSlider=cn("CalendarSlider");var isCurrentVisibleYear=function(a,b){return getYear(a)===getYear(b)},isCurrentVisibleMonth=function(a,b){return isCurrentVisibleYear(a,b)&&getMonth(a)===getMonth(b)},getValueRange=function(a,b){if(Array.isArray(b)&&b[0]&&b[1]){var c=startOfYear(a).getTime(),d=endOfYear(a).getTime(),e=b[0].getTime(),f=b[1].getTime();if(!(e>d||f<c)){if(e<=c&&f>=d)return[0,100];var g=d-c,h=function(a){return 100*(a/g)},i=Math.floor(h(e<=c?0:e-c)),j=function(a){if(a>g){return j(a-g)}return a},k=Math.ceil(f>=d?100-i:h(j(f-e)));return[i,k]}}},getMonthsData=function(a,b){return range(12).map(function(c){var d=addMonths(a,c);return{date:d,label:format(d,"MMM",{locale:b})}})},getYearDate=function(a){return new Date(getYear(a),0,1,0,0,0,0)},getSliderData=function(a,b,c){var d=getYearDate(a);return[addYears(d,-1),d,addYears(d,1),addYears(d,2)].map(function(a,d){return{label:format(a,"yyyy",{locale:c}),date:a,months:getMonthsData(a,c),positon:"".concat(d),valueRange:getValueRange(a,b)}})};export var CalendarSlider=function(a){var b=a.currentVisibleDate,c=a.className,d=a.onChange,e=a.value,f=a.locale,g=void 0===f?ruLocale:f,h=_objectWithoutProperties(a,_excluded),i=useRef(null),j=useRef(null);useEffect(function(){i.current&&j.current&&j.current.style.setProperty("--selector-offset","".concat(i.current.offsetLeft,"px"))},[b]);var k=getSliderData(b,e,g);return React.createElement("div",Object.assign({},h,{className:cnCalendarSlider(null,[c])}),React.createElement(Button,{className:cnCalendarSlider("Button",{direction:"prev"}),view:"ghost",iconLeft:IconForward,onClick:function handlePrev(){return d(addYears(b,-1))}}),React.createElement("div",{className:cnCalendarSlider("Slider"),ref:j},React.createElement("div",{className:cnCalendarSlider("SliderBody")},React.createElement("div",{className:cnCalendarSlider("Selector")}),k.map(function(a){return React.createElement(Text,{className:cnCalendarSlider("YearLabel",{position:a.positon}),weight:"bold",size:"s",key:a.label,view:isCurrentVisibleYear(b,a.date)?void 0:"ghost"},a.label)}),k.map(function(a){var c;return React.createElement("div",{key:a.label,className:cnCalendarSlider("Year",{position:a.positon,selected:!!a.valueRange}),style:a.valueRange&&(c={},_defineProperty(c,"--value-offset","".concat(a.valueRange[0],"%")),_defineProperty(c,"--value-width","".concat(a.valueRange[1],"%")),c)},a.months.map(function(a,c){return React.createElement("button",{className:cnCalendarSlider("Month"),key:c,onClick:function onClick(){return d(a.date)},onKeyDown:function onKeyDown(){return d(addMonths(a.date,1))},ref:isCurrentVisibleMonth(b,a.date)?i:null,type:"button"},React.createElement(Text,{className:cnCalendarSlider("MonthLabel"),size:"2xs",view:"ghost",align:"center"},a.label))}))}))),React.createElement(Button,{className:cnCalendarSlider("Button",{direction:"next"}),view:"ghost",iconLeft:IconForward,onClick:function handleNext(){return d(addYears(b,1))}}))};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["currentVisibleDate","className","onChange","value","locale"];import"./CalendarSlider.css";import{IconForward}from"@consta/icons/IconForward";import{addMonths,addYears,endOfYear,format,getMonth,getYear,startOfYear}from"date-fns";import ruLocale from"date-fns/locale/ru";import React,{useEffect,useRef}from"react";import{range}from"../../../utils/array";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";export var cnCalendarSlider=cn("CalendarSlider");var isCurrentVisibleYear=function(a,b){return getYear(a)===getYear(b)},isCurrentVisibleMonth=function(a,b){return isCurrentVisibleYear(a,b)&&getMonth(a)===getMonth(b)},getValueRange=function(a,b){if(Array.isArray(b)&&b[0]&&b[1]){var c=startOfYear(a).getTime(),d=endOfYear(a).getTime(),e=b[0].getTime(),f=b[1].getTime();if(!(e>d||f<c)){if(e<=c&&f>=d)return[0,100];var g=d-c,h=function(a){return 100*(a/g)},i=Math.floor(h(e<=c?0:e-c)),j=function(a){if(a>g){return j(a-g)}return a},k=Math.ceil(f>=d?100-i:h(j(f-e)));return[i,k]}}},getMonthsData=function(a,b){return range(12).map(function(c){var d=addMonths(a,c);return{date:d,label:format(d,"MMM",{locale:b})}})},getYearDate=function(a){return new Date(getYear(a),0,1,0,0,0,0)},getSliderData=function(a,b,c){var d=getYearDate(a);return[addYears(d,-1),d,addYears(d,1),addYears(d,2)].map(function(a,d){return{label:format(a,"yyyy",{locale:c}),date:a,months:getMonthsData(a,c),positon:"".concat(d),valueRange:getValueRange(a,b)}})};export var CalendarSlider=function(a){var b=a.currentVisibleDate,c=a.className,d=a.onChange,e=a.value,f=a.locale,g=void 0===f?ruLocale:f,h=_objectWithoutProperties(a,_excluded),i=useRef(null),j=useRef(null);useEffect(function(){i.current&&j.current&&j.current.style.setProperty("--selector-offset","".concat(i.current.offsetLeft,"px"))},[b]);var k=getSliderData(b,e,g);return React.createElement("div",Object.assign({},h,{className:cnCalendarSlider(null,[c])}),React.createElement(Button,{className:cnCalendarSlider("Button",{direction:"prev"}),view:"ghost",type:"button",iconLeft:IconForward,onClick:function handlePrev(){return d(addYears(b,-1))}}),React.createElement("div",{className:cnCalendarSlider("Slider"),ref:j},React.createElement("div",{className:cnCalendarSlider("SliderBody")},React.createElement("div",{className:cnCalendarSlider("Selector")}),k.map(function(a){return React.createElement(Text,{className:cnCalendarSlider("YearLabel",{position:a.positon}),weight:"bold",size:"s",key:a.label,view:isCurrentVisibleYear(b,a.date)?void 0:"ghost"},a.label)}),k.map(function(a){var c;return React.createElement("div",{key:a.label,className:cnCalendarSlider("Year",{position:a.positon,selected:!!a.valueRange}),style:a.valueRange&&(c={},_defineProperty(c,"--value-offset","".concat(a.valueRange[0],"%")),_defineProperty(c,"--value-width","".concat(a.valueRange[1],"%")),c)},a.months.map(function(a,c){return React.createElement("button",{className:cnCalendarSlider("Month"),key:c,onClick:function onClick(){return d(a.date)},onKeyDown:function onKeyDown(){return d(addMonths(a.date,1))},ref:isCurrentVisibleMonth(b,a.date)?i:null,type:"button"},React.createElement(Text,{className:cnCalendarSlider("MonthLabel"),size:"2xs",view:"ghost",align:"center"},a.label))}))}))),React.createElement(Button,{className:cnCalendarSlider("Button",{direction:"next"}),view:"ghost",type:"button",iconLeft:IconForward,onClick:function handleNext(){return d(addYears(b,1))}}))};
2
2
  //# sourceMappingURL=CalendarSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarSlider.js","names":["IconForward","addMonths","addYears","endOfYear","format","getMonth","getYear","startOfYear","ruLocale","React","useEffect","useRef","range","cn","Button","Text","cnCalendarSlider","isCurrentVisibleYear","currentDate","month","isCurrentVisibleMonth","getValueRange","yearDate","value","Array","isArray","yearStartDateTime","getTime","yearEndDateTime","valueStartDateTime","valueEndDateTime","msInYear","inProcent","number","offset","Math","floor","minusYears","n","width","ceil","getMonthsData","date","locale","map","monthDate","label","getYearDate","Date","getSliderData","currentYear","index","months","positon","valueRange","CalendarSlider","props","currentVisibleDate","className","onChange","otherProps","currentMonthRef","sliderRef","current","style","setProperty","offsetLeft","data","direction","handlePrev","year","position","selected","handleNext"],"sources":["../../../../../../src/components/CalendarDeprecated/CalendarSlider/CalendarSlider.tsx"],"sourcesContent":["import './CalendarSlider.css';\n\nimport { IconForward } from '@consta/icons/IconForward';\nimport {\n addMonths,\n addYears,\n endOfYear,\n format,\n getMonth,\n getYear,\n Locale,\n startOfYear,\n} from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { useEffect, useRef } from 'react';\n\nimport { range } from '../../../utils/array';\nimport { cn } from '../../../utils/bem';\nimport { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\n\nexport type CalendarSliderProps = PropsWithHTMLAttributes<\n {\n currentVisibleDate: Date;\n onChange: (date: Date) => void;\n children?: never;\n value?: Date | DateRange;\n locale?: Locale;\n },\n HTMLDivElement\n>;\n\nexport const cnCalendarSlider = cn('CalendarSlider');\n\nconst isCurrentVisibleYear = (currentDate: Date, month: Date) =>\n getYear(currentDate) === getYear(month);\n\nconst isCurrentVisibleMonth = (currentDate: Date, month: Date) =>\n isCurrentVisibleYear(currentDate, month) &&\n getMonth(currentDate) === getMonth(month);\n\nconst getValueRange = (yearDate: Date, value?: Date | DateRange) => {\n if (!Array.isArray(value)) {\n return undefined;\n }\n\n if (!value[0] || !value[1]) {\n return undefined;\n }\n\n const yearStartDateTime = startOfYear(yearDate).getTime();\n const yearEndDateTime = endOfYear(yearDate).getTime();\n const valueStartDateTime = value[0].getTime();\n const valueEndDateTime = value[1].getTime();\n\n if (\n valueStartDateTime > yearEndDateTime ||\n valueEndDateTime < yearStartDateTime\n ) {\n return undefined;\n }\n\n if (\n valueStartDateTime <= yearStartDateTime &&\n valueEndDateTime >= yearEndDateTime\n ) {\n return [0, 100];\n }\n\n const msInYear = yearEndDateTime - yearStartDateTime;\n const inProcent = (number: number) => (number / msInYear) * 100;\n const offset = Math.floor(\n inProcent(\n valueStartDateTime <= yearStartDateTime\n ? 0\n : valueStartDateTime - yearStartDateTime,\n ),\n );\n\n const minusYears = (n: number): number => {\n if (n > msInYear) {\n const newNumber = n - msInYear;\n return minusYears(newNumber);\n }\n\n return n;\n };\n\n const width = Math.ceil(\n valueEndDateTime >= yearEndDateTime\n ? 100 - offset\n : inProcent(minusYears(valueEndDateTime - valueStartDateTime)),\n );\n\n return [offset, width];\n};\n\nconst getMonthsData = (date: Date, locale: Locale) =>\n range(12).map((month) => {\n const monthDate = addMonths(date, month);\n return {\n date: monthDate,\n label: format(monthDate, 'MMM', { locale }),\n };\n });\n\nconst getYearDate = (date: Date) => new Date(getYear(date), 0, 1, 0, 0, 0, 0);\n\nconst getSliderData = (\n date: Date,\n value: Date | DateRange | undefined,\n locale: Locale,\n) => {\n const currentYear = getYearDate(date);\n\n return [\n addYears(currentYear, -1),\n currentYear,\n addYears(currentYear, 1),\n addYears(currentYear, 2),\n ].map((date, index) => ({\n label: format(date, 'yyyy', { locale }),\n date,\n months: getMonthsData(date, locale),\n positon: `${index}`,\n valueRange: getValueRange(date, value),\n }));\n};\n\nexport const CalendarSlider: React.FC<CalendarSliderProps> = (props) => {\n const {\n currentVisibleDate,\n className,\n onChange,\n value,\n locale = ruLocale,\n ...otherProps\n } = props;\n\n const currentMonthRef = useRef<HTMLButtonElement>(null);\n const sliderRef = useRef<HTMLDivElement>(null);\n\n const handlePrev = () => onChange(addYears(currentVisibleDate, -1));\n const handleNext = () => onChange(addYears(currentVisibleDate, 1));\n\n useEffect(() => {\n if (currentMonthRef.current && sliderRef.current) {\n sliderRef.current.style.setProperty(\n '--selector-offset',\n `${currentMonthRef.current.offsetLeft}px`,\n );\n }\n }, [currentVisibleDate]);\n\n const data = getSliderData(currentVisibleDate, value, locale);\n\n return (\n <div {...otherProps} className={cnCalendarSlider(null, [className])}>\n <Button\n className={cnCalendarSlider('Button', { direction: 'prev' })}\n view=\"ghost\"\n iconLeft={IconForward}\n onClick={handlePrev}\n />\n <div className={cnCalendarSlider('Slider')} ref={sliderRef}>\n <div className={cnCalendarSlider('SliderBody')}>\n <div className={cnCalendarSlider('Selector')} />\n {data.map((year) => (\n <Text\n className={cnCalendarSlider('YearLabel', {\n position: year.positon,\n })}\n weight=\"bold\"\n size=\"s\"\n key={year.label}\n view={\n isCurrentVisibleYear(currentVisibleDate, year.date)\n ? undefined\n : 'ghost'\n }\n >\n {year.label}\n </Text>\n ))}\n {data.map((year) => (\n <div\n key={year.label}\n className={cnCalendarSlider('Year', {\n position: year.positon,\n selected: !!year.valueRange,\n })}\n style={\n year.valueRange && {\n ['--value-offset' as string]: `${year.valueRange[0]}%`,\n ['--value-width' as string]: `${year.valueRange[1]}%`,\n }\n }\n >\n {year.months.map((month, index) => (\n <button\n className={cnCalendarSlider('Month')}\n key={index}\n onClick={() => onChange(month.date)}\n onKeyDown={() => onChange(addMonths(month.date, 1))}\n ref={\n isCurrentVisibleMonth(currentVisibleDate, month.date)\n ? currentMonthRef\n : null\n }\n type=\"button\"\n >\n <Text\n className={cnCalendarSlider('MonthLabel')}\n size=\"2xs\"\n view=\"ghost\"\n align=\"center\"\n >\n {month.label}\n </Text>\n </button>\n ))}\n </div>\n ))}\n </div>\n </div>\n <Button\n className={cnCalendarSlider('Button', { direction: 'next' })}\n view=\"ghost\"\n iconLeft={IconForward}\n onClick={handleNext}\n />\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarSlider.js","names":["IconForward","addMonths","addYears","endOfYear","format","getMonth","getYear","startOfYear","ruLocale","React","useEffect","useRef","range","cn","Button","Text","cnCalendarSlider","isCurrentVisibleYear","currentDate","month","isCurrentVisibleMonth","getValueRange","yearDate","value","Array","isArray","yearStartDateTime","getTime","yearEndDateTime","valueStartDateTime","valueEndDateTime","msInYear","inProcent","number","offset","Math","floor","minusYears","n","width","ceil","getMonthsData","date","locale","map","monthDate","label","getYearDate","Date","getSliderData","currentYear","index","months","positon","valueRange","CalendarSlider","props","currentVisibleDate","className","onChange","otherProps","currentMonthRef","sliderRef","current","style","setProperty","offsetLeft","data","direction","handlePrev","year","position","selected","handleNext"],"sources":["../../../../../../src/components/CalendarDeprecated/CalendarSlider/CalendarSlider.tsx"],"sourcesContent":["import './CalendarSlider.css';\n\nimport { IconForward } from '@consta/icons/IconForward';\nimport {\n addMonths,\n addYears,\n endOfYear,\n format,\n getMonth,\n getYear,\n Locale,\n startOfYear,\n} from 'date-fns';\nimport ruLocale from 'date-fns/locale/ru';\nimport React, { useEffect, useRef } from 'react';\n\nimport { range } from '../../../utils/array';\nimport { cn } from '../../../utils/bem';\nimport { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\n\nexport type CalendarSliderProps = PropsWithHTMLAttributes<\n {\n currentVisibleDate: Date;\n onChange: (date: Date) => void;\n children?: never;\n value?: Date | DateRange;\n locale?: Locale;\n },\n HTMLDivElement\n>;\n\nexport const cnCalendarSlider = cn('CalendarSlider');\n\nconst isCurrentVisibleYear = (currentDate: Date, month: Date) =>\n getYear(currentDate) === getYear(month);\n\nconst isCurrentVisibleMonth = (currentDate: Date, month: Date) =>\n isCurrentVisibleYear(currentDate, month) &&\n getMonth(currentDate) === getMonth(month);\n\nconst getValueRange = (yearDate: Date, value?: Date | DateRange) => {\n if (!Array.isArray(value)) {\n return undefined;\n }\n\n if (!value[0] || !value[1]) {\n return undefined;\n }\n\n const yearStartDateTime = startOfYear(yearDate).getTime();\n const yearEndDateTime = endOfYear(yearDate).getTime();\n const valueStartDateTime = value[0].getTime();\n const valueEndDateTime = value[1].getTime();\n\n if (\n valueStartDateTime > yearEndDateTime ||\n valueEndDateTime < yearStartDateTime\n ) {\n return undefined;\n }\n\n if (\n valueStartDateTime <= yearStartDateTime &&\n valueEndDateTime >= yearEndDateTime\n ) {\n return [0, 100];\n }\n\n const msInYear = yearEndDateTime - yearStartDateTime;\n const inProcent = (number: number) => (number / msInYear) * 100;\n const offset = Math.floor(\n inProcent(\n valueStartDateTime <= yearStartDateTime\n ? 0\n : valueStartDateTime - yearStartDateTime,\n ),\n );\n\n const minusYears = (n: number): number => {\n if (n > msInYear) {\n const newNumber = n - msInYear;\n return minusYears(newNumber);\n }\n\n return n;\n };\n\n const width = Math.ceil(\n valueEndDateTime >= yearEndDateTime\n ? 100 - offset\n : inProcent(minusYears(valueEndDateTime - valueStartDateTime)),\n );\n\n return [offset, width];\n};\n\nconst getMonthsData = (date: Date, locale: Locale) =>\n range(12).map((month) => {\n const monthDate = addMonths(date, month);\n return {\n date: monthDate,\n label: format(monthDate, 'MMM', { locale }),\n };\n });\n\nconst getYearDate = (date: Date) => new Date(getYear(date), 0, 1, 0, 0, 0, 0);\n\nconst getSliderData = (\n date: Date,\n value: Date | DateRange | undefined,\n locale: Locale,\n) => {\n const currentYear = getYearDate(date);\n\n return [\n addYears(currentYear, -1),\n currentYear,\n addYears(currentYear, 1),\n addYears(currentYear, 2),\n ].map((date, index) => ({\n label: format(date, 'yyyy', { locale }),\n date,\n months: getMonthsData(date, locale),\n positon: `${index}`,\n valueRange: getValueRange(date, value),\n }));\n};\n\nexport const CalendarSlider: React.FC<CalendarSliderProps> = (props) => {\n const {\n currentVisibleDate,\n className,\n onChange,\n value,\n locale = ruLocale,\n ...otherProps\n } = props;\n\n const currentMonthRef = useRef<HTMLButtonElement>(null);\n const sliderRef = useRef<HTMLDivElement>(null);\n\n const handlePrev = () => onChange(addYears(currentVisibleDate, -1));\n const handleNext = () => onChange(addYears(currentVisibleDate, 1));\n\n useEffect(() => {\n if (currentMonthRef.current && sliderRef.current) {\n sliderRef.current.style.setProperty(\n '--selector-offset',\n `${currentMonthRef.current.offsetLeft}px`,\n );\n }\n }, [currentVisibleDate]);\n\n const data = getSliderData(currentVisibleDate, value, locale);\n\n return (\n <div {...otherProps} className={cnCalendarSlider(null, [className])}>\n <Button\n className={cnCalendarSlider('Button', { direction: 'prev' })}\n view=\"ghost\"\n type=\"button\"\n iconLeft={IconForward}\n onClick={handlePrev}\n />\n <div className={cnCalendarSlider('Slider')} ref={sliderRef}>\n <div className={cnCalendarSlider('SliderBody')}>\n <div className={cnCalendarSlider('Selector')} />\n {data.map((year) => (\n <Text\n className={cnCalendarSlider('YearLabel', {\n position: year.positon,\n })}\n weight=\"bold\"\n size=\"s\"\n key={year.label}\n view={\n isCurrentVisibleYear(currentVisibleDate, year.date)\n ? undefined\n : 'ghost'\n }\n >\n {year.label}\n </Text>\n ))}\n {data.map((year) => (\n <div\n key={year.label}\n className={cnCalendarSlider('Year', {\n position: year.positon,\n selected: !!year.valueRange,\n })}\n style={\n year.valueRange && {\n ['--value-offset' as string]: `${year.valueRange[0]}%`,\n ['--value-width' as string]: `${year.valueRange[1]}%`,\n }\n }\n >\n {year.months.map((month, index) => (\n <button\n className={cnCalendarSlider('Month')}\n key={index}\n onClick={() => onChange(month.date)}\n onKeyDown={() => onChange(addMonths(month.date, 1))}\n ref={\n isCurrentVisibleMonth(currentVisibleDate, month.date)\n ? currentMonthRef\n : null\n }\n type=\"button\"\n >\n <Text\n className={cnCalendarSlider('MonthLabel')}\n size=\"2xs\"\n view=\"ghost\"\n align=\"center\"\n >\n {month.label}\n </Text>\n </button>\n ))}\n </div>\n ))}\n </div>\n </div>\n <Button\n className={cnCalendarSlider('Button', { direction: 'next' })}\n view=\"ghost\"\n type=\"button\"\n iconLeft={IconForward}\n onClick={handleNext}\n />\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","anchorRef","isOpen","className","zIndex","tabIndex","onFocus","onBlur","renderAdditionalControls"];import"./DatePickerDropdown.css";import React,{forwardRef,useCallback,useRef,useState}from"react";import{Transition}from"react-transition-group";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{DateTime}from"../../DateTime/DateTime";import{Popover}from"../../Popover/Popover";import{DatePickerAdditionalControls}from"../DatePickerAdditionalControls/DatePickerAdditionalControls";import{datePickerPropDropdownFormDefault}from"../types";var moveMap={year:"year",month:"month",date:"day",time:"time","date-time":"day"},cnDatePickerDropdown=cn("DatePickerDropdown");export var DatePickerDropdown=forwardRef(function(a,b){var c=a.form,d=void 0===c?datePickerPropDropdownFormDefault:c,e=a.anchorRef,f=a.isOpen,g=a.className,h=a.zIndex,i=a.tabIndex,j=void 0===i?0:i,k=a.onFocus,l=a.onBlur,m=a.renderAdditionalControls,n=_objectWithoutProperties(a,_excluded),o=useRef(null),p=useState(),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useFlag(!0),u=_slicedToArray(t,2),v=u[0],w=u[1],x=useCallback(function(b){b===moveMap[a.type]?w.on():w.off()},[a.type]),y=useForkRef([b,o]);return React.createElement(Transition,{in:f,unmountOnExit:!0,timeout:animateTimeout,nodeRef:o},function(b){return React.createElement(Popover,{onFocus:k,onBlur:l,ref:y,tabIndex:j,anchorRef:e,className:cnDatePickerDropdown({form:d},[g,cnMixPopoverAnimate({direction:r,animate:b})]),direction:"downStartLeft",spareDirection:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],style:{zIndex:h},role:"listbox",onSetDirection:s},React.createElement(DateTime,Object.assign({},n,{onMove:x})),v&&React.createElement(DatePickerAdditionalControls,{currentVisibleDate:a.currentVisibleDate,renderAdditionalControls:m,type:a.type,view:a.view}))})});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","anchorRef","isOpen","className","zIndex","renderAdditionalControls"];import"./DatePickerDropdown.css";import React,{forwardRef,useCallback,useRef,useState}from"react";import{Transition}from"react-transition-group";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{DateTime}from"../../DateTime/DateTime";import{Popover}from"../../Popover/Popover";import{DatePickerAdditionalControls}from"../DatePickerAdditionalControls/DatePickerAdditionalControls";import{datePickerPropDropdownFormDefault}from"../types";var moveMap={year:"year",month:"month",date:"day",time:"time","date-time":"day"},cnDatePickerDropdown=cn("DatePickerDropdown");export var DatePickerDropdown=forwardRef(function(a,b){var c=a.form,d=void 0===c?datePickerPropDropdownFormDefault:c,e=a.anchorRef,f=a.isOpen,g=a.className,h=a.zIndex,i=a.renderAdditionalControls,j=_objectWithoutProperties(a,_excluded),k=useRef(null),l=useState(),m=_slicedToArray(l,2),n=m[0],o=m[1],p=useFlag(!0),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useCallback(function(b){b===moveMap[a.type]?s.on():s.off()},[a.type]),u=useForkRef([b,k]);return React.createElement(Transition,{in:f,unmountOnExit:!0,timeout:animateTimeout,nodeRef:k},function(b){return React.createElement(Popover,{ref:u,anchorRef:e,className:cnDatePickerDropdown({form:d},[g,cnMixPopoverAnimate({direction:n,animate:b})]),direction:"downStartLeft",spareDirection:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],style:{zIndex:h},role:"listbox",onSetDirection:o},React.createElement(DateTime,Object.assign({},j,{onMove:t})),r&&React.createElement(DatePickerAdditionalControls,{currentVisibleDate:a.currentVisibleDate,renderAdditionalControls:i,type:a.type,view:a.view}))})});
2
2
  //# sourceMappingURL=DatePickerDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DateTime","Popover","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","tabIndex","onFocus","onBlur","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '../../DateTime/DateTime';\nimport { Direction, Popover } from '../../Popover/Popover';\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n tabIndex = 0,\n onFocus,\n onBlur,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n onFocus={onFocus}\n onBlur={onBlur}\n ref={ref}\n tabIndex={tabIndex}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DateTime","Popover","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '../../DateTime/DateTime';\nimport { Direction, Popover } from '../../Popover/Popover';\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"kPAAA,iCAEA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,WAA5B,CAAyCC,MAAzC,CAAiDC,QAAjD,KAAiE,OAAjE,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OAASC,OAAT,sCACA,OAASC,UAAT,4CACA,OACEC,cADF,CAEEC,mBAFF,yDAIA,OAASC,EAAT,0BAGA,OACEC,QADF,+BAMA,OAAoBC,OAApB,6BACA,OAASC,4BAAT,oEACA,OAIEC,iCAJF,gB,GAuCMC,QAA2C,CAAG,CAClD,KAAQ,MAD0C,CAElD,MAAS,OAFyC,CAGlD,KAAQ,KAH0C,CAIlD,KAAQ,MAJ0C,CAKlD,YAAa,KALqC,C,CAQ9CC,oBAAoB,CAAGN,EAAE,CAAC,oBAAD,C,CAE/B,MAAO,IAAMO,mBAA+C,CAAGhB,UAAU,CACvE,SAACiB,CAAD,CAAQC,CAAR,CAAyB,OASnBD,CATmB,CAErBE,IAFqB,CAErBA,CAFqB,YAEdN,iCAFc,GAGrBO,CAHqB,CASnBH,CATmB,CAGrBG,SAHqB,CAIrBC,CAJqB,CASnBJ,CATmB,CAIrBI,MAJqB,CAKrBC,CALqB,CASnBL,CATmB,CAKrBK,SALqB,CAMrBC,CANqB,CASnBN,CATmB,CAMrBM,MANqB,CAOrBC,CAPqB,CASnBP,CATmB,CAOrBO,wBAPqB,CAQlBC,CARkB,0BASnBR,CATmB,YAWjBS,CAAO,CAAGxB,MAAM,CAAiB,IAAjB,CAXC,GAYWC,QAAQ,EAZnB,uBAYhBwB,CAZgB,MAYLC,CAZK,QAerBvB,OAAO,IAfc,uBAchBwB,CAdgB,MAcWC,CAdX,MAiBjBC,CAAM,CAAG9B,WAAW,CACxB,SAAC+B,CAAD,CAAkB,CAChBA,CAAE,GAAKlB,OAAO,CAACG,CAAK,CAACgB,IAAP,CAAd,CACIH,CAA4B,CAACI,EAA7B,EADJ,CAEIJ,CAA4B,CAACK,GAA7B,EACL,CALuB,CAMxB,CAAClB,CAAK,CAACgB,IAAP,CANwB,CAjBH,CA0BjBG,CAAG,CAAG9B,UAAU,CAAC,CAACY,CAAD,CAAeQ,CAAf,CAAD,CA1BC,CA4BvB,MACE,qBAAC,UAAD,EACE,GAAIL,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEd,cAHX,CAIE,OAAO,CAAEmB,CAJX,EAMG,SAACW,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,EACE,GAAG,CAAED,CADP,CAEE,SAAS,CAAEhB,CAFb,CAGE,SAAS,CAAEL,oBAAoB,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CACxCG,CADwC,CAExCd,mBAAmB,CAAC,CAAEmB,SAAS,CAATA,CAAF,CAAaU,OAAO,CAAPA,CAAb,CAAD,CAFqB,CAAX,CAHjC,CAOE,SAAS,CAAC,eAPZ,CAQE,cAAc,CAAC,eARjB,CASE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CATtB,CAeE,KAAK,CAAE,CAAEd,MAAM,CAANA,CAAF,CAfT,CAgBE,IAAI,CAAC,SAhBP,CAiBE,cAAc,CAAEK,CAjBlB,EAmBE,oBAAC,QAAD,kBAAcH,CAAd,EAA0B,MAAM,CAAEM,CAAlC,GAnBF,CAoBGF,CAAyB,EACxB,oBAAC,4BAAD,EACE,kBAAkB,CAAEZ,CAAK,CAACqB,kBAD5B,CAEE,wBAAwB,CAAEd,CAF5B,CAGE,IAAI,CAAEP,CAAK,CAACgB,IAHd,CAIE,IAAI,CAAEhB,CAAK,CAACsB,IAJd,EArBJ,CA8BH,CAtCH,CAyCH,CAvEsE,CAAlE"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","onBlur","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";export var DatePickerTypeDate=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownClassName,h=a.dropdownForm,i=a.onFocus,j=a.onBlur,k=a.currentVisibleDate,l=a.onChangeCurrentVisibleDate,m=a.renderAdditionalControls,n=_objectWithoutProperties(a,_excluded),o=useRef(null),p=useRef(null),q=useDropdownVisible(i,j),r=q.calendarVisible,s=q.blocks,t=s.start,u=t.onFocus,v=t.onBlur,w=s.dropdown,x=w.onBlur,y=w.onFocus,z=q.close,A=useCurrentVisibleDate({currentVisibleDate:k,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:l,calendarVisible:r}),B=_slicedToArray(A,2),C=B[0],D=B[1];return useEffect(function(){b&&setRef(b,o.current)},[b,o]),useEffect(function(){if(a.value&&"classic"===e&&C){var b=startOfMonth(a.value);return void(b.getTime()!==C.getTime()&&D(b))}if(a.value&&"classic"!==e&&C){var c=startOfMonth(a.value);c.getTime()!==C.getTime()&&c.getTime()!==addMonths(C,1).getTime()&&D(c)}},[a.value]),useClickOutside({isActive:r,ignoreClicksInsideRefs:[o,p],handler:z}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDate,Object.assign({},n,{ref:o,onBlur:v,onFocus:u})),React.createElement(DatePickerDropdown,{ref:p,anchorRef:o,isOpen:r,onFocus:y,onBlur:x,value:a.value||void 0,type:"date",view:e,events:c,locale:f,minDate:a.minDate,className:g,maxDate:a.maxDate,currentVisibleDate:C,form:h,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),z()},renderAdditionalControls:m,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:D}))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDate=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownClassName,h=a.dropdownForm,i=a.onFocus,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=_objectWithoutProperties(a,_excluded),n=useRef(null),o=useRef(null),p=useFlag(!1),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:k,calendarVisible:r}),u=_slicedToArray(t,2),v=u[0],w=u[1];return useEffect(function(){b&&setRef(b,n.current)},[b,n]),useEffect(function(){if(a.value&&"classic"===e&&v){var b=startOfMonth(a.value);return void(b.getTime()!==v.getTime()&&w(b))}if(a.value&&"classic"!==e&&v){var c=startOfMonth(a.value);c.getTime()!==v.getTime()&&c.getTime()!==addMonths(v,1).getTime()&&w(c)}},[a.value]),useClickOutside({isActive:r,ignoreClicksInsideRefs:[n,o],handler:s.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDate,Object.assign({},m,{ref:n,onFocus:function onFocusHandler(a){i&&i(a),s.on()}})),React.createElement(DatePickerDropdown,{ref:o,anchorRef:n,isOpen:r,value:a.value||void 0,type:"date",view:e,events:c,locale:f,minDate:a.minDate,className:g,maxDate:a.maxDate,currentVisibleDate:v,form:h,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),s.off()},renderAdditionalControls:l,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:w}))});
2
2
  //# sourceMappingURL=DatePickerTypeDate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","onBlur","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","blocks","start","onFocusHandler","onBlurHandler","dropdown","onDropdownBlur","onDropdownFocus","close","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownForm,\n onFocus,\n onBlur,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const {\n calendarVisible,\n blocks: {\n start: { onFocus: onFocusHandler, onBlur: onBlurHandler },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n },\n close,\n } = useDropdownVisible(onFocus, onBlur);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [fieldRef, calendarRef],\n handler: close,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n ref={fieldRef}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\n value={props.value || undefined}\n type=\"date\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n close();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useFlag","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","onFocusHandler","e","on","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownForm,\n onFocus,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const onFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n onFocus && onFocus(e);\n setCalendarVisible.on();\n };\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [fieldRef, calendarRef],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n ref={fieldRef}\n onFocus={onFocusHandler}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";export var DatePickerTypeDateRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.dropdownClassName,u=a.name,v=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=useRef(null),z=useRef(null),A=useRef(null),B=useDropdownVisible(l,m),C=B.calendarVisible,D=B.blocks,E=D.start,F=E.onFocus,G=E.onBlur,H=D.dropdown,I=H.onBlur,J=H.onFocus,K=D.end,L=K.onFocus,M=K.onBlur,N=B.close,O=B.fieldType,P="start"===O,Q="end"===O,R=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:C}),S=_slicedToArray(R,2),T=S[0],U=S[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&P){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&P){var e=startOfMonth(a.value[0]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addMonths(T,1).getTime())&&U(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),C,P]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&Q){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&Q){var e=startOfMonth(a.value[1]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addMonths(T,1).getTime())&&U(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),C,Q]),useClickOutside({isActive:C,ignoreClicksInsideRefs:[w,x,A],handler:N}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},v,{ref:b,startFieldRef:w,endFieldRef:x,startFieldInputRef:useForkRef([y,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([z,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:F,endFieldOnFocus:L,startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:G,endFieldOnBlur:M,startFocused:P,endFocused:Q,startFieldName:getFieldName(u,0),endFieldName:getFieldName(u,1)})),React.createElement(DatePickerDropdown,{type:"date",ref:A,anchorRef:w,className:t,isOpen:C,onChangeCurrentVisibleDate:U,currentVisibleDate:T,value:a.value||void 0,view:i,events:g,onFocus:J,onBlur:I,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(P){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(Q){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:r,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.dropdownClassName,u=a.name,v=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=useRef(null),z=useRef(null),A=useRef(null),B=useState(!1),C=_slicedToArray(B,2),D=C[0],E=C[1],F="start"===D,G="end"===D,H=useFlag(!1),I=_slicedToArray(H,2),J=I[0],K=I[1],L=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:J}),M=_slicedToArray(L,2),N=M[0],O=M[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&F){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&O(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&F){var e=startOfMonth(a.value[0]);e.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&e.getTime()!==(N&&addMonths(N,1).getTime())&&O(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),J,F]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&G){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&O(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&G){var e=startOfMonth(a.value[1]);e.getTime()!==(null===N||void 0===N?void 0:N.getTime())&&e.getTime()!==(N&&addMonths(N,1).getTime())&&O(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),J,G]),useClickOutside({isActive:J,ignoreClicksInsideRefs:[w,x,A],handler:useCallback(function(){E(!1),K.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},v,{ref:b,startFieldRef:w,endFieldRef:x,startFieldInputRef:useForkRef([y,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([z,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;E("start"),K.on(),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;E("end"),K.on(),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:F,endFocused:G,startFieldName:getFieldName(u,0),endFieldName:getFieldName(u,1)})),React.createElement(DatePickerDropdown,{type:"date",ref:A,anchorRef:w,className:t,isOpen:J,onChangeCurrentVisibleDate:O,currentVisibleDate:N,value:a.value||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b){var c=b.e,d=b.value;if(F){var e,f;null===(e=a.onChange)||void 0===e?void 0:e.call(a,{e:c,value:normalizeRangeValue([d,null===a||void 0===a||null===(f=a.value)||void 0===f?void 0:f[1]])})}if(G){var g,h;null===(g=a.onChange)||void 0===g?void 0:g.call(a,{e:c,value:normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],d])})}},renderAdditionalControls:r,zIndex:getDropdownZIndex(a.style)}))});
2
2
  //# sourceMappingURL=DatePickerTypeDateRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","calendarVisible","blocks","start","onStartFocus","onStartBlur","dropdown","onDropdownBlur","onDropdownFocus","end","onEndFocus","onEndBlur","close","fieldType","startFocused","endFocused","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","Array","isArray","hadleChange","e","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\n\nexport const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n dropdownClassName,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const {\n calendarVisible,\n blocks: {\n start: { onFocus: onStartFocus, onBlur: onStartBlur },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n end: { onFocus: onEndFocus, onBlur: onEndBlur },\n },\n close,\n fieldType,\n } = useDropdownVisible(onFocus, onBlur);\n\n const startFocused = fieldType === 'start';\n const endFocused = fieldType === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n // эфект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addMonths(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: close,\n });\n\n return (\n <>\n <DatePickerFieldTypeDateRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={onStartFocus}\n endFieldOnFocus={onEndFocus}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={onStartBlur}\n endFieldOnBlur={onEndBlur}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDateRange.js","names":["addMonths","startOfMonth","React","forwardRef","useCallback","useEffect","useRef","useState","useClickOutside","useFlag","useForkRef","DatePickerDropdown","DatePickerFieldTypeDateRange","getDropdownZIndex","getFieldName","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","DatePickerTypeDateRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","name","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","on","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","hadleChange","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';\nimport {\n getDropdownZIndex,\n getFieldName,\n normalizeRangeValue,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n dropdownClassName,\n name,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = ({ e, value }) => {\n if (startFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([value, props?.value?.[1]]),\n });\n }\n if (endFocused) {\n props.onChange?.({\n e,\n value: normalizeRangeValue([props?.value?.[0], value]),\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useFlag(false);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n setCalendarVisible.on();\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эфект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfMonth(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfMonth(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addMonths(currentVisibleDate, 1).getTime())\n ) {\n setCurrentVisibleDate(addMonths(newVisibleDate, -1));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [startFieldRef, endFieldRef, calendarRef],\n handler: useCallback(() => {\n setFieldFocused(false);\n setCalendarVisible.off();\n }, []),\n });\n\n return (\n <>\n <DatePickerFieldTypeDateRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldName={getFieldName(name, 0)}\n endFieldName={getFieldName(name, 1)}\n />\n <DatePickerDropdown\n type=\"date\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}