@salutejs/plasma-new-hope 0.327.0-canary.1741.15743877104.0 → 0.327.0-canary.1741.15776056320.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.js +3 -3
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/FloatingPopover.js +2 -2
- package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +2 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -2
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/cjs/components/Drawer/Drawer.js +4 -3
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Drawer/hooks/useDrawer.js +2 -2
- package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.js +2 -2
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/FloatingPopover.js +2 -2
- package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +2 -2
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
- package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/cjs/components/Mask/Mask.js +3 -3
- package/cjs/components/Mask/Mask.js.map +1 -1
- package/cjs/components/Modal/Modal.js +3 -2
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/hooks/useModal.js +1 -1
- package/cjs/components/Modal/hooks/useModal.js.map +1 -1
- package/cjs/components/Popup/Popup.js +2 -1
- package/cjs/components/Popup/Popup.js.map +1 -1
- package/cjs/components/Popup/PopupContext.js +13 -13
- package/cjs/components/Popup/PopupContext.js.map +1 -1
- package/cjs/components/Radiobox/Radiobox.js +3 -2
- package/cjs/components/Radiobox/Radiobox.js.map +1 -1
- package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -3
- package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
- package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
- package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
- package/cjs/components/Select/FloatingPopover.js +2 -2
- package/cjs/components/Select/FloatingPopover.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -2
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.js +2 -2
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +2 -2
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -3
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -3
- package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -1
- package/cjs/components/TextField/TextField.js +4 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -3
- package/emotion/cjs/components/Autocomplete/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
- package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
- package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/emotion/cjs/components/Checkbox/Checkbox.js +3 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
- package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
- package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
- package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
- package/emotion/cjs/components/Drawer/Drawer.js +8 -8
- package/emotion/cjs/components/Drawer/hooks/useDrawer.js +2 -2
- package/emotion/cjs/components/Dropdown/Dropdown.js +8 -8
- package/emotion/cjs/components/Dropdown/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
- package/emotion/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
- package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/emotion/cjs/components/Mask/Mask.js +4 -4
- package/emotion/cjs/components/Modal/Modal.js +6 -5
- package/emotion/cjs/components/Modal/hooks/useModal.js +1 -1
- package/emotion/cjs/components/Popup/Popup.js +1 -1
- package/emotion/cjs/components/Popup/PopupContext.js +14 -29
- package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
- package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
- package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
- package/emotion/cjs/components/Select/Select.js +1 -2
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +1 -2
- package/emotion/cjs/components/Spinner/Spinner.js +2 -2
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
- package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
- package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
- package/emotion/cjs/components/TextField/TextField.js +4 -4
- package/emotion/cjs/components/TextField/ui/Hint/Hint.js +1 -1
- package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
- package/emotion/es/components/Autocomplete/FloatingPopover.js +1 -1
- package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
- package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
- package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/emotion/es/components/Checkbox/Checkbox.js +2 -1
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
- package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
- package/emotion/es/components/Drawer/Drawer.js +3 -3
- package/emotion/es/components/Drawer/hooks/useDrawer.js +2 -2
- package/emotion/es/components/Dropdown/Dropdown.js +1 -1
- package/emotion/es/components/Dropdown/FloatingPopover.js +1 -1
- package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
- package/emotion/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
- package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/emotion/es/components/Mask/Mask.js +4 -4
- package/emotion/es/components/Modal/Modal.js +4 -3
- package/emotion/es/components/Modal/hooks/useModal.js +1 -1
- package/emotion/es/components/Popup/Popup.js +2 -2
- package/emotion/es/components/Popup/PopupContext.js +14 -29
- package/emotion/es/components/Radiobox/Radiobox.js +2 -2
- package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
- package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/emotion/es/components/Select/FloatingPopover.js +1 -1
- package/emotion/es/components/Select/Select.js +1 -2
- package/emotion/es/components/Select/ui/Inner/Inner.js +1 -2
- package/emotion/es/components/Spinner/Spinner.js +1 -1
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
- package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
- package/emotion/es/components/TextArea/ui/Hint/Hint.js +1 -1
- package/emotion/es/components/TextField/TextField.js +3 -3
- package/emotion/es/components/TextField/ui/Hint/Hint.js +1 -1
- package/es/components/Autocomplete/Autocomplete.js +1 -1
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/FloatingPopover.js +1 -1
- package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/es/components/Calendar/CalendarBase/CalendarBase.js +12 -0
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +12 -0
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/es/components/Checkbox/Checkbox.js +2 -1
- package/es/components/Checkbox/Checkbox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
- package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/es/components/Drawer/Drawer.js +4 -3
- package/es/components/Drawer/Drawer.js.map +1 -1
- package/es/components/Drawer/hooks/useDrawer.js +2 -2
- package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
- package/es/components/Dropdown/Dropdown.js +1 -1
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/FloatingPopover.js +1 -1
- package/es/components/Dropdown/FloatingPopover.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -2
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/es/components/Mask/Mask.js +3 -3
- package/es/components/Mask/Mask.js.map +1 -1
- package/es/components/Modal/Modal.js +3 -2
- package/es/components/Modal/Modal.js.map +1 -1
- package/es/components/Modal/hooks/useModal.js +1 -1
- package/es/components/Modal/hooks/useModal.js.map +1 -1
- package/es/components/Popup/Popup.js +2 -1
- package/es/components/Popup/Popup.js.map +1 -1
- package/es/components/Popup/PopupContext.js +13 -13
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Radiobox/Radiobox.js +3 -2
- package/es/components/Radiobox/Radiobox.js.map +1 -1
- package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -2
- package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
- package/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -1
- package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
- package/es/components/Select/FloatingPopover.js +1 -1
- package/es/components/Select/FloatingPopover.js.map +1 -1
- package/es/components/Select/Select.js +1 -1
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.js +1 -1
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Spinner/Spinner.js +1 -1
- package/es/components/Spinner/Spinner.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
- package/es/components/TextField/TextField.js +2 -1
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -3
- package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +14 -0
- package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/styled-components/cjs/components/Checkbox/Checkbox.js +3 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
- package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
- package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
- package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
- package/styled-components/cjs/components/Drawer/Drawer.js +8 -8
- package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +2 -2
- package/styled-components/cjs/components/Dropdown/Dropdown.js +8 -8
- package/styled-components/cjs/components/Dropdown/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
- package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
- package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/styled-components/cjs/components/Mask/Mask.js +4 -4
- package/styled-components/cjs/components/Modal/Modal.js +6 -5
- package/styled-components/cjs/components/Modal/hooks/useModal.js +1 -1
- package/styled-components/cjs/components/Popup/Popup.js +1 -1
- package/styled-components/cjs/components/Popup/PopupContext.js +14 -29
- package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
- package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
- package/styled-components/cjs/components/Select/Select.js +1 -2
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +1 -2
- package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
- package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
- package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
- package/styled-components/cjs/components/TextField/TextField.js +3 -3
- package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +1 -1
- package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
- package/styled-components/es/components/Autocomplete/FloatingPopover.js +1 -1
- package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +14 -0
- package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +14 -0
- package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +3 -0
- package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +3 -0
- package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +3 -0
- package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +3 -0
- package/styled-components/es/components/Checkbox/Checkbox.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
- package/styled-components/es/components/Drawer/Drawer.js +3 -3
- package/styled-components/es/components/Drawer/hooks/useDrawer.js +2 -2
- package/styled-components/es/components/Dropdown/Dropdown.js +1 -1
- package/styled-components/es/components/Dropdown/FloatingPopover.js +1 -1
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
- package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
- package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/styled-components/es/components/Mask/Mask.js +4 -4
- package/styled-components/es/components/Modal/Modal.js +4 -3
- package/styled-components/es/components/Modal/hooks/useModal.js +1 -1
- package/styled-components/es/components/Popup/Popup.js +2 -2
- package/styled-components/es/components/Popup/PopupContext.js +14 -29
- package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
- package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/styled-components/es/components/Select/FloatingPopover.js +1 -1
- package/styled-components/es/components/Select/Select.js +1 -2
- package/styled-components/es/components/Select/ui/Inner/Inner.js +1 -2
- package/styled-components/es/components/Spinner/Spinner.js +1 -1
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
- package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
- package/styled-components/es/components/TextArea/ui/Hint/Hint.js +1 -1
- package/styled-components/es/components/TextField/TextField.js +2 -2
- package/styled-components/es/components/TextField/ui/Hint/Hint.js +1 -1
- package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
- package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
- package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
- package/types/components/Drawer/Drawer.d.ts +1 -1
- package/types/components/Drawer/Drawer.d.ts.map +1 -1
- package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
- package/types/components/Modal/Modal.d.ts +1 -1
- package/types/components/Modal/Modal.d.ts.map +1 -1
- package/types/components/Popup/Popup.d.ts +1 -1
- package/types/components/Popup/Popup.d.ts.map +1 -1
- package/types/components/Popup/Popup.types.d.ts +1 -1
- package/types/components/Popup/Popup.types.d.ts.map +1 -1
- package/types/components/Popup/PopupContext.d.ts.map +1 -1
- package/types/components/Radiobox/Radiobox.d.ts +2 -2
- package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
- package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -1
- package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
- package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +1 -1
- package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Spinner/Spinner.d.ts +1 -1
- package/types/components/Spinner/Spinner.d.ts.map +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
- package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +1 -1
- package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef, MouseEvent } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef, MouseEvent } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopoverProps } from './Dropdown.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset, isInner, trigger, zIndex }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: placement === 'auto' ? undefined : placement,\n open: opened,\n middleware: [\n placement === 'auto' && autoPlacement(),\n offsetMiddleware({\n mainAxis: offset?.[1] || (isInner ? LIST_PADDING * 2 : 0),\n crossAxis: offset?.[0] || (isInner ? -LIST_PADDING : 0),\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n ],\n });\n const wrappedId = safeUseId();\n\n const handleTargetClick = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'hover') {\n return;\n }\n\n if (onToggle) {\n onToggle(!opened, event);\n }\n };\n\n const handleTargetMouseEnter = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'click' || opened) {\n return;\n }\n\n onToggle(true, event);\n };\n\n const handleTargetMouseLeave = (event: MouseEvent<HTMLDivElement>) => {\n if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.floating && refs.floating.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n const handleFloatingMouseLeave = (event: MouseEvent) => {\n if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.reference && refs.reference.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n return (\n <div\n ref={ref}\n id={wrappedId}\n style={{\n position: 'relative',\n display: isInner ? 'block' : 'inline-block',\n }}\n >\n <div\n ref={refs.setReference}\n onClick={handleTargetClick}\n onMouseEnter={handleTargetMouseEnter}\n onMouseLeave={handleTargetMouseLeave}\n >\n {target}\n </div>\n\n {opened && (\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div\n ref={refs.setFloating}\n onMouseLeave={handleFloatingMouseLeave}\n style={{\n ...floatingStyles,\n zIndex: zIndex || 1000,\n }}\n >\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","target","children","opened","onToggle","placement","portal","offset","isInner","trigger","zIndex","ref","refs","floatingStyles","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","undefined","open","middleware","autoPlacement","offsetMiddleware","mainAxis","crossAxis","flip","fallbackAxisSideDirection","shift","wrappedId","safeUseId","handleTargetClick","event","handleTargetMouseEnter","handleTargetMouseLeave","relatedTarget","HTMLElement","floating","current","contains","handleFloatingMouseLeave","reference","React","createElement","id","style","position","display","setReference","onClick","onMouseEnter","onMouseLeave","FloatingPortal","getFloatingPortalProps","setFloating","root"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownDivider.js","sources":["../../../../../src/components/Dropdown/ui/DropdownDivider/DropdownDivider.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownDivider.js","sources":["../../../../../src/components/Dropdown/ui/DropdownDivider/DropdownDivider.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownDivider } from './DropdownDivider.styles';\nimport type { DropdownDividerProps } from './DropdownDivider.types';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownDividerRoot = (Root: RootProps<HTMLDivElement, DropdownDividerProps>) =>\n forwardRef<HTMLDivElement, DropdownDividerProps>(({ id, className, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownDivider className={className} {...rest} />\n </Root>\n );\n });\n\nexport const dropdownDividerConfig = {\n name: 'DropdownDivider',\n tag: 'div',\n layout: dropdownDividerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownDividerRoot","Root","forwardRef","id","className","view","size","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownDivider","_extends","dropdownDividerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;AASA;AACA;AACA;MACaA,mBAAmB,GAAIC,IAAqD,iBACrFC,gBAAU,CAAuC,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AACvG,EAAA,MAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGR,EAAE,IAAIM,MAAM,CAAA;AAE5B,EAAA,oBACIG,sBAAA,CAAAC,aAAA,CAACZ,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAEQ,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACzDM,sBAAA,CAAAC,aAAA,CAACE,4CAAqB,EAAAC,iCAAA,CAAA;AAACZ,IAAAA,SAAS,EAAEA,SAAAA;GAAeG,EAAAA,IAAI,CAAG,CACtD,CAAC,CAAA;AAEf,CAAC,EAAC;AAEC,MAAMU,qBAAqB,GAAG;AACjCC,EAAAA,IAAI,EAAE,iBAAiB;AACvBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEpB,mBAAmB;AAC3BqB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRjB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDlB,IAAAA,IAAI,EAAE;AACFiB,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNrB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownFooter.js","sources":["../../../../../src/components/Dropdown/ui/DropdownFooter/DropdownFooter.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownFooter.js","sources":["../../../../../src/components/Dropdown/ui/DropdownFooter/DropdownFooter.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownFooter } from './DropdownFooter.styles';\nimport type { DropdownFooterProps } from './DropdownFooter.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownFooterRoot = (Root: RootProps<HTMLDivElement, DropdownFooterProps>) =>\n forwardRef<HTMLDivElement, DropdownFooterProps>(\n ({ id, className, children, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownFooter className={className} {...rest}>\n {children}\n </StyledDropdownFooter>\n </Root>\n );\n },\n );\n\nexport const dropdownFooterConfig = {\n name: 'DropdownFooter',\n tag: 'div',\n layout: dropdownFooterRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownFooterRoot","Root","forwardRef","id","className","children","view","size","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownFooter","_extends","dropdownFooterConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;AASA;AACA;AACA;MACaA,kBAAkB,GAAIC,IAAoD,iBACnFC,gBAAU,CACN,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AAChE,EAAA,MAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGT,EAAE,IAAIO,MAAM,CAAA;AAE5B,EAAA,oBACIG,sBAAA,CAAAC,aAAA,CAACb,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAES,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACzDM,sBAAA,CAAAC,aAAA,CAACE,0CAAoB,EAAAC,iCAAA,CAAA;AAACb,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAAKI,IAAI,CAAA,EAC/CH,QACiB,CACpB,CAAC,CAAA;AAEf,CACJ,EAAC;AAEE,MAAMa,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErB,kBAAkB;AAC1BsB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRjB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDlB,IAAAA,IAAI,EAAE;AACFiB,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNrB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownGroup.js","sources":["../../../../../src/components/Dropdown/ui/DropdownGroup/DropdownGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownGroup.js","sources":["../../../../../src/components/Dropdown/ui/DropdownGroup/DropdownGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownGroup, StyledDropdownLabel } from './DropdownGroup.styles';\nimport type { DropdownGroupProps } from './DropdownGroup.type';\n\n/**\n * Элемент группы выпадающего списка\n */\nexport const dropdownGroupRoot = (Root: RootProps<HTMLDivElement, DropdownGroupProps>) =>\n forwardRef<HTMLDivElement, DropdownGroupProps>(\n ({ id, labelClassName, groupClassName, label, children, role, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size} role={role}>\n <StyledDropdownLabel className={labelClassName}>{label}</StyledDropdownLabel>\n <StyledDropdownGroup className={groupClassName} {...rest}>\n {children}\n </StyledDropdownGroup>\n </Root>\n );\n },\n );\n\nexport const dropdownGroupConfig = {\n name: 'DropdownGroup',\n tag: 'div',\n layout: dropdownGroupRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownGroupRoot","Root","forwardRef","id","labelClassName","groupClassName","label","children","role","view","size","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownLabel","className","StyledDropdownGroup","_extends","dropdownGroupConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;AASA;AACA;AACA;MACaA,iBAAiB,GAAIC,IAAmD,iBACjFC,gBAAU,CACN,CAAC;EAAEC,EAAE;EAAEC,cAAc;EAAEC,cAAc;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AAClG,EAAA,MAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGZ,EAAE,IAAIU,MAAM,CAAA;AAE5B,EAAA,oBACIG,sBAAA,CAAAC,aAAA,CAAChB,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAEY,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAK;AAACF,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACrEQ,sBAAA,CAAAC,aAAA,CAACE,wCAAmB,EAAA;AAACC,IAAAA,SAAS,EAAEhB,cAAAA;GAAiBE,EAAAA,KAA2B,CAAC,eAC7EU,sBAAA,CAAAC,aAAA,CAACI,wCAAmB,EAAAC,iCAAA,CAAA;AAACF,IAAAA,SAAS,EAAEf,cAAAA;AAAe,GAAA,EAAKM,IAAI,CAAA,EACnDJ,QACgB,CACnB,CAAC,CAAA;AAEf,CACJ,EAAC;AAEE,MAAMgB,mBAAmB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE1B,iBAAiB;AACzB2B,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRnB,IAAAA,IAAI,EAAE;AACFoB,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDpB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNvB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownHeader.js","sources":["../../../../../src/components/Dropdown/ui/DropdownHeader/DropdownHeader.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownHeader.js","sources":["../../../../../src/components/Dropdown/ui/DropdownHeader/DropdownHeader.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownHeader } from './DropdownHeader.styles';\nimport type { DropdownHeaderProps } from './DropdownHeader.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownHeaderRoot = (Root: RootProps<HTMLDivElement, DropdownHeaderProps>) =>\n forwardRef<HTMLDivElement, DropdownHeaderProps>(\n ({ id, className, view, size, children, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownHeader className={className} {...rest}>\n {children}\n </StyledDropdownHeader>\n </Root>\n );\n },\n );\n\nexport const dropdownHeaderConfig = {\n name: 'DropdownHeader',\n tag: 'div',\n layout: dropdownHeaderRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownHeaderRoot","Root","forwardRef","id","className","view","size","children","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownHeader","_extends","dropdownHeaderConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;AASA;AACA;AACA;MACaA,kBAAkB,GAAIC,IAAoD,iBACnFC,gBAAU,CACN,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,IAAI;EAAEC,IAAI;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AAChE,EAAA,MAAMC,MAAM,GAAGC,eAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGT,EAAE,IAAIO,MAAM,CAAA;AAE5B,EAAA,oBACIG,sBAAA,CAAAC,aAAA,CAACb,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAES,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACJ,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACzDO,sBAAA,CAAAC,aAAA,CAACE,0CAAoB,EAAAC,iCAAA,CAAA;AAACb,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAAKI,IAAI,CAAA,EAC/CD,QACiB,CACpB,CAAC,CAAA;AAEf,CACJ,EAAC;AAEE,MAAMW,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErB,kBAAkB;AAC1BsB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDnB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
5
|
var React = require('react');
|
6
|
-
var plasmaCore = require('@salutejs/plasma-core');
|
7
6
|
var DropdownItem = require('../DropdownItem/DropdownItem.js');
|
8
7
|
var Dropdown_styles = require('../../Dropdown.styles.js');
|
9
8
|
var FloatingPopover = require('../../FloatingPopover.js');
|
9
|
+
var react = require('../../../../utils/react.js');
|
10
10
|
var getPlacement = require('../../utils/getPlacement.js');
|
11
11
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
@@ -39,7 +39,7 @@ const DropdownInner = ({
|
|
39
39
|
}
|
40
40
|
};
|
41
41
|
const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
42
|
-
const treeId =
|
42
|
+
const treeId = react.safeUseId();
|
43
43
|
const listId = `${treeId}_tree_level_${currentLevel + 2}`;
|
44
44
|
const nextLevel = currentLevel + 1;
|
45
45
|
if (item?.items) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listMaxHeight,\n listOverflow,\n listWidth,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={listMaxHeight} listOverflow={listOverflow}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listMaxHeight={listMaxHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","item","currentLevel","path","dispatchPath","index","trigger","listMaxHeight","listOverflow","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","id","role","map","innerItem","innerIndex","key"],"mappings":";;;;;;;;;;;;;;;AAWMA,MAAAA,aAAqC,GAAGA,CAAC;EAC3CC,IAAI;EACJC,YAAY;EACZC,IAAI;EACJC,YAAY;EACZC,KAAK;EACLC,OAAO;EACPC,aAAa;EACbC,YAAY;AACZC,EAAAA,SAAAA;AACJ,CAAC,KAAK;EACF,MAAMC,YAAY,GAAIC,MAAe,IAAW;AAC5C,IAAA,IAAIA,MAAM,EAAE;AACRP,MAAAA,YAAY,CAAC;AAAEQ,QAAAA,IAAI,EAAE,kBAAkB;AAAEC,QAAAA,KAAK,EAAEZ,IAAI,CAACY,KAAK,CAACC,QAAQ,EAAE;QAAEC,KAAK,EAAEb,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACrG,KAAC,MAAM;AACHE,MAAAA,YAAY,CAAC;AAAEQ,QAAAA,IAAI,EAAE,cAAc;QAAEG,KAAK,EAAEb,YAAY,GAAG,CAAA;AAAE,OAAC,CAAC,CAAA;AACnE,KAAA;GACH,CAAA;AAED,EAAA,MAAMc,iBAAiB,GAAGb,IAAI,CAACD,YAAY,GAAG,CAAC,CAAC,KAAKD,IAAI,CAACY,KAAK,CAACC,QAAQ,EAAE,CAAA;AAE1E,EAAA,MAAMG,MAAM,GAAGC,eAAS,EAAE,CAAA;EAC1B,MAAMC,MAAM,GAAG,CAAGF,EAAAA,MAAM,eAAef,YAAY,GAAG,CAAC,CAAE,CAAA,CAAA;AACzD,EAAA,MAAMkB,SAAS,GAAGlB,YAAY,GAAG,CAAC,CAAA;EAElC,IAAID,IAAI,EAAEoB,KAAK,EAAE;AACb,IAAA,oBACIC,sBAAA,CAAAC,aAAA,CAACC,+BAAe,EAAA;MACZC,SAAS,EAAEC,yBAAY,CAACzB,IAAI,EAAEwB,SAAS,IAAI,OAAO,CAAE;AACpDd,MAAAA,MAAM,EAAEK,iBAAkB;AAC1BW,MAAAA,QAAQ,EAAEjB,YAAa;AACvBJ,MAAAA,OAAO,EAAEL,IAAI,CAACK,OAAO,IAAIA,OAAQ;AACjCsB,MAAAA,MAAM,eACFN,sBAAA,CAAAC,aAAA,CAACM,yBAAY,EAAA;AACT5B,QAAAA,IAAI,EAAEA,IAAK;AACXI,QAAAA,KAAK,EAAEA,KAAM;AACbF,QAAAA,IAAI,EAAEA,IAAK;AACXD,QAAAA,YAAY,EAAEA,YAAa;AAC3B4B,QAAAA,YAAY,EAAEX,MAAO;AACrBY,QAAAA,YAAY,EAAEf,iBAAkB;AAChCgB,QAAAA,SAAS,EAAEZ,SAAU;QACrBa,SAAS,EAAEhC,IAAI,CAACiC,KAAAA;AAAM,OACzB,CACJ;MACDC,OAAO,EAAA,IAAA;AAAA,KAAA,eAEPb,sBAAA,CAAAC,aAAA,CAACa,2BAAW,EAAA;AAAC3B,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eAC9Ba,sBAAA,CAAAC,aAAA,CAACc,kBAAE,EAAA;AAACC,MAAAA,EAAE,EAAEnB,MAAO;AAACoB,MAAAA,IAAI,EAAC,OAAO;AAAChC,MAAAA,aAAa,EAAEA,aAAc;AAACC,MAAAA,YAAY,EAAEA,YAAAA;AAAa,KAAA,EACjFP,IAAI,CAACoB,KAAK,CAACmB,GAAG,CAAC,CAACC,SAAS,EAAEC,UAAU,kBAClCpB,sBAAA,CAAAC,aAAA,CAACvB,aAAa,EAAA;AACV2C,MAAAA,GAAG,EAAE,CAAA,EAAGD,UAAU,CAAA,CAAA,EAAIxC,YAAY,CAAG,CAAA;AACrCD,MAAAA,IAAI,EAAEwC,SAAU;AAChBvC,MAAAA,YAAY,EAAEkB,SAAU;AACxBjB,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,KAAK,EAAEqC,UAAW;AAClBpC,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CACJ,CACD,CACK,CACA,CAAC,CAAA;AAE1B,GAAA;AAEA,EAAA,oBAAOa,sBAAA,CAAAC,aAAA,CAACM,yBAAY,EAAA;AAAC5B,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,IAAI,EAAEA,IAAK;AAACE,IAAAA,KAAK,EAAEA,KAAM;AAACH,IAAAA,YAAY,EAAEA,YAAa;AAAC8B,IAAAA,SAAS,EAAEZ,SAAAA;AAAU,GAAE,CAAC,CAAA;AACnH;;;;"}
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
|
6
6
|
var React = require('react');
|
7
|
-
var plasmaCore = require('@salutejs/plasma-core');
|
8
|
-
var Dropdown_tokens = require('../../Dropdown.tokens.js');
|
9
7
|
var index$1 = require('../../../../utils/index.js');
|
8
|
+
var Dropdown_tokens = require('../../Dropdown.tokens.js');
|
10
9
|
var index = require('../../utils/index.js');
|
11
10
|
var base = require('./variations/_view/base.js');
|
12
11
|
var base$1 = require('./variations/_size/base.js');
|
13
12
|
var DropdownItem_styles = require('./DropdownItem.styles.js');
|
13
|
+
var react = require('../../../../utils/react.js');
|
14
14
|
|
15
15
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
16
16
|
|
@@ -39,7 +39,7 @@ const dropdownItemOldRoot = Root => /*#__PURE__*/React.forwardRef(({
|
|
39
39
|
onChange,
|
40
40
|
...rest
|
41
41
|
}, outerRootRef) => {
|
42
|
-
const uniqId =
|
42
|
+
const uniqId = react.safeUseId();
|
43
43
|
const innerId = id || uniqId;
|
44
44
|
const withDropdownItemIsSelected = checked || isSelected ? Dropdown_tokens.classes.dropdownItemIsSelected : undefined;
|
45
45
|
const withDropdownItemIsDisabled = disabled ? Dropdown_tokens.classes.dropdownItemIsDisabled : undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownItemOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"DropdownItemOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId, cx } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { classes } from '../../Dropdown.tokens';\nimport { getValidComponent } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownItemOldRoot = (Root: RootProps<HTMLDivElement, DropdownItemProps>) =>\n forwardRef<HTMLDivElement, DropdownItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n role,\n view,\n size,\n disabled,\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withDropdownItemIsSelected = checked || isSelected ? classes.dropdownItemIsSelected : undefined;\n const withDropdownItemIsDisabled = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: 0,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withDropdownItemIsSelected, withDropdownItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const dropdownItemOldConfig = {\n name: 'DropdownItem',\n tag: 'div',\n layout: dropdownItemOldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownItemOldRoot","Root","forwardRef","id","className","children","text","isSelected","name","checked","value","role","view","size","disabled","contentLeft","ContentLeftComponent","contentRight","ContentRightComponent","onSelect","onClick","onChange","rest","outerRootRef","uniqId","safeUseId","innerId","withDropdownItemIsSelected","classes","dropdownItemIsSelected","undefined","withDropdownItemIsDisabled","dropdownItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","dropdownItemOldConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/DropdownOld.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\
|
1
|
+
{"version":3,"file":"DropdownOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/DropdownOld.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport type { RootProps } from 'src/engines';\nimport { safeUseId } from 'src/utils';\nimport { useFocusTrap } from 'src/hooks';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownOldRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n opened = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n opened={innerIsOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownOldConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownOldRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownOldRoot","Root","forwardRef","id","target","children","hasArrow","role","view","size","frame","onToggle","isFocusTrapped","isOpen","opened","placement","trigger","offset","preventOverflow","closeOnOverlayClick","closeOnEsc","rest","outerRootRef","innerIsOpen","Boolean","uniqId","safeUseId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownOldConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -12,11 +12,11 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
12
|
var maskInputCompose__default = /*#__PURE__*/_interopDefault(maskInputCompose);
|
13
13
|
|
14
14
|
const defaultFormatChars = [{
|
15
|
-
str: '0',
|
16
|
-
regexp: /[0-9]/
|
17
|
-
}, {
|
18
15
|
str: '*',
|
19
16
|
regexp: /./
|
17
|
+
}, {
|
18
|
+
str: '0',
|
19
|
+
regexp: /[0-9]/
|
20
20
|
}, {
|
21
21
|
str: 'a',
|
22
22
|
regexp: /[a-zA-Z]/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Mask.js","sources":["../../../src/components/Mask/Mask.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle, useState } from 'react';\nimport type { FC } from 'react';\nimport maskInputCompose from '@salutejs/react-maskinput';\n\nimport type { CustomInputProps, MaskProps } from './Mask.types';\n\nconst defaultFormatChars = [\n {\n str: '
|
1
|
+
{"version":3,"file":"Mask.js","sources":["../../../src/components/Mask/Mask.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle, useState } from 'react';\nimport type { FC } from 'react';\nimport maskInputCompose from '@salutejs/react-maskinput';\n\nimport type { CustomInputProps, MaskProps } from './Mask.types';\n\nconst defaultFormatChars = [\n {\n str: '*',\n regexp: /./,\n },\n {\n str: '0',\n regexp: /[0-9]/,\n },\n {\n str: 'a',\n regexp: /[a-zA-Z]/,\n },\n {\n str: 'я',\n regexp: /[а-яА-ЯёЁ]/,\n },\n];\n\nexport const composeMask = <T extends CustomInputProps>(InputComponent: FC<T>) => {\n const MaskedInput = maskInputCompose(InputComponent);\n\n return forwardRef<HTMLInputElement, T & MaskProps>(\n ({ mask, maskFormat = defaultFormatChars, ...rest }, outerRef) => {\n // TODO: replace inside react-maskinput 'getReference' on 'forwardRef'\n const [ref, setRef] = useState<HTMLInputElement | null>(null);\n\n useImperativeHandle(outerRef, () => ref as HTMLInputElement, [ref]);\n\n if (!mask) {\n return <InputComponent ref={setRef} {...(rest as T)} />;\n }\n\n return <MaskedInput getReference={setRef} mask={mask} maskFormat={maskFormat} {...(rest as T)} />;\n },\n );\n};\n"],"names":["defaultFormatChars","str","regexp","composeMask","InputComponent","MaskedInput","maskInputCompose","forwardRef","mask","maskFormat","rest","outerRef","ref","setRef","useState","useImperativeHandle","React","createElement","_extends","getReference"],"mappings":";;;;;;;;;;;;;AAMA,MAAMA,kBAAkB,GAAG,CACvB;AACIC,EAAAA,GAAG,EAAE,GAAG;AACRC,EAAAA,MAAM,EAAE,GAAA;AACZ,CAAC,EACD;AACID,EAAAA,GAAG,EAAE,GAAG;AACRC,EAAAA,MAAM,EAAE,OAAA;AACZ,CAAC,EACD;AACID,EAAAA,GAAG,EAAE,GAAG;AACRC,EAAAA,MAAM,EAAE,UAAA;AACZ,CAAC,EACD;AACID,EAAAA,GAAG,EAAE,GAAG;AACRC,EAAAA,MAAM,EAAE,YAAA;AACZ,CAAC,CACJ,CAAA;AAEYC,MAAAA,WAAW,GAAgCC,cAAqB,IAAK;AAC9E,EAAA,MAAMC,WAAW,GAAGC,iCAAgB,CAACF,cAAc,CAAC,CAAA;EAEpD,oBAAOG,gBAAU,CACb,CAAC;IAAEC,IAAI;AAAEC,IAAAA,UAAU,GAAGT,kBAAkB;IAAE,GAAGU,IAAAA;GAAM,EAAEC,QAAQ,KAAK;AAC9D;IACA,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGC,cAAQ,CAA0B,IAAI,CAAC,CAAA;IAE7DC,yBAAmB,CAACJ,QAAQ,EAAE,MAAMC,GAAuB,EAAE,CAACA,GAAG,CAAC,CAAC,CAAA;IAEnE,IAAI,CAACJ,IAAI,EAAE;AACP,MAAA,oBAAOQ,sBAAA,CAAAC,aAAA,CAACb,cAAc,EAAAc,iCAAA,CAAA;AAACN,QAAAA,GAAG,EAAEC,MAAAA;OAAaH,EAAAA,IAAI,CAAS,CAAC,CAAA;AAC3D,KAAA;AAEA,IAAA,oBAAOM,sBAAA,CAAAC,aAAA,CAACZ,WAAW,EAAAa,iCAAA,CAAA;AAACC,MAAAA,YAAY,EAAEN,MAAO;AAACL,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,UAAU,EAAEA,UAAAA;KAAiBC,EAAAA,IAAI,CAAS,CAAC,CAAA;AACrG,GACJ,CAAC,CAAA;AACL;;;;"}
|
@@ -15,6 +15,7 @@ var common = require('../../engines/common.js');
|
|
15
15
|
var Popup$1 = require('../Popup/Popup.js');
|
16
16
|
var useFocusTrap = require('../../hooks/useFocusTrap.js');
|
17
17
|
var PopupContext = require('../Popup/PopupContext.js');
|
18
|
+
var react = require('../../utils/react.js');
|
18
19
|
var useModal = require('./hooks/useModal.js');
|
19
20
|
var Overlay = require('../Overlay/Overlay.js');
|
20
21
|
|
@@ -55,7 +56,7 @@ const modalRoot = Root => /*#__PURE__*/React.forwardRef(({
|
|
55
56
|
const trapRef = useFocusTrap.useFocusTrap(true, initialFocusRef, focusAfterRef, true);
|
56
57
|
const popupController = PopupContext.usePopupContext();
|
57
58
|
const innerRef = plasmaCore.useForkRef(trapRef, outerRootRef);
|
58
|
-
const uniqId =
|
59
|
+
const uniqId = react.safeUseId();
|
59
60
|
const innerId = id || uniqId;
|
60
61
|
const overlayBackgroundToken = withBlur ? `var(${Modal_tokens.tokens.modalOverlayWithBlurColor})` : `var(${Modal_tokens.tokens.modalOverlayColor})`;
|
61
62
|
const {
|
@@ -68,7 +69,7 @@ const modalRoot = Root => /*#__PURE__*/React.forwardRef(({
|
|
68
69
|
onClose,
|
69
70
|
popupInfo
|
70
71
|
});
|
71
|
-
const transparent = React.useMemo(() => ModalContext.getIdLastModal(popupController.items) !== innerId, [innerId, popupController.items]);
|
72
|
+
const transparent = React.useMemo(() => ModalContext.getIdLastModal(Array.from(popupController.items.values())) !== innerId, [innerId, popupController.items]);
|
72
73
|
const onModalOverlayKeyDown = React.useCallback(event => {
|
73
74
|
if (onOverlayClick) {
|
74
75
|
onOverlayClick(event);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useForkRef
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\nimport { RootProps, component } from 'src/engines';\nimport { useFocusTrap } from 'src/hooks';\n\nimport { popupConfig, usePopupContext } from '../Popup';\nimport { Overlay } from '../Overlay';\nimport { DEFAULT_Z_INDEX } from '../Popup/utils';\nimport { IconClose } from '../_Icon/Icons/IconClose';\n\nimport { classes, tokens } from './Modal.tokens';\nimport { ModalProps } from './Modal.types';\nimport { useModal } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { getIdLastModal } from './ModalContext';\nimport { CloseButton, ModalBody, ModalContent } from './Modal.styles';\n\n// issue #823\nconst Popup = component(popupConfig);\n\n/**\n * Modal.\n * Управляет показом/скрытием, подложкой и анимацией визуальной части модального окна.\n */\nexport const modalRoot = (Root: RootProps<HTMLDivElement, ModalProps>) =>\n forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n id,\n withAnimation,\n onClose,\n onOverlayClick,\n onEscKeyDown,\n closeOnEsc = true,\n closeOnOverlayClick = true,\n withBlur,\n initialFocusRef,\n focusAfterRef,\n zIndex,\n popupInfo,\n children,\n view,\n opened,\n isOpen,\n hasBody,\n hasClose,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n const innerHasClose = (hasClose === undefined && hasBody) || hasClose;\n const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef, true);\n const popupController = usePopupContext();\n\n const innerRef = useForkRef<HTMLDivElement>(trapRef, outerRootRef);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const overlayBackgroundToken = withBlur\n ? `var(${tokens.modalOverlayWithBlurColor})`\n : `var(${tokens.modalOverlayColor})`;\n\n const { modalInfo } = useModal({\n id: innerId,\n isOpen: innerIsOpen,\n closeOnEsc,\n onEscKeyDown,\n onClose,\n popupInfo,\n });\n\n const transparent = useMemo(() => getIdLastModal(Array.from(popupController.items.values())) !== innerId, [\n innerId,\n popupController.items,\n ]);\n\n const onModalOverlayKeyDown = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (onOverlayClick) {\n onOverlayClick(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n },\n [closeOnOverlayClick, onOverlayClick, onClose],\n );\n\n const overlayNode = (\n <Overlay\n className={classes.overlay}\n zIndex={zIndex || DEFAULT_Z_INDEX}\n backgroundColorProperty={overlayBackgroundToken}\n withBlur={withBlur}\n transparent={transparent}\n isClickable={closeOnOverlayClick}\n onOverlayClick={onModalOverlayKeyDown}\n />\n );\n\n return (\n <Popup\n id={innerId}\n opened={innerIsOpen}\n ref={innerRef}\n popupInfo={modalInfo}\n withAnimation={withAnimation}\n zIndex={zIndex}\n overlay={hasBody ? overlayNode : <Root view={view}>{overlayNode}</Root>}\n {...rest}\n >\n {hasBody ? (\n <Root view={view}>\n <ModalBody>\n <ModalContent>\n {innerHasClose && (\n <CloseButton onClick={onClose} data-test=\"modal-close\">\n <IconClose size=\"s\" color=\"currentColor\" />\n </CloseButton>\n )}\n {children}\n </ModalContent>\n </ModalBody>\n </Root>\n ) : (\n <>{children}</>\n )}\n </Popup>\n );\n },\n );\n\nexport const modalConfig = {\n name: 'Modal',\n tag: 'div',\n layout: modalRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["Popup","component","popupConfig","modalRoot","Root","forwardRef","id","withAnimation","onClose","onOverlayClick","onEscKeyDown","closeOnEsc","closeOnOverlayClick","withBlur","initialFocusRef","focusAfterRef","zIndex","popupInfo","children","view","opened","isOpen","hasBody","hasClose","rest","outerRootRef","innerIsOpen","Boolean","innerHasClose","undefined","trapRef","useFocusTrap","popupController","usePopupContext","innerRef","useForkRef","uniqId","safeUseId","innerId","overlayBackgroundToken","tokens","modalOverlayWithBlurColor","modalOverlayColor","modalInfo","useModal","transparent","useMemo","getIdLastModal","Array","from","items","values","onModalOverlayKeyDown","useCallback","event","overlayNode","React","createElement","Overlay","className","classes","overlay","DEFAULT_Z_INDEX","backgroundColorProperty","isClickable","_extends","ref","ModalBody","ModalContent","CloseButton","onClick","IconClose","size","color","Fragment","modalConfig","name","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
|
@@ -21,7 +21,7 @@ const useModal = ({
|
|
21
21
|
if (!closeOnEsc) {
|
22
22
|
return;
|
23
23
|
}
|
24
|
-
if (event.keyCode === ESCAPE_KEYCODE && ModalContext.getIdLastModal(popupController.items) === id) {
|
24
|
+
if (event.keyCode === ESCAPE_KEYCODE && ModalContext.getIdLastModal(Array.from(popupController.items.values())) === id) {
|
25
25
|
if (onEscKeyDown) {
|
26
26
|
onEscKeyDown(event);
|
27
27
|
return;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useModal.js","sources":["../../../../src/components/Modal/hooks/useModal.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\n\nimport { ModalInfo, getIdLastModal } from '../ModalContext';\nimport { ModalHookArgs } from '../Modal.types';\nimport { usePopupContext } from '../../Popup';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useModal = ({ id, popupInfo, onEscKeyDown, onClose, closeOnEsc = true }: ModalHookArgs) => {\n const popupController = usePopupContext();\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastModal(popupController.items) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onClose, onEscKeyDown, popupController.items, closeOnEsc]);\n\n const modalInfo: ModalInfo = {\n id,\n info: {\n isModal: true,\n },\n ...popupInfo,\n };\n\n return { modalInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useModal","id","popupInfo","onEscKeyDown","onClose","closeOnEsc","popupController","usePopupContext","onKeyDown","useCallback","event","keyCode","getIdLastModal","items","useEffect","window","addEventListener","removeEventListener","modalInfo","info","isModal"],"mappings":";;;;;;;;AAMA,MAAMA,cAAc,GAAG,EAAE,CAAA;AAElB,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,YAAY;EAAEC,OAAO;AAAEC,EAAAA,UAAU,GAAG,IAAA;AAAoB,CAAC,KAAK;AACpG,EAAA,MAAMC,eAAe,GAAGC,4BAAe,EAAE,CAAA;;AAEzC;AACA,EAAA,MAAMC,SAAS,GAAGC,iBAAW,CACxBC,KAAoB,IAAK;IACtB,IAAI,CAACL,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;
|
1
|
+
{"version":3,"file":"useModal.js","sources":["../../../../src/components/Modal/hooks/useModal.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\n\nimport { ModalInfo, getIdLastModal } from '../ModalContext';\nimport { ModalHookArgs } from '../Modal.types';\nimport { usePopupContext } from '../../Popup';\n\nconst ESCAPE_KEYCODE = 27;\n\nexport const useModal = ({ id, popupInfo, onEscKeyDown, onClose, closeOnEsc = true }: ModalHookArgs) => {\n const popupController = usePopupContext();\n\n // При ESC закрывает текущее окно, если это возможно\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (!closeOnEsc) {\n return;\n }\n if (event.keyCode === ESCAPE_KEYCODE && getIdLastModal(Array.from(popupController.items.values())) === id) {\n if (onEscKeyDown) {\n onEscKeyDown(event);\n return;\n }\n\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose, onEscKeyDown, popupController.items, closeOnEsc],\n );\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown);\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [onClose, onEscKeyDown, popupController.items, closeOnEsc]);\n\n const modalInfo: ModalInfo = {\n id,\n info: {\n isModal: true,\n },\n ...popupInfo,\n };\n\n return { modalInfo };\n};\n"],"names":["ESCAPE_KEYCODE","useModal","id","popupInfo","onEscKeyDown","onClose","closeOnEsc","popupController","usePopupContext","onKeyDown","useCallback","event","keyCode","getIdLastModal","Array","from","items","values","useEffect","window","addEventListener","removeEventListener","modalInfo","info","isModal"],"mappings":";;;;;;;;AAMA,MAAMA,cAAc,GAAG,EAAE,CAAA;AAElB,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,YAAY;EAAEC,OAAO;AAAEC,EAAAA,UAAU,GAAG,IAAA;AAAoB,CAAC,KAAK;AACpG,EAAA,MAAMC,eAAe,GAAGC,4BAAe,EAAE,CAAA;;AAEzC;AACA,EAAA,MAAMC,SAAS,GAAGC,iBAAW,CACxBC,KAAoB,IAAK;IACtB,IAAI,CAACL,UAAU,EAAE;AACb,MAAA,OAAA;AACJ,KAAA;IACA,IAAIK,KAAK,CAACC,OAAO,KAAKZ,cAAc,IAAIa,2BAAc,CAACC,KAAK,CAACC,IAAI,CAACR,eAAe,CAACS,KAAK,CAACC,MAAM,EAAE,CAAC,CAAC,KAAKf,EAAE,EAAE;AACvG,MAAA,IAAIE,YAAY,EAAE;QACdA,YAAY,CAACO,KAAK,CAAC,CAAA;AACnB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIN,OAAO,EAAE;AACTA,QAAAA,OAAO,EAAE,CAAA;AACb,OAAA;AACJ,KAAA;AACJ,GAAC,EACD,CAACA,OAAO,EAAED,YAAY,EAAEG,eAAe,CAACS,KAAK,EAAEV,UAAU,CAC7D,CAAC,CAAA;AAEDY,EAAAA,eAAS,CAAC,MAAM;AACZC,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEX,SAAS,CAAC,CAAA;AAC7C,IAAA,OAAO,MAAM;AACTU,MAAAA,MAAM,CAACE,mBAAmB,CAAC,SAAS,EAAEZ,SAAS,CAAC,CAAA;KACnD,CAAA;AACL,GAAC,EAAE,CAACJ,OAAO,EAAED,YAAY,EAAEG,eAAe,CAACS,KAAK,EAAEV,UAAU,CAAC,CAAC,CAAA;AAE9D,EAAA,MAAMgB,SAAoB,GAAG;IACzBpB,EAAE;AACFqB,IAAAA,IAAI,EAAE;AACFC,MAAAA,OAAO,EAAE,IAAA;KACZ;IACD,GAAGrB,SAAAA;GACN,CAAA;EAED,OAAO;AAAEmB,IAAAA,SAAAA;GAAW,CAAA;AACxB;;;;"}
|
@@ -9,6 +9,7 @@ var index = require('../../utils/index.js');
|
|
9
9
|
var PopupRoot = require('./PopupRoot.js');
|
10
10
|
var Popup_tokens = require('./Popup.tokens.js');
|
11
11
|
var Popup_styles = require('./Popup.styles.js');
|
12
|
+
var react = require('../../utils/react.js');
|
12
13
|
var usePopup = require('./hooks/usePopup.js');
|
13
14
|
var canUseDOM = require('../../utils/canUseDOM.js');
|
14
15
|
var Portal = require('../Portal/Portal.js');
|
@@ -92,7 +93,7 @@ const popupRoot = Root => /*#__PURE__*/React.forwardRef(({
|
|
92
93
|
...rest
|
93
94
|
}, outerRootRef) => {
|
94
95
|
const innerIsOpen = isOpen || opened;
|
95
|
-
const uniqId =
|
96
|
+
const uniqId = react.safeUseId();
|
96
97
|
const innerId = id || uniqId;
|
97
98
|
const {
|
98
99
|
isVisible,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef, safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines/types';\nimport { canUseDOM, cx } from '../../utils';\nimport { Portal } from '../Portal';\n\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\nimport { StyledPortalContainer } from './Popup.styles';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placementValue: PopupPlacementBasic) => {\n switch (placementValue) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый компонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n opened = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = isOpen || opened;\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible, rootId } = usePopup({\n isOpen: innerIsOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n if (!isVisible && !innerIsOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n const rootNode = (\n <Root className={cls}>\n {overlay}\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n zIndex={zIndex}\n frame={frame}\n animationInfo={animationInfo}\n setVisible={setVisible}\n {...rest}\n >\n {children}\n </PopupRoot>\n </Root>\n );\n\n if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {\n return <Portal container={frame.current}>{rootNode}</Portal>;\n }\n\n const withFrameId = typeof frame === 'string' && frame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(frame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortalContainer ref={portalRef}>\n {portalRef.current && <Portal container={portalRef.current}>{rootNode}</Portal>}\n </StyledPortalContainer>{' '}\n </Portal>\n );\n }\n\n const globalPortal = canUseDOM && document.getElementById(rootId);\n\n return <>{globalPortal && <Portal container={globalPortal}>{rootNode}</Portal>}</>;\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base: '',\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_x","_y","left","top","transform","right","bottom","placements","split","forEach","placementValue","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","id","isOpen","opened","frame","children","overlay","role","zIndex","popupInfo","withAnimation","className","rest","outerRootRef","innerIsOpen","uniqId","safeUseId","innerId","isVisible","animationInfo","setVisible","rootId","usePopup","portalRef","useRef","contentRef","innerRef","useForkRef","cls","cx","endAnimation","classes","endTransition","rootNode","React","createElement","PopupRoot","_extends","ref","position","current","canUseDOM","Portal","container","withFrameId","containerElement","document","getElementById","StyledPortalContainer","globalPortal","Fragment","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Popup.js","sources":["../../../src/components/Popup/Popup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { canUseDOM, cx, safeUseId } from 'src/utils';\nimport { RootProps } from 'src/engines/types';\n\nimport { Portal } from '../Portal';\n\nimport type { PopupPlacementBasic, PopupPlacement, PopupPositionType, PopupProps } from './Popup.types';\nimport { PopupRoot } from './PopupRoot';\nimport { usePopup } from './hooks';\nimport { classes } from './Popup.tokens';\nimport { StyledPortalContainer } from './Popup.styles';\n\nexport const handlePosition = (\n placement: PopupPlacement,\n offset: [number, number] | [string, string],\n): PopupPositionType => {\n let x = '0rem';\n let y = '0rem';\n\n if (offset) {\n const [_x, _y] = offset;\n x = typeof _x === 'number' ? `${_x}rem` : _x;\n y = typeof _y === 'number' ? `${_y}rem` : _y;\n }\n\n if (!placement || placement === 'center') {\n return {\n left: `calc(50% + ${x})`,\n top: `calc(50% - ${y})`,\n transform: 'translate(-50%, -50%)',\n };\n }\n\n let left;\n let right;\n let top;\n let bottom;\n let transform;\n const placements = placement.split('-') as PopupPlacementBasic[];\n\n placements.forEach((placementValue: PopupPlacementBasic) => {\n switch (placementValue) {\n case 'left':\n left = x;\n break;\n case 'right':\n right = x;\n break;\n case 'top':\n top = y;\n break;\n case 'bottom':\n bottom = y;\n break;\n default:\n break;\n }\n });\n\n const isCenteredX = left === undefined && right === undefined;\n const isCenteredY = top === undefined && bottom === undefined;\n\n if (isCenteredX) {\n transform = 'translateX(-50%)';\n }\n\n if (isCenteredY) {\n transform = 'translateY(-50%)';\n }\n\n return {\n left: isCenteredX ? `calc(50% + ${x})` : left,\n right,\n top: isCenteredY ? `calc(50% - ${y})` : top,\n bottom,\n transform,\n };\n};\n\n/**\n * Базовый компонент Popup.\n */\nexport const popupRoot = (Root: RootProps<HTMLDivElement, PopupProps>) =>\n forwardRef<HTMLDivElement, PopupProps>(\n (\n {\n id,\n isOpen = false,\n opened = false,\n placement = 'center',\n offset = [0, 0],\n frame = 'document',\n children,\n overlay,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n role,\n zIndex,\n popupInfo,\n withAnimation = false,\n className,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = isOpen || opened;\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const { isVisible, animationInfo, setVisible, rootId } = usePopup({\n isOpen: innerIsOpen,\n id: innerId,\n popupInfo,\n withAnimation,\n });\n\n const portalRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const innerRef = useForkRef<HTMLDivElement>(contentRef, outerRootRef);\n\n if (!isVisible && !innerIsOpen) {\n return null;\n }\n\n const cls = cx(\n className,\n animationInfo?.endAnimation ? classes.endAnimation : '',\n animationInfo?.endTransition ? classes.endTransition : '',\n );\n\n const rootNode = (\n <Root className={cls}>\n {overlay}\n <PopupRoot\n id={innerId}\n ref={innerRef}\n position={handlePosition(placement, offset)}\n zIndex={zIndex}\n frame={frame}\n animationInfo={animationInfo}\n setVisible={setVisible}\n {...rest}\n >\n {children}\n </PopupRoot>\n </Root>\n );\n\n if (typeof frame !== 'string' && frame && frame.current && canUseDOM) {\n return <Portal container={frame.current}>{rootNode}</Portal>;\n }\n\n const withFrameId = typeof frame === 'string' && frame !== 'document';\n const containerElement = withFrameId && canUseDOM && document.getElementById(frame as string);\n\n if (containerElement) {\n return (\n <Portal container={containerElement}>\n <StyledPortalContainer ref={portalRef}>\n {portalRef.current && <Portal container={portalRef.current}>{rootNode}</Portal>}\n </StyledPortalContainer>{' '}\n </Portal>\n );\n }\n\n const globalPortal = canUseDOM && document.getElementById(rootId);\n\n return <>{globalPortal && <Portal container={globalPortal}>{rootNode}</Portal>}</>;\n },\n );\n\nexport const popupConfig = {\n name: 'Popup',\n tag: 'div',\n layout: popupRoot,\n base: '',\n variations: {},\n defaults: {},\n};\n"],"names":["handlePosition","placement","offset","x","y","_x","_y","left","top","transform","right","bottom","placements","split","forEach","placementValue","isCenteredX","undefined","isCenteredY","popupRoot","Root","forwardRef","id","isOpen","opened","frame","children","overlay","role","zIndex","popupInfo","withAnimation","className","rest","outerRootRef","innerIsOpen","uniqId","safeUseId","innerId","isVisible","animationInfo","setVisible","rootId","usePopup","portalRef","useRef","contentRef","innerRef","useForkRef","cls","cx","endAnimation","classes","endTransition","rootNode","React","createElement","PopupRoot","_extends","ref","position","current","canUseDOM","Portal","container","withFrameId","containerElement","document","getElementById","StyledPortalContainer","globalPortal","Fragment","popupConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
|
@@ -15,9 +15,9 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
16
16
|
|
17
17
|
const POPUP_PORTAL_ID = 'plasma-popup-root';
|
18
|
-
const
|
18
|
+
const initialItems = new Map();
|
19
19
|
const PopupContext = /*#__PURE__*/React.createContext({
|
20
|
-
items,
|
20
|
+
items: initialItems,
|
21
21
|
rootId: POPUP_PORTAL_ID,
|
22
22
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
23
23
|
register(_info) {
|
@@ -36,7 +36,7 @@ const PopupProvider = ({
|
|
36
36
|
UNSAFE_SSR_ENABLED
|
37
37
|
}) => {
|
38
38
|
const prevBodyOverflowY = React.useRef(canUseDOM.canUseDOM ? document.body.style.overflowY : '');
|
39
|
-
const [items, setItems] = React.useState(
|
39
|
+
const [items, setItems] = React.useState(initialItems);
|
40
40
|
const uuid = react.safeUseId();
|
41
41
|
const rootId = `${POPUP_PORTAL_ID}-${uuid}`;
|
42
42
|
const register = info => {
|
@@ -44,11 +44,13 @@ const PopupProvider = ({
|
|
44
44
|
return;
|
45
45
|
}
|
46
46
|
setItems(prevItems => {
|
47
|
-
|
47
|
+
const newItems = new Map(prevItems);
|
48
|
+
if (info.info?.isModal && !ModalContext.hasModals(Array.from(prevItems.values()))) {
|
48
49
|
prevBodyOverflowY.current = document.body.style.overflowY;
|
49
50
|
document.body.style.overflowY = 'hidden';
|
50
51
|
}
|
51
|
-
|
52
|
+
newItems.set(info.id, info);
|
53
|
+
return newItems;
|
52
54
|
});
|
53
55
|
};
|
54
56
|
const unregister = id => {
|
@@ -56,18 +58,16 @@ const PopupProvider = ({
|
|
56
58
|
return;
|
57
59
|
}
|
58
60
|
setItems(prevItems => {
|
59
|
-
|
60
|
-
if (index === -1) {
|
61
|
+
if (!prevItems.has(id)) {
|
61
62
|
return prevItems;
|
62
63
|
}
|
63
|
-
const
|
64
|
-
|
65
|
-
|
64
|
+
const newItems = new Map(prevItems);
|
65
|
+
const prevHasModals = ModalContext.hasModals(Array.from(newItems.values()));
|
66
|
+
newItems.delete(id);
|
67
|
+
if (prevHasModals && !ModalContext.hasModals(Array.from(newItems.values()))) {
|
66
68
|
document.body.style.overflowY = prevBodyOverflowY.current;
|
67
69
|
}
|
68
|
-
|
69
|
-
// при return prevItems не обновится контекст
|
70
|
-
return [...prevItems];
|
70
|
+
return newItems;
|
71
71
|
});
|
72
72
|
};
|
73
73
|
const context = {
|