@skbkontur/react-ui 6.1.0 → 6.1.1
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 +11 -0
- package/components/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.styles.js.map +1 -1
- package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
- package/components/Autocomplete/index.js.map +1 -1
- package/components/Autocomplete/locale/index.js.map +1 -1
- package/components/Autocomplete/locale/locales/en.js.map +1 -1
- package/components/Autocomplete/locale/locales/ru.js.map +1 -1
- package/components/Autocomplete/locale/types.js.map +1 -1
- package/components/Button/ArrowLeftIcon.js.map +1 -1
- package/components/Button/ArrowRightIcon.js.map +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Button/Button.mixins.js.map +1 -1
- package/components/Button/Button.styles.js.map +1 -1
- package/components/Button/ButtonArrow.js.map +1 -1
- package/components/Button/ButtonIcon.js.map +1 -1
- package/components/Button/ButtonIcon.styles.js.map +1 -1
- package/components/Button/LoadingButtonIcon.js.map +1 -1
- package/components/Button/getInnerLinkTheme.js.map +1 -1
- package/components/Button/index.js.map +1 -1
- package/components/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/Calendar.styles.js.map +1 -1
- package/components/Calendar/CalendarContext.js.map +1 -1
- package/components/Calendar/CalendarDateShape.js.map +1 -1
- package/components/Calendar/CalendarDay.js.map +1 -1
- package/components/Calendar/CalendarScrollEvents.js.map +1 -1
- package/components/Calendar/CalendarUtils.js.map +1 -1
- package/components/Calendar/DayCellView.js.map +1 -1
- package/components/Calendar/DayCellView.styles.js.map +1 -1
- package/components/Calendar/DayCellViewModel.js.map +1 -1
- package/components/Calendar/Month.js.map +1 -1
- package/components/Calendar/MonthView.js.map +1 -1
- package/components/Calendar/MonthView.styles.js.map +1 -1
- package/components/Calendar/MonthViewModel.js.map +1 -1
- package/components/Calendar/config.js.map +1 -1
- package/components/Calendar/index.js.map +1 -1
- package/components/Calendar/locale/locales/en.js.map +1 -1
- package/components/Calendar/locale/locales/ru.js.map +1 -1
- package/components/Calendar/locale/types.js.map +1 -1
- package/components/Center/Center.js.map +1 -1
- package/components/Center/Center.styles.js.map +1 -1
- package/components/Center/index.js.map +1 -1
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/CheckedIcon.js.map +1 -1
- package/components/Checkbox/IndeterminateIcon.js.map +1 -1
- package/components/Checkbox/index.js.map +1 -1
- package/components/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/index.js.map +1 -1
- package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
- package/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
- package/components/CurrencyInput/CursorHelper.js.map +1 -1
- package/components/CurrencyInput/SelectionHelper.js.map +1 -1
- package/components/CurrencyInput/constants.js.map +1 -1
- package/components/CurrencyInput/index.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/index.js.map +1 -1
- package/components/DateInput/CalendarIcon.js.map +1 -1
- package/components/DateInput/DateFragmentsView.js.map +1 -1
- package/components/DateInput/DateFragmentsView.styles.js.map +1 -1
- package/components/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.styles.js.map +1 -1
- package/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/inputNumber.js.map +1 -1
- package/components/DateInput/index.js.map +1 -1
- package/components/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.styles.js.map +1 -1
- package/components/DatePicker/MobilePicker.js.map +1 -1
- package/components/DatePicker/MobilePicker.styles.js.map +1 -1
- package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
- package/components/DatePicker/index.js.map +1 -1
- package/components/DatePicker/locale/index.js.map +1 -1
- package/components/DatePicker/locale/locales/en.js.map +1 -1
- package/components/DatePicker/locale/locales/ru.js.map +1 -1
- package/components/DatePicker/locale/types.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerSeparator.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
- package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
- package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
- package/components/DateRangePicker/index.js.map +1 -1
- package/components/DateRangePicker/locale/index.js.map +1 -1
- package/components/DateRangePicker/locale/locales/en.js.map +1 -1
- package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
- package/components/DateRangePicker/locale/types.js.map +1 -1
- package/components/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/getDropdownTheme.js.map +1 -1
- package/components/Dropdown/index.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
- package/components/DropdownMenu/index.js.map +1 -1
- package/components/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.mixins.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
- package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
- package/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/components/FileUploader/FileUploaderFile.styles.js.map +1 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
- package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
- package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
- package/components/FileUploader/FileUploaderFileValidationResult.js.map +1 -1
- package/components/FileUploader/fileUtils.js.map +1 -1
- package/components/FileUploader/hooks/useControlLocale.js.map +1 -1
- package/components/FileUploader/hooks/useFileUploaderSize.js.map +1 -1
- package/components/FileUploader/hooks/useUpload.js.map +1 -1
- package/components/FileUploader/icons/DeleteIcon.js.map +1 -1
- package/components/FileUploader/icons/UploadIcon.js.map +1 -1
- package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
- package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
- package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
- package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
- package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
- package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
- package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
- package/components/FileUploader/icons/row/RowUploadIcon.js.map +1 -1
- package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
- package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
- package/components/FileUploader/icons/row/ValidationErrorIcon.js.map +1 -1
- package/components/FileUploader/icons/row/ValidationWarningIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/TileUploadIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/ValidationErrorIcon.js.map +1 -1
- package/components/FileUploader/icons/tile/ValidationWarningIcon.js.map +1 -1
- package/components/FileUploader/index.js.map +1 -1
- package/components/FileUploader/locale/index.js.map +1 -1
- package/components/FileUploader/locale/locales/en.js.map +1 -1
- package/components/FileUploader/locale/locales/ru.js.map +1 -1
- package/components/FileUploader/locale/types.js.map +1 -1
- package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
- package/components/FxInput/FxInput.js.map +1 -1
- package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
- package/components/FxInput/MathFunctionIcon.js.map +1 -1
- package/components/FxInput/UndoIcon.js.map +1 -1
- package/components/FxInput/index.js.map +1 -1
- package/components/Gapped/Gapped.js.map +1 -1
- package/components/Gapped/index.js.map +1 -1
- package/components/GlobalLoader/GlobalLoader.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
- package/components/GlobalLoader/index.js.map +1 -1
- package/components/GlobalLoader/useParams.js.map +1 -1
- package/components/Group/Group.js.map +1 -1
- package/components/Group/Group.styles.js.map +1 -1
- package/components/Group/index.js.map +1 -1
- package/components/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.styles.js.map +1 -1
- package/components/Hint/index.js.map +1 -1
- package/components/Input/Input.js.map +1 -1
- package/components/Input/Input.styles.js.map +1 -1
- package/components/Input/Input.typings.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
- package/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
- package/components/Input/index.js.map +1 -1
- package/components/Kebab/Kebab.js.map +1 -1
- package/components/Kebab/Kebab.styles.js.map +1 -1
- package/components/Kebab/KebabIcon.js.map +1 -1
- package/components/Kebab/index.js.map +1 -1
- package/components/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins.js.map +1 -1
- package/components/Link/Link.styles.js.map +1 -1
- package/components/Link/LinkIcon.js.map +1 -1
- package/components/Link/index.js.map +1 -1
- package/components/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.styles.js.map +1 -1
- package/components/Loader/index.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
- package/components/MaskedInput/ColorableInputElement/index.js.map +1 -1
- package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.helpers.js.map +1 -1
- package/components/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
- package/components/MaskedInput/index.js.map +1 -1
- package/components/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
- package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
- package/components/MenuFooter/index.js.map +1 -1
- package/components/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
- package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
- package/components/MenuHeader/index.js.map +1 -1
- package/components/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuItem/MenuItem.mixins.js.map +1 -1
- package/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/components/MenuItem/index.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
- package/components/MenuSeparator/index.js.map +1 -1
- package/components/MiniModal/MiniModal.js.map +1 -1
- package/components/MiniModal/MiniModal.styles.js.map +1 -1
- package/components/MiniModal/MiniModalBody.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/components/MiniModal/MiniModalIndent.js.map +1 -1
- package/components/MiniModal/getMiniModalTheme.js.map +1 -1
- package/components/MiniModal/index.js.map +1 -1
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.styles.js.map +1 -1
- package/components/Modal/ModalBody.js.map +1 -1
- package/components/Modal/ModalClose.js.map +1 -1
- package/components/Modal/ModalContext.js.map +1 -1
- package/components/Modal/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader.js.map +1 -1
- package/components/Modal/ModalSeparator.js.map +1 -1
- package/components/Modal/getModalBodyTheme.js.map +1 -1
- package/components/Modal/getModalTheme.js.map +1 -1
- package/components/Modal/index.js.map +1 -1
- package/components/Modal/locale/index.js.map +1 -1
- package/components/Modal/locale/locales/en.js.map +1 -1
- package/components/Modal/locale/locales/ru.js.map +1 -1
- package/components/Modal/locale/types.js.map +1 -1
- package/components/Paging/DotsIcon.js.map +1 -1
- package/components/Paging/ForwardIcon.js.map +1 -1
- package/components/Paging/NavigationHelper.js.map +1 -1
- package/components/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles.js.map +1 -1
- package/components/Paging/PagingDefaultComponent.js.map +1 -1
- package/components/Paging/PagingHelper.js.map +1 -1
- package/components/Paging/index.js.map +1 -1
- package/components/Paging/locale/index.js.map +1 -1
- package/components/Paging/locale/locales/en.js.map +1 -1
- package/components/Paging/locale/locales/ru.js.map +1 -1
- package/components/Paging/locale/types.js.map +1 -1
- package/components/PasswordInput/ClosedIcon.js.map +1 -1
- package/components/PasswordInput/OpenedIcon.js.map +1 -1
- package/components/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
- package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
- package/components/PasswordInput/index.js.map +1 -1
- package/components/PasswordInput/locale/index.js.map +1 -1
- package/components/PasswordInput/locale/locales/en.js.map +1 -1
- package/components/PasswordInput/locale/locales/ru.js.map +1 -1
- package/components/PasswordInput/locale/types.js.map +1 -1
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.mixins.js.map +1 -1
- package/components/Radio/Radio.styles.js.map +1 -1
- package/components/Radio/index.js.map +1 -1
- package/components/RadioGroup/Prevent.js.map +1 -1
- package/components/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.styles.js.map +1 -1
- package/components/RadioGroup/RadioGroupContext.js.map +1 -1
- package/components/RadioGroup/index.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ResponsiveLayout/decorator.js.map +1 -1
- package/components/ResponsiveLayout/index.js.map +1 -1
- package/components/ResponsiveLayout/types.js.map +1 -1
- package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/index.js.map +1 -1
- package/components/Select/ArrowDownIcon.js.map +1 -1
- package/components/Select/Item.js.map +1 -1
- package/components/Select/Select.js.map +1 -1
- package/components/Select/Select.styles.js.map +1 -1
- package/components/Select/index.js.map +1 -1
- package/components/Select/locale/index.js.map +1 -1
- package/components/Select/locale/locales/en.js.map +1 -1
- package/components/Select/locale/locales/ru.js.map +1 -1
- package/components/Select/locale/types.js.map +1 -1
- package/components/Select/selectTheme.js.map +1 -1
- package/components/Select/tids.js.map +1 -1
- package/components/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageCloseButton.js.map +1 -1
- package/components/SidePage/SidePageContainer.js.map +1 -1
- package/components/SidePage/SidePageContext.js.map +1 -1
- package/components/SidePage/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader.js.map +1 -1
- package/components/SidePage/index.js.map +1 -1
- package/components/SidePage/locale/index.js.map +1 -1
- package/components/SidePage/locale/locales/en.js.map +1 -1
- package/components/SidePage/locale/locales/ru.js.map +1 -1
- package/components/SidePage/locale/types.js.map +1 -1
- package/components/SingleToast/SingleToast.js.map +1 -1
- package/components/SingleToast/index.js.map +1 -1
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.styles.js.map +1 -1
- package/components/Spinner/index.js.map +1 -1
- package/components/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.styles.js.map +1 -1
- package/components/Sticky/index.js.map +1 -1
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.styles.js.map +1 -1
- package/components/Switcher/helpers.js.map +1 -1
- package/components/Switcher/index.js.map +1 -1
- package/components/Switcher/switcherTheme.js.map +1 -1
- package/components/Tabs/Indicator.js.map +1 -1
- package/components/Tabs/Indicator.styles.js.map +1 -1
- package/components/Tabs/Tab.js.map +1 -1
- package/components/Tabs/Tab.styles.js.map +1 -1
- package/components/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.styles.js.map +1 -1
- package/components/Tabs/TabsContext.js.map +1 -1
- package/components/Tabs/helpers.js.map +1 -1
- package/components/Tabs/index.js.map +1 -1
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.mixins.js.map +1 -1
- package/components/Textarea/Textarea.styles.js.map +1 -1
- package/components/Textarea/TextareaCounter.js.map +1 -1
- package/components/Textarea/TextareaHelpers.js.map +1 -1
- package/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -1
- package/components/Textarea/index.js.map +1 -1
- package/components/Toast/Toast.js.map +1 -1
- package/components/Toast/Toast.styles.js.map +1 -1
- package/components/Toast/ToastView.js.map +1 -1
- package/components/Toast/ToastView.styles.js.map +1 -1
- package/components/Toast/index.js.map +1 -1
- package/components/Toast/locale/index.js.map +1 -1
- package/components/Toast/locale/locales/en.js.map +1 -1
- package/components/Toast/locale/locales/ru.js.map +1 -1
- package/components/Toast/locale/types.js.map +1 -1
- package/components/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.mixins.js.map +1 -1
- package/components/Toggle/Toggle.styles.js.map +1 -1
- package/components/Toggle/index.js.map +1 -1
- package/components/Token/Token.js.map +1 -1
- package/components/Token/Token.mixins.js.map +1 -1
- package/components/Token/Token.styles.js.map +1 -1
- package/components/Token/TokenView.js.map +1 -1
- package/components/Token/index.js.map +1 -1
- package/components/Token/locale/index.js.map +1 -1
- package/components/Token/locale/locales/en.js.map +1 -1
- package/components/Token/locale/locales/ru.js.map +1 -1
- package/components/Token/locale/types.js.map +1 -1
- package/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.mixins.js.map +1 -1
- package/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/components/TokenInput/TokenInputMobileMenu.js.map +1 -1
- package/components/TokenInput/TokenInputReducer.js.map +1 -1
- package/components/TokenInput/index.js.map +1 -1
- package/components/TokenInput/locale/index.js.map +1 -1
- package/components/TokenInput/locale/locales/en.js.map +1 -1
- package/components/TokenInput/locale/locales/ru.js.map +1 -1
- package/components/TokenInput/locale/types.js.map +1 -1
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/components/Tooltip/index.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/components/TooltipMenu/index.js.map +1 -1
- package/hooks/useDrop.js.map +1 -1
- package/hooks/useEffectWithoutInitCall.js.map +1 -1
- package/hooks/useMemoObject.js.map +1 -1
- package/index.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/CrossIcon.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
- package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
- package/internal/CloseButtonIcon/CrossIcon.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/index.js.map +1 -1
- package/internal/CommonWrapper/types.js.map +1 -1
- package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
- package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -1
- package/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -1
- package/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -1
- package/internal/CustomComboBox/ArrowDownIcon.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
- package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
- package/internal/CustomComboBox/index.js.map +1 -1
- package/internal/CustomComboBox/locale/index.js.map +1 -1
- package/internal/CustomComboBox/locale/locales/en.js.map +1 -1
- package/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
- package/internal/CustomComboBox/locale/types.js.map +1 -1
- package/internal/CustomComboBox/tids.js.map +1 -1
- package/internal/DateSelect/DateSelect.js.map +1 -1
- package/internal/DateSelect/DateSelect.styles.js.map +1 -1
- package/internal/DateSelect/index.js.map +1 -1
- package/internal/DateSelect/locale/index.js.map +1 -1
- package/internal/DateSelect/locale/locales/en.js.map +1 -1
- package/internal/DateSelect/locale/locales/ru.js.map +1 -1
- package/internal/DateSelect/locale/types.js.map +1 -1
- package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
- package/internal/FocusControlWrapper/index.js.map +1 -1
- package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
- package/internal/FocusTrap/FocusTrap.js.map +1 -1
- package/internal/FocusTrap/index.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/HideBodyVerticalScroll/index.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/index.js.map +1 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
- package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
- package/internal/MaskCharLowLine/index.js.map +1 -1
- package/internal/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.styles.js.map +1 -1
- package/internal/Menu/MenuContext.js.map +1 -1
- package/internal/Menu/MenuNavigation.js.map +1 -1
- package/internal/Menu/index.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.js.map +1 -1
- package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
- package/internal/MenuMessage/index.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
- package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
- package/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
- package/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -1
- package/internal/MobilePopup/index.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
- package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
- package/internal/NativeDateInput/index.js.map +1 -1
- package/internal/NativeDateInput/utils.js.map +1 -1
- package/internal/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.styles.js.map +1 -1
- package/internal/Popup/PopupHelper.js.map +1 -1
- package/internal/Popup/PopupPin.js.map +1 -1
- package/internal/Popup/PopupPin.styles.js.map +1 -1
- package/internal/Popup/index.js.map +1 -1
- package/internal/Popup/types.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
- package/internal/PopupMenu/index.js.map +1 -1
- package/internal/PopupMenu/tids.js.map +1 -1
- package/internal/PopupMenu/validatePositions.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainerTypes.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/index.js.map +1 -1
- package/internal/RenderLayer/RenderLayer.js.map +1 -1
- package/internal/RenderLayer/index.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
- package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
- package/internal/ResizeDetector/index.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -1
- package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
- package/internal/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndexStorage.js.map +1 -1
- package/internal/ZIndex/index.js.map +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
- package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
- package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
- package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
- package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
- package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
- package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
- package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
- package/internal/icons2022/BaseIcon.js.map +1 -1
- package/internal/icons2022/BaseIcon.styles.js.map +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
- package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
- package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
- package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
- package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
- package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
- package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
- package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
- package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
- package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
- package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
- package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
- package/internal/icons2022/LoadingIcon.js.map +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
- package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
- package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js.map +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js.map +1 -1
- package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js.map +1 -1
- package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
- package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
- package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
- package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
- package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
- package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
- package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
- package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
- package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
- package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
- package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
- package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
- package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
- package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
- package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
- package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
- package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
- package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
- package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
- package/internal/icons2022/iconConstants.js.map +1 -1
- package/internal/icons2022/iconSizer.js.map +1 -1
- package/internal/react-focus-lock/Combination.js.map +1 -1
- package/internal/react-focus-lock/FocusGuard.js.map +1 -1
- package/internal/react-focus-lock/Lock.js.map +1 -1
- package/internal/react-focus-lock/Trap.js.map +1 -1
- package/internal/react-focus-lock/constants.js.map +1 -1
- package/internal/react-focus-lock/index.js.map +1 -1
- package/internal/react-focus-lock/medium.js.map +1 -1
- package/internal/react-focus-lock/scope.js.map +1 -1
- package/internal/react-focus-lock/util.js.map +1 -1
- package/internal/themes/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme6_0.js.map +1 -1
- package/internal/themes/DarkTheme6_1.js.map +1 -1
- package/internal/themes/LightTheme6_0.js.map +1 -1
- package/internal/themes/LightTheme6_1.js.map +1 -1
- package/lib/ConditionalHandler.js.map +1 -1
- package/lib/InstanceWithAnchorElement.js.map +1 -1
- package/lib/LayoutEvents.js.map +1 -1
- package/lib/ModalStack.js.map +1 -1
- package/lib/Upgrades.js.map +1 -1
- package/lib/animation/index.js.map +1 -1
- package/lib/animation/presets.js.map +1 -1
- package/lib/animation/stepper.js.map +1 -1
- package/lib/blink.js.map +1 -1
- package/lib/callChildRef/callChildRef.js.map +1 -1
- package/lib/chars.js.map +1 -1
- package/lib/client.js.map +1 -1
- package/lib/createPropsGetter.js.map +1 -1
- package/lib/currentEnvironment.js.map +1 -1
- package/lib/date/InternalDate.js.map +1 -1
- package/lib/date/InternalDateCalculator.js.map +1 -1
- package/lib/date/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateSetter.js.map +1 -1
- package/lib/date/InternalDateTransformer.js.map +1 -1
- package/lib/date/InternalDateValidator.js.map +1 -1
- package/lib/date/comparison.js.map +1 -1
- package/lib/date/constants.js.map +1 -1
- package/lib/date/localeSets.js.map +1 -1
- package/lib/date/types.js.map +1 -1
- package/lib/delay.js.map +1 -1
- package/lib/dom/getDOMRect.js.map +1 -1
- package/lib/dom/getParentOrShadowHost.js.map +1 -1
- package/lib/dom/getScrollWidth.js.map +1 -1
- package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
- package/lib/dom/selectionHelpers.js.map +1 -1
- package/lib/dom/tabbableHelpers.js.map +1 -1
- package/lib/events/MouseDrag.js.map +1 -1
- package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
- package/lib/events/keyListener.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
- package/lib/events/keyboard/extractCode.js.map +1 -1
- package/lib/events/keyboard/identifiers.js.map +1 -1
- package/lib/extractKeyboardAction.js.map +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/index.js.map +1 -1
- package/lib/filterProps.js.map +1 -1
- package/lib/forwardRefAndName.js.map +1 -1
- package/lib/getElementRef.js.map +1 -1
- package/lib/getMenuPositions.js.map +1 -1
- package/lib/globalObject.js.map +1 -1
- package/lib/isInstanceOf.js.map +1 -1
- package/lib/listenFocusOutside.js.map +1 -1
- package/lib/locale/LocaleContext.js.map +1 -1
- package/lib/locale/LocaleHelper.js.map +1 -1
- package/lib/locale/constants.js.map +1 -1
- package/lib/locale/decorators.js.map +1 -1
- package/lib/locale/index.js.map +1 -1
- package/lib/locale/types.js.map +1 -1
- package/lib/locale/useLocaleForControl.js.map +1 -1
- package/lib/memo.js.map +1 -1
- package/lib/mergeRefs.js.map +1 -1
- package/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/pluralize.js.map +1 -1
- package/lib/react-is.js.map +1 -1
- package/lib/reactGetTextContent.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
- package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
- package/lib/renderEnvironment/index.js.map +1 -1
- package/lib/rootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/index.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/lib/scrollInputCaretIntoView.js.map +1 -1
- package/lib/size/SizeControlContext.js.map +1 -1
- package/lib/size/SizeDecorator.js.map +1 -1
- package/lib/size/constants.js.map +1 -1
- package/lib/size/index.js.map +1 -1
- package/lib/size/useSizeControl.js.map +1 -1
- package/lib/stringUtils.js.map +1 -1
- package/lib/styles/ColorFactory.js.map +1 -1
- package/lib/styles/ColorFunctions.js.map +1 -1
- package/lib/styles/ColorHelpers.js.map +1 -1
- package/lib/styles/ColorKeywords.js.map +1 -1
- package/lib/styles/ColorObject.js.map +1 -1
- package/lib/styles/DimensionFunctions.js.map +1 -1
- package/lib/styles/Mixins.js.map +1 -1
- package/lib/styles/UiFont.js.map +1 -1
- package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
- package/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/AnimationKeyframes.js.map +1 -1
- package/lib/theming/Emotion.js.map +1 -1
- package/lib/theming/Theme.js.map +1 -1
- package/lib/theming/ThemeContext.js.map +1 -1
- package/lib/theming/ThemeFactory.js.map +1 -1
- package/lib/theming/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeVersions.js.map +1 -1
- package/lib/theming/themes/DarkTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.js.map +1 -1
- package/lib/theming/useTheme.js.map +1 -1
- package/lib/toKebabCase.js.map +1 -1
- package/lib/typeGuards.js.map +1 -1
- package/lib/types/button-link.js.map +1 -1
- package/lib/types/polymorphic-component.js.map +1 -1
- package/lib/types/props.js.map +1 -1
- package/lib/uidUtils.js.map +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayCellView.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"DayCellView.js","sourceRoot":"","sources":["DayCellView.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOpD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAuB;;IACzC,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACjB,IAAA,KAAwE,UAAU,CAAC,eAAe,CAAC,EAAjG,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,WAAW,iBAAgC,CAAC;IAC1G,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEvC,IAAM,UAAU,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1D,IAAM,eAAe,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExE,IAAM,eAAe,GAAG,WAAW,CAAC;QAClC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB,IAAM,QAAQ,GAAqB;QACjC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,UAAU,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,UAAU,YAAA;QACV,SAAS,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mCAAI,IAAI,CAAC,SAAS;QACzE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,eAAe;KAC5B,CAAC;IAEF,IAAM,UAAU,GAAmC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,QAAQ,CAAC,mCAAI,oBAAC,WAAW,eAAK,QAAQ,EAAI,CAAC;IAE1G,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,UAAU,CAAO,CAAC;AAChE,CAAC,CAAC","sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport type { ReactElement } from 'react';\n\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport { getStyles } from './DayCellView.styles.js';\nimport type { DayCellViewModel } from './DayCellViewModel.js';\n\nexport interface DayCellViewProps {\n date: DayCellViewModel;\n}\n\nexport const DayCellView = (props: DayCellViewProps): React.JSX.Element => {\n const { date } = props;\n const { value, minDate, maxDate, isHoliday, renderDay, today, onDateClick } = useContext(CalendarContext);\n const styles = useStyles(getStyles);\n const theme = useContext(ThemeContext);\n\n const isDisabled = !CDS.isBetween(date, minDate, maxDate);\n\n const humanDateString = InternalDateTransformer.dateToHumanString(date);\n\n const dayClickHandler = useCallback(() => {\n onDateClick?.(date);\n }, [onDateClick, date]);\n\n const dayProps: CalendarDayProps = {\n isToday: Boolean(today && CDS.isEqual(date, today)),\n isSelected: Boolean(value && CDS.isEqual(date, value)),\n isDisabled,\n isWeekend: isHoliday?.(humanDateString, date.isWeekend) ?? date.isWeekend,\n date: humanDateString,\n onDayClick: dayClickHandler,\n };\n\n const dayElement: ReactElement<CalendarDayProps> = renderDay?.(dayProps) ?? <CalendarDay {...dayProps} />;\n\n return <div className={styles.cell(theme)}>{dayElement}</div>;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayCellView.styles.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"DayCellView.styles.js","sourceRoot":"","sources":["DayCellView.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,uHAAA,oBACI,EAAmB,mBACrB,EAAoB,SAC/B,KAFa,CAAC,CAAC,iBAAiB,EACrB,CAAC,CAAC,kBAAkB,EAC9B;QACJ,CAAC;QACD,GAAG,YAAC,CAAQ;YACV,OAAO,GAAG,89BAAA,UACN,EAAa,kEAID,EAAgB,4DAEjB,EAAsB,2HAKpB,EAAwB,0BACtB,EAA0B,6YAiBnB,EAA0B,sBACrC,EAAwB,yLAU1B,EAA8B,kBAE1C,KA1CG,WAAW,EAAE,EAID,CAAC,CAAC,cAAc,EAEjB,CAAC,CAAC,oBAAoB,EAKpB,CAAC,CAAC,sBAAsB,EACtB,CAAC,CAAC,wBAAwB,EAiBnB,CAAC,CAAC,wBAAwB,EACrC,CAAC,CAAC,sBAAsB,EAU1B,CAAC,CAAC,4BAA4B,EAEzC;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,8HAAA,4BACY,EAA6B,kBACxC,EAA+B,SACzC,KAFqB,CAAC,CAAC,2BAA2B,EACxC,CAAC,CAAC,6BAA6B,EACxC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,4MAAA,kFAGgB,EAA6B,sBACxC,EAA+B,6BAG7C,KAJyB,CAAC,CAAC,2BAA2B,EACxC,CAAC,CAAC,6BAA6B,EAG5C;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,+FAAA,iBACC,EAA0B,SACpC,KADU,CAAC,CAAC,wBAAwB,EACnC;QACJ,CAAC;QAED,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,mIAAA,qDAES,EAAyB,SAC3C,KADkB,CAAC,CAAC,uBAAuB,EAC1C;QACJ,CAAC;KACF,CAAC;AApF8D,CAoF9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n cell(t: Theme) {\n return css`\n flex: 1 1 ${t.calendarCellWidth};\n height: ${t.calendarCellHeight};\n `;\n },\n day(t: Theme) {\n return css`\n ${resetButton()};\n width: 100%;\n height: 100%;\n\n background: ${t.calendarCellBg};\n border: 1px solid transparent;\n font-size: ${t.calendarCellFontSize};\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n line-height: ${t.calendarCellLineHeight};\n border-radius: ${t.calendarCellBorderRadius};\n transition:\n 0.15s ease background-color,\n 0.15s ease opacity;\n\n // Expand the clickable area\n &:before {\n content: '';\n position: absolute;\n left: -1px;\n top: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ${t.calendarCellHoverBgColor};\n color: ${t.calendarCellHoverColor};\n cursor: pointer;\n }\n }\n\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ${t.calendarCellActiveHoverColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return css`\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n `;\n },\n\n selected6_1(t: Theme) {\n return css`\n @media (hover: hover) {\n &:hover {\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n }\n }\n `;\n },\n\n weekend(t: Theme) {\n return css`\n color: ${t.calendarCellWeekendColor};\n `;\n },\n\n todayCaption(t: Theme) {\n return css`\n padding-bottom: 2px;\n border-bottom: ${t.calendarCellTodayBorder};\n `;\n },\n}));\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayCellViewModel.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"DayCellViewModel.js","sourceRoot":"","sources":["DayCellViewModel.ts"],"names":[],"mappings":"AAAA;IAaE,0BAAY,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,SAAkB;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAjBa,uBAAM,GAApB,UAAqB,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,SAAkB;QAChF,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAgBH,uBAAC;AAAD,CAAC,AAnBD,IAmBC","sourcesContent":["export class DayCellViewModel {\n public static create(date: number, month: number, year: number, isWeekend: boolean): DayCellViewModel {\n return new DayCellViewModel(date, month, year, isWeekend);\n }\n\n public date: number;\n\n public month: number;\n\n public year: number;\n\n public isWeekend: boolean;\n\n constructor(date: number, month: number, year: number, isWeekend: boolean) {\n this.date = date;\n this.month = month;\n this.year = year;\n this.isWeekend = isWeekend;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Month.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Month.js","sourceRoot":"","sources":["Month.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\n\nimport type { DateSelect } from '../../internal/DateSelect/index.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport { DayCellView } from './DayCellView.js';\nimport { getStyles as getCellStyles } from './DayCellView.styles.js';\nimport type { DayCellViewModel } from './DayCellViewModel.js';\nimport { MonthView } from './MonthView.js';\nimport { getStyles } from './MonthView.styles.js';\nimport type { MonthViewModel } from './MonthViewModel.js';\n\ninterface MonthProps {\n top: number;\n month: MonthViewModel;\n onMonthYearChange: (monthNative: number, year: number) => void;\n}\n\nexport class Month extends React.Component<MonthProps> {\n private theme!: Theme;\n\n private monthSelect: DateSelect | null = null;\n private yearSelect: DateSelect | null = null;\n\n public shouldComponentUpdate(nextProps: MonthProps) {\n if (this.props.top !== nextProps.top) {\n return true;\n }\n\n return this.props.month !== nextProps.month;\n }\n\n public componentDidMount() {\n CalendarScrollEvents.addListener(this.closeSelects);\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): JSX.Element {\n const { month, top } = this.props;\n return (\n <MonthView\n firstDayOffset={month.offset}\n height={month.getHeight(this.theme)}\n isFirstInYear={month.isFirstInYear}\n isLastInYear={month.isLastInYear}\n month={month.month}\n top={top}\n year={month.year}\n onMonthSelect={this.handleMonthSelect}\n onYearSelect={this.handleYearSelect}\n monthSelectRef={this.monthRef}\n yearSelectRef={this.yearRef}\n >\n {this.renderCells()}\n </MonthView>\n );\n }\n\n private renderCells(): JSX.Element {\n return <MonthDayGrid days={this.props.month.days} offset={this.props.month.offset} />;\n }\n\n private closeSelects = (): void => {\n if (this.monthSelect) {\n this.monthSelect.close();\n }\n if (this.yearSelect) {\n this.yearSelect.close();\n }\n };\n\n private monthRef = (monthSelect: DateSelect | null): void => {\n this.monthSelect = monthSelect;\n };\n\n private yearRef = (yearSelect: DateSelect | null): void => {\n this.yearSelect = yearSelect;\n };\n\n private handleMonthSelect = (month: number): void => {\n this.props.onMonthYearChange(month, this.props.month.year);\n };\n\n private handleYearSelect = (year: number): void => {\n this.props.onMonthYearChange(this.props.month.month, year);\n };\n}\n\nconst DAYS_PER_WEEK = 7;\n\ninterface MonthDayGridProps {\n days: DayCellViewModel[];\n offset: number;\n}\n\n@withRenderEnvironment\nclass MonthDayGrid extends React.Component<MonthDayGridProps> {\n private styles!: ReturnType<typeof getStyles>;\n private cellStyles!: ReturnType<typeof getCellStyles>;\n private theme!: Theme;\n private emotion!: Emotion;\n\n public shouldComponentUpdate(nextProps: MonthDayGridProps) {\n return this.props.days !== nextProps.days;\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n this.cellStyles = getCellStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): JSX.Element {\n const leadingDays = Array.from({ length: this.props.offset }, (_, i) => (\n <div key={`leading_${i}`} className={this.cellStyles.cell(this.theme)} />\n ));\n const trailingOffset = DAYS_PER_WEEK - ((this.props.offset + this.props.days.length) % DAYS_PER_WEEK);\n const trailingDays = Array.from({ length: trailingOffset }, (_, i) => (\n <div key={`trailing_${i}`} className={this.cellStyles.cell(this.theme)} />\n ));\n const days = this.props.days.map((day) => {\n return <DayCellView date={day} key={`${day.date}.${day.month}.${day.year}`} />;\n });\n const weeks = divideToWeeks(leadingDays.concat(days, trailingDays));\n return (\n <div className={this.styles.monthDayGrid(this.theme)}>\n {weeks.map((week, i) => (\n <div className={this.styles.monthDayRow(this.theme)} key={`week_${i}`}>\n {week}\n </div>\n ))}\n </div>\n );\n }\n}\n\nfunction divideToWeeks<T>(days: T[]): T[][] {\n const weeks: T[][] = [];\n for (let i = 0; i < days.length; i += DAYS_PER_WEEK) {\n const week = days.slice(i, i + DAYS_PER_WEEK);\n weeks.push(week);\n }\n return weeks;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthView.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarDataTids } from './Calendar.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.styles.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n};\n\nexport const getMaxMonth = (year: number, maxDate: Nullable<CDS.CalendarDateShape>): number => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n};\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const { minDate, maxDate } = useContext(CalendarContext);\n const { isMobile } = useResponsiveLayout();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={isMobile ? '6em' : 85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year, minDate)}\n maxValue={getMaxMonth(year, maxDate)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={isMobile ? '3.5em' : 50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthView.styles.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"MonthView.styles.js","sourceRoot":"","sources":["MonthView.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,sIAAA,iDAEG,EAA8B,KAAM,EAAiC,SACjF,KADY,CAAC,CAAC,4BAA4B,EAAM,CAAC,CAAC,+BAA+B,EAChF;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,kLAAA,6FAIG,EAA8B,KAAM,EAAiC,SACjF,KADY,CAAC,CAAC,4BAA4B,EAAM,CAAC,CAAC,+BAA+B,EAChF;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,GAAG,4HAAA,4CAEC,EAAK,WACf,KADU,KAAK,EACd;QACJ,CAAC;QAED,WAAW;YACT,OAAO,GAAG,+FAAA,4BAET,KAAC;QACJ,CAAC;QAED,MAAM;YACJ,OAAO,GAAG,sGAAA,mCAET,KAAC;QACJ,CAAC;QAED,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,6HAAA,4BACY,EAAmC,4BAExD,KAFqB,CAAC,CAAC,iCAAiC,EAEvD;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,iMAAA,mCACmB,EAAqC,wBACjD,EAAsB,qBACzB,EAA2B,GAAI,EAAgC,wBAC5D,EAA8B,SAC9C,KAJ4B,CAAC,CAAC,mCAAmC,EACjD,CAAC,CAAC,oBAAoB,EACzB,CAAC,CAAC,yBAAyB,EAAI,CAAC,CAAC,8BAA8B,EAC5D,CAAC,CAAC,4BAA4B,EAC7C;QACJ,CAAC;QAED;;;WAGG;QACH,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,oLAAA,uBACO,EAAwB,yEAG5B,EAAwB,aACpC,KAJgB,CAAC,CAAC,sBAAsB,EAG5B,CAAC,CAAC,sBAAsB,EACnC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,6LAAA,sGAKQ,EAAwB,kBAEzC,KAFiB,CAAC,CAAC,sBAAsB,EAExC;QACJ,CAAC;QAED,YAAY;YACV,OAAO,GAAG,0QAAA,qMAUT,KAAC;QACJ,CAAC;KACF,CAAC;AA1F8D,CA0F9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n headerMonth(t: Theme) {\n return css`\n display: inline-block;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n headerYear(t: Theme) {\n return css`\n display: inline-block;\n position: absolute;\n right: 0;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n month(t: Theme) {\n const width = parseInt(t.calendarCellWidth) * 7;\n return css`\n position: absolute;\n width: ${width}px;\n `;\n },\n\n monthMobile() {\n return css`\n width: 100%;\n `;\n },\n\n header() {\n return css`\n position: relative;\n `;\n },\n\n headerSticky(t: Theme) {\n return css`\n background-color: ${t.calendarMonthHeaderStickedBgColor};\n z-index: 2;\n `;\n },\n\n monthTitle(t: Theme) {\n return css`\n border-bottom: 1px solid ${t.calendarMonthTitleBorderBottomColor};\n font-weight: ${t.dateSelectFontWeight};\n margin: 0 ${t.calendarMonthTitleMarginX} ${t.calendarMonthTitleMarginBottom};\n line-height: ${t.calendarMonthTitleLineHeight};\n `;\n },\n\n /* Note: this could've been\n * display: grid;\n * grid-template-columns: repeat(7, minmax(0, 1fr));\n */\n monthDayGrid(t: Theme) {\n return css`\n line-height: ${t.calendarCellLineHeight};\n display: flex;\n flex-direction: column;\n padding: ${t.calendarGridRowSpacing} 0px;\n `;\n },\n\n monthDayRow(t: Theme) {\n return css`\n display: flex;\n justify-content: space-between;\n\n & + & {\n margin-top: ${t.calendarGridRowSpacing};\n }\n `;\n },\n\n nativeSelect() {\n return css`\n position: absolute;\n top: -12px;\n right: 0;\n bottom: -8px;\n left: 0;\n cursor: pointer;\n appearance: none;\n opacity: 0;\n border: none;\n `;\n },\n}));\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthViewModel.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"MonthViewModel.js","sourceRoot":"","sources":["MonthViewModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,IAAM,cAAc,GAAG,UAAC,KAAa,EAAE,IAAY;IACjD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG,UAAC,KAAa;IACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,EAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;IAgCE,wBAAoB,KAAa,EAAE,IAAY;QAC7C,IAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChD,IAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAM,MAAM,GAAG,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC;YACjD,IAAM,SAAS,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3E,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC;IA7BM,kCAAS,GAAhB,UAAiB,KAAY;QACrB,IAAA,KACJ,WAAW,CAAC,KAAK,CAAC,EADZ,UAAU,gBAAA,EAAE,yBAAyB,+BAAA,EAAE,mBAAmB,yBAAA,EAAE,yBAAyB,+BACzE,CAAC;QACrB,OAAO,cAAc,CACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,UAAU,EACV,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IA7Ba,qBAAM,GAAG,IAAI,CAAC,UAAC,KAAa,EAAE,IAAY,IAAqB,OAAA,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAA/B,CAA+B,CAAC,CAAC;IAgDhH,qBAAC;CAAA,AAjDD,IAiDC;SAjDY,cAAc;AAmD3B,IAAM,cAAc,GAAG,IAAI,CACzB,UACE,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,WAAmB,EACnB,YAAoB,EACpB,UAAkB;IAElB,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACpG,CAAC,CACF,CAAC;AACF,IAAM,aAAa,GAAG,IAAI,CAAC,UAAC,KAAa,EAAE,IAAY,IAAK,OAAA,IAAI,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAzD,CAAyD,CAAC,CAAC;AAEvH,IAAM,cAAc,GAAG,IAAI,CAAC,UAAC,KAAa,EAAE,IAAY;IACtD,IAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CAAC","sourcesContent":["import { memo } from '../../lib/memo.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { getMonthInHumanFormat } from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { DayCellViewModel } from './DayCellViewModel.js';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING } =\n themeConfig(theme);\n return getMonthHeight(\n this.daysCount,\n this.offset,\n DAY_HEIGHT,\n MONTH_TITLE_OFFSET_HEIGHT,\n MONTH_BOTTOM_MARGIN,\n CALENDAR_GRID_ROW_SPACING,\n );\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (\n daysCount: number,\n offset: number,\n dayHeight: number,\n titleHeight: number,\n marginBottom: number,\n rowSpacing: number,\n ) => {\n const weeks = Math.ceil((daysCount + offset) / 7);\n return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);\n },\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, getMonthInHumanFormat(month), 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,IAAM,SAAS,GAAG,IAAI,CACpB,UACE,oBAA4B,EAC5B,oBAA4B,EAC5B,uBAA+B,EAC/B,sBAA8B,EAC9B,SAAiB,EACjB,UAAkB,EAClB,aAAqB,EACrB,iBAAyB,EACzB,yBAAiC,EACjC,sBAA8B;IAE9B,IAAM,gBAAgB,GACpB,QAAQ,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACtG,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;QAChC,kBAAkB,EAAE,gBAAgB;QACpC,yBAAyB,EAAE,gBAAgB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,uBAAuB;QAC3G,cAAc,EAAE,QAAQ,CAAC,aAAa,CAAC;QACvC,mBAAmB,EAAE,QAAQ,CAAC,iBAAiB,CAAC;QAChD,8BAA8B,EAAE,QAAQ,CAAC,yBAAyB,CAAC;QACnE,yBAAyB,EAAE,QAAQ,CAAC,sBAAsB,CAAC;KAC5D,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,CAAQ;IAClC,OAAA,SAAS,CACP,CAAC,CAAC,4BAA4B,EAC9B,CAAC,CAAC,4BAA4B,EAC9B,CAAC,CAAC,+BAA+B,EACjC,CAAC,CAAC,8BAA8B,EAChC,CAAC,CAAC,iBAAiB,EACnB,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,qBAAqB,EACvB,CAAC,CAAC,yBAAyB,EAC3B,CAAC,CAAC,iCAAiC,EACnC,CAAC,CAAC,sBAAsB,CACzB;AAXD,CAWC,CAAC","sourcesContent":["import { memo } from '../../lib/memo.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nconst getConfig = memo(\n (\n monthTitleLineHeight: string,\n monthTitlePaddingTop: string,\n monthTitlePaddingBottom: string,\n monthTitleMarginBottom: string,\n cellWidth: string,\n cellHeight: string,\n wrapperHeight: string,\n monthMarginBottom: string,\n maxMonthsToAppendOnScroll: string,\n calendarGridRowSpacing: string,\n ) => {\n const monthTitleHeight =\n parseInt(monthTitleLineHeight) + parseInt(monthTitlePaddingTop) + parseInt(monthTitlePaddingBottom);\n return {\n DAY_WIDTH: parseInt(cellWidth),\n DAY_HEIGHT: parseInt(cellHeight),\n MONTH_TITLE_HEIGHT: monthTitleHeight,\n MONTH_TITLE_OFFSET_HEIGHT: monthTitleHeight + parseInt(monthTitleMarginBottom) + 1, // + 1px separator line\n WRAPPER_HEIGHT: parseInt(wrapperHeight),\n MONTH_BOTTOM_MARGIN: parseInt(monthMarginBottom),\n MAX_MONTHS_TO_APPEND_ON_SCROLL: parseInt(maxMonthsToAppendOnScroll),\n CALENDAR_GRID_ROW_SPACING: parseInt(calendarGridRowSpacing),\n };\n },\n);\n\nexport const themeConfig = (t: Theme): ReturnType<typeof getConfig> =>\n getConfig(\n t.calendarMonthTitleLineHeight,\n t.calendarMonthTitlePaddingTop,\n t.calendarMonthTitlePaddingBottom,\n t.calendarMonthTitleMarginBottom,\n t.calendarCellWidth,\n t.calendarCellHeight,\n t.calendarWrapperHeight,\n t.calendarMonthMarginBottom,\n t.calendarMaxMonthsToAppendOnScroll,\n t.calendarGridRowSpacing,\n );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './Calendar.js';\nexport * from './CalendarDateShape.js';\nexport * from './CalendarDay.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAmB;IAC/C,MAAM,EAAE;QACN,SAAS;QACT,UAAU;QACV,OAAO;QACP,OAAO;QACP,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ;QACR,WAAW;QACX,SAAS;QACT,UAAU;QACV,UAAU;KACX;IACD,0BAA0B,EAAE,aAAa;CAC1C,CAAC","sourcesContent":["import type { CalendarLocale } from '../types.js';\n\nexport const componentsLocales: CalendarLocale = {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n dayCellChooseDateAriaLabel: 'Choose date',\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ru.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ru.js","sourceRoot":"","sources":["ru.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAmB;IAC/C,MAAM,EAAE;QACN,QAAQ;QACR,SAAS;QACT,MAAM;QACN,QAAQ;QACR,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ;QACR,UAAU;QACV,SAAS;QACT,QAAQ;QACR,SAAS;KACV;IACD,0BAA0B,EAAE,cAAc;CAC3C,CAAC","sourcesContent":["import type { CalendarLocale } from '../types.js';\n\nexport const componentsLocales: CalendarLocale = {\n months: [\n 'Январь',\n 'Февраль',\n 'Март',\n 'Апрель',\n 'Май',\n 'Июнь',\n 'Июль',\n 'Август',\n 'Сентябрь',\n 'Октябрь',\n 'Ноябрь',\n 'Декабрь',\n ],\n dayCellChooseDateAriaLabel: 'Выбрать дату',\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"","sourcesContent":["export interface CalendarLocale {\n months?: string[];\n selectMonthAriaLabel?: string;\n selectYearAriaLabel?: string;\n selectChosenAriaLabel?: string;\n dayCellChooseDateAriaLabel?: string;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Center.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Center.js","sourceRoot":"","sources":["Center.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAe/C,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,cAAc;CACZ,CAAC;AAKX;;;;GAIG;AAGH;IAA4B,0BAA4B;IAAxD;;QAOU,cAAQ,GAAG,iBAAiB,CAAC,QAAM,CAAC,YAAY,CAAC,CAAC;QAiBlD,gBAAU,GAAG,UAAC,KAAqD;;YACjE,IAAA,KAAK,GAAc,KAAK,MAAnB,EAAK,IAAI,UAAK,KAAK,EAA1B,SAAkB,CAAF,CAAW;YAEjC,OAAO,CACL,kDACY,cAAc,CAAC,IAAI,IACzB,IAAI,IACR,SAAS,EAAE,KAAI,CAAC,EAAE;oBAChB,GAAC,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAG,IAAI;oBAC1B,GAAC,KAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAG,KAAK,KAAK,MAAM;oBAC/C,GAAC,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAG,KAAK,KAAK,OAAO;wBACjD;gBAEF,8BAAM,SAAS,EAAE,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAI;gBACzC,8BAAM,SAAS,EAAE,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAQ,CAClE,CACP,CAAC;QACJ,CAAC,CAAC;;IACJ,CAAC;eA1CY,MAAM;IAeV,uBAAM,GAAb;QACE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,CACL,oBAAC,aAAa,aAAC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAM,IAAI,CAAC,QAAQ,EAAE,GAC9D,IAAI,CAAC,UAAU,CACF,CACjB,CAAC;IACJ,CAAC;;IAtBa,0BAAmB,GAAG,QAAQ,AAAX,CAAY;IAC/B,kBAAW,GAAG,QAAQ,AAAX,CAAY;IAEvB,mBAAY,GAAiB;QACzC,KAAK,EAAE,QAAQ;KAChB,AAFyB,CAExB;IANS,MAAM;QAFlB,qBAAqB;QACrB,QAAQ;OACI,MAAM,CA0ClB;IAAD,aAAC;CAAA,AA1CD,CAA4B,KAAK,CAAC,SAAS,GA0C1C;SA1CY,MAAM","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles } from './Center.styles.js';\n\nexport type HorizontalAlign = 'left' | 'center' | 'right';\n\nexport interface CenterProps\n extends\n CommonProps,\n Override<\n React.HTMLAttributes<HTMLDivElement>,\n {\n /** Выравнивает контент по горизонтали: слева, по центру или справа. */\n align?: HorizontalAlign;\n }\n > {}\n\nexport const CenterDataTids = {\n root: 'Center__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CenterProps, 'align'>>;\ntype DefaultizedCenterProps = DefaultizedProps<CenterProps, DefaultProps>;\n\n/**\n * Контейнер, который центрирует элементы внутри себя.\n *\n * Выравнивание задаётся пропом `align`: слева, по центру или справа.\n */\n@withRenderEnvironment\n@rootNode\nexport class Center extends React.Component<CenterProps> {\n public static __KONTUR_REACT_UI__ = 'Center';\n public static displayName = 'Center';\n\n public static defaultProps: DefaultProps = {\n align: 'center',\n };\n private getProps = createPropsGetter(Center.defaultProps);\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n private renderMain = (props: CommonWrapperRestProps<DefaultizedCenterProps>) => {\n const { align, ...rest } = props;\n\n return (\n <div\n data-tid={CenterDataTids.root}\n {...rest}\n className={this.cx({\n [this.styles.root()]: true,\n [this.styles.rootAlignLeft()]: align === 'left',\n [this.styles.rootAlignRight()]: align === 'right',\n })}\n >\n <span className={this.styles.spring()} />\n <span className={this.styles.container()}>{this.props.children}</span>\n </div>\n );\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Center.styles.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Center.styles.js","sourceRoot":"","sources":["Center.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,2HAAA,wDAGT,KAAC;QACJ,CAAC;QAED,aAAa;YACX,OAAO,GAAG,oGAAA,iCAET,KAAC;QACJ,CAAC;QAED,cAAc;YACZ,OAAO,GAAG,qGAAA,kCAET,KAAC;QACJ,CAAC;QAED,MAAM;YACJ,OAAO,GAAG,6JAAA,0FAIT,KAAC;QACJ,CAAC;QAED,SAAS;YACP,OAAO,GAAG,iKAAA,8FAIT,KAAC;QACJ,CAAC;KACF,CAAC;AAnC8D,CAmC9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n height: 100%;\n text-align: center;\n `;\n },\n\n rootAlignLeft() {\n return css`\n text-align: left;\n `;\n },\n\n rootAlignRight() {\n return css`\n text-align: right;\n `;\n },\n\n spring() {\n return css`\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n `;\n },\n\n container() {\n return css`\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n `;\n },\n}));\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC","sourcesContent":["export * from './Center.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles, globalClasses } from './Checkbox.styles.js';\nimport { CheckedIcon } from './CheckedIcon.js';\nimport { IndeterminateIcon } from './IndeterminateIcon.js';\n\nexport interface CheckboxProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Размер чекбокса. */\n size?: SizeProp;\n\n /** HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Событие изменения value. */\n onValueChange?: (value: boolean) => void;\n\n /** HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n/**\n * Чекбокс используется для управления параметром с двумя состояниями.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.boxWrapperLarge(this.theme);\n case 'medium':\n return this.styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n private size!: SizeProp;\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n private getProps = createPropsGetter({});\n private keyListener!: KeyListener;\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n this.globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n this.globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программно устанавливает фокус на чекбокс.\n * @public\n */\n public focus(): void {\n this.keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программно снимает фокус с чекбокса.\n * @public\n */\n public blur(): void {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = (): void => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = (): void => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n onClick,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = this.cx(\n this.styles.icon(),\n !this.props.checked && !isIndeterminate && this.styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = this.cx(this.getRootSizeClassName(), {\n [this.styles.root(this.theme)]: true,\n [this.styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [this.styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [this.styles.disabled(this.theme)]: Boolean(this.props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: this.styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleInputClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.cx({\n [this.styles.caption(this.theme)]: true,\n [this.styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.cx(this.getBoxWrapperSizeClassName(), {\n [this.styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.cx(this.styles.box(this.theme), globalClasses.box, {\n [this.styles.boxChecked(this.theme)]: this.props.checked || isIndeterminate,\n [this.styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [this.styles.boxError(this.theme)]: this.props.error,\n [this.styles.boxWarning(this.theme)]: this.props.warning,\n [this.styles.boxDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={this.handleLabelClick}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleLabelClick = (e: React.MouseEvent<HTMLLabelElement>) => {\n const handleModifierClickInFirefox = fixFirefoxModifiedClickOnLabel(this.input);\n handleModifierClickInFirefox(e);\n if (this.props.onClick && e.target !== this.input.current) {\n e.stopPropagation();\n }\n };\n\n private handleInputClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles, globalClasses } from './Checkbox.styles.js';\nimport { CheckedIcon } from './CheckedIcon.js';\nimport { IndeterminateIcon } from './IndeterminateIcon.js';\n\nexport interface CheckboxProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Размер чекбокса. */\n size?: SizeProp;\n\n /** HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Событие изменения value. */\n onValueChange?: (value: boolean) => void;\n\n /** HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n/**\n * Чекбокс используется для управления параметром с двумя состояниями.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.boxWrapperLarge(this.theme);\n case 'medium':\n return this.styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n private size!: SizeProp;\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n private getProps = createPropsGetter({});\n private keyListener!: KeyListener;\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n this.globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n this.globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программно устанавливает фокус на чекбокс.\n * @public\n */\n public focus(): void {\n this.keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программно снимает фокус с чекбокса.\n * @public\n */\n public blur(): void {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = (): void => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = (): void => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n onClick,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = this.cx(\n this.styles.icon(),\n !this.props.checked && !isIndeterminate && this.styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = this.cx(this.getRootSizeClassName(), {\n [this.styles.root(this.theme)]: true,\n [this.styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [this.styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [this.styles.disabled(this.theme)]: Boolean(this.props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: this.styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleInputClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.cx({\n [this.styles.caption(this.theme)]: true,\n [this.styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.cx(this.getBoxWrapperSizeClassName(), {\n [this.styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.cx(this.styles.box(this.theme), globalClasses.box, {\n [this.styles.boxChecked(this.theme)]: this.props.checked || isIndeterminate,\n [this.styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [this.styles.boxError(this.theme)]: this.props.error,\n [this.styles.boxWarning(this.theme)]: this.props.warning,\n [this.styles.boxDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={this.handleLabelClick}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleLabelClick = (e: React.MouseEvent<HTMLLabelElement>) => {\n const handleModifierClickInFirefox = fixFirefoxModifiedClickOnLabel(this.input);\n handleModifierClickInFirefox(e);\n if (this.props.onClick && e.target !== this.input.current) {\n e.stopPropagation();\n }\n };\n\n private handleInputClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.mixins.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Checkbox.mixins.js","sourceRoot":"","sources":["Checkbox.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAE9G,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,QAAgB,EAChB,UAAkB,EAClB,QAAgB,EAChB,eAAuB,EACvB,QAAgB;IAEhB,OAAO,6BACU,UAAU,+BACZ,QAAQ,6BACV,QAAQ,cAAI,QAAQ,gDAGpB,eAAe,iBAE3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,gCAAwC,EACxC,QAAgB,EAChB,eAAuB,EACvB,kBAA0B,EAC1B,gBAAwB;IAExB,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAM,oBAAoB,GAAG,mCAAmC,CAC9D,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,OAAO,uBACI,eAAe,4BACd,eAAe,qCACN,kBAAkB,gBAAM,oBAAoB,6BACvD,gBAAgB,UACzB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { isChrome, isFirefox } from '../../lib/client.js';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';\n\nexport const checkboxSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingY: string,\n checkboxBoxSize: string,\n paddingX: string,\n): string => {\n return `\n line-height: ${lineHeight};\n font-size: ${fontSize};\n padding: ${paddingY} ${paddingX};\n\n &::before {\n width: ${checkboxBoxSize};\n }\n `;\n};\n\nexport const boxWrapperSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n checkboxBoxSize: string,\n checkboxBoxOffsetY: string,\n checkboxPaddingX: string,\n): string => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const boxFontSize = parseInt(fontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(\n boxFontSize,\n labGrotesqueCompenstation,\n isChrome,\n isFirefox,\n );\n\n return `\n width: ${checkboxBoxSize};\n height: ${checkboxBoxSize};\n margin-top: calc(${checkboxBoxOffsetY} + ${baselineCompensation}px);\n left: ${checkboxPaddingX};\n `;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["Checkbox.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { boxWrapperSizeMixin, checkboxSizeMixin } from './Checkbox.mixins.js';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .${globalClasses.box} {\n transition:\n background ${t.transitionDuration} ${t.transitionTimingFunction},\n box-shadow ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeSmall,\n t.checkboxLineHeightSmall,\n t.checkboxPaddingYSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n rootMedium(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeMedium,\n t.checkboxLineHeightMedium,\n t.checkboxPaddingYMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n rootLarge(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeLarge,\n t.checkboxLineHeightLarge,\n t.checkboxPaddingYLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n boxWrapper(t: Theme) {\n return css`\n position: absolute;\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n\n display: inline-block; \n )};\n `;\n },\n\n boxWrapperSmall(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n boxWrapperMedium(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n boxWrapperLarge(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n}));\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckedIcon.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"CheckedIcon.js","sourceRoot":"","sources":["CheckedIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,MAAM,CAAC,IAAM,WAAW,GAAG,SAAS,CAClC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,EAA/B,CAA+B;IAC5C,MAAM,EAAE,cAAM,OAAA,oBAAC,iBAAiB,OAAG,EAArB,CAAqB;IACnC,KAAK,EAAE,cAAM,OAAA,oBAAC,iBAAiB,OAAG,EAArB,CAAqB;CACnC,EACD,aAAa,CACd,CAAC","sourcesContent":["import React from 'react';\n\nimport { CheckAIcon16Solid } from '../../internal/icons2022/CheckAIcon/CheckAIcon16Solid.js';\nimport { CheckAIcon20Solid } from '../../internal/icons2022/CheckAIcon/CheckAIcon20Solid.js';\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\n\nexport const CheckedIcon = iconSizer(\n {\n small: () => <CheckAIcon16Solid size={12} />,\n medium: () => <CheckAIcon16Solid />,\n large: () => <CheckAIcon20Solid />,\n },\n 'CheckedIcon',\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndeterminateIcon.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"IndeterminateIcon.js","sourceRoot":"","sources":["IndeterminateIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oEAAoE,CAAC;AAE5G,MAAM,CAAC,IAAM,iBAAiB,GAAG,SAAS,CACxC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,sBAAsB,IAAC,IAAI,EAAE,CAAC,GAAI,EAAnC,CAAmC;IAChD,MAAM,EAAE,cAAM,OAAA,oBAAC,sBAAsB,IAAC,IAAI,EAAE,CAAC,GAAI,EAAnC,CAAmC;IACjD,KAAK,EAAE,cAAM,OAAA,oBAAC,sBAAsB,IAAC,IAAI,EAAE,EAAE,GAAI,EAApC,CAAoC;CAClD,EACD,mBAAmB,CACpB,CAAC","sourcesContent":["import React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\nimport { ShapeSquareIcon16Solid } from '../../internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js';\n\nexport const IndeterminateIcon = iconSizer(\n {\n small: () => <ShapeSquareIcon16Solid size={6} />,\n medium: () => <ShapeSquareIcon16Solid size={8} />,\n large: () => <ShapeSquareIcon16Solid size={10} />,\n },\n 'IndeterminateIcon',\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './Checkbox.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../../../components/ComboBox/ComboBox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAgNvD;uLACuL;AAEvL;IAAgD,4BAAiC;IAAjF;;QAgBU,cAAQ,GAAG,iBAAiB,CAAC,UAAQ,CAAC,YAAY,CAAC,CAAC;QAEpD,qBAAe,GAAgC,IAAI,CAAC;QAsFpD,uBAAiB,GAAG,UAAC,OAAoC;YAC/D,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC,CAAC;;IACJ,CAAC;iBA5GY,QAAQ;IAsBnB;;OAEG;IACI,wBAAK,GAAZ,UAAa,IAAwC;QACnD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,uBAAI,GAAX;QACE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,yBAAM,GAAb,UAAc,KAAc;QAC1B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,+BAAY,GAAnB;QACE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,uBAAI,GAAX;QACE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,wBAAK,GAAZ;QACE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,kCAAe,GAAtB;QACE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,wBAAK,GAAZ;QACE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAEM,yBAAM,GAAb;QACE,OAAO,oBAAC,cAAc,eAAK,IAAI,CAAC,QAAQ,EAAE,IAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC;IACrG,CAAC;;IArGa,4BAAmB,GAAG,UAAU,AAAb,CAAc;IACjC,oBAAW,GAAG,UAAU,AAAb,CAAc;IAEzB,qBAAY,GAAsB;QAC9C,QAAQ,EAAE,UAAC,IAAkB,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU;QAC5C,aAAa,EAAE,UAAC,IAAkB,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU;QACjD,WAAW,EAAE,UAAC,IAAkB,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU;QAC/C,UAAU,EAAE,UAAC,IAAkB,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU;QAC9C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,YAAY;KACvB,AAVyB,CAUxB;IAdS,QAAQ;QADpB,QAAQ;OACI,QAAQ,CA4GpB;IAAD,eAAC;CAAA,AA5GD,CAAgD,KAAK,CAAC,SAAS,GA4G9D;SA5GY,QAAQ","sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { CustomComboBox } from '../../internal/CustomComboBox/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { InputIconType, ShowClearIcon } from '../Input/Input.js';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../MaskedInput/MaskedInput.js';\nimport type { MenuItemState } from '../MenuItem/MenuItem.js';\n\nexport type ComboBoxViewMode = 'singleline' | 'multiline' | 'multiline-editing';\n\nexport interface ComboBoxProps<T>\n extends\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>,\n CommonProps {\n /** Показывает иконку очистки значения в заполненном поле.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Ввыравнивание текста в поле. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на комбобоксе после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку поля. */\n borderless?: boolean;\n\n /** По умолчанию выпадающий список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\n disablePortal?: boolean;\n\n /** Блокирует комбобокс. */\n disabled?: boolean;\n\n /** Переводит комбобокс в состояние ошибки. */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToId`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Сравнивает полученные результаты с `value`. */\n itemToId?: (item: T) => string | number;\n\n /** Mаксимальная длина значения, которое пользователь может ввести в поле. */\n maxLength?: number;\n\n /** Расположение выпадающего списка — над или под полем.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Событие потери комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Событие изменения значения (`value`) в поле. */\n onValueChange?: (value: T) => void;\n\n /** Событие получения комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Событие, которое вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода.\n *\n * **Не рекомендуется менять значение, передаваемое в проп `value`, внутри этой функции. Используйте для этих целей `onValueChange` или `onUnexpectedInput`. Иначе возможно неожиданное поведение компонента.**\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Событие обработки ввода строки в поле ввода и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом поля строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет совпадать со значение в текстовом поле, то сработает `onValueChange` со значением данного элемента.\n * Сама функция также может вернуть значение, не равное undefined, с которым будет вызван `onValueChange`. Если возвращаемое значение будет равно null, то сработает очистка текущего значения поля, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Отрисовывает элементы результата поиска.\n * Не применяется, если элемент является функцией или React-элементом.\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Отображает сообщение о пустом результате поиска. При `renderAddButton` не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые `getItems()`.\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Отрисовывает кнопку добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Возвращает строковое представление `value`. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Размер комбобокса. */\n size?: SizeProp;\n\n /** Переводит комбобокс в состояние предупреждения. */\n warning?: boolean;\n\n /** Ширина комбобокса. */\n width?: string | number;\n\n /** Максимальная высота выпадающего списка. */\n maxMenuHeight?: number | string;\n\n /** Событие наведения мышкой (событие `onmouseenter`). Смотрите разницу с `onMouseOver` в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Событие наведения мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Событие ухода мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Событие нажатия кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задаёт типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n /** Событие вставки значения в поле с маской. */\n onBeforePasteInMask?: MaskedInputOnBeforePasteValue;\n\n /** Режим отображения комбобокса:\n * - `\"singleline\"` — однострочное поле;\n * - `\"multiline\"` — многострочное поле;\n * - `\"multiline-editing\"` — поле становится многострочным только при редактировании.\n *\n * Многострочные режимы не работают, если указан проп `mask`. В таком случае будет отображаться однострочное поле.\n * @default singleline */\n viewMode?: ComboBoxViewMode;\n\n /** Максимальное количество отображаемых строк, если для поля добавлен проп многострочного режима — `\"multiline\"` или `\"multiline-editing\"`. */\n maxRows?: number;\n\n /** Отключает выравнивание текста пунктов списка относительно иконок в других пунктах. */\n preventIconsOffset?: boolean;\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n | 'itemToId'\n | 'valueToString'\n | 'renderValue'\n | 'renderItem'\n | 'menuAlign'\n | 'searchOnFocus'\n | 'drawArrow'\n | 'showClearIcon'\n | 'viewMode'\n >\n>;\n\n/**\n * Комбобокс — поле ввода с выпадающим списком подсказок, из которых пользователь может выбрать нужное. Открыть выпадающий список можно ещё до начала ввода значения, нажав на поле. */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToId: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n showClearIcon: 'never',\n viewMode: 'singleline',\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /** Программно устанавливает фокус на комбобокс.\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }): void {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /** Программно снимает фокус с комбобокса.\n * @public\n */\n public blur(): void {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /** Открывает список значений и запускает поиск.\n *\n * По умолчанию для поиска используется введенное в поле значение или результат `valueToString(value)`.\n *\n * @public\n * @param {string} [query] Текст поиска.`\n */\n public search(query?: string): void {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /** Отменяет текущий поиск — останавливает фильтрацию и очищает результаты поиска.\n * @public\n */\n public cancelSearch(): void {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /** Открывает выпадающий список.\n * @public\n */\n public open(): void {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /** Закрывает выпадающий список.\n * @public\n */\n public close(): void {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Переводит фокус в поле, если ещё не в фокусе, и выделяет весь текст в нём.\n * @public\n */\n public selectInputText(): void {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введённое пользователем значение без изменения `value`.\n * @public\n */\n public reset(): void {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render(): React.JSX.Element {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["ComboBox.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { CustomComboBox } from '../../internal/CustomComboBox/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { InputIconType, ShowClearIcon } from '../Input/Input.js';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../MaskedInput/MaskedInput.js';\nimport type { MenuItemState } from '../MenuItem/MenuItem.js';\n\nexport type ComboBoxViewMode = 'singleline' | 'multiline' | 'multiline-editing';\n\nexport interface ComboBoxProps<T>\n extends\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>,\n CommonProps {\n /** Показывает иконку очистки значения в заполненном поле.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Ввыравнивание текста в поле. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска `getItems` при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на комбобоксе после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку поля. */\n borderless?: boolean;\n\n /** По умолчанию выпадающий список рендерится через [паттерн Portal](https://react.dev/reference/react-dom/createPortal). Проп отключает использование Portal и список рендерится как обычный блок с абсолютным позиционированием внутри компонента. */\n disablePortal?: boolean;\n\n /** Блокирует комбобокс. */\n disabled?: boolean;\n\n /** Переводит комбобокс в состояние ошибки. */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задаёт функцию поиска элементов, которая должна возвращать Promise с массивом значений.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToId`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Сравнивает полученные результаты с `value`. */\n itemToId?: (item: T) => string | number;\n\n /** Mаксимальная длина значения, которое пользователь может ввести в поле. */\n maxLength?: number;\n\n /** Расположение выпадающего списка — над или под полем.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Событие потери комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Событие изменения значения (`value`) в поле. */\n onValueChange?: (value: T) => void;\n\n /** Событие получения комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Событие, которое вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода.\n *\n * **Не рекомендуется менять значение, передаваемое в проп `value`, внутри этой функции. Используйте для этих целей `onValueChange` или `onUnexpectedInput`. Иначе возможно неожиданное поведение компонента.**\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Событие обработки ввода строки в поле ввода и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом поля строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет совпадать со значение в текстовом поле, то сработает `onValueChange` со значением данного элемента.\n * Сама функция также может вернуть значение, не равное undefined, с которым будет вызван `onValueChange`. Если возвращаемое значение будет равно null, то сработает очистка текущего значения поля, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Отрисовывает элементы результата поиска.\n * Не применяется, если элемент является функцией или React-элементом.\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Отображает сообщение о пустом результате поиска. При `renderAddButton` не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые `getItems()`.\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Отрисовывает кнопку добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Возвращает строковое представление `value`. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Размер комбобокса. */\n size?: SizeProp;\n\n /** Переводит комбобокс в состояние предупреждения. */\n warning?: boolean;\n\n /** Ширина комбобокса. */\n width?: string | number;\n\n /** Максимальная высота выпадающего списка. */\n maxMenuHeight?: number | string;\n\n /** Событие наведения мышкой (событие `onmouseenter`). Смотрите разницу с `onMouseOver` в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Событие наведения мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Событие ухода мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Событие нажатия кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задаёт типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n /** Событие вставки значения в поле с маской. */\n onBeforePasteInMask?: MaskedInputOnBeforePasteValue;\n\n /** Режим отображения комбобокса:\n * - `\"singleline\"` — однострочное поле;\n * - `\"multiline\"` — многострочное поле;\n * - `\"multiline-editing\"` — поле становится многострочным только при редактировании.\n *\n * Многострочные режимы не работают, если указан проп `mask`. В таком случае будет отображаться однострочное поле.\n * @default singleline */\n viewMode?: ComboBoxViewMode;\n\n /** Максимальное количество отображаемых строк, если для поля добавлен проп многострочного режима — `\"multiline\"` или `\"multiline-editing\"`. */\n maxRows?: number;\n\n /** Отключает выравнивание текста пунктов списка относительно иконок в других пунктах. */\n preventIconsOffset?: boolean;\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n | 'itemToId'\n | 'valueToString'\n | 'renderValue'\n | 'renderItem'\n | 'menuAlign'\n | 'searchOnFocus'\n | 'drawArrow'\n | 'showClearIcon'\n | 'viewMode'\n >\n>;\n\n/**\n * Комбобокс — поле ввода с выпадающим списком подсказок, из которых пользователь может выбрать нужное. Открыть выпадающий список можно ещё до начала ввода значения, нажав на поле. */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToId: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n showClearIcon: 'never',\n viewMode: 'singleline',\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /** Программно устанавливает фокус на комбобокс.\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }): void {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /** Программно снимает фокус с комбобокса.\n * @public\n */\n public blur(): void {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /** Открывает список значений и запускает поиск.\n *\n * По умолчанию для поиска используется введенное в поле значение или результат `valueToString(value)`.\n *\n * @public\n * @param {string} [query] Текст поиска.`\n */\n public search(query?: string): void {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /** Отменяет текущий поиск — останавливает фильтрацию и очищает результаты поиска.\n * @public\n */\n public cancelSearch(): void {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /** Открывает выпадающий список.\n * @public\n */\n public open(): void {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /** Закрывает выпадающий список.\n * @public\n */\n public close(): void {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Переводит фокус в поле, если ещё не в фокусе, и выделяет весь текст в нём.\n * @public\n */\n public selectInputText(): void {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введённое пользователем значение без изменения `value`.\n * @public\n */\n public reset(): void {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render(): React.JSX.Element {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"]}
|