@foxford/ui 2.76.1 → 2.77.0-beta-90a741d-20250807
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/LICENSE +27 -0
- package/components/Accordion/Accordion.js +1 -1
- package/components/Accordion/Accordion.js.map +1 -1
- package/components/Accordion/Accordion.mjs +1 -1
- package/components/Accordion/Accordion.mjs.map +1 -1
- package/components/Accordion/hooks.js +1 -1
- package/components/Accordion/hooks.js.map +1 -1
- package/components/Accordion/hooks.mjs +1 -1
- package/components/Accordion/hooks.mjs.map +1 -1
- package/components/AccordionItem/AccordionItem.js +1 -1
- package/components/AccordionItem/AccordionItem.js.map +1 -1
- package/components/AccordionItem/AccordionItem.mjs +1 -1
- package/components/AccordionItem/AccordionItem.mjs.map +1 -1
- package/components/ActionBtn/ActionBtn.js +1 -1
- package/components/ActionBtn/ActionBtn.js.map +1 -1
- package/components/ActionBtn/ActionBtn.mjs +1 -1
- package/components/ActionBtn/ActionBtn.mjs.map +1 -1
- package/components/ActionBtn/style.js.map +1 -1
- package/components/ActionBtn/style.mjs.map +1 -1
- package/components/Alert/Alert.js +1 -1
- package/components/Alert/Alert.js.map +1 -1
- package/components/Alert/Alert.mjs +1 -1
- package/components/Alert/Alert.mjs.map +1 -1
- package/components/Amount/Amount.js +1 -1
- package/components/Amount/Amount.js.map +1 -1
- package/components/Amount/Amount.mjs +1 -1
- package/components/Amount/Amount.mjs.map +1 -1
- package/components/Amount/data/index.js.map +1 -1
- package/components/Amount/data/index.mjs.map +1 -1
- package/components/Amount/style.js.map +1 -1
- package/components/Amount/style.mjs.map +1 -1
- package/components/Anchor/Anchor.js +1 -1
- package/components/Anchor/Anchor.js.map +1 -1
- package/components/Anchor/Anchor.mjs +1 -1
- package/components/Anchor/Anchor.mjs.map +1 -1
- package/components/Arrow/Arrow.js.map +1 -1
- package/components/Arrow/Arrow.mjs.map +1 -1
- package/components/ArrowBadge/ArrowBadge.js.map +1 -1
- package/components/ArrowBadge/ArrowBadge.mjs.map +1 -1
- package/components/AspectRatio/style.js.map +1 -1
- package/components/AspectRatio/style.mjs.map +1 -1
- package/components/Avatar/Avatar.js +1 -1
- package/components/Avatar/Avatar.js.map +1 -1
- package/components/Avatar/Avatar.mjs +1 -1
- package/components/Avatar/Avatar.mjs.map +1 -1
- package/components/Avatar/utils.js.map +1 -1
- package/components/Avatar/utils.mjs.map +1 -1
- package/components/Badge/Badge.js +1 -1
- package/components/Badge/Badge.js.map +1 -1
- package/components/Badge/Badge.mjs +1 -1
- package/components/Badge/Badge.mjs.map +1 -1
- package/components/Button/Button.js +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Button/Button.mjs +1 -1
- package/components/Button/Button.mjs.map +1 -1
- package/components/Button/hooks.js.map +1 -1
- package/components/Button/hooks.mjs.map +1 -1
- package/components/Button/style.js.map +1 -1
- package/components/Button/style.mjs.map +1 -1
- package/components/Checkbox/Checkbox.js +1 -1
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mjs +1 -1
- package/components/Checkbox/Checkbox.mjs.map +1 -1
- package/components/Chip/Chip.js +1 -1
- package/components/Chip/Chip.js.map +1 -1
- package/components/Chip/Chip.mjs +1 -1
- package/components/Chip/Chip.mjs.map +1 -1
- package/components/Container/Container.js.map +1 -1
- package/components/Container/Container.mjs.map +1 -1
- package/components/Container/style.js.map +1 -1
- package/components/Container/style.mjs.map +1 -1
- package/components/ContextMenu/ContextMenu.js +1 -1
- package/components/ContextMenu/ContextMenu.js.map +1 -1
- package/components/ContextMenu/ContextMenu.mjs +1 -1
- package/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/components/ContextMenu/Item.js.map +1 -1
- package/components/ContextMenu/Item.mjs.map +1 -1
- package/components/ContextMenu/style.js.map +1 -1
- package/components/ContextMenu/style.mjs.map +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs.map +1 -1
- package/components/ContextMenu.Multilevel/Controls.js.map +1 -1
- package/components/ContextMenu.Multilevel/Controls.mjs.map +1 -1
- package/components/Dialog/Dialog.js.map +1 -1
- package/components/Dialog/Dialog.mjs.map +1 -1
- package/components/DialogComponent/DialogComponent.js +1 -1
- package/components/DialogComponent/DialogComponent.js.map +1 -1
- package/components/DialogComponent/DialogComponent.mjs +1 -1
- package/components/DialogComponent/DialogComponent.mjs.map +1 -1
- package/components/DialogComponent/style.js.map +1 -1
- package/components/DialogComponent/style.mjs.map +1 -1
- package/components/Divider/style.js.map +1 -1
- package/components/Divider/style.mjs.map +1 -1
- package/components/Dropdown/Dropdown.js +1 -1
- package/components/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.mjs +1 -1
- package/components/Dropdown/Dropdown.mjs.map +1 -1
- package/components/Dropdown/DropdownMenuNoOptions.js +1 -1
- package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -1
- package/components/Dropdown/DropdownMenuNoOptions.mjs +1 -1
- package/components/Dropdown/DropdownMenuNoOptions.mjs.map +1 -1
- package/components/Dropdown/hooks.js.map +1 -1
- package/components/Dropdown/hooks.mjs.map +1 -1
- package/components/FormInput/FormInput.js.map +1 -1
- package/components/FormInput/FormInput.mjs.map +1 -1
- package/components/FormInputLabel/FormInputLabel.js +1 -1
- package/components/FormInputLabel/FormInputLabel.js.map +1 -1
- package/components/FormInputLabel/FormInputLabel.mjs +1 -1
- package/components/FormInputLabel/FormInputLabel.mjs.map +1 -1
- package/components/FormLabel/FormLabel.js +1 -1
- package/components/FormLabel/FormLabel.js.map +1 -1
- package/components/FormLabel/FormLabel.mjs +1 -1
- package/components/FormLabel/FormLabel.mjs.map +1 -1
- package/components/Icon/Icon.js +1 -1
- package/components/Icon/Icon.js.map +1 -1
- package/components/Icon/Icon.mjs +1 -1
- package/components/Icon/Icon.mjs.map +1 -1
- package/components/Icon/bg-worker.js.map +1 -1
- package/components/Icon/bg-worker.mjs.map +1 -1
- package/components/Icon/list/default.js.map +1 -1
- package/components/Icon/list/default.mjs.map +1 -1
- package/components/Icon/list/icon-pack.js.map +1 -1
- package/components/Icon/list/icon-pack.mjs.map +1 -1
- package/components/IconButton/IconButton.js.map +1 -1
- package/components/IconButton/IconButton.mjs.map +1 -1
- package/components/Indicator/Indicator.js +1 -1
- package/components/Indicator/Indicator.js.map +1 -1
- package/components/Indicator/Indicator.mjs +1 -1
- package/components/Indicator/Indicator.mjs.map +1 -1
- package/components/Input/Input.js.map +1 -1
- package/components/Input/Input.mjs.map +1 -1
- package/components/Input/helpers.js.map +1 -1
- package/components/Input/helpers.mjs.map +1 -1
- package/components/Input.Phone/Input.Phone.js.map +1 -1
- package/components/Input.Phone/Input.Phone.mjs.map +1 -1
- package/components/InputCheckbox/InputCheckbox.js.map +1 -1
- package/components/InputCheckbox/InputCheckbox.mjs.map +1 -1
- package/components/InputRadio/InputRadio.js.map +1 -1
- package/components/InputRadio/InputRadio.mjs.map +1 -1
- package/components/ListItem/ListItem.js +1 -1
- package/components/ListItem/ListItem.js.map +1 -1
- package/components/ListItem/ListItem.mjs +1 -1
- package/components/ListItem/ListItem.mjs.map +1 -1
- package/components/Menu/Menu.js.map +1 -1
- package/components/Menu/Menu.mjs.map +1 -1
- package/components/MenuComponent/MenuComponent.js.map +1 -1
- package/components/MenuComponent/MenuComponent.mjs.map +1 -1
- package/components/MenuComponent/style.js +1 -1
- package/components/MenuComponent/style.js.map +1 -1
- package/components/MenuComponent/style.mjs +1 -1
- package/components/MenuComponent/style.mjs.map +1 -1
- package/components/MenuContainer/MenuContainer.js +1 -1
- package/components/MenuContainer/MenuContainer.js.map +1 -1
- package/components/MenuContainer/MenuContainer.mjs +1 -1
- package/components/MenuContainer/MenuContainer.mjs.map +1 -1
- package/components/MenuDivider/MenuDivider.js +1 -1
- package/components/MenuDivider/MenuDivider.js.map +1 -1
- package/components/MenuDivider/MenuDivider.mjs +1 -1
- package/components/MenuDivider/MenuDivider.mjs.map +1 -1
- package/components/MenuList/MenuList.js.map +1 -1
- package/components/MenuList/MenuList.mjs.map +1 -1
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.mjs.map +1 -1
- package/components/Modal/adapter.js.map +1 -1
- package/components/Modal/adapter.mjs.map +1 -1
- package/components/Modal/style.js +1 -1
- package/components/Modal/style.js.map +1 -1
- package/components/Modal/style.mjs +1 -1
- package/components/Modal/style.mjs.map +1 -1
- package/components/Notification/Notification.js +1 -1
- package/components/Notification/Notification.js.map +1 -1
- package/components/Notification/Notification.mjs +1 -1
- package/components/Notification/Notification.mjs.map +1 -1
- package/components/Paper/Paper.js.map +1 -1
- package/components/Paper/Paper.mjs.map +1 -1
- package/components/Paper/style.js.map +1 -1
- package/components/Paper/style.mjs.map +1 -1
- package/components/Popover/Popover.js.map +1 -1
- package/components/Popover/Popover.mjs.map +1 -1
- package/components/PopoverComponent/PopoverComponent.js +1 -1
- package/components/PopoverComponent/PopoverComponent.js.map +1 -1
- package/components/PopoverComponent/PopoverComponent.mjs +1 -1
- package/components/PopoverComponent/PopoverComponent.mjs.map +1 -1
- package/components/Progress/Progress.js.map +1 -1
- package/components/Progress/Progress.mjs.map +1 -1
- package/components/Progress/style.js +1 -1
- package/components/Progress/style.js.map +1 -1
- package/components/Progress/style.mjs +1 -1
- package/components/Progress/style.mjs.map +1 -1
- package/components/Progress.Circle/Progress.Circle.js +1 -1
- package/components/Progress.Circle/Progress.Circle.js.map +1 -1
- package/components/Progress.Circle/Progress.Circle.mjs +1 -1
- package/components/Progress.Circle/Progress.Circle.mjs.map +1 -1
- package/components/Progress.Circle/style.js +1 -1
- package/components/Progress.Circle/style.js.map +1 -1
- package/components/Progress.Circle/style.mjs +1 -1
- package/components/Progress.Circle/style.mjs.map +1 -1
- package/components/Progress.Segmented/Progress.Segmented.js.map +1 -1
- package/components/Progress.Segmented/Progress.Segmented.mjs.map +1 -1
- package/components/Progress.Segmented/style.js.map +1 -1
- package/components/Progress.Segmented/style.mjs.map +1 -1
- package/components/ProgressCircle/ProgressCircle.js +1 -1
- package/components/ProgressCircle/ProgressCircle.js.map +1 -1
- package/components/ProgressCircle/ProgressCircle.mjs +1 -1
- package/components/ProgressCircle/ProgressCircle.mjs.map +1 -1
- package/components/ProgressCircle/style.js +1 -1
- package/components/ProgressCircle/style.js.map +1 -1
- package/components/ProgressCircle/style.mjs +1 -1
- package/components/ProgressCircle/style.mjs.map +1 -1
- package/components/ProgressLine/ProgressLine.js +1 -1
- package/components/ProgressLine/ProgressLine.js.map +1 -1
- package/components/ProgressLine/ProgressLine.mjs +1 -1
- package/components/ProgressLine/ProgressLine.mjs.map +1 -1
- package/components/Radio/Group.js.map +1 -1
- package/components/Radio/Group.mjs.map +1 -1
- package/components/Radio/Radio.js +1 -1
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mjs +1 -1
- package/components/Radio/Radio.mjs.map +1 -1
- package/components/Radio/style.js.map +1 -1
- package/components/Radio/style.mjs.map +1 -1
- package/components/Scrollable/Scrollable.js +1 -1
- package/components/Scrollable/Scrollable.js.map +1 -1
- package/components/Scrollable/Scrollable.mjs +1 -1
- package/components/Scrollable/Scrollable.mjs.map +1 -1
- package/components/Section/Section.js.map +1 -1
- package/components/Section/Section.mjs.map +1 -1
- package/components/Section/style.js +1 -1
- package/components/Section/style.js.map +1 -1
- package/components/Section/style.mjs +1 -1
- package/components/Section/style.mjs.map +1 -1
- package/components/Select/Select.js.map +1 -1
- package/components/Select/Select.mjs.map +1 -1
- package/components/Select/style.js +1 -1
- package/components/Select/style.js.map +1 -1
- package/components/Select/style.mjs +1 -1
- package/components/Select/style.mjs.map +1 -1
- package/components/Separator/Separator.js.map +1 -1
- package/components/Separator/Separator.mjs.map +1 -1
- package/components/Separator/SeparatorText.js.map +1 -1
- package/components/Separator/SeparatorText.mjs.map +1 -1
- package/components/Separator/style.js +1 -1
- package/components/Separator/style.js.map +1 -1
- package/components/Separator/style.mjs +1 -1
- package/components/Separator/style.mjs.map +1 -1
- package/components/Spacer/Spacer.js.map +1 -1
- package/components/Spacer/Spacer.mjs.map +1 -1
- package/components/Spacer/style.js.map +1 -1
- package/components/Spacer/style.mjs.map +1 -1
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.mjs.map +1 -1
- package/components/Spinner/style.js +1 -1
- package/components/Spinner/style.js.map +1 -1
- package/components/Spinner/style.mjs +1 -1
- package/components/Spinner/style.mjs.map +1 -1
- package/components/Switch/Switch.js.map +1 -1
- package/components/Switch/Switch.mjs.map +1 -1
- package/components/Switcher/style.js.map +1 -1
- package/components/Switcher/style.mjs.map +1 -1
- package/components/Tab/Tab.js +1 -1
- package/components/Tab/Tab.js.map +1 -1
- package/components/Tab/Tab.mjs +1 -1
- package/components/Tab/Tab.mjs.map +1 -1
- package/components/TabList/TabList.js +1 -1
- package/components/TabList/TabList.js.map +1 -1
- package/components/TabList/TabList.mjs +1 -1
- package/components/TabList/TabList.mjs.map +1 -1
- package/components/TabList/TabListMenuTab.js +1 -1
- package/components/TabList/TabListMenuTab.js.map +1 -1
- package/components/TabList/TabListMenuTab.mjs +1 -1
- package/components/TabList/TabListMenuTab.mjs.map +1 -1
- package/components/TabList/TabListPanel.js.map +1 -1
- package/components/TabList/TabListPanel.mjs.map +1 -1
- package/components/TabList/hooks.js +1 -1
- package/components/TabList/hooks.js.map +1 -1
- package/components/TabList/hooks.mjs +1 -1
- package/components/TabList/hooks.mjs.map +1 -1
- package/components/TabList/style.js +1 -1
- package/components/TabList/style.js.map +1 -1
- package/components/TabList/style.mjs +1 -1
- package/components/TabList/style.mjs.map +1 -1
- package/components/TabListTab/TabListTab.js.map +1 -1
- package/components/TabListTab/TabListTab.mjs.map +1 -1
- package/components/TabListTab/style.js +1 -1
- package/components/TabListTab/style.js.map +1 -1
- package/components/TabListTab/style.mjs +1 -1
- package/components/TabListTab/style.mjs.map +1 -1
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.mjs.map +1 -1
- package/components/Tabs/style.js +1 -1
- package/components/Tabs/style.js.map +1 -1
- package/components/Tabs/style.mjs +1 -1
- package/components/Tabs/style.mjs.map +1 -1
- package/components/Tag/Tag.js +1 -1
- package/components/Tag/Tag.js.map +1 -1
- package/components/Tag/Tag.mjs +1 -1
- package/components/Tag/Tag.mjs.map +1 -1
- package/components/Tag/style.js +1 -1
- package/components/Tag/style.js.map +1 -1
- package/components/Tag/style.mjs +1 -1
- package/components/Tag/style.mjs.map +1 -1
- package/components/Text/Ellipsis.js +1 -1
- package/components/Text/Ellipsis.js.map +1 -1
- package/components/Text/Ellipsis.mjs +1 -1
- package/components/Text/Ellipsis.mjs.map +1 -1
- package/components/Text/Text.js.map +1 -1
- package/components/Text/Text.mjs.map +1 -1
- package/components/Text/style.js.map +1 -1
- package/components/Text/style.mjs.map +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
- package/components/Text.Ellipse/Text.Ellipse.mjs +1 -1
- package/components/Text.Ellipse/Text.Ellipse.mjs.map +1 -1
- package/components/Textarea/Textarea.js +1 -1
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.mjs +1 -1
- package/components/Textarea/Textarea.mjs.map +1 -1
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.mjs.map +1 -1
- package/components/Tooltip/TooltipWrapper.js.map +1 -1
- package/components/Tooltip/TooltipWrapper.mjs.map +1 -1
- package/components/TooltipComponent/TooltipComponent.js +1 -1
- package/components/TooltipComponent/TooltipComponent.js.map +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
- package/dts/index.d.ts +2630 -2557
- package/hocs/withMergedProps.js.map +1 -1
- package/hocs/withMergedProps.mjs.map +1 -1
- package/hocs/withTranslation.js +1 -1
- package/hocs/withTranslation.js.map +1 -1
- package/hocs/withTranslation.mjs +1 -1
- package/hocs/withTranslation.mjs.map +1 -1
- package/hooks/use-config-priority.js.map +1 -1
- package/hooks/use-config-priority.mjs +1 -1
- package/hooks/use-config-priority.mjs.map +1 -1
- package/hooks/useClickOutside.js.map +1 -1
- package/hooks/useClickOutside.mjs.map +1 -1
- package/hooks/useMergedPalette.js +1 -1
- package/hooks/useMergedPalette.js.map +1 -1
- package/hooks/useMergedPalette.mjs +1 -1
- package/hooks/useMergedPalette.mjs.map +1 -1
- package/hooks/useMergedProps.js.map +1 -1
- package/hooks/useMergedProps.mjs.map +1 -1
- package/hooks/useMergedSizes.js.map +1 -1
- package/hooks/useMergedSizes.mjs.map +1 -1
- package/hooks/useResizeObserver.js.map +1 -1
- package/hooks/useResizeObserver.mjs.map +1 -1
- package/hooks/useScrollMonitor.js +1 -1
- package/hooks/useScrollMonitor.js.map +1 -1
- package/hooks/useScrollMonitor.mjs +1 -1
- package/hooks/useScrollMonitor.mjs.map +1 -1
- package/hooks/useScrollThresholds.js.map +1 -1
- package/hooks/useScrollThresholds.mjs.map +1 -1
- package/mixins/color.js.map +1 -1
- package/mixins/color.mjs.map +1 -1
- package/mixins/create-responsive-props.js.map +1 -1
- package/mixins/create-responsive-props.mjs.map +1 -1
- package/mixins/display.js.map +1 -1
- package/mixins/display.mjs.map +1 -1
- package/mixins/responsive-margin.js.map +1 -1
- package/mixins/responsive-margin.mjs.map +1 -1
- package/mixins/responsive-property.js +1 -1
- package/mixins/responsive-property.js.map +1 -1
- package/mixins/responsive-property.mjs +1 -1
- package/mixins/responsive-property.mjs.map +1 -1
- package/mixins/screen.js +1 -1
- package/mixins/screen.js.map +1 -1
- package/mixins/screen.mjs +1 -1
- package/mixins/screen.mjs.map +1 -1
- package/mixins/shared.js +4 -4
- package/mixins/shared.js.map +1 -1
- package/mixins/shared.mjs +4 -4
- package/mixins/shared.mjs.map +1 -1
- package/mixins/vAlign.js.map +1 -1
- package/mixins/vAlign.mjs.map +1 -1
- package/package.json +7 -6
- package/shared/enums/sizeInput.js.map +1 -1
- package/shared/enums/sizeInput.mjs.map +1 -1
- package/shared/resize-observer.js.map +1 -1
- package/shared/resize-observer.mjs.map +1 -1
- package/shared/utils/colors.js.map +1 -1
- package/shared/utils/colors.mjs.map +1 -1
- package/shared/utils/dom.js.map +1 -1
- package/shared/utils/dom.mjs.map +1 -1
- package/shared/utils/react.js.map +1 -1
- package/shared/utils/react.mjs.map +1 -1
- package/shared/utils/rel-builder.js +1 -1
- package/shared/utils/rel-builder.js.map +1 -1
- package/shared/utils/rel-builder.mjs +1 -1
- package/shared/utils/rel-builder.mjs.map +1 -1
- package/theme/colors-dark.js.map +1 -1
- package/theme/colors-dark.mjs.map +1 -1
- package/theme/colors-light.js.map +1 -1
- package/theme/colors-light.mjs.map +1 -1
- package/theme/colors.js.map +1 -1
- package/theme/colors.mjs.map +1 -1
- package/theme/global-styled.js.map +1 -1
- package/theme/global-styled.mjs.map +1 -1
- package/theme/theme-provider.js.map +1 -1
- package/theme/theme-provider.mjs.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Spacer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'onClick'].includes(prop) || prop.includes('data-'),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","displayName","componentId","props","display","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","cssProperty","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Spacer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport type { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'onClick'].includes(prop) || prop.includes('data-'),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","displayName","componentId","props","display","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","cssProperty","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Spacer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'onClick'].includes(prop) || prop.includes('data-'),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","displayName","componentId","props","display","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","cssProperty","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Spacer/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { display } from 'mixins/display'\nimport { property, responsiveNamedProperty } from 'mixins/responsive-property'\nimport type { SpacerProps } from './Spacer'\n\nexport const Root = styled.div.withConfig<SpacerProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style', 'onClick'].includes(prop) || prop.includes('data-'),\n})`\n ${(props) => (props.display ? display(props.display) : null)}\n\n /** BEGIN paddings */\n ${(props) => (props.padding ? property(props.padding, 'padding') : null)}\n ${(props) => (props.paddingTop ? property(props.paddingTop, 'padding-top') : null)}\n ${(props) => (props.paddingRight ? property(props.paddingRight, 'padding-right') : null)}\n ${(props) => (props.paddingBottom ? property(props.paddingBottom, 'padding-bottom') : null)}\n ${(props) => (props.paddingLeft ? property(props.paddingLeft, 'padding-left') : null)}\n /** END paddings */ \n\n /** BEGIN margins */\n ${(props) => (props.margin ? property(props.margin, 'margin') : null)}\n ${(props) => (props.marginTop ? property(props.marginTop, 'margin-top') : null)}\n ${(props) => (props.marginRight ? property(props.marginRight, 'margin-right') : null)}\n ${(props) => (props.marginBottom ? property(props.marginBottom, 'margin-bottom') : null)}\n ${(props) => (props.marginLeft ? property(props.marginLeft, 'margin-left') : null)}\n /** END margins */ \n\n /** BEGIN Responsive paddings */\n ${({ paddingXS, paddingS, paddingM, paddingL, paddingXL }) =>\n responsiveNamedProperty({ sizes: { paddingXS, paddingS, paddingM, paddingL, paddingXL }, cssProperty: 'padding' })}\n ${({ paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL }) =>\n responsiveNamedProperty({\n sizes: { paddingTopXS, paddingTopS, paddingTopM, paddingTopL, paddingTopXL },\n cssProperty: 'padding-top',\n })}\n ${({ paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL }) =>\n responsiveNamedProperty({\n sizes: { paddingRightXS, paddingRightS, paddingRightM, paddingRightL, paddingRightXL },\n cssProperty: 'padding-right',\n })}\n ${({ paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL }) =>\n responsiveNamedProperty({\n sizes: { paddingBottomXS, paddingBottomS, paddingBottomM, paddingBottomL, paddingBottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL }) =>\n responsiveNamedProperty({\n sizes: { paddingLeftXS, paddingLeftS, paddingLeftM, paddingLeftL, paddingLeftXL },\n cssProperty: 'padding-left',\n })}\n /** END Responsive paddings */ \n\n /** BEGIN Responsive margins */\n ${({ marginXS, marginS, marginM, marginL, marginXL }) =>\n responsiveNamedProperty({ sizes: { marginXS, marginS, marginM, marginL, marginXL }, cssProperty: 'margin' })}\n ${({ marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL }) =>\n responsiveNamedProperty({\n sizes: { marginTopXS, marginTopS, marginTopM, marginTopL, marginTopXL },\n cssProperty: 'margin-top',\n })}\n ${({ marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL }) =>\n responsiveNamedProperty({\n sizes: { marginRightXS, marginRightS, marginRightM, marginRightL, marginRightXL },\n cssProperty: 'margin-right',\n })}\n ${({ marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL }) =>\n responsiveNamedProperty({\n sizes: { marginBottomXS, marginBottomS, marginBottomM, marginBottomL, marginBottomXL },\n cssProperty: 'margin-bottom',\n })}\n ${({ marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL }) =>\n responsiveNamedProperty({\n sizes: { marginLeftXS, marginLeftS, marginLeftM, marginLeftL, marginLeftXL },\n cssProperty: 'margin-left',\n })}\n /** END Responsive margins */\n\n ${(props) => (props.top ? property(props.top, 'padding-top') : null)}\n ${(props) => (props.right ? property(props.right, 'padding-right') : null)}\n ${(props) => (props.bottom ? property(props.bottom, 'padding-bottom') : null)}\n ${(props) => (props.left ? property(props.left, 'padding-left') : null)}\n\n ${({ topXS, topS, topM, topL, topXL }) =>\n responsiveNamedProperty({ sizes: { topXS, topS, topM, topL, topXL }, cssProperty: 'padding-top' })}\n ${({ rightXS, rightS, rightM, rightL, rightXL }) =>\n responsiveNamedProperty({ sizes: { rightXS, rightS, rightM, rightL, rightXL }, cssProperty: 'padding-right' })}\n ${({ bottomXS, bottomS, bottomM, bottomL, bottomXL }) =>\n responsiveNamedProperty({\n sizes: { bottomXS, bottomS, bottomM, bottomL, bottomXL },\n cssProperty: 'padding-bottom',\n })}\n ${({ leftXS, leftS, leftM, leftL, leftXL }) =>\n responsiveNamedProperty({ sizes: { leftXS, leftS, leftM, leftL, leftXL }, cssProperty: 'padding-left' })}\n`\n"],"names":["Root","styled","div","withConfig","shouldForwardProp","prop","includes","displayName","componentId","props","display","padding","property","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","paddingXS","paddingS","paddingM","paddingL","paddingXL","responsiveNamedProperty","sizes","cssProperty","paddingTopXS","paddingTopS","paddingTopM","paddingTopL","paddingTopXL","paddingRightXS","paddingRightS","paddingRightM","paddingRightL","paddingRightXL","paddingBottomXS","paddingBottomS","paddingBottomM","paddingBottomL","paddingBottomXL","paddingLeftXS","paddingLeftS","paddingLeftM","paddingLeftL","paddingLeftXL","marginXS","marginS","marginM","marginL","marginXL","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","top","right","bottom","left","topXS","topS","topM","topL","topXL","rightXS","rightS","rightM","rightL","rightXL","bottomXS","bottomS","bottomM","bottomL","bottomXL","leftXS","leftS","leftM","leftL","leftXL"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\
|
|
1
|
+
{"version":3,"file":"Spinner.js","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nfunction Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\nexport { Spinner }\n"],"names":["Spinner","className","props","_className","useClassname","displayName","_jsx","Styled","defaultProps","size"],"mappings":"iJAyBA,SAASA,SAAQC,UAAEA,KAAcC,IAC/B,MAAMC,EAAaC,aAAYA,aAACJ,QAAQK,YAAaJ,GAErD,OAAOK,WAAAA,IAACC,MAAAA,KAAW,CAACN,UAAWE,KAAgBD,GACjD,CAEAF,QAAQQ,aAAe,CACrBC,KAAM,KAGRT,QAAQK,YAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.mjs","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\
|
|
1
|
+
{"version":3,"file":"Spinner.mjs","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { ResponsiveNamedProperty } from 'mixins/responsive-property'\nimport { useClassname } from 'hooks/useClassname'\nimport type { BaseProps } from 'shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveNamedProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveNamedProperty<'size'>`](#/Миксины)\n */\nfunction Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\nexport { Spinner }\n"],"names":["Spinner","className","props","_className","useClassname","displayName","_jsx","Styled","defaultProps","size"],"mappings":"wHAyBA,SAASA,SAAQC,UAAEA,KAAcC,IAC/B,MAAMC,EAAaC,aAAaJ,QAAQK,YAAaJ,GAErD,OAAOK,IAACC,KAAW,CAACN,UAAWE,KAAgBD,GACjD,CAEAF,QAAQQ,aAAe,CACrBC,KAAM,KAGRT,QAAQK,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var styled=require('styled-components');var responsiveProperty=require('../../mixins/responsive-property.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const SIZES={l:60,m:40,s:20};const spinner=styled.keyframes(["to{transform:rotate(360deg);}"]);const fullscreen=styled.css(["height:100vh;margin:0 auto;display:flex;align-items:center;justify-content:center;"]);const inline=styled.css(["display:inline-block;vertical-align:middle;margin:0;"]);const sizeBuilder=(e,i="px")=>e===0?null:styled.css(["width:","",";height:","",";&:before{width:","",";height:","",";margin-top:-","",";margin-left:-","",";}"],e,i,e,i,e,i,e,i,e/2,i,e/2,i);const getSize=e=>e&&typeof e!='boolean'?typeof e=='number'?e:SIZES[e]?SIZES[e]:0:0;const Root=styled__default.default.div.withConfig({shouldForwardProp:e=>['className','style'].includes(e)}).withConfig({displayName:"Spinner__Root",componentId:"ui__sc-1ejsorp-0"})(["display:block;position:relative;
|
|
1
|
+
'use strict';var styled=require('styled-components');var responsiveProperty=require('../../mixins/responsive-property.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const SIZES={l:60,m:40,s:20};const spinner=styled.keyframes(["to{transform:rotate(360deg);}"]);const fullscreen=styled.css(["height:100vh;margin:0 auto;display:flex;align-items:center;justify-content:center;"]);const inline=styled.css(["display:inline-block;vertical-align:middle;margin:0;"]);const sizeBuilder=(e,i="px")=>e===0?null:styled.css(["width:","",";height:","",";&:before{width:","",";height:","",";margin-top:-","",";margin-left:-","",";}"],e,i,e,i,e,i,e,i,e/2,i,e/2,i);const getSize=e=>e&&typeof e!='boolean'?typeof e=='number'?e:SIZES[e]?SIZES[e]:0:0;const Root=styled__default.default.div.withConfig({shouldForwardProp:e=>['className','style'].includes(e)}).withConfig({displayName:"Spinner__Root",componentId:"ui__sc-1ejsorp-0"})(["display:block;position:relative;margin:30px auto;&:before{content:'';box-sizing:border-box;position:absolute;top:50%;left:50%;border-radius:50%;border:2px solid #eeeeee;border-top-color:#459ff3;animation:"," 0.6s linear infinite;}"," "," "," ",""],spinner,(e=>e.inline?inline:null),(e=>e.size?responsiveProperty.property(SIZES[e.size]||e.size,sizeBuilder):null),(({sizeXS:e,sizeS:i,sizeM:s,sizeL:t,sizeXL:o})=>responsiveProperty.responsiveNamedProperty({sizes:{sizeXS:getSize(e),sizeS:getSize(i),sizeM:getSize(s),sizeL:getSize(t),sizeXL:getSize(o)},cssProperty:sizeBuilder})),(e=>e.fullscreen?fullscreen:null));exports.Root=Root;
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Spinner/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport { responsiveNamedProperty, property
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Spinner/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport { responsiveNamedProperty, property } from 'mixins/responsive-property'\nimport type { ResponsiveNamedProperty, CalcProperty } from 'mixins/responsive-property'\nimport type { SpinnerProps } from './Spinner'\n\nconst SIZES = {\n l: 60,\n m: 40,\n s: 20,\n}\n\nconst spinner = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nconst fullscreen = css`\n height: 100vh;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst inline = css`\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n`\n\nconst sizeBuilder: CalcProperty = (size, sizing = 'px') => {\n if (size === 0) return null\n return css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n &:before {\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n margin-top: -${(size as number) / 2}${sizing};\n margin-left: -${(size as number) / 2}${sizing};\n }\n `\n}\n\nconst getSize = (size: ResponsiveNamedProperty<'size'>['size']): number => {\n if (!size || typeof size === 'boolean') return 0\n if (typeof size === 'number') return size\n if (SIZES[size as keyof typeof SIZES]) {\n return SIZES[size as keyof typeof SIZES]\n }\n return 0\n}\n\nexport const Root = styled.div.withConfig<SpinnerProps>({\n shouldForwardProp: (prop) => ['className', 'style'].includes(prop),\n})`\n display: block;\n position: relative;\n margin: 30px auto;\n &:before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n border: 2px solid #eeeeee;\n border-top-color: #459ff3;\n animation: ${spinner} 0.6s linear infinite;\n }\n ${(props) => (props.inline ? inline : null)}\n\n ${(props) => (props.size ? property(SIZES[props.size as keyof typeof SIZES] || props.size, sizeBuilder) : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) => {\n return responsiveNamedProperty({\n sizes: {\n sizeXS: getSize(sizeXS),\n sizeS: getSize(sizeS),\n sizeM: getSize(sizeM),\n sizeL: getSize(sizeL),\n sizeXL: getSize(sizeXL),\n },\n cssProperty: sizeBuilder,\n })\n }}\n\n ${(props) => (props.fullscreen ? fullscreen : null)}\n`\n"],"names":["SIZES","l","m","s","spinner","keyframes","fullscreen","css","inline","sizeBuilder","size","sizing","getSize","Root","styled","div","withConfig","shouldForwardProp","prop","includes","displayName","componentId","props","property","sizeXS","sizeS","sizeM","sizeL","sizeXL","responsiveNamedProperty","sizes","cssProperty"],"mappings":"wOAKA,MAAMA,MAAQ,CACZC,EAAG,GACHC,EAAG,GACHC,EAAG,IAGL,MAAMC,QAAUC,OAASA,UAIxB,CAAA,kCAED,MAAMC,WAAaC,OAAGA,IAMrB,CAAA,uFAED,MAAMC,OAASD,OAAGA,IAIjB,CAAA,yDAED,MAAME,YAA4BA,CAACC,EAAMC,EAAS,OAC5CD,IAAS,EAAU,KAChBH,OAAGA,IAAA,CAAA,SAAA,GAAA,WAAA,GAAA,mBAAA,GAAA,WAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,MACCG,EAAiBC,EAChBD,EAAiBC,EAEhBD,EAAiBC,EAChBD,EAAiBC,EACXD,EAAkB,EAAIC,EACrBD,EAAkB,EAAIC,GAK7C,MAAMC,QAAWF,GACVA,UAAeA,GAAS,iBAClBA,GAAS,SAAiBA,EACjCV,MAAMU,GACDV,MAAMU,GAER,EALwC,EAQ1C,MAAMG,KAAOC,gBAAAA,QAAOC,IAAIC,WAAyB,CACtDC,kBAAoBC,GAAS,CAAC,YAAa,SAASC,SAASD,KAC7DF,WAAA,CAAAI,YAAA,gBAAAC,YAAA,oBAFkBP,CAElB,CAAA,+MAAA,0BAAA,IAAA,IAAA,IAAA,IAaeV,SAEZkB,GAAWA,EAAMd,OAASA,OAAS,OAEnCc,GAAWA,EAAMZ,KAAOa,mBAAQA,SAACvB,MAAMsB,EAAMZ,OAA+BY,EAAMZ,KAAMD,aAAe,OACxG,EAAGe,SAAQC,QAAOC,QAAOC,QAAOC,YACzBC,2CAAwB,CAC7BC,MAAO,CACLN,OAAQZ,QAAQY,GAChBC,MAAOb,QAAQa,GACfC,MAAOd,QAAQc,GACfC,MAAOf,QAAQe,GACfC,OAAQhB,QAAQgB,IAElBG,YAAatB,gBAIda,GAAWA,EAAMhB,WAAaA,WAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import styled,{keyframes,css}from'styled-components';import{property,responsiveNamedProperty}from'../../mixins/responsive-property.mjs';const SIZES={l:60,m:40,s:20};const spinner=keyframes(["to{transform:rotate(360deg);}"]);const fullscreen=css(["height:100vh;margin:0 auto;display:flex;align-items:center;justify-content:center;"]);const inline=css(["display:inline-block;vertical-align:middle;margin:0;"]);const sizeBuilder=(e,i="px")=>e===0?null:css(["width:","",";height:","",";&:before{width:","",";height:","",";margin-top:-","",";margin-left:-","",";}"],e,i,e,i,e,i,e,i,e/2,i,e/2,i);const getSize=e=>e&&typeof e!='boolean'?typeof e=='number'?e:SIZES[e]?SIZES[e]:0:0;const Root=styled.div.withConfig({shouldForwardProp:e=>['className','style'].includes(e)}).withConfig({displayName:"Spinner__Root",componentId:"ui__sc-1ejsorp-0"})(["display:block;position:relative;
|
|
1
|
+
import styled,{keyframes,css}from'styled-components';import{property,responsiveNamedProperty}from'../../mixins/responsive-property.mjs';const SIZES={l:60,m:40,s:20};const spinner=keyframes(["to{transform:rotate(360deg);}"]);const fullscreen=css(["height:100vh;margin:0 auto;display:flex;align-items:center;justify-content:center;"]);const inline=css(["display:inline-block;vertical-align:middle;margin:0;"]);const sizeBuilder=(e,i="px")=>e===0?null:css(["width:","",";height:","",";&:before{width:","",";height:","",";margin-top:-","",";margin-left:-","",";}"],e,i,e,i,e,i,e,i,e/2,i,e/2,i);const getSize=e=>e&&typeof e!='boolean'?typeof e=='number'?e:SIZES[e]?SIZES[e]:0:0;const Root=styled.div.withConfig({shouldForwardProp:e=>['className','style'].includes(e)}).withConfig({displayName:"Spinner__Root",componentId:"ui__sc-1ejsorp-0"})(["display:block;position:relative;margin:30px auto;&:before{content:'';box-sizing:border-box;position:absolute;top:50%;left:50%;border-radius:50%;border:2px solid #eeeeee;border-top-color:#459ff3;animation:"," 0.6s linear infinite;}"," "," "," ",""],spinner,(e=>e.inline?inline:null),(e=>e.size?property(SIZES[e.size]||e.size,sizeBuilder):null),(({sizeXS:e,sizeS:i,sizeM:s,sizeL:o,sizeXL:t})=>responsiveNamedProperty({sizes:{sizeXS:getSize(e),sizeS:getSize(i),sizeM:getSize(s),sizeL:getSize(o),sizeXL:getSize(t)},cssProperty:sizeBuilder})),(e=>e.fullscreen?fullscreen:null));export{Root};
|
|
2
2
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Spinner/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport { responsiveNamedProperty, property
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Spinner/style.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components'\nimport { responsiveNamedProperty, property } from 'mixins/responsive-property'\nimport type { ResponsiveNamedProperty, CalcProperty } from 'mixins/responsive-property'\nimport type { SpinnerProps } from './Spinner'\n\nconst SIZES = {\n l: 60,\n m: 40,\n s: 20,\n}\n\nconst spinner = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nconst fullscreen = css`\n height: 100vh;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nconst inline = css`\n display: inline-block;\n vertical-align: middle;\n margin: 0;\n`\n\nconst sizeBuilder: CalcProperty = (size, sizing = 'px') => {\n if (size === 0) return null\n return css`\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n &:before {\n width: ${size as number}${sizing};\n height: ${size as number}${sizing};\n margin-top: -${(size as number) / 2}${sizing};\n margin-left: -${(size as number) / 2}${sizing};\n }\n `\n}\n\nconst getSize = (size: ResponsiveNamedProperty<'size'>['size']): number => {\n if (!size || typeof size === 'boolean') return 0\n if (typeof size === 'number') return size\n if (SIZES[size as keyof typeof SIZES]) {\n return SIZES[size as keyof typeof SIZES]\n }\n return 0\n}\n\nexport const Root = styled.div.withConfig<SpinnerProps>({\n shouldForwardProp: (prop) => ['className', 'style'].includes(prop),\n})`\n display: block;\n position: relative;\n margin: 30px auto;\n &:before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: 50%;\n border: 2px solid #eeeeee;\n border-top-color: #459ff3;\n animation: ${spinner} 0.6s linear infinite;\n }\n ${(props) => (props.inline ? inline : null)}\n\n ${(props) => (props.size ? property(SIZES[props.size as keyof typeof SIZES] || props.size, sizeBuilder) : null)}\n ${({ sizeXS, sizeS, sizeM, sizeL, sizeXL }) => {\n return responsiveNamedProperty({\n sizes: {\n sizeXS: getSize(sizeXS),\n sizeS: getSize(sizeS),\n sizeM: getSize(sizeM),\n sizeL: getSize(sizeL),\n sizeXL: getSize(sizeXL),\n },\n cssProperty: sizeBuilder,\n })\n }}\n\n ${(props) => (props.fullscreen ? fullscreen : null)}\n`\n"],"names":["SIZES","l","m","s","spinner","keyframes","fullscreen","css","inline","sizeBuilder","size","sizing","getSize","Root","styled","div","withConfig","shouldForwardProp","prop","includes","displayName","componentId","props","property","sizeXS","sizeS","sizeM","sizeL","sizeXL","responsiveNamedProperty","sizes","cssProperty"],"mappings":"wIAKA,MAAMA,MAAQ,CACZC,EAAG,GACHC,EAAG,GACHC,EAAG,IAGL,MAAMC,QAAUC,UAIf,CAAA,kCAED,MAAMC,WAAaC,IAMlB,CAAA,uFAED,MAAMC,OAASD,IAId,CAAA,yDAED,MAAME,YAA4BA,CAACC,EAAMC,EAAS,OAC5CD,IAAS,EAAU,KAChBH,IAAG,CAAA,SAAA,GAAA,WAAA,GAAA,mBAAA,GAAA,WAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,MACCG,EAAiBC,EAChBD,EAAiBC,EAEhBD,EAAiBC,EAChBD,EAAiBC,EACXD,EAAkB,EAAIC,EACrBD,EAAkB,EAAIC,GAK7C,MAAMC,QAAWF,GACVA,UAAeA,GAAS,iBAClBA,GAAS,SAAiBA,EACjCV,MAAMU,GACDV,MAAMU,GAER,EALwC,EAQ1C,MAAMG,KAAOC,OAAOC,IAAIC,WAAyB,CACtDC,kBAAoBC,GAAS,CAAC,YAAa,SAASC,SAASD,KAC7DF,WAAA,CAAAI,YAAA,gBAAAC,YAAA,oBAFkBP,CAElB,CAAA,+MAAA,0BAAA,IAAA,IAAA,IAAA,IAaeV,SAEZkB,GAAWA,EAAMd,OAASA,OAAS,OAEnCc,GAAWA,EAAMZ,KAAOa,SAASvB,MAAMsB,EAAMZ,OAA+BY,EAAMZ,KAAMD,aAAe,OACxG,EAAGe,SAAQC,QAAOC,QAAOC,QAAOC,YACzBC,wBAAwB,CAC7BC,MAAO,CACLN,OAAQZ,QAAQY,GAChBC,MAAOb,QAAQa,GACfC,MAAOd,QAAQc,GACfC,MAAOf,QAAQe,GACfC,OAAQhB,QAAQgB,IAElBG,YAAatB,gBAIda,GAAWA,EAAMhB,WAAaA,WAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Knob } from './Knob'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { SwitchProps } from './types'\n\nconst COMPONENT_NAME = 'Switch'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<input\\> элемента.\n *\n * Переданный \"ref\" будет ассоциирован с \\<input\\>.\n *\n * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.\n *\n * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Switch/types.ts).\n */\nconst Switch: React.ForwardRefExoticComponent<SwitchProps> = withMergedProps<SwitchProps, HTMLInputElement>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n knobProps = {},\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n preset,\n inline,\n palette,\n style,\n className,\n disabled,\n ...inputProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n return (\n <Styled.Root\n {...sizeProps}\n sizes={sizes}\n sizeUnits={sizeUnits}\n preset={preset}\n inline={inline}\n palette={palette}\n style={style}\n className={className}\n disabled={disabled}\n >\n <Styled.Input {...inputProps} disabled={disabled} type='checkbox' ref={ref} />\n <Styled.Track>\n <Knob {...sizeProps} {...knobProps} />\n </Styled.Track>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Switch, COMPONENT_NAME }\n"],"names":["Switch","withMergedProps","forwardRef","props","ref","size","knobProps","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","preset","inline","palette","style","className","disabled","inputProps","sizeProps","_jsxs","Styled","children","_jsx","jsx","type","Knob","displayName","SIZES"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Knob } from './Knob'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { SwitchProps } from './types'\n\nconst COMPONENT_NAME = 'Switch'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<input\\> элемента.\n *\n * Переданный \"ref\" будет ассоциирован с \\<input\\>.\n *\n * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.\n *\n * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Switch/types.ts).\n */\nconst Switch: React.ForwardRefExoticComponent<SwitchProps> = withMergedProps<SwitchProps, HTMLInputElement>(\n forwardRef<HTMLInputElement, MergedProps<SwitchProps>>((props, ref) => {\n const {\n size = 'm',\n knobProps = {},\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n preset,\n inline,\n palette,\n style,\n className,\n disabled,\n ...inputProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n return (\n <Styled.Root\n {...sizeProps}\n sizes={sizes}\n sizeUnits={sizeUnits}\n preset={preset}\n inline={inline}\n palette={palette}\n style={style}\n className={className}\n disabled={disabled}\n >\n <Styled.Input {...inputProps} disabled={disabled} type='checkbox' ref={ref} />\n <Styled.Track>\n <Knob {...sizeProps} {...knobProps} />\n </Styled.Track>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Switch, COMPONENT_NAME }\n"],"names":["Switch","withMergedProps","forwardRef","props","ref","size","knobProps","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","preset","inline","palette","style","className","disabled","inputProps","sizeProps","_jsxs","Styled","children","_jsx","jsx","type","Knob","displayName","SIZES"],"mappings":"uPAoBMA,MAAAA,OAAuDC,gBAAAA,gBAC3DC,MAAAA,YAAuD,CAACC,EAAOC,KAC7D,MAAMC,KACJA,EAAO,IAAGC,UACVA,EAAY,CAAE,EAAAC,QACdA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,MACNA,EAAKC,UACLA,EAASC,OACTA,EAAMC,OACNA,EAAMC,QACNA,QACAC,EAAKC,UACLA,EAASC,SACTA,KACGC,GACDlB,EAEJ,MAAMmB,EAAY,CAChBjB,OACAE,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,OACEW,WAAAA,KAACC,MAAAA,KAAW,IACNF,EACJT,MAAOA,EACPC,UAAWA,EACXC,OAAQA,EACRC,OAAQA,EACRC,QAASA,EACTC,MAAOA,EACPC,UAAWA,EACXC,SAAUA,EAASK,SAEnBC,CAAAA,WAAAC,IAACH,YAAY,IAAKH,EAAYD,SAAUA,EAAUQ,KAAK,WAAWxB,IAAKA,IACvEsB,WAAAC,IAACH,YAAY,CAAAC,SACXC,WAAAC,IAACE,UAAI,IAAKP,KAAehB,QAEf,IAGlB,CACEwB,YAhEmB,SAiEnBjB,MAAOkB,UAAAA,+BAjEY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.mjs","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Knob } from './Knob'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { SwitchProps } from './types'\n\nconst COMPONENT_NAME = 'Switch'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<input\\> элемента.\n *\n * Переданный \"ref\" будет ассоциирован с \\<input\\>.\n *\n * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.\n *\n * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Switch/types.ts).\n */\nconst Switch: React.ForwardRefExoticComponent<SwitchProps> = withMergedProps<SwitchProps, HTMLInputElement>(\n forwardRef((props, ref) => {\n const {\n size = 'm',\n knobProps = {},\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n preset,\n inline,\n palette,\n style,\n className,\n disabled,\n ...inputProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n return (\n <Styled.Root\n {...sizeProps}\n sizes={sizes}\n sizeUnits={sizeUnits}\n preset={preset}\n inline={inline}\n palette={palette}\n style={style}\n className={className}\n disabled={disabled}\n >\n <Styled.Input {...inputProps} disabled={disabled} type='checkbox' ref={ref} />\n <Styled.Track>\n <Knob {...sizeProps} {...knobProps} />\n </Styled.Track>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Switch, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Switch","withMergedProps","forwardRef","props","ref","size","knobProps","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","preset","inline","palette","style","className","disabled","inputProps","sizeProps","_jsxs","Styled","children","_jsx","type","Knob","displayName","SIZES"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Switch.mjs","sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Knob } from './Knob'\nimport { SIZES } from './constants'\nimport * as Styled from './style'\nimport type { SwitchProps } from './types'\n\nconst COMPONENT_NAME = 'Switch'\n\n/**\n *\n * Компонент поддерживает все атрибуты \\<input\\> элемента.\n *\n * Переданный \"ref\" будет ассоциирован с \\<input\\>.\n *\n * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.\n *\n * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Switch/types.ts).\n */\nconst Switch: React.ForwardRefExoticComponent<SwitchProps> = withMergedProps<SwitchProps, HTMLInputElement>(\n forwardRef<HTMLInputElement, MergedProps<SwitchProps>>((props, ref) => {\n const {\n size = 'm',\n knobProps = {},\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n preset,\n inline,\n palette,\n style,\n className,\n disabled,\n ...inputProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n return (\n <Styled.Root\n {...sizeProps}\n sizes={sizes}\n sizeUnits={sizeUnits}\n preset={preset}\n inline={inline}\n palette={palette}\n style={style}\n className={className}\n disabled={disabled}\n >\n <Styled.Input {...inputProps} disabled={disabled} type='checkbox' ref={ref} />\n <Styled.Track>\n <Knob {...sizeProps} {...knobProps} />\n </Styled.Track>\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Switch, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Switch","withMergedProps","forwardRef","props","ref","size","knobProps","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","preset","inline","palette","style","className","disabled","inputProps","sizeProps","_jsxs","Styled","children","_jsx","type","Knob","displayName","SIZES"],"mappings":"4OAQMA,MAAAA,eAAiB,SAYjBC,MAAAA,OAAuDC,gBAC3DC,YAAuD,CAACC,EAAOC,KAC7D,MAAMC,KACJA,EAAO,IAAGC,UACVA,EAAY,CAAE,EAAAC,QACdA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,MACNA,EAAKC,UACLA,EAASC,OACTA,EAAMC,OACNA,EAAMC,QACNA,EAAOC,MACPA,EAAKC,UACLA,EAASC,SACTA,KACGC,GACDlB,EAEJ,MAAMmB,EAAY,CAChBjB,OACAE,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,OACEW,KAACC,KAAW,IACNF,EACJT,MAAOA,EACPC,UAAWA,EACXC,OAAQA,EACRC,OAAQA,EACRC,QAASA,EACTC,MAAOA,EACPC,UAAWA,EACXC,SAAUA,EAASK,SAEnBC,CAAAA,IAACF,MAAY,IAAKH,EAAYD,SAAUA,EAAUO,KAAK,WAAWvB,IAAKA,IACvEsB,IAACF,MAAY,CAAAC,SACXC,IAACE,KAAI,IAAKN,KAAehB,QAEf,IAGlB,CACEuB,YAhEmB,SAiEnBhB,MAAOiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Switcher/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport type { StyledSwitcherProps, SwitcherPropsByPreset } from './types'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label<SwitcherPropsByPreset>`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${(props) => props.switcherWidth}px;\n height: ${(props) => props.switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Switcher/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport type { StyledSwitcherProps, SwitcherPropsByPreset } from './types'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label<SwitcherPropsByPreset>`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${(props) => props.switcherWidth}px;\n height: ${(props) => props.switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition:\n background 0.3s ease,\n background-image 0.3s ease;\n border-radius: ${(props) => props.borderRadius}px;\n flex: 0 0 auto;\n\n &::before {\n position: absolute;\n top: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n left: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${(props) => props.dotSize}px;\n height: ${(props) => props.dotSize}px;\n content: '';\n transition:\n background 0.3s ease,\n left 0.3s ease;\n transform: translateZ(0);\n border-radius: 50%;\n }\n`\n\nconst disabledStyles = `\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n box-shadow: none;\n\n &::before {\n box-shadow: none;\n }\n }\n\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checkedStyles = css<StyledSwitcherProps>`\n & ${Switcher} {\n &::before {\n left: ${({ switcherWidth, switcherHeight, dotSize }) =>\n switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nconst baseStyles = css<StyledSwitcherProps>`\n ${(props) => `\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${props.switcherHeight}px;\n line-height: ${props.switcherHeight}px;\n vertical-align: middle;\n justify-content: flex-start;\n align-content: center;\n align-items: center;\n max-width: 100%;\n color: inherit;\n `}\n`\n\nconst defaultPresetStyle = css<StyledSwitcherProps>`\n ${(props) => {\n const color = props.color || 'atlantis'\n\n return `\n & ${Switcher} {\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: #eaecf3;\n\n &::before {\n background-color: ${props.theme.colors.white};\n box-shadow: ${props.disabled ? 'none' : '0 0 6px 0 rgba(0, 0, 0, 0.16)'};\n }\n\n ${\n props.inactiveColor\n ? `\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.inactiveColor, props)).lighten(10).toString()},\n ${getColor(props.inactiveColor, props)}\n );\n `\n : ''\n }\n\n ${\n props.checked\n ? `\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(color, props)).lighten(10).toString()},\n ${getColor(color, props)}\n );\n `\n : ''\n }\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n outline: 1px solid ${getColor(color, props)};\n outline-offset: 2px;\n }\n `\n }}\n`\n\nconst brandPresetStyles = css<StyledSwitcherProps>`\n ${(props) => `\n & ${Switcher} {\n background-color: ${\n props.disabled\n ? props.theme.colors[props.checked ? 'bg-disabled-active' : 'bg-disabled-small']\n : props.theme.colors[props.checked ? 'bg-brand-primary-basic' : 'bg-onmain-tertiary']\n };\n\n &::before {\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n box-shadow: ${props.disabled ? 'none' : '0px 2px 4px rgba(0, 0, 0, 0.08)'};\n }\n\n ${!props.checked && props.inactiveColor ? `background-color: ${getColor(props.inactiveColor, props)};` : ''}\n ${props.checked && props.color ? `background-color: ${getColor(props.color, props)};` : ''}\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n box-shadow: 0 0 0 2px ${props.theme.colors.white}, 0 0 0 4px ${props.theme.colors['border-focus']};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `}\n`\n\nexport const Root = styled.div.withConfig<StyledSwitcherProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n ${baseStyles}\n\n ${(props) => (props.checked ? checkedStyles : '')}\n ${(props) => (props.disabled ? disabledStyles : '')}\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandPresetStyles : defaultPresetStyle)}\n`\n"],"names":["Input","styled","input","withConfig","displayName","componentId","Label","label","Switcher","props","switcherWidth","switcherHeight","borderRadius","dotSize","disabledStyles","checkedStyles","css","baseStyles","defaultPresetStyle","color","theme","colors","white","disabled","inactiveColor","tinycolor","getColor","lighten","toString","checked","default","brandPresetStyles","Root","div","shouldForwardProp","prop","includes","brandPresetUsed"],"mappings":"ySAKaA,MAAQC,gBAAAA,QAAOC,MAAKC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,mBAAZJ,CAQpB,CAAA,6FAEYK,MAAQL,gBAAAA,QAAOM,MAAKJ,WAAA,CAAAC,YAAA,kBAAAC,YAAA,mBAAZJ,CAQpB,CAAA,sIAEYO,SAAWP,gBAAAA,QAAOM,MAAKJ,WAAA,CAAAC,YAAA,WAAAC,YAAA,mBAAZJ,CAAY,CAAA,+DAAA,aAAA,+GAAA,oDAAA,WAAA,0BAAA,aAAA,6GAIxBQ,GAAUA,EAAMC,gBACfD,GAAUA,EAAME,iBAMTF,GAAUA,EAAMG,eAKzB,EAAGD,iBAAgBE,cAAeF,EAAiBE,GAAW,IAC7D,EAAGF,iBAAgBE,cAAeF,EAAiBE,GAAW,IAE5DJ,GAAUA,EAAMI,UACfJ,GAAUA,EAAMI,UAU/B,MAAMC,eAAiB,oDAIjBN,8HASAF,2CAKN,MAAMS,cAAgBC,OAAGA,IACnBR,CAAAA,KAAAA,mBAAAA,SAAAA,UAEQ,EAAGE,gBAAeC,iBAAgBE,aACxCH,EAAgBG,GAAWF,EAAiBE,GAAW,IAK/D,MAAMI,WAAaD,OAAGA,IAAA,CAAA,GAAA,KACjBP,GAAU,4HAKDA,EAAME,uCACDF,EAAME,0LAUzB,MAAMO,mBAAqBF,OAAAA,IAAG,CAAA,GAAA,KACzBP,IACD,MAAMU,EAAQV,EAAMU,OAAS,WAE7B,MAAO,aACDX,kKAKoBC,EAAMW,MAAMC,OAAOC,iCACzBb,EAAMc,SAAW,OAAS,0DAIxCd,EAAMe,cACF,wGAGMC,2BAAUC,MAAAA,SAASjB,EAAMe,cAAef,IAAQkB,QAAQ,IAAIC,kCAC5DF,eAASjB,EAAMe,cAAef,yCAGpC,iBAIJA,EAAMoB,QACF,wGAGMJ,mBAASK,QAACJ,eAASP,EAAOV,IAAQkB,QAAQ,IAAIC,kCAC9CF,MAAQA,SAACP,EAAOV,yCAGtB,0BAIJT,yBAAyBQ,0CACNkB,MAAQA,SAACP,EAAOV,kDAGxC,IAIL,MAAMsB,kBAAoBf,OAAGA,IAAA,CAAA,GAAA,KACxBP,GAAU,WACPD,uCAEAC,EAAMc,SACFd,EAAMW,MAAMC,OAAOZ,EAAMoB,QAAU,qBAAuB,qBAC1DpB,EAAMW,MAAMC,OAAOZ,EAAMoB,QAAU,yBAA2B,0EAI9CpB,EAAMW,MAAMC,OAAO,+CACzBZ,EAAMc,SAAW,OAAS,yDAGvCd,EAAMoB,SAAWpB,EAAMe,cAAgB,qBAAqBE,eAASjB,EAAMe,cAAef,MAAY,aACvGA,EAAMoB,SAAWpB,EAAMU,MAAQ,qBAAqBO,eAASjB,EAAMU,MAAOV,MAAY,sBAGtFT,yBAAyBQ,2CACHC,EAAMW,MAAMC,OAAOC,oBAAoBb,EAAMW,MAAMC,OAAO,mGAOjF,MAAMW,KAAO/B,gBAAAA,QAAOgC,IAAI9B,WAAgC,CAC7D+B,kBAAoBC,GAAS,CAAC,WAAY,YAAa,SAASC,SAASD,KACzEhC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,mBAFkBJ,CAGhBgB,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,YAECR,GAAWA,EAAMoB,QAAUd,cAAgB,KAC3CN,GAAWA,EAAMc,SAAWT,eAAiB,KAC9C,EAAGuB,qBAAuBA,EAAkBN,kBAAoBb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Switcher/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport type { StyledSwitcherProps, SwitcherPropsByPreset } from './types'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label<SwitcherPropsByPreset>`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${(props) => props.switcherWidth}px;\n height: ${(props) => props.switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Switcher/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport tinycolor from 'tinycolor2'\nimport { getColor } from 'mixins/color'\nimport type { StyledSwitcherProps, SwitcherPropsByPreset } from './types'\n\nexport const Input = styled.input`\n position: absolute;\n overflow: visible;\n z-index: -1;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n`\n\nexport const Label = styled.label`\n display: inline;\n padding-left: 14px;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nexport const Switcher = styled.label<SwitcherPropsByPreset>`\n position: relative;\n display: block;\n box-sizing: border-box;\n width: ${(props) => props.switcherWidth}px;\n height: ${(props) => props.switcherHeight}px;\n cursor: pointer;\n user-select: none;\n transition:\n background 0.3s ease,\n background-image 0.3s ease;\n border-radius: ${(props) => props.borderRadius}px;\n flex: 0 0 auto;\n\n &::before {\n position: absolute;\n top: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n left: ${({ switcherHeight, dotSize }) => (switcherHeight - dotSize) / 2}px;\n display: block;\n width: ${(props) => props.dotSize}px;\n height: ${(props) => props.dotSize}px;\n content: '';\n transition:\n background 0.3s ease,\n left 0.3s ease;\n transform: translateZ(0);\n border-radius: 50%;\n }\n`\n\nconst disabledStyles = `\n cursor: not-allowed;\n opacity: 0.7;\n\n & ${Switcher} {\n cursor: not-allowed;\n box-shadow: none;\n\n &::before {\n box-shadow: none;\n }\n }\n\n & ${Label} {\n cursor: not-allowed;\n }\n`\n\nconst checkedStyles = css<StyledSwitcherProps>`\n & ${Switcher} {\n &::before {\n left: ${({ switcherWidth, switcherHeight, dotSize }) =>\n switcherWidth - dotSize - (switcherHeight - dotSize) / 2}px;\n }\n }\n`\n\nconst baseStyles = css<StyledSwitcherProps>`\n ${(props) => `\n position: relative;\n display: inline-flex;\n flex-direction: row;\n box-sizing: border-box;\n height: ${props.switcherHeight}px;\n line-height: ${props.switcherHeight}px;\n vertical-align: middle;\n justify-content: flex-start;\n align-content: center;\n align-items: center;\n max-width: 100%;\n color: inherit;\n `}\n`\n\nconst defaultPresetStyle = css<StyledSwitcherProps>`\n ${(props) => {\n const color = props.color || 'atlantis'\n\n return `\n & ${Switcher} {\n box-shadow: inset 0 2px 2px 0 rgba(0, 0, 0, 0.08);\n background-color: #eaecf3;\n\n &::before {\n background-color: ${props.theme.colors.white};\n box-shadow: ${props.disabled ? 'none' : '0 0 6px 0 rgba(0, 0, 0, 0.16)'};\n }\n\n ${\n props.inactiveColor\n ? `\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(props.inactiveColor, props)).lighten(10).toString()},\n ${getColor(props.inactiveColor, props)}\n );\n `\n : ''\n }\n\n ${\n props.checked\n ? `\n background-image: linear-gradient(\n to right,\n ${tinycolor(getColor(color, props)).lighten(10).toString()},\n ${getColor(color, props)}\n );\n `\n : ''\n }\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n outline: 1px solid ${getColor(color, props)};\n outline-offset: 2px;\n }\n `\n }}\n`\n\nconst brandPresetStyles = css<StyledSwitcherProps>`\n ${(props) => `\n & ${Switcher} {\n background-color: ${\n props.disabled\n ? props.theme.colors[props.checked ? 'bg-disabled-active' : 'bg-disabled-small']\n : props.theme.colors[props.checked ? 'bg-brand-primary-basic' : 'bg-onmain-tertiary']\n };\n\n &::before {\n background-color: ${props.theme.colors['bg-oncolor-primary']};\n box-shadow: ${props.disabled ? 'none' : '0px 2px 4px rgba(0, 0, 0, 0.08)'};\n }\n\n ${!props.checked && props.inactiveColor ? `background-color: ${getColor(props.inactiveColor, props)};` : ''}\n ${props.checked && props.color ? `background-color: ${getColor(props.color, props)};` : ''}\n }\n\n & ${Input}:focus-visible + ${Switcher} {\n box-shadow: 0 0 0 2px ${props.theme.colors.white}, 0 0 0 4px ${props.theme.colors['border-focus']};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `}\n`\n\nexport const Root = styled.div.withConfig<StyledSwitcherProps>({\n shouldForwardProp: (prop) => ['children', 'className', 'style'].includes(prop),\n})`\n ${baseStyles}\n\n ${(props) => (props.checked ? checkedStyles : '')}\n ${(props) => (props.disabled ? disabledStyles : '')}\n ${({ brandPresetUsed }) => (brandPresetUsed ? brandPresetStyles : defaultPresetStyle)}\n`\n"],"names":["Input","styled","input","withConfig","displayName","componentId","Label","label","Switcher","props","switcherWidth","switcherHeight","borderRadius","dotSize","disabledStyles","checkedStyles","css","baseStyles","defaultPresetStyle","color","theme","colors","white","disabled","inactiveColor","tinycolor","getColor","lighten","toString","checked","brandPresetStyles","Root","div","shouldForwardProp","prop","includes","brandPresetUsed"],"mappings":"gIAKaA,MAAQC,OAAOC,MAAKC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,mBAAZJ,CAQpB,CAAA,6FAEYK,MAAQL,OAAOM,MAAKJ,WAAA,CAAAC,YAAA,kBAAAC,YAAA,mBAAZJ,CAQpB,CAAA,sIAEYO,SAAWP,OAAOM,MAAKJ,WAAA,CAAAC,YAAA,WAAAC,YAAA,mBAAZJ,CAAY,CAAA,+DAAA,aAAA,+GAAA,oDAAA,WAAA,0BAAA,aAAA,6GAIxBQ,GAAUA,EAAMC,gBACfD,GAAUA,EAAME,iBAMTF,GAAUA,EAAMG,eAKzB,EAAGD,iBAAgBE,cAAeF,EAAiBE,GAAW,IAC7D,EAAGF,iBAAgBE,cAAeF,EAAiBE,GAAW,IAE5DJ,GAAUA,EAAMI,UACfJ,GAAUA,EAAMI,UAU/B,MAAMC,eAAiB,oDAIjBN,8HASAF,2CAKN,MAAMS,cAAgBC,IAChBR,CAAAA,KAAAA,mBAAAA,SAAAA,UAEQ,EAAGE,gBAAeC,iBAAgBE,aACxCH,EAAgBG,GAAWF,EAAiBE,GAAW,IAK/D,MAAMI,WAAaD,IAAG,CAAA,GAAA,KACjBP,GAAU,4HAKDA,EAAME,uCACDF,EAAME,0LAUzB,MAAMO,mBAAqBF,IAAG,CAAA,GAAA,KACzBP,IACD,MAAMU,EAAQV,EAAMU,OAAS,WAE7B,MAAO,aACDX,kKAKoBC,EAAMW,MAAMC,OAAOC,iCACzBb,EAAMc,SAAW,OAAS,0DAIxCd,EAAMe,cACF,wGAGMC,UAAUC,SAASjB,EAAMe,cAAef,IAAQkB,QAAQ,IAAIC,kCAC5DF,SAASjB,EAAMe,cAAef,yCAGpC,iBAIJA,EAAMoB,QACF,wGAGMJ,UAAUC,SAASP,EAAOV,IAAQkB,QAAQ,IAAIC,kCAC9CF,SAASP,EAAOV,yCAGtB,0BAIJT,yBAAyBQ,0CACNkB,SAASP,EAAOV,kDAGxC,IAIL,MAAMqB,kBAAoBd,IAAG,CAAA,GAAA,KACxBP,GAAU,WACPD,uCAEAC,EAAMc,SACFd,EAAMW,MAAMC,OAAOZ,EAAMoB,QAAU,qBAAuB,qBAC1DpB,EAAMW,MAAMC,OAAOZ,EAAMoB,QAAU,yBAA2B,0EAI9CpB,EAAMW,MAAMC,OAAO,+CACzBZ,EAAMc,SAAW,OAAS,yDAGvCd,EAAMoB,SAAWpB,EAAMe,cAAgB,qBAAqBE,SAASjB,EAAMe,cAAef,MAAY,aACvGA,EAAMoB,SAAWpB,EAAMU,MAAQ,qBAAqBO,SAASjB,EAAMU,MAAOV,MAAY,sBAGtFT,yBAAyBQ,2CACHC,EAAMW,MAAMC,OAAOC,oBAAoBb,EAAMW,MAAMC,OAAO,mGAOjF,MAAMU,KAAO9B,OAAO+B,IAAI7B,WAAgC,CAC7D8B,kBAAoBC,GAAS,CAAC,WAAY,YAAa,SAASC,SAASD,KACzE/B,WAAA,CAAAC,YAAA,iBAAAC,YAAA,mBAFkBJ,CAGhBgB,CAAAA,GAAAA,IAAAA,IAAAA,IAAAA,IAAAA,YAECR,GAAWA,EAAMoB,QAAUd,cAAgB,KAC3CN,GAAWA,EAAMc,SAAWT,eAAiB,KAC9C,EAAGsB,qBAAuBA,EAAkBN,kBAAoBZ"}
|
package/components/Tab/Tab.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var constants=require('./constants.js');var defaultConstants=require('./default-constants.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Text=require('../Text/Text.js');const Tab=withMergedProps.withMergedProps(React.forwardRef(((e,t)=>{const{size:s="m",type:r="button",textProps:n={},children:i,theme:a,...o}=e;const x={as:'span',size:'inherit',color:'inherit',weight:'inherit'};return jsxRuntime.jsx(style.Root,{...o,size:s,tabTheme:a,type:o.as===void 0?r:void 0,ref:t,children:o.preset==='brand'?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[o.left
|
|
1
|
+
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var constants=require('./constants.js');var defaultConstants=require('./default-constants.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Text=require('../Text/Text.js');const Tab=withMergedProps.withMergedProps(React.forwardRef(((e,t)=>{const{size:s="m",type:r="button",textProps:n={},children:i,theme:a,...o}=e;const x={as:'span',size:'inherit',color:'inherit',weight:'inherit'};return jsxRuntime.jsx(style.Root,{...o,size:s,tabTheme:a,type:o.as===void 0?r:void 0,ref:t,children:o.preset==='brand'?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[o.left?jsxRuntime.jsx(style.Edge,{}):null,jsxRuntime.jsx(style.Content,{children:typeof i=='function'?i({baseTextProps:x,textProps:n}):jsxRuntime.jsx(Text.Text,{...x,...n,children:i})}),o.right?jsxRuntime.jsx(style.Edge,{after:!0}):null]}):typeof i=='function'?i({baseTextProps:x,textProps:n}):jsxRuntime.jsx(Text.Text,{...x,...n,children:i})})})),{displayName:"Tab",sizes:e=>e.preset==='brand'?constants.SIZES:defaultConstants.SIZES_DEFAULT});exports.COMPONENT_NAME="Tab",exports.Tab=Tab;
|
|
2
2
|
//# sourceMappingURL=Tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sources":["../../../../src/components/Tab/Tab.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { SIZES } from './constants'\nimport { SIZES_DEFAULT } from './default-constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component accepts all \\<button\\> attributes.\n *\n * Responsive \"size\", \"margin\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [TabProps](https://github.com/foxford/ui/blob/master/src/components/Tab/types.ts)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left
|
|
1
|
+
{"version":3,"file":"Tab.js","sources":["../../../../src/components/Tab/Tab.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { SIZES } from './constants'\nimport { SIZES_DEFAULT } from './default-constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component accepts all \\<button\\> attributes.\n *\n * Responsive \"size\", \"margin\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [TabProps](https://github.com/foxford/ui/blob/master/src/components/Tab/types.ts)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<TabProps>>((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left ? <Styled.Edge /> : null}\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Content>\n {restProps.right ? <Styled.Edge after /> : null}\n </>\n ) : typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n },\n }\n)\n\nexport { Tab, COMPONENT_NAME }\n"],"names":["Tab","withMergedProps","forwardRef","props","ref","size","type","textProps","children","theme","restProps","baseTextProps","as","color","weight","_jsx","Styled","tabTheme","undefined","preset","_jsxs","_Fragment","left","jsx","Text","right","after","displayName","sizes","SIZES","SIZES_DEFAULT"],"mappings":"oTAsBMA,MAAAA,IAAiDC,gBAAAA,gBACrDC,MAAAA,YAAqD,CAACC,EAAOC,KAC3D,MAAMC,KAAEA,EAAO,IAAGC,KAAEA,EAAO,SAAQC,UAAEA,EAAY,CAAE,EAAAC,SAAEA,EAAQC,MAAEA,KAAUC,GAAcP,EAEvF,MAAMQ,EAA2B,CAAEC,GAAI,OAAQP,KAAM,UAAWQ,MAAO,UAAWC,OAAQ,WAE1F,OACEC,WAAAA,IAACC,MAAAA,KAAW,IACNN,EACJL,KAAMA,EACNY,SAAUR,EACVH,KAAMI,EAAUE,UAAOM,EAAYZ,OAAOY,EAC1Cd,IAAKA,EAAII,SAERE,EAAUS,SAAW,QACpBC,WAAAA,KAAAC,WAAAA,SAAA,CAAAb,UACGE,EAAUY,KAAOP,WAAAQ,IAACP,WAAa,CAAA,GAAI,KACpCD,WAAAQ,IAACP,cAAc,CAAAR,gBACLA,GAAa,WACnBA,EAAS,CAAEG,gBAAeJ,cAE1BQ,WAAAQ,IAACC,UAAI,IAAKb,KAAmBJ,EAASC,SACnCA,MAINE,EAAUe,MAAQV,WAAAA,IAACC,MAAAA,KAAW,CAACU,OAAK,IAAM,eAEpClB,GAAa,WACtBA,EAAS,CAAEG,gBAAeJ,cAE1BQ,WAAAQ,IAACC,UAAI,IAAKb,KAAmBJ,EAASC,SACnCA,KAGO,IAGlB,CACEmB,YAnDmB,MAoDnBC,MAAQzB,GACCA,EAAMgB,SAAW,QAAUU,UAAAA,MAAQC,iBAAAA,uCArDzB"}
|
package/components/Tab/Tab.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{SIZES}from'./constants.mjs';import{SIZES_DEFAULT}from'./default-constants.mjs';import{Root,Edge,Content}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Text}from'../Text/Text.mjs';const COMPONENT_NAME='Tab';const Tab=withMergedProps(forwardRef(((e
|
|
1
|
+
import{forwardRef}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{SIZES}from'./constants.mjs';import{SIZES_DEFAULT}from'./default-constants.mjs';import{Root,Edge,Content}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Text}from'../Text/Text.mjs';const COMPONENT_NAME='Tab';const Tab=withMergedProps(forwardRef(((t,e)=>{const{size:r="m",type:s="button",textProps:o={},children:n,theme:i,...m}=t;const a={as:'span',size:'inherit',color:'inherit',weight:'inherit'};return jsx(Root,{...m,size:r,tabTheme:i,type:m.as===void 0?s:void 0,ref:e,children:m.preset==='brand'?jsxs(Fragment,{children:[m.left?jsx(Edge,{}):null,jsx(Content,{children:typeof n=='function'?n({baseTextProps:a,textProps:o}):jsx(Text,{...a,...o,children:n})}),m.right?jsx(Edge,{after:!0}):null]}):typeof n=='function'?n({baseTextProps:a,textProps:o}):jsx(Text,{...a,...o,children:n})})})),{displayName:"Tab",sizes:t=>t.preset==='brand'?SIZES:SIZES_DEFAULT});export{COMPONENT_NAME,Tab};
|
|
2
2
|
//# sourceMappingURL=Tab.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.mjs","sources":["../../../../src/components/Tab/Tab.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { SIZES } from './constants'\nimport { SIZES_DEFAULT } from './default-constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component accepts all \\<button\\> attributes.\n *\n * Responsive \"size\", \"margin\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [TabProps](https://github.com/foxford/ui/blob/master/src/components/Tab/types.ts)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left
|
|
1
|
+
{"version":3,"file":"Tab.mjs","sources":["../../../../src/components/Tab/Tab.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport { SIZES } from './constants'\nimport { SIZES_DEFAULT } from './default-constants'\nimport * as Styled from './style'\nimport type { TabProps } from './types'\n\nconst COMPONENT_NAME = 'Tab'\n\n/**\n *\n * Component accepts all \\<button\\> attributes.\n *\n * Responsive \"size\", \"margin\" props are supported.\n *\n * Exposed \"ref\" attached to root node.\n *\n * See full [TabProps](https://github.com/foxford/ui/blob/master/src/components/Tab/types.ts)\n */\nconst Tab: React.ForwardRefExoticComponent<TabProps> = withMergedProps<TabProps, HTMLButtonElement>(\n forwardRef<HTMLButtonElement, MergedProps<TabProps>>((props, ref) => {\n const { size = 'm', type = 'button', textProps = {}, children, theme, ...restProps } = props\n\n const baseTextProps: TextProps = { as: 'span', size: 'inherit', color: 'inherit', weight: 'inherit' }\n\n return (\n <Styled.Root\n {...restProps}\n size={size}\n tabTheme={theme}\n type={restProps.as === undefined ? type : undefined}\n ref={ref}\n >\n {restProps.preset === 'brand' ? (\n <>\n {restProps.left ? <Styled.Edge /> : null}\n <Styled.Content>\n {typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Content>\n {restProps.right ? <Styled.Edge after /> : null}\n </>\n ) : typeof children === 'function' ? (\n children({ baseTextProps, textProps })\n ) : (\n <Text {...baseTextProps} {...textProps}>\n {children}\n </Text>\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: (props) => {\n return props.preset === 'brand' ? SIZES : SIZES_DEFAULT\n },\n }\n)\n\nexport { Tab, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Tab","withMergedProps","forwardRef","props","ref","size","type","textProps","children","theme","restProps","baseTextProps","as","color","weight","_jsx","Styled","tabTheme","undefined","preset","_jsxs","_Fragment","left","Text","right","after","displayName","sizes","SIZES","SIZES_DEFAULT"],"mappings":"+SAUMA,MAAAA,eAAiB,MAYjBC,MAAAA,IAAiDC,gBACrDC,YAAqD,CAACC,EAAOC,KAC3D,MAAMC,KAAEA,EAAO,IAAGC,KAAEA,EAAO,SAAQC,UAAEA,EAAY,CAAE,EAAAC,SAAEA,EAAQC,MAAEA,KAAUC,GAAcP,EAEvF,MAAMQ,EAA2B,CAAEC,GAAI,OAAQP,KAAM,UAAWQ,MAAO,UAAWC,OAAQ,WAE1F,OACEC,IAACC,KAAW,IACNN,EACJL,KAAMA,EACNY,SAAUR,EACVH,KAAMI,EAAUE,UAAOM,EAAYZ,OAAOY,EAC1Cd,IAAKA,EAAII,SAERE,EAAUS,SAAW,QACpBC,KAAAC,SAAA,CAAAb,UACGE,EAAUY,KAAOP,IAACC,KAAa,CAAA,GAAI,KACpCD,IAACC,QAAc,CAAAR,gBACLA,GAAa,WACnBA,EAAS,CAAEG,gBAAeJ,cAE1BQ,IAACQ,KAAI,IAAKZ,KAAmBJ,EAASC,SACnCA,MAINE,EAAUc,MAAQT,IAACC,KAAW,CAACS,OAAK,IAAM,eAEpCjB,GAAa,WACtBA,EAAS,CAAEG,gBAAeJ,cAE1BQ,IAACQ,KAAI,IAAKZ,KAAmBJ,EAASC,SACnCA,KAGO,IAGlB,CACEkB,YAnDmB,MAoDnBC,MAAQxB,GACCA,EAAMgB,SAAW,QAAUS,MAAQC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var useScrollThresholds=require('../../hooks/useScrollThresholds.js');var tabList=require('../../shared/context/tabList.js');var constants=require('../../shared/constants.js');var dom=require('../../shared/utils/dom.js');var focus=require('../../mixins/focus.js');var TabListPanel=require('./TabListPanel.js');var hooks=require('./hooks.js');var TabListMenuTab=require('./TabListMenuTab.js');var sizes=require('./sizes.js');var layouts=require('./layouts.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var TabListTab=require('../TabListTab/TabListTab.js');var IconButton=require('../IconButton/IconButton.js');const TabList=Object.assign(withMergedProps.withMergedProps(React.forwardRef(((e,t)=>{const{size:
|
|
1
|
+
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var useScrollThresholds=require('../../hooks/useScrollThresholds.js');var tabList=require('../../shared/context/tabList.js');var constants=require('../../shared/constants.js');var dom=require('../../shared/utils/dom.js');var focus=require('../../mixins/focus.js');var TabListPanel=require('./TabListPanel.js');var hooks=require('./hooks.js');var TabListMenuTab=require('./TabListMenuTab.js');var sizes=require('./sizes.js');var layouts=require('./layouts.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var TabListTab=require('../TabListTab/TabListTab.js');var IconButton=require('../IconButton/IconButton.js');const TabList=Object.assign(withMergedProps.withMergedProps(React.forwardRef(((e,t)=>{const{size:o="m",layout:r="horizontal",gap:s=8,activationOnFocus:n=!1,tabsAutoGroup:a=!1,scrollControls:l=!1,scrollFading:i=!1,defaultActiveTab:c,activeTab:u,onActiveTabChange:d,variant:b,disabled:h,children:y,menuItems:g,addon:m,menuTabText:v,menuTabControl:T,scrollControlLeft:f,scrollControlRight:j,palette:x,sizeXXS:R,sizeXS:L,sizeS:C,sizeM:k,sizeL:p,sizeXL:S,layoutXXS:A,layoutXS:z,layoutS:B,layoutM:M,layoutL:I,layoutXL:q,...D}=e;const O=React.useMemo((()=>({size:o,sizeXXS:R,sizeXS:L,sizeS:C,sizeM:k,sizeL:p,sizeXL:S})),[o,R,L,C,k,p,S]);const X={layout:r,layoutXXS:A,layoutXS:z,layoutS:B,layoutM:M,layoutL:I,layoutXL:q};const P=React.useRef(null);const E=React.useRef(null);const w=React.useRef(null);React.useImperativeHandle(t,(()=>P.current),[]);const F=hooks.useTabListItems(y,g);const H=hooks.useTabListAutoGroup({enabled:a,tabList:F.tabs});const K=hooks.useTabList({defaultActiveTab:c,activeTab:u,onActiveTabChange:d,tabList:a?F.tabs:F.combined});const{scrollThresholds:_,setScrollThresholds:N}=useScrollThresholds.useScrollThresholds({enabled:!a,target:E});const U={...O,sizes:sizes.SIZES_SCROLL_CONTROL,icon:'chevronLeft',tabIndex:-1,onFocus:e=>{e.currentTarget.blur()},onClick:()=>{if(!E.current||!w.current)return;const e=Math.round(E.current.getBoundingClientRect().left+w.current.getBoundingClientRect().width);const t=Array.from(E.current.querySelectorAll('[role="tab"]')).map((e=>Math.round(e.getBoundingClientRect().left+focus.focus.padding)));const o=t.findIndex((t=>t>=e));[-1,0,1].includes(o)?E.current.scrollTo({top:0,left:0,behavior:'smooth'}):E.current.scrollBy({top:0,left:t[o-1]-e,behavior:'smooth'})}};const W={...O,sizes:sizes.SIZES_SCROLL_CONTROL,icon:'chevronRight',tabIndex:-1,onFocus:e=>{e.currentTarget.blur()},onClick:()=>{if(!E.current)return;const e=Math.round(E.current.getBoundingClientRect().right);const t=Array.from(E.current.querySelectorAll('[role="tab"]')).map((e=>Math.round(e.getBoundingClientRect().right+focus.focus.padding))).reverse();const o=t.findIndex((t=>t<=e));[-1,0,1].includes(o)?E.current.scrollTo({top:0,left:E.current.scrollWidth,behavior:'smooth'}):E.current.scrollBy({top:0,left:t[o-1]-e,behavior:'smooth'})}};const Y=React.useMemo((()=>({...K,activationOnFocus:n})),[K,n]);const Z=React.useMemo((()=>({...O,role:'tab',marginRight:s,variant:b,disabled:h,palette:{color:x.tabColor,colorHover:x.tabColorHover,colorActive:x.tabColorActive,colorDisabled:x.tabColorDisabled,colorActiveDisabled:x.tabColorActiveDisabled,backgroundColor:x.tabBackgroundColor,backgroundColorHover:x.tabBackgroundColorHover,backgroundColorActive:x.tabBackgroundColorActive,backgroundColorDisabled:x.tabBackgroundColorDisabled,backgroundColorActiveDisabled:x.tabBackgroundColorActiveDisabled}})),[O,s,b,h,x]);const G=React.useMemo((()=>({...O,marginRight:s,variant:b})),[O,s,b]);const V=a?H.groups.tabs:F.tabs;const J=a?H.groups.menuItems:F.menuItems;return jsxRuntime.jsxs(style.Root,{...D,...O,...X,layouts:layouts.LAYOUTS,palette:{backgroundColor:x.backgroundColor},ref:e=>{P.current=e,H.refs.root(e)},children:[jsxRuntime.jsxs(style.List,{role:"tablist","aria-orientation":"horizontal",onKeyDown:e=>{if(!(document.activeElement instanceof HTMLElement&&document.activeElement.matches('[role="tab"]')&&(constants.keyboardKeys.Home.validate(e.key)||constants.keyboardKeys.End.validate(e.key)||constants.keyboardKeys.ArrowRight.validate(e.key)||constants.keyboardKeys.ArrowLeft.validate(e.key))))return;const t=Array.from(e.currentTarget.querySelectorAll('[role="tab"]')).filter((e=>!e.closest('[aria-hidden="true"]')));t.length!==0&&(constants.keyboardKeys.Home.validate(e.key)?(e.preventDefault(),t[0].focus()):constants.keyboardKeys.End.validate(e.key)?(e.preventDefault(),t[t.length-1].focus()):(constants.keyboardKeys.ArrowRight.validate(e.key)||constants.keyboardKeys.ArrowLeft.validate(e.key))&&(e.preventDefault(),dom.navigateHorizontalList(e.key,document.activeElement,t,dom.SELECTORS_FOCUSABLE)))},children:[jsxRuntime.jsxs(style.Container,{ref:H.refs.container,children:[jsxRuntime.jsxs(style.TabsTrack,{children:[a||!l&&!i?null:jsxRuntime.jsxs(style.Floats,{hidden:_.left===!0||_.left===null,children:[l?jsxRuntime.jsx(style.Control,{ref:w,children:typeof f=='function'?f(U):jsxRuntime.jsx(IconButton.IconButton,{...U})}):null,i?jsxRuntime.jsx(style.ScrollFading,{}):null]}),jsxRuntime.jsx(style.TrackScrollable,{ref:e=>{E.current=e,H.refs.track(e)},tabIndex:-1,"data-ui-track-scrollable":!0,onFocus:e=>{if(!e.target.matches('[role="tab"]'))return;const t=e.currentTarget.getBoundingClientRect();const o=e.target.getBoundingClientRect();const r=Math.round(t.right);const s=Math.round(w.current&&_.left===!1?t.left+w.current.getBoundingClientRect().width:t.left);const n=Math.round(o.right+focus.focus.padding);const a=Math.round(o.left-focus.focus.padding);n>r?e.currentTarget.scrollBy(n-r,0):a<s&&e.currentTarget.scrollBy(a-s,0)},onScroll:e=>{a||N(e.currentTarget)},children:jsxRuntime.jsx(tabList.TabListTabsContext.Provider,{value:Y,children:jsxRuntime.jsx(tabList.TabListPropsContext.Provider,{value:Z,children:a?V.map(((e,t)=>jsxRuntime.jsx(style.TabWrapper,{children:e},t))):V})})}),!a&&i?jsxRuntime.jsx(style.Floats,{hidden:_.right===!0||_.right===null,after:!0,children:jsxRuntime.jsx(style.ScrollFading,{after:!0})}):null]}),!a&&l?jsxRuntime.jsx(style.Control,{hidden:_.right===!0||_.right===null,children:typeof j=='function'?j(W):jsxRuntime.jsx(IconButton.IconButton,{...W})}):null,J.length>0&&jsxRuntime.jsx(style.Control,{ref:e=>{H.refs.control(e)},children:jsxRuntime.jsx(TabListMenuTab.TabListMenuTab,{...O,...K,role:"tab",variant:b,disabled:h,palette:x,menuItems:J,activationOnFocus:n,text:v,control:T})})]}),a?jsxRuntime.jsx(style.Hidden,{"aria-hidden":!0,children:jsxRuntime.jsx(style.TabsHidden,{children:jsxRuntime.jsx(tabList.TabListPropsContext.Provider,{value:G,children:F.tabs.map(((e,t)=>jsxRuntime.jsx(style.TabWrapper,{ref:e=>{H.refs.tabHidden(t,e)},children:React.cloneElement(e,{ref:null,id:void 0,role:'none'})},t)))})})}):null]}),m?jsxRuntime.jsx(style.Addon,{...X,layouts:layouts.LAYOUTS_ADDON,ref:e=>{H.refs.addon(e)},children:m}):null,b==='underlined'&&jsxRuntime.jsx(style.DividerPositioned,{...X,layouts:layouts.LAYOUTS_DIVIDER,color:x.dividerColor})]})})),{displayName:'TabList',sizes:sizes.SIZES}),{Tab:TabListTab.TabListTab,Panel:TabListPanel.TabListPanel});exports.TabList=TabList;
|
|
2
2
|
//# sourceMappingURL=TabList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.js","sources":["../../../../src/components/TabList/TabList.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, cloneElement } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { TabListTab } from 'components/TabListTab'\nimport { IconButton } from 'components/IconButton'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateHorizontalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport { focus } from 'mixins/focus'\nimport { TabListPanel } from './TabListPanel'\nimport { useTabList, useTabListItems, useTabListAutoGroup } from './hooks'\nimport { TabListMenuTab } from './TabListMenuTab'\nimport { SIZES, SIZES_SCROLL_CONTROL } from './sizes'\nimport { LAYOUTS, LAYOUTS_DIVIDER, LAYOUTS_ADDON } from './layouts'\nimport type { TabListProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TabList'\n\n/**\n *\n * Компонент для создания группы табов и ассоциированных с ними панелей с контентом.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/tabs/).\n */\nconst TabList: React.ForwardRefExoticComponent<TabListProps> & {\n Tab: typeof TabListTab\n Panel: typeof TabListPanel\n} = Object.assign(\n withMergedProps<TabListProps, HTMLDivElement>(\n forwardRef((props, forwardedRef) => {\n const {\n size = 'm',\n layout = 'horizontal',\n gap = 8,\n activationOnFocus = false,\n tabsAutoGroup = false,\n scrollControls = false,\n scrollFading = false,\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n variant,\n disabled,\n children,\n menuItems: menuItemsProp,\n addon,\n menuTabText,\n menuTabControl,\n scrollControlLeft,\n scrollControlRight,\n palette,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n ...restProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const scrollControlLeftProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: 'chevronLeft',\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current || !scrollControlRef.current) {\n return\n }\n\n const trackLeft = Math.round(\n tabsTrackRef.current.getBoundingClientRect().left + scrollControlRef.current.getBoundingClientRect().width\n )\n const tabsLeft = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]')).map((tab) =>\n Math.round(tab.getBoundingClientRect().left + focus.padding)\n )\n\n const idx = tabsLeft.findIndex((tabLeft) => tabLeft >= trackLeft)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsLeft[idx - 1] - trackLeft,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const scrollControlRightProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: 'chevronRight',\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current) {\n return\n }\n\n const trackRight = Math.round(tabsTrackRef.current.getBoundingClientRect().right)\n const tabsRight = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]'))\n .map((tab) => Math.round(tab.getBoundingClientRect().right + focus.padding))\n .reverse()\n\n const idx = tabsRight.findIndex((tabRight) => tabRight <= trackRight)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: tabsTrackRef.current.scrollWidth, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsRight[idx - 1] - trackRight,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const tabsTrackRef = useRef<HTMLDivElement | null>(null)\n const scrollControlRef = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle(forwardedRef, () => rootRef.current as HTMLDivElement, [])\n\n const tabListItems = useTabListItems(children, menuItemsProp)\n\n const autoGroupMode = useTabListAutoGroup({\n enabled: tabsAutoGroup,\n tabList: tabListItems.tabs,\n })\n\n const tabList = useTabList({\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n tabList: tabsAutoGroup ? tabListItems.tabs : tabListItems.combined,\n })\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: !tabsAutoGroup,\n target: tabsTrackRef,\n })\n\n const tabs = tabsAutoGroup ? autoGroupMode.groups.tabs : tabListItems.tabs\n const menuItems = tabsAutoGroup ? autoGroupMode.groups.menuItems : tabListItems.menuItems\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={LAYOUTS}\n palette={{\n backgroundColor: palette.backgroundColor,\n }}\n ref={(node) => {\n rootRef.current = node\n autoGroupMode.refs.root(node)\n }}\n >\n <Styled.List\n role='tablist'\n aria-orientation='horizontal'\n onKeyDown={(evt) => {\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"tab\"]') ||\n (!keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowRight.validate(evt.key) &&\n !keyboardKeys.ArrowLeft.validate(evt.key))\n ) {\n return\n }\n\n const tabs = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"tab\"]')).filter(\n (tab) => !tab.closest('[aria-hidden=\"true\"]')\n )\n\n if (tabs.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n tabs[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n tabs[tabs.length - 1].focus()\n } else if (keyboardKeys.ArrowRight.validate(evt.key) || keyboardKeys.ArrowLeft.validate(evt.key)) {\n evt.preventDefault()\n navigateHorizontalList(evt.key, document.activeElement, tabs, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <Styled.Container ref={autoGroupMode.refs.container}>\n <Styled.TabsTrack>\n {!tabsAutoGroup && (scrollControls || scrollFading) && (\n <Styled.Floats hidden={scrollThresholds.left === true || scrollThresholds.left === null}>\n {scrollControls && (\n <Styled.Control ref={scrollControlRef}>\n {typeof scrollControlLeft === 'function' ? (\n scrollControlLeft(scrollControlLeftProps)\n ) : (\n <IconButton {...scrollControlLeftProps} />\n )}\n </Styled.Control>\n )}\n {scrollFading && <Styled.ScrollFading />}\n </Styled.Floats>\n )}\n <Styled.TrackScrollable\n ref={(node) => {\n tabsTrackRef.current = node\n autoGroupMode.refs.track(node)\n }}\n tabIndex={-1}\n data-ui-track-scrollable\n onFocus={(evt) => {\n if (!evt.target.matches('[role=\"tab\"]')) {\n return\n }\n\n const trackRect = evt.currentTarget.getBoundingClientRect()\n const tabRect = evt.target.getBoundingClientRect()\n\n const trackRight = Math.round(trackRect.right)\n const trackLeft = Math.round(\n scrollControlRef.current && scrollThresholds.left === false\n ? trackRect.left + scrollControlRef.current.getBoundingClientRect().width\n : trackRect.left\n )\n\n const tabRight = Math.round(tabRect.right + focus.padding)\n const tabLeft = Math.round(tabRect.left - focus.padding)\n\n if (tabRight > trackRight) {\n evt.currentTarget.scrollBy(tabRight - trackRight, 0)\n } else if (tabLeft < trackLeft) {\n evt.currentTarget.scrollBy(tabLeft - trackLeft, 0)\n }\n }}\n onScroll={(evt) => {\n if (!tabsAutoGroup) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n >\n <TabListTabsContext.Provider\n value={{\n ...tabList,\n activationOnFocus,\n }}\n >\n <TabListPropsContext.Provider\n value={{\n ...sizeProps,\n role: 'tab',\n marginRight: gap,\n variant,\n disabled,\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n }}\n >\n {tabsAutoGroup\n ? tabs.map((tab, idx) => <Styled.TabWrapper key={idx}>{tab}</Styled.TabWrapper>)\n : tabs}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.TrackScrollable>\n {!tabsAutoGroup && scrollFading && (\n <Styled.Floats hidden={scrollThresholds.right === true || scrollThresholds.right === null} after>\n <Styled.ScrollFading after />\n </Styled.Floats>\n )}\n </Styled.TabsTrack>\n {!tabsAutoGroup && scrollControls && (\n <Styled.Control hidden={scrollThresholds.right === true || scrollThresholds.right === null}>\n {typeof scrollControlRight === 'function' ? (\n scrollControlRight(scrollControlRightProps)\n ) : (\n <IconButton {...scrollControlRightProps} />\n )}\n </Styled.Control>\n )}\n {menuItems.length > 0 && (\n <Styled.Control\n ref={(node) => {\n autoGroupMode.refs.control(node)\n }}\n >\n <TabListMenuTab\n {...sizeProps}\n {...tabList}\n role='tab'\n variant={variant}\n disabled={disabled}\n palette={palette}\n menuItems={menuItems}\n activationOnFocus={activationOnFocus}\n text={menuTabText}\n control={menuTabControl}\n />\n </Styled.Control>\n )}\n </Styled.Container>\n {tabsAutoGroup && (\n <Styled.Hidden aria-hidden>\n <Styled.TabsHidden>\n <TabListPropsContext.Provider value={{ ...sizeProps, marginRight: gap, variant }}>\n {tabListItems.tabs.map((tab, idx) => (\n <Styled.TabWrapper\n key={idx}\n ref={(node) => {\n autoGroupMode.refs.tabHidden(idx, node)\n }}\n >\n {cloneElement(tab, { ref: null, id: undefined, role: 'none' })}\n </Styled.TabWrapper>\n ))}\n </TabListPropsContext.Provider>\n </Styled.TabsHidden>\n </Styled.Hidden>\n )}\n </Styled.List>\n {addon && (\n <Styled.Addon\n {...layoutProps}\n layouts={LAYOUTS_ADDON}\n ref={(node) => {\n autoGroupMode.refs.addon(node)\n }}\n >\n {addon}\n </Styled.Addon>\n )}\n {variant === 'underlined' && (\n <Styled.DividerPositioned {...layoutProps} layouts={LAYOUTS_DIVIDER} color={palette.dividerColor} />\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Tab: TabListTab,\n Panel: TabListPanel,\n }\n)\n\nexport { TabList }\n"],"names":["TabList","Object","assign","withMergedProps","forwardRef","props","forwardedRef","size","layout","gap","activationOnFocus","tabsAutoGroup","scrollControls","scrollFading","defaultActiveTab","activeTab","onActiveTabChange","variant","disabled","children","menuItems","menuItemsProp","addon","menuTabText","menuTabControl","scrollControlLeft","scrollControlRight","palette","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","restProps","sizeProps","layoutProps","scrollControlLeftProps","sizes","SIZES_SCROLL_CONTROL","icon","tabIndex","onFocus","evt","currentTarget","blur","onClick","tabsTrackRef","current","scrollControlRef","trackLeft","Math","round","getBoundingClientRect","left","width","tabsLeft","Array","from","querySelectorAll","map","tab","focus","padding","idx","findIndex","tabLeft","includes","scrollTo","top","behavior","scrollBy","scrollControlRightProps","trackRight","right","tabsRight","reverse","tabRight","scrollWidth","rootRef","useRef","useImperativeHandle","tabListItems","useTabListItems","autoGroupMode","useTabListAutoGroup","enabled","tabList","tabs","useTabList","combined","scrollThresholds","setScrollThresholds","useScrollThresholds","target","groups","_jsxs","Styled","layouts","LAYOUTS","backgroundColor","ref","node","refs","root","jsxs","role","onKeyDown","document","activeElement","HTMLElement","matches","keyboardKeys","Home","validate","key","End","ArrowRight","ArrowLeft","filter","closest","length","preventDefault","navigateHorizontalList","SELECTORS_FOCUSABLE","container","hidden","_jsx","jsx","IconButton","ScrollFading","track","trackRect","tabRect","onScroll","TabListTabsContext","Provider","value","TabListPropsContext","marginRight","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","after","control","TabListMenuTab","text","tabHidden","cloneElement","id","undefined","LAYOUTS_ADDON","LAYOUTS_DIVIDER","dividerColor","displayName","SIZES","Tab","TabListTab","Panel","TabListPanel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabList.js","sources":["../../../../src/components/TabList/TabList.tsx"],"sourcesContent":["import { forwardRef, useRef, useImperativeHandle, cloneElement, useMemo } from 'react'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { TabListTab } from 'components/TabListTab'\nimport { IconButton } from 'components/IconButton'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { TabListTabsContext, TabListPropsContext } from 'shared/context/tabList'\nimport { keyboardKeys } from 'shared/constants'\nimport { navigateHorizontalList, SELECTORS_FOCUSABLE } from 'shared/utils/dom'\nimport { focus } from 'mixins/focus'\nimport { TabListPanel } from './TabListPanel'\nimport { useTabList, useTabListItems, useTabListAutoGroup } from './hooks'\nimport { TabListMenuTab } from './TabListMenuTab'\nimport { SIZES, SIZES_SCROLL_CONTROL } from './sizes'\nimport { LAYOUTS, LAYOUTS_DIVIDER, LAYOUTS_ADDON } from './layouts'\nimport type { TabListProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TabList'\n\n/**\n *\n * Компонент для создания группы табов и ассоциированных с ними панелей с контентом.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<div\\> элемента.\n *\n * Дизайн соответствует [рекомендациям WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/patterns/tabs/).\n */\nconst TabList: React.ForwardRefExoticComponent<TabListProps> & {\n Tab: typeof TabListTab\n Panel: typeof TabListPanel\n} = Object.assign(\n withMergedProps<TabListProps, HTMLDivElement>(\n forwardRef<HTMLDivElement, MergedProps<TabListProps>>((props, forwardedRef) => {\n const {\n size = 'm',\n layout = 'horizontal',\n gap = 8,\n activationOnFocus = false,\n tabsAutoGroup = false,\n scrollControls = false,\n scrollFading = false,\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n variant,\n disabled,\n children,\n menuItems: menuItemsProp,\n addon,\n menuTabText,\n menuTabControl,\n scrollControlLeft,\n scrollControlRight,\n palette,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n ...restProps\n } = props\n\n const sizeProps = useMemo(\n () => ({ size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL }),\n [size, sizeXXS, sizeXS, sizeS, sizeM, sizeL, sizeXL]\n )\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const rootRef = useRef<HTMLDivElement | null>(null)\n const tabsTrackRef = useRef<HTMLDivElement | null>(null)\n const scrollControlRef = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle(forwardedRef, () => rootRef.current as HTMLDivElement, [])\n\n const tabListItems = useTabListItems(children, menuItemsProp)\n\n const autoGroupMode = useTabListAutoGroup({\n enabled: tabsAutoGroup,\n tabList: tabListItems.tabs,\n })\n\n const tabList = useTabList({\n defaultActiveTab,\n activeTab,\n onActiveTabChange,\n tabList: tabsAutoGroup ? tabListItems.tabs : tabListItems.combined,\n })\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: !tabsAutoGroup,\n target: tabsTrackRef,\n })\n\n const scrollControlLeftProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: 'chevronLeft',\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current || !scrollControlRef.current) {\n return\n }\n\n const trackLeft = Math.round(\n tabsTrackRef.current.getBoundingClientRect().left + scrollControlRef.current.getBoundingClientRect().width\n )\n const tabsLeft = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]')).map((tab) =>\n Math.round(tab.getBoundingClientRect().left + focus.padding)\n )\n\n const idx = tabsLeft.findIndex((tabLeft) => tabLeft >= trackLeft)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: 0, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsLeft[idx - 1] - trackLeft,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const scrollControlRightProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_SCROLL_CONTROL,\n icon: 'chevronRight',\n tabIndex: -1,\n onFocus: (evt) => {\n evt.currentTarget.blur()\n },\n onClick: () => {\n if (!tabsTrackRef.current) {\n return\n }\n\n const trackRight = Math.round(tabsTrackRef.current.getBoundingClientRect().right)\n const tabsRight = Array.from(tabsTrackRef.current.querySelectorAll<HTMLLIElement>('[role=\"tab\"]'))\n .map((tab) => Math.round(tab.getBoundingClientRect().right + focus.padding))\n .reverse()\n\n const idx = tabsRight.findIndex((tabRight) => tabRight <= trackRight)\n\n if ([-1, 0, 1].includes(idx)) {\n tabsTrackRef.current.scrollTo({ top: 0, left: tabsTrackRef.current.scrollWidth, behavior: 'smooth' })\n } else {\n tabsTrackRef.current.scrollBy({\n top: 0,\n left: tabsRight[idx - 1] - trackRight,\n behavior: 'smooth',\n })\n }\n },\n }\n\n const controlsContextProps = useMemo(() => ({ ...tabList, activationOnFocus }), [tabList, activationOnFocus])\n\n const tabsContextProps = useMemo(\n () => ({\n ...sizeProps,\n role: 'tab',\n marginRight: gap,\n variant,\n disabled,\n palette: {\n color: palette.tabColor,\n colorHover: palette.tabColorHover,\n colorActive: palette.tabColorActive,\n colorDisabled: palette.tabColorDisabled,\n colorActiveDisabled: palette.tabColorActiveDisabled,\n backgroundColor: palette.tabBackgroundColor,\n backgroundColorHover: palette.tabBackgroundColorHover,\n backgroundColorActive: palette.tabBackgroundColorActive,\n backgroundColorDisabled: palette.tabBackgroundColorDisabled,\n backgroundColorActiveDisabled: palette.tabBackgroundColorActiveDisabled,\n },\n }),\n [sizeProps, gap, variant, disabled, palette]\n )\n\n const hiddenTabsContextProps = useMemo(\n () => ({ ...sizeProps, marginRight: gap, variant }),\n [sizeProps, gap, variant]\n )\n\n const tabs = tabsAutoGroup ? autoGroupMode.groups.tabs : tabListItems.tabs\n const menuItems = tabsAutoGroup ? autoGroupMode.groups.menuItems : tabListItems.menuItems\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={LAYOUTS}\n palette={{\n backgroundColor: palette.backgroundColor,\n }}\n ref={(node) => {\n rootRef.current = node\n autoGroupMode.refs.root(node)\n }}\n >\n <Styled.List\n role='tablist'\n aria-orientation='horizontal'\n onKeyDown={(evt) => {\n if (\n !(document.activeElement instanceof HTMLElement) ||\n !document.activeElement.matches('[role=\"tab\"]') ||\n (!keyboardKeys.Home.validate(evt.key) &&\n !keyboardKeys.End.validate(evt.key) &&\n !keyboardKeys.ArrowRight.validate(evt.key) &&\n !keyboardKeys.ArrowLeft.validate(evt.key))\n ) {\n return\n }\n\n const tabListTabs = Array.from(evt.currentTarget.querySelectorAll<HTMLElement>('[role=\"tab\"]')).filter(\n (tab) => !tab.closest('[aria-hidden=\"true\"]')\n )\n\n if (tabListTabs.length === 0) return\n\n if (keyboardKeys.Home.validate(evt.key)) {\n evt.preventDefault()\n tabListTabs[0].focus()\n } else if (keyboardKeys.End.validate(evt.key)) {\n evt.preventDefault()\n tabListTabs[tabListTabs.length - 1].focus()\n } else if (keyboardKeys.ArrowRight.validate(evt.key) || keyboardKeys.ArrowLeft.validate(evt.key)) {\n evt.preventDefault()\n navigateHorizontalList(evt.key, document.activeElement, tabListTabs, SELECTORS_FOCUSABLE)\n }\n }}\n >\n <Styled.Container ref={autoGroupMode.refs.container}>\n <Styled.TabsTrack>\n {!tabsAutoGroup && (scrollControls || scrollFading) ? (\n <Styled.Floats hidden={scrollThresholds.left === true || scrollThresholds.left === null}>\n {scrollControls ? (\n <Styled.Control ref={scrollControlRef}>\n {typeof scrollControlLeft === 'function' ? (\n scrollControlLeft(scrollControlLeftProps)\n ) : (\n <IconButton {...scrollControlLeftProps} />\n )}\n </Styled.Control>\n ) : null}\n {scrollFading ? <Styled.ScrollFading /> : null}\n </Styled.Floats>\n ) : null}\n <Styled.TrackScrollable\n ref={(node) => {\n tabsTrackRef.current = node\n autoGroupMode.refs.track(node)\n }}\n tabIndex={-1}\n data-ui-track-scrollable\n onFocus={(evt) => {\n if (!evt.target.matches('[role=\"tab\"]')) {\n return\n }\n\n const trackRect = evt.currentTarget.getBoundingClientRect()\n const tabRect = evt.target.getBoundingClientRect()\n\n const trackRight = Math.round(trackRect.right)\n const trackLeft = Math.round(\n scrollControlRef.current && scrollThresholds.left === false\n ? trackRect.left + scrollControlRef.current.getBoundingClientRect().width\n : trackRect.left\n )\n\n const tabRight = Math.round(tabRect.right + focus.padding)\n const tabLeft = Math.round(tabRect.left - focus.padding)\n\n if (tabRight > trackRight) {\n evt.currentTarget.scrollBy(tabRight - trackRight, 0)\n } else if (tabLeft < trackLeft) {\n evt.currentTarget.scrollBy(tabLeft - trackLeft, 0)\n }\n }}\n onScroll={(evt) => {\n if (!tabsAutoGroup) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n >\n <TabListTabsContext.Provider value={controlsContextProps}>\n <TabListPropsContext.Provider value={tabsContextProps}>\n {tabsAutoGroup\n ? tabs.map((tab, idx) => <Styled.TabWrapper key={idx}>{tab}</Styled.TabWrapper>)\n : tabs}\n </TabListPropsContext.Provider>\n </TabListTabsContext.Provider>\n </Styled.TrackScrollable>\n {!tabsAutoGroup && scrollFading ? (\n <Styled.Floats hidden={scrollThresholds.right === true || scrollThresholds.right === null} after>\n <Styled.ScrollFading after />\n </Styled.Floats>\n ) : null}\n </Styled.TabsTrack>\n {!tabsAutoGroup && scrollControls ? (\n <Styled.Control hidden={scrollThresholds.right === true || scrollThresholds.right === null}>\n {typeof scrollControlRight === 'function' ? (\n scrollControlRight(scrollControlRightProps)\n ) : (\n <IconButton {...scrollControlRightProps} />\n )}\n </Styled.Control>\n ) : null}\n {menuItems.length > 0 && (\n <Styled.Control\n ref={(node) => {\n autoGroupMode.refs.control(node)\n }}\n >\n <TabListMenuTab\n {...sizeProps}\n {...tabList}\n role='tab'\n variant={variant}\n disabled={disabled}\n palette={palette}\n menuItems={menuItems}\n activationOnFocus={activationOnFocus}\n text={menuTabText}\n control={menuTabControl}\n />\n </Styled.Control>\n )}\n </Styled.Container>\n {tabsAutoGroup ? (\n <Styled.Hidden aria-hidden>\n <Styled.TabsHidden>\n <TabListPropsContext.Provider value={hiddenTabsContextProps}>\n {tabListItems.tabs.map((tab, idx) => (\n <Styled.TabWrapper\n key={idx}\n ref={(node) => {\n autoGroupMode.refs.tabHidden(idx, node)\n }}\n >\n {cloneElement(tab, { ref: null, id: undefined, role: 'none' })}\n </Styled.TabWrapper>\n ))}\n </TabListPropsContext.Provider>\n </Styled.TabsHidden>\n </Styled.Hidden>\n ) : null}\n </Styled.List>\n {addon ? (\n <Styled.Addon\n {...layoutProps}\n layouts={LAYOUTS_ADDON}\n ref={(node) => {\n autoGroupMode.refs.addon(node)\n }}\n >\n {addon}\n </Styled.Addon>\n ) : null}\n {variant === 'underlined' && (\n <Styled.DividerPositioned {...layoutProps} layouts={LAYOUTS_DIVIDER} color={palette.dividerColor} />\n )}\n </Styled.Root>\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n ),\n {\n Tab: TabListTab,\n Panel: TabListPanel,\n }\n)\n\nexport { TabList }\n"],"names":["TabList","Object","assign","withMergedProps","forwardRef","props","forwardedRef","size","layout","gap","activationOnFocus","tabsAutoGroup","scrollControls","scrollFading","defaultActiveTab","activeTab","onActiveTabChange","variant","disabled","children","menuItems","menuItemsProp","addon","menuTabText","menuTabControl","scrollControlLeft","scrollControlRight","palette","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","restProps","sizeProps","useMemo","layoutProps","rootRef","useRef","tabsTrackRef","scrollControlRef","useImperativeHandle","current","tabListItems","useTabListItems","autoGroupMode","useTabListAutoGroup","enabled","tabList","tabs","useTabList","combined","scrollThresholds","setScrollThresholds","useScrollThresholds","target","scrollControlLeftProps","sizes","SIZES_SCROLL_CONTROL","icon","tabIndex","onFocus","evt","currentTarget","blur","onClick","trackLeft","Math","round","getBoundingClientRect","left","width","tabsLeft","Array","from","querySelectorAll","map","tab","focus","padding","idx","findIndex","tabLeft","includes","scrollTo","top","behavior","scrollBy","scrollControlRightProps","trackRight","right","tabsRight","reverse","tabRight","scrollWidth","controlsContextProps","tabsContextProps","role","marginRight","color","tabColor","colorHover","tabColorHover","colorActive","tabColorActive","colorDisabled","tabColorDisabled","colorActiveDisabled","tabColorActiveDisabled","backgroundColor","tabBackgroundColor","backgroundColorHover","tabBackgroundColorHover","backgroundColorActive","tabBackgroundColorActive","backgroundColorDisabled","tabBackgroundColorDisabled","backgroundColorActiveDisabled","tabBackgroundColorActiveDisabled","hiddenTabsContextProps","groups","_jsxs","Styled","layouts","LAYOUTS","ref","node","refs","root","jsxs","onKeyDown","document","activeElement","HTMLElement","matches","keyboardKeys","Home","validate","key","End","ArrowRight","ArrowLeft","tabListTabs","filter","closest","length","preventDefault","navigateHorizontalList","SELECTORS_FOCUSABLE","container","hidden","_jsx","jsx","IconButton","track","trackRect","tabRect","onScroll","TabListTabsContext","Provider","value","TabListPropsContext","after","control","TabListMenuTab","text","tabHidden","cloneElement","id","undefined","LAYOUTS_ADDON","LAYOUTS_DIVIDER","dividerColor","displayName","SIZES","Tab","TabListTab","Panel","TabListPanel"],"mappings":"yuBA6BA,MAAMA,QAGFC,OAAOC,OACTC,gBAAAA,gBACEC,MAAAA,YAAsD,CAACC,EAAOC,KAC5D,MAAMC,KACJA,EAAO,IAAGC,OACVA,EAAS,aAAYC,IACrBA,EAAM,EAACC,kBACPA,GAAoB,EAAKC,cACzBA,GAAgB,EAAKC,eACrBA,GAAiB,EAAKC,aACtBA,GAAe,EAAKC,iBACpBA,EAAgBC,UAChBA,EAASC,kBACTA,EAAiBC,QACjBA,EAAOC,SACPA,EAAQC,SACRA,EACAC,UAAWC,EAAaC,MACxBA,EAAKC,YACLA,EAAWC,eACXA,EAAcC,kBACdA,EAAiBC,mBACjBA,EAAkBC,QAClBA,EAAOC,QACPA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,UACNA,EAASC,SACTA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,SACPA,KACGC,GACDnC,EAEJ,MAAMoC,EAAYC,MAAAA,SAChB,KAAO,CAAEnC,OAAMqB,UAASC,SAAQC,QAAOC,QAAOC,QAAOC,YACrD,CAAC1B,EAAMqB,EAASC,EAAQC,EAAOC,EAAOC,EAAOC,IAG/C,MAAMU,EAAc,CAClBnC,SACA0B,YACAC,WACAC,UACAC,UACAC,UACAC,YAGF,MAAMK,EAAUC,aAA8B,MAC9C,MAAMC,EAAeD,aAA8B,MACnD,MAAME,EAAmBF,aAA8B,MAEvDG,MAAAA,oBAAoB1C,GAAc,IAAMsC,EAAQK,SAA2B,IAE3E,MAAMC,EAAeC,MAAAA,gBAAgBhC,EAAUE,GAE/C,MAAM+B,EAAgBC,MAAAA,oBAAoB,CACxCC,QAAS3C,EACT4C,QAASL,EAAaM,OAGxB,MAAMD,EAAUE,MAAAA,WAAW,CACzB3C,mBACAC,YACAC,oBACAuC,QAAS5C,EAAgBuC,EAAaM,KAAON,EAAaQ,WAG5D,MAAMC,iBAAEA,EAAgBC,oBAAEA,GAAwBC,wCAAoB,CACpEP,SAAU3C,EACVmD,OAAQhB,IAGV,MAAMiB,EAA0C,IAC3CtB,EACHuB,MAAOC,MAAoBA,qBAC3BC,KAAM,cACNC,UAAW,EACXC,QAAUC,IACRA,EAAIC,cAAcC,MAAM,EAE1BC,QAASA,KACP,IAAK1B,EAAaG,UAAYF,EAAiBE,QAC7C,OAGF,MAAMwB,EAAYC,KAAKC,MACrB7B,EAAaG,QAAQ2B,wBAAwBC,KAAO9B,EAAiBE,QAAQ2B,wBAAwBE,OAEvG,MAAMC,EAAWC,MAAMC,KAAKnC,EAAaG,QAAQiC,iBAAgC,iBAAiBC,KAAKC,GACrGV,KAAKC,MAAMS,EAAIR,wBAAwBC,KAAOQ,MAAAA,MAAMC,WAGtD,MAAMC,EAAMR,EAASS,WAAWC,GAAYA,GAAWhB,IAEnD,EAAE,EAAG,EAAG,GAAGiB,SAASH,GACtBzC,EAAaG,QAAQ0C,SAAS,CAAEC,IAAK,EAAGf,KAAM,EAAGgB,SAAU,WAE3D/C,EAAaG,QAAQ6C,SAAS,CAC5BF,IAAK,EACLf,KAAME,EAASQ,EAAM,GAAKd,EAC1BoB,SAAU,UAEd,GAIJ,MAAME,EAA2C,IAC5CtD,EACHuB,MAAOC,MAAoBA,qBAC3BC,KAAM,eACNC,UAAW,EACXC,QAAUC,IACRA,EAAIC,cAAcC,MAAM,EAE1BC,QAASA,KACP,IAAK1B,EAAaG,QAChB,OAGF,MAAM+C,EAAatB,KAAKC,MAAM7B,EAAaG,QAAQ2B,wBAAwBqB,OAC3E,MAAMC,EAAYlB,MAAMC,KAAKnC,EAAaG,QAAQiC,iBAAgC,iBAC/EC,KAAKC,GAAQV,KAAKC,MAAMS,EAAIR,wBAAwBqB,MAAQZ,MAAAA,MAAMC,WAClEa,UAEH,MAAMZ,EAAMW,EAAUV,WAAWY,GAAaA,GAAYJ,IAEtD,EAAE,EAAG,EAAG,GAAGN,SAASH,GACtBzC,EAAaG,QAAQ0C,SAAS,CAAEC,IAAK,EAAGf,KAAM/B,EAAaG,QAAQoD,YAAaR,SAAU,WAE1F/C,EAAaG,QAAQ6C,SAAS,CAC5BF,IAAK,EACLf,KAAMqB,EAAUX,EAAM,GAAKS,EAC3BH,SAAU,UAEd,GAIJ,MAAMS,EAAuB5D,MAAAA,SAAQ,KAAO,IAAKa,EAAS7C,uBAAsB,CAAC6C,EAAS7C,IAE1F,MAAM6F,EAAmB7D,MAAAA,SACvB,KAAO,IACFD,EACH+D,KAAM,MACNC,YAAahG,EACbQ,UACAC,WACAS,QAAS,CACP+E,MAAO/E,EAAQgF,SACfC,WAAYjF,EAAQkF,cACpBC,YAAanF,EAAQoF,eACrBC,cAAerF,EAAQsF,iBACvBC,oBAAqBvF,EAAQwF,uBAC7BC,gBAAiBzF,EAAQ0F,mBACzBC,qBAAsB3F,EAAQ4F,wBAC9BC,sBAAuB7F,EAAQ8F,yBAC/BC,wBAAyB/F,EAAQgG,2BACjCC,8BAA+BjG,EAAQkG,qCAG3C,CAACpF,EAAWhC,EAAKQ,EAASC,EAAUS,IAGtC,MAAMmG,EAAyBpF,MAAAA,SAC7B,KAAO,IAAKD,EAAWgE,YAAahG,EAAKQ,aACzC,CAACwB,EAAWhC,EAAKQ,IAGnB,MAAMuC,EAAO7C,EAAgByC,EAAc2E,OAAOvE,KAAON,EAAaM,KACtE,MAAMpC,EAAYT,EAAgByC,EAAc2E,OAAO3G,UAAY8B,EAAa9B,UAEhF,OACE4G,WAAAA,KAACC,MAAAA,KAAW,IACNzF,KACAC,KACAE,EACJuF,QAASC,QAAQA,QACjBxG,QAAS,CACPyF,gBAAiBzF,EAAQyF,iBAE3BgB,IAAMC,IACJzF,EAAQK,QAAUoF,EAClBjF,EAAckF,KAAKC,KAAKF,EAAK,EAC7BlH,SAEF6G,CAAAA,WAAAQ,KAACP,WAAW,CACVzB,KAAK,UACL,mBAAiB,aACjBiC,UAAYpE,IACV,KACIqE,SAASC,yBAAyBC,aACnCF,SAASC,cAAcE,QAAQ,kBAC9BC,UAAAA,aAAaC,KAAKC,SAAS3E,EAAI4E,MAC9BH,UAAAA,aAAaI,IAAIF,SAAS3E,EAAI4E,MAC9BH,UAAAA,aAAaK,WAAWH,SAAS3E,EAAI4E,MACrCH,uBAAaM,UAAUJ,SAAS3E,EAAI4E,OAEvC,OAGF,MAAMI,EAAcrE,MAAMC,KAAKZ,EAAIC,cAAcY,iBAA8B,iBAAiBoE,QAC7FlE,IAASA,EAAImE,QAAQ,0BAGpBF,EAAYG,SAAW,IAEvBV,UAAYA,aAACC,KAAKC,SAAS3E,EAAI4E,MACjC5E,EAAIoF,iBACJJ,EAAY,GAAGhE,SACNyD,UAAYA,aAACI,IAAIF,SAAS3E,EAAI4E,MACvC5E,EAAIoF,iBACJJ,EAAYA,EAAYG,OAAS,GAAGnE,UAC3ByD,UAAYA,aAACK,WAAWH,SAAS3E,EAAI4E,MAAQH,UAAAA,aAAaM,UAAUJ,SAAS3E,EAAI4E,QAC1F5E,EAAIoF,iBACJC,IAAsBA,uBAACrF,EAAI4E,IAAKP,SAASC,cAAeU,EAAaM,IAAAA,sBACvE,EACAxI,SAEF6G,CAAAA,WAAAQ,KAACP,gBAAgB,CAACG,IAAKhF,EAAckF,KAAKsB,UAAUzI,SAClD6G,CAAAA,WAAAQ,KAACP,gBAAgB,CAAA9G,SACd,CAACR,IAAkBC,IAAkBC,EAalC,KAZFmH,WAAAQ,KAACP,aAAa,CAAC4B,OAAQlG,EAAiBkB,QAAS,GAAQlB,EAAiBkB,OAAS,KAAK1D,UACrFP,EACCkJ,WAAAC,IAAC9B,cAAc,CAACG,IAAKrF,EAAiB5B,gBAC5BM,GAAsB,WAC5BA,EAAkBsC,GAElB+F,WAAAC,IAACC,sBAAU,IAAKjG,MAGlB,KACHlD,EAAeiJ,WAAAA,IAAC7B,MAAAA,aAAqB,CAAA,GAAI,QAG9C6B,WAAAC,IAAC9B,sBAAsB,CACrBG,IAAMC,IACJvF,EAAaG,QAAUoF,EACvBjF,EAAckF,KAAK2B,MAAM5B,EAAK,EAEhClE,UAAW,EACX,4BAAwB,EACxBC,QAAUC,IACR,IAAKA,EAAIP,OAAO+E,QAAQ,gBACtB,OAGF,MAAMqB,EAAY7F,EAAIC,cAAcM,wBACpC,MAAMuF,EAAU9F,EAAIP,OAAOc,wBAE3B,MAAMoB,EAAatB,KAAKC,MAAMuF,EAAUjE,OACxC,MAAMxB,EAAYC,KAAKC,MACrB5B,EAAiBE,SAAWU,EAAiBkB,QAAS,EAClDqF,EAAUrF,KAAO9B,EAAiBE,QAAQ2B,wBAAwBE,MAClEoF,EAAUrF,MAGhB,MAAMuB,EAAW1B,KAAKC,MAAMwF,EAAQlE,MAAQZ,MAAAA,MAAMC,SAClD,MAAMG,EAAUf,KAAKC,MAAMwF,EAAQtF,KAAOQ,MAAAA,MAAMC,SAE5Cc,EAAWJ,EACb3B,EAAIC,cAAcwB,SAASM,EAAWJ,EAAY,GACzCP,EAAUhB,GACnBJ,EAAIC,cAAcwB,SAASL,EAAUhB,EAAW,EAClD,EAEF2F,SAAW/F,IACJ1D,GACHiD,EAAoBS,EAAIC,cAC1B,EACAnD,SAEF2I,WAAAA,IAACO,QAAkBA,mBAACC,SAAQ,CAACC,MAAOjE,EAAqBnF,SACvD2I,WAAAA,IAACU,QAAmBA,oBAACF,SAAQ,CAACC,MAAOhE,EAAiBpF,SACnDR,EACG6C,EAAK2B,KAAI,CAACC,EAAKG,IAAQuE,WAAAC,IAAC9B,iBAAiB,CAAA9G,SAAYiE,GAANG,KAC/C/B,SAIR7C,GAAiBE,EACjBiJ,WAAAA,IAAC7B,MAAAA,OAAa,CAAC4B,OAAQlG,EAAiBsC,SAAU,GAAQtC,EAAiBsC,QAAU,KAAMwE,OAAK,EAAAtJ,SAC9F2I,WAAAC,IAAC9B,mBAAmB,CAACwC,OAAK,MAE1B,SAEJ9J,GAAiBC,EACjBkJ,WAAAA,IAAC7B,MAAAA,QAAc,CAAC4B,OAAQlG,EAAiBsC,SAAU,GAAQtC,EAAiBsC,QAAU,KAAK9E,gBACjFO,GAAuB,WAC7BA,EAAmBqE,GAEnB+D,WAAAC,IAACC,sBAAU,IAAKjE,MAGlB,KACH3E,EAAUoI,OAAS,GAClBM,WAAAC,IAAC9B,cAAc,CACbG,IAAMC,IACJjF,EAAckF,KAAKoC,QAAQrC,EAAK,EAChClH,SAEF2I,WAAAC,IAACY,8BAAc,IACTlI,KACAc,EACJiD,KAAK,MACLvF,QAASA,EACTC,SAAUA,EACVS,QAASA,EACTP,UAAWA,EACXV,kBAAmBA,EACnBkK,KAAMrJ,EACNmJ,QAASlJ,SAKhBb,EACCmJ,WAAAC,IAAC9B,aAAa,CAAC,eAAW,EAAA9G,SACxB2I,WAAAC,IAAC9B,iBAAiB,CAAA9G,SAChB2I,WAAAA,IAACU,QAAmBA,oBAACF,SAAQ,CAACC,MAAOzC,EAAuB3G,SACzD+B,EAAaM,KAAK2B,KAAI,CAACC,EAAKG,IAC3BuE,WAAAC,IAAC9B,iBAAiB,CAEhBG,IAAMC,IACJjF,EAAckF,KAAKuC,UAAUtF,EAAK8C,EAAK,EACvClH,SAED2J,MAAYA,aAAC1F,EAAK,CAAEgD,IAAK,KAAM2C,QAAIC,EAAWxE,KAAM,UALhDjB,WAWb,QAELjE,EACCwI,WAAAC,IAAC9B,YAAY,IACPtF,EACJuF,QAAS+C,QAAcA,cACvB7C,IAAMC,IACJjF,EAAckF,KAAKhH,MAAM+G,EAAK,EAC9BlH,SAEDG,IAED,KACHL,IAAY,cACX6I,WAAAA,IAAC7B,MAAAA,kBAAwB,IAAKtF,EAAauF,QAASgD,QAAgBA,gBAACxE,MAAO/E,EAAQwJ,iBAE1E,IAGlB,CACEC,YApXiB,UAqXjBpH,MAAOqH,MAAAA,QAGX,CACEC,IAAKC,WAAUA,WACfC,MAAOC,aAAAA"}
|