@salutejs/plasma-new-hope 0.327.0-canary.2021.15821149221.0 → 0.327.0-canary.2022.15704348481.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 +0 -12
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +1 -2
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -2
- 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 +1 -2
- 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/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/Popup/PopupContext.js +1 -1
- package/cjs/components/Popup/PopupContext.js.map +1 -1
- package/cjs/components/Radiobox/Radiobox.js +2 -3
- 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 +3 -4
- 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 +0 -12
- package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
- package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
- package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
- package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
- package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
- package/emotion/cjs/components/Checkbox/Checkbox.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +3 -2
- package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -6
- package/emotion/cjs/components/Dropdown/Dropdown.js +2 -1
- 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 +3 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/emotion/cjs/components/Mask/Mask.js +3 -3
- package/emotion/cjs/components/Popup/PopupContext.js +1 -1
- package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
- package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -2
- package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
- package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
- package/emotion/cjs/components/Select/Select.js +2 -1
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +2 -1
- package/emotion/cjs/components/Spinner/Spinner.js +2 -2
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
- package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
- 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 +0 -12
- package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
- package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
- package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
- package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
- package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
- package/emotion/es/components/Checkbox/Checkbox.js +1 -2
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
- 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 +1 -2
- package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
- 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 +2 -1
- package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/emotion/es/components/Mask/Mask.js +3 -3
- package/emotion/es/components/Popup/PopupContext.js +1 -1
- package/emotion/es/components/Radiobox/Radiobox.js +2 -2
- package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -1
- package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
- package/emotion/es/components/Select/FloatingPopover.js +1 -1
- package/emotion/es/components/Select/Select.js +2 -1
- package/emotion/es/components/Select/ui/Inner/Inner.js +2 -1
- package/emotion/es/components/Spinner/Spinner.js +1 -1
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -1
- package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -1
- 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 +0 -12
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/es/components/Checkbox/Checkbox.js +1 -2
- package/es/components/Checkbox/Checkbox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
- 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 +1 -2
- 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/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/Popup/PopupContext.js +1 -1
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Radiobox/Radiobox.js +2 -3
- 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 +1 -2
- 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 +0 -12
- package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
- package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
- package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
- package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
- package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
- package/styled-components/cjs/components/Checkbox/Checkbox.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +3 -2
- package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -6
- package/styled-components/cjs/components/Dropdown/Dropdown.js +2 -1
- 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 +3 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/styled-components/cjs/components/Mask/Mask.js +3 -3
- package/styled-components/cjs/components/Popup/PopupContext.js +1 -1
- package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -2
- package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
- package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
- package/styled-components/cjs/components/Select/Select.js +2 -1
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +2 -1
- package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
- package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -2
- 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 +0 -12
- package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +0 -12
- package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +0 -3
- package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +0 -3
- package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +0 -3
- package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +0 -3
- package/styled-components/es/components/Checkbox/Checkbox.js +1 -2
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
- 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 +1 -2
- package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
- 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 +2 -1
- package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/styled-components/es/components/Mask/Mask.js +3 -3
- package/styled-components/es/components/Popup/PopupContext.js +1 -1
- package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -1
- package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +2 -1
- package/styled-components/es/components/Select/FloatingPopover.js +1 -1
- package/styled-components/es/components/Select/Select.js +2 -1
- package/styled-components/es/components/Select/ui/Inner/Inner.js +2 -1
- package/styled-components/es/components/Spinner/Spinner.js +1 -1
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -1
- package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -1
- 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/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/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":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n I18N,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleMouseOutGrid = () => onHoverDay?.(undefined);\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n <StyledCalendarDaysHint id=\"withShift\">{I18N.navigationByShift[locale]}</StyledCalendarDaysHint>\n <>\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[locale][name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </>\n {days.map((day: DateItem[], i) => (\n <Fragment key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </Fragment>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","onMouseLeave","StyledCalendarDaysHint","id","I18N","navigationByShift","Fragment","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n I18N,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleMouseOutGrid = () => onHoverDay?.(undefined);\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n <StyledCalendarDaysHint id=\"withShift\">{I18N.navigationByShift[locale]}</StyledCalendarDaysHint>\n <>\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[locale][name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </>\n {days.map((day: DateItem[], i) => (\n <Fragment key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </Fragment>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","onMouseLeave","StyledCalendarDaysHint","id","I18N","navigationByShift","Fragment","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
|
@@ -99,9 +99,6 @@ var CalendarMonths = function CalendarMonths(_ref) {
|
|
99
99
|
return onHoverMonth === null || onHoverMonth === void 0 ? void 0 : onHoverMonth(undefined);
|
100
100
|
};
|
101
101
|
var getRefs = React.useCallback(function (element, i, j) {
|
102
|
-
if (!outerRefs.current[i + offset]) {
|
103
|
-
outerRefs.current[i + offset] = [];
|
104
|
-
}
|
105
102
|
outerRefs.current[i + offset][j] = element;
|
106
103
|
}, [offset, outerRefs]);
|
107
104
|
React.useEffect(function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarMonths.js","sources":["../../../../../src/components/Calendar/ui/CalendarMonths/CalendarMonths.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useMonths } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_MONTH_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarMonthsProps } from './CalendarMonths.types';\nimport { StyledCalendarMonths } from './CalendarMonths.styles';\n\n/**\n * Компонент месяцев в календаре.\n */\nexport const CalendarMonths: React.FC<CalendarMonthsProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredMonth,\n onChangeMonth,\n onHoverMonth,\n onSetSelected,\n onKeyDown,\n locale,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;\n\n const [months, selected] = useMonths({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n locale,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_MONTH_STEP : 0;\n\n const monthItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarMonthFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarMonthFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarMonthFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarMonthFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarMonthFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarMonthFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarMonthSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarMonthItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeMonth = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeMonth(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverMonth?.(undefined);\n }\n },\n [getSelectedDate, onChangeMonth, offset, value, onHoverMonth],\n );\n\n const handleOnHoverMonth = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverMonth?.(selectedDate);\n },\n [getSelectedDate, onHoverMonth, value],\n );\n\n const handleMouseOutGrid = () => onHoverMonth?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarMonths\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {months.map((month, i) => (\n <Fragment key={i}>\n {month.map(\n (\n {\n monthName,\n monthIndex,\n isSelected,\n isCurrent,\n monthFullName,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={monthItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredMonth)}\n inRange={getInRange(value, date, hoveredMonth, inRange)}\n sideInRange={getSideInRange(value, date, hoveredMonth, isSelected)}\n onClick={disabled ? undefined : handleOnChangeMonth(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverMonth}\n key={`StyledMonth-${i}-${j}`}\n role=\"gridcell\"\n aria-label={monthFullName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {monthName}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarMonths>\n );\n};\n"],"names":["CalendarMonths","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredMonth","onChangeMonth","onHoverMonth","onSetSelected","onKeyDown","locale","minDate","Date","getFullYear","getMonth","undefined","maxDate","_useMonths","useMonths","_useMonths2","_slicedToArray","months","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_MONTH_STEP","monthItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarMonthFontFamily","dateStructureFontSize","calendarMonthFontSize","dateStructureFontWeight","calendarMonthFontWeight","dateStructureFontLineHeight","calendarMonthFontLineHeight","dateStructureFontLetterSpacing","calendarMonthFontLetterSpacing","dateStructureFontStyle","calendarMonthFontStyle","dateStructureSelectedFontWeight","calendarMonthSelectedFontWeight","dateStructureBorderRadius","calendarMonthItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeMonth","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverMonth","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","onMouseLeave","map","month","Fragment","key","_ref2","monthName","isSelected","isCurrent","monthFullName","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarMonths.js","sources":["../../../../../src/components/Calendar/ui/CalendarMonths/CalendarMonths.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useMonths } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_MONTH_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarMonthsProps } from './CalendarMonths.types';\nimport { StyledCalendarMonths } from './CalendarMonths.styles';\n\n/**\n * Компонент месяцев в календаре.\n */\nexport const CalendarMonths: React.FC<CalendarMonthsProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredMonth,\n onChangeMonth,\n onHoverMonth,\n onSetSelected,\n onKeyDown,\n locale,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;\n\n const [months, selected] = useMonths({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n locale,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_MONTH_STEP : 0;\n\n const monthItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarMonthFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarMonthFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarMonthFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarMonthFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarMonthFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarMonthFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarMonthSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarMonthItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeMonth = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeMonth(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverMonth?.(undefined);\n }\n },\n [getSelectedDate, onChangeMonth, offset, value, onHoverMonth],\n );\n\n const handleOnHoverMonth = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverMonth?.(selectedDate);\n },\n [getSelectedDate, onHoverMonth, value],\n );\n\n const handleMouseOutGrid = () => onHoverMonth?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarMonths\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {months.map((month, i) => (\n <Fragment key={i}>\n {month.map(\n (\n {\n monthName,\n monthIndex,\n isSelected,\n isCurrent,\n monthFullName,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={monthItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredMonth)}\n inRange={getInRange(value, date, hoveredMonth, inRange)}\n sideInRange={getSideInRange(value, date, hoveredMonth, isSelected)}\n onClick={disabled ? undefined : handleOnChangeMonth(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverMonth}\n key={`StyledMonth-${i}-${j}`}\n role=\"gridcell\"\n aria-label={monthFullName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {monthName}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarMonths>\n );\n};\n"],"names":["CalendarMonths","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredMonth","onChangeMonth","onHoverMonth","onSetSelected","onKeyDown","locale","minDate","Date","getFullYear","getMonth","undefined","maxDate","_useMonths","useMonths","_useMonths2","_slicedToArray","months","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_MONTH_STEP","monthItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarMonthFontFamily","dateStructureFontSize","calendarMonthFontSize","dateStructureFontWeight","calendarMonthFontWeight","dateStructureFontLineHeight","calendarMonthFontLineHeight","dateStructureFontLetterSpacing","calendarMonthFontLetterSpacing","dateStructureFontStyle","calendarMonthFontStyle","dateStructureSelectedFontWeight","calendarMonthSelectedFontWeight","dateStructureBorderRadius","calendarMonthItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeMonth","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverMonth","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","onMouseLeave","map","month","Fragment","key","_ref2","monthName","isSelected","isCurrent","monthFullName","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
@@ -97,9 +97,6 @@ var CalendarQuarters = function CalendarQuarters(_ref) {
|
|
97
97
|
return onHoverQuarter === null || onHoverQuarter === void 0 ? void 0 : onHoverQuarter(undefined);
|
98
98
|
};
|
99
99
|
var getRefs = React.useCallback(function (element, i, j) {
|
100
|
-
if (!outerRefs.current[i + offset]) {
|
101
|
-
outerRefs.current[i + offset] = [];
|
102
|
-
}
|
103
100
|
outerRefs.current[i + offset][j] = element;
|
104
101
|
}, [offset, outerRefs]);
|
105
102
|
React.useEffect(function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useQuarters } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_QUARTER_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarQuartersProps } from './CalendarQuarters.types';\nimport { StyledCalendarQuarters } from './CalendarQuarters.styles';\n\n/**\n * Компонент кварталов в календаре.\n */\nexport const CalendarQuarters: React.FC<CalendarQuartersProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredQuarter,\n onChangeQuarter,\n onHoverQuarter,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;\n\n const [quarters, selected] = useQuarters({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_QUARTER_STEP : 0;\n\n const quarterItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarQuarterFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarQuarterFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarQuarterFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarQuarterFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarQuarterFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarQuarterFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarQuarterSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarQuarterItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeQuarter = useCallback(\n (i: number, j: number, quarterName: string) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeQuarter(selectedDate, [i + offset, j], quarterName);\n\n if (isSelectProcess(value)) {\n onHoverQuarter?.(undefined);\n }\n },\n [getSelectedDate, onChangeQuarter, offset, value, onHoverQuarter],\n );\n\n const handleOnHoverQuarter = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverQuarter?.(selectedDate);\n },\n [getSelectedDate, onHoverQuarter, value],\n );\n\n const handleMouseOutGrid = () => onHoverQuarter?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarQuarters\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {quarters.map((quarter, i) => (\n <Fragment key={i}>\n {quarter.map(\n (\n {\n quarterName,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={quarterItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredQuarter)}\n inRange={getInRange(value, date, hoveredQuarter, inRange)}\n sideInRange={getSideInRange(value, date, hoveredQuarter, isSelected)}\n onClick={disabled ? undefined : handleOnChangeQuarter(i, j, String(quarterName))}\n onMouseOver={disabled ? undefined : handleOnHoverQuarter}\n key={`StyledQuarter-${i}-${j}`}\n role=\"gridcell\"\n aria-label={quarterName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {quarterName}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarQuarters>\n );\n};\n"],"names":["CalendarQuarters","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredQuarter","onChangeQuarter","onHoverQuarter","onSetSelected","onKeyDown","minDate","Date","getFullYear","getMonth","undefined","maxDate","_useQuarters","useQuarters","_useQuarters2","_slicedToArray","quarters","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_QUARTER_STEP","quarterItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarQuarterFontFamily","dateStructureFontSize","calendarQuarterFontSize","dateStructureFontWeight","calendarQuarterFontWeight","dateStructureFontLineHeight","calendarQuarterFontLineHeight","dateStructureFontLetterSpacing","calendarQuarterFontLetterSpacing","dateStructureFontStyle","calendarQuarterFontStyle","dateStructureSelectedFontWeight","calendarQuarterSelectedFontWeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverQuarter","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","onMouseLeave","map","quarter","Fragment","key","_ref2","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","String","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useQuarters } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_QUARTER_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarQuartersProps } from './CalendarQuarters.types';\nimport { StyledCalendarQuarters } from './CalendarQuarters.styles';\n\n/**\n * Компонент кварталов в календаре.\n */\nexport const CalendarQuarters: React.FC<CalendarQuartersProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredQuarter,\n onChangeQuarter,\n onHoverQuarter,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), min.getMonth(), 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), max.getMonth() + 1, 0) : undefined;\n\n const [quarters, selected] = useQuarters({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_QUARTER_STEP : 0;\n\n const quarterItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarQuarterFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarQuarterFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarQuarterFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarQuarterFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarQuarterFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarQuarterFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarQuarterSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarQuarterItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeQuarter = useCallback(\n (i: number, j: number, quarterName: string) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeQuarter(selectedDate, [i + offset, j], quarterName);\n\n if (isSelectProcess(value)) {\n onHoverQuarter?.(undefined);\n }\n },\n [getSelectedDate, onChangeQuarter, offset, value, onHoverQuarter],\n );\n\n const handleOnHoverQuarter = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverQuarter?.(selectedDate);\n },\n [getSelectedDate, onHoverQuarter, value],\n );\n\n const handleMouseOutGrid = () => onHoverQuarter?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarQuarters\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {quarters.map((quarter, i) => (\n <Fragment key={i}>\n {quarter.map(\n (\n {\n quarterName,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={quarterItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredQuarter)}\n inRange={getInRange(value, date, hoveredQuarter, inRange)}\n sideInRange={getSideInRange(value, date, hoveredQuarter, isSelected)}\n onClick={disabled ? undefined : handleOnChangeQuarter(i, j, String(quarterName))}\n onMouseOver={disabled ? undefined : handleOnHoverQuarter}\n key={`StyledQuarter-${i}-${j}`}\n role=\"gridcell\"\n aria-label={quarterName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {quarterName}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarQuarters>\n );\n};\n"],"names":["CalendarQuarters","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredQuarter","onChangeQuarter","onHoverQuarter","onSetSelected","onKeyDown","minDate","Date","getFullYear","getMonth","undefined","maxDate","_useQuarters","useQuarters","_useQuarters2","_slicedToArray","quarters","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_QUARTER_STEP","quarterItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarQuarterFontFamily","dateStructureFontSize","calendarQuarterFontSize","dateStructureFontWeight","calendarQuarterFontWeight","dateStructureFontLineHeight","calendarQuarterFontLineHeight","dateStructureFontLetterSpacing","calendarQuarterFontLetterSpacing","dateStructureFontStyle","calendarQuarterFontStyle","dateStructureSelectedFontWeight","calendarQuarterSelectedFontWeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverQuarter","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","onMouseLeave","map","quarter","Fragment","key","_ref2","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","String","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
@@ -99,9 +99,6 @@ var CalendarYears = function CalendarYears(_ref) {
|
|
99
99
|
return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
|
100
100
|
};
|
101
101
|
var getRefs = React.useCallback(function (element, i, j) {
|
102
|
-
if (!outerRefs.current[i + offset]) {
|
103
|
-
outerRefs.current[i + offset] = [];
|
104
|
-
}
|
105
102
|
outerRefs.current[i + offset][j] = element;
|
106
103
|
}, [outerRefs]);
|
107
104
|
React.useEffect(function () {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useYears } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_YEAR_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarYearsProps } from './CalendarYears.types';\nimport { StyledCalendarYears } from './CalendarYears.styles';\n\n/**\n * Компонент годов в календаре.\n */\nexport const CalendarYears: React.FC<CalendarYearsProps> = ({\n date: currentDate,\n value,\n startYear,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredYear,\n onChangeYear,\n onHoverYear,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), 0, 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), 11, 31) : undefined;\n\n const [years, selected] = useYears({\n date: currentDate,\n value,\n startYear,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_YEAR_STEP : 0;\n\n const yearItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarYearFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarYearFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarYearFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarYearFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarYearFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarYearFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarYearSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarYearItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeYear = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeYear(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverYear?.(undefined);\n }\n },\n [getSelectedDate, onChangeYear, offset, value, onHoverYear],\n );\n\n const handleOnHoverYear = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverYear?.(selectedDate);\n },\n [getSelectedDate, onHoverYear, value],\n );\n\n const handleMouseOutGrid = () => onHoverYear?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n if (!outerRefs.current[i + offset]) {\n outerRefs.current[i + offset] = [];\n }\n\n outerRefs.current[i + offset][j] = element;\n },\n [outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarYears\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {years.map((year, i) => (\n <Fragment key={i}>\n {year.map(\n (\n {\n yearValue,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={yearItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={yearValue}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredYear)}\n inRange={getInRange(value, date, hoveredYear, inRange)}\n sideInRange={getSideInRange(value, date, hoveredYear, isSelected)}\n onClick={disabled ? undefined : handleOnChangeYear(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverYear}\n key={`StyledYear-${i}-${j}`}\n role=\"gridcell\"\n data-year={yearValue}\n data-month-index={date.monthIndex}\n data-day={date.day}\n aria-label={String(yearValue)}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {yearValue}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarYears>\n );\n};\n"],"names":["CalendarYears","_ref","currentDate","date","value","startYear","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredYear","onChangeYear","onHoverYear","onSetSelected","onKeyDown","minDate","Date","getFullYear","undefined","maxDate","_useYears","useYears","_useYears2","_slicedToArray","years","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_YEAR_STEP","yearItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarYearFontFamily","dateStructureFontSize","calendarYearFontSize","dateStructureFontWeight","calendarYearFontWeight","dateStructureFontLineHeight","calendarYearFontLineHeight","dateStructureFontLetterSpacing","calendarYearFontLetterSpacing","dateStructureFontStyle","calendarYearFontStyle","dateStructureSelectedFontWeight","calendarYearSelectedFontWeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverYear","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","onMouseLeave","map","Fragment","key","_ref2","yearValue","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","String","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useRef } from 'react';\n\nimport { useYears } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_YEAR_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarYearsProps } from './CalendarYears.types';\nimport { StyledCalendarYears } from './CalendarYears.styles';\n\n/**\n * Компонент годов в календаре.\n */\nexport const CalendarYears: React.FC<CalendarYearsProps> = ({\n date: currentDate,\n value,\n startYear,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredYear,\n onChangeYear,\n onHoverYear,\n onSetSelected,\n onKeyDown,\n}) => {\n const minDate = min ? new Date(min.getFullYear(), 0, 1) : undefined;\n const maxDate = max ? new Date(max.getFullYear(), 11, 31) : undefined;\n\n const [years, selected] = useYears({\n date: currentDate,\n value,\n startYear,\n eventList,\n disabledList,\n min: minDate,\n max: maxDate,\n });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_YEAR_STEP : 0;\n\n const yearItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarYearFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarYearFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarYearFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarYearFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarYearFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarYearFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarYearSelectedFontWeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarYearItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeYear = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeYear(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverYear?.(undefined);\n }\n },\n [getSelectedDate, onChangeYear, offset, value, onHoverYear],\n );\n\n const handleOnHoverYear = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverYear?.(selectedDate);\n },\n [getSelectedDate, onHoverYear, value],\n );\n\n const handleMouseOutGrid = () => onHoverYear?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarYears\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {years.map((year, i) => (\n <Fragment key={i}>\n {year.map(\n (\n {\n yearValue,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={yearItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={yearValue}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredYear)}\n inRange={getInRange(value, date, hoveredYear, inRange)}\n sideInRange={getSideInRange(value, date, hoveredYear, isSelected)}\n onClick={disabled ? undefined : handleOnChangeYear(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverYear}\n key={`StyledYear-${i}-${j}`}\n role=\"gridcell\"\n data-year={yearValue}\n data-month-index={date.monthIndex}\n data-day={date.day}\n aria-label={String(yearValue)}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {yearValue}\n </DateStructureItem>\n );\n },\n )}\n </Fragment>\n ))}\n </StyledCalendarYears>\n );\n};\n"],"names":["CalendarYears","_ref","currentDate","date","value","startYear","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredYear","onChangeYear","onHoverYear","onSetSelected","onKeyDown","minDate","Date","getFullYear","undefined","maxDate","_useYears","useYears","_useYears2","_slicedToArray","years","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_YEAR_STEP","yearItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarYearFontFamily","dateStructureFontSize","calendarYearFontSize","dateStructureFontWeight","calendarYearFontWeight","dateStructureFontLineHeight","calendarYearFontLineHeight","dateStructureFontLetterSpacing","calendarYearFontLetterSpacing","dateStructureFontStyle","calendarYearFontStyle","dateStructureSelectedFontWeight","calendarYearSelectedFontWeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","handleOnHoverYear","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","onMouseLeave","map","Fragment","key","_ref2","yearValue","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","String","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
|
@@ -13,7 +13,6 @@ var base$3 = require('./variations/_focused/base.js');
|
|
13
13
|
var IconsSvg = require('./IconsSvg.js');
|
14
14
|
var Checkbox_styles = require('./Checkbox.styles.js');
|
15
15
|
var Checkbox_tokens = require('./Checkbox.tokens.js');
|
16
|
-
var react = require('../../utils/react.js');
|
17
16
|
|
18
17
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
19
18
|
|
@@ -45,7 +44,7 @@ var checkboxRoot = function checkboxRoot(Root) {
|
|
45
44
|
inputRef.current.indeterminate = Boolean(indeterminate);
|
46
45
|
}
|
47
46
|
}, [inputRef, indeterminate]);
|
48
|
-
var uniqId =
|
47
|
+
var uniqId = plasmaCore.safeUseId();
|
49
48
|
var uniqLabelId = "label-".concat(uniqId);
|
50
49
|
var uniqDescriptionId = "description-".concat(uniqId);
|
51
50
|
var checkboxId = id || "input-".concat(uniqId);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport { useForkRef, extractTextFrom } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { Done, Indeterminate, DoneThin, IndeterminateThin } from './IconsSvg';\nimport {\n StyledContent,\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledTrigger,\n base,\n StyledTriggerWrapper,\n} from './Checkbox.styles';\nimport type { CheckboxProps } from './Checkbox.types';\nimport { classes } from './Checkbox.tokens';\n\nexport const checkboxRoot = (Root: RootProps<HTMLInputElement, CheckboxProps>) =>\n forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {\n const {\n size,\n view,\n focused,\n disabled,\n id,\n label,\n description,\n indeterminate,\n appearance,\n style,\n className,\n singleLine = false,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const forkRef = useForkRef(inputRef, ref);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [inputRef, indeterminate]);\n\n const uniqId = safeUseId();\n const uniqLabelId = `label-${uniqId}`;\n const uniqDescriptionId = `description-${uniqId}`;\n const checkboxId = id || `input-${uniqId}`;\n\n const ariaLabel = useMemo(() => ariaLabelExternal || extractTextFrom(label), [ariaLabelExternal, label]);\n const isLabelAriaHidden = typeof label === 'string';\n const canFocused = focused ? 0 : -1;\n const hasContent = label || description;\n const singleLineClass = singleLine ? classes.singleLine : undefined;\n const onlyDescriptionClass = !label && description ? classes.onlyDescription : undefined;\n\n // Временное решение\n const getIcon = () => {\n if (appearance === 'outline') {\n return <DoneThin />;\n }\n\n return <Done />;\n };\n\n const getIndeterminate = () => {\n if (appearance === 'outline') {\n return <IndeterminateThin />;\n }\n\n return <Indeterminate />;\n };\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n focused={focused}\n style={style}\n className={className}\n tabIndex={-1}\n >\n <StyledInput\n {...rest}\n id={checkboxId}\n ref={forkRef}\n type=\"checkbox\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={uniqDescriptionId}\n tabIndex={canFocused}\n />\n <StyledContentWrapper htmlFor={checkboxId} className={singleLineClass}>\n <StyledTriggerWrapper>\n <StyledTrigger className={classes.checkboxTrigger}>\n {indeterminate ? getIndeterminate() : getIcon()}\n </StyledTrigger>\n </StyledTriggerWrapper>\n {hasContent && (\n <StyledContent className={singleLineClass}>\n {label && (\n <StyledLabel\n className={singleLineClass}\n id={uniqLabelId}\n aria-hidden={isLabelAriaHidden}\n >\n {label}\n </StyledLabel>\n )}\n {description && (\n <StyledDescription\n className={cx(singleLineClass, onlyDescriptionClass)}\n id={uniqDescriptionId}\n >\n {description}\n </StyledDescription>\n )}\n </StyledContent>\n )}\n </StyledContentWrapper>\n </Root>\n );\n });\n\nexport const checkboxConfig = {\n name: 'Checkbox',\n tag: 'div',\n layout: checkboxRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["checkboxRoot","Root","forwardRef","props","ref","size","view","focused","disabled","id","label","description","indeterminate","appearance","style","className","_props$singleLine","singleLine","ariaLabelExternal","rest","_objectWithoutProperties","_excluded","inputRef","useRef","forkRef","useForkRef","useEffect","current","Boolean","uniqId","safeUseId","uniqLabelId","concat","uniqDescriptionId","checkboxId","ariaLabel","useMemo","extractTextFrom","isLabelAriaHidden","canFocused","hasContent","singleLineClass","classes","undefined","onlyDescriptionClass","onlyDescription","getIcon","_DoneThin","React","createElement","DoneThin","_Done","Done","getIndeterminate","_IndeterminateThin","IndeterminateThin","_Indeterminate","Indeterminate","tabIndex","StyledInput","_extends","type","StyledContentWrapper","htmlFor","StyledTriggerWrapper","StyledTrigger","checkboxTrigger","StyledContent","StyledLabel","StyledDescription","cx","checkboxConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","focusedCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport { safeUseId, useForkRef, extractTextFrom } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { Done, Indeterminate, DoneThin, IndeterminateThin } from './IconsSvg';\nimport {\n StyledContent,\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledTrigger,\n base,\n StyledTriggerWrapper,\n} from './Checkbox.styles';\nimport type { CheckboxProps } from './Checkbox.types';\nimport { classes } from './Checkbox.tokens';\n\nexport const checkboxRoot = (Root: RootProps<HTMLInputElement, CheckboxProps>) =>\n forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {\n const {\n size,\n view,\n focused,\n disabled,\n id,\n label,\n description,\n indeterminate,\n appearance,\n style,\n className,\n singleLine = false,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const forkRef = useForkRef(inputRef, ref);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = Boolean(indeterminate);\n }\n }, [inputRef, indeterminate]);\n\n const uniqId = safeUseId();\n const uniqLabelId = `label-${uniqId}`;\n const uniqDescriptionId = `description-${uniqId}`;\n const checkboxId = id || `input-${uniqId}`;\n\n const ariaLabel = useMemo(() => ariaLabelExternal || extractTextFrom(label), [ariaLabelExternal, label]);\n const isLabelAriaHidden = typeof label === 'string';\n const canFocused = focused ? 0 : -1;\n const hasContent = label || description;\n const singleLineClass = singleLine ? classes.singleLine : undefined;\n const onlyDescriptionClass = !label && description ? classes.onlyDescription : undefined;\n\n // Временное решение\n const getIcon = () => {\n if (appearance === 'outline') {\n return <DoneThin />;\n }\n\n return <Done />;\n };\n\n const getIndeterminate = () => {\n if (appearance === 'outline') {\n return <IndeterminateThin />;\n }\n\n return <Indeterminate />;\n };\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n focused={focused}\n style={style}\n className={className}\n tabIndex={-1}\n >\n <StyledInput\n {...rest}\n id={checkboxId}\n ref={forkRef}\n type=\"checkbox\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={uniqDescriptionId}\n tabIndex={canFocused}\n />\n <StyledContentWrapper htmlFor={checkboxId} className={singleLineClass}>\n <StyledTriggerWrapper>\n <StyledTrigger className={classes.checkboxTrigger}>\n {indeterminate ? getIndeterminate() : getIcon()}\n </StyledTrigger>\n </StyledTriggerWrapper>\n {hasContent && (\n <StyledContent className={singleLineClass}>\n {label && (\n <StyledLabel\n className={singleLineClass}\n id={uniqLabelId}\n aria-hidden={isLabelAriaHidden}\n >\n {label}\n </StyledLabel>\n )}\n {description && (\n <StyledDescription\n className={cx(singleLineClass, onlyDescriptionClass)}\n id={uniqDescriptionId}\n >\n {description}\n </StyledDescription>\n )}\n </StyledContent>\n )}\n </StyledContentWrapper>\n </Root>\n );\n });\n\nexport const checkboxConfig = {\n name: 'Checkbox',\n tag: 'div',\n layout: checkboxRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["checkboxRoot","Root","forwardRef","props","ref","size","view","focused","disabled","id","label","description","indeterminate","appearance","style","className","_props$singleLine","singleLine","ariaLabelExternal","rest","_objectWithoutProperties","_excluded","inputRef","useRef","forkRef","useForkRef","useEffect","current","Boolean","uniqId","safeUseId","uniqLabelId","concat","uniqDescriptionId","checkboxId","ariaLabel","useMemo","extractTextFrom","isLabelAriaHidden","canFocused","hasContent","singleLineClass","classes","undefined","onlyDescriptionClass","onlyDescription","getIcon","_DoneThin","React","createElement","DoneThin","_Done","Done","getIndeterminate","_IndeterminateThin","IndeterminateThin","_Indeterminate","Indeterminate","tabIndex","StyledInput","_extends","type","StyledContentWrapper","htmlFor","StyledTriggerWrapper","StyledTrigger","checkboxTrigger","StyledContent","StyledLabel","StyledDescription","cx","checkboxConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","focusedCSS","defaults"],"mappings":"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"}
|
@@ -15,7 +15,6 @@ var base$1 = require('./variations/_size/base.js');
|
|
15
15
|
var SelectNative = require('./ui/SelectNative/SelectNative.js');
|
16
16
|
var Combobox_context = require('./Combobox.context.js');
|
17
17
|
var initialItemsTransform = require('./utils/initialItemsTransform.js');
|
18
|
-
var react = require('../../../utils/react.js');
|
19
18
|
var filterItems = require('./utils/filterItems.js');
|
20
19
|
var pathReducer = require('./reducers/pathReducer.js');
|
21
20
|
var focusedPathReducer = require('./reducers/focusedPathReducer.js');
|
@@ -117,7 +116,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
117
116
|
var inputRef = React.useRef(null);
|
118
117
|
var floatingPopoverRef = React.useRef(null);
|
119
118
|
var inputForkRef = plasmaCore.useForkRef(inputRef, ref);
|
120
|
-
var treeId =
|
119
|
+
var treeId = plasmaCore.safeUseId();
|
121
120
|
var filteredItems = React.useMemo(function () {
|
122
121
|
var _valueToItemMap$get2;
|
123
122
|
return filterItems.filterItems(transformedItems, textValue, ((_valueToItemMap$get2 = valueToItemMap.get(value)) === null || _valueToItemMap$get2 === void 0 ? void 0 : _valueToItemMap$get2.label) || value, filter);
|