@skbkontur/react-ui 4.14.2 → 4.15.1-fix-flushsync-warning
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/CHANGELOG.md +32 -5
- package/cjs/components/Button/Button.d.ts +2 -6
- package/cjs/components/Button/Button.js +14 -5
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Button/getInnerLinkTheme.js +0 -3
- package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
- package/cjs/components/Calendar/Calendar.d.ts +104 -0
- package/cjs/components/Calendar/Calendar.js +475 -0
- package/cjs/components/Calendar/Calendar.js.map +1 -0
- package/cjs/components/Calendar/Calendar.md +147 -0
- package/cjs/{internal → components}/Calendar/Calendar.styles.d.ts +1 -0
- package/cjs/components/Calendar/Calendar.styles.js +33 -0
- package/cjs/components/Calendar/Calendar.styles.js.map +1 -0
- package/{internal → cjs/components}/Calendar/CalendarUtils.d.ts +19 -2
- package/cjs/components/Calendar/CalendarUtils.js +117 -0
- package/cjs/components/Calendar/CalendarUtils.js.map +1 -0
- package/cjs/components/Calendar/Month.js.map +1 -0
- package/cjs/{internal → components}/Calendar/MonthView.d.ts +1 -1
- package/cjs/{internal → components}/Calendar/MonthView.js +1 -1
- package/cjs/{internal → components}/Calendar/MonthView.js.map +1 -1
- package/cjs/components/Calendar/locale/index.d.ts +4 -0
- package/cjs/components/Calendar/locale/index.js +11 -0
- package/cjs/components/Calendar/locale/index.js.map +1 -0
- package/cjs/components/Calendar/locale/locales/en.d.ts +2 -0
- package/cjs/components/Calendar/locale/locales/en.js +16 -0
- package/cjs/components/Calendar/locale/locales/en.js.map +1 -0
- package/cjs/components/Calendar/locale/locales/ru.d.ts +2 -0
- package/cjs/components/Calendar/locale/locales/ru.js +16 -0
- package/cjs/components/Calendar/locale/locales/ru.js.map +1 -0
- package/cjs/components/Calendar/locale/types.d.ts +3 -0
- package/cjs/components/Calendar/locale/types.js +1 -0
- package/cjs/components/Calendar/locale/types.js.map +1 -0
- package/cjs/components/DatePicker/DatePicker.d.ts +16 -17
- package/cjs/components/DatePicker/DatePicker.js +107 -57
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -0
- package/cjs/components/DatePicker/DatePicker.styles.js +36 -1
- package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
- package/cjs/components/DatePicker/DatePickerHelpers.d.ts +1 -1
- package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
- package/cjs/components/DatePicker/Picker.d.ts +8 -9
- package/cjs/components/DatePicker/Picker.js +32 -41
- package/cjs/components/DatePicker/Picker.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/en.js +3 -15
- package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
- package/cjs/components/DatePicker/locale/locales/ru.js +3 -15
- package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
- package/cjs/components/DatePicker/locale/types.d.ts +2 -2
- package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +1 -0
- package/cjs/components/FileUploader/FileUploader.js +3 -1
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/Kebab/Kebab.d.ts +4 -1
- package/cjs/components/Kebab/Kebab.js +9 -3
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +4 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.d.ts +1 -2
- package/cjs/components/Link/Link.mixins.js +4 -16
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Link/Link.styles.d.ts +2 -0
- package/cjs/components/Link/Link.styles.js +56 -38
- package/cjs/components/Link/Link.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.js +1 -3
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +3 -3
- package/cjs/components/Modal/Modal.js +19 -2
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +0 -2
- package/cjs/components/Modal/Modal.styles.js +25 -36
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalBody.js +0 -2
- package/cjs/components/Modal/ModalBody.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +3 -6
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +2 -7
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +4 -6
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +9 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +3 -3
- package/cjs/components/SidePage/SidePage.js +8 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/Spinner/Spinner.md +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +4 -2
- package/cjs/components/Switcher/Switcher.js +13 -3
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Toast/Toast.md +16 -12
- package/cjs/components/TokenInput/TokenInput.d.ts +44 -1
- package/cjs/components/TokenInput/TokenInput.js +42 -0
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.md +100 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js +25 -13
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +3 -3
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +4 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/NativeDateInput/utils.d.ts +1 -1
- package/cjs/internal/NativeDateInput/utils.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -0
- package/cjs/internal/PopupMenu/PopupMenu.js +23 -3
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/ZIndex/ZIndexStorage.d.ts +0 -5
- package/cjs/internal/ZIndex/ZIndexStorage.js +1 -6
- package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/cjs/internal/icons/SpinnerIcon.styles.js +2 -1
- package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +4 -15
- package/cjs/internal/themes/DefaultTheme.js +15 -48
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +0 -3
- package/cjs/internal/themes/Theme2022.js +2 -11
- package/cjs/internal/themes/Theme2022.js.map +1 -1
- package/cjs/lib/date/InternalDate.d.ts +1 -1
- package/cjs/lib/date/InternalDate.js +1 -1
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/locale/decorators.js +0 -3
- package/cjs/lib/locale/decorators.js.map +1 -1
- package/cjs/lib/locale/types.d.ts +2 -0
- package/cjs/lib/locale/types.js +2 -0
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/typings/html.d.ts +1 -1
- package/cjs/typings/utility-types.d.ts +6 -0
- package/components/Button/Button/Button.js +13 -4
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +2 -6
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +0 -3
- package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
- package/{internal → components}/Calendar/Calendar/Calendar.js +136 -71
- package/components/Calendar/Calendar/Calendar.js.map +1 -0
- package/{internal → components}/Calendar/Calendar/package.json +1 -1
- package/components/Calendar/Calendar.d.ts +104 -0
- package/components/Calendar/Calendar.md +147 -0
- package/components/Calendar/Calendar.styles/Calendar.styles.js +17 -0
- package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -0
- package/{internal → components}/Calendar/Calendar.styles/package.json +1 -1
- package/{internal → components}/Calendar/Calendar.styles.d.ts +1 -0
- package/{internal → components}/Calendar/CalendarDateShape/package.json +1 -1
- package/{internal → components}/Calendar/CalendarScrollEvents/package.json +1 -1
- package/{internal → components}/Calendar/CalendarUtils/CalendarUtils.js +34 -0
- package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -0
- package/{internal → components}/Calendar/CalendarUtils/package.json +1 -1
- package/{cjs/internal → components}/Calendar/CalendarUtils.d.ts +19 -2
- package/{internal → components}/Calendar/DayCellView/package.json +1 -1
- package/{internal → components}/Calendar/DayCellView.styles/package.json +1 -1
- package/{internal → components}/Calendar/DayCellViewModel/package.json +1 -1
- package/components/Calendar/Month/Month.js.map +1 -0
- package/{internal → components}/Calendar/Month/package.json +1 -1
- package/{internal → components}/Calendar/MonthView/MonthView.js +1 -1
- package/components/Calendar/MonthView/MonthView.js.map +1 -0
- package/{internal → components}/Calendar/MonthView/package.json +1 -1
- package/{internal → components}/Calendar/MonthView.d.ts +1 -1
- package/{internal → components}/Calendar/MonthView.styles/package.json +1 -1
- package/{internal → components}/Calendar/MonthViewModel/package.json +1 -1
- package/{internal → components}/Calendar/config/package.json +1 -1
- package/{internal → components}/Calendar/index/package.json +1 -1
- package/components/Calendar/locale/index/index.js +8 -0
- package/components/Calendar/locale/index/index.js.map +1 -0
- package/components/Calendar/locale/index/package.json +6 -0
- package/components/Calendar/locale/index.d.ts +4 -0
- package/components/Calendar/locale/locales/en/en.js +3 -0
- package/components/Calendar/locale/locales/en/en.js.map +1 -0
- package/components/Calendar/locale/locales/en/package.json +6 -0
- package/components/Calendar/locale/locales/en.d.ts +2 -0
- package/components/Calendar/locale/locales/ru/package.json +6 -0
- package/components/Calendar/locale/locales/ru/ru.js +3 -0
- package/components/Calendar/locale/locales/ru/ru.js.map +1 -0
- package/components/Calendar/locale/locales/ru.d.ts +2 -0
- package/components/Calendar/locale/package.json +6 -0
- package/components/Calendar/locale/types/package.json +6 -0
- package/components/Calendar/locale/types/types.js +1 -0
- package/components/Calendar/locale/types/types.js.map +1 -0
- package/components/Calendar/locale/types.d.ts +3 -0
- package/{internal → components}/Calendar/package.json +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +112 -62
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +16 -17
- package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +7 -1
- package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
- package/components/DatePicker/DatePicker.styles.d.ts +3 -0
- package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
- package/components/DatePicker/DatePickerHelpers.d.ts +1 -1
- package/components/DatePicker/Picker/Picker.js +50 -66
- package/components/DatePicker/Picker/Picker.js.map +1 -1
- package/components/DatePicker/Picker.d.ts +8 -9
- package/components/DatePicker/locale/locales/en/en.js +3 -3
- package/components/DatePicker/locale/locales/en/en.js.map +1 -1
- package/components/DatePicker/locale/locales/ru/ru.js +3 -3
- package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
- package/components/DatePicker/locale/types.d.ts +2 -2
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -1
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +3 -1
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +1 -0
- package/components/Kebab/Kebab/Kebab.js +6 -1
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.d.ts +4 -1
- package/components/Link/Link/Link.js +4 -4
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +2 -5
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Link/Link.mixins.d.ts +1 -2
- package/components/Link/Link.styles/Link.styles.js +28 -21
- package/components/Link/Link.styles/Link.styles.js.map +1 -1
- package/components/Link/Link.styles.d.ts +2 -0
- package/components/Loader/Loader/Loader.js +0 -2
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Modal/Modal/Modal.js +28 -11
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +3 -3
- package/components/Modal/Modal.styles/Modal.styles.js +24 -30
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +0 -2
- package/components/Modal/ModalBody/ModalBody.js +0 -2
- package/components/Modal/ModalBody/ModalBody.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +3 -7
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +3 -7
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -5
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +12 -4
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +9 -3
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +3 -3
- package/components/Spinner/Spinner.md +1 -1
- package/components/Switcher/Switcher/Switcher.js +8 -2
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +4 -2
- package/components/Toast/Toast.md +16 -12
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +44 -1
- package/components/TokenInput/TokenInput.md +100 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +33 -14
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +4 -2
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/NativeDateInput/utils/utils.js.map +1 -1
- package/internal/NativeDateInput/utils.d.ts +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +13 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.d.ts +8 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -6
- package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage.d.ts +0 -5
- package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +1 -1
- package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +25 -80
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +4 -15
- package/internal/themes/Theme2022/Theme2022.js +6 -21
- package/internal/themes/Theme2022/Theme2022.js.map +1 -1
- package/internal/themes/Theme2022.d.ts +0 -3
- package/lib/date/InternalDate/InternalDate.js +1 -1
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/date/InternalDate.d.ts +1 -1
- package/lib/locale/decorators/decorators.js.map +1 -1
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +2 -0
- package/package.json +2 -5
- package/typings/html.d.ts +1 -1
- package/typings/utility-types.d.ts +6 -0
- package/cjs/components/DatePicker/Picker.styles.d.ts +0 -5
- package/cjs/components/DatePicker/Picker.styles.js +0 -39
- package/cjs/components/DatePicker/Picker.styles.js.map +0 -1
- package/cjs/internal/Calendar/Calendar.d.ts +0 -63
- package/cjs/internal/Calendar/Calendar.js +0 -387
- package/cjs/internal/Calendar/Calendar.js.map +0 -1
- package/cjs/internal/Calendar/Calendar.styles.js +0 -23
- package/cjs/internal/Calendar/Calendar.styles.js.map +0 -1
- package/cjs/internal/Calendar/CalendarUtils.js +0 -71
- package/cjs/internal/Calendar/CalendarUtils.js.map +0 -1
- package/cjs/internal/Calendar/Month.js.map +0 -1
- package/components/DatePicker/Picker.styles/Picker.styles.js +0 -13
- package/components/DatePicker/Picker.styles/Picker.styles.js.map +0 -1
- package/components/DatePicker/Picker.styles/package.json +0 -6
- package/components/DatePicker/Picker.styles.d.ts +0 -5
- package/internal/Calendar/Calendar/Calendar.js.map +0 -1
- package/internal/Calendar/Calendar.d.ts +0 -63
- package/internal/Calendar/Calendar.styles/Calendar.styles.js +0 -14
- package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +0 -1
- package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +0 -1
- package/internal/Calendar/Month/Month.js.map +0 -1
- package/internal/Calendar/MonthView/MonthView.js.map +0 -1
- /package/cjs/{internal → components}/Calendar/CalendarDateShape.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarDateShape.js +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarDateShape.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.js +0 -0
- /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.js +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.styles.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.styles.js +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellView.styles.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellViewModel.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellViewModel.js +0 -0
- /package/cjs/{internal → components}/Calendar/DayCellViewModel.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/Month.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/Month.js +0 -0
- /package/cjs/{internal → components}/Calendar/MonthView.styles.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/MonthView.styles.js +0 -0
- /package/cjs/{internal → components}/Calendar/MonthView.styles.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/MonthViewModel.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/MonthViewModel.js +0 -0
- /package/cjs/{internal → components}/Calendar/MonthViewModel.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/config.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/config.js +0 -0
- /package/cjs/{internal → components}/Calendar/config.js.map +0 -0
- /package/cjs/{internal → components}/Calendar/index.d.ts +0 -0
- /package/cjs/{internal → components}/Calendar/index.js +0 -0
- /package/cjs/{internal → components}/Calendar/index.js.map +0 -0
- /package/{internal → components}/Calendar/CalendarDateShape/CalendarDateShape.js +0 -0
- /package/{internal → components}/Calendar/CalendarDateShape/CalendarDateShape.js.map +0 -0
- /package/{internal → components}/Calendar/CalendarDateShape.d.ts +0 -0
- /package/{internal → components}/Calendar/CalendarScrollEvents/CalendarScrollEvents.js +0 -0
- /package/{internal → components}/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +0 -0
- /package/{internal → components}/Calendar/CalendarScrollEvents.d.ts +0 -0
- /package/{internal → components}/Calendar/DayCellView/DayCellView.js +0 -0
- /package/{internal → components}/Calendar/DayCellView/DayCellView.js.map +0 -0
- /package/{internal → components}/Calendar/DayCellView.d.ts +0 -0
- /package/{internal → components}/Calendar/DayCellView.styles/DayCellView.styles.js +0 -0
- /package/{internal → components}/Calendar/DayCellView.styles/DayCellView.styles.js.map +0 -0
- /package/{internal → components}/Calendar/DayCellView.styles.d.ts +0 -0
- /package/{internal → components}/Calendar/DayCellViewModel/DayCellViewModel.js +0 -0
- /package/{internal → components}/Calendar/DayCellViewModel/DayCellViewModel.js.map +0 -0
- /package/{internal → components}/Calendar/DayCellViewModel.d.ts +0 -0
- /package/{internal → components}/Calendar/Month/Month.js +0 -0
- /package/{internal → components}/Calendar/Month.d.ts +0 -0
- /package/{internal → components}/Calendar/MonthView.styles/MonthView.styles.js +0 -0
- /package/{internal → components}/Calendar/MonthView.styles/MonthView.styles.js.map +0 -0
- /package/{internal → components}/Calendar/MonthView.styles.d.ts +0 -0
- /package/{internal → components}/Calendar/MonthViewModel/MonthViewModel.js +0 -0
- /package/{internal → components}/Calendar/MonthViewModel/MonthViewModel.js.map +0 -0
- /package/{internal → components}/Calendar/MonthViewModel.d.ts +0 -0
- /package/{internal → components}/Calendar/config/config.js +0 -0
- /package/{internal → components}/Calendar/config/config.js.map +0 -0
- /package/{internal → components}/Calendar/config.d.ts +0 -0
- /package/{internal → components}/Calendar/index/index.js +0 -0
- /package/{internal → components}/Calendar/index/index.js.map +0 -0
- /package/{internal → components}/Calendar/index.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Modal.styles.ts"],"names":["styles","root","css","bg","t","modalBackBg","modalBackOpacity","container","window","modalWindowShadow","modalBg","modalBorderRadius","mobileWindow","centerContainer","mobileCenterContainer","alignTop","close","padding","parseInt","modalCloseButtonPadding","modalCloseButtonColor","modalCloseButtonClickArea","modalCloseButtonHoverColor","modalCloseIconSize","mobileClose","mobileModalCloseButtonRightPadding","mobileModalCloseButtonTopPadding","mobileModalHeaderPadding","mobileModalCloseButtonClickArea","mobileModalCloseIconSize","mobileCloseWithoutHeader","closeWrapper","paddingBottom","modalCloseButtonBottomPadding","legacyGap","modalCloseWrapperLegacyGap","legacyShift","modalCloseButtonLegacyShift","blockSizeX","blockSizeY","mobileCloseWrapper","size","bgDefault","disabled","modalCloseButtonDisabledColor","focus","borderColorFocus","headerWrapper","header","modalHeaderFontSize","modalHeaderLineHeight","modalHeaderPaddingTop","modalPaddingRight","modalHeaderPaddingBottom","modalPaddingLeft","modalHeaderTextColor","modalHeaderFontWeight","mobileHeader","mobileModalHeaderFontSize","mobileModalHeaderLineHeight","body","modalBodyBorderRadius","modalBodyPaddingBottom","modalBodyTextColor","mobileBody","mobileModalBodyPadding","mobileModalBodyFontSize","headerWithClose","rightPadding","modalCloseLegacyGap","mobileHeaderWithClose","footer","modalFooterPaddingTop","modalFooterPaddingBottom","modalFooterTextColor","mobileFooter","mobileModalFooterPadding","footerWrapper","panel","modalFooterPanelPaddingTop","modalFooterPanelPaddingBottom","modalFooterBg","fixedHeader","modalFixedHeaderMarginBottom","modalFixedHeaderPaddingBottom","modalFixedHeaderBg","modalFixedHeaderBorder","modalFixedHeaderShadow","mobileFixedHeader","fixedFooter","modalFixedFooterPaddingTop","modalFixedFooterMarginTop","modalFixedFooterBorder","modalFixedFooterShadow","fixedPanel","modalFixedPanelShadow","headerAddPadding","modalHeaderAdditionalPaddingBottom","bodyWithoutHeader","modalPaddingTop","mobileBodyWithoutHeader","bodyWithoutPadding","bodyAddPaddingForPanel","modalPaddingBottom","mobileBodyAddPaddingForPanel","columnFlexContainer","modalSeparatorWrapper","modalSeparator","modalSeparatorBorderBottom","modalSeparatorFixed"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n `;\n },\n\n bg(t: Theme) {\n return css`\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n background: ${t.modalBackBg};\n opacity: ${t.modalBackOpacity};\n `;\n },\n\n container() {\n return css`\n position: relative;\n white-space: nowrap;\n text-align: center;\n height: 100%;\n overflow-y: auto;\n outline: none;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 80%; /* to vertical align modal 40%/60% of screen height */\n }\n `;\n },\n\n window(t: Theme) {\n return css`\n position: relative;\n white-space: normal;\n margin: auto;\n box-shadow: ${t.modalWindowShadow};\n background: ${t.modalBg};\n border-radius: ${t.modalBorderRadius};\n `;\n },\n\n mobileWindow() {\n return css`\n width: 100%;\n height: 100%;\n overflow: auto;\n `;\n },\n\n centerContainer() {\n return css`\n position: relative;\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n box-sizing: border-box;\n z-index: 10;\n margin: 40px 20px;\n `;\n },\n\n mobileCenterContainer() {\n return css`\n margin: 0;\n width: 100%;\n height: 100%;\n `;\n },\n\n alignTop() {\n return css`\n vertical-align: top;\n `;\n },\n\n close(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n return css`\n ${resetButton()};\n position: absolute;\n display: flex;\n right: ${padding}px;\n top: ${padding}px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ${t.modalCloseButtonColor};\n text-align: center;\n vertical-align: middle;\n padding: ${t.modalCloseButtonClickArea};\n margin: -${t.modalCloseButtonClickArea};\n\n &:hover {\n color: ${t.modalCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.modalCloseIconSize};\n height: ${t.modalCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n mobileClose(t: Theme) {\n return css`\n right: ${t.mobileModalCloseButtonRightPadding};\n top: ${parseInt(t.mobileModalCloseButtonTopPadding) + parseInt(t.mobileModalHeaderPadding)}px;\n padding: ${t.mobileModalCloseButtonClickArea};\n margin: -${t.mobileModalCloseButtonClickArea};\n\n & > svg {\n width: ${t.mobileModalCloseIconSize};\n height: ${t.mobileModalCloseIconSize};\n }\n `;\n },\n\n mobileCloseWithoutHeader() {\n return css`\n position: static;\n `;\n },\n\n closeWrapper(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n const paddingBottom = parseInt(t.modalCloseButtonBottomPadding);\n const legacyGap = parseInt(t.modalCloseWrapperLegacyGap);\n const legacyShift = parseInt(t.modalCloseButtonLegacyShift);\n const blockSizeX = parseInt(t.modalCloseIconSize) + 2 * padding - legacyShift;\n const blockSizeY = parseInt(t.modalCloseIconSize) + padding + paddingBottom + legacyGap;\n return css`\n position: relative;\n float: right;\n width: ${blockSizeX + legacyGap}px;\n height: ${blockSizeY}px;\n `;\n },\n\n mobileCloseWrapper(t: Theme) {\n const size = parseInt(t.mobileModalCloseIconSize) + parseInt(t.mobileModalCloseButtonClickArea) * 2;\n\n return css`\n position: absolute;\n right: ${t.mobileModalCloseButtonRightPadding};\n top: ${t.mobileModalCloseButtonTopPadding};\n padding: 0px;\n margin: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${size}px;\n height: ${size}px;\n background: radial-gradient(50% 50% at 50% 50%, ${t.bgDefault} 60%, rgba(255, 255, 255, 0) 100%);\n border-radius: ${size}px;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n pointer-events: none;\n cursor: default;\n color: ${t.modalCloseButtonDisabledColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n color: ${t.modalCloseButtonHoverColor};\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n headerWrapper() {\n return css`\n position: relative;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.modalHeaderFontSize};\n line-height: ${t.modalHeaderLineHeight};\n padding: ${t.modalHeaderPaddingTop} ${t.modalPaddingRight} ${t.modalHeaderPaddingBottom} ${t.modalPaddingLeft};\n overflow-wrap: break-word;\n word-wrap: break-word;\n color: ${t.modalHeaderTextColor};\n font-weight: ${t.modalHeaderFontWeight};\n `;\n },\n\n mobileHeader(t: Theme) {\n return css`\n font-size: ${t.mobileModalHeaderFontSize};\n line-height: ${t.mobileModalHeaderLineHeight};\n padding: ${t.mobileModalHeaderPadding};\n `;\n },\n\n body(t: Theme) {\n return css`\n border-radius: ${t.modalBodyBorderRadius};\n padding: 0 ${t.modalPaddingRight} ${t.modalBodyPaddingBottom} ${t.modalPaddingLeft};\n color: ${t.modalBodyTextColor};\n `;\n },\n\n mobileBody(t: Theme) {\n return css`\n padding: ${t.mobileModalBodyPadding};\n padding-top: 0px;\n display: flex;\n flex-flow: column;\n flex: 1;\n font-size: ${t.mobileModalBodyFontSize};\n `;\n },\n\n headerWithClose(t: Theme) {\n const rightPadding =\n 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);\n\n return css`\n padding-right: ${rightPadding}px;\n `;\n },\n\n mobileHeaderWithClose(t: Theme) {\n return css`\n padding-right: ${2 * parseInt(t.mobileModalCloseButtonRightPadding) + parseInt(t.mobileModalCloseIconSize)}px;\n `;\n },\n\n footer(t: Theme) {\n return css`\n padding: ${t.modalFooterPaddingTop} ${t.modalPaddingRight} ${t.modalFooterPaddingBottom} ${t.modalPaddingLeft};\n color: ${t.modalFooterTextColor};\n border-radius: 0 0 ${t.modalBorderRadius} ${t.modalBorderRadius};\n `;\n },\n\n mobileFooter(t: Theme) {\n return css`\n padding: ${t.mobileModalFooterPadding};\n `;\n },\n\n footerWrapper() {\n return css`\n position: relative;\n `;\n },\n\n panel(t: Theme) {\n return css`\n padding-top: ${t.modalFooterPanelPaddingTop};\n padding-bottom: ${t.modalFooterPanelPaddingBottom};\n background: ${t.modalFooterBg};\n `;\n },\n\n fixedHeader(t: Theme) {\n return css`\n margin-bottom: ${t.modalFixedHeaderMarginBottom};\n padding-bottom: ${t.modalFixedHeaderPaddingBottom};\n background: ${t.modalFixedHeaderBg};\n border-bottom: ${t.modalFixedHeaderBorder};\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedHeaderShadow};\n }\n `;\n },\n\n mobileFixedHeader(t: Theme) {\n return css`\n padding-bottom: ${t.mobileModalHeaderPadding};\n `;\n },\n\n fixedFooter(t: Theme) {\n return css`\n padding-top: ${t.modalFixedFooterPaddingTop};\n margin-top: ${t.modalFixedFooterMarginTop};\n background: ${t.modalFixedHeaderBg};\n border-top: ${t.modalFixedFooterBorder};\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedFooterShadow};\n }\n `;\n },\n\n fixedPanel(t: Theme) {\n return css`\n &:before {\n box-shadow: ${t.modalFixedPanelShadow};\n }\n `;\n },\n\n headerAddPadding(t: Theme) {\n return css`\n padding-bottom: ${t.modalHeaderAdditionalPaddingBottom};\n `;\n },\n\n bodyWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.modalPaddingTop};\n `;\n },\n\n mobileBodyWithoutHeader() {\n return css`\n padding-top: 0px;\n `;\n },\n\n bodyWithoutPadding() {\n return css`\n padding: 0;\n `;\n },\n\n bodyAddPaddingForPanel(t: Theme) {\n return css`\n padding-bottom: ${t.modalPaddingBottom};\n `;\n },\n\n mobileBodyAddPaddingForPanel(t: Theme) {\n return css`\n padding-bottom: ${t.mobileModalBodyPadding};\n `;\n },\n\n columnFlexContainer() {\n return css`\n height: 100%;\n display: flex;\n flex-flow: column;\n overflow-y: auto;\n `;\n },\n\n modalSeparatorWrapper() {\n return css`\n position: absolute;\n width: 100%;\n `;\n },\n\n modalSeparator(t: Theme) {\n return css`\n border-bottom: ${t.modalSeparatorBorderBottom};\n margin: 0 32px;\n transition: margin 0.3s;\n `;\n },\n\n modalSeparatorFixed() {\n return css`\n margin: 0 16px;\n `;\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["Modal.styles.ts"],"names":["styles","root","css","bg","t","modalBackBg","modalBackOpacity","container","window","modalWindowShadow","modalBg","modalBorderRadius","mobileWindow","centerContainer","mobileCenterContainer","alignTop","close","padding","parseInt","modalCloseButtonPadding","modalCloseButtonColor","modalCloseButtonClickArea","modalCloseButtonHoverColor","modalCloseIconSize","mobileClose","mobileModalCloseButtonRightPadding","mobileModalCloseButtonTopPadding","mobileModalHeaderPadding","mobileModalCloseButtonClickArea","mobileModalCloseIconSize","mobileCloseWithoutHeader","closeWrapper","paddingBottom","modalCloseButtonBottomPadding","legacyGap","modalCloseWrapperLegacyGap","legacyShift","modalCloseButtonLegacyShift","blockSizeX","blockSizeY","mobileCloseWrapper","size","bgDefault","disabled","modalCloseButtonDisabledColor","focus","borderColorFocus","header","modalHeaderFontSize","modalHeaderLineHeight","modalHeaderPaddingTop","modalPaddingRight","modalHeaderPaddingBottom","modalPaddingLeft","modalHeaderTextColor","modalHeaderFontWeight","mobileHeader","mobileModalHeaderFontSize","mobileModalHeaderLineHeight","body","modalBodyBorderRadius","modalBodyPaddingBottom","modalBodyTextColor","mobileBody","mobileModalBodyPadding","mobileModalBodyFontSize","headerWithClose","rightPadding","modalCloseLegacyGap","mobileHeaderWithClose","footer","modalFooterPaddingTop","modalFooterPaddingBottom","modalFooterTextColor","mobileFooter","mobileModalFooterPadding","panel","modalFooterPanelPaddingTop","modalFooterPanelPaddingBottom","modalFooterBg","fixedHeader","modalFixedHeaderMarginBottom","modalFixedHeaderPaddingBottom","modalFixedHeaderBg","modalFixedHeaderBorder","modalFixedHeaderShadow","mobileFixedHeader","fixedFooter","modalFixedFooterPaddingTop","modalFixedFooterMarginTop","modalFixedFooterBorder","modalFixedFooterShadow","fixedPanel","modalFixedPanelShadow","headerAddPadding","modalHeaderAdditionalPaddingBottom","bodyWithoutHeader","modalPaddingTop","mobileBodyWithoutHeader","bodyWithoutPadding","bodyAddPaddingForPanel","modalPaddingBottom","mobileBodyAddPaddingForPanel","columnFlexContainer","modalSeparatorWrapper","modalSeparator","modalSeparatorBorderBottom","modalSeparatorFixed"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n `;\n },\n\n bg(t: Theme) {\n return css`\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n background: ${t.modalBackBg};\n opacity: ${t.modalBackOpacity};\n `;\n },\n\n container() {\n return css`\n position: relative;\n white-space: nowrap;\n text-align: center;\n height: 100%;\n overflow-y: auto;\n outline: none;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 80%; /* to vertical align modal 40%/60% of screen height */\n }\n `;\n },\n\n window(t: Theme) {\n return css`\n position: relative;\n white-space: normal;\n margin: auto;\n box-shadow: ${t.modalWindowShadow};\n background: ${t.modalBg};\n border-radius: ${t.modalBorderRadius};\n `;\n },\n\n mobileWindow() {\n return css`\n width: 100%;\n height: 100%;\n overflow: auto;\n `;\n },\n\n centerContainer() {\n return css`\n position: relative;\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n box-sizing: border-box;\n z-index: 10;\n margin: 40px 20px;\n `;\n },\n\n mobileCenterContainer() {\n return css`\n margin: 0;\n width: 100%;\n height: 100%;\n `;\n },\n\n alignTop() {\n return css`\n vertical-align: top;\n `;\n },\n\n close(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n return css`\n ${resetButton()};\n position: absolute;\n display: flex;\n right: ${padding}px;\n top: ${padding}px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ${t.modalCloseButtonColor};\n text-align: center;\n vertical-align: middle;\n padding: ${t.modalCloseButtonClickArea};\n margin: -${t.modalCloseButtonClickArea};\n\n &:hover {\n color: ${t.modalCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.modalCloseIconSize};\n height: ${t.modalCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n mobileClose(t: Theme) {\n return css`\n right: ${t.mobileModalCloseButtonRightPadding};\n top: ${parseInt(t.mobileModalCloseButtonTopPadding) + parseInt(t.mobileModalHeaderPadding)}px;\n padding: ${t.mobileModalCloseButtonClickArea};\n margin: -${t.mobileModalCloseButtonClickArea};\n\n & > svg {\n width: ${t.mobileModalCloseIconSize};\n height: ${t.mobileModalCloseIconSize};\n }\n `;\n },\n\n mobileCloseWithoutHeader() {\n return css`\n position: static;\n `;\n },\n\n closeWrapper(t: Theme) {\n const padding = parseInt(t.modalCloseButtonPadding);\n const paddingBottom = parseInt(t.modalCloseButtonBottomPadding);\n const legacyGap = parseInt(t.modalCloseWrapperLegacyGap);\n const legacyShift = parseInt(t.modalCloseButtonLegacyShift);\n const blockSizeX = parseInt(t.modalCloseIconSize) + 2 * padding - legacyShift;\n const blockSizeY = parseInt(t.modalCloseIconSize) + padding + paddingBottom + legacyGap;\n return css`\n position: relative;\n float: right;\n width: ${blockSizeX + legacyGap}px;\n height: ${blockSizeY}px;\n `;\n },\n\n mobileCloseWrapper(t: Theme) {\n const size = parseInt(t.mobileModalCloseIconSize) + parseInt(t.mobileModalCloseButtonClickArea) * 2;\n\n return css`\n position: absolute;\n right: ${t.mobileModalCloseButtonRightPadding};\n top: ${t.mobileModalCloseButtonTopPadding};\n padding: 0px;\n margin: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${size}px;\n height: ${size}px;\n background: radial-gradient(50% 50% at 50% 50%, ${t.bgDefault} 60%, rgba(255, 255, 255, 0) 100%);\n border-radius: ${size}px;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n pointer-events: none;\n cursor: default;\n color: ${t.modalCloseButtonDisabledColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n color: ${t.modalCloseButtonHoverColor};\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.modalHeaderFontSize};\n line-height: ${t.modalHeaderLineHeight};\n padding: ${t.modalHeaderPaddingTop} ${t.modalPaddingRight} ${t.modalHeaderPaddingBottom} ${t.modalPaddingLeft};\n overflow-wrap: break-word;\n word-wrap: break-word;\n color: ${t.modalHeaderTextColor};\n font-weight: ${t.modalHeaderFontWeight};\n `;\n },\n\n mobileHeader(t: Theme) {\n return css`\n position: relative;\n font-size: ${t.mobileModalHeaderFontSize};\n line-height: ${t.mobileModalHeaderLineHeight};\n padding: ${t.mobileModalHeaderPadding};\n `;\n },\n\n body(t: Theme) {\n return css`\n border-radius: ${t.modalBodyBorderRadius};\n padding: 0 ${t.modalPaddingRight} ${t.modalBodyPaddingBottom} ${t.modalPaddingLeft};\n color: ${t.modalBodyTextColor};\n `;\n },\n\n mobileBody(t: Theme) {\n return css`\n padding: ${t.mobileModalBodyPadding};\n padding-top: 0px;\n display: flex;\n flex-flow: column;\n flex: 1;\n font-size: ${t.mobileModalBodyFontSize};\n `;\n },\n\n headerWithClose(t: Theme) {\n const rightPadding =\n 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);\n\n return css`\n padding-right: ${rightPadding}px;\n `;\n },\n\n mobileHeaderWithClose(t: Theme) {\n return css`\n padding-right: ${2 * parseInt(t.mobileModalCloseButtonRightPadding) + parseInt(t.mobileModalCloseIconSize)}px;\n `;\n },\n\n footer(t: Theme) {\n return css`\n padding: ${t.modalFooterPaddingTop} ${t.modalPaddingRight} ${t.modalFooterPaddingBottom} ${t.modalPaddingLeft};\n color: ${t.modalFooterTextColor};\n border-radius: 0 0 ${t.modalBorderRadius} ${t.modalBorderRadius};\n `;\n },\n\n mobileFooter(t: Theme) {\n return css`\n padding: ${t.mobileModalFooterPadding};\n `;\n },\n\n panel(t: Theme) {\n return css`\n padding-top: ${t.modalFooterPanelPaddingTop};\n padding-bottom: ${t.modalFooterPanelPaddingBottom};\n background: ${t.modalFooterBg};\n `;\n },\n\n fixedHeader(t: Theme) {\n return css`\n margin-bottom: ${t.modalFixedHeaderMarginBottom};\n padding-bottom: ${t.modalFixedHeaderPaddingBottom};\n background: ${t.modalFixedHeaderBg};\n border-bottom: ${t.modalFixedHeaderBorder};\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedHeaderShadow};\n }\n `;\n },\n\n mobileFixedHeader(t: Theme) {\n return css`\n padding-bottom: ${t.mobileModalHeaderPadding};\n `;\n },\n\n fixedFooter(t: Theme) {\n return css`\n padding-top: ${t.modalFixedFooterPaddingTop};\n margin-top: ${t.modalFixedFooterMarginTop};\n background: ${t.modalFixedHeaderBg};\n border-top: ${t.modalFixedFooterBorder};\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.modalFixedFooterShadow};\n }\n `;\n },\n\n fixedPanel(t: Theme) {\n return css`\n &:before {\n box-shadow: ${t.modalFixedPanelShadow};\n }\n `;\n },\n\n headerAddPadding(t: Theme) {\n return css`\n padding-bottom: ${t.modalHeaderAdditionalPaddingBottom};\n `;\n },\n\n bodyWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.modalPaddingTop};\n `;\n },\n\n mobileBodyWithoutHeader() {\n return css`\n padding-top: 0px;\n `;\n },\n\n bodyWithoutPadding() {\n return css`\n padding: 0;\n `;\n },\n\n bodyAddPaddingForPanel(t: Theme) {\n return css`\n padding-bottom: ${t.modalPaddingBottom};\n `;\n },\n\n mobileBodyAddPaddingForPanel(t: Theme) {\n return css`\n padding-bottom: ${t.mobileModalBodyPadding};\n `;\n },\n\n columnFlexContainer() {\n return css`\n height: 100%;\n display: flex;\n flex-flow: column;\n overflow-y: auto;\n `;\n },\n\n modalSeparatorWrapper() {\n return css`\n position: absolute;\n width: 100%;\n `;\n },\n\n modalSeparator(t: Theme) {\n return css`\n border-bottom: ${t.modalSeparatorBorderBottom};\n margin: 0 32px;\n transition: margin 0.3s;\n `;\n },\n\n modalSeparatorFixed() {\n return css`\n margin: 0 16px;\n `;\n },\n});\n"]}
|
|
@@ -58,8 +58,6 @@ ModalBody = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_c
|
|
|
58
58
|
function (_ref) {var _cx;var additionalPadding = _ref.additionalPadding,hasHeader = _ref.hasHeader;return /*#__PURE__*/(
|
|
59
59
|
_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this3.setRootNode }, _this3.props), /*#__PURE__*/
|
|
60
60
|
_react.default.createElement(_ZIndex.ZIndex, {
|
|
61
|
-
priority: 'ModalBody',
|
|
62
|
-
createStackingContext: true,
|
|
63
61
|
className: (0, _Emotion.cx)((_cx = {}, _cx[
|
|
64
62
|
_Modal.styles.body(_this3.theme)] = true, _cx[
|
|
65
63
|
_Modal.styles.mobileBody(_this3.theme)] = _this3.isMobileLayout, _cx[
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ModalBody.tsx"],"names":["ModalBody","responsiveLayout","rootNode","handleResize","LayoutEvents","emit","render","theme","renderMain","noPadding","props","additionalPadding","hasHeader","setRootNode","styles","body","mobileBody","isMobileLayout","bodyWithoutHeader","mobileBodyWithoutHeader","bodyAddPaddingForPanel","mobileBodyAddPaddingForPanel","bodyWithoutPadding","children","React","Component","__KONTUR_REACT_UI__","__MODAL_BODY__"],"mappings":"uUAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wD;;;;;;;;;AASA;AACA;AACA;AACA;AACA,G;;;AAGaA,S,OAFZC,2B,eACAC,kB;;;;;;;;;;;;;;;;;;;AAoBSC,IAAAA,Y,GAAe,YAAM;AAC3BC,MAAAA,YAAY,CAACC,IAAb;AACD,K,uDAbMC,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAa,0CAAkBA,KAAlB,CAAb,CACA,oBAAO,6BAAC,0BAAD,CAAc,QAAd,IAAuB,KAAK,EAAE,MAAI,CAACA,KAAnC,IAA2C,MAAI,CAACC,UAAL,EAA3C,CAAP,CACD,CAJH,CADF,CAQD,C;;AAMMA,EAAAA,U,GAAP,sBAAiC;AAC/B,QAAQC,SAAR,GAAsB,KAAKC,KAA3B,CAAQD,SAAR;AACA;AACE,mCAAC,0BAAD,CAAc,QAAd;AACG,mCAAGE,iBAAH,QAAGA,iBAAH,CAAsBC,SAAtB,QAAsBA,SAAtB;AACC,uCAAC,4BAAD,2BAAe,WAAW,EAAE,MAAI,CAACC,WAAjC,IAAkD,MAAI,CAACH,KAAvD;AACE,uCAAC,cAAD;AACE,YAAA,
|
|
1
|
+
{"version":3,"sources":["ModalBody.tsx"],"names":["ModalBody","responsiveLayout","rootNode","handleResize","LayoutEvents","emit","render","theme","renderMain","noPadding","props","additionalPadding","hasHeader","setRootNode","styles","body","mobileBody","isMobileLayout","bodyWithoutHeader","mobileBodyWithoutHeader","bodyAddPaddingForPanel","mobileBodyAddPaddingForPanel","bodyWithoutPadding","children","React","Component","__KONTUR_REACT_UI__","__MODAL_BODY__"],"mappings":"uUAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wD;;;;;;;;;AASA;AACA;AACA;AACA;AACA,G;;;AAGaA,S,OAFZC,2B,eACAC,kB;;;;;;;;;;;;;;;;;;;AAoBSC,IAAAA,Y,GAAe,YAAM;AAC3BC,MAAAA,YAAY,CAACC,IAAb;AACD,K,uDAbMC,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAa,0CAAkBA,KAAlB,CAAb,CACA,oBAAO,6BAAC,0BAAD,CAAc,QAAd,IAAuB,KAAK,EAAE,MAAI,CAACA,KAAnC,IAA2C,MAAI,CAACC,UAAL,EAA3C,CAAP,CACD,CAJH,CADF,CAQD,C;;AAMMA,EAAAA,U,GAAP,sBAAiC;AAC/B,QAAQC,SAAR,GAAsB,KAAKC,KAA3B,CAAQD,SAAR;AACA;AACE,mCAAC,0BAAD,CAAc,QAAd;AACG,mCAAGE,iBAAH,QAAGA,iBAAH,CAAsBC,SAAtB,QAAsBA,SAAtB;AACC,uCAAC,4BAAD,2BAAe,WAAW,EAAE,MAAI,CAACC,WAAjC,IAAkD,MAAI,CAACH,KAAvD;AACE,uCAAC,cAAD;AACE,YAAA,SAAS,EAAE;AACRI,0BAAOC,IAAP,CAAY,MAAI,CAACR,KAAjB,CADQ,IACkB,IADlB;AAERO,0BAAOE,UAAP,CAAkB,MAAI,CAACT,KAAvB,CAFQ,IAEwB,MAAI,CAACU,cAF7B;AAGRH,0BAAOI,iBAAP,CAAyB,MAAI,CAACX,KAA9B,CAHQ,IAG+B,CAACK,SAHhC;AAIRE,0BAAOK,uBAAP,EAJQ,IAI2B,CAACP,SAAD,IAAc,MAAI,CAACK,cAJ9C;AAKRH,0BAAOM,sBAAP,CAA8B,MAAI,CAACb,KAAnC,CALQ,IAKoCI,iBALpC;AAMRG,0BAAOO,4BAAP,CAAoC,MAAI,CAACd,KAAzC,CANQ,IAM0CI,iBAAiB,IAAI,MAAI,CAACM,cANpE;AAORH,0BAAOQ,kBAAP,EAPQ,IAOsBb,SAPtB,OADb;;;AAWG,UAAA,MAAI,CAACQ,cAAL;AACC,uCAAC,8BAAD,IAAgB,QAAQ,EAAE,MAAI,CAACd,YAA/B,IAA8C,MAAI,CAACO,KAAL,CAAWa,QAAzD,CADD;;AAGC,UAAA,MAAI,CAACb,KAAL,CAAWa,QAdf,CADF,CADD,GADH,CADF;;;;;;;AAyBD,G,oBAlD4BC,eAAMC,S,WACrBC,mB,GAAsB,W,UACtBC,c,GAAiB,I","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { ModalContext } from './ModalContext';\nimport { styles } from './Modal.styles';\nimport { getModalBodyTheme } from './getModalBodyTheme';\n\nexport interface ModalBodyProps extends CommonProps {\n /**\n * убирает отступы\n */\n noPadding?: boolean;\n}\n\n/**\n * Контейнер с отступами от края модалки\n *\n * @visibleName Modal.Body\n */\n@responsiveLayout\n@rootNode\nexport class ModalBody extends React.Component<ModalBodyProps> {\n public static __KONTUR_REACT_UI__ = 'ModalBody';\n public static __MODAL_BODY__ = true;\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getModalBodyTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private handleResize = () => {\n LayoutEvents.emit();\n };\n\n public renderMain(): JSX.Element {\n const { noPadding } = this.props;\n return (\n <ModalContext.Consumer>\n {({ additionalPadding, hasHeader }) => (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <ZIndex\n className={cx({\n [styles.body(this.theme)]: true,\n [styles.mobileBody(this.theme)]: this.isMobileLayout,\n [styles.bodyWithoutHeader(this.theme)]: !hasHeader,\n [styles.mobileBodyWithoutHeader()]: !hasHeader && this.isMobileLayout,\n [styles.bodyAddPaddingForPanel(this.theme)]: additionalPadding,\n [styles.mobileBodyAddPaddingForPanel(this.theme)]: additionalPadding && this.isMobileLayout,\n [styles.bodyWithoutPadding()]: noPadding,\n })}\n >\n {this.isMobileLayout ? (\n <ResizeDetector onResize={this.handleResize}>{this.props.children}</ResizeDetector>\n ) : (\n this.props.children\n )}\n </ZIndex>\n </CommonWrapper>\n )}\n </ModalContext.Consumer>\n );\n }\n}\n"]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var _getScrollWidth = require("../../lib/dom/getScrollWidth");
|
|
4
4
|
var _Sticky = require("../Sticky");
|
|
5
5
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
6
|
-
var _ZIndex = require("../../internal/ZIndex");
|
|
7
6
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
8
7
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
9
8
|
var _ResponsiveLayout = require("../ResponsiveLayout");
|
|
@@ -64,7 +63,7 @@ function ModalFooter(props) {
|
|
|
64
63
|
|
|
65
64
|
var renderContent = function renderContent(fixed) {if (fixed === void 0) {fixed = false;}
|
|
66
65
|
return /*#__PURE__*/(
|
|
67
|
-
_react.default.createElement(
|
|
66
|
+
_react.default.createElement("div", null,
|
|
68
67
|
(panel || fixed) && /*#__PURE__*/_react.default.createElement(_ModalSeparator.ModalSeparator, { fixed: fixed }), /*#__PURE__*/
|
|
69
68
|
_react.default.createElement("div", {
|
|
70
69
|
"data-tid": ModalFooterDataTids.root,
|
|
@@ -89,15 +88,13 @@ function ModalFooter(props) {
|
|
|
89
88
|
};
|
|
90
89
|
|
|
91
90
|
return /*#__PURE__*/(
|
|
92
|
-
_react.default.createElement(_CommonWrapper.CommonWrapper, props,
|
|
93
|
-
_react.default.createElement(_ZIndex.ZIndex, { priority: 'ModalFooter', className: _Modal.styles.footerWrapper() },
|
|
91
|
+
_react.default.createElement(_CommonWrapper.CommonWrapper, props,
|
|
94
92
|
sticky ? /*#__PURE__*/
|
|
95
93
|
_react.default.createElement(_Sticky.Sticky, { side: "bottom", offset: modal.horizontalScroll ? (0, _getScrollWidth.getScrollWidth)() : 0 },
|
|
96
94
|
renderContent) :
|
|
97
95
|
|
|
98
96
|
|
|
99
|
-
renderContent()))
|
|
100
|
-
|
|
97
|
+
renderContent()));
|
|
101
98
|
|
|
102
99
|
|
|
103
100
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ModalFooter.tsx"],"names":["ModalFooterDataTids","root","ModalFooter","props","theme","ThemeContext","modal","ModalContext","layout","sticky","isMobile","gap","panel","children","setHasFooter","setHasPanel","renderContent","fixed","styles","footer","fixedFooter","Boolean","fixedPanel","mobileFooter","
|
|
1
|
+
{"version":3,"sources":["ModalFooter.tsx"],"names":["ModalFooterDataTids","root","ModalFooter","props","theme","ThemeContext","modal","ModalContext","layout","sticky","isMobile","gap","panel","children","setHasFooter","setHasPanel","renderContent","fixed","styles","footer","fixedFooter","Boolean","fixedPanel","mobileFooter","horizontalScroll","__KONTUR_REACT_UI__","__MODAL_FOOTER__"],"mappings":"8GAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kD;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B;;;AAIP;AACA;AACA;AACA;AACA,G;AACA,SAASC,WAAT,CAAqBC,KAArB,EAA8C;AAC5C,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,MAAM,GAAG,4CAAf;;AAEA,sBAA4DL,KAA5D,CAAQM,MAAR,CAAQA,MAAR,8BAAiB,CAACD,MAAM,CAACE,QAAzB,iBAAmCC,GAAnC,GAA4DR,KAA5D,CAAmCQ,GAAnC,CAAwCC,KAAxC,GAA4DT,KAA5D,CAAwCS,KAAxC,CAA+CC,QAA/C,GAA4DV,KAA5D,CAA+CU,QAA/C;;AAEA,8BAAgB,YAAM;AACpBP,IAAAA,KAAK,CAACQ,YAAN,oBAAAR,KAAK,CAACQ,YAAN;AACAR,IAAAA,KAAK,CAACS,WAAN,oBAAAT,KAAK,CAACS,WAAN,CAAoBH,KAApB;;AAEA,WAAO,YAAM;AACXN,MAAAA,KAAK,CAACQ,YAAN,oBAAAR,KAAK,CAACQ,YAAN,CAAqB,KAArB;AACAR,MAAAA,KAAK,CAACS,WAAN,oBAAAT,KAAK,CAACS,WAAN,CAAoB,KAApB;AACD,KAHD;AAID,GARD,EAQG,CAACH,KAAD,CARH;;AAUA,MAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAmB,KAAlBA,KAAkB,cAAlBA,KAAkB,GAAV,KAAU;AACvC;AACE;AACG,OAACL,KAAK,IAAIK,KAAV,kBAAoB,6BAAC,8BAAD,IAAgB,KAAK,EAAEA,KAAvB,GADvB;AAEE;AACE,oBAAUjB,mBAAmB,CAACC,IADhC;AAEE,QAAA,SAAS,EAAE;AACTiB,sBAAOC,MAAP,CAAcf,KAAd,CADS;AAETa,QAAAA,KAAK,IAAIC,cAAOE,WAAP,CAAmBhB,KAAnB,CAFA;AAGTiB,QAAAA,OAAO,CAACT,KAAD,CAAP,IAAkBM,cAAON,KAAP,CAAaR,KAAb,CAHT;AAITa,QAAAA,KAAK,IAAII,OAAO,CAACT,KAAD,CAAhB,IAA2BM,cAAOI,UAAP,CAAkBlB,KAAlB,CAJlB;AAKTI,QAAAA,MAAM,CAACE,QAAP,IAAmBQ,cAAOK,YAAP,CAAoBnB,KAApB,CALV,CAFb;;;AAUG,gCAAcO,GAAd;AACC,mCAAC,cAAD,IAAQ,QAAQ,EAAEH,MAAM,CAACE,QAAzB,EAAmC,GAAG,EAAEC,GAAxC;AACGE,MAAAA,QADH,CADD;;;AAKCA,MAAAA,QAfJ,CAFF,CADF;;;;;AAuBD,GAxBD;;AA0BA;AACE,iCAAC,4BAAD,EAAmBV,KAAnB;AACGM,IAAAA,MAAM;AACL,iCAAC,cAAD,IAAQ,IAAI,EAAC,QAAb,EAAsB,MAAM,EAAEH,KAAK,CAACkB,gBAAN,GAAyB,qCAAzB,GAA4C,CAA1E;AACGR,IAAAA,aADH,CADK;;;AAKLA,IAAAA,aAAa,EANjB,CADF;;;;AAWD;;AAEDd,WAAW,CAACuB,mBAAZ,GAAkC,aAAlC;AACAvB,WAAW,CAACwB,gBAAZ,GAA+B,IAA/B","sourcesContent":["import React, { ReactNode, useContext, useLayoutEffect } from 'react';\n\nimport { getScrollWidth } from '../../lib/dom/getScrollWidth';\nimport { Sticky } from '../Sticky';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { Gapped, GappedProps } from '../Gapped';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { styles } from './Modal.styles';\nimport { ModalContext } from './ModalContext';\nimport { ModalSeparator } from './ModalSeparator';\n\nexport interface ModalFooterProps extends CommonProps {\n /**\n * Включает серый цвет в футере\n */\n panel?: boolean;\n /**\n * Закрепляет футер снизу модального окна\n *\n * На десктопе по умолчанию равен `true`\n * На мобильных по умолчанию равен `false`\n */\n sticky?: boolean;\n /**\n * Контент футера\n */\n children?: ReactNode;\n /**\n * Задаёт отступ между элементами футера\n */\n gap?: GappedProps['gap'];\n}\n\nexport const ModalFooterDataTids = {\n root: 'ModalFooter__root',\n} as const;\n\n/**\n * Футер модального окна.\n *\n * @visibleName Modal.Footer\n */\nfunction ModalFooter(props: ModalFooterProps) {\n const theme = useContext(ThemeContext);\n const modal = useContext(ModalContext);\n const layout = useResponsiveLayout();\n\n const { sticky = !layout.isMobile, gap, panel, children } = props;\n\n useLayoutEffect(() => {\n modal.setHasFooter?.();\n modal.setHasPanel?.(panel);\n\n return () => {\n modal.setHasFooter?.(false);\n modal.setHasPanel?.(false);\n };\n }, [panel]);\n\n const renderContent = (fixed = false) => {\n return (\n <div>\n {(panel || fixed) && <ModalSeparator fixed={fixed} />}\n <div\n data-tid={ModalFooterDataTids.root}\n className={cx(\n styles.footer(theme),\n fixed && styles.fixedFooter(theme),\n Boolean(panel) && styles.panel(theme),\n fixed && Boolean(panel) && styles.fixedPanel(theme),\n layout.isMobile && styles.mobileFooter(theme),\n )}\n >\n {isNonNullable(gap) ? (\n <Gapped vertical={layout.isMobile} gap={gap}>\n {children}\n </Gapped>\n ) : (\n children\n )}\n </div>\n </div>\n );\n };\n\n return (\n <CommonWrapper {...props}>\n {sticky ? (\n <Sticky side=\"bottom\" offset={modal.horizontalScroll ? getScrollWidth() : 0}>\n {renderContent}\n </Sticky>\n ) : (\n renderContent()\n )}\n </CommonWrapper>\n );\n}\n\nModalFooter.__KONTUR_REACT_UI__ = 'ModalFooter';\nModalFooter.__MODAL_FOOTER__ = true;\n\nexport { ModalFooter };\n"]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _Sticky = require("../Sticky");
|
|
4
4
|
var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
5
|
-
var _ZIndex = require("../../internal/ZIndex");
|
|
6
5
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
7
6
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
8
7
|
var _ResponsiveLayout = require("../ResponsiveLayout");
|
|
@@ -41,7 +40,7 @@ function ModalHeader(props) {
|
|
|
41
40
|
|
|
42
41
|
var renderContent = function renderContent(fixed) {if (fixed === void 0) {fixed = false;}
|
|
43
42
|
return /*#__PURE__*/(
|
|
44
|
-
_react.default.createElement(
|
|
43
|
+
_react.default.createElement("div", null, /*#__PURE__*/
|
|
45
44
|
_react.default.createElement("div", {
|
|
46
45
|
"data-tid": ModalHeaderDataTids.root,
|
|
47
46
|
className: (0, _Emotion.cx)(
|
|
@@ -65,11 +64,7 @@ function ModalHeader(props) {
|
|
|
65
64
|
};
|
|
66
65
|
|
|
67
66
|
return /*#__PURE__*/(
|
|
68
|
-
_react.default.createElement(_CommonWrapper.CommonWrapper, props, /*#__PURE__*/
|
|
69
|
-
_react.default.createElement(_ZIndex.ZIndex, { priority: 'ModalHeader', className: _Modal.styles.headerWrapper() },
|
|
70
|
-
sticky ? /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { side: "top" }, renderContent) : renderContent())));
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
_react.default.createElement(_CommonWrapper.CommonWrapper, props, sticky ? /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { side: "top" }, renderContent) : renderContent()));
|
|
73
68
|
|
|
74
69
|
}
|
|
75
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ModalHeader.tsx"],"names":["ModalHeaderDataTids","root","ModalHeader","props","theme","ThemeContext","modal","ModalContext","layout","sticky","isMobile","children","setHasHeader","renderContent","fixed","styles","header","mobileHeader","Boolean","additionalPadding","headerAddPadding","fixedHeader","mobileFixedHeader","close","headerWithClose","mobileHeaderWithClose","requestClose","disableClose","
|
|
1
|
+
{"version":3,"sources":["ModalHeader.tsx"],"names":["ModalHeaderDataTids","root","ModalHeader","props","theme","ThemeContext","modal","ModalContext","layout","sticky","isMobile","children","setHasHeader","renderContent","fixed","styles","header","mobileHeader","Boolean","additionalPadding","headerAddPadding","fixedHeader","mobileFixedHeader","close","headerWithClose","mobileHeaderWithClose","requestClose","disableClose","__KONTUR_REACT_UI__","__MODAL_HEADER__"],"mappings":"8GAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kD;;;;;;;AAOO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B;;;AAIP;AACA;AACA;AACA;AACA,G;AACA,SAASC,WAAT,CAAqBC,KAArB,EAA8C;AAC5C,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,MAAM,GAAG,4CAAf;;AAEA,sBAAgDL,KAAhD,CAAQM,MAAR,CAAQA,MAAR,8BAAiB,CAACD,MAAM,CAACE,QAAzB,iBAAmCC,QAAnC,GAAgDR,KAAhD,CAAmCQ,QAAnC;;AAEA,8BAAgB,YAAM;AACpBL,IAAAA,KAAK,CAACM,YAAN,oBAAAN,KAAK,CAACM,YAAN;;AAEA,WAAO,oBAAMN,KAAK,CAACM,YAAZ,oBAAMN,KAAK,CAACM,YAAN,CAAqB,KAArB,CAAN,EAAP;AACD,GAJD,EAIG,EAJH;;AAMA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAmB,KAAlBA,KAAkB,cAAlBA,KAAkB,GAAV,KAAU;AACvC;AACE;AACE;AACE,oBAAUd,mBAAmB,CAACC,IADhC;AAEE,QAAA,SAAS,EAAE;AACTc,sBAAOC,MAAP,CAAcZ,KAAd,CADS;AAETI,QAAAA,MAAM,CAACE,QAAP,IAAmBK,cAAOE,YAAP,CAAoBb,KAApB,CAFV;AAGTc,QAAAA,OAAO,CAACZ,KAAK,CAACa,iBAAP,CAAP,IAAoCJ,cAAOK,gBAAP,CAAwBhB,KAAxB,CAH3B;AAITU,QAAAA,KAAK,IAAIC,cAAOM,WAAP,CAAmBjB,KAAnB,CAJA;AAKTU,QAAAA,KAAK,IAAIN,MAAM,CAACE,QAAhB,IAA4BK,cAAOO,iBAAP,CAAyBlB,KAAzB,CALnB;AAMTc,QAAAA,OAAO,CAACZ,KAAK,CAACiB,KAAP,CAAP,IAAwBR,cAAOS,eAAP,CAAuBpB,KAAvB,CANf;AAOTI,QAAAA,MAAM,CAACE,QAAP,IAAmBK,cAAOU,qBAAP,CAA6BrB,KAA7B,CAPV,CAFb;;;AAYGE,MAAAA,KAAK,CAACiB,KAAN;AACC,mCAAC,sBAAD,IAAY,YAAY,EAAEjB,KAAK,CAACiB,KAAN,CAAYG,YAAtC,EAAoD,YAAY,EAAEpB,KAAK,CAACiB,KAAN,CAAYI,YAA9E,GAbJ;;AAeGhB,MAAAA,QAfH,CADF;;AAkBGG,MAAAA,KAAK,iBAAI,6BAAC,8BAAD,IAAgB,KAAK,EAAEA,KAAvB,GAlBZ,CADF;;;AAsBD,GAvBD;;AAyBA;AACE,iCAAC,4BAAD,EAAmBX,KAAnB,EAA2BM,MAAM,gBAAG,6BAAC,cAAD,IAAQ,IAAI,EAAC,KAAb,IAAoBI,aAApB,CAAH,GAAiDA,aAAa,EAA/F,CADF;;AAGD;;AAEDX,WAAW,CAAC0B,mBAAZ,GAAkC,aAAlC;AACA1B,WAAW,CAAC2B,gBAAZ,GAA+B,IAA/B","sourcesContent":["import React, { ReactNode, useContext, useLayoutEffect } from 'react';\n\nimport { Sticky } from '../Sticky';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\n\nimport { styles } from './Modal.styles';\nimport { ModalClose } from './ModalClose';\nimport { ModalContext } from './ModalContext';\nimport { ModalSeparator } from './ModalSeparator';\n\nexport interface ModalHeaderProps extends CommonProps {\n sticky?: boolean;\n children?: ReactNode;\n}\n\nexport const ModalHeaderDataTids = {\n root: 'ModalHeader__root',\n} as const;\n\n/**\n * Шапка модального окна\n *\n * @visibleName Modal.Header\n */\nfunction ModalHeader(props: ModalHeaderProps) {\n const theme = useContext(ThemeContext);\n const modal = useContext(ModalContext);\n const layout = useResponsiveLayout();\n\n const { sticky = !layout.isMobile, children } = props;\n\n useLayoutEffect(() => {\n modal.setHasHeader?.();\n\n return () => modal.setHasHeader?.(false);\n }, []);\n\n const renderContent = (fixed = false) => {\n return (\n <div>\n <div\n data-tid={ModalHeaderDataTids.root}\n className={cx(\n styles.header(theme),\n layout.isMobile && styles.mobileHeader(theme),\n Boolean(modal.additionalPadding) && styles.headerAddPadding(theme),\n fixed && styles.fixedHeader(theme),\n fixed && layout.isMobile && styles.mobileFixedHeader(theme),\n Boolean(modal.close) && styles.headerWithClose(theme),\n layout.isMobile && styles.mobileHeaderWithClose(theme),\n )}\n >\n {modal.close && (\n <ModalClose requestClose={modal.close.requestClose} disableClose={modal.close.disableClose} />\n )}\n {children}\n </div>\n {fixed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n return (\n <CommonWrapper {...props}>{sticky ? <Sticky side=\"top\">{renderContent}</Sticky> : renderContent()}</CommonWrapper>\n );\n}\n\nModalHeader.__KONTUR_REACT_UI__ = 'ModalHeader';\nModalHeader.__MODAL_HEADER__ = true;\n\nexport { ModalHeader };\n"]}
|
|
@@ -191,16 +191,14 @@ PasswordInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
|
|
|
191
191
|
capsLockEnabled && /*#__PURE__*/
|
|
192
192
|
_react.default.createElement("span", { className: _PasswordInput.styles.capsLockDetector(), "data-tid": PasswordInputDataTids.capsLockDetector }), /*#__PURE__*/
|
|
193
193
|
|
|
194
|
-
_react.default.createElement("span", {
|
|
195
|
-
"data-tid": PasswordInputDataTids.eyeIcon,
|
|
196
|
-
className: (0, _Emotion.cx)(_PasswordInput.styles.toggleVisibility(_this.theme), _this.getEyeWrapperClassname()),
|
|
197
|
-
onClick: _this.handleToggleVisibility },
|
|
198
|
-
|
|
194
|
+
_react.default.createElement("span", { className: (0, _Emotion.cx)(_PasswordInput.styles.toggleVisibility(_this.theme), _this.getEyeWrapperClassname()) },
|
|
199
195
|
!_this.props.disabled && /*#__PURE__*/
|
|
196
|
+
_react.default.createElement("span", { onClick: _this.handleToggleVisibility, "data-tid": PasswordInputDataTids.eyeIcon }, /*#__PURE__*/
|
|
200
197
|
_react.default.createElement(_PasswordInputIcon.PasswordInputIcon, {
|
|
201
198
|
size: _this.props.size,
|
|
202
199
|
visible: _this.state.visible,
|
|
203
|
-
isTheme2022: (0, _ThemeHelpers.isTheme2022)(_this.theme) }))));
|
|
200
|
+
isTheme2022: (0, _ThemeHelpers.isTheme2022)(_this.theme) })))));
|
|
201
|
+
|
|
204
202
|
|
|
205
203
|
|
|
206
204
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PasswordInput.tsx"],"names":["PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","rootNode","getProps","defaultProps","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","Codes","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","styles","iconWrapper","toggleVisibility","theme","getEyeWrapperClassname","disabled","size","refInput","element","hideSymbols","renderMain","rest","inputProps","rightIcon","componentDidMount","isIE11","window","document","msCapsLockWarningOff","getDerivedStateFromProps","render","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\n\nexport interface PasswordInputProps extends CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n window.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span\n data-tid={PasswordInputDataTids.eyeIcon}\n className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}\n onClick={this.handleToggleVisibility}\n >\n {!this.props.disabled && (\n <PasswordInputIcon\n size={this.props.size}\n visible={this.state.visible}\n isTheme2022={isTheme2022(this.theme)}\n />\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["PasswordInput.tsx"],"names":["PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","rootNode","getProps","defaultProps","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","Codes","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","styles","iconWrapper","toggleVisibility","theme","getEyeWrapperClassname","disabled","size","refInput","element","hideSymbols","renderMain","rest","inputProps","rightIcon","componentDidMount","isIE11","window","document","msCapsLockWarningOff","getDerivedStateFromProps","render","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","React","PureComponent","__KONTUR_REACT_UI__","propTypes","PropTypes","bool"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\n\nexport interface PasswordInputProps extends CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n window.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <span onClick={this.handleToggleVisibility} data-tid={PasswordInputDataTids.eyeIcon}>\n <PasswordInputIcon\n size={this.props.size}\n visible={this.state.visible}\n isTheme2022={isTheme2022(this.theme)}\n />\n </span>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
|
|
@@ -129,6 +129,9 @@ ScrollContainer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE_
|
|
|
129
129
|
|
|
130
130
|
|
|
131
131
|
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
132
135
|
|
|
133
136
|
|
|
134
137
|
|
|
@@ -337,7 +340,12 @@ ScrollContainer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE_
|
|
|
337
340
|
handleMouseLeave = function () {var _this$scrollY3, _this$scrollX3;
|
|
338
341
|
(_this$scrollY3 = _this.scrollY) == null ? void 0 : _this$scrollY3.setHover(false);
|
|
339
342
|
(_this$scrollX3 = _this.scrollX) == null ? void 0 : _this$scrollX3.setHover(false);
|
|
340
|
-
};
|
|
343
|
+
};_this.
|
|
344
|
+
|
|
345
|
+
updateInnerElement = function () {var _this$scrollX4, _this$scrollY4;
|
|
346
|
+
(_this$scrollX4 = _this.scrollX) == null ? void 0 : _this$scrollX4.setInnerElement(_this.inner);
|
|
347
|
+
(_this$scrollY4 = _this.scrollY) == null ? void 0 : _this$scrollY4.setInnerElement(_this.inner);
|
|
348
|
+
};return _this;}var _proto = ScrollContainer.prototype;_proto.componentDidMount = function componentDidMount() {this.updateInnerElement();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var preventWindowScroll = this.getProps().preventWindowScroll;if (this.inner) {if (prevProps.preventWindowScroll && !preventWindowScroll) {this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);}if (!prevProps.preventWindowScroll && preventWindowScroll) {this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });}}if (prevProps.disabled !== this.props.disabled && !this.props.disabled) {this.updateInnerElement();}}; /**
|
|
341
349
|
* @public
|
|
342
350
|
* @param {Element} element
|
|
343
351
|
*/_proto.scrollTo = function scrollTo(element) {if (!element || !this.inner) {return;}this.inner.scrollLeft = element.offsetLeft;this.inner.scrollTop = (0, _ScrollContainer3.getScrollYOffset)(element, this.inner);} /**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ScrollContainer.tsx"],"names":["ScrollContainerDataTids","root","inner","ScrollContainer","rootNode","getProps","defaultProps","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","setRootNode","styles","handleMouseMove","handleMouseLeave","refInner","globalClasses","isIE11","innerIE11","handleNativeScroll","axis","refScrollBar","refScrollBarX","refScrollBarY","offsetY","offsetX","invert","hideScrollBar","disableAnimations","hideScrollBarDelay","offset","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","onScrollStateChangeX","scrollYState","onScrollStateChange","onScrollStateChangeY","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","event","reflow","onScroll","preventDefault","LayoutEvents","emit","WheelEvent","shiftKey","hasScrollBar","scrollSizeParametersNames","pos","size","deltaY","right","currentTarget","pageX","bottom","pageY","setHover","componentDidMount","setInnerElement","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","oneOfType","string","number","oneOf","func","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\n\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { scrollSizeParametersNames } from './ScrollContainer.constants';\nimport {\n getScrollYOffset,\n convertScrollbarXScrollState,\n convertScrollbarYScrollState,\n} from './ScrollContainer.helpers';\nimport { ScrollAxis, ScrollBar, ScrollBarScrollState } from './ScrollBar';\n\nexport type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';\nexport type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';\nexport type ScrollContainerScrollState = ScrollContainerScrollStateY; // deprecated\nexport type ScrollBehaviour = 'auto' | 'smooth';\n\ntype OffsetCSSPropsY = 'top' | 'right' | 'bottom';\ntype OffsetCSSPropsX = 'right' | 'bottom' | 'left';\n\nexport interface ScrollContainerProps extends CommonProps {\n /**\n * Инвертировать цвет скроллбара\n * @default false\n */\n invert?: boolean;\n maxHeight?: React.CSSProperties['maxHeight'];\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * @default false\n */\n preventWindowScroll?: boolean;\n /**\n * Поведение скролла (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n * @default 'auto'\n */\n scrollBehaviour?: ScrollBehaviour;\n onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;\n onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;\n onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void; // deprecated\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n /**\n * Отключение кастомного скролла\n */\n disabled?: boolean;\n /**\n * Смещение вертикального скроллбара\n */\n offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;\n /**\n * Смещение горизонтального скроллбара\n */\n offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;\n /**\n * Скрывать скроллбар при отсутствии активности пользователя\n */\n hideScrollBar?: boolean;\n /**\n * Задержка перед скрытием скроллбара, ms. Работает только если `hideScrollBar = true`\n */\n hideScrollBarDelay?: number;\n /**\n * Отключить анимации\n */\n disableAnimations?: boolean;\n}\n\nexport const ScrollContainerDataTids = {\n root: 'ScrollContainer__root',\n inner: 'ScrollContainer__inner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n ScrollContainerProps,\n 'invert' | 'scrollBehaviour' | 'preventWindowScroll' | 'hideScrollBar' | 'disableAnimations' | 'hideScrollBarDelay'\n >\n>;\n\n@rootNode\nexport class ScrollContainer extends React.Component<ScrollContainerProps> {\n public static __KONTUR_REACT_UI__ = 'ScrollContainer';\n\n public static propTypes = {\n invert: PropTypes.bool,\n maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n scrollBehaviour: PropTypes.oneOf(['auto', 'smooth']),\n preventWindowScroll: PropTypes.bool,\n onScrollStateChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n invert: false,\n scrollBehaviour: 'auto',\n preventWindowScroll: false,\n hideScrollBar: false,\n disableAnimations: isTestEnv,\n hideScrollBarDelay: 500,\n };\n\n private getProps = createPropsGetter(ScrollContainer.defaultProps);\n\n private scrollX: Nullable<ScrollBar>;\n private scrollY: Nullable<ScrollBar>;\n private inner: Nullable<HTMLElement>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.scrollX?.setInnerElement(this.inner);\n this.scrollY?.setInnerElement(this.inner);\n }\n\n public componentDidUpdate(prevProps: ScrollContainerProps) {\n const preventWindowScroll = this.getProps().preventWindowScroll;\n if (this.inner) {\n if (prevProps.preventWindowScroll && !preventWindowScroll) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n if (!prevProps.preventWindowScroll && preventWindowScroll) {\n this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n }\n }\n\n public render = () => {\n const props = this.props;\n\n if (this.props.disabled) {\n return this.props.children;\n }\n\n const innerStyle: React.CSSProperties = {\n scrollBehavior: this.getProps().scrollBehaviour,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth,\n };\n\n const scrollbarY = this.renderScrollbar('y');\n const scrollbarX = this.renderScrollbar('x');\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={ScrollContainerDataTids.root}\n className={styles.root()}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {scrollbarY}\n {scrollbarX}\n <div\n style={innerStyle}\n ref={this.refInner}\n className={cx(styles.inner(), globalClasses.inner, isIE11 && styles.innerIE11())}\n data-tid={ScrollContainerDataTids.inner}\n onScroll={this.handleNativeScroll}\n >\n {props.children}\n </div>\n </div>\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n * @param {Element} element\n */\n public scrollTo(element: Nullable<HTMLElement>) {\n if (!element || !this.inner) {\n return;\n }\n\n this.inner.scrollLeft = element.offsetLeft;\n this.inner.scrollTop = getScrollYOffset(element, this.inner);\n }\n\n /**\n * @public\n */\n public scrollToTop() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = 0;\n }\n\n /**\n * @public\n */\n public scrollToBottom() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;\n }\n\n /**\n * @public\n */\n public scrollToLeft() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollLeft = 0;\n }\n\n /**\n * @public\n */\n public scrollToRight() {\n if (!this.inner) {\n return;\n }\n\n this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;\n }\n\n private hasScrollBar(axis: ScrollAxis) {\n if (!this.inner) {\n return false;\n }\n\n return axis === 'x'\n ? this.inner.offsetWidth < this.inner.scrollWidth\n : this.inner.offsetHeight < this.inner.scrollHeight;\n }\n\n private renderScrollbar = (axis: ScrollAxis) => {\n const refScrollBar = axis === 'x' ? this.refScrollBarX : this.refScrollBarY;\n const { offsetY, offsetX, invert, hideScrollBar, disableAnimations, hideScrollBarDelay } = this.getProps();\n\n const offset = axis === 'x' ? offsetX : offsetY;\n\n return (\n <ScrollBar\n axis={axis}\n ref={refScrollBar}\n invert={invert}\n onScrollStateChange={this.handleScrollStateChange}\n offset={offset}\n hideScrollBar={hideScrollBar}\n disableAnimations={disableAnimations}\n hideScrollBarDelay={hideScrollBarDelay}\n />\n );\n };\n\n private handleScrollStateChange = (scrollState: ScrollBarScrollState, axis: ScrollAxis) => {\n if (!this.scrollY || !this.scrollX) {\n return;\n }\n\n if (axis === 'x') {\n const scrollXState = convertScrollbarXScrollState(scrollState);\n\n this.props.onScrollStateChangeX?.(scrollXState);\n return;\n }\n\n const scrollYState = convertScrollbarYScrollState(scrollState);\n\n this.props.onScrollStateChange?.(scrollYState);\n this.props.onScrollStateChangeY?.(scrollYState);\n };\n\n private refScrollBarY = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollY = scrollbar;\n };\n\n private refScrollBarX = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollX = scrollbar;\n };\n\n private refInner = (element: HTMLElement | null) => {\n if (!this.inner && element && this.getProps().preventWindowScroll) {\n element.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n if (this.inner && !element) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n this.inner = element;\n };\n\n private handleNativeScroll = (event: React.UIEvent<HTMLDivElement>) => {\n this.scrollY?.reflow(event);\n this.scrollX?.reflow(event);\n\n this.props.onScroll?.(event);\n if (this.getProps().preventWindowScroll) {\n event.preventDefault();\n return;\n }\n LayoutEvents.emit();\n };\n\n private handleInnerScrollWheel = (event: Event) => {\n if (!this.inner || !(event instanceof WheelEvent)) {\n return;\n }\n\n const axis: ScrollAxis = event.shiftKey ? 'x' : 'y';\n\n if (this.hasScrollBar(axis)) {\n const { pos, size, offset } = scrollSizeParametersNames[axis];\n\n if (event.deltaY > 0 && this.inner[size] <= this.inner[pos] + this.inner[offset]) {\n event.preventDefault();\n return false;\n }\n if (event.deltaY < 0 && this.inner[pos] <= 0) {\n event.preventDefault();\n return false;\n }\n }\n };\n\n private handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const right = getDOMRect(event.currentTarget).right - event.pageX;\n const bottom = getDOMRect(event.currentTarget).bottom - event.pageY;\n\n this.scrollY?.setHover(right <= 12);\n this.scrollX?.setHover(right >= 12 && bottom <= 12);\n };\n\n private handleMouseLeave = () => {\n this.scrollY?.setHover(false);\n this.scrollX?.setHover(false);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ScrollContainer.tsx"],"names":["ScrollContainerDataTids","root","inner","ScrollContainer","rootNode","getProps","defaultProps","render","props","disabled","children","innerStyle","scrollBehavior","scrollBehaviour","maxHeight","maxWidth","scrollbarY","renderScrollbar","scrollbarX","setRootNode","styles","handleMouseMove","handleMouseLeave","refInner","globalClasses","isIE11","innerIE11","handleNativeScroll","axis","refScrollBar","refScrollBarX","refScrollBarY","offsetY","offsetX","invert","hideScrollBar","disableAnimations","hideScrollBarDelay","offset","handleScrollStateChange","scrollState","scrollY","scrollX","scrollXState","onScrollStateChangeX","scrollYState","onScrollStateChange","onScrollStateChangeY","scrollbar","element","preventWindowScroll","addEventListener","handleInnerScrollWheel","passive","removeEventListener","event","reflow","onScroll","preventDefault","LayoutEvents","emit","WheelEvent","shiftKey","hasScrollBar","scrollSizeParametersNames","pos","size","deltaY","right","currentTarget","pageX","bottom","pageY","setHover","updateInnerElement","setInnerElement","componentDidMount","componentDidUpdate","prevProps","scrollTo","scrollLeft","offsetLeft","scrollTop","scrollToTop","scrollToBottom","scrollHeight","offsetHeight","scrollToLeft","scrollToRight","scrollWidth","offsetWidth","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","oneOfType","string","number","oneOf","func","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\n\nimport { styles, globalClasses } from './ScrollContainer.styles';\nimport { scrollSizeParametersNames } from './ScrollContainer.constants';\nimport {\n getScrollYOffset,\n convertScrollbarXScrollState,\n convertScrollbarYScrollState,\n} from './ScrollContainer.helpers';\nimport { ScrollAxis, ScrollBar, ScrollBarScrollState } from './ScrollBar';\n\nexport type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';\nexport type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';\nexport type ScrollContainerScrollState = ScrollContainerScrollStateY; // deprecated\nexport type ScrollBehaviour = 'auto' | 'smooth';\n\ntype OffsetCSSPropsY = 'top' | 'right' | 'bottom';\ntype OffsetCSSPropsX = 'right' | 'bottom' | 'left';\n\nexport interface ScrollContainerProps extends CommonProps {\n /**\n * Инвертировать цвет скроллбара\n * @default false\n */\n invert?: boolean;\n maxHeight?: React.CSSProperties['maxHeight'];\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * @default false\n */\n preventWindowScroll?: boolean;\n /**\n * Поведение скролла (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)\n * @default 'auto'\n */\n scrollBehaviour?: ScrollBehaviour;\n onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;\n onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;\n onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void; // deprecated\n onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;\n /**\n * Отключение кастомного скролла\n */\n disabled?: boolean;\n /**\n * Смещение вертикального скроллбара\n */\n offsetY?: Partial<Record<OffsetCSSPropsY, React.CSSProperties[OffsetCSSPropsY]>>;\n /**\n * Смещение горизонтального скроллбара\n */\n offsetX?: Partial<Record<OffsetCSSPropsX, React.CSSProperties[OffsetCSSPropsX]>>;\n /**\n * Скрывать скроллбар при отсутствии активности пользователя\n */\n hideScrollBar?: boolean;\n /**\n * Задержка перед скрытием скроллбара, ms. Работает только если `hideScrollBar = true`\n */\n hideScrollBarDelay?: number;\n /**\n * Отключить анимации\n */\n disableAnimations?: boolean;\n}\n\nexport const ScrollContainerDataTids = {\n root: 'ScrollContainer__root',\n inner: 'ScrollContainer__inner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n ScrollContainerProps,\n 'invert' | 'scrollBehaviour' | 'preventWindowScroll' | 'hideScrollBar' | 'disableAnimations' | 'hideScrollBarDelay'\n >\n>;\n\n@rootNode\nexport class ScrollContainer extends React.Component<ScrollContainerProps> {\n public static __KONTUR_REACT_UI__ = 'ScrollContainer';\n\n public static propTypes = {\n invert: PropTypes.bool,\n maxWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n scrollBehaviour: PropTypes.oneOf(['auto', 'smooth']),\n preventWindowScroll: PropTypes.bool,\n onScrollStateChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n invert: false,\n scrollBehaviour: 'auto',\n preventWindowScroll: false,\n hideScrollBar: false,\n disableAnimations: isTestEnv,\n hideScrollBarDelay: 500,\n };\n\n private getProps = createPropsGetter(ScrollContainer.defaultProps);\n\n private scrollX: Nullable<ScrollBar>;\n private scrollY: Nullable<ScrollBar>;\n private inner: Nullable<HTMLElement>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.updateInnerElement();\n }\n\n public componentDidUpdate(prevProps: ScrollContainerProps) {\n const preventWindowScroll = this.getProps().preventWindowScroll;\n if (this.inner) {\n if (prevProps.preventWindowScroll && !preventWindowScroll) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n if (!prevProps.preventWindowScroll && preventWindowScroll) {\n this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n }\n\n if (prevProps.disabled !== this.props.disabled && !this.props.disabled) {\n this.updateInnerElement();\n }\n }\n\n public render = () => {\n const props = this.props;\n\n if (this.props.disabled) {\n return this.props.children;\n }\n\n const innerStyle: React.CSSProperties = {\n scrollBehavior: this.getProps().scrollBehaviour,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth,\n };\n\n const scrollbarY = this.renderScrollbar('y');\n const scrollbarX = this.renderScrollbar('x');\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={ScrollContainerDataTids.root}\n className={styles.root()}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {scrollbarY}\n {scrollbarX}\n <div\n style={innerStyle}\n ref={this.refInner}\n className={cx(styles.inner(), globalClasses.inner, isIE11 && styles.innerIE11())}\n data-tid={ScrollContainerDataTids.inner}\n onScroll={this.handleNativeScroll}\n >\n {props.children}\n </div>\n </div>\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n * @param {Element} element\n */\n public scrollTo(element: Nullable<HTMLElement>) {\n if (!element || !this.inner) {\n return;\n }\n\n this.inner.scrollLeft = element.offsetLeft;\n this.inner.scrollTop = getScrollYOffset(element, this.inner);\n }\n\n /**\n * @public\n */\n public scrollToTop() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = 0;\n }\n\n /**\n * @public\n */\n public scrollToBottom() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;\n }\n\n /**\n * @public\n */\n public scrollToLeft() {\n if (!this.inner) {\n return;\n }\n this.inner.scrollLeft = 0;\n }\n\n /**\n * @public\n */\n public scrollToRight() {\n if (!this.inner) {\n return;\n }\n\n this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;\n }\n\n private hasScrollBar(axis: ScrollAxis) {\n if (!this.inner) {\n return false;\n }\n\n return axis === 'x'\n ? this.inner.offsetWidth < this.inner.scrollWidth\n : this.inner.offsetHeight < this.inner.scrollHeight;\n }\n\n private renderScrollbar = (axis: ScrollAxis) => {\n const refScrollBar = axis === 'x' ? this.refScrollBarX : this.refScrollBarY;\n const { offsetY, offsetX, invert, hideScrollBar, disableAnimations, hideScrollBarDelay } = this.getProps();\n\n const offset = axis === 'x' ? offsetX : offsetY;\n\n return (\n <ScrollBar\n axis={axis}\n ref={refScrollBar}\n invert={invert}\n onScrollStateChange={this.handleScrollStateChange}\n offset={offset}\n hideScrollBar={hideScrollBar}\n disableAnimations={disableAnimations}\n hideScrollBarDelay={hideScrollBarDelay}\n />\n );\n };\n\n private handleScrollStateChange = (scrollState: ScrollBarScrollState, axis: ScrollAxis) => {\n if (!this.scrollY || !this.scrollX) {\n return;\n }\n\n if (axis === 'x') {\n const scrollXState = convertScrollbarXScrollState(scrollState);\n\n this.props.onScrollStateChangeX?.(scrollXState);\n return;\n }\n\n const scrollYState = convertScrollbarYScrollState(scrollState);\n\n this.props.onScrollStateChange?.(scrollYState);\n this.props.onScrollStateChangeY?.(scrollYState);\n };\n\n private refScrollBarY = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollY = scrollbar;\n };\n\n private refScrollBarX = (scrollbar: Nullable<ScrollBar>) => {\n this.scrollX = scrollbar;\n };\n\n private refInner = (element: HTMLElement | null) => {\n if (!this.inner && element && this.getProps().preventWindowScroll) {\n element.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });\n }\n if (this.inner && !element) {\n this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);\n }\n this.inner = element;\n };\n\n private handleNativeScroll = (event: React.UIEvent<HTMLDivElement>) => {\n this.scrollY?.reflow(event);\n this.scrollX?.reflow(event);\n\n this.props.onScroll?.(event);\n if (this.getProps().preventWindowScroll) {\n event.preventDefault();\n return;\n }\n LayoutEvents.emit();\n };\n\n private handleInnerScrollWheel = (event: Event) => {\n if (!this.inner || !(event instanceof WheelEvent)) {\n return;\n }\n\n const axis: ScrollAxis = event.shiftKey ? 'x' : 'y';\n\n if (this.hasScrollBar(axis)) {\n const { pos, size, offset } = scrollSizeParametersNames[axis];\n\n if (event.deltaY > 0 && this.inner[size] <= this.inner[pos] + this.inner[offset]) {\n event.preventDefault();\n return false;\n }\n if (event.deltaY < 0 && this.inner[pos] <= 0) {\n event.preventDefault();\n return false;\n }\n }\n };\n\n private handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n const right = getDOMRect(event.currentTarget).right - event.pageX;\n const bottom = getDOMRect(event.currentTarget).bottom - event.pageY;\n\n this.scrollY?.setHover(right <= 12);\n this.scrollX?.setHover(right >= 12 && bottom <= 12);\n };\n\n private handleMouseLeave = () => {\n this.scrollY?.setHover(false);\n this.scrollX?.setHover(false);\n };\n\n private updateInnerElement = () => {\n this.scrollX?.setInnerElement(this.inner);\n this.scrollY?.setInnerElement(this.inner);\n };\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { AriaAttributes, HTMLAttributes } from 'react';
|
|
2
2
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
3
3
|
import { SidePageBody } from './SidePageBody';
|
|
4
4
|
import { SidePageContainer } from './SidePageContainer';
|
|
5
5
|
import { SidePageFooter } from './SidePageFooter';
|
|
6
6
|
import { SidePageHeader } from './SidePageHeader';
|
|
7
|
-
export interface SidePageProps extends CommonProps {
|
|
7
|
+
export interface SidePageProps extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Pick<AriaAttributes, 'aria-label'> {
|
|
8
8
|
/**
|
|
9
9
|
* Добавить блокирующий фон, когда сайдпейдж открыт
|
|
10
10
|
*/
|
|
@@ -62,7 +62,7 @@ export declare const SidePageDataTids: {
|
|
|
62
62
|
readonly root: "SidePage__root";
|
|
63
63
|
readonly container: "SidePage__container";
|
|
64
64
|
};
|
|
65
|
-
declare type DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'disableFocusLock' | 'offset'>>;
|
|
65
|
+
declare type DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'disableFocusLock' | 'offset' | 'role'>>;
|
|
66
66
|
/**
|
|
67
67
|
* Сайдпейдж
|
|
68
68
|
*
|
|
@@ -87,6 +87,9 @@ var _SidePage = require("./SidePage.styles");function _getRequireWildcardCache(n
|
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
90
93
|
|
|
91
94
|
|
|
92
95
|
|
|
@@ -156,6 +159,7 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
|
|
|
156
159
|
|
|
157
160
|
|
|
158
161
|
|
|
162
|
+
|
|
159
163
|
getProps = (0, _createPropsGetter.createPropsGetter)(SidePage.defaultProps);_this.
|
|
160
164
|
|
|
161
165
|
|
|
@@ -249,6 +253,9 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
|
|
|
249
253
|
|
|
250
254
|
|
|
251
255
|
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
252
259
|
|
|
253
260
|
|
|
254
261
|
|
|
@@ -374,4 +381,4 @@ SidePage = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
|
|
|
374
381
|
};return _this;}var _proto = SidePage.prototype;_proto.componentDidMount = function componentDidMount() {window.addEventListener('keydown', this.handleKeyDown);this.stackSubscription = _ModalStack.ModalStack.add(this, this.handleStackChange);};_proto.componentWillUnmount = function componentWillUnmount() {window.removeEventListener('keydown', this.handleKeyDown);if ((0, _utils.isNonNullable)(this.stackSubscription)) {this.stackSubscription.remove();}_ModalStack.ModalStack.remove(this);} /**
|
|
375
382
|
* Обновляет разметку компонента.
|
|
376
383
|
* @public
|
|
377
|
-
*/;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$props = this.props,blockBackground = _this$props.blockBackground,onOpened = _this$props.onOpened;var disableAnimations = this.getProps().disableAnimations;return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ResponsiveLayout.ResponsiveLayout, null, function (_ref) {var isMobile = _ref.isMobile;return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isMobile && blockBackground && _this3.renderShadow(), /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, { in: true, classNames: _this3.getTransitionNames(), appear: !disableAnimations, enter: !disableAnimations, exit: false, timeout: { enter: TRANSITION_TIMEOUT, exit: TRANSITION_TIMEOUT }, nodeRef: _this3.rootRef, onEntered: onOpened }, _this3.renderContainer(isMobile)), isMobile && /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, null));}))));};_proto.renderContainer = function renderContainer(isMobile) {var _cx, _cx2;var _this$props2 = this.props,width = _this$props2.width,blockBackground = _this$props2.blockBackground,fromLeft = _this$props2.fromLeft;var _this$getProps = this.getProps(),disableFocusLock = _this$getProps.disableFocusLock,offset = _this$getProps.offset;return /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', "data-tid": SidePageDataTids.root, className: (0, _Emotion.cx)((_cx = {}, _cx[_SidePage.styles.root()] = true, _cx[_SidePage.styles.mobileRoot()] = isMobile, _cx)), onScroll: LayoutEvents.emit, createStackingContext: true, style: isMobile ? undefined : { width: width || (blockBackground ? 800 : 500), right: fromLeft ? 'auto' : offset, left: fromLeft ? offset : 'auto' }, wrapperRef: this.rootRef }, /*#__PURE__*/_react.default.createElement(_reactFocusLock.default, { disabled: disableFocusLock || !blockBackground, autoFocus: false, className: _SidePage.styles.focusLock() }, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.handleClickOutside, active: true }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageDataTids.container, className: (0, _Emotion.cx)(_SidePage.styles.wrapper(this.theme), (_cx2 = {}, _cx2[_SidePage.styles.wrapperLeft()] = fromLeft, _cx2[_SidePage.styles.wrapperMarginLeft()] = this.state.hasMargin && fromLeft, _cx2[_SidePage.styles.wrapperMarginRight()] = this.state.hasMargin && !fromLeft, _cx2[_SidePage.styles.shadow(this.theme)] = this.state.hasShadow, _cx2)), ref: this.layoutRef }, /*#__PURE__*/_react.default.createElement(_SidePageContext.SidePageContext.Provider, { value: this.getSidePageContextProps() }, this.props.children)))));};_proto.renderShadow = function renderShadow() {var _cx3;return /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', className: _SidePage.styles.overlay(), onScroll: LayoutEvents.emit }, /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, { key: "hbvs" }), /*#__PURE__*/_react.default.createElement("div", { key: "overlay", className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_SidePage.styles.background()] = true, _cx3[_SidePage.styles.backgroundGray(this.theme)] = this.state.hasBackground, _cx3)) }));};_proto.getTransitionNames = function getTransitionNames() {var transition = this.props.fromLeft ? _SidePage.styles.transitionRight : _SidePage.styles.transitionLeft;return { enter: transition(), enterActive: _SidePage.styles.transitionActive(), exit: _SidePage.styles.transitionLeave(), exitActive: _SidePage.styles.transitionLeaveActive(), appear: transition(), appearActive: _SidePage.styles.transitionActive() };};return SidePage;}(_react.default.Component);exports.SidePage = SidePage;SidePage.__KONTUR_REACT_UI__ = 'SidePage';SidePage.Header = _SidePageHeader.SidePageHeader;SidePage.Body = _SidePageBody.SidePageBody;SidePage.Footer = _SidePageFooter.SidePageFooter;SidePage.Container = _SidePageContainer.SidePageContainer;SidePage.defaultProps = { disableAnimations: _currentEnvironment.isTestEnv, disableFocusLock: true, offset: 0 };
|
|
384
|
+
*/;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$props = this.props,blockBackground = _this$props.blockBackground,onOpened = _this$props.onOpened;var disableAnimations = this.getProps().disableAnimations;return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_ResponsiveLayout.ResponsiveLayout, null, function (_ref) {var isMobile = _ref.isMobile;return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isMobile && blockBackground && _this3.renderShadow(), /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, { in: true, classNames: _this3.getTransitionNames(), appear: !disableAnimations, enter: !disableAnimations, exit: false, timeout: { enter: TRANSITION_TIMEOUT, exit: TRANSITION_TIMEOUT }, nodeRef: _this3.rootRef, onEntered: onOpened }, _this3.renderContainer(isMobile)), isMobile && /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, null));}))));};_proto.renderContainer = function renderContainer(isMobile) {var _cx, _cx2;var _this$props2 = this.props,width = _this$props2.width,blockBackground = _this$props2.blockBackground,fromLeft = _this$props2.fromLeft,ariaLabel = _this$props2['aria-label'];var _this$getProps = this.getProps(),disableFocusLock = _this$getProps.disableFocusLock,offset = _this$getProps.offset,role = _this$getProps.role;return /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { "aria-modal": true, role: role, "aria-label": ariaLabel, priority: 'Sidepage', "data-tid": SidePageDataTids.root, className: (0, _Emotion.cx)((_cx = {}, _cx[_SidePage.styles.root()] = true, _cx[_SidePage.styles.mobileRoot()] = isMobile, _cx)), onScroll: LayoutEvents.emit, createStackingContext: true, style: isMobile ? undefined : { width: width || (blockBackground ? 800 : 500), right: fromLeft ? 'auto' : offset, left: fromLeft ? offset : 'auto' }, wrapperRef: this.rootRef }, /*#__PURE__*/_react.default.createElement(_reactFocusLock.default, { disabled: disableFocusLock || !blockBackground, autoFocus: false, className: _SidePage.styles.focusLock() }, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.handleClickOutside, active: true }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageDataTids.container, className: (0, _Emotion.cx)(_SidePage.styles.wrapper(this.theme), (_cx2 = {}, _cx2[_SidePage.styles.wrapperLeft()] = fromLeft, _cx2[_SidePage.styles.wrapperMarginLeft()] = this.state.hasMargin && fromLeft, _cx2[_SidePage.styles.wrapperMarginRight()] = this.state.hasMargin && !fromLeft, _cx2[_SidePage.styles.shadow(this.theme)] = this.state.hasShadow, _cx2)), ref: this.layoutRef }, /*#__PURE__*/_react.default.createElement(_SidePageContext.SidePageContext.Provider, { value: this.getSidePageContextProps() }, this.props.children)))));};_proto.renderShadow = function renderShadow() {var _cx3;return /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', className: _SidePage.styles.overlay(), onScroll: LayoutEvents.emit }, /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, { key: "hbvs" }), /*#__PURE__*/_react.default.createElement("div", { key: "overlay", className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_SidePage.styles.background()] = true, _cx3[_SidePage.styles.backgroundGray(this.theme)] = this.state.hasBackground, _cx3)) }));};_proto.getTransitionNames = function getTransitionNames() {var transition = this.props.fromLeft ? _SidePage.styles.transitionRight : _SidePage.styles.transitionLeft;return { enter: transition(), enterActive: _SidePage.styles.transitionActive(), exit: _SidePage.styles.transitionLeave(), exitActive: _SidePage.styles.transitionLeaveActive(), appear: transition(), appearActive: _SidePage.styles.transitionActive() };};return SidePage;}(_react.default.Component);exports.SidePage = SidePage;SidePage.__KONTUR_REACT_UI__ = 'SidePage';SidePage.Header = _SidePageHeader.SidePageHeader;SidePage.Body = _SidePageBody.SidePageBody;SidePage.Footer = _SidePageFooter.SidePageFooter;SidePage.Container = _SidePageContainer.SidePageContainer;SidePage.defaultProps = { disableAnimations: _currentEnvironment.isTestEnv, disableFocusLock: true, offset: 0, role: 'dialog' };
|