@consta/uikit 4.12.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.
- package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.js +1 -1
- package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.js.map +1 -1
- package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.js +1 -1
- package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.js.map +1 -1
- package/__internal__/src/components/BreadcrumbsDeprecated/BreadcrumbsDeprecated.js +1 -1
- package/__internal__/src/components/BreadcrumbsDeprecated/BreadcrumbsDeprecated.js.map +1 -1
- package/__internal__/src/components/CalendarDeprecated/CalendarMonthToggler/CalendarMonthToggler.js +1 -1
- package/__internal__/src/components/CalendarDeprecated/CalendarMonthToggler/CalendarMonthToggler.js.map +1 -1
- package/__internal__/src/components/CalendarDeprecated/CalendarSlider/CalendarSlider.js +1 -1
- package/__internal__/src/components/CalendarDeprecated/CalendarSlider/CalendarSlider.js.map +1 -1
- package/__internal__/src/components/Collapse/Collapse.css +1 -1
- package/__internal__/src/components/Collapse/Collapse.d.ts +1 -2
- package/__internal__/src/components/Collapse/Collapse.js +1 -1
- package/__internal__/src/components/Collapse/Collapse.js.map +1 -1
- package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.css +1 -1
- package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js +1 -1
- package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js.map +1 -1
- package/__internal__/src/components/Collapse/types.d.ts +7 -2
- package/__internal__/src/components/Collapse/types.js +1 -1
- package/__internal__/src/components/Collapse/types.js.map +1 -1
- package/__internal__/src/components/CollapseGroup/CollapseGroup.js +1 -1
- package/__internal__/src/components/CollapseGroup/CollapseGroup.js.map +1 -1
- package/__internal__/src/components/CollapseGroup/helpers.d.ts +7 -4
- package/__internal__/src/components/CollapseGroup/helpers.js.map +1 -1
- package/__internal__/src/components/CollapseGroup/useChoice.js +1 -1
- package/__internal__/src/components/CollapseGroup/useChoice.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeSlider/DateTimeSlider.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeSlider/DateTimeSlider.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeToggler/DateTimeToggler.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeToggler/DateTimeToggler.js.map +1 -1
- package/__internal__/src/components/Pagination/Pagination.js +1 -1
- package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
- package/__internal__/src/components/Responses403/Responses403.js +1 -1
- package/__internal__/src/components/Responses403/Responses403.js.map +1 -1
- package/__internal__/src/components/Responses404/Responses404.js +1 -1
- package/__internal__/src/components/Responses404/Responses404.js.map +1 -1
- package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js +1 -1
- package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js.map +1 -1
- package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js +1 -1
- package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js.map +1 -1
- package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js +1 -1
- package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js.map +1 -1
- package/__internal__/src/components/ResponsesExit/ResponsesExit.js +1 -1
- package/__internal__/src/components/ResponsesExit/ResponsesExit.js.map +1 -1
- package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js +1 -1
- package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js.map +1 -1
- package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js +1 -1
- package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js.map +1 -1
- package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js +1 -1
- package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js.map +1 -1
- package/__internal__/src/components/Steps/Steps.js +1 -1
- package/__internal__/src/components/Steps/Steps.js.map +1 -1
- package/__internal__/src/components/Table/FilterContainer/TableFilterContainer.js +1 -1
- package/__internal__/src/components/Table/FilterContainer/TableFilterContainer.js.map +1 -1
- package/__internal__/src/components/Table/FilterTooltip/TableFilterTooltip.js +1 -1
- package/__internal__/src/components/Table/FilterTooltip/TableFilterTooltip.js.map +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.js +1 -1
- package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
- package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js +1 -1
- package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js.map +1 -1
- package/__internal__/src/components/Table/TextFilter/TableTextFilter.js +1 -1
- package/__internal__/src/components/Table/TextFilter/TableTextFilter.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js.map +1 -1
- package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/TabsDeprecated/MoreItems/TabsMoreItems.js +1 -1
- package/__internal__/src/components/TabsDeprecated/MoreItems/TabsMoreItems.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/helpers.d.ts +1 -0
- package/__internal__/src/components/ThemeToggler/types.d.ts +4 -2
- package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
- package/__internal__/src/components/User/User.js +1 -1
- package/__internal__/src/components/User/User.js.map +1 -1
- package/package.json +1 -1
- package/__internal__/src/components/DatePicker/useDropdownVisible.d.ts +0 -24
- package/__internal__/src/components/DatePicker/useDropdownVisible.js +0 -2
- package/__internal__/src/components/DatePicker/useDropdownVisible.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["IconBackward","IconForward","React","cn","Button","Text","TextField","getPaginationInfo","paginationForms","paginationDefaultForm","paginationSizes","paginationDefaultSize","paginationTypes","paginationDefaultType","paginationPositions","paginationDefaultPosition","getDefaultLabel","totalPages","cnPagination","Pagination","forwardRef","props","ref","currentPage","onChange","getLabel","form","size","type","position","minified","hotkeys","nextPage","label","values","prevPage","containerEventListener","window","className","otherProps","currPage","isStartDots","isEndDots","pages","isEmpty","useState","keys","setKeys","changePage","page","handleClick","e","preventDefault","keyUpListener","event","key","prevState","filter","hotKey","keyDownListener","includes","newKeys","every","useEffect","addEventListener","removeEventListener","itemWidth","show","isActive","width","map","toString","handleChange","args","value","pageNumber","Number","isNaN"],"sources":["../../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import './Pagination.css';\n\nimport { IconBackward } from '@consta/icons/IconBackward';\nimport { IconForward } from '@consta/icons/IconForward';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../Button/Button';\nimport { Text } from '../Text/Text';\nimport { TextField, TextFieldOnChangeArguments } from '../TextField/TextField';\nimport { getPaginationInfo } from './helpers';\n\nexport const paginationForms = ['default', 'round', 'brick'] as const;\nexport type PaginationPropForm = typeof paginationForms[number];\nexport const paginationDefaultForm: PaginationPropForm = 'default';\n\nexport const paginationSizes = ['xs', 's', 'm', 'l'] as const;\nexport type PaginationPropSize = typeof paginationSizes[number];\nexport const paginationDefaultSize: PaginationPropSize = 'm';\n\nexport const paginationTypes = ['default', 'input'] as const;\nexport type PaginationPropType = typeof paginationTypes[number];\nexport const paginationDefaultType: PaginationPropType = 'default';\n\nexport const paginationPositions = ['left', 'center', 'right'] as const;\nexport type PaginationPropPosition = typeof paginationPositions[number];\nexport const paginationDefaultPosition: PaginationPropPosition = 'center';\n\nconst getDefaultLabel = (totalPages: number): string => `из ${totalPages}`;\n\nexport const cnPagination = cn('Pagination');\n\ntype HotKey = {\n label: string;\n values: string[];\n};\n\nexport type HotKeys = {\n nextPage: HotKey;\n prevPage: HotKey;\n};\n\ntype Props = {\n currentPage: number;\n totalPages: number;\n onChange: (pageNumber: number) => void;\n getLabel?: (totalPages: number) => string;\n form?: PaginationPropForm;\n size?: PaginationPropSize;\n type?: PaginationPropType;\n hotkeys?: HotKeys;\n containerEventListener?: HTMLElement | Window;\n className?: string;\n} & (\n | {\n minified?: true;\n position?: never;\n }\n | {\n minified?: false;\n position?: PaginationPropPosition;\n }\n);\n\ntype Pagination = (\n props: PropsWithHTMLAttributesAndRef<Props, HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport const Pagination: Pagination = React.forwardRef((props, ref) => {\n const {\n currentPage = 0,\n totalPages = 0,\n onChange,\n getLabel = getDefaultLabel,\n form = paginationDefaultForm,\n size = paginationDefaultSize,\n type = paginationDefaultType,\n position = paginationDefaultPosition,\n minified = false,\n hotkeys = {\n nextPage: {\n label: 'Alt →',\n values: ['Alt', 'ArrowRight'],\n },\n prevPage: {\n label: '← Alt',\n values: ['Alt', 'ArrowLeft'],\n },\n },\n containerEventListener = window,\n className,\n ...otherProps\n } = props;\n\n const currPage = currentPage + 1;\n const { prevPage, nextPage, isStartDots, isEndDots, pages, isEmpty } =\n getPaginationInfo(currPage, totalPages);\n const [keys, setKeys] = React.useState<string[]>([]);\n\n const changePage = (page: number | null) => {\n if (page && page !== currPage && onChange) {\n onChange(page - 1);\n }\n };\n\n const handleClick = (page: number | null) => (e: React.MouseEvent) => {\n e.preventDefault();\n changePage(page);\n };\n\n const handleChange = (args: TextFieldOnChangeArguments) => {\n const { value } = args;\n const pageNumber = Number(value);\n\n if (pageNumber > totalPages || Number.isNaN(pageNumber)) return;\n\n if (onChange) {\n onChange(pageNumber - 1);\n }\n };\n\n const keyUpListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n setKeys((prevState) => prevState.filter((hotKey) => hotKey !== key));\n };\n\n const keyDownListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n if (\n hotkeys.nextPage.values.includes(key) ||\n hotkeys.prevPage.values.includes(key)\n ) {\n const newKeys = [...keys, key];\n if (hotkeys.nextPage.values.every((hotKey) => newKeys.includes(hotKey))) {\n changePage(nextPage);\n } else if (\n hotkeys.prevPage.values.every((hotKey) => newKeys.includes(hotKey))\n ) {\n changePage(prevPage);\n }\n setKeys(newKeys);\n }\n };\n\n React.useEffect(() => {\n containerEventListener.addEventListener('keydown', keyDownListener);\n containerEventListener.addEventListener('keyup', keyUpListener);\n return () => {\n containerEventListener.removeEventListener('keydown', keyDownListener);\n containerEventListener.removeEventListener('keyup', keyUpListener);\n };\n });\n\n const itemWidth = `var(--control-height-${size})`;\n\n if (!totalPages) return null;\n\n return (\n (!isEmpty && (\n <nav\n className={cnPagination(\n {\n form,\n size,\n position: minified ? paginationDefaultPosition : position,\n },\n [className],\n )}\n ref={ref}\n {...otherProps}\n >\n {(currPage > 1 || minified) && (\n <div className={cnPagination('PrevPage')}>\n <Button\n className={cnPagination('ItemLeft', {\n minified,\n show: currPage > 1,\n })}\n label=\"Назад\"\n iconLeft={IconBackward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(prevPage)}\n />\n {!minified && (\n <Text className={cnPagination('TipLeft')} size=\"xs\" view=\"ghost\">\n {hotkeys.prevPage.label}\n </Text>\n )}\n </div>\n )}\n {type === paginationDefaultType ? (\n <div className={cnPagination('Pages')}>\n {isStartDots && (\n <Button\n className={cnPagination('Item', { isActive: currPage === 1 })}\n style={{ width: itemWidth }}\n label=\"1\"\n title=\"1\"\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(1)}\n />\n )}\n {isStartDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n >\n ...\n </Text>\n )}\n {pages.map((page) => (\n <Button\n key={page}\n className={cnPagination('Item', {\n isActive: currPage === page,\n })}\n style={{ width: itemWidth }}\n label={page}\n title={`${page}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(page)}\n />\n ))}\n {isEndDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n >\n ...\n </Text>\n )}\n {isEndDots && (\n <Button\n className={cnPagination('Item', {\n isActive: currPage === totalPages,\n })}\n style={{ width: itemWidth }}\n label={totalPages}\n title={`${totalPages}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(totalPages)}\n />\n )}\n </div>\n ) : (\n <div className={cnPagination('Pages')}>\n <TextField\n className={cnPagination('Input')}\n form={form}\n size={size}\n value={currPage.toString()}\n onChange={handleChange}\n />\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('Total')}\n >\n {getLabel(totalPages)}\n </Text>\n </div>\n )}\n {(currPage < totalPages || minified) && (\n <div className={cnPagination('NextPage')}>\n <Button\n className={cnPagination('ItemRight', {\n minified,\n show: currPage < totalPages,\n })}\n label=\"Вперёд\"\n iconRight={IconForward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(nextPage)}\n />\n {!minified && (\n <Text className={cnPagination('TipRight')} size=\"xs\" view=\"ghost\">\n {hotkeys.nextPage.label}\n </Text>\n )}\n </div>\n )}\n </nav>\n )) ||\n null\n );\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["IconBackward","IconForward","React","cn","Button","Text","TextField","getPaginationInfo","paginationForms","paginationDefaultForm","paginationSizes","paginationDefaultSize","paginationTypes","paginationDefaultType","paginationPositions","paginationDefaultPosition","getDefaultLabel","totalPages","cnPagination","Pagination","forwardRef","props","ref","currentPage","onChange","getLabel","form","size","type","position","minified","hotkeys","nextPage","label","values","prevPage","containerEventListener","window","className","otherProps","currPage","isStartDots","isEndDots","pages","isEmpty","useState","keys","setKeys","changePage","page","handleClick","e","preventDefault","keyUpListener","event","key","prevState","filter","hotKey","keyDownListener","includes","newKeys","every","useEffect","addEventListener","removeEventListener","itemWidth","show","isActive","width","map","toString","handleChange","args","value","pageNumber","Number","isNaN"],"sources":["../../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import './Pagination.css';\n\nimport { IconBackward } from '@consta/icons/IconBackward';\nimport { IconForward } from '@consta/icons/IconForward';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { Button } from '../Button/Button';\nimport { Text } from '../Text/Text';\nimport { TextField, TextFieldOnChangeArguments } from '../TextField/TextField';\nimport { getPaginationInfo } from './helpers';\n\nexport const paginationForms = ['default', 'round', 'brick'] as const;\nexport type PaginationPropForm = typeof paginationForms[number];\nexport const paginationDefaultForm: PaginationPropForm = 'default';\n\nexport const paginationSizes = ['xs', 's', 'm', 'l'] as const;\nexport type PaginationPropSize = typeof paginationSizes[number];\nexport const paginationDefaultSize: PaginationPropSize = 'm';\n\nexport const paginationTypes = ['default', 'input'] as const;\nexport type PaginationPropType = typeof paginationTypes[number];\nexport const paginationDefaultType: PaginationPropType = 'default';\n\nexport const paginationPositions = ['left', 'center', 'right'] as const;\nexport type PaginationPropPosition = typeof paginationPositions[number];\nexport const paginationDefaultPosition: PaginationPropPosition = 'center';\n\nconst getDefaultLabel = (totalPages: number): string => `из ${totalPages}`;\n\nexport const cnPagination = cn('Pagination');\n\ntype HotKey = {\n label: string;\n values: string[];\n};\n\nexport type HotKeys = {\n nextPage: HotKey;\n prevPage: HotKey;\n};\n\ntype Props = {\n currentPage: number;\n totalPages: number;\n onChange: (pageNumber: number) => void;\n getLabel?: (totalPages: number) => string;\n form?: PaginationPropForm;\n size?: PaginationPropSize;\n type?: PaginationPropType;\n hotkeys?: HotKeys;\n containerEventListener?: HTMLElement | Window;\n className?: string;\n} & (\n | {\n minified?: true;\n position?: never;\n }\n | {\n minified?: false;\n position?: PaginationPropPosition;\n }\n);\n\ntype Pagination = (\n props: PropsWithHTMLAttributesAndRef<Props, HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport const Pagination: Pagination = React.forwardRef((props, ref) => {\n const {\n currentPage = 0,\n totalPages = 0,\n onChange,\n getLabel = getDefaultLabel,\n form = paginationDefaultForm,\n size = paginationDefaultSize,\n type = paginationDefaultType,\n position = paginationDefaultPosition,\n minified = false,\n hotkeys = {\n nextPage: {\n label: 'Alt →',\n values: ['Alt', 'ArrowRight'],\n },\n prevPage: {\n label: '← Alt',\n values: ['Alt', 'ArrowLeft'],\n },\n },\n containerEventListener = window,\n className,\n ...otherProps\n } = props;\n\n const currPage = currentPage + 1;\n const { prevPage, nextPage, isStartDots, isEndDots, pages, isEmpty } =\n getPaginationInfo(currPage, totalPages);\n const [keys, setKeys] = React.useState<string[]>([]);\n\n const changePage = (page: number | null) => {\n if (page && page !== currPage && onChange) {\n onChange(page - 1);\n }\n };\n\n const handleClick = (page: number | null) => (e: React.MouseEvent) => {\n e.preventDefault();\n changePage(page);\n };\n\n const handleChange = (args: TextFieldOnChangeArguments) => {\n const { value } = args;\n const pageNumber = Number(value);\n\n if (pageNumber > totalPages || Number.isNaN(pageNumber)) return;\n\n if (onChange) {\n onChange(pageNumber - 1);\n }\n };\n\n const keyUpListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n setKeys((prevState) => prevState.filter((hotKey) => hotKey !== key));\n };\n\n const keyDownListener: EventListener = (event) => {\n const { key } = event as KeyboardEvent;\n\n if (\n hotkeys.nextPage.values.includes(key) ||\n hotkeys.prevPage.values.includes(key)\n ) {\n const newKeys = [...keys, key];\n if (hotkeys.nextPage.values.every((hotKey) => newKeys.includes(hotKey))) {\n changePage(nextPage);\n } else if (\n hotkeys.prevPage.values.every((hotKey) => newKeys.includes(hotKey))\n ) {\n changePage(prevPage);\n }\n setKeys(newKeys);\n }\n };\n\n React.useEffect(() => {\n containerEventListener.addEventListener('keydown', keyDownListener);\n containerEventListener.addEventListener('keyup', keyUpListener);\n return () => {\n containerEventListener.removeEventListener('keydown', keyDownListener);\n containerEventListener.removeEventListener('keyup', keyUpListener);\n };\n });\n\n const itemWidth = `var(--control-height-${size})`;\n\n if (!totalPages) return null;\n\n return (\n (!isEmpty && (\n <nav\n className={cnPagination(\n {\n form,\n size,\n position: minified ? paginationDefaultPosition : position,\n },\n [className],\n )}\n ref={ref}\n {...otherProps}\n >\n {(currPage > 1 || minified) && (\n <div className={cnPagination('PrevPage')}>\n <Button\n type=\"button\"\n className={cnPagination('ItemLeft', {\n minified,\n show: currPage > 1,\n })}\n label=\"Назад\"\n iconLeft={IconBackward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(prevPage)}\n />\n {!minified && (\n <Text className={cnPagination('TipLeft')} size=\"xs\" view=\"ghost\">\n {hotkeys.prevPage.label}\n </Text>\n )}\n </div>\n )}\n {type === paginationDefaultType ? (\n <div className={cnPagination('Pages')}>\n {isStartDots && (\n <Button\n type=\"button\"\n className={cnPagination('Item', { isActive: currPage === 1 })}\n style={{ width: itemWidth }}\n label=\"1\"\n title=\"1\"\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(1)}\n />\n )}\n {isStartDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n >\n ...\n </Text>\n )}\n {pages.map((page) => (\n <Button\n type=\"button\"\n key={page}\n className={cnPagination('Item', {\n isActive: currPage === page,\n })}\n style={{ width: itemWidth }}\n label={page}\n title={`${page}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(page)}\n />\n ))}\n {isEndDots && (\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('More')}\n style={{ width: itemWidth }}\n >\n ...\n </Text>\n )}\n {isEndDots && (\n <Button\n type=\"button\"\n className={cnPagination('Item', {\n isActive: currPage === totalPages,\n })}\n style={{ width: itemWidth }}\n label={totalPages}\n title={`${totalPages}`}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(totalPages)}\n />\n )}\n </div>\n ) : (\n <div className={cnPagination('Pages')}>\n <TextField\n className={cnPagination('Input')}\n form={form}\n size={size}\n value={currPage.toString()}\n onChange={handleChange}\n />\n <Text\n size={size}\n view=\"linkMinor\"\n className={cnPagination('Total')}\n >\n {getLabel(totalPages)}\n </Text>\n </div>\n )}\n {(currPage < totalPages || minified) && (\n <div className={cnPagination('NextPage')}>\n <Button\n type=\"button\"\n className={cnPagination('ItemRight', {\n minified,\n show: currPage < totalPages,\n })}\n label=\"Вперёд\"\n iconRight={IconForward}\n view=\"ghost\"\n form={form}\n size={size}\n onClick={handleClick(nextPage)}\n />\n {!minified && (\n <Text className={cnPagination('TipRight')} size=\"xs\" view=\"ghost\">\n {hotkeys.nextPage.label}\n </Text>\n )}\n </div>\n )}\n </nav>\n )) ||\n null\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=["steps","direction","size","className","activeStepIndex","onItemClick","getItemContent","getItemLabel","getItemPoint","getItemProgress","getItemStatus","getItemTooltipContent","getItemLineStatus","getItemOnClick","style"];import"./ProgressStepBar.css";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{createRef,forwardRef,useEffect,useMemo,useRef,useState}from"react";import{useComponentSize}from"../../hooks/useComponentSize/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useOverflow}from"../../hooks/useOverflow/useOverflow";import{useScrollElements}from"../../hooks/useScrollElements/useScrollElements";import{Button}from"../Button/Button";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{calculateLines,cnProgressStepBar,getItemPosition,propDirectionDefault,propSizeDefault,withDefaultGetters}from"./helpers";import{ProgressStepBarItem}from"./ProgressStepBarItem/ProgressStepBarItem";import{ProgressStepBarLine}from"./ProgressStepBarLine/ProgressStepBarLine";export var COMPONENT_NAME="ProgressStepBar";function ProgressStepBarRender(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),c),e=d.steps,f=void 0===e?[]:e,g=d.direction,h=void 0===g?propDirectionDefault:g,i=d.size,j=void 0===i?propSizeDefault:i,k=d.className,l=d.activeStepIndex,m=d.onItemClick,n=d.getItemContent,o=d.getItemLabel,p=d.getItemPoint,q=d.getItemProgress,r=d.getItemStatus,s=d.getItemTooltipContent,t=d.getItemLineStatus,u=d.getItemOnClick,v=d.style,w=_objectWithoutProperties(d,_excluded),x=useState(l||0),y=_slicedToArray(x,2),z=y[0],A=y[1],B=useRef(null),C=useComponentSize(c),D=C.width,E=C.height,F=useScrollElements(f),G=F.refs,H=F.scrollTo,I=useMemo(function(){return Array(f.length).fill(null).map(function(){return createRef()})},[f.length]),J=useMemo(function(){var a=[],b=calculateLines(G,h);return f.forEach(function(c,d){var e;d!==f.length-1&&a.push({status:t(c)||"normal",size:null!==(e=b[d])&&void 0!==e?e:0})}),a},[l,f,h,j,D,E]);useEffect(function(){A(l||0)},[l]),useEffect(function(){H(z)},[z]);var K=function(a){a&&0!==z&&A(z-1),a||z===f.length-1||A(z+1)},L=function(a,b){var c=u(a),d=m?function(d){m({e:d,item:a,index:b}),null===c||void 0===c?void 0:c(d)}:void 0;return{content:n(a),label:o(a),point:p(a),progress:q(a),status:"number"==typeof l&&l>=b?r(a)||"normal":"system",tooltipContent:s(a),size:j,position:getItemPosition(b,f.length),pointRef:I[b],direction:h,className:cnProgressStepBar("Item"),onClick:c||d,key:cnProgressStepBar({index:b}),tooltipZIndex:"number"==typeof(null===v||void 0===v?void 0:v.zIndex)?v.zIndex+1:void 0}},M=useOverflow({currentRef:B});return React.createElement("div",Object.assign({},w,{style:v,className:cnProgressStepBar({isOverflow:M},[k]),ref:useForkRef([b,c])}),M&&"vertical"!==h&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowLeft,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",className:cnProgressStepBar("Button",{side:"left"}),onClick:function onClick(){return K(!0)}}),React.createElement("div",{ref:B,className:cnProgressStepBar("List",{direction:h,overflow:M})},React.createElement(ProgressStepBarLine,{lines:J,size:j,direction:h,activeStepIndex:l}),f.map(function(a,b){return React.createElement(ProgressStepBarItem,Object.assign({ref:G[b]},L(a,b)))})),M&&"vertical"!==h&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowRight,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",className:cnProgressStepBar("Button",{side:"right"}),onClick:function onClick(){return K(!1)}}))}export var ProgressStepBar=forwardRef(ProgressStepBarRender);
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["steps","direction","size","className","activeStepIndex","onItemClick","getItemContent","getItemLabel","getItemPoint","getItemProgress","getItemStatus","getItemTooltipContent","getItemLineStatus","getItemOnClick","style"];import"./ProgressStepBar.css";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{createRef,forwardRef,useEffect,useMemo,useRef,useState}from"react";import{useComponentSize}from"../../hooks/useComponentSize/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useOverflow}from"../../hooks/useOverflow/useOverflow";import{useScrollElements}from"../../hooks/useScrollElements/useScrollElements";import{Button}from"../Button/Button";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{calculateLines,cnProgressStepBar,getItemPosition,propDirectionDefault,propSizeDefault,withDefaultGetters}from"./helpers";import{ProgressStepBarItem}from"./ProgressStepBarItem/ProgressStepBarItem";import{ProgressStepBarLine}from"./ProgressStepBarLine/ProgressStepBarLine";export var COMPONENT_NAME="ProgressStepBar";function ProgressStepBarRender(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),c),e=d.steps,f=void 0===e?[]:e,g=d.direction,h=void 0===g?propDirectionDefault:g,i=d.size,j=void 0===i?propSizeDefault:i,k=d.className,l=d.activeStepIndex,m=d.onItemClick,n=d.getItemContent,o=d.getItemLabel,p=d.getItemPoint,q=d.getItemProgress,r=d.getItemStatus,s=d.getItemTooltipContent,t=d.getItemLineStatus,u=d.getItemOnClick,v=d.style,w=_objectWithoutProperties(d,_excluded),x=useState(l||0),y=_slicedToArray(x,2),z=y[0],A=y[1],B=useRef(null),C=useComponentSize(c),D=C.width,E=C.height,F=useScrollElements(f),G=F.refs,H=F.scrollTo,I=useMemo(function(){return Array(f.length).fill(null).map(function(){return createRef()})},[f.length]),J=useMemo(function(){var a=[],b=calculateLines(G,h);return f.forEach(function(c,d){var e;d!==f.length-1&&a.push({status:t(c)||"normal",size:null!==(e=b[d])&&void 0!==e?e:0})}),a},[l,f,h,j,D,E]);useEffect(function(){A(l||0)},[l]),useEffect(function(){H(z)},[z]);var K=function(a){a&&0!==z&&A(z-1),a||z===f.length-1||A(z+1)},L=function(a,b){var c=u(a),d=m?function(d){m({e:d,item:a,index:b}),null===c||void 0===c?void 0:c(d)}:void 0;return{content:n(a),label:o(a),point:p(a),progress:q(a),status:"number"==typeof l&&l>=b?r(a)||"normal":"system",tooltipContent:s(a),size:j,position:getItemPosition(b,f.length),pointRef:I[b],direction:h,className:cnProgressStepBar("Item"),onClick:c||d,key:cnProgressStepBar({index:b}),tooltipZIndex:"number"==typeof(null===v||void 0===v?void 0:v.zIndex)?v.zIndex+1:void 0}},M=useOverflow({currentRef:B});return React.createElement("div",Object.assign({},w,{style:v,className:cnProgressStepBar({isOverflow:M},[k]),ref:useForkRef([b,c])}),M&&"vertical"!==h&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowLeft,{size:"xs"})},view:"clear",onlyIcon:!0,type:"button",size:"xs",className:cnProgressStepBar("Button",{side:"left"}),onClick:function onClick(){return K(!0)}}),React.createElement("div",{ref:B,className:cnProgressStepBar("List",{direction:h,overflow:M})},React.createElement(ProgressStepBarLine,{lines:J,size:j,direction:h,activeStepIndex:l}),f.map(function(a,b){return React.createElement(ProgressStepBarItem,Object.assign({ref:G[b]},L(a,b)))})),M&&"vertical"!==h&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowRight,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",type:"button",className:cnProgressStepBar("Button",{side:"right"}),onClick:function onClick(){return K(!1)}}))}export var ProgressStepBar=forwardRef(ProgressStepBarRender);
|
|
2
2
|
//# sourceMappingURL=ProgressStepBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressStepBar.js","names":["IconArrowLeft","IconArrowRight","React","createRef","forwardRef","useEffect","useMemo","useRef","useState","useComponentSize","useForkRef","useOverflow","useScrollElements","Button","usePropsHandler","calculateLines","cnProgressStepBar","getItemPosition","propDirectionDefault","propSizeDefault","withDefaultGetters","ProgressStepBarItem","ProgressStepBarLine","COMPONENT_NAME","ProgressStepBarRender","props","ref","containerRef","steps","direction","size","className","activeStepIndex","onItemClick","getItemContent","getItemLabel","getItemPoint","getItemProgress","getItemStatus","getItemTooltipContent","getItemLineStatus","getItemOnClick","style","otherProps","visibleIndex","setVisibleIndex","listRef","width","height","refs","scrollTo","stepsRef","Array","length","fill","map","lines","linesArray","sizes","forEach","step","index","push","status","changePosition","prev","getStepItem","item","onClick","onItemClickHandler","e","content","label","point","progress","tooltipContent","position","pointRef","key","tooltipZIndex","zIndex","isOverflow","currentRef","side","overflow","ProgressStepBar"],"sources":["../../../../../src/components/ProgressStepBar/ProgressStepBar.tsx"],"sourcesContent":["import './ProgressStepBar.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, {\n createRef,\n forwardRef,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useComponentSize } from '../../hooks/useComponentSize/useComponentSize';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useOverflow } from '../../hooks/useOverflow/useOverflow';\nimport { useScrollElements } from '../../hooks/useScrollElements/useScrollElements';\nimport { Button } from '../Button/Button';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport {\n calculateLines,\n cnProgressStepBar,\n DefaultItem,\n getItemPosition,\n Line,\n ProgressStepBarComponent,\n ProgressStepBarItemProps,\n ProgressStepBarProps,\n propDirectionDefault,\n propSizeDefault,\n withDefaultGetters,\n} from './helpers';\nimport { ProgressStepBarItem } from './ProgressStepBarItem/ProgressStepBarItem';\nimport { ProgressStepBarLine } from './ProgressStepBarLine/ProgressStepBarLine';\n\nexport const COMPONENT_NAME = 'ProgressStepBar' as const;\n\nfunction ProgressStepBarRender<ITEM = DefaultItem>(\n props: ProgressStepBarProps<ITEM>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const {\n steps = [],\n direction = propDirectionDefault,\n size = propSizeDefault,\n className,\n activeStepIndex,\n onItemClick,\n getItemContent,\n getItemLabel,\n getItemPoint,\n getItemProgress,\n getItemStatus,\n getItemTooltipContent,\n getItemLineStatus,\n getItemOnClick,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), containerRef);\n\n const [visibleIndex, setVisibleIndex] = useState<number>(\n activeStepIndex || 0,\n );\n\n const listRef = useRef<HTMLDivElement>(null);\n\n const { width, height } = useComponentSize(containerRef);\n\n const { refs, scrollTo } = useScrollElements(steps);\n\n const stepsRef = useMemo(\n () =>\n new Array(steps.length)\n .fill(null)\n .map(() => createRef<HTMLButtonElement>()),\n [steps.length],\n );\n\n const lines = useMemo(() => {\n const linesArray: Line[] = [];\n const sizes = calculateLines(refs, direction);\n steps.forEach((step, index) => {\n if (index !== steps.length - 1)\n linesArray.push({\n status: getItemLineStatus(step) || 'normal',\n size: sizes[index] ?? 0,\n });\n });\n return linesArray;\n }, [activeStepIndex, steps, direction, size, width, height]);\n\n useEffect(() => {\n setVisibleIndex(activeStepIndex || 0);\n }, [activeStepIndex]);\n\n useEffect(() => {\n scrollTo(visibleIndex);\n }, [visibleIndex]);\n\n const changePosition = (prev: boolean) => {\n if (prev && visibleIndex !== 0) {\n setVisibleIndex(visibleIndex - 1);\n }\n if (!prev && visibleIndex !== steps.length - 1) {\n setVisibleIndex(visibleIndex + 1);\n }\n };\n\n const getStepItem: (item: ITEM, index: number) => ProgressStepBarItemProps = (\n item,\n index,\n ) => {\n const onClick = getItemOnClick(item);\n\n const onItemClickHandler = onItemClick\n ? (e: React.MouseEvent<Element, MouseEvent>) => {\n onItemClick({ e, item, index });\n onClick?.(e);\n }\n : undefined;\n\n return {\n content: getItemContent(item),\n label: getItemLabel(item),\n point: getItemPoint(item),\n progress: getItemProgress(item),\n status:\n typeof activeStepIndex === 'number' && activeStepIndex >= index\n ? getItemStatus(item) || 'normal'\n : 'system',\n tooltipContent: getItemTooltipContent(item),\n size,\n position: getItemPosition(index, steps.length),\n pointRef: stepsRef[index] as React.RefObject<HTMLButtonElement>,\n direction,\n className: cnProgressStepBar('Item'),\n onClick: onClick || onItemClickHandler,\n key: cnProgressStepBar({ index }),\n tooltipZIndex:\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined,\n };\n };\n\n const isOverflow = useOverflow({ currentRef: listRef });\n\n return (\n <div\n {...otherProps}\n style={style}\n className={cnProgressStepBar({ isOverflow }, [className])}\n ref={useForkRef([ref, containerRef])}\n >\n {isOverflow && direction !== 'vertical' && (\n <Button\n iconLeft={() => <IconArrowLeft size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n className={cnProgressStepBar('Button', { side: 'left' })}\n onClick={() => changePosition(true)}\n />\n )}\n <div\n ref={listRef}\n className={cnProgressStepBar('List', {\n direction,\n overflow: isOverflow,\n })}\n >\n <ProgressStepBarLine\n lines={lines}\n size={size}\n direction={direction}\n activeStepIndex={activeStepIndex}\n />\n {steps.map((step, index) => (\n <ProgressStepBarItem\n ref={refs[index] as React.RefObject<HTMLDivElement>}\n {...getStepItem(step, index)}\n />\n ))}\n </div>\n {isOverflow && direction !== 'vertical' && (\n <Button\n iconLeft={() => <IconArrowRight size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n className={cnProgressStepBar('Button', { side: 'right' })}\n onClick={() => changePosition(false)}\n />\n )}\n </div>\n );\n}\n\nexport const ProgressStepBar = forwardRef(\n ProgressStepBarRender,\n) as ProgressStepBarComponent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProgressStepBar.js","names":["IconArrowLeft","IconArrowRight","React","createRef","forwardRef","useEffect","useMemo","useRef","useState","useComponentSize","useForkRef","useOverflow","useScrollElements","Button","usePropsHandler","calculateLines","cnProgressStepBar","getItemPosition","propDirectionDefault","propSizeDefault","withDefaultGetters","ProgressStepBarItem","ProgressStepBarLine","COMPONENT_NAME","ProgressStepBarRender","props","ref","containerRef","steps","direction","size","className","activeStepIndex","onItemClick","getItemContent","getItemLabel","getItemPoint","getItemProgress","getItemStatus","getItemTooltipContent","getItemLineStatus","getItemOnClick","style","otherProps","visibleIndex","setVisibleIndex","listRef","width","height","refs","scrollTo","stepsRef","Array","length","fill","map","lines","linesArray","sizes","forEach","step","index","push","status","changePosition","prev","getStepItem","item","onClick","onItemClickHandler","e","content","label","point","progress","tooltipContent","position","pointRef","key","tooltipZIndex","zIndex","isOverflow","currentRef","side","overflow","ProgressStepBar"],"sources":["../../../../../src/components/ProgressStepBar/ProgressStepBar.tsx"],"sourcesContent":["import './ProgressStepBar.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, {\n createRef,\n forwardRef,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useComponentSize } from '../../hooks/useComponentSize/useComponentSize';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useOverflow } from '../../hooks/useOverflow/useOverflow';\nimport { useScrollElements } from '../../hooks/useScrollElements/useScrollElements';\nimport { Button } from '../Button/Button';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport {\n calculateLines,\n cnProgressStepBar,\n DefaultItem,\n getItemPosition,\n Line,\n ProgressStepBarComponent,\n ProgressStepBarItemProps,\n ProgressStepBarProps,\n propDirectionDefault,\n propSizeDefault,\n withDefaultGetters,\n} from './helpers';\nimport { ProgressStepBarItem } from './ProgressStepBarItem/ProgressStepBarItem';\nimport { ProgressStepBarLine } from './ProgressStepBarLine/ProgressStepBarLine';\n\nexport const COMPONENT_NAME = 'ProgressStepBar' as const;\n\nfunction ProgressStepBarRender<ITEM = DefaultItem>(\n props: ProgressStepBarProps<ITEM>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const {\n steps = [],\n direction = propDirectionDefault,\n size = propSizeDefault,\n className,\n activeStepIndex,\n onItemClick,\n getItemContent,\n getItemLabel,\n getItemPoint,\n getItemProgress,\n getItemStatus,\n getItemTooltipContent,\n getItemLineStatus,\n getItemOnClick,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), containerRef);\n\n const [visibleIndex, setVisibleIndex] = useState<number>(\n activeStepIndex || 0,\n );\n\n const listRef = useRef<HTMLDivElement>(null);\n\n const { width, height } = useComponentSize(containerRef);\n\n const { refs, scrollTo } = useScrollElements(steps);\n\n const stepsRef = useMemo(\n () =>\n new Array(steps.length)\n .fill(null)\n .map(() => createRef<HTMLButtonElement>()),\n [steps.length],\n );\n\n const lines = useMemo(() => {\n const linesArray: Line[] = [];\n const sizes = calculateLines(refs, direction);\n steps.forEach((step, index) => {\n if (index !== steps.length - 1)\n linesArray.push({\n status: getItemLineStatus(step) || 'normal',\n size: sizes[index] ?? 0,\n });\n });\n return linesArray;\n }, [activeStepIndex, steps, direction, size, width, height]);\n\n useEffect(() => {\n setVisibleIndex(activeStepIndex || 0);\n }, [activeStepIndex]);\n\n useEffect(() => {\n scrollTo(visibleIndex);\n }, [visibleIndex]);\n\n const changePosition = (prev: boolean) => {\n if (prev && visibleIndex !== 0) {\n setVisibleIndex(visibleIndex - 1);\n }\n if (!prev && visibleIndex !== steps.length - 1) {\n setVisibleIndex(visibleIndex + 1);\n }\n };\n\n const getStepItem: (item: ITEM, index: number) => ProgressStepBarItemProps = (\n item,\n index,\n ) => {\n const onClick = getItemOnClick(item);\n\n const onItemClickHandler = onItemClick\n ? (e: React.MouseEvent<Element, MouseEvent>) => {\n onItemClick({ e, item, index });\n onClick?.(e);\n }\n : undefined;\n\n return {\n content: getItemContent(item),\n label: getItemLabel(item),\n point: getItemPoint(item),\n progress: getItemProgress(item),\n status:\n typeof activeStepIndex === 'number' && activeStepIndex >= index\n ? getItemStatus(item) || 'normal'\n : 'system',\n tooltipContent: getItemTooltipContent(item),\n size,\n position: getItemPosition(index, steps.length),\n pointRef: stepsRef[index] as React.RefObject<HTMLButtonElement>,\n direction,\n className: cnProgressStepBar('Item'),\n onClick: onClick || onItemClickHandler,\n key: cnProgressStepBar({ index }),\n tooltipZIndex:\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined,\n };\n };\n\n const isOverflow = useOverflow({ currentRef: listRef });\n\n return (\n <div\n {...otherProps}\n style={style}\n className={cnProgressStepBar({ isOverflow }, [className])}\n ref={useForkRef([ref, containerRef])}\n >\n {isOverflow && direction !== 'vertical' && (\n <Button\n iconLeft={() => <IconArrowLeft size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n type=\"button\"\n size=\"xs\"\n className={cnProgressStepBar('Button', { side: 'left' })}\n onClick={() => changePosition(true)}\n />\n )}\n <div\n ref={listRef}\n className={cnProgressStepBar('List', {\n direction,\n overflow: isOverflow,\n })}\n >\n <ProgressStepBarLine\n lines={lines}\n size={size}\n direction={direction}\n activeStepIndex={activeStepIndex}\n />\n {steps.map((step, index) => (\n <ProgressStepBarItem\n ref={refs[index] as React.RefObject<HTMLDivElement>}\n {...getStepItem(step, index)}\n />\n ))}\n </div>\n {isOverflow && direction !== 'vertical' && (\n <Button\n iconLeft={() => <IconArrowRight size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n type=\"button\"\n className={cnProgressStepBar('Button', { side: 'right' })}\n onClick={() => changePosition(false)}\n />\n )}\n </div>\n );\n}\n\nexport const ProgressStepBar = forwardRef(\n ProgressStepBarRender,\n) as ProgressStepBarComponent;\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImage403}from"../../responsesImages/ResponsesImage403/ResponsesImage403";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var Responses403=createResponses({name:"Responses403",image:ResponsesImage403,title:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u0430",description:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u044D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F \u0443 \u0430\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0430\u0442\u043E\u0440\u0430",actions:React.createElement(Button,{label:"\u0417\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F",view:"ghost"})});
|
|
1
|
+
import React from"react";import{ResponsesImage403}from"../../responsesImages/ResponsesImage403/ResponsesImage403";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var Responses403=createResponses({name:"Responses403",image:ResponsesImage403,title:"\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u0430",description:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u044D\u0442\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u0437\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F \u0443 \u0430\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0430\u0442\u043E\u0440\u0430",actions:React.createElement(Button,{type:"button",label:"\u0417\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F",view:"ghost"})});
|
|
2
2
|
//# sourceMappingURL=Responses403.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Responses403.js","names":["React","ResponsesImage403","Button","createResponses","Responses403","name","image","title","description","actions"],"sources":["../../../../../src/components/Responses403/Responses403.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImage403 } from '../../responsesImages/ResponsesImage403/ResponsesImage403';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const Responses403 = createResponses({\n name: 'Responses403',\n image: ResponsesImage403,\n title: 'Нет доступа',\n description:\n 'Если вы уверены, что вам нужна эта страница, запросите доступ у администратора',\n actions: <Button label=\"Запросить доступ\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,iBAAT,iEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,aAAY,CAAGD,eAAe,CAAC,CAC1CE,IAAI,CAAE,cADoC,CAE1CC,KAAK,CAAEL,iBAFmC,CAG1CM,KAAK,CAAE,+DAHmC,CAI1CC,WAAW,CACT,qZALwC,CAM1CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Responses403.js","names":["React","ResponsesImage403","Button","createResponses","Responses403","name","image","title","description","actions"],"sources":["../../../../../src/components/Responses403/Responses403.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImage403 } from '../../responsesImages/ResponsesImage403/ResponsesImage403';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const Responses403 = createResponses({\n name: 'Responses403',\n image: ResponsesImage403,\n title: 'Нет доступа',\n description:\n 'Если вы уверены, что вам нужна эта страница, запросите доступ у администратора',\n actions: <Button type=\"button\" label=\"Запросить доступ\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,iBAAT,iEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,aAAY,CAAGD,eAAe,CAAC,CAC1CE,IAAI,CAAE,cADoC,CAE1CC,KAAK,CAAEL,iBAFmC,CAG1CM,KAAK,CAAE,+DAHmC,CAI1CC,WAAW,CACT,qZALwC,CAM1CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,6FAA5B,CAA+C,IAAI,CAAC,OAApD,EANiC,CAAD,CAApC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImage404}from"../../responsesImages/ResponsesImage404/ResponsesImage404";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var Responses404=createResponses({name:"Responses404",image:ResponsesImage404,title:"\u0422\u0430\u043A\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043D\u0435\u0442",description:"\u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0443\u0436\u0435 \u0443\u0434\u0430\u043B\u0438\u043B\u0438, \u0438\u043B\u0438 \u0432\xA0\u0432\u0430\u0448\u0435\u0439 \u0441\u0441\u044B\u043B\u043A\u0435 \u043E\u0448\u0438\u0431\u043A\u0430",actions:React.createElement(Button,{label:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434",view:"ghost"})});
|
|
1
|
+
import React from"react";import{ResponsesImage404}from"../../responsesImages/ResponsesImage404/ResponsesImage404";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var Responses404=createResponses({name:"Responses404",image:ResponsesImage404,title:"\u0422\u0430\u043A\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043D\u0435\u0442",description:"\u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0443\u0436\u0435 \u0443\u0434\u0430\u043B\u0438\u043B\u0438, \u0438\u043B\u0438 \u0432\xA0\u0432\u0430\u0448\u0435\u0439 \u0441\u0441\u044B\u043B\u043A\u0435 \u043E\u0448\u0438\u0431\u043A\u0430",actions:React.createElement(Button,{type:"button",label:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434",view:"ghost"})});
|
|
2
2
|
//# sourceMappingURL=Responses404.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Responses404.js","names":["React","ResponsesImage404","Button","createResponses","Responses404","name","image","title","description","actions"],"sources":["../../../../../src/components/Responses404/Responses404.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImage404 } from '../../responsesImages/ResponsesImage404/ResponsesImage404';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const Responses404 = createResponses({\n name: 'Responses404',\n image: ResponsesImage404,\n title: 'Такой страницы нет',\n description: 'Возможно, эту страницу уже удалили, или в вашей ссылке ошибка',\n actions: <Button label=\"Вернуться назад\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,iBAAT,iEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,aAAY,CAAGD,eAAe,CAAC,CAC1CE,IAAI,CAAE,cADoC,CAE1CC,KAAK,CAAEL,iBAFmC,CAG1CM,KAAK,CAAE,oGAHmC,CAI1CC,WAAW,CAAE,4TAJ6B,CAK1CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Responses404.js","names":["React","ResponsesImage404","Button","createResponses","Responses404","name","image","title","description","actions"],"sources":["../../../../../src/components/Responses404/Responses404.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImage404 } from '../../responsesImages/ResponsesImage404/ResponsesImage404';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const Responses404 = createResponses({\n name: 'Responses404',\n image: ResponsesImage404,\n title: 'Такой страницы нет',\n description: 'Возможно, эту страницу уже удалили, или в вашей ссылке ошибка',\n actions: <Button type=\"button\" label=\"Вернуться назад\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,iBAAT,iEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,aAAY,CAAGD,eAAe,CAAC,CAC1CE,IAAI,CAAE,cADoC,CAE1CC,KAAK,CAAEL,iBAFmC,CAG1CM,KAAK,CAAE,oGAHmC,CAI1CC,WAAW,CAAE,4TAJ6B,CAK1CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,uFAA5B,CAA8C,IAAI,CAAC,OAAnD,EALiC,CAAD,CAApC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImageDeleted}from"../../responsesImages/ResponsesImageDeleted/ResponsesImageDeleted";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesDeleted=createResponses({name:"ResponsesDeleted",image:ResponsesImageDeleted,title:"*\u0427\u0442\u043E-\u0442\u043E* \u0443\u0434\u0430\u043B\u0435\u043D\u043E",description:"*\u0427\u0442\u043E-\u0442\u043E* \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u043E",actions:React.createElement(React.Fragment,null,React.createElement(Button,{label:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C \u043D\u0430 \u043C\u0435\u0441\u0442\u043E",view:"ghost",style:{marginRight:"var(--space-m)"}}),React.createElement(Button,{label:"\u041E\u0442\u043B\u0438\u0447\u043D\u043E!",view:"ghost"}))});
|
|
1
|
+
import React from"react";import{ResponsesImageDeleted}from"../../responsesImages/ResponsesImageDeleted/ResponsesImageDeleted";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesDeleted=createResponses({name:"ResponsesDeleted",image:ResponsesImageDeleted,title:"*\u0427\u0442\u043E-\u0442\u043E* \u0443\u0434\u0430\u043B\u0435\u043D\u043E",description:"*\u0427\u0442\u043E-\u0442\u043E* \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u043E",actions:React.createElement(React.Fragment,null,React.createElement(Button,{type:"button",label:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C \u043D\u0430 \u043C\u0435\u0441\u0442\u043E",view:"ghost",style:{marginRight:"var(--space-m)"}}),React.createElement(Button,{type:"button",label:"\u041E\u0442\u043B\u0438\u0447\u043D\u043E!",view:"ghost"}))});
|
|
2
2
|
//# sourceMappingURL=ResponsesDeleted.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsesDeleted.js","names":["React","ResponsesImageDeleted","Button","createResponses","ResponsesDeleted","name","image","title","description","actions","marginRight"],"sources":["../../../../../src/components/ResponsesDeleted/ResponsesDeleted.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageDeleted } from '../../responsesImages/ResponsesImageDeleted/ResponsesImageDeleted';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesDeleted = createResponses({\n name: 'ResponsesDeleted',\n image: ResponsesImageDeleted,\n title: '*Что-то* удалено',\n description: '*Что-то* успешно удалено',\n actions: (\n <>\n <Button\n label=\"Вернуть на место\"\n view=\"ghost\"\n style={{ marginRight: 'var(--space-m)' }}\n />\n <Button label=\"Отлично!\" view=\"ghost\" />\n </>\n ),\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,qBAAT,yEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,iBAAgB,CAAGD,eAAe,CAAC,CAC9CE,IAAI,CAAE,kBADwC,CAE9CC,KAAK,CAAEL,qBAFuC,CAG9CM,KAAK,CAAE,8EAHuC,CAI9CC,WAAW,CAAE,yHAJiC,CAK9CC,OAAO,CACL,wCACE,oBAAC,MAAD,EACE,
|
|
1
|
+
{"version":3,"file":"ResponsesDeleted.js","names":["React","ResponsesImageDeleted","Button","createResponses","ResponsesDeleted","name","image","title","description","actions","marginRight"],"sources":["../../../../../src/components/ResponsesDeleted/ResponsesDeleted.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageDeleted } from '../../responsesImages/ResponsesImageDeleted/ResponsesImageDeleted';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesDeleted = createResponses({\n name: 'ResponsesDeleted',\n image: ResponsesImageDeleted,\n title: '*Что-то* удалено',\n description: '*Что-то* успешно удалено',\n actions: (\n <>\n <Button\n type=\"button\"\n label=\"Вернуть на место\"\n view=\"ghost\"\n style={{ marginRight: 'var(--space-m)' }}\n />\n <Button type=\"button\" label=\"Отлично!\" view=\"ghost\" />\n </>\n ),\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,qBAAT,yEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,iBAAgB,CAAGD,eAAe,CAAC,CAC9CE,IAAI,CAAE,kBADwC,CAE9CC,KAAK,CAAEL,qBAFuC,CAG9CM,KAAK,CAAE,8EAHuC,CAI9CC,WAAW,CAAE,yHAJiC,CAK9CC,OAAO,CACL,wCACE,oBAAC,MAAD,EACE,IAAI,CAAC,QADP,CAEE,KAAK,CAAC,wFAFR,CAGE,IAAI,CAAC,OAHP,CAIE,KAAK,CAAE,CAAEC,WAAW,CAAE,gBAAf,CAJT,EADF,CAOE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,6CAA5B,CAAuC,IAAI,CAAC,OAA5C,EAPF,CAN4C,CAAD,CAAxC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImageEmptyBox}from"../../responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesEmptyBox=createResponses({name:"ResponsesEmptyBox",image:ResponsesImageEmptyBox,title:"\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u043A\u0430 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u0442",description:"\u0411\u0443\u0434\u044C\u0442\u0435 \u043F\u0435\u0440\u0432\u044B\u043C, \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C \u043F\u043E\u043B\u0435\u0437\u043D\u043E\u0435",actions:React.createElement(Button,{label:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C"})});
|
|
1
|
+
import React from"react";import{ResponsesImageEmptyBox}from"../../responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesEmptyBox=createResponses({name:"ResponsesEmptyBox",image:ResponsesImageEmptyBox,title:"\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u043A\u0430 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u0442",description:"\u0411\u0443\u0434\u044C\u0442\u0435 \u043F\u0435\u0440\u0432\u044B\u043C, \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C \u043F\u043E\u043B\u0435\u0437\u043D\u043E\u0435",actions:React.createElement(Button,{type:"button",label:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C"})});
|
|
2
2
|
//# sourceMappingURL=ResponsesEmptyBox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsesEmptyBox.js","names":["React","ResponsesImageEmptyBox","Button","createResponses","ResponsesEmptyBox","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesEmptyBox/ResponsesEmptyBox.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageEmptyBox } from '../../responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesEmptyBox = createResponses({\n name: 'ResponsesEmptyBox',\n image: ResponsesImageEmptyBox,\n title: 'Здесь пока ничего нет',\n description: 'Будьте первым, добавьте что-нибудь полезное',\n actions: <Button label=\"Добавить что-нибудь\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,sBAAT,2EACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,kBAAiB,CAAGD,eAAe,CAAC,CAC/CE,IAAI,CAAE,mBADyC,CAE/CC,KAAK,CAAEL,sBAFwC,CAG/CM,KAAK,CAAE,iHAHwC,CAI/CC,WAAW,CAAE,sOAJkC,CAK/CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ResponsesEmptyBox.js","names":["React","ResponsesImageEmptyBox","Button","createResponses","ResponsesEmptyBox","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesEmptyBox/ResponsesEmptyBox.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageEmptyBox } from '../../responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesEmptyBox = createResponses({\n name: 'ResponsesEmptyBox',\n image: ResponsesImageEmptyBox,\n title: 'Здесь пока ничего нет',\n description: 'Будьте первым, добавьте что-нибудь полезное',\n actions: <Button type=\"button\" label=\"Добавить что-нибудь\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,sBAAT,2EACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,kBAAiB,CAAGD,eAAe,CAAC,CAC/CE,IAAI,CAAE,mBADyC,CAE/CC,KAAK,CAAEL,sBAFwC,CAG/CM,KAAK,CAAE,iHAHwC,CAI/CC,WAAW,CAAE,sOAJkC,CAK/CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,0GAA5B,EALsC,CAAD,CAAzC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImageEmptyPockets}from"../../responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesEmptyPockets=createResponses({name:"ResponsesEmptyPockets",image:ResponsesImageEmptyPockets,title:"\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u043A\u0430 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u0442",description:"\u0411\u0443\u0434\u044C\u0442\u0435 \u043F\u0435\u0440\u0432\u044B\u043C, \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C \u043A\u0440\u0430\u0441\u0438\u0432\u043E\u0435",actions:React.createElement(Button,{label:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C"})});
|
|
1
|
+
import React from"react";import{ResponsesImageEmptyPockets}from"../../responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesEmptyPockets=createResponses({name:"ResponsesEmptyPockets",image:ResponsesImageEmptyPockets,title:"\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u043A\u0430 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435\u0442",description:"\u0411\u0443\u0434\u044C\u0442\u0435 \u043F\u0435\u0440\u0432\u044B\u043C, \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C \u043A\u0440\u0430\u0441\u0438\u0432\u043E\u0435",actions:React.createElement(Button,{type:"button",label:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0447\u0442\u043E-\u043D\u0438\u0431\u0443\u0434\u044C"})});
|
|
2
2
|
//# sourceMappingURL=ResponsesEmptyPockets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsesEmptyPockets.js","names":["React","ResponsesImageEmptyPockets","Button","createResponses","ResponsesEmptyPockets","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageEmptyPockets } from '../../responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesEmptyPockets = createResponses({\n name: 'ResponsesEmptyPockets',\n image: ResponsesImageEmptyPockets,\n title: 'Здесь пока ничего нет',\n description: 'Будьте первым, добавьте что-нибудь красивое',\n actions: <Button label=\"Добавить что-нибудь\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,0BAAT,mFACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,sBAAqB,CAAGD,eAAe,CAAC,CACnDE,IAAI,CAAE,uBAD6C,CAEnDC,KAAK,CAAEL,0BAF4C,CAGnDM,KAAK,CAAE,iHAH4C,CAInDC,WAAW,CAAE,sOAJsC,CAKnDC,OAAO,CAAE,oBAAC,MAAD,EAAQ,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ResponsesEmptyPockets.js","names":["React","ResponsesImageEmptyPockets","Button","createResponses","ResponsesEmptyPockets","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageEmptyPockets } from '../../responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesEmptyPockets = createResponses({\n name: 'ResponsesEmptyPockets',\n image: ResponsesImageEmptyPockets,\n title: 'Здесь пока ничего нет',\n description: 'Будьте первым, добавьте что-нибудь красивое',\n actions: <Button type=\"button\" label=\"Добавить что-нибудь\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,0BAAT,mFACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,sBAAqB,CAAGD,eAAe,CAAC,CACnDE,IAAI,CAAE,uBAD6C,CAEnDC,KAAK,CAAEL,0BAF4C,CAGnDM,KAAK,CAAE,iHAH4C,CAInDC,WAAW,CAAE,sOAJsC,CAKnDC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,0GAA5B,EAL0C,CAAD,CAA7C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImageExit}from"../../responsesImages/ResponsesImageExit/ResponsesImageExit";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesExit=createResponses({name:"ResponsesExit",image:ResponsesImageExit,title:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u044B ",description:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F?",actions:React.createElement(Button,{label:"\u0412\u043E\u0439\u0442\u0438 \u0441\u043D\u043E\u0432\u0430"})});
|
|
1
|
+
import React from"react";import{ResponsesImageExit}from"../../responsesImages/ResponsesImageExit/ResponsesImageExit";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesExit=createResponses({name:"ResponsesExit",image:ResponsesImageExit,title:"\u0412\u044B \u0432\u044B\u0448\u043B\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u044B ",description:"\u0425\u043E\u0442\u0438\u0442\u0435 \u0432\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F?",actions:React.createElement(Button,{type:"button",label:"\u0412\u043E\u0439\u0442\u0438 \u0441\u043D\u043E\u0432\u0430"})});
|
|
2
2
|
//# sourceMappingURL=ResponsesExit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsesExit.js","names":["React","ResponsesImageExit","Button","createResponses","ResponsesExit","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesExit/ResponsesExit.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageExit } from '../../responsesImages/ResponsesImageExit/ResponsesImageExit';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesExit = createResponses({\n name: 'ResponsesExit',\n image: ResponsesImageExit,\n title: 'Вы вышли из системы ',\n description: 'Хотите вернуться?',\n actions: <Button label=\"Войти снова\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,kBAAT,mEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,cAAa,CAAGD,eAAe,CAAC,CAC3CE,IAAI,CAAE,eADqC,CAE3CC,KAAK,CAAEL,kBAFoC,CAG3CM,KAAK,CAAE,sGAHoC,CAI3CC,WAAW,CAAE,8FAJ8B,CAK3CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,KAAK,CAAC,+
|
|
1
|
+
{"version":3,"file":"ResponsesExit.js","names":["React","ResponsesImageExit","Button","createResponses","ResponsesExit","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesExit/ResponsesExit.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageExit } from '../../responsesImages/ResponsesImageExit/ResponsesImageExit';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesExit = createResponses({\n name: 'ResponsesExit',\n image: ResponsesImageExit,\n title: 'Вы вышли из системы ',\n description: 'Хотите вернуться?',\n actions: <Button type=\"button\" label=\"Войти снова\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,kBAAT,mEACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,cAAa,CAAGD,eAAe,CAAC,CAC3CE,IAAI,CAAE,eADqC,CAE3CC,KAAK,CAAEL,kBAFoC,CAG3CM,KAAK,CAAE,sGAHoC,CAI3CC,WAAW,CAAE,8FAJ8B,CAK3CC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,+DAA5B,EALkC,CAAD,CAArC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ResponsesImageNothingFound}from"../../responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesNothingFound=createResponses({name:"ResponsesNothingFound",image:ResponsesImageNothingFound,title:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",description:"\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u0444\u043E\u0440\u043C\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441 \u043F\u043E-\u0434\u0440\u0443\u0433\u043E\u043C\u0443",actions:React.createElement(Button,{label:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434",view:"ghost"})});
|
|
1
|
+
import React from"react";import{ResponsesImageNothingFound}from"../../responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound";import{Button}from"../Button/Button";import{createResponses}from"../Responses/createResponses";export var ResponsesNothingFound=createResponses({name:"ResponsesNothingFound",image:ResponsesImageNothingFound,title:"\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",description:"\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u0444\u043E\u0440\u043C\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441 \u043F\u043E-\u0434\u0440\u0443\u0433\u043E\u043C\u0443",actions:React.createElement(Button,{type:"button",label:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434",view:"ghost"})});
|
|
2
2
|
//# sourceMappingURL=ResponsesNothingFound.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsesNothingFound.js","names":["React","ResponsesImageNothingFound","Button","createResponses","ResponsesNothingFound","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesNothingFound/ResponsesNothingFound.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageNothingFound } from '../../responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesNothingFound = createResponses({\n name: 'ResponsesNothingFound',\n image: ResponsesImageNothingFound,\n title: 'Ничего не найдено',\n description: 'Попробуйте сформулировать запрос по-другому',\n actions: <Button label=\"Вернуться назад\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,0BAAT,mFACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,sBAAqB,CAAGD,eAAe,CAAC,CACnDE,IAAI,CAAE,uBAD6C,CAEnDC,KAAK,CAAEL,0BAF4C,CAGnDM,KAAK,CAAE,8FAH4C,CAInDC,WAAW,CAAE,gPAJsC,CAKnDC,OAAO,CAAE,oBAAC,MAAD,EAAQ,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ResponsesNothingFound.js","names":["React","ResponsesImageNothingFound","Button","createResponses","ResponsesNothingFound","name","image","title","description","actions"],"sources":["../../../../../src/components/ResponsesNothingFound/ResponsesNothingFound.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ResponsesImageNothingFound } from '../../responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound';\nimport { Button } from '../Button/Button';\nimport { createResponses } from '../Responses/createResponses';\n\nexport const ResponsesNothingFound = createResponses({\n name: 'ResponsesNothingFound',\n image: ResponsesImageNothingFound,\n title: 'Ничего не найдено',\n description: 'Попробуйте сформулировать запрос по-другому',\n actions: <Button type=\"button\" label=\"Вернуться назад\" view=\"ghost\" />,\n});\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,0BAAT,mFACA,OAASC,MAAT,wBACA,OAASC,eAAT,oCAEA,MAAO,IAAMC,sBAAqB,CAAGD,eAAe,CAAC,CACnDE,IAAI,CAAE,uBAD6C,CAEnDC,KAAK,CAAEL,0BAF4C,CAGnDM,KAAK,CAAE,8FAH4C,CAInDC,WAAW,CAAE,gPAJsC,CAKnDC,OAAO,CAAE,oBAAC,MAAD,EAAQ,IAAI,CAAC,QAAb,CAAsB,KAAK,CAAC,uFAA5B,CAA8C,IAAI,CAAC,OAAnD,EAL0C,CAAD,CAA7C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./SnackBarActionButton.css";import React from"react";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";var cnSnackBarActionButton=cn("SnackBarActionButton");export var SnackBarActionButton=function(a){var b=a.actions,c=a.className;return 1>b.length?null:React.createElement("div",{className:cnSnackBarActionButton("ActionButtonsWrapper",[c])},b.map(function(a,b){return React.createElement(Button,{className:cnSnackBarActionButton(),key:"".concat(cnSnackBarActionButton(),"-").concat(b),size:"s",view:"ghost",label:a.label,onClick:a.onClick})}))};
|
|
1
|
+
import"./SnackBarActionButton.css";import React from"react";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";var cnSnackBarActionButton=cn("SnackBarActionButton");export var SnackBarActionButton=function(a){var b=a.actions,c=a.className;return 1>b.length?null:React.createElement("div",{className:cnSnackBarActionButton("ActionButtonsWrapper",[c])},b.map(function(a,b){return React.createElement(Button,{className:cnSnackBarActionButton(),key:"".concat(cnSnackBarActionButton(),"-").concat(b),size:"s",type:"button",view:"ghost",label:a.label,onClick:a.onClick})}))};
|
|
2
2
|
//# sourceMappingURL=SnackBarActionButton.js.map
|
package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackBarActionButton.js","names":["React","cn","Button","cnSnackBarActionButton","SnackBarActionButton","props","actions","className","length","map","item","index","label","onClick"],"sources":["../../../../../../src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.tsx"],"sourcesContent":["import './SnackBarActionButton.css';\n\nimport React from 'react';\n\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\nimport { SnackBarActionButtonProps } from '../types';\n\nconst cnSnackBarActionButton = cn('SnackBarActionButton');\n\nexport const SnackBarActionButton: React.FC<SnackBarActionButtonProps> = (\n props,\n) => {\n const { actions, className } = props;\n\n if (actions.length < 1) {\n return null;\n }\n\n return (\n <div\n className={cnSnackBarActionButton('ActionButtonsWrapper', [className])}\n >\n {actions.map((item, index) => (\n <Button\n className={cnSnackBarActionButton()}\n key={`${cnSnackBarActionButton()}-${index}`}\n size=\"s\"\n view=\"ghost\"\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </div>\n );\n};\n"],"mappings":"AAAA,mCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BACA,OAASC,MAAT,2BAGA,GAAMC,uBAAsB,CAAGF,EAAE,CAAC,sBAAD,CAAjC,CAEA,MAAO,IAAMG,qBAAyD,CAAG,SACvEC,CADuE,CAEpE,CACH,GAAQC,EAAR,CAA+BD,CAA/B,CAAQC,OAAR,CAAiBC,CAAjB,CAA+BF,CAA/B,CAAiBE,SAAjB,CADG,MAGkB,EAAjB,CAAAD,CAAO,CAACE,MAHT,CAIM,IAJN,CAQD,2BACE,SAAS,CAAEL,sBAAsB,CAAC,sBAAD,CAAyB,CAACI,CAAD,CAAzB,CADnC,EAGGD,CAAO,CAACG,GAAR,CAAY,SAACC,CAAD,CAAOC,CAAP,QACX,qBAAC,MAAD,EACE,SAAS,CAAER,sBAAsB,EADnC,CAEE,GAAG,WAAKA,sBAAsB,EAA3B,aAAiCQ,CAAjC,CAFL,CAGE,IAAI,CAAC,GAHP,CAIE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"SnackBarActionButton.js","names":["React","cn","Button","cnSnackBarActionButton","SnackBarActionButton","props","actions","className","length","map","item","index","label","onClick"],"sources":["../../../../../../src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.tsx"],"sourcesContent":["import './SnackBarActionButton.css';\n\nimport React from 'react';\n\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\nimport { SnackBarActionButtonProps } from '../types';\n\nconst cnSnackBarActionButton = cn('SnackBarActionButton');\n\nexport const SnackBarActionButton: React.FC<SnackBarActionButtonProps> = (\n props,\n) => {\n const { actions, className } = props;\n\n if (actions.length < 1) {\n return null;\n }\n\n return (\n <div\n className={cnSnackBarActionButton('ActionButtonsWrapper', [className])}\n >\n {actions.map((item, index) => (\n <Button\n className={cnSnackBarActionButton()}\n key={`${cnSnackBarActionButton()}-${index}`}\n size=\"s\"\n type=\"button\"\n view=\"ghost\"\n label={item.label}\n onClick={item.onClick}\n />\n ))}\n </div>\n );\n};\n"],"mappings":"AAAA,mCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BACA,OAASC,MAAT,2BAGA,GAAMC,uBAAsB,CAAGF,EAAE,CAAC,sBAAD,CAAjC,CAEA,MAAO,IAAMG,qBAAyD,CAAG,SACvEC,CADuE,CAEpE,CACH,GAAQC,EAAR,CAA+BD,CAA/B,CAAQC,OAAR,CAAiBC,CAAjB,CAA+BF,CAA/B,CAAiBE,SAAjB,CADG,MAGkB,EAAjB,CAAAD,CAAO,CAACE,MAHT,CAIM,IAJN,CAQD,2BACE,SAAS,CAAEL,sBAAsB,CAAC,sBAAD,CAAyB,CAACI,CAAD,CAAzB,CADnC,EAGGD,CAAO,CAACG,GAAR,CAAY,SAACC,CAAD,CAAOC,CAAP,QACX,qBAAC,MAAD,EACE,SAAS,CAAER,sBAAsB,EADnC,CAEE,GAAG,WAAKA,sBAAsB,EAA3B,aAAiCQ,CAAjC,CAFL,CAGE,IAAI,CAAC,GAHP,CAIE,IAAI,CAAC,QAJP,CAKE,IAAI,CAAC,OALP,CAME,KAAK,CAAED,CAAI,CAACE,KANd,CAOE,OAAO,CAAEF,CAAI,CAACG,OAPhB,EADW,CAAZ,CAHH,CAgBH,CA1BM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onClose","autoClose","showProgress","icon","form","message","actions","status","onAutoClose","className"];import"../../Theme/_color/Theme_color_gpnDark.css";import"./SnackBarItem.css";import{IconClose}from"@consta/icons/IconClose";import React,{useEffect,useState}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cn}from"../../../utils/bem";import{isNumber,isString}from"../../../utils/type-guards";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";import{cnTheme}from"../../Theme/Theme";import{SnackBarActionButton}from"../SnackBarActionButton/SnackBarActionButton";import{SnackBarLine}from"../SnackBarLine/SnackBarLine";import{SnackBarTimer}from"../SnackBarTimer/SnackBarTimer";import{snackBarItemStatusDefault,snackBarPropFormDefault}from"../types";var defaultInitialTimerTime=3;export var cnSnackBarItem=cn("SnackBarItem");var getAutoCloseTime=function(a){return!!a&&("number"==typeof a?a:defaultInitialTimerTime)};export var SnackBarItemRender=function(a,b){var c=a.onClose,d=a.autoClose,e=a.showProgress,f=a.icon,g=a.form,h=void 0===g?snackBarPropFormDefault:g,i=a.message,j=a.actions,k=a.status,l=void 0===k?snackBarItemStatusDefault:k,m=a.onAutoClose,n=a.className,o=_objectWithoutProperties(a,_excluded),p=useState(null),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useFlag(!1),u=_slicedToArray(t,2),v=u[0],w=u[1],x=w.on,y=w.off,z=useFlag(!1),A=_slicedToArray(z,2),B=A[0],C=A[1].on,D=function(a){return s(a)},E=getAutoCloseTime(d),F=e===void 0||!(isNumber(E)&&0<E),G=function(){m?m():null===c||void 0===c?void 0:c()};useEffect(function(){B||(v?r&&r.pause():r&&r.start())},[v,B,r]);var H=function(){C(),G()},I=c?function(){return c()}:void 0;return React.createElement("div",Object.assign({ref:b,className:cnSnackBarItem({status:l,showProgress:e,form:h},[cnTheme({color:"gpnDark"}),n]),onMouseEnter:E?function handleMouseEnter(){return x()}:void 0,onMouseLeave:E?function handleMouseLeave(){return y()}:void 0},o),E&&"line"!==e&&React.createElement(SnackBarTimer,{className:cnSnackBarItem("Timer"),onMount:D,onTimeIsOver:H,startTime:E,hidden:F}),f&&(F&&"timer"===e||"timer"!==e)&&React.createElement(f,{className:cnSnackBarItem("Icon"),size:"m"}),React.createElement("div",{className:cnSnackBarItem("Content")},isString(i)||isNumber(i)?React.createElement(Text,{className:cnSnackBarItem("Message"),lineHeight:"s"},i):i,j&&React.createElement(SnackBarActionButton,{actions:j,className:cnSnackBarItem("ActionButton")})),c&&React.createElement(Button,{className:cnSnackBarItem("CloseButton"),view:"clear",iconLeft:IconClose,form:"round",size:"xs",onClick:I}),E&&"line"===e&&React.createElement(SnackBarLine,{className:cnSnackBarItem("Line"),onMount:D,onTimeIsOver:H,startTime:E}))};export var SnackBarItem=React.forwardRef(SnackBarItemRender);
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onClose","autoClose","showProgress","icon","form","message","actions","status","onAutoClose","className"];import"../../Theme/_color/Theme_color_gpnDark.css";import"./SnackBarItem.css";import{IconClose}from"@consta/icons/IconClose";import React,{useEffect,useState}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{cn}from"../../../utils/bem";import{isNumber,isString}from"../../../utils/type-guards";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";import{cnTheme}from"../../Theme/Theme";import{SnackBarActionButton}from"../SnackBarActionButton/SnackBarActionButton";import{SnackBarLine}from"../SnackBarLine/SnackBarLine";import{SnackBarTimer}from"../SnackBarTimer/SnackBarTimer";import{snackBarItemStatusDefault,snackBarPropFormDefault}from"../types";var defaultInitialTimerTime=3;export var cnSnackBarItem=cn("SnackBarItem");var getAutoCloseTime=function(a){return!!a&&("number"==typeof a?a:defaultInitialTimerTime)};export var SnackBarItemRender=function(a,b){var c=a.onClose,d=a.autoClose,e=a.showProgress,f=a.icon,g=a.form,h=void 0===g?snackBarPropFormDefault:g,i=a.message,j=a.actions,k=a.status,l=void 0===k?snackBarItemStatusDefault:k,m=a.onAutoClose,n=a.className,o=_objectWithoutProperties(a,_excluded),p=useState(null),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useFlag(!1),u=_slicedToArray(t,2),v=u[0],w=u[1],x=w.on,y=w.off,z=useFlag(!1),A=_slicedToArray(z,2),B=A[0],C=A[1].on,D=function(a){return s(a)},E=getAutoCloseTime(d),F=e===void 0||!(isNumber(E)&&0<E),G=function(){m?m():null===c||void 0===c?void 0:c()};useEffect(function(){B||(v?r&&r.pause():r&&r.start())},[v,B,r]);var H=function(){C(),G()},I=c?function(){return c()}:void 0;return React.createElement("div",Object.assign({ref:b,className:cnSnackBarItem({status:l,showProgress:e,form:h},[cnTheme({color:"gpnDark"}),n]),onMouseEnter:E?function handleMouseEnter(){return x()}:void 0,onMouseLeave:E?function handleMouseLeave(){return y()}:void 0},o),E&&"line"!==e&&React.createElement(SnackBarTimer,{className:cnSnackBarItem("Timer"),onMount:D,onTimeIsOver:H,startTime:E,hidden:F}),f&&(F&&"timer"===e||"timer"!==e)&&React.createElement(f,{className:cnSnackBarItem("Icon"),size:"m"}),React.createElement("div",{className:cnSnackBarItem("Content")},isString(i)||isNumber(i)?React.createElement(Text,{className:cnSnackBarItem("Message"),lineHeight:"s"},i):i,j&&React.createElement(SnackBarActionButton,{actions:j,className:cnSnackBarItem("ActionButton")})),c&&React.createElement(Button,{className:cnSnackBarItem("CloseButton"),view:"clear",iconLeft:IconClose,form:"round",type:"button",size:"xs",onClick:I}),E&&"line"===e&&React.createElement(SnackBarLine,{className:cnSnackBarItem("Line"),onMount:D,onTimeIsOver:H,startTime:E}))};export var SnackBarItem=React.forwardRef(SnackBarItemRender);
|
|
2
2
|
//# sourceMappingURL=SnackBarItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackBarItem.js","names":["IconClose","React","useEffect","useState","useFlag","cn","isNumber","isString","Button","Text","cnTheme","SnackBarActionButton","SnackBarLine","SnackBarTimer","snackBarItemStatusDefault","snackBarPropFormDefault","defaultInitialTimerTime","cnSnackBarItem","getAutoCloseTime","autoClose","SnackBarItemRender","props","ref","onClose","showProgress","Icon","icon","form","message","actions","status","onAutoCloseProp","onAutoClose","className","otherProps","timerFunctions","setTimerFunctions","hover","onHover","on","offHover","off","timeIsOver","onTimeIsOver","handleMountTimer","autoCloseTime","hideAutoCloseTimer","pause","start","handleTimeIsOver","handleClose","color","handleMouseEnter","handleMouseLeave","SnackBarItem","forwardRef"],"sources":["../../../../../../src/components/SnackBar/SnackBarItem/SnackBarItem.tsx"],"sourcesContent":["import '../../Theme/_color/Theme_color_gpnDark.css';\nimport './SnackBarItem.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport React, { useEffect, useState } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { cn } from '../../../utils/bem';\nimport { isNumber, isString } from '../../../utils/type-guards';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\nimport { cnTheme } from '../../Theme/Theme';\nimport { SnackBarActionButton } from '../SnackBarActionButton/SnackBarActionButton';\nimport { SnackBarLine } from '../SnackBarLine/SnackBarLine';\nimport { SnackBarTimer } from '../SnackBarTimer/SnackBarTimer';\nimport {\n SnackBarItemComponent,\n SnackBarItemProps,\n snackBarItemStatusDefault,\n snackBarPropFormDefault,\n SnackBarTimerPropOnMount,\n} from '../types';\n\nconst defaultInitialTimerTime = 3;\n\nexport const cnSnackBarItem = cn('SnackBarItem');\n\nconst getAutoCloseTime = (\n autoClose: boolean | number | undefined,\n): number | false => {\n if (autoClose) {\n if (typeof autoClose === 'number') {\n return autoClose;\n }\n return defaultInitialTimerTime;\n }\n return false;\n};\n\nexport const SnackBarItemRender = (\n props: SnackBarItemProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n onClose,\n autoClose,\n showProgress,\n icon: Icon,\n form = snackBarPropFormDefault,\n message,\n actions,\n status = snackBarItemStatusDefault,\n onAutoClose: onAutoCloseProp,\n className,\n ...otherProps\n } = props;\n\n const [timerFunctions, setTimerFunctions] = useState<{\n start: () => void;\n pause: () => void;\n } | null>(null);\n const [hover, { on: onHover, off: offHover }] = useFlag(false);\n const [timeIsOver, { on: onTimeIsOver }] = useFlag(false);\n const handleMountTimer: SnackBarTimerPropOnMount = (timerFunctions) =>\n setTimerFunctions(timerFunctions);\n const handleMouseEnter = () => onHover();\n const handleMouseLeave = () => offHover();\n const autoCloseTime = getAutoCloseTime(autoClose);\n const hideAutoCloseTimer =\n showProgress === undefined ||\n !(isNumber(autoCloseTime) && autoCloseTime > 0);\n const onAutoClose = () => {\n if (onAutoCloseProp) {\n onAutoCloseProp();\n } else {\n onClose?.();\n }\n };\n\n useEffect(() => {\n if (!timeIsOver) {\n if (hover) {\n timerFunctions && timerFunctions.pause();\n } else {\n timerFunctions && timerFunctions.start();\n }\n }\n }, [hover, timeIsOver, timerFunctions]);\n\n const handleTimeIsOver = () => {\n onTimeIsOver();\n onAutoClose();\n };\n\n const handleClose = onClose ? () => onClose() : undefined;\n\n return (\n <div\n ref={ref}\n className={cnSnackBarItem({ status, showProgress, form }, [\n cnTheme({ color: 'gpnDark' }),\n className,\n ])}\n onMouseEnter={autoCloseTime ? handleMouseEnter : undefined}\n onMouseLeave={autoCloseTime ? handleMouseLeave : undefined}\n {...otherProps}\n >\n {autoCloseTime && showProgress !== 'line' && (\n <SnackBarTimer\n className={cnSnackBarItem('Timer')}\n onMount={handleMountTimer}\n onTimeIsOver={handleTimeIsOver}\n startTime={autoCloseTime}\n hidden={hideAutoCloseTimer}\n />\n )}\n {Icon &&\n ((hideAutoCloseTimer && showProgress === 'timer') ||\n showProgress !== 'timer') && (\n <Icon className={cnSnackBarItem('Icon')} size=\"m\" />\n )}\n <div className={cnSnackBarItem('Content')}>\n {isString(message) || isNumber(message) ? (\n <Text className={cnSnackBarItem('Message')} lineHeight=\"s\">\n {message}\n </Text>\n ) : (\n message\n )}\n {actions && (\n <SnackBarActionButton\n actions={actions}\n className={cnSnackBarItem('ActionButton')}\n />\n )}\n </div>\n {onClose && (\n <Button\n className={cnSnackBarItem('CloseButton')}\n view=\"clear\"\n iconLeft={IconClose}\n form=\"round\"\n size=\"xs\"\n onClick={handleClose}\n />\n )}\n {autoCloseTime && showProgress === 'line' && (\n <SnackBarLine\n className={cnSnackBarItem('Line')}\n onMount={handleMountTimer}\n onTimeIsOver={handleTimeIsOver}\n startTime={autoCloseTime}\n />\n )}\n </div>\n );\n};\n\nexport const SnackBarItem = React.forwardRef(\n SnackBarItemRender,\n) as SnackBarItemComponent;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SnackBarItem.js","names":["IconClose","React","useEffect","useState","useFlag","cn","isNumber","isString","Button","Text","cnTheme","SnackBarActionButton","SnackBarLine","SnackBarTimer","snackBarItemStatusDefault","snackBarPropFormDefault","defaultInitialTimerTime","cnSnackBarItem","getAutoCloseTime","autoClose","SnackBarItemRender","props","ref","onClose","showProgress","Icon","icon","form","message","actions","status","onAutoCloseProp","onAutoClose","className","otherProps","timerFunctions","setTimerFunctions","hover","onHover","on","offHover","off","timeIsOver","onTimeIsOver","handleMountTimer","autoCloseTime","hideAutoCloseTimer","pause","start","handleTimeIsOver","handleClose","color","handleMouseEnter","handleMouseLeave","SnackBarItem","forwardRef"],"sources":["../../../../../../src/components/SnackBar/SnackBarItem/SnackBarItem.tsx"],"sourcesContent":["import '../../Theme/_color/Theme_color_gpnDark.css';\nimport './SnackBarItem.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport React, { useEffect, useState } from 'react';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { cn } from '../../../utils/bem';\nimport { isNumber, isString } from '../../../utils/type-guards';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\nimport { cnTheme } from '../../Theme/Theme';\nimport { SnackBarActionButton } from '../SnackBarActionButton/SnackBarActionButton';\nimport { SnackBarLine } from '../SnackBarLine/SnackBarLine';\nimport { SnackBarTimer } from '../SnackBarTimer/SnackBarTimer';\nimport {\n SnackBarItemComponent,\n SnackBarItemProps,\n snackBarItemStatusDefault,\n snackBarPropFormDefault,\n SnackBarTimerPropOnMount,\n} from '../types';\n\nconst defaultInitialTimerTime = 3;\n\nexport const cnSnackBarItem = cn('SnackBarItem');\n\nconst getAutoCloseTime = (\n autoClose: boolean | number | undefined,\n): number | false => {\n if (autoClose) {\n if (typeof autoClose === 'number') {\n return autoClose;\n }\n return defaultInitialTimerTime;\n }\n return false;\n};\n\nexport const SnackBarItemRender = (\n props: SnackBarItemProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n onClose,\n autoClose,\n showProgress,\n icon: Icon,\n form = snackBarPropFormDefault,\n message,\n actions,\n status = snackBarItemStatusDefault,\n onAutoClose: onAutoCloseProp,\n className,\n ...otherProps\n } = props;\n\n const [timerFunctions, setTimerFunctions] = useState<{\n start: () => void;\n pause: () => void;\n } | null>(null);\n const [hover, { on: onHover, off: offHover }] = useFlag(false);\n const [timeIsOver, { on: onTimeIsOver }] = useFlag(false);\n const handleMountTimer: SnackBarTimerPropOnMount = (timerFunctions) =>\n setTimerFunctions(timerFunctions);\n const handleMouseEnter = () => onHover();\n const handleMouseLeave = () => offHover();\n const autoCloseTime = getAutoCloseTime(autoClose);\n const hideAutoCloseTimer =\n showProgress === undefined ||\n !(isNumber(autoCloseTime) && autoCloseTime > 0);\n const onAutoClose = () => {\n if (onAutoCloseProp) {\n onAutoCloseProp();\n } else {\n onClose?.();\n }\n };\n\n useEffect(() => {\n if (!timeIsOver) {\n if (hover) {\n timerFunctions && timerFunctions.pause();\n } else {\n timerFunctions && timerFunctions.start();\n }\n }\n }, [hover, timeIsOver, timerFunctions]);\n\n const handleTimeIsOver = () => {\n onTimeIsOver();\n onAutoClose();\n };\n\n const handleClose = onClose ? () => onClose() : undefined;\n\n return (\n <div\n ref={ref}\n className={cnSnackBarItem({ status, showProgress, form }, [\n cnTheme({ color: 'gpnDark' }),\n className,\n ])}\n onMouseEnter={autoCloseTime ? handleMouseEnter : undefined}\n onMouseLeave={autoCloseTime ? handleMouseLeave : undefined}\n {...otherProps}\n >\n {autoCloseTime && showProgress !== 'line' && (\n <SnackBarTimer\n className={cnSnackBarItem('Timer')}\n onMount={handleMountTimer}\n onTimeIsOver={handleTimeIsOver}\n startTime={autoCloseTime}\n hidden={hideAutoCloseTimer}\n />\n )}\n {Icon &&\n ((hideAutoCloseTimer && showProgress === 'timer') ||\n showProgress !== 'timer') && (\n <Icon className={cnSnackBarItem('Icon')} size=\"m\" />\n )}\n <div className={cnSnackBarItem('Content')}>\n {isString(message) || isNumber(message) ? (\n <Text className={cnSnackBarItem('Message')} lineHeight=\"s\">\n {message}\n </Text>\n ) : (\n message\n )}\n {actions && (\n <SnackBarActionButton\n actions={actions}\n className={cnSnackBarItem('ActionButton')}\n />\n )}\n </div>\n {onClose && (\n <Button\n className={cnSnackBarItem('CloseButton')}\n view=\"clear\"\n iconLeft={IconClose}\n form=\"round\"\n type=\"button\"\n size=\"xs\"\n onClick={handleClose}\n />\n )}\n {autoCloseTime && showProgress === 'line' && (\n <SnackBarLine\n className={cnSnackBarItem('Line')}\n onMount={handleMountTimer}\n onTimeIsOver={handleTimeIsOver}\n startTime={autoCloseTime}\n />\n )}\n </div>\n );\n};\n\nexport const SnackBarItem = React.forwardRef(\n SnackBarItemRender,\n) as SnackBarItemComponent;\n"],"mappings":"gRAAA,mDACA,2BAEA,OAASA,SAAT,KAA0B,yBAA1B,CACA,MAAOC,MAAP,EAAgBC,SAAhB,CAA2BC,QAA3B,KAA2C,OAA3C,CAEA,OAASC,OAAT,sCACA,OAASC,EAAT,0BACA,OAASC,QAAT,CAAmBC,QAAnB,kCACA,OAASC,MAAT,2BACA,OAASC,IAAT,uBACA,OAASC,OAAT,yBACA,OAASC,oBAAT,oDACA,OAASC,YAAT,oCACA,OAASC,aAAT,sCACA,OAGEC,yBAHF,CAIEC,uBAJF,gBAQA,GAAMC,wBAAuB,CAAG,CAAhC,CAEA,MAAO,IAAMC,eAAc,CAAGZ,EAAE,CAAC,cAAD,CAAzB,CAEP,GAAMa,iBAAgB,CAAG,SACvBC,CADuB,CAEJ,SACfA,CADe,GAEQ,QAArB,QAAOA,EAFM,CAGRA,CAHQ,CAKVH,uBALU,CAQpB,CAVD,CAYA,MAAO,IAAMI,mBAAkB,CAAG,SAChCC,CADgC,CAEhCC,CAFgC,CAG7B,IAEDC,EAFC,CAaCF,CAbD,CAEDE,OAFC,CAGDJ,CAHC,CAaCE,CAbD,CAGDF,SAHC,CAIDK,CAJC,CAaCH,CAbD,CAIDG,YAJC,CAKKC,CALL,CAaCJ,CAbD,CAKDK,IALC,GAaCL,CAbD,CAMDM,IANC,CAMDA,CANC,YAMMZ,uBANN,GAODa,CAPC,CAaCP,CAbD,CAODO,OAPC,CAQDC,CARC,CAaCR,CAbD,CAQDQ,OARC,GAaCR,CAbD,CASDS,MATC,CASDA,CATC,YASQhB,yBATR,GAUYiB,CAVZ,CAaCV,CAbD,CAUDW,WAVC,CAWDC,CAXC,CAaCZ,CAbD,CAWDY,SAXC,CAYEC,CAZF,0BAaCb,CAbD,cAeyClB,QAAQ,CAG1C,IAH0C,CAfjD,uBAeIgC,CAfJ,MAeoBC,CAfpB,QAmB6ChC,OAAO,IAnBpD,uBAmBIiC,CAnBJ,aAmBiBC,CAnBjB,GAmBaC,EAnBb,CAmB+BC,CAnB/B,GAmB0BC,GAnB1B,GAoBwCrC,OAAO,IApB/C,uBAoBIsC,CApBJ,MAoBsBC,CApBtB,MAoBkBJ,EApBlB,CAqBGK,CAA0C,CAAG,SAACT,CAAD,QACjDC,EAAiB,CAACD,CAAD,CADgC,CArBhD,CAyBGU,CAAa,CAAG3B,gBAAgB,CAACC,CAAD,CAzBnC,CA0BG2B,CAAkB,CACtBtB,CAAY,SAAZ,EACA,EAAElB,QAAQ,CAACuC,CAAD,CAAR,EAA2C,CAAhB,CAAAA,CAA7B,CA5BC,CA6BGb,CAAW,CAAG,UAAM,CACpBD,CADoB,CAEtBA,CAAe,EAFO,QAItBR,CAJsB,WAItBA,CAJsB,QAItBA,CAAO,EAEV,CAnCE,CAqCHrB,SAAS,CAAC,UAAM,CACTwC,CADS,GAERL,CAFQ,CAGVF,CAAc,EAAIA,CAAc,CAACY,KAAf,EAHR,CAKVZ,CAAc,EAAIA,CAAc,CAACa,KAAf,EALR,CAQf,CARQ,CAQN,CAACX,CAAD,CAAQK,CAAR,CAAoBP,CAApB,CARM,CArCN,IA+CGc,EAAgB,CAAG,UAAM,CAC7BN,CAAY,EADiB,CAE7BX,CAAW,EACZ,CAlDE,CAoDGkB,CAAW,CAAG3B,CAAO,CAAG,iBAAMA,EAAO,EAAb,CAAH,OApDxB,CAsDH,MACE,0CACE,GAAG,CAAED,CADP,CAEE,SAAS,CAAEL,cAAc,CAAC,CAAEa,MAAM,CAANA,CAAF,CAAUN,YAAY,CAAZA,CAAV,CAAwBG,IAAI,CAAJA,CAAxB,CAAD,CAAiC,CACxDjB,OAAO,CAAC,CAAEyC,KAAK,CAAE,SAAT,CAAD,CADiD,CAExDlB,CAFwD,CAAjC,CAF3B,CAME,YAAY,CAAEY,CAAa,CAtCN,QAAnBO,iBAAmB,SAAMd,EAAO,EAAb,CAsCM,OAN7B,CAOE,YAAY,CAAEO,CAAa,CAtCN,QAAnBQ,iBAAmB,SAAMb,EAAQ,EAAd,CAsCM,OAP7B,EAQMN,CARN,EAUGW,CAAa,EAAqB,MAAjB,GAAArB,CAAjB,EACC,oBAAC,aAAD,EACE,SAAS,CAAEP,cAAc,CAAC,OAAD,CAD3B,CAEE,OAAO,CAAE2B,CAFX,CAGE,YAAY,CAAEK,CAHhB,CAIE,SAAS,CAAEJ,CAJb,CAKE,MAAM,CAAEC,CALV,EAXJ,CAmBGrB,CAAI,GACDqB,CAAkB,EAAqB,OAAjB,GAAAtB,CAAvB,EACkB,OAAjB,GAAAA,CAFC,CAAJ,EAGG,oBAAC,CAAD,EAAM,SAAS,CAAEP,cAAc,CAAC,MAAD,CAA/B,CAAyC,IAAI,CAAC,GAA9C,EAtBN,CAwBE,2BAAK,SAAS,CAAEA,cAAc,CAAC,SAAD,CAA9B,EACGV,QAAQ,CAACqB,CAAD,CAAR,EAAqBtB,QAAQ,CAACsB,CAAD,CAA7B,CACC,oBAAC,IAAD,EAAM,SAAS,CAAEX,cAAc,CAAC,SAAD,CAA/B,CAA4C,UAAU,CAAC,GAAvD,EACGW,CADH,CADD,CAKCA,CANJ,CAQGC,CAAO,EACN,oBAAC,oBAAD,EACE,OAAO,CAAEA,CADX,CAEE,SAAS,CAAEZ,cAAc,CAAC,cAAD,CAF3B,EATJ,CAxBF,CAuCGM,CAAO,EACN,oBAAC,MAAD,EACE,SAAS,CAAEN,cAAc,CAAC,aAAD,CAD3B,CAEE,IAAI,CAAC,OAFP,CAGE,QAAQ,CAAEjB,SAHZ,CAIE,IAAI,CAAC,OAJP,CAKE,IAAI,CAAC,QALP,CAME,IAAI,CAAC,IANP,CAOE,OAAO,CAAEkD,CAPX,EAxCJ,CAkDGL,CAAa,EAAqB,MAAjB,GAAArB,CAAjB,EACC,oBAAC,YAAD,EACE,SAAS,CAAEP,cAAc,CAAC,MAAD,CAD3B,CAEE,OAAO,CAAE2B,CAFX,CAGE,YAAY,CAAEK,CAHhB,CAIE,SAAS,CAAEJ,CAJb,EAnDJ,CA4DH,CAtHM,CAwHP,MAAO,IAAMS,aAAY,CAAGrD,KAAK,CAACsD,UAAN,CAC1BnC,kBAD0B,CAArB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","items","value","getItemLabel","getItemDisabled","getItemCompleted","getItemSkipped","onChange","className"];import"./Steps.css";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{forwardRef,useMemo,useRef,useState}from"react";import{useChoiceGroup}from"../../hooks/useChoiceGroup/useChoiceGroup";import{useOverflow}from"../../hooks/useOverflow/useOverflow";import{useScrollElements}from"../../hooks/useScrollElements/useScrollElements";import{cn}from"../../utils/bem";import{Button}from"../Button/Button";import{withDefaultGetters}from"./helper";import{StepsStep}from"./StepsStep/StepsStep";import{stepsDefaultSize}from"./types";export var cnSteps=cn("Steps");var StepsRender=function(a,b){var c=withDefaultGetters(a),d=c.size,e=void 0===d?stepsDefaultSize:d,f=c.items,g=c.value,h=c.getItemLabel,i=c.getItemDisabled,j=c.getItemCompleted,k=c.getItemSkipped,l=c.onChange,m=c.className,n=_objectWithoutProperties(c,_excluded),o=useState(-1),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useChoiceGroup({value:g,getKey:h,callBack:l,multiple:!1}),t=s.getOnChange,u=s.getChecked;useMemo(function(){f.forEach(function(a,b){u(a)&&r(b)})},[f,g]);var v=useScrollElements(f),w=v.refs,x=v.scrollTo,y=useRef(null),z=useOverflow({currentRef:y}),A=function(a,b){b&&0!==q&&(t(f[q-1])(a),x(q-1)),b||q===f.length-1||(t(f[q+1])(a),x(q+1))};return React.createElement("div",Object.assign({ref:b,className:cnSteps({size:e},[m])},n),z&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowLeft,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",className:cnSteps("Button",{side:"left"}),onClick:function onClick(a){return A(a,!0)}}),React.createElement("div",{ref:y,className:cnSteps("List")},f.map(function(a,b){return React.createElement(StepsStep,{key:b,ref:w[b],className:cnSteps("Item"),label:null!==j&&void 0!==j&&j(a)?h(a):"".concat(b+1," ").concat(h(a)),size:e,active:q===b,onChange:t(a),completed:null===j||void 0===j?void 0:j(a),skipped:null===k||void 0===k?void 0:k(a),disabled:null===i||void 0===i?void 0:i(a)})})),z&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowRight,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",className:cnSteps("Button",{side:"right"}),onClick:function onClick(a){return A(a,!1)}}))};export var Steps=forwardRef(StepsRender);export*from"./types";
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","items","value","getItemLabel","getItemDisabled","getItemCompleted","getItemSkipped","onChange","className"];import"./Steps.css";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{forwardRef,useMemo,useRef,useState}from"react";import{useChoiceGroup}from"../../hooks/useChoiceGroup/useChoiceGroup";import{useOverflow}from"../../hooks/useOverflow/useOverflow";import{useScrollElements}from"../../hooks/useScrollElements/useScrollElements";import{cn}from"../../utils/bem";import{Button}from"../Button/Button";import{withDefaultGetters}from"./helper";import{StepsStep}from"./StepsStep/StepsStep";import{stepsDefaultSize}from"./types";export var cnSteps=cn("Steps");var StepsRender=function(a,b){var c=withDefaultGetters(a),d=c.size,e=void 0===d?stepsDefaultSize:d,f=c.items,g=c.value,h=c.getItemLabel,i=c.getItemDisabled,j=c.getItemCompleted,k=c.getItemSkipped,l=c.onChange,m=c.className,n=_objectWithoutProperties(c,_excluded),o=useState(-1),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useChoiceGroup({value:g,getKey:h,callBack:l,multiple:!1}),t=s.getOnChange,u=s.getChecked;useMemo(function(){f.forEach(function(a,b){u(a)&&r(b)})},[f,g]);var v=useScrollElements(f),w=v.refs,x=v.scrollTo,y=useRef(null),z=useOverflow({currentRef:y}),A=function(a,b){b&&0!==q&&(t(f[q-1])(a),x(q-1)),b||q===f.length-1||(t(f[q+1])(a),x(q+1))};return React.createElement("div",Object.assign({ref:b,className:cnSteps({size:e},[m])},n),z&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowLeft,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",type:"button",className:cnSteps("Button",{side:"left"}),onClick:function onClick(a){return A(a,!0)}}),React.createElement("div",{ref:y,className:cnSteps("List")},f.map(function(a,b){return React.createElement(StepsStep,{key:b,ref:w[b],className:cnSteps("Item"),label:null!==j&&void 0!==j&&j(a)?h(a):"".concat(b+1," ").concat(h(a)),size:e,active:q===b,onChange:t(a),completed:null===j||void 0===j?void 0:j(a),skipped:null===k||void 0===k?void 0:k(a),disabled:null===i||void 0===i?void 0:i(a)})})),z&&React.createElement(Button,{iconLeft:function iconLeft(){return React.createElement(IconArrowRight,{size:"xs"})},view:"clear",onlyIcon:!0,size:"xs",type:"button",className:cnSteps("Button",{side:"right"}),onClick:function onClick(a){return A(a,!1)}}))};export var Steps=forwardRef(StepsRender);export*from"./types";
|
|
2
2
|
//# sourceMappingURL=Steps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Steps.js","names":["IconArrowLeft","IconArrowRight","React","forwardRef","useMemo","useRef","useState","useChoiceGroup","useOverflow","useScrollElements","cn","Button","withDefaultGetters","StepsStep","stepsDefaultSize","cnSteps","StepsRender","props","ref","size","items","value","getItemLabel","getItemDisabled","getItemCompleted","getItemSkipped","onChange","className","otherProps","activeStep","setActiveStep","getKey","callBack","multiple","getOnChange","getChecked","forEach","item","index","refs","scrollTo","stepsRef","isOverflow","currentRef","changeStep","e","prev","length","side","map","Steps"],"sources":["../../../../../src/components/Steps/Steps.tsx"],"sourcesContent":["import './Steps.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';\nimport { useOverflow } from '../../hooks/useOverflow/useOverflow';\nimport { useScrollElements } from '../../hooks/useScrollElements/useScrollElements';\nimport { cn } from '../../utils/bem';\nimport { Button } from '../Button/Button';\nimport { withDefaultGetters } from './helper';\nimport { StepsStep } from './StepsStep/StepsStep';\nimport { StepsCompnent, stepsDefaultSize, StepsProps } from './types';\n\nexport const cnSteps = cn('Steps');\n\nconst StepsRender = (props: StepsProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n size = stepsDefaultSize,\n items,\n value,\n getItemLabel,\n getItemDisabled,\n getItemCompleted,\n getItemSkipped,\n onChange,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [activeStep, setActiveStep] = useState<number>(-1);\n\n const { getOnChange, getChecked } = useChoiceGroup({\n value,\n getKey: getItemLabel,\n callBack: onChange,\n multiple: false,\n });\n\n useMemo(() => {\n items.forEach((item, index) => {\n if (getChecked(item)) {\n setActiveStep(index);\n }\n });\n }, [items, value]);\n\n const { refs, scrollTo } = useScrollElements(items);\n\n const stepsRef = useRef<HTMLDivElement>(null);\n\n const isOverflow = useOverflow({ currentRef: stepsRef });\n\n const changeStep = (e: React.MouseEvent, prev: boolean) => {\n if (prev && activeStep !== 0) {\n getOnChange(items[activeStep - 1])(e);\n scrollTo(activeStep - 1);\n }\n if (!prev && activeStep !== items.length - 1) {\n getOnChange(items[activeStep + 1])(e);\n scrollTo(activeStep + 1);\n }\n };\n\n return (\n <div ref={ref} className={cnSteps({ size }, [className])} {...otherProps}>\n {isOverflow && (\n <Button\n iconLeft={() => <IconArrowLeft size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n className={cnSteps('Button', { side: 'left' })}\n onClick={(e) => changeStep(e, true)}\n />\n )}\n <div ref={stepsRef} className={cnSteps('List')}>\n {items.map((item, index) => (\n <StepsStep\n key={index}\n ref={refs[index] as React.RefObject<HTMLButtonElement>}\n className={cnSteps('Item')}\n label={\n getItemCompleted?.(item)\n ? getItemLabel(item)\n : `${index + 1} ${getItemLabel(item)}`\n }\n size={size}\n active={activeStep === index}\n onChange={getOnChange(item)}\n completed={getItemCompleted?.(item)}\n skipped={getItemSkipped?.(item)}\n disabled={getItemDisabled?.(item)}\n />\n ))}\n </div>\n {isOverflow && (\n <Button\n iconLeft={() => <IconArrowRight size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n className={cnSteps('Button', { side: 'right' })}\n onClick={(e) => changeStep(e, false)}\n />\n )}\n </div>\n );\n};\n\nexport const Steps = forwardRef(StepsRender) as StepsCompnent;\n\nexport * from './types';\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Steps.js","names":["IconArrowLeft","IconArrowRight","React","forwardRef","useMemo","useRef","useState","useChoiceGroup","useOverflow","useScrollElements","cn","Button","withDefaultGetters","StepsStep","stepsDefaultSize","cnSteps","StepsRender","props","ref","size","items","value","getItemLabel","getItemDisabled","getItemCompleted","getItemSkipped","onChange","className","otherProps","activeStep","setActiveStep","getKey","callBack","multiple","getOnChange","getChecked","forEach","item","index","refs","scrollTo","stepsRef","isOverflow","currentRef","changeStep","e","prev","length","side","map","Steps"],"sources":["../../../../../src/components/Steps/Steps.tsx"],"sourcesContent":["import './Steps.css';\n\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';\nimport { useOverflow } from '../../hooks/useOverflow/useOverflow';\nimport { useScrollElements } from '../../hooks/useScrollElements/useScrollElements';\nimport { cn } from '../../utils/bem';\nimport { Button } from '../Button/Button';\nimport { withDefaultGetters } from './helper';\nimport { StepsStep } from './StepsStep/StepsStep';\nimport { StepsCompnent, stepsDefaultSize, StepsProps } from './types';\n\nexport const cnSteps = cn('Steps');\n\nconst StepsRender = (props: StepsProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n size = stepsDefaultSize,\n items,\n value,\n getItemLabel,\n getItemDisabled,\n getItemCompleted,\n getItemSkipped,\n onChange,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [activeStep, setActiveStep] = useState<number>(-1);\n\n const { getOnChange, getChecked } = useChoiceGroup({\n value,\n getKey: getItemLabel,\n callBack: onChange,\n multiple: false,\n });\n\n useMemo(() => {\n items.forEach((item, index) => {\n if (getChecked(item)) {\n setActiveStep(index);\n }\n });\n }, [items, value]);\n\n const { refs, scrollTo } = useScrollElements(items);\n\n const stepsRef = useRef<HTMLDivElement>(null);\n\n const isOverflow = useOverflow({ currentRef: stepsRef });\n\n const changeStep = (e: React.MouseEvent, prev: boolean) => {\n if (prev && activeStep !== 0) {\n getOnChange(items[activeStep - 1])(e);\n scrollTo(activeStep - 1);\n }\n if (!prev && activeStep !== items.length - 1) {\n getOnChange(items[activeStep + 1])(e);\n scrollTo(activeStep + 1);\n }\n };\n\n return (\n <div ref={ref} className={cnSteps({ size }, [className])} {...otherProps}>\n {isOverflow && (\n <Button\n iconLeft={() => <IconArrowLeft size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n type=\"button\"\n className={cnSteps('Button', { side: 'left' })}\n onClick={(e) => changeStep(e, true)}\n />\n )}\n <div ref={stepsRef} className={cnSteps('List')}>\n {items.map((item, index) => (\n <StepsStep\n key={index}\n ref={refs[index] as React.RefObject<HTMLButtonElement>}\n className={cnSteps('Item')}\n label={\n getItemCompleted?.(item)\n ? getItemLabel(item)\n : `${index + 1} ${getItemLabel(item)}`\n }\n size={size}\n active={activeStep === index}\n onChange={getOnChange(item)}\n completed={getItemCompleted?.(item)}\n skipped={getItemSkipped?.(item)}\n disabled={getItemDisabled?.(item)}\n />\n ))}\n </div>\n {isOverflow && (\n <Button\n iconLeft={() => <IconArrowRight size=\"xs\" />}\n view=\"clear\"\n onlyIcon\n size=\"xs\"\n type=\"button\"\n className={cnSteps('Button', { side: 'right' })}\n onClick={(e) => changeStep(e, false)}\n />\n )}\n </div>\n );\n};\n\nexport const Steps = forwardRef(StepsRender) as StepsCompnent;\n\nexport * from './types';\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./TableFilterContainer.css";import React from"react";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";var cnTableFilterContainer=cn("TableFilterContainer");export var TableFilterContainer=function(a){var b=a.onConfirm,c=a.title,d=a.confirmButtonLabel,e=void 0===d?"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C":d,f=a.cancelButtonLabel,g=void 0===f?"\u041E\u0442\u043C\u0435\u043D\u0430":f,h=a.onCancel,i=a.children,j=a.className;return React.createElement("div",{className:cnTableFilterContainer(null,[j])},c&&React.createElement(Text,{view:"primary",size:"m",className:cnTableFilterContainer("Title"),lineHeight:"l"},c),i,React.createElement("div",{className:cnTableFilterContainer("Buttons")},React.createElement(Button,{label:g,size:"s",view:"ghost",onClick:h}),React.createElement(Button,{label:e,size:"s",view:"primary",onClick:b})))};
|
|
1
|
+
import"./TableFilterContainer.css";import React from"react";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";var cnTableFilterContainer=cn("TableFilterContainer");export var TableFilterContainer=function(a){var b=a.onConfirm,c=a.title,d=a.confirmButtonLabel,e=void 0===d?"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C":d,f=a.cancelButtonLabel,g=void 0===f?"\u041E\u0442\u043C\u0435\u043D\u0430":f,h=a.onCancel,i=a.children,j=a.className;return React.createElement("div",{className:cnTableFilterContainer(null,[j])},c&&React.createElement(Text,{view:"primary",size:"m",className:cnTableFilterContainer("Title"),lineHeight:"l"},c),i,React.createElement("div",{className:cnTableFilterContainer("Buttons")},React.createElement(Button,{type:"button",label:g,size:"s",view:"ghost",onClick:h}),React.createElement(Button,{type:"button",label:e,size:"s",view:"primary",onClick:b})))};
|
|
2
2
|
//# sourceMappingURL=TableFilterContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableFilterContainer.js","names":["React","cn","Button","Text","cnTableFilterContainer","TableFilterContainer","onConfirm","title","confirmButtonLabel","cancelButtonLabel","onCancel","children","className"],"sources":["../../../../../../src/components/Table/FilterContainer/TableFilterContainer.tsx"],"sourcesContent":["import './TableFilterContainer.css';\n\nimport React from 'react';\n\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\n\nconst cnTableFilterContainer = cn('TableFilterContainer');\n\nexport type TableFilterContainerProps = {\n onCancel: () => void;\n onConfirm: () => void;\n title?: string;\n confirmButtonLabel?: string;\n cancelButtonLabel?: string;\n className?: string;\n children?: React.ReactNode;\n};\n\nexport const TableFilterContainer: React.FC<TableFilterContainerProps> = ({\n onConfirm,\n title,\n confirmButtonLabel = 'Применить',\n cancelButtonLabel = 'Отмена',\n onCancel,\n children,\n className,\n}) => {\n return (\n <div className={cnTableFilterContainer(null, [className])}>\n {title && (\n <Text\n view=\"primary\"\n size=\"m\"\n className={cnTableFilterContainer('Title')}\n lineHeight=\"l\"\n >\n {title}\n </Text>\n )}\n {children}\n <div className={cnTableFilterContainer('Buttons')}>\n <Button\n label={cancelButtonLabel}\n size=\"s\"\n view=\"ghost\"\n onClick={onCancel}\n />\n <Button\n label={confirmButtonLabel}\n size=\"s\"\n view=\"primary\"\n onClick={onConfirm}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,mCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BACA,OAASC,MAAT,2BACA,OAASC,IAAT,uBAEA,GAAMC,uBAAsB,CAAGH,EAAE,CAAC,sBAAD,CAAjC,CAYA,MAAO,IAAMI,qBAAyD,CAAG,WAQnE,IAPJC,EAOI,GAPJA,SAOI,CANJC,CAMI,GANJA,KAMI,KALJC,kBAKI,CALJA,CAKI,YALiB,wDAKjB,OAJJC,iBAII,CAJJA,CAII,YAJgB,sCAIhB,GAHJC,CAGI,GAHJA,QAGI,CAFJC,CAEI,GAFJA,QAEI,CADJC,CACI,GADJA,SACI,CACJ,MACE,4BAAK,SAAS,CAAER,sBAAsB,CAAC,IAAD,CAAO,CAACQ,CAAD,CAAP,CAAtC,EACGL,CAAK,EACJ,oBAAC,IAAD,EACE,IAAI,CAAC,SADP,CAEE,IAAI,CAAC,GAFP,CAGE,SAAS,CAAEH,sBAAsB,CAAC,OAAD,CAHnC,CAIE,UAAU,CAAC,GAJb,EAMGG,CANH,CAFJ,CAWGI,CAXH,CAYE,2BAAK,SAAS,CAAEP,sBAAsB,CAAC,SAAD,CAAtC,EACE,oBAAC,MAAD,EACE,KAAK,CAAEK,
|
|
1
|
+
{"version":3,"file":"TableFilterContainer.js","names":["React","cn","Button","Text","cnTableFilterContainer","TableFilterContainer","onConfirm","title","confirmButtonLabel","cancelButtonLabel","onCancel","children","className"],"sources":["../../../../../../src/components/Table/FilterContainer/TableFilterContainer.tsx"],"sourcesContent":["import './TableFilterContainer.css';\n\nimport React from 'react';\n\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\nimport { Text } from '../../Text/Text';\n\nconst cnTableFilterContainer = cn('TableFilterContainer');\n\nexport type TableFilterContainerProps = {\n onCancel: () => void;\n onConfirm: () => void;\n title?: string;\n confirmButtonLabel?: string;\n cancelButtonLabel?: string;\n className?: string;\n children?: React.ReactNode;\n};\n\nexport const TableFilterContainer: React.FC<TableFilterContainerProps> = ({\n onConfirm,\n title,\n confirmButtonLabel = 'Применить',\n cancelButtonLabel = 'Отмена',\n onCancel,\n children,\n className,\n}) => {\n return (\n <div className={cnTableFilterContainer(null, [className])}>\n {title && (\n <Text\n view=\"primary\"\n size=\"m\"\n className={cnTableFilterContainer('Title')}\n lineHeight=\"l\"\n >\n {title}\n </Text>\n )}\n {children}\n <div className={cnTableFilterContainer('Buttons')}>\n <Button\n type=\"button\"\n label={cancelButtonLabel}\n size=\"s\"\n view=\"ghost\"\n onClick={onCancel}\n />\n <Button\n type=\"button\"\n label={confirmButtonLabel}\n size=\"s\"\n view=\"primary\"\n onClick={onConfirm}\n />\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,mCAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BACA,OAASC,MAAT,2BACA,OAASC,IAAT,uBAEA,GAAMC,uBAAsB,CAAGH,EAAE,CAAC,sBAAD,CAAjC,CAYA,MAAO,IAAMI,qBAAyD,CAAG,WAQnE,IAPJC,EAOI,GAPJA,SAOI,CANJC,CAMI,GANJA,KAMI,KALJC,kBAKI,CALJA,CAKI,YALiB,wDAKjB,OAJJC,iBAII,CAJJA,CAII,YAJgB,sCAIhB,GAHJC,CAGI,GAHJA,QAGI,CAFJC,CAEI,GAFJA,QAEI,CADJC,CACI,GADJA,SACI,CACJ,MACE,4BAAK,SAAS,CAAER,sBAAsB,CAAC,IAAD,CAAO,CAACQ,CAAD,CAAP,CAAtC,EACGL,CAAK,EACJ,oBAAC,IAAD,EACE,IAAI,CAAC,SADP,CAEE,IAAI,CAAC,GAFP,CAGE,SAAS,CAAEH,sBAAsB,CAAC,OAAD,CAHnC,CAIE,UAAU,CAAC,GAJb,EAMGG,CANH,CAFJ,CAWGI,CAXH,CAYE,2BAAK,SAAS,CAAEP,sBAAsB,CAAC,SAAD,CAAtC,EACE,oBAAC,MAAD,EACE,IAAI,CAAC,QADP,CAEE,KAAK,CAAEK,CAFT,CAGE,IAAI,CAAC,GAHP,CAIE,IAAI,CAAC,OAJP,CAKE,OAAO,CAAEC,CALX,EADF,CAQE,oBAAC,MAAD,EACE,IAAI,CAAC,QADP,CAEE,KAAK,CAAEF,CAFT,CAGE,IAAI,CAAC,GAHP,CAIE,IAAI,CAAC,SAJP,CAKE,OAAO,CAAEF,CALX,EARF,CAZF,CA8BH,CAxCM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import"./TableFilterTooltip.css";import{IconFunnel}from"@consta/icons/IconFunnel";import React,{useRef,useState}from"react";import{Transition}from"react-transition-group";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{Popover}from"../../Popover/Popover";import{Text}from"../../Text/Text";var cnTableFilterTooltip=cn("TableFilterTooltip");export var TableFilterTooltip=function(a){var b=a.field,c=a.isOpened,d=a.options,e=a.values,f=a.className,g=a.children,h=a.onChange,i=a.onToggle,j=useState("downRight"),k=_slicedToArray(j,2),l=k[0],m=k[1],n=useRef(null),o=useRef(null);return React.createElement(React.Fragment,null,React.createElement(Button,{ref:n,size:"xs",iconSize:"s",view:"clear",onlyIcon:!0,onClick:i,className:cnTableFilterTooltip("Button",{isOpened:c},[f]),iconLeft:IconFunnel}),React.createElement(Transition,{in:c,unmountOnExit:!0,nodeRef:o,timeout:animateTimeout},function(a){return React.createElement(Popover,{anchorRef:n,possibleDirections:["downRight","downLeft"],direction:"downRight",offset:4,arrowOffset:12,ref:o,onSetDirection:m,onClickOutside:i,className:cnTableFilterTooltip("Popover",[cnMixPopoverAnimate({animate:a,direction:l})])},g||React.createElement("div",{className:cnTableFilterTooltip("Content")},React.createElement(Text,{as:"div",size:"xs",view:"primary",className:cnTableFilterTooltip("Title")},"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E \u0443\u0441\u043B\u043E\u0432\u0438\u044E"),React.createElement("select",{className:cnTableFilterTooltip("Select"),value:_toConsumableArray(e),multiple:!0,onChange:function onChange(a){h(b,Array.from(a.target.selectedOptions).map(function(a){return a.value}))}},d.map(function(a){return React.createElement("option",{key:a.value,className:cnTableFilterTooltip("Option"),value:a.value,title:a.label},a.label)}))))}))};
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import"./TableFilterTooltip.css";import{IconFunnel}from"@consta/icons/IconFunnel";import React,{useRef,useState}from"react";import{Transition}from"react-transition-group";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{Button}from"../../Button/Button";import{Popover}from"../../Popover/Popover";import{Text}from"../../Text/Text";var cnTableFilterTooltip=cn("TableFilterTooltip");export var TableFilterTooltip=function(a){var b=a.field,c=a.isOpened,d=a.options,e=a.values,f=a.className,g=a.children,h=a.onChange,i=a.onToggle,j=useState("downRight"),k=_slicedToArray(j,2),l=k[0],m=k[1],n=useRef(null),o=useRef(null);return React.createElement(React.Fragment,null,React.createElement(Button,{type:"button",ref:n,size:"xs",iconSize:"s",view:"clear",onlyIcon:!0,onClick:i,className:cnTableFilterTooltip("Button",{isOpened:c},[f]),iconLeft:IconFunnel}),React.createElement(Transition,{in:c,unmountOnExit:!0,nodeRef:o,timeout:animateTimeout},function(a){return React.createElement(Popover,{anchorRef:n,possibleDirections:["downRight","downLeft"],direction:"downRight",offset:4,arrowOffset:12,ref:o,onSetDirection:m,onClickOutside:i,className:cnTableFilterTooltip("Popover",[cnMixPopoverAnimate({animate:a,direction:l})])},g||React.createElement("div",{className:cnTableFilterTooltip("Content")},React.createElement(Text,{as:"div",size:"xs",view:"primary",className:cnTableFilterTooltip("Title")},"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E \u0443\u0441\u043B\u043E\u0432\u0438\u044E"),React.createElement("select",{className:cnTableFilterTooltip("Select"),value:_toConsumableArray(e),multiple:!0,onChange:function onChange(a){h(b,Array.from(a.target.selectedOptions).map(function(a){return a.value}))}},d.map(function(a){return React.createElement("option",{key:a.value,className:cnTableFilterTooltip("Option"),value:a.value,title:a.label},a.label)}))))}))};
|
|
2
2
|
//# sourceMappingURL=TableFilterTooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableFilterTooltip.js","names":["IconFunnel","React","useRef","useState","Transition","animateTimeout","cnMixPopoverAnimate","cn","Button","Popover","Text","cnTableFilterTooltip","TableFilterTooltip","field","isOpened","options","values","className","children","onChange","onToggle","direction","setDirection","buttonRef","popoverRef","animate","e","Array","from","target","selectedOptions","map","option","value","label"],"sources":["../../../../../../src/components/Table/FilterTooltip/TableFilterTooltip.tsx"],"sourcesContent":["import './TableFilterTooltip.css';\n\nimport { IconFunnel } from '@consta/icons/IconFunnel';\nimport React, { useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\nimport { Direction, Popover } from '../../Popover/Popover';\nimport { Text } from '../../Text/Text';\n\nconst cnTableFilterTooltip = cn('TableFilterTooltip');\n\ntype Values = string[];\n\ntype Props = {\n options: Array<{\n value: Values[number];\n label: string;\n }>;\n values: Values;\n field: string;\n isOpened: boolean;\n onChange: (field: string, values: Values) => void;\n onToggle: () => void;\n className?: string;\n children?: React.ReactNode;\n};\n\nexport const TableFilterTooltip: React.FC<Props> = ({\n field,\n isOpened,\n options,\n values,\n className,\n children,\n onChange,\n onToggle,\n}) => {\n const [direction, setDirection] = useState<Direction>('downRight');\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n return (\n <>\n <Button\n ref={buttonRef}\n size=\"xs\"\n iconSize=\"s\"\n view=\"clear\"\n onlyIcon\n onClick={onToggle}\n className={cnTableFilterTooltip('Button', { isOpened }, [className])}\n iconLeft={IconFunnel}\n />\n <Transition\n in={isOpened}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => (\n <Popover\n anchorRef={buttonRef}\n possibleDirections={['downRight', 'downLeft']}\n direction=\"downRight\"\n offset={4}\n arrowOffset={12}\n ref={popoverRef}\n onSetDirection={setDirection}\n onClickOutside={onToggle}\n className={cnTableFilterTooltip('Popover', [\n cnMixPopoverAnimate({ animate, direction }),\n ])}\n >\n {children || (\n <div className={cnTableFilterTooltip('Content')}>\n <Text\n as=\"div\"\n size=\"xs\"\n view=\"primary\"\n className={cnTableFilterTooltip('Title')}\n >\n Фильтровать по условию\n </Text>\n <select\n className={cnTableFilterTooltip('Select')}\n value={[...values]}\n multiple\n onChange={(e): void => {\n onChange(\n field,\n Array.from(e.target.selectedOptions).map(\n (option) => option.value,\n ),\n );\n }}\n >\n {options.map((option) => (\n <option\n key={option.value}\n className={cnTableFilterTooltip('Option')}\n value={option.value}\n title={option.label}\n >\n {option.label}\n </option>\n ))}\n </select>\n </div>\n )}\n </Popover>\n )}\n </Transition>\n </>\n );\n};\n"],"mappings":"0IAAA,iCAEA,OAASA,UAAT,KAA2B,0BAA3B,CACA,MAAOC,MAAP,EAAgBC,MAAhB,CAAwBC,QAAxB,KAAwC,OAAxC,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,cADF,CAEEC,mBAFF,yDAIA,OAASC,EAAT,0BACA,OAASC,MAAT,2BACA,OAAoBC,OAApB,6BACA,OAASC,IAAT,uBAEA,GAAMC,qBAAoB,CAAGJ,EAAE,CAAC,oBAAD,CAA/B,CAkBA,MAAO,IAAMK,mBAAmC,CAAG,WAS7C,IARJC,EAQI,GARJA,KAQI,CAPJC,CAOI,GAPJA,QAOI,CANJC,CAMI,GANJA,OAMI,CALJC,CAKI,GALJA,MAKI,CAJJC,CAII,GAJJA,SAII,CAHJC,CAGI,GAHJA,QAGI,CAFJC,CAEI,GAFJA,QAEI,CADJC,CACI,GADJA,QACI,GAC8BjB,QAAQ,CAAY,WAAZ,CADtC,uBACGkB,CADH,MACcC,CADd,MAGEC,CAAS,CAAGrB,MAAM,CAAoB,IAApB,CAHpB,CAIEsB,CAAU,CAAGtB,MAAM,CAAiB,IAAjB,CAJrB,CAMJ,MACE,yCACE,oBAAC,MAAD,EACE,GAAG,CAAEqB,
|
|
1
|
+
{"version":3,"file":"TableFilterTooltip.js","names":["IconFunnel","React","useRef","useState","Transition","animateTimeout","cnMixPopoverAnimate","cn","Button","Popover","Text","cnTableFilterTooltip","TableFilterTooltip","field","isOpened","options","values","className","children","onChange","onToggle","direction","setDirection","buttonRef","popoverRef","animate","e","Array","from","target","selectedOptions","map","option","value","label"],"sources":["../../../../../../src/components/Table/FilterTooltip/TableFilterTooltip.tsx"],"sourcesContent":["import './TableFilterTooltip.css';\n\nimport { IconFunnel } from '@consta/icons/IconFunnel';\nimport React, { useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { Button } from '../../Button/Button';\nimport { Direction, Popover } from '../../Popover/Popover';\nimport { Text } from '../../Text/Text';\n\nconst cnTableFilterTooltip = cn('TableFilterTooltip');\n\ntype Values = string[];\n\ntype Props = {\n options: Array<{\n value: Values[number];\n label: string;\n }>;\n values: Values;\n field: string;\n isOpened: boolean;\n onChange: (field: string, values: Values) => void;\n onToggle: () => void;\n className?: string;\n children?: React.ReactNode;\n};\n\nexport const TableFilterTooltip: React.FC<Props> = ({\n field,\n isOpened,\n options,\n values,\n className,\n children,\n onChange,\n onToggle,\n}) => {\n const [direction, setDirection] = useState<Direction>('downRight');\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n return (\n <>\n <Button\n type=\"button\"\n ref={buttonRef}\n size=\"xs\"\n iconSize=\"s\"\n view=\"clear\"\n onlyIcon\n onClick={onToggle}\n className={cnTableFilterTooltip('Button', { isOpened }, [className])}\n iconLeft={IconFunnel}\n />\n <Transition\n in={isOpened}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => (\n <Popover\n anchorRef={buttonRef}\n possibleDirections={['downRight', 'downLeft']}\n direction=\"downRight\"\n offset={4}\n arrowOffset={12}\n ref={popoverRef}\n onSetDirection={setDirection}\n onClickOutside={onToggle}\n className={cnTableFilterTooltip('Popover', [\n cnMixPopoverAnimate({ animate, direction }),\n ])}\n >\n {children || (\n <div className={cnTableFilterTooltip('Content')}>\n <Text\n as=\"div\"\n size=\"xs\"\n view=\"primary\"\n className={cnTableFilterTooltip('Title')}\n >\n Фильтровать по условию\n </Text>\n <select\n className={cnTableFilterTooltip('Select')}\n value={[...values]}\n multiple\n onChange={(e): void => {\n onChange(\n field,\n Array.from(e.target.selectedOptions).map(\n (option) => option.value,\n ),\n );\n }}\n >\n {options.map((option) => (\n <option\n key={option.value}\n className={cnTableFilterTooltip('Option')}\n value={option.value}\n title={option.label}\n >\n {option.label}\n </option>\n ))}\n </select>\n </div>\n )}\n </Popover>\n )}\n </Transition>\n </>\n );\n};\n"],"mappings":"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"}
|