@skbkontur/react-ui 0.0.0-c13bb5f4ca → 0.0.0-c37930b3b1
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 +85 -0
- package/cjs/components/Autocomplete/Autocomplete.js +1 -3
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.js +1 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.mixins.d.ts +0 -1
- package/cjs/components/Button/Button.mixins.js +2 -9
- package/cjs/components/Button/Button.mixins.js.map +1 -1
- package/cjs/components/Button/Button.styles.d.ts +0 -3
- package/cjs/components/Button/Button.styles.js +63 -87
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.d.ts +3 -0
- package/cjs/components/Checkbox/Checkbox.js +10 -24
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +0 -3
- package/cjs/components/Checkbox/Checkbox.styles.js +16 -43
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +4 -7
- package/cjs/components/ComboBox/ComboBox.js +3 -14
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/CurrencyInput/CurrencyInput.d.ts +0 -1
- package/cjs/components/CurrencyInput/CurrencyInput.js +9 -13
- package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/cjs/components/CurrencyInput/CursorHelper.js +5 -2
- package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -2
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
- package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +1 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/Group/Group.js +1 -3
- package/cjs/components/Group/Group.js.map +1 -1
- package/cjs/components/Group/Group.styles.d.ts +0 -1
- package/cjs/components/Group/Group.styles.js +3 -9
- package/cjs/components/Group/Group.styles.js.map +1 -1
- package/cjs/components/Input/Input.js +4 -10
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Input/Input.styles.d.ts +0 -6
- package/cjs/components/Input/Input.styles.js +16 -67
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Loader/Loader.js +3 -3
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
- package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.d.ts +8 -0
- package/cjs/components/MaskedInput/MaskedInput.js +23 -2
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MenuFooter/MenuFooter.js +0 -1
- package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
- package/cjs/components/MenuHeader/MenuHeader.js +0 -1
- package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
- package/cjs/components/Modal/Modal.d.ts +1 -1
- package/cjs/components/Modal/Modal.js +2 -6
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +0 -1
- package/cjs/components/Paging/Paging.js +13 -18
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +1 -13
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Radio/Radio.js +3 -7
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.d.ts +0 -2
- package/cjs/components/Radio/Radio.styles.js +19 -31
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/ResponsiveLayout/decorator.d.ts +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js +1 -2
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +10 -20
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +1 -2
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +0 -1
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.styles.js +10 -15
- package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +3 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +0 -1
- package/cjs/components/Textarea/Textarea.js +4 -5
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Toast/ToastStatic.js +3 -1
- package/cjs/components/Toast/ToastStatic.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
- package/cjs/components/TokenInput/TokenInput.js +40 -24
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
- package/cjs/components/Tooltip/Tooltip.js +14 -9
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js +3 -2
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +3 -2
- package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -6
- package/cjs/internal/CustomComboBox/CustomComboBox.js +11 -16
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +1 -1
- package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +0 -10
- package/cjs/internal/InputLikeText/InputLikeText.js +5 -98
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -7
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.d.ts +0 -2
- package/cjs/internal/Menu/Menu.styles.js +9 -23
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/Popup/Popup.js +34 -27
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupPin.js +85 -43
- package/cjs/internal/Popup/PopupPin.js.map +1 -1
- package/cjs/internal/PopupMenu/validatePositions.js +5 -2
- package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
- package/cjs/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
- package/cjs/internal/SpinnerIcon/SpinnerIcon.js +1 -55
- package/cjs/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
- package/cjs/internal/icons2022/LoadingIcon.js +0 -1
- package/cjs/internal/icons2022/LoadingIcon.js.map +1 -1
- package/cjs/internal/themes/BasicTheme.js +1 -1
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme5_4.js +10 -0
- package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
- package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
- package/cjs/internal/themes/LightTheme5_4.js +10 -0
- package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
- package/cjs/lib/client.d.ts +0 -2
- package/cjs/lib/client.js +1 -3
- package/cjs/lib/client.js.map +1 -1
- package/cjs/lib/date/InternalDate.js +5 -4
- package/cjs/lib/date/InternalDate.js.map +1 -1
- package/cjs/lib/dom/getDOMRect.d.ts +1 -1
- package/cjs/lib/dom/getScrollWidth.js +4 -2
- package/cjs/lib/dom/getScrollWidth.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +1 -7
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.js +2 -10
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +3 -1
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.js +1 -3
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
- package/cjs/lib/rootNode/getRootNode.js +2 -2
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/styles/Mixins.js +1 -3
- package/cjs/lib/styles/Mixins.js.map +1 -1
- package/cjs/lib/theming/ThemeHelpers.js +1 -1
- package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
- package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
- package/cjs/lib/theming/ThemeVersions.js.map +1 -1
- package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/DarkTheme.js +4 -2
- package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
- package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
- package/cjs/lib/theming/themes/LightTheme.js +4 -2
- package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
- package/cjs/lib/typeGuards.js +1 -1
- package/cjs/lib/typeGuards.js.map +1 -1
- package/cjs/lib/utils.d.ts +1 -1
- package/cjs/lib/withClassWrapper.js +5 -2
- package/cjs/lib/withClassWrapper.js.map +1 -1
- package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -3
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Button/Button/Button.js +4 -4
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.mixins/Button.mixins.js +1 -4
- package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
- package/components/Button/Button.mixins.d.ts +0 -1
- package/components/Button/Button.styles/Button.styles.js +64 -73
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Button/Button.styles.d.ts +0 -3
- package/components/Checkbox/Checkbox/Checkbox.js +7 -21
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +3 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +16 -25
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +0 -3
- package/components/ComboBox/ComboBox/ComboBox.js +0 -8
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +4 -7
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +7 -12
- package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
- package/components/CurrencyInput/CurrencyInput.d.ts +0 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js +3 -1
- package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
- package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +1 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/Group/Group/Group.js +1 -2
- package/components/Group/Group/Group.js.map +1 -1
- package/components/Group/Group.styles/Group.styles.js +3 -6
- package/components/Group/Group.styles/Group.styles.js.map +1 -1
- package/components/Group/Group.styles.d.ts +0 -1
- package/components/Input/Input/Input.js +7 -7
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +16 -34
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Input/Input.styles.d.ts +0 -6
- package/components/Loader/Loader/Loader.js +2 -3
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js +11 -1
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +8 -0
- package/components/MenuFooter/MenuFooter/MenuFooter.js +0 -2
- package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -2
- package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
- package/components/Modal/Modal/Modal.js +2 -5
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.d.ts +1 -1
- package/components/Paging/Paging/Paging.js +11 -20
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +0 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +0 -7
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/Radio/Radio/Radio.js +3 -4
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.styles/Radio.styles.js +19 -25
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +0 -2
- package/components/ResponsiveLayout/decorator.d.ts +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -2
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +10 -13
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
- package/components/SidePage/SidePage/SidePage.js +1 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/Spinner/Spinner/Spinner.js +0 -1
- package/components/Spinner/Spinner/Spinner.js.map +1 -1
- package/components/Spinner/Spinner.styles/Spinner.styles.js +2 -3
- package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +3 -1
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Textarea/Textarea/Textarea.js +5 -7
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +0 -1
- package/components/Toast/ToastStatic/ToastStatic.js +3 -1
- package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +37 -30
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +2 -0
- package/components/Tooltip/Tooltip/Tooltip.js +22 -17
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +1 -1
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +4 -3
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +4 -4
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +3 -2
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -16
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +4 -6
- package/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +1 -1
- package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +13 -95
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +0 -10
- package/internal/Menu/Menu/Menu.js +1 -3
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/internal/Menu/Menu.styles/Menu.styles.js +9 -15
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/Menu/Menu.styles.d.ts +0 -2
- package/internal/Popup/Popup/Popup.js +21 -20
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/PopupPin/PopupPin.js +36 -22
- package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
- package/internal/PopupMenu/validatePositions/validatePositions.js +3 -1
- package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js +0 -41
- package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js.map +1 -1
- package/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
- package/internal/ThemePlayground/helpers.d.ts +1 -1
- package/internal/icons2022/LoadingIcon/LoadingIcon.js +0 -1
- package/internal/icons2022/LoadingIcon/LoadingIcon.js.map +1 -1
- package/internal/themes/BasicTheme/BasicTheme.js +1 -1
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +15 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
- package/internal/themes/DarkTheme5_4/package.json +6 -0
- package/internal/themes/DarkTheme5_4.d.ts +1 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js +15 -0
- package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
- package/internal/themes/LightTheme5_4/package.json +6 -0
- package/internal/themes/LightTheme5_4.d.ts +1 -0
- package/lib/client/client.js +0 -2
- package/lib/client/client.js.map +1 -1
- package/lib/client.d.ts +0 -2
- package/lib/date/InternalDate/InternalDate.js +5 -4
- package/lib/date/InternalDate/InternalDate.js.map +1 -1
- package/lib/dom/getDOMRect.d.ts +1 -1
- package/lib/dom/getScrollWidth/getScrollWidth.js +3 -1
- package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +0 -7
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +1 -10
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -1
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +1 -2
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js +1 -1
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/styles/Mixins/Mixins.js +1 -1
- package/lib/styles/Mixins/Mixins.js.map +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
- package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
- package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
- package/lib/theming/ThemeVersions.d.ts +1 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
- package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/lib/theming/themes/DarkTheme.d.ts +1 -0
- package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
- package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
- package/lib/theming/themes/LightTheme.d.ts +1 -0
- package/lib/typeGuards/typeGuards.js +1 -1
- package/lib/typeGuards/typeGuards.js.map +1 -1
- package/lib/utils.d.ts +1 -1
- package/lib/withClassWrapper/withClassWrapper.js +3 -1
- package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
- package/package.json +4 -10
- package/cjs/components/Autocomplete/Autocomplete.md +0 -113
- package/cjs/components/Button/Button.md +0 -261
- package/cjs/components/Calendar/Calendar.md +0 -276
- package/cjs/components/Calendar/CalendarDay.md +0 -70
- package/cjs/components/Center/Center.md +0 -26
- package/cjs/components/Checkbox/Checkbox.md +0 -171
- package/cjs/components/ComboBox/ComboBox.md +0 -574
- package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/cjs/components/DateInput/DateInput.md +0 -111
- package/cjs/components/DatePicker/DatePicker.md +0 -368
- package/cjs/components/Dropdown/Dropdown.md +0 -45
- package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
- package/cjs/components/FileUploader/FileUploader.md +0 -131
- package/cjs/components/FxInput/FxInput.md +0 -31
- package/cjs/components/Gapped/Gapped.md +0 -44
- package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
- package/cjs/components/Group/Group.md +0 -19
- package/cjs/components/Hint/Hint.md +0 -86
- package/cjs/components/Input/Input.md +0 -86
- package/cjs/components/Kebab/Kebab.md +0 -306
- package/cjs/components/Link/Link.md +0 -182
- package/cjs/components/Loader/Loader.md +0 -33
- package/cjs/components/MaskedInput/MaskedInput.md +0 -114
- package/cjs/components/MenuFooter/MenuFooter.md +0 -27
- package/cjs/components/MenuHeader/MenuHeader.md +0 -35
- package/cjs/components/MenuItem/MenuItem.md +0 -139
- package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
- package/cjs/components/MiniModal/MiniModal.md +0 -231
- package/cjs/components/Modal/Modal.md +0 -56
- package/cjs/components/Paging/Paging.md +0 -57
- package/cjs/components/PasswordInput/PasswordInput.md +0 -29
- package/cjs/components/Radio/Radio.md +0 -57
- package/cjs/components/RadioGroup/RadioGroup.md +0 -44
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
- package/cjs/components/Select/Select.md +0 -113
- package/cjs/components/SidePage/SidePage.md +0 -65
- package/cjs/components/SingleToast/SingleToast.md +0 -36
- package/cjs/components/Spinner/Spinner.md +0 -36
- package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js +0 -197
- package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +0 -1
- package/cjs/components/Sticky/Sticky.md +0 -28
- package/cjs/components/Switcher/Switcher.md +0 -111
- package/cjs/components/Tabs/Tab.md +0 -73
- package/cjs/components/Tabs/Tabs.md +0 -54
- package/cjs/components/Textarea/Textarea.md +0 -58
- package/cjs/components/Toast/Toast.md +0 -69
- package/cjs/components/Toggle/Toggle.md +0 -110
- package/cjs/components/Token/Token.md +0 -48
- package/cjs/components/TokenInput/TokenInput.md +0 -277
- package/cjs/components/Tooltip/Tooltip.md +0 -322
- package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
- package/cjs/internal/DataTids/DATATIDS.md +0 -12
- package/cjs/internal/DataTids/DataTids.d.ts +0 -12
- package/cjs/internal/DataTids/DataTids.js +0 -50
- package/cjs/internal/DataTids/DataTids.js.map +0 -1
- package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/cjs/internal/DataTids/DataTids.styles.js +0 -42
- package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
- package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/cjs/internal/DataTids/componentsDataTids.js +0 -15
- package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
- package/cjs/internal/InputLikeText/HiddenInput.d.ts +0 -13
- package/cjs/internal/InputLikeText/HiddenInput.js +0 -43
- package/cjs/internal/InputLikeText/HiddenInput.js.map +0 -1
- package/cjs/internal/ThemePlayground/Playground.md +0 -7
- package/cjs/lib/events/fixClickFocusIE.d.ts +0 -1
- package/cjs/lib/events/fixClickFocusIE.js +0 -20
- package/cjs/lib/events/fixClickFocusIE.js.map +0 -1
- package/cjs/lib/events/stopPropagation.d.ts +0 -1
- package/cjs/lib/events/stopPropagation.js +0 -7
- package/cjs/lib/events/stopPropagation.js.map +0 -1
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
- package/cjs/lib/theming/ThemeContext.md +0 -265
- package/components/Autocomplete/Autocomplete.md +0 -113
- package/components/Button/Button.md +0 -261
- package/components/Calendar/Calendar.md +0 -276
- package/components/Calendar/CalendarDay.md +0 -70
- package/components/Center/Center.md +0 -26
- package/components/Checkbox/Checkbox.md +0 -171
- package/components/ComboBox/ComboBox.md +0 -574
- package/components/CurrencyInput/CurrencyInput.md +0 -39
- package/components/CurrencyLabel/CurrencyLabel.md +0 -29
- package/components/DateInput/DateInput.md +0 -111
- package/components/DatePicker/DatePicker.md +0 -368
- package/components/Dropdown/Dropdown.md +0 -45
- package/components/DropdownMenu/DropdownMenu.md +0 -290
- package/components/FileUploader/FileUploader.md +0 -131
- package/components/FxInput/FxInput.md +0 -31
- package/components/Gapped/Gapped.md +0 -44
- package/components/GlobalLoader/GlobalLoader.md +0 -97
- package/components/Group/Group.md +0 -19
- package/components/Hint/Hint.md +0 -86
- package/components/Input/Input.md +0 -86
- package/components/Kebab/Kebab.md +0 -306
- package/components/Link/Link.md +0 -182
- package/components/Loader/Loader.md +0 -33
- package/components/MaskedInput/MaskedInput.md +0 -114
- package/components/MenuFooter/MenuFooter.md +0 -27
- package/components/MenuHeader/MenuHeader.md +0 -35
- package/components/MenuItem/MenuItem.md +0 -139
- package/components/MenuSeparator/MenuSeparator.md +0 -14
- package/components/MiniModal/MiniModal.md +0 -231
- package/components/Modal/Modal.md +0 -56
- package/components/Paging/Paging.md +0 -57
- package/components/PasswordInput/PasswordInput.md +0 -29
- package/components/Radio/Radio.md +0 -57
- package/components/RadioGroup/RadioGroup.md +0 -44
- package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
- package/components/ScrollContainer/ScrollContainer.md +0 -224
- package/components/Select/Select.md +0 -113
- package/components/SidePage/SidePage.md +0 -65
- package/components/SingleToast/SingleToast.md +0 -36
- package/components/Spinner/Spinner.md +0 -36
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +0 -146
- package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +0 -1
- package/components/Spinner/SpinnerFallbackAnimation/package.json +0 -6
- package/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
- package/components/Sticky/Sticky.md +0 -28
- package/components/Switcher/Switcher.md +0 -111
- package/components/Tabs/Tab.md +0 -73
- package/components/Tabs/Tabs.md +0 -54
- package/components/Textarea/Textarea.md +0 -58
- package/components/Toast/Toast.md +0 -69
- package/components/Toggle/Toggle.md +0 -110
- package/components/Token/Token.md +0 -48
- package/components/TokenInput/TokenInput.md +0 -277
- package/components/Tooltip/Tooltip.md +0 -322
- package/components/TooltipMenu/TooltipMenu.md +0 -241
- package/internal/DataTids/DATATIDS.md +0 -12
- package/internal/DataTids/DataTids/DataTids.js +0 -69
- package/internal/DataTids/DataTids/DataTids.js.map +0 -1
- package/internal/DataTids/DataTids/package.json +0 -6
- package/internal/DataTids/DataTids.d.ts +0 -12
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
- package/internal/DataTids/DataTids.styles/package.json +0 -6
- package/internal/DataTids/DataTids.styles.d.ts +0 -7
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
- package/internal/DataTids/componentsDataTids/package.json +0 -6
- package/internal/DataTids/componentsDataTids.d.ts +0 -5
- package/internal/InputLikeText/HiddenInput/HiddenInput.js +0 -42
- package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +0 -1
- package/internal/InputLikeText/HiddenInput/package.json +0 -6
- package/internal/InputLikeText/HiddenInput.d.ts +0 -13
- package/internal/ThemePlayground/Playground.md +0 -7
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js +0 -18
- package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +0 -1
- package/lib/events/fixClickFocusIE/package.json +0 -6
- package/lib/events/fixClickFocusIE.d.ts +0 -1
- package/lib/events/stopPropagation/package.json +0 -6
- package/lib/events/stopPropagation/stopPropagation.js +0 -7
- package/lib/events/stopPropagation/stopPropagation.js.map +0 -1
- package/lib/events/stopPropagation.d.ts +0 -1
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
- package/lib/locale/LOCALECONTEXT.md +0 -222
- package/lib/theming/ThemeContext.md +0 -265
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
|
|
2
2
|
|
|
3
3
|
var _DimensionFunctions = require("../../lib/styles/DimensionFunctions");
|
|
4
|
-
var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20
|
|
4
|
+
var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
|
|
5
5
|
|
|
6
6
|
var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
7
7
|
wrapper: function wrapper() {
|
|
@@ -73,17 +73,10 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
focusFallback: function focusFallback(t) {
|
|
79
|
-
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-shadow: none;\n outline: ", " solid ", ";\n "])),
|
|
80
|
-
|
|
81
|
-
t.inputOutlineWidth, t.inputFocusOutline);
|
|
82
|
-
|
|
83
76
|
},
|
|
84
77
|
|
|
85
78
|
placeholder: function placeholder(t) {
|
|
86
|
-
return (0, _Emotion.css)(
|
|
79
|
+
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n -ms-user-select: none;\n color: ", ";\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n "])),
|
|
87
80
|
|
|
88
81
|
t.inputPlaceholderColor);
|
|
89
82
|
|
|
@@ -101,19 +94,19 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
101
94
|
},
|
|
102
95
|
|
|
103
96
|
placeholderFocus: function placeholderFocus(t) {
|
|
104
|
-
return (0, _Emotion.css)(
|
|
97
|
+
return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
|
|
105
98
|
t.inputPlaceholderColorLight);
|
|
106
99
|
|
|
107
100
|
},
|
|
108
101
|
|
|
109
102
|
placeholderDisabled: function placeholderDisabled(t) {
|
|
110
|
-
return (0, _Emotion.css)(
|
|
103
|
+
return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
|
|
111
104
|
t.inputPlaceholderColorDisabled);
|
|
112
105
|
|
|
113
106
|
},
|
|
114
107
|
|
|
115
108
|
input: function input(t) {
|
|
116
|
-
return (0, _Emotion.css)(
|
|
109
|
+
return (0, _Emotion.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ", ";\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ", ";\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ", ";\n }\n &::-moz-placeholder {\n color: ", ";\n }\n &::placeholder {\n color: ", ";\n }\n "])),
|
|
117
110
|
|
|
118
111
|
|
|
119
112
|
|
|
@@ -150,7 +143,7 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
150
143
|
},
|
|
151
144
|
|
|
152
145
|
inputFocus: function inputFocus(t) {
|
|
153
|
-
return (0, _Emotion.css)(
|
|
146
|
+
return (0, _Emotion.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteralLoose2.default)(["\n &:-moz-placeholder {\n color: ", ";\n }\n &::-moz-placeholder {\n color: ", ";\n }\n &::placeholder {\n color: ", ";\n }\n "])),
|
|
154
147
|
|
|
155
148
|
t.inputPlaceholderColorLight,
|
|
156
149
|
|
|
@@ -164,7 +157,7 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
164
157
|
},
|
|
165
158
|
|
|
166
159
|
inputDisabled: function inputDisabled(t) {
|
|
167
|
-
return (0, _Emotion.css)(
|
|
160
|
+
return (0, _Emotion.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ", ";\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ", ";\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ", ";\n }\n &::placeholder {\n -webkit-text-fill-color: ", ";\n }\n "])),
|
|
168
161
|
t.inputTextColorDisabled,
|
|
169
162
|
|
|
170
163
|
t.inputTextColorDisabled,
|
|
@@ -182,37 +175,23 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
182
175
|
},
|
|
183
176
|
|
|
184
177
|
warning: function warning(t) {
|
|
185
|
-
return (0, _Emotion.css)(
|
|
178
|
+
return (0, _Emotion.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n z-index: 2;\n "])),
|
|
186
179
|
t.inputBorderColorWarning,
|
|
187
180
|
t.inputOutlineWidth, t.inputBorderColorWarning);
|
|
188
181
|
|
|
189
182
|
|
|
190
183
|
},
|
|
191
184
|
|
|
192
|
-
warningFallback: function warningFallback(t) {
|
|
193
|
-
return (0, _Emotion.css)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-shadow: none;\n outline: ", " solid ", ";\n "])),
|
|
194
|
-
|
|
195
|
-
t.inputBorderWidth, t.inputBorderColorWarning);
|
|
196
|
-
|
|
197
|
-
},
|
|
198
|
-
|
|
199
185
|
error: function error(t) {
|
|
200
|
-
return (0, _Emotion.css)(
|
|
186
|
+
return (0, _Emotion.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n z-index: 2;\n "])),
|
|
201
187
|
t.inputBorderColorError,
|
|
202
188
|
t.inputOutlineWidth, t.inputBorderColorError);
|
|
203
189
|
|
|
204
190
|
|
|
205
191
|
},
|
|
206
192
|
|
|
207
|
-
errorFallback: function errorFallback(t) {
|
|
208
|
-
return (0, _Emotion.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteralLoose2.default)(["\n box-shadow: none;\n outline: ", " solid ", ";\n "])),
|
|
209
|
-
|
|
210
|
-
t.inputBorderWidth, t.inputBorderColorError);
|
|
211
|
-
|
|
212
|
-
},
|
|
213
|
-
|
|
214
193
|
disabled: function disabled(t) {
|
|
215
|
-
return (0, _Emotion.css)(
|
|
194
|
+
return (0, _Emotion.css)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n border-color: ", ";\n box-shadow: none;\n "])),
|
|
216
195
|
t.inputDisabledBg,
|
|
217
196
|
t.inputDisabledBorderColor);
|
|
218
197
|
|
|
@@ -220,18 +199,18 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
220
199
|
},
|
|
221
200
|
|
|
222
201
|
blink: function blink(t) {
|
|
223
|
-
var blinkAnimation = (0, _Emotion.keyframes)(
|
|
202
|
+
var blinkAnimation = (0, _Emotion.keyframes)(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteralLoose2.default)(["\n 0% {\n background-color: ", ";\n }\n "])),
|
|
224
203
|
|
|
225
204
|
t.inputBlinkColor);
|
|
226
205
|
|
|
227
206
|
|
|
228
|
-
return (0, _Emotion.css)(
|
|
207
|
+
return (0, _Emotion.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteralLoose2.default)(["\n animation: ", " 0.15s ease-in;\n "])),
|
|
229
208
|
blinkAnimation);
|
|
230
209
|
|
|
231
210
|
},
|
|
232
211
|
|
|
233
212
|
sizeSmall: function sizeSmall(t) {
|
|
234
|
-
return (0, _Emotion.css)(
|
|
213
|
+
return (0, _Emotion.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: ", ";\n line-height: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: ", ";\n border-radius: ", ";\n "])),
|
|
235
214
|
t.inputFontSizeSmall,
|
|
236
215
|
t.inputLineHeightSmall,
|
|
237
216
|
t.inputPaddingYSmall,
|
|
@@ -243,18 +222,8 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
243
222
|
|
|
244
223
|
},
|
|
245
224
|
|
|
246
|
-
sizeSmallFallback: function sizeSmallFallback(t) {
|
|
247
|
-
return (0, _Emotion.css)(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n line-height: normal;\n "])),
|
|
248
|
-
(0, _DimensionFunctions.shift)(t.inputPaddingYSmall, '0'),
|
|
249
|
-
(0, _DimensionFunctions.shift)(t.inputPaddingYSmall, '0'),
|
|
250
|
-
t.inputPaddingXSmall,
|
|
251
|
-
t.inputPaddingXSmall);
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
},
|
|
255
|
-
|
|
256
225
|
sizeMedium: function sizeMedium(t) {
|
|
257
|
-
return (0, _Emotion.css)(
|
|
226
|
+
return (0, _Emotion.css)(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: ", ";\n line-height: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: ", ";\n border-radius: ", ";\n "])),
|
|
258
227
|
t.inputFontSizeMedium,
|
|
259
228
|
t.inputLineHeightMedium,
|
|
260
229
|
t.inputPaddingYMedium,
|
|
@@ -266,18 +235,8 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
266
235
|
|
|
267
236
|
},
|
|
268
237
|
|
|
269
|
-
sizeMediumFallback: function sizeMediumFallback(t) {
|
|
270
|
-
return (0, _Emotion.css)(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n line-height: normal;\n "])),
|
|
271
|
-
(0, _DimensionFunctions.shift)(t.inputPaddingYMedium, '0'),
|
|
272
|
-
(0, _DimensionFunctions.shift)(t.inputPaddingYMedium, '0'),
|
|
273
|
-
t.inputPaddingXMedium,
|
|
274
|
-
t.inputPaddingXMedium);
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
},
|
|
278
|
-
|
|
279
238
|
sizeLarge: function sizeLarge(t) {
|
|
280
|
-
return (0, _Emotion.css)(
|
|
239
|
+
return (0, _Emotion.css)(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: ", ";\n line-height: ", ";\n height: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n border-radius: ", ";\n "])),
|
|
281
240
|
t.inputFontSizeLarge,
|
|
282
241
|
t.inputLineHeightLarge,
|
|
283
242
|
t.inputHeightLarge,
|
|
@@ -289,18 +248,8 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
289
248
|
|
|
290
249
|
},
|
|
291
250
|
|
|
292
|
-
sizeLargeFallback: function sizeLargeFallback(t) {
|
|
293
|
-
return (0, _Emotion.css)(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n line-height: normal;\n "])),
|
|
294
|
-
(0, _DimensionFunctions.shift)(t.inputPaddingYLarge, '0'),
|
|
295
|
-
(0, _DimensionFunctions.shift)(t.inputPaddingYLarge, '0'),
|
|
296
|
-
t.inputPaddingXLarge,
|
|
297
|
-
t.inputPaddingXLarge);
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
},
|
|
301
|
-
|
|
302
251
|
hideBlinkingCursor: function hideBlinkingCursor() {
|
|
303
|
-
return (0, _Emotion.css)(
|
|
252
|
+
return (0, _Emotion.css)(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteralLoose2.default)(["\n caret-color: transparent;\n "])));
|
|
304
253
|
|
|
305
254
|
|
|
306
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Emotion","require","_DimensionFunctions","_Mixins","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","styles","exports","memoizeStyle","wrapper","css","_taggedTemplateLiteralLoose2","default","root","t","resetText","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","shift","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","hideBlinkingCursor"],"sources":["Input.styles.ts"],"sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYSmall, '0')};\n padding-bottom: ${shift(t.inputPaddingYSmall, '0')};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYMedium, '0')};\n padding-bottom: ${shift(t.inputPaddingYMedium, '0')};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Emotion","require","_DimensionFunctions","_Mixins","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","styles","exports","memoizeStyle","wrapper","css","_taggedTemplateLiteralLoose2","default","root","t","resetText","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","inputOutlineWidth","error","inputBorderColorError","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","shift","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","hideBlinkingCursor"],"sources":["Input.styles.ts"],"sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -351,10 +351,10 @@ Loader = exports.Loader = (0, _rootNode.rootNode)(_class = (_Loader = /*#__PURE_
|
|
|
351
351
|
});
|
|
352
352
|
};_this.
|
|
353
353
|
|
|
354
|
-
enableChildrenFocus = function () {var _globalObject$documen
|
|
354
|
+
enableChildrenFocus = function () {var _globalObject$documen;
|
|
355
355
|
_this.makeUnobservable();
|
|
356
|
-
|
|
357
|
-
|
|
356
|
+
|
|
357
|
+
(_globalObject$documen = _globalObject.globalObject.document) == null || _globalObject$documen.querySelectorAll('[origin-tabindex]').forEach(function (el) {var _el$getAttribute;
|
|
358
358
|
el.setAttribute('tabindex', (_el$getAttribute = el.getAttribute('origin-tabindex')) != null ? _el$getAttribute : '0');
|
|
359
359
|
el.removeAttribute('origin-tabindex');
|
|
360
360
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","LayoutEvents","_interopRequireWildcard","_Spinner","_ThemeContext","_ZIndex","_CommonWrapper","_Emotion","_currentEnvironment","_taskWithDelayAndMinimalDuration","_tabbableHelpers","_rootNode","_getDOMRect2","_createPropsGetter","_Loader2","_class","_Loader","types","LoaderDataTids","exports","veil","spinner","Loader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","isBrowser","globalObject","_getDOMRect","getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","getTabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","TaskWithDelayAndMinimalDuration","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose2","default","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","debounce","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_cx","_this$props","caption","type","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","loader","ZIndex","applyZIndex","coverChildren","style","wrapperRef","children","cx","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Spinner","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { SpinnerProps } from '../Spinner';\nimport { Spinner } from '../Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером.\n * @default \"Загрузка\"\n */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 300 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","LayoutEvents","_interopRequireWildcard","_Spinner","_ThemeContext","_ZIndex","_CommonWrapper","_Emotion","_currentEnvironment","_taskWithDelayAndMinimalDuration","_tabbableHelpers","_rootNode","_getDOMRect2","_createPropsGetter","_Loader2","_class","_Loader","types","LoaderDataTids","exports","veil","spinner","Loader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","isBrowser","globalObject","_getDOMRect","getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","getTabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","makeUnobservable","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","TaskWithDelayAndMinimalDuration","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose2","default","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","debounce","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_cx","_this$props","caption","type","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","loader","ZIndex","applyZIndex","coverChildren","style","wrapperRef","children","cx","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Spinner","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { SpinnerProps } from '../Spinner';\nimport { Spinner } from '../Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером.\n * @default \"Загрузка\"\n */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 300 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n\n globalObject.document?.querySelectorAll('[origin-tabindex]').forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -204,8 +204,9 @@ var FixedIMaskInput = exports.FixedIMaskInput = (0, _forwardRefAndName.forwardRe
|
|
|
204
204
|
|
|
205
205
|
function handleInput(e) {var _imaskRef$current10;
|
|
206
206
|
var maskRef = (_imaskRef$current10 = imaskRef.current) == null ? void 0 : _imaskRef$current10.maskRef;
|
|
207
|
-
if (
|
|
208
|
-
//
|
|
207
|
+
if (maskRef && maskRef.rawInputValue === '') {
|
|
208
|
+
// в случае, когда пользователь стер все из инпута, очищаем value полностью
|
|
209
|
+
// иначе в value остаются символы маски
|
|
209
210
|
props.onAccept == null || props.onAccept('', maskRef, e.nativeEvent);
|
|
210
211
|
}
|
|
211
212
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactImask","_forwardRefAndName","_identifiers","_MouseDrag","_excluded","FixedIMaskInput","exports","forwardRefAndName","props","ref","inputRef","restProps","_objectWithoutPropertiesLoose2","default","imaskRef","useRef","focused","useEffect","_imaskRef$current","current","element","fillTypedValue","mouseDrag","MouseDrag","listen","onMouseDragEnd","e","_imaskRef$current2","_imaskRef$current3","direction","mouseDragStartEvent","selectionStart","selectionEnd","pageX","_getSelection","getSelection","start","end","setSelection","useImperativeHandle","createElement","IMaskInput","_extends2","onKeyDown","handleKeyDown","onFocus","handleFocus","onBlur","handleBlur","onMouseUp","handleMouseUp","onAccept","handleAccept","onInput","handleInput","getTypedValue","_imaskRef$current4","_ref","maskRef","masked","_ref$_value","_value","_ref$displayValue","displayValue","getMaxCaretPosition","value","slice","_imaskRef$current5","_imaskRef$current6","_imaskRef$current7","setAttribute","unmaskedValue","maskChars","push","placeholderChar","blocks","Object","values","forEach","_ref2","split","RegExp","join","length","Infinity","normalizeSelection","_getSelection2","max","getNormalizedRange","calc","Math","min","selectionDirection","_imaskRef$current8","_len","arguments","_ref3","Array","_key","setSelectionRange","jumpCaret","prev","headDirection","_imaskRef$current9","word","valueOf","wordRegExp","next","match","reduce","s","a","pos","concat","calcSelection","_getSelection3","isSelectionMode","isModShift","tail","head","someKeys","isKeyArrowLeft","isKeyArrowUp","isKeyHome","step","isKeyArrowHorizontal","increment","isShortcutJumpCaret","setTimeout","_len2","args","_key2","apply","_imaskRef$current10","unmask","rawInputValue","nativeEvent","nearest","isShortcutSelectAll","preventDefault","isKeyArrow","isKeyEnd","_calcSelection"],"sources":["FixedIMaskInput.tsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport type { InputMask, MaskedPatternOptions } from '@skbkontur/imask';\nimport type { IMaskInputProps } from '@skbkontur/react-imask';\nimport { IMaskInput } from '@skbkontur/react-imask';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport {\n isKeyArrow,\n isKeyArrowHorizontal,\n isKeyArrowLeft,\n isKeyArrowUp,\n isKeyEnd,\n isKeyHome,\n isModShift,\n isShortcutJumpCaret,\n isShortcutSelectAll,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\n\nexport type FixedIMaskInputProps = IMaskInputProps<HTMLInputElement>;\n\ntype HeadDirection = 'left' | 'right';\ntype SelectionDirection = 'forward' | 'backward' | 'none';\ntype SelectionSet = [number, number, SelectionDirection];\n\ninterface IMaskRefType {\n maskRef: InputMask<MaskedPatternOptions>;\n element: HTMLInputElement;\n}\n\nexport const FixedIMaskInput = forwardRefAndName(\n 'FixedIMaskInput',\n function FixedIMaskInput(props: FixedIMaskInputProps, ref: React.Ref<IMaskRefType | null>) {\n const { inputRef, ...restProps } = props;\n const imaskRef = useRef<IMaskRefType>(null);\n const focused = useRef(false);\n\n useEffect(() => {\n if (imaskRef.current?.element) {\n fillTypedValue();\n const mouseDrag = MouseDrag.listen(imaskRef.current.element).onMouseDragEnd((e) => {\n let direction: SelectionDirection = 'none';\n\n if (\n mouseDrag.mouseDragStartEvent &&\n imaskRef.current?.element.selectionStart !== imaskRef.current?.element.selectionEnd\n ) {\n direction = mouseDrag.mouseDragStartEvent.pageX > e.pageX ? 'backward' : 'forward';\n }\n\n const [start, end] = getSelection();\n setSelection(start, end, direction);\n });\n }\n }, []);\n\n useImperativeHandle(ref, () => imaskRef.current, []);\n\n return (\n <IMaskInput\n {...restProps}\n ref={imaskRef}\n inputRef={inputRef}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseUp={handleMouseUp}\n onAccept={handleAccept}\n onInput={handleInput}\n />\n );\n\n function getTypedValue() {\n const { _value = '', displayValue = '' } = imaskRef.current?.maskRef.masked || {};\n const end = getMaxCaretPosition();\n const value = _value !== '' || focused.current === true ? displayValue : '';\n\n return value.slice(0, end);\n }\n\n function fillTypedValue() {\n imaskRef.current?.element.setAttribute('data-typed-value', getTypedValue());\n imaskRef.current?.element.setAttribute('data-unmasked-value', imaskRef.current?.maskRef.unmaskedValue);\n }\n\n function getMaxCaretPosition(): number {\n const maskChars = [];\n if (imaskRef.current) {\n maskChars.push(imaskRef.current.maskRef.masked.placeholderChar);\n if (imaskRef.current.maskRef.masked.blocks) {\n (Object.values(imaskRef.current.maskRef.masked.blocks) as Array<{ placeholderChar?: string }>).forEach(\n ({ placeholderChar }) => placeholderChar && maskChars.push(placeholderChar),\n );\n }\n return imaskRef.current.element.value.split(new RegExp(maskChars.join('|')))[0].length;\n }\n\n return Infinity;\n }\n\n function normalizeSelection() {\n const [start, end] = getSelection();\n const max = getMaxCaretPosition();\n if (end > max) {\n setSelection(start, max);\n }\n }\n\n function getNormalizedRange(calc: number | unknown) {\n return typeof calc === 'number' ? Math.min(getMaxCaretPosition(), Math.max(0, calc)) : 0;\n }\n\n function getSelection(): SelectionSet {\n if (imaskRef.current) {\n return [\n imaskRef.current.element.selectionStart || 0,\n imaskRef.current.element.selectionEnd || 0,\n imaskRef.current.element.selectionDirection || 'none',\n ];\n }\n return [0, 0, 'none'];\n }\n\n function setSelection(...[start, end, direction]: Parameters<HTMLInputElement['setSelectionRange']>) {\n imaskRef.current?.element.setSelectionRange(\n getNormalizedRange(start),\n getNormalizedRange(end),\n direction || 'none',\n );\n }\n\n function jumpCaret(prev: number, headDirection: HeadDirection) {\n const word = /а-яa-z0-9_/.valueOf();\n const wordRegExp = new RegExp(`([${word}])+[\\\\s]*|([^${word}])+`, 'gi');\n let next = headDirection === 'right' ? prev : 0;\n imaskRef.current?.element.value.match(wordRegExp)?.reduce<number[]>((s, a) => {\n const pos = a.length + (s.slice(-1)[0] || 0);\n if (headDirection === 'right' && next === prev && next < pos) {\n next = getNormalizedRange(pos);\n } else if (headDirection === 'left' && prev > pos) {\n next = getNormalizedRange(pos);\n }\n return [...s, pos];\n }, []);\n return next;\n }\n\n /**\n * Вычислят положение каретки при управлении клавишами\n * @param e\n */\n function calcSelection(e: React.KeyboardEvent<HTMLInputElement>): SelectionSet {\n const [start, end, direction] = getSelection();\n const isSelectionMode = isModShift()(e);\n let tail = start !== end && direction === 'backward' ? end : start;\n let head = start !== end && direction === 'backward' ? start : end;\n const headDirection: HeadDirection = someKeys(isKeyArrowLeft, isKeyArrowUp, isKeyHome)(e) ? 'left' : 'right';\n const step = isKeyArrowHorizontal(e) ? 1 : Infinity;\n const increment = headDirection === 'left' ? -step : step;\n if (isShortcutJumpCaret(e)) {\n head = jumpCaret(head, headDirection);\n } else if (head !== tail && !isSelectionMode && isKeyArrowHorizontal(e)) {\n head = headDirection === 'right' ? Math.max(tail, head) : Math.min(tail, head);\n } else {\n head = head + increment;\n }\n if (isSelectionMode) {\n const start = Math.min(tail, head);\n const end = Math.max(tail, head);\n return [getNormalizedRange(start), getNormalizedRange(end), end === head ? 'forward' : 'backward'];\n }\n tail = head;\n return [getNormalizedRange(tail), getNormalizedRange(head), 'none'];\n }\n\n function handleMouseUp(e: React.MouseEvent<HTMLInputElement>) {\n normalizeSelection();\n\n props.onMouseUp?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n focused.current = true;\n fillTypedValue();\n\n setTimeout(normalizeSelection);\n\n props.onFocus?.(e);\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n focused.current = false;\n fillTypedValue();\n\n props.onBlur?.(e);\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n fillTypedValue();\n\n props.onAccept?.(...args);\n }\n\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const maskRef = imaskRef.current?.maskRef;\n if (restProps.unmask && maskRef && maskRef.rawInputValue === '' && maskRef.unmaskedValue !== '') {\n // Для случаев, когда в value остаются только зафиксированные - {} - очищаем value полностью\n props.onAccept?.('', maskRef, e.nativeEvent as InputEvent);\n }\n\n props.onInput?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const nearest = getMaxCaretPosition();\n if (isShortcutSelectAll(e)) {\n e.preventDefault();\n setSelection(0, nearest);\n } else if (isKeyArrow(e) || isKeyEnd(e) || isKeyHome(e)) {\n e.preventDefault();\n const [start, end, direction] = calcSelection(e);\n setSelection(start, end, direction);\n }\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactImask","_forwardRefAndName","_identifiers","_MouseDrag","_excluded","FixedIMaskInput","exports","forwardRefAndName","props","ref","inputRef","restProps","_objectWithoutPropertiesLoose2","default","imaskRef","useRef","focused","useEffect","_imaskRef$current","current","element","fillTypedValue","mouseDrag","MouseDrag","listen","onMouseDragEnd","e","_imaskRef$current2","_imaskRef$current3","direction","mouseDragStartEvent","selectionStart","selectionEnd","pageX","_getSelection","getSelection","start","end","setSelection","useImperativeHandle","createElement","IMaskInput","_extends2","onKeyDown","handleKeyDown","onFocus","handleFocus","onBlur","handleBlur","onMouseUp","handleMouseUp","onAccept","handleAccept","onInput","handleInput","getTypedValue","_imaskRef$current4","_ref","maskRef","masked","_ref$_value","_value","_ref$displayValue","displayValue","getMaxCaretPosition","value","slice","_imaskRef$current5","_imaskRef$current6","_imaskRef$current7","setAttribute","unmaskedValue","maskChars","push","placeholderChar","blocks","Object","values","forEach","_ref2","split","RegExp","join","length","Infinity","normalizeSelection","_getSelection2","max","getNormalizedRange","calc","Math","min","selectionDirection","_imaskRef$current8","_len","arguments","_ref3","Array","_key","setSelectionRange","jumpCaret","prev","headDirection","_imaskRef$current9","word","valueOf","wordRegExp","next","match","reduce","s","a","pos","concat","calcSelection","_getSelection3","isSelectionMode","isModShift","tail","head","someKeys","isKeyArrowLeft","isKeyArrowUp","isKeyHome","step","isKeyArrowHorizontal","increment","isShortcutJumpCaret","setTimeout","_len2","args","_key2","apply","_imaskRef$current10","rawInputValue","nativeEvent","nearest","isShortcutSelectAll","preventDefault","isKeyArrow","isKeyEnd","_calcSelection"],"sources":["FixedIMaskInput.tsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport type { InputMask, MaskedPatternOptions } from '@skbkontur/imask';\nimport type { IMaskInputProps } from '@skbkontur/react-imask';\nimport { IMaskInput } from '@skbkontur/react-imask';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport {\n isKeyArrow,\n isKeyArrowHorizontal,\n isKeyArrowLeft,\n isKeyArrowUp,\n isKeyEnd,\n isKeyHome,\n isModShift,\n isShortcutJumpCaret,\n isShortcutSelectAll,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag } from '../../lib/events/MouseDrag';\n\nexport type FixedIMaskInputProps = IMaskInputProps<HTMLInputElement>;\n\ntype HeadDirection = 'left' | 'right';\ntype SelectionDirection = 'forward' | 'backward' | 'none';\ntype SelectionSet = [number, number, SelectionDirection];\n\ninterface IMaskRefType {\n maskRef: InputMask<MaskedPatternOptions>;\n element: HTMLInputElement;\n}\n\nexport const FixedIMaskInput = forwardRefAndName(\n 'FixedIMaskInput',\n function FixedIMaskInput(props: FixedIMaskInputProps, ref: React.Ref<IMaskRefType | null>) {\n const { inputRef, ...restProps } = props;\n const imaskRef = useRef<IMaskRefType>(null);\n const focused = useRef(false);\n\n useEffect(() => {\n if (imaskRef.current?.element) {\n fillTypedValue();\n const mouseDrag = MouseDrag.listen(imaskRef.current.element).onMouseDragEnd((e) => {\n let direction: SelectionDirection = 'none';\n\n if (\n mouseDrag.mouseDragStartEvent &&\n imaskRef.current?.element.selectionStart !== imaskRef.current?.element.selectionEnd\n ) {\n direction = mouseDrag.mouseDragStartEvent.pageX > e.pageX ? 'backward' : 'forward';\n }\n\n const [start, end] = getSelection();\n setSelection(start, end, direction);\n });\n }\n }, []);\n\n useImperativeHandle(ref, () => imaskRef.current, []);\n\n return (\n <IMaskInput\n {...restProps}\n ref={imaskRef}\n inputRef={inputRef}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseUp={handleMouseUp}\n onAccept={handleAccept}\n onInput={handleInput}\n />\n );\n\n function getTypedValue() {\n const { _value = '', displayValue = '' } = imaskRef.current?.maskRef.masked || {};\n const end = getMaxCaretPosition();\n const value = _value !== '' || focused.current === true ? displayValue : '';\n\n return value.slice(0, end);\n }\n\n function fillTypedValue() {\n imaskRef.current?.element.setAttribute('data-typed-value', getTypedValue());\n imaskRef.current?.element.setAttribute('data-unmasked-value', imaskRef.current?.maskRef.unmaskedValue);\n }\n\n function getMaxCaretPosition(): number {\n const maskChars = [];\n if (imaskRef.current) {\n maskChars.push(imaskRef.current.maskRef.masked.placeholderChar);\n if (imaskRef.current.maskRef.masked.blocks) {\n (Object.values(imaskRef.current.maskRef.masked.blocks) as Array<{ placeholderChar?: string }>).forEach(\n ({ placeholderChar }) => placeholderChar && maskChars.push(placeholderChar),\n );\n }\n return imaskRef.current.element.value.split(new RegExp(maskChars.join('|')))[0].length;\n }\n\n return Infinity;\n }\n\n function normalizeSelection() {\n const [start, end] = getSelection();\n const max = getMaxCaretPosition();\n if (end > max) {\n setSelection(start, max);\n }\n }\n\n function getNormalizedRange(calc: number | unknown) {\n return typeof calc === 'number' ? Math.min(getMaxCaretPosition(), Math.max(0, calc)) : 0;\n }\n\n function getSelection(): SelectionSet {\n if (imaskRef.current) {\n return [\n imaskRef.current.element.selectionStart || 0,\n imaskRef.current.element.selectionEnd || 0,\n imaskRef.current.element.selectionDirection || 'none',\n ];\n }\n return [0, 0, 'none'];\n }\n\n function setSelection(...[start, end, direction]: Parameters<HTMLInputElement['setSelectionRange']>) {\n imaskRef.current?.element.setSelectionRange(\n getNormalizedRange(start),\n getNormalizedRange(end),\n direction || 'none',\n );\n }\n\n function jumpCaret(prev: number, headDirection: HeadDirection) {\n const word = /а-яa-z0-9_/.valueOf();\n const wordRegExp = new RegExp(`([${word}])+[\\\\s]*|([^${word}])+`, 'gi');\n let next = headDirection === 'right' ? prev : 0;\n imaskRef.current?.element.value.match(wordRegExp)?.reduce<number[]>((s, a) => {\n const pos = a.length + (s.slice(-1)[0] || 0);\n if (headDirection === 'right' && next === prev && next < pos) {\n next = getNormalizedRange(pos);\n } else if (headDirection === 'left' && prev > pos) {\n next = getNormalizedRange(pos);\n }\n return [...s, pos];\n }, []);\n return next;\n }\n\n /**\n * Вычислят положение каретки при управлении клавишами\n * @param e\n */\n function calcSelection(e: React.KeyboardEvent<HTMLInputElement>): SelectionSet {\n const [start, end, direction] = getSelection();\n const isSelectionMode = isModShift()(e);\n let tail = start !== end && direction === 'backward' ? end : start;\n let head = start !== end && direction === 'backward' ? start : end;\n const headDirection: HeadDirection = someKeys(isKeyArrowLeft, isKeyArrowUp, isKeyHome)(e) ? 'left' : 'right';\n const step = isKeyArrowHorizontal(e) ? 1 : Infinity;\n const increment = headDirection === 'left' ? -step : step;\n if (isShortcutJumpCaret(e)) {\n head = jumpCaret(head, headDirection);\n } else if (head !== tail && !isSelectionMode && isKeyArrowHorizontal(e)) {\n head = headDirection === 'right' ? Math.max(tail, head) : Math.min(tail, head);\n } else {\n head = head + increment;\n }\n if (isSelectionMode) {\n const start = Math.min(tail, head);\n const end = Math.max(tail, head);\n return [getNormalizedRange(start), getNormalizedRange(end), end === head ? 'forward' : 'backward'];\n }\n tail = head;\n return [getNormalizedRange(tail), getNormalizedRange(head), 'none'];\n }\n\n function handleMouseUp(e: React.MouseEvent<HTMLInputElement>) {\n normalizeSelection();\n\n props.onMouseUp?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n focused.current = true;\n fillTypedValue();\n\n setTimeout(normalizeSelection);\n\n props.onFocus?.(e);\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n focused.current = false;\n fillTypedValue();\n\n props.onBlur?.(e);\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n fillTypedValue();\n\n props.onAccept?.(...args);\n }\n\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const maskRef = imaskRef.current?.maskRef;\n if (maskRef && maskRef.rawInputValue === '') {\n // в случае, когда пользователь стер все из инпута, очищаем value полностью\n // иначе в value остаются символы маски\n props.onAccept?.('', maskRef, e.nativeEvent as InputEvent);\n }\n\n props.onInput?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const nearest = getMaxCaretPosition();\n if (isShortcutSelectAll(e)) {\n e.preventDefault();\n setSelection(0, nearest);\n } else if (isKeyArrow(e) || isKeyEnd(e) || isKeyHome(e)) {\n e.preventDefault();\n const [start, end, direction] = calcSelection(e);\n setSelection(start, end, direction);\n }\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IMaskInputProps } from '@skbkontur/react-imask';
|
|
2
2
|
import type { InputProps, InputType } from '../Input';
|
|
3
3
|
import { Input } from '../Input';
|
|
4
|
+
export type MaskedInputOnBeforePasteValue = (value: string) => string;
|
|
4
5
|
export interface MaskedProps {
|
|
5
6
|
/** Паттерн маски */
|
|
6
7
|
mask: string;
|
|
@@ -21,6 +22,13 @@ export interface MaskedProps {
|
|
|
21
22
|
* @param blink вспыхнуть акцентным цвтетом.
|
|
22
23
|
*/
|
|
23
24
|
onUnexpectedInput?: (value: string, blink: () => void) => void;
|
|
25
|
+
/** Задает обработчик вставки значения в инпут.
|
|
26
|
+
* В value будет передано значение из буфера обмена.
|
|
27
|
+
* Возвращаемое значение будет использовано как значение инпута.
|
|
28
|
+
* Используется для фильтрации значения при вставке из буфера обмена.
|
|
29
|
+
* @param value значение вставки.
|
|
30
|
+
*/
|
|
31
|
+
onBeforePasteValue?: MaskedInputOnBeforePasteValue;
|
|
24
32
|
/** Убирает из value символы, не введённые пользователем
|
|
25
33
|
* @default false */
|
|
26
34
|
unmask?: boolean;
|
|
@@ -12,7 +12,17 @@ var _ThemeContext = require("../../lib/theming/ThemeContext");
|
|
|
12
12
|
var _MaskedInput = require("./MaskedInput.styles");
|
|
13
13
|
var _MaskedInput2 = require("./MaskedInput.helpers");
|
|
14
14
|
var _ColorableInputElement = require("./ColorableInputElement");
|
|
15
|
-
var _FixedIMaskInput = require("./FixedIMaskInput");var _excluded = ["mask", "maskChar", "formatChars", "alwaysShowMask", "colored", "imaskProps", "unmask", "onValueChange", "onUnexpectedInput", "onChange", "element", "className"];
|
|
15
|
+
var _FixedIMaskInput = require("./FixedIMaskInput");var _excluded = ["mask", "maskChar", "formatChars", "alwaysShowMask", "colored", "imaskProps", "unmask", "onValueChange", "onUnexpectedInput", "onChange", "onBeforePasteValue", "element", "className"];
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
16
26
|
|
|
17
27
|
|
|
18
28
|
|
|
@@ -101,7 +111,8 @@ var MaskedInput = exports.MaskedInput = (0, _forwardRefAndName.forwardRefAndName
|
|
|
101
111
|
|
|
102
112
|
|
|
103
113
|
|
|
104
|
-
|
|
114
|
+
|
|
115
|
+
props.mask,maskChar = props.maskChar,formatChars = props.formatChars,_props$alwaysShowMask = props.alwaysShowMask,alwaysShowMask = _props$alwaysShowMask === void 0 ? false : _props$alwaysShowMask,_props$colored = props.colored,colored = _props$colored === void 0 ? true : _props$colored,_props$imaskProps = props.imaskProps,customIMaskProps = _props$imaskProps === void 0 ? {} : _props$imaskProps,_props$unmask = props.unmask,unmask = _props$unmask === void 0 ? false : _props$unmask,onValueChange = props.onValueChange,onUnexpectedInput = props.onUnexpectedInput,onChange = props.onChange,onBeforePasteValue = props.onBeforePasteValue,element = props.element,className = props.className,inputProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
105
116
|
var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
|
|
106
117
|
|
|
107
118
|
var inputRef = (0, _react.useRef)(null);
|
|
@@ -147,6 +158,7 @@ var MaskedInput = exports.MaskedInput = (0, _forwardRefAndName.forwardRefAndName
|
|
|
147
158
|
onBlur: handleBlur,
|
|
148
159
|
onInput: handleInput,
|
|
149
160
|
onKeyDown: handleKeyDown,
|
|
161
|
+
onPaste: handlePaste,
|
|
150
162
|
className: (0, _Emotion.cx)(_MaskedInput.globalClasses.root, uiFontGlobalClassesRoot, className, _MaskedInput.styles.root(theme)),
|
|
151
163
|
element:
|
|
152
164
|
colored ? /*#__PURE__*/
|
|
@@ -160,6 +172,15 @@ var MaskedInput = exports.MaskedInput = (0, _forwardRefAndName.forwardRefAndName
|
|
|
160
172
|
));
|
|
161
173
|
|
|
162
174
|
|
|
175
|
+
function handlePaste(event) {
|
|
176
|
+
if (onBeforePasteValue && onValueChange) {var _event$clipboardData$, _event$clipboardData;
|
|
177
|
+
event.preventDefault();
|
|
178
|
+
onValueChange == null || onValueChange(onBeforePasteValue((_event$clipboardData$ = (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.getData('text')) != null ? _event$clipboardData$ : ''));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
props.onPaste == null || props.onPaste(event);
|
|
182
|
+
}
|
|
183
|
+
|
|
163
184
|
function getCompatibleIMaskProps() {
|
|
164
185
|
return (0, _extends2.default)({
|
|
165
186
|
mask: mask.replace(/0/g, '{\\0}'),
|