@skbkontur/react-ui 4.0.4 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -1
- package/cjs/components/Autocomplete/Autocomplete.js +2 -9
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +1 -1
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/DateInput/DateInput.styles.js +2 -2
- package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +1 -1
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.js +5 -4
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
- package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +5 -1
- package/cjs/components/Hint/Hint.js +9 -1
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +1 -5
- package/cjs/components/Input/Input.js +14 -21
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Loader/Loader.js +7 -7
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.js +10 -6
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalFooter.js +0 -1
- package/cjs/components/Modal/ModalFooter.js.map +1 -1
- package/cjs/components/Modal/ModalHeader.js +0 -1
- package/cjs/components/Modal/ModalHeader.js.map +1 -1
- package/cjs/components/Paging/Paging.d.ts +12 -2
- package/cjs/components/Paging/Paging.js +14 -3
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
- package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
- package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
- package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
- package/cjs/components/PasswordInput/PasswordInput.js +22 -4
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
- package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
- package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
- package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
- package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.js +3 -2
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +7 -5
- package/cjs/components/Select/Select.js +12 -2
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +0 -1
- package/cjs/components/SidePage/SidePage.js +1 -15
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageFooter.js +4 -3
- package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +3 -2
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Sticky/Sticky.js +4 -3
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/components/Switcher/Switcher.d.ts +2 -1
- package/cjs/components/Switcher/Switcher.js +1 -0
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.js +2 -2
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Indicator.js +2 -1
- package/cjs/components/Tabs/Indicator.js.map +1 -1
- package/cjs/components/Tabs/Tabs.d.ts +3 -1
- package/cjs/components/Tabs/Tabs.js +8 -4
- package/cjs/components/Tabs/Tabs.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +2 -2
- package/cjs/components/Textarea/Textarea.js +6 -6
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/TextareaCounter.js +10 -2
- package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
- package/cjs/components/Toast/ToastView.js +1 -1
- package/cjs/components/Toast/ToastView.js.map +1 -1
- package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
- package/cjs/components/Toast/ToastView.styles.js +3 -2
- package/cjs/components/Toast/ToastView.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.styles.js +12 -10
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
- package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
- package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +4 -2
- package/cjs/components/Tooltip/Tooltip.js +10 -7
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/BGRuler.js +3 -1
- package/cjs/internal/BGRuler.js.map +1 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
- package/cjs/internal/CommonWrapper/CommonWrapper.js +15 -1
- package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
- package/cjs/internal/ComponentTable.d.ts +4 -2
- package/cjs/internal/ComponentTable.js +1 -0
- package/cjs/internal/ComponentTable.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +2 -1
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/DropdownContainer/DropdownContainer.js +5 -10
- package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +3 -2
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
- package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
- package/cjs/internal/Menu/Menu.styles.js +5 -3
- package/cjs/internal/Menu/Menu.styles.js.map +1 -1
- package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +1 -2
- package/cjs/internal/Popup/Popup.js +16 -13
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js +4 -2
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
- package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
- package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +11 -19
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
- package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
- package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
- package/cjs/internal/ThemePlayground/ThemeEditor.js +2 -0
- package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
- package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
- package/cjs/internal/ThemePlayground/constants.js +3 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/icons/16px/index.js +8 -0
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/icons/20px/svg.js +6 -0
- package/cjs/internal/icons/20px/svg.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +21 -1
- package/cjs/internal/themes/DefaultTheme.js +43 -5
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/NotFlat.d.ts +6 -0
- package/cjs/internal/themes/NotFlat.js +12 -2
- package/cjs/internal/themes/NotFlat.js.map +1 -1
- package/cjs/internal/themes/Theme2022.d.ts +66 -0
- package/cjs/internal/themes/Theme2022.js +100 -0
- package/cjs/internal/themes/Theme2022.js.map +1 -0
- package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
- package/cjs/internal/themes/Theme2022Dark.js +9 -0
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
- package/cjs/lib/ConditionalHandler.d.ts +3 -2
- package/cjs/lib/ConditionalHandler.js +5 -3
- package/cjs/lib/ConditionalHandler.js.map +1 -1
- package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
- package/cjs/lib/InstanceWithAnchorElement.js +9 -0
- package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
- package/cjs/lib/ModalStack.d.ts +1 -1
- package/cjs/lib/ModalStack.js.map +1 -1
- package/cjs/lib/SSRSafe.d.ts +1 -0
- package/cjs/lib/SSRSafe.js +9 -1
- package/cjs/lib/SSRSafe.js.map +1 -1
- package/cjs/lib/dom/getDOMRect.d.ts +5 -2
- package/cjs/lib/dom/getDOMRect.js +30 -18
- package/cjs/lib/dom/getDOMRect.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
- package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
- package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
- package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
- package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
- package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
- package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
- package/cjs/lib/rootNode/getRootNode.js +14 -10
- package/cjs/lib/rootNode/getRootNode.js.map +1 -1
- package/cjs/lib/rootNode/rootNodeDecorator.d.ts +11 -0
- package/cjs/lib/rootNode/rootNodeDecorator.js +34 -5
- package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
- package/cjs/lib/theming/ThemeFactory.js.map +1 -1
- package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
- package/cjs/lib/theming/themes/Theme2022.js +6 -0
- package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
- package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
- package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
- package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
- package/components/Autocomplete/Autocomplete/Autocomplete.js +2 -9
- package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
- package/components/Autocomplete/Autocomplete.d.ts +0 -1
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/DateInput/DateInput.styles/DateInput.styles.js +2 -2
- package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js +5 -6
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +3 -2
- package/components/Hint/Hint/Hint.js +9 -1
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +5 -1
- package/components/Input/Input/Input.js +7 -25
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +1 -5
- package/components/Loader/Loader/Loader.js +11 -12
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/Modal/Modal/Modal.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +4 -4
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js +1 -1
- package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js +1 -1
- package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
- package/components/Paging/Paging/Paging.js +7 -9
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.d.ts +12 -2
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
- package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
- package/components/Paging/PagingDefaultComponent/package.json +6 -0
- package/components/Paging/PagingDefaultComponent.d.ts +9 -0
- package/components/PasswordInput/PasswordInput/PasswordInput.js +24 -5
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +2 -0
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
- package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
- package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
- package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +3 -2
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/Select/Select/Select.js +12 -6
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +7 -5
- package/components/SidePage/SidePage/SidePage.js +0 -19
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +0 -1
- package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
- package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +3 -3
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +9 -8
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +2 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Tabs/Indicator/Indicator.js +2 -1
- package/components/Tabs/Indicator/Indicator.js.map +1 -1
- package/components/Tabs/Tabs/Tabs.js.map +1 -1
- package/components/Tabs/Tabs.d.ts +3 -1
- package/components/Textarea/Textarea/Textarea.js +6 -6
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +2 -2
- package/components/Textarea/TextareaCounter/TextareaCounter.js +9 -1
- package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
- package/components/Toast/ToastView/ToastView.js +1 -1
- package/components/Toast/ToastView/ToastView.js.map +1 -1
- package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
- package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
- package/components/Toast/ToastView.styles.d.ts +1 -1
- package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
- package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
- package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +11 -8
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +4 -2
- package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internal/BGRuler/BGRuler.js +2 -1
- package/internal/BGRuler/BGRuler.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +17 -3
- package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
- package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
- package/internal/ComponentTable/ComponentTable.js.map +1 -1
- package/internal/ComponentTable.d.ts +4 -2
- package/internal/DateSelect/DateSelect/DateSelect.js +2 -1
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +5 -12
- package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.d.ts +1 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -1
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
- package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
- package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
- package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
- package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +21 -20
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +1 -2
- package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +8 -2
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +3 -4
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
- package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +15 -29
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
- package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
- package/internal/ThemePlayground/SizesGroup/package.json +6 -0
- package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
- package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
- package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
- package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
- package/internal/ThemePlayground/constants/constants.js +2 -0
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ThemePlayground/constants.d.ts +3 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/icons/16px/index/index.js +7 -0
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/20px/svg/svg.js +5 -0
- package/internal/icons/20px/svg/svg.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +53 -4
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +21 -1
- package/internal/themes/NotFlat/NotFlat.js +15 -0
- package/internal/themes/NotFlat/NotFlat.js.map +1 -1
- package/internal/themes/NotFlat.d.ts +6 -0
- package/internal/themes/Theme2022/Theme2022.js +78 -0
- package/internal/themes/Theme2022/Theme2022.js.map +1 -0
- package/internal/themes/Theme2022/package.json +6 -0
- package/internal/themes/Theme2022.d.ts +66 -0
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
- package/internal/themes/Theme2022Dark/package.json +6 -0
- package/internal/themes/Theme2022Dark.d.ts +5 -0
- package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
- package/lib/ConditionalHandler.d.ts +3 -2
- package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
- package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
- package/lib/InstanceWithAnchorElement/package.json +6 -0
- package/lib/InstanceWithAnchorElement.d.ts +5 -0
- package/lib/ModalStack/ModalStack.js.map +1 -1
- package/lib/ModalStack.d.ts +1 -1
- package/lib/SSRSafe/SSRSafe.js +7 -0
- package/lib/SSRSafe/SSRSafe.js.map +1 -1
- package/lib/SSRSafe.d.ts +1 -0
- package/lib/dom/getDOMRect/getDOMRect.js +32 -15
- package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
- package/lib/dom/getDOMRect.d.ts +5 -2
- package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
- package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
- package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
- package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
- package/lib/needsPolyfillPlaceholder/package.json +6 -0
- package/lib/needsPolyfillPlaceholder.d.ts +6 -0
- package/lib/rootNode/getRootNode/getRootNode.js +11 -10
- package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +26 -2
- package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
- package/lib/rootNode/rootNodeDecorator.d.ts +11 -0
- package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
- package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
- package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
- package/lib/theming/themes/Theme2022/package.json +6 -0
- package/lib/theming/themes/Theme2022.d.ts +1 -0
- package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
- package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
- package/lib/theming/themes/Theme2022Dark/package.json +6 -0
- package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
- package/package.json +4 -2
- package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
- package/cjs/lib/polyfillPlaceholder.js +0 -17
- package/cjs/lib/polyfillPlaceholder.js.map +0 -1
- package/lib/polyfillPlaceholder/package.json +0 -6
- package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
- package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
- package/lib/polyfillPlaceholder.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["KeyboardMapKeys.ts"],"names":["STANDARD","NUMPAD","KeyboardMapKeys","Codes","Unidentified","End","Escape","Equal","Backspace","Enter","NumpadEnter","Home","Delete","Insert","PageUp","PageDown","Tab","CapsLock","KeyA","KeyC","KeyV","KeyX","NumpadDecimal","NumpadSubtract","NumpadDivide","Comma","Minus","Period","Slash","Backslash","IntlBackslash","Space"],"mappings":"wEAAA,0D
|
|
1
|
+
{"version":3,"sources":["KeyboardMapKeys.ts"],"names":["STANDARD","NUMPAD","KeyboardMapKeys","Codes","Unidentified","End","Escape","Equal","Backspace","Enter","NumpadEnter","Home","Delete","Insert","PageUp","PageDown","Tab","CapsLock","KeyA","KeyC","KeyV","KeyX","NumpadDecimal","NumpadSubtract","NumpadDivide","Comma","Minus","Period","Slash","Backslash","IntlBackslash","Space"],"mappings":"wEAAA,0D;;;;;;AAMA,IAAMA,QAAQ,GAAG,CAAjB,C,CAAoB;AACpB,IAAMC,MAAM,GAAG,CAAf,C,CAAkB;;AAEX,IAAMC,eAAmD;AAC7DC,uCAAMC,YADuD,IACxC,CAAC,CAAC,CAAD,EAAI,CAAJ,CAAD,CADwC;AAE7DD,uCAAME,GAFuD,IAEjD,CAAC,CAAC,EAAD,EAAKL,QAAL,CAAD,CAFiD;AAG7DG,uCAAMG,MAHuD,IAG9C,CAAC,CAAC,EAAD,EAAKN,QAAL,CAAD,CAH8C;AAI7DG,uCAAMI,KAJuD,IAI/C,CAAC,CAAC,GAAD,EAAMP,QAAN,CAAD,CAJ+C;AAK7DG,uCAAMK,SALuD,IAK3C,CAAC,CAAC,CAAD,EAAIR,QAAJ,CAAD,CAL2C;AAM7DG,uCAAMM,KANuD,IAM/C,CAAC,CAAC,EAAD,EAAKT,QAAL,CAAD,CAN+C;AAO7DG,uCAAMO,WAPuD,IAOzC,CAAC,CAAC,EAAD,EAAKT,MAAL,CAAD,CAPyC;AAQ7DE,uCAAMQ,IARuD,IAQhD,CAAC,CAAC,EAAD,EAAKX,QAAL,CAAD,CARgD;AAS7DG,uCAAMS,MATuD,IAS9C,CAAC,CAAC,EAAD,EAAKZ,QAAL,CAAD,CAT8C;AAU7DG,uCAAMU,MAVuD,IAU9C,CAAC,CAAC,EAAD,EAAKb,QAAL,CAAD,CAV8C;AAW7DG,uCAAMW,MAXuD,IAW9C,CAAC,CAAC,EAAD,EAAKd,QAAL,CAAD,CAX8C;AAY7DG,uCAAMY,QAZuD,IAY5C,CAAC,CAAC,EAAD,EAAKf,QAAL,CAAD,CAZ4C;AAa7DG,uCAAMa,GAbuD,IAajD,CAAC,CAAC,CAAD,EAAIhB,QAAJ,CAAD,CAbiD;AAc7DG,uCAAMc,QAduD,IAc5C,CAAC,CAAC,EAAD,EAAKjB,QAAL,CAAD,CAd4C;AAe7DG,uCAAMe,IAfuD,IAehD,CAAC,CAAC,EAAD,EAAKlB,QAAL,CAAD,CAfgD;AAgB7DG,uCAAMgB,IAhBuD,IAgBhD,CAAC,CAAC,EAAD,EAAKnB,QAAL,CAAD,CAhBgD;AAiB7DG,uCAAMiB,IAjBuD,IAiBhD,CAAC,CAAC,EAAD,EAAKpB,QAAL,CAAD,CAjBgD;AAkB7DG,uCAAMkB,IAlBuD,IAkBhD,CAAC,CAAC,EAAD,EAAKrB,QAAL,CAAD,CAlBgD;AAmB7DG,uCAAMmB,aAnBuD,IAmBvC;AACrB,CAAC,GAAD,EAAMrB,MAAN,CADqB;AAErB,CAAC,EAAD,EAAKA,MAAL,CAFqB,CAnBuC;;AAuB7DE,uCAAMoB,cAvBuD,IAuBtC,CAAC,CAAC,GAAD,EAAMtB,MAAN,CAAD,CAvBsC;AAwB7DE,uCAAMqB,YAxBuD,IAwBxC,CAAC,CAAC,GAAD,EAAMvB,MAAN,CAAD,CAxBwC;AAyB7DE,uCAAMsB,KAzBuD,IAyB/C,CAAC,CAAC,GAAD,EAAMzB,QAAN,CAAD,CAzB+C;AA0B7DG,uCAAMuB,KA1BuD,IA0B/C,CAAC,CAAC,GAAD,EAAM1B,QAAN,CAAD,CA1B+C;AA2B7DG,uCAAMwB,MA3BuD,IA2B9C,CAAC,CAAC,GAAD,EAAM3B,QAAN,CAAD,CA3B8C;AA4B7DG,uCAAMyB,KA5BuD,IA4B/C,CAAC,CAAC,GAAD,EAAM5B,QAAN,CAAD,CA5B+C;AA6B7DG,uCAAM0B,SA7BuD,IA6B3C,CAAC,CAAC,GAAD,EAAM7B,QAAN,CAAD,CA7B2C;AA8B7DG,uCAAM2B,aA9BuD,IA8BvC,CAAC,CAAC,GAAD,EAAM9B,QAAN,CAAD,CA9BuC;AA+B7DG,uCAAM4B,KA/BuD,IA+B/C,CAAC,CAAC,EAAD,EAAK/B,QAAL,CAAD,CA/B+C,mBAAzD,C","sourcesContent":["import { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\n\nexport type Location = number;\nexport type KeyCode = number;\nexport type KeyboardKey = [KeyCode, Location];\n\nconst STANDARD = 0; //KeyboardEvent.DOM_KEY_LOCATION_STANDARD;\nconst NUMPAD = 3; //KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;\n\nexport const KeyboardMapKeys: { [code in Codes]: KeyboardKey[] } = {\n [Codes.Unidentified]: [[0, 0]],\n [Codes.End]: [[35, STANDARD]],\n [Codes.Escape]: [[27, STANDARD]],\n [Codes.Equal]: [[187, STANDARD]],\n [Codes.Backspace]: [[8, STANDARD]],\n [Codes.Enter]: [[13, STANDARD]],\n [Codes.NumpadEnter]: [[13, NUMPAD]],\n [Codes.Home]: [[36, STANDARD]],\n [Codes.Delete]: [[46, STANDARD]],\n [Codes.Insert]: [[45, STANDARD]],\n [Codes.PageUp]: [[33, STANDARD]],\n [Codes.PageDown]: [[34, STANDARD]],\n [Codes.Tab]: [[9, STANDARD]],\n [Codes.CapsLock]: [[20, STANDARD]],\n [Codes.KeyA]: [[65, STANDARD]],\n [Codes.KeyC]: [[67, STANDARD]],\n [Codes.KeyV]: [[86, STANDARD]],\n [Codes.KeyX]: [[88, STANDARD]],\n [Codes.NumpadDecimal]: [\n [110, NUMPAD],\n [46, NUMPAD],\n ],\n [Codes.NumpadSubtract]: [[109, NUMPAD]],\n [Codes.NumpadDivide]: [[111, NUMPAD]],\n [Codes.Comma]: [[188, STANDARD]],\n [Codes.Minus]: [[189, STANDARD]],\n [Codes.Period]: [[190, STANDARD]],\n [Codes.Slash]: [[191, STANDARD]],\n [Codes.Backslash]: [[220, STANDARD]],\n [Codes.IntlBackslash]: [[226, STANDARD]],\n [Codes.Space]: [[32, STANDARD]],\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["extractCode.ts"],"names":["extractCode","e","nativeEvent","code","keyCode","which","location","mapped","Object","entries","KeyboardMapKeys","find","set","some","_keyCode","_location","Codes","Unidentified"],"mappings":";;AAEA;AACA;;AAEO,SAASA,WAAT,CAAqBC,CAArB,EAAiF;AACtFA,EAAAA,CAAC,GAAIA,CAAD,CAAwCC,WAAxC,IAAuDD,CAA3D;AACA,MAAIA,CAAC,CAACE,IAAN,EAAY;AACV,WAAOF,CAAC,CAACE,IAAT;AACD;AACD,MAAMC,OAAO,GAAGH,CAAC,CAACG,OAAF,IAAaH,CAAC,CAACI,KAA/B;AACA,MAAMC,QAAQ,GAAGL,CAAC,CAACK,QAAnB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,
|
|
1
|
+
{"version":3,"sources":["extractCode.ts"],"names":["extractCode","e","nativeEvent","code","keyCode","which","location","mapped","Object","entries","KeyboardMapKeys","find","set","some","_keyCode","_location","Codes","Unidentified"],"mappings":";;AAEA;AACA;;AAEO,SAASA,WAAT,CAAqBC,CAArB,EAAiF;AACtFA,EAAAA,CAAC,GAAIA,CAAD,CAAwCC,WAAxC,IAAuDD,CAA3D;AACA,MAAIA,CAAC,CAACE,IAAN,EAAY;AACV,WAAOF,CAAC,CAACE,IAAT;AACD;AACD,MAAMC,OAAO,GAAGH,CAAC,CAACG,OAAF,IAAaH,CAAC,CAACI,KAA/B;AACA,MAAMC,QAAQ,GAAGL,CAAC,CAACK,QAAnB;AACA,MAAMC,MAAM,GAAIC,MAAM,CAACC,OAAR,CAAkDC,gCAAlD,EAAmEC,IAAnE,CAAwE,qBAAIC,GAAJ;AACrFA,MAAAA,GAAG,CAACC,IAAJ,CAAS,sBAAEC,QAAF,YAAYC,SAAZ,mBAA2BD,QAAQ,KAAKV,OAAb,IAAwBW,SAAS,KAAKT,QAAjE,EAAT,CADqF,GAAxE,CAAf;;AAGA,SAAOC,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAeS,uCAAMC,YAAlC;AACD","sourcesContent":["import { Entries } from '../../../typings/utility-types';\n\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\nimport { KeyboardKey, KeyboardMapKeys } from './KeyboardMapKeys';\n\nexport function extractCode(e: React.KeyboardEvent<HTMLElement> | KeyboardEvent): Codes {\n e = (e as React.KeyboardEvent<HTMLElement>).nativeEvent || e;\n if (e.code) {\n return e.code as Codes;\n }\n const keyCode = e.keyCode || e.which;\n const location = e.location;\n const mapped = (Object.entries as Entries<Codes, KeyboardKey[]>)(KeyboardMapKeys).find(([, set]) =>\n set.some(([_keyCode, _location]) => _keyCode === keyCode && _location === location),\n );\n return mapped ? mapped[0] : Codes.Unidentified;\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.needsPolyfillPlaceholder = void 0;var _client = require("./client");
|
|
2
|
+
|
|
3
|
+
var needsPolyfillPlaceholderInternal = function needsPolyfillPlaceholderInternal() {
|
|
4
|
+
if (_client.canUseDOM) {
|
|
5
|
+
var supportsPlaceholder = ('placeholder' in document.createElement('input'));
|
|
6
|
+
if (!supportsPlaceholder || _client.isIE11) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return false;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`
|
|
16
|
+
*
|
|
17
|
+
* Равен true, если браузеру нужен полифил для placeholder. Иначе - false
|
|
18
|
+
*/
|
|
19
|
+
var needsPolyfillPlaceholder = needsPolyfillPlaceholderInternal();exports.needsPolyfillPlaceholder = needsPolyfillPlaceholder;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["needsPolyfillPlaceholder.ts"],"names":["needsPolyfillPlaceholderInternal","canUseDOM","supportsPlaceholder","document","createElement","isIE11","needsPolyfillPlaceholder"],"mappings":"iFAAA;;AAEA,IAAMA,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAM;AAC7C,MAAIC,iBAAJ,EAAe;AACb,QAAMC,mBAAmB,IAAG,iBAAiBC,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAApB,CAAzB;AACA,QAAI,CAACF,mBAAD,IAAwBG,cAA5B,EAAoC;AAClC,aAAO,IAAP;AACD;AACF;;AAED,SAAO,KAAP;AACD,CATD;;AAWA;AACA;AACA;AACA;AACA;AACO,IAAMC,wBAAwB,GAAGN,gCAAgC,EAAjE,C","sourcesContent":["import { canUseDOM, isIE11 } from './client';\n\nconst needsPolyfillPlaceholderInternal = () => {\n if (canUseDOM) {\n const supportsPlaceholder = 'placeholder' in document.createElement('input');\n if (!supportsPlaceholder || isIE11) {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Определяет поддерживает ли браузер аттрибут `placeholder` для тега `input`\n *\n * Равен true, если браузеру нужен полифил для placeholder. Иначе - false\n */\nexport const needsPolyfillPlaceholder = needsPolyfillPlaceholderInternal();\n"]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
"use strict";exports.__esModule = true;exports.getRootNode = void 0;
|
|
1
|
+
"use strict";exports.__esModule = true;exports.getRootNode = void 0;
|
|
2
|
+
var _reactDom = require("react-dom");
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
var _SSRSafe = require("../SSRSafe");
|
|
6
7
|
var _client = require("../client");
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
var _rootNodeDecorator = require("./rootNodeDecorator"); /* eslint-disable react/no-find-dom-node */
|
|
8
10
|
|
|
9
11
|
var getRootNode = function getRootNode(instance) {
|
|
10
12
|
if (!_client.canUseDOM) return null;
|
|
@@ -12,16 +14,18 @@ var getRootNode = function getRootNode(instance) {
|
|
|
12
14
|
return instance;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
var rootNode;
|
|
18
|
+
|
|
19
|
+
// it happened to be that native Node interface also has
|
|
20
|
+
// the "getRootNode" method, but we dont expect it here
|
|
21
|
+
if ((0, _rootNodeDecorator.isInstanceWithRootNode)(instance) && !(0, _SSRSafe.isNode)(instance)) {
|
|
22
|
+
rootNode = instance.getRootNode();
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
if (
|
|
22
|
-
return
|
|
25
|
+
if (rootNode !== undefined) {
|
|
26
|
+
return rootNode;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
return
|
|
29
|
+
rootNode = (0, _reactDom.findDOMNode)(instance);
|
|
30
|
+
return (0, _SSRSafe.isHTMLElement)(rootNode) ? rootNode : null;
|
|
27
31
|
};exports.getRootNode = getRootNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","
|
|
1
|
+
{"version":3,"sources":["getRootNode.ts"],"names":["getRootNode","instance","canUseDOM","rootNode","undefined"],"mappings":";AACA;;;;AAIA;AACA;;AAEA,wD,CARA;;AAUO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACC,iBAAL,EAAgB,OAAO,IAAP;AAChB,MAAI,4BAAcD,QAAd,KAA2BA,QAAQ,KAAK,IAA5C,EAAkD;AAChD,WAAOA,QAAP;AACD;;AAED,MAAIE,QAAJ;;AAEA;AACA;AACA,MAAI,+CAAuBF,QAAvB,KAAoC,CAAC,qBAAOA,QAAP,CAAzC,EAA2D;AACzDE,IAAAA,QAAQ,GAAGF,QAAQ,CAACD,WAAT,EAAX;AACD;;AAED,MAAIG,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B,WAAOD,QAAP;AACD;;AAEDA,EAAAA,QAAQ,GAAG,2BAAYF,QAAZ,CAAX;AACA,SAAO,4BAAcE,QAAd,IAA0BA,QAA1B,GAAqC,IAA5C;AACD,CApBM,C","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM) return null;\n if (isHTMLElement(instance) || instance === null) {\n return instance;\n }\n\n let rootNode;\n\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we dont expect it here\n if (isInstanceWithRootNode(instance) && !isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n\n if (rootNode !== undefined) {\n return rootNode;\n }\n\n rootNode = findDOMNode(instance);\n return isHTMLElement(rootNode) ? rootNode : null;\n};\n"]}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import EventEmitter from 'eventemitter3';
|
|
2
3
|
import { Nullable } from '../../typings/utility-types';
|
|
3
4
|
export declare type TSetRootNode = (e: Nullable<React.ReactNode>) => void;
|
|
5
|
+
export declare type TRootNodeSubscription = {
|
|
6
|
+
remove: () => void;
|
|
7
|
+
};
|
|
8
|
+
export interface InstanceWithRootNode {
|
|
9
|
+
getRootNode: () => Nullable<HTMLElement>;
|
|
10
|
+
addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
|
|
11
|
+
}
|
|
4
12
|
export declare function rootNode<T extends new (...args: any[]) => React.Component>(Component: T): {
|
|
5
13
|
new (...args: any[]): {
|
|
6
14
|
rootNode: Nullable<HTMLElement>;
|
|
15
|
+
rootNodeEmitter: EventEmitter<string | symbol, any>;
|
|
7
16
|
setRootNode: (instance: Nullable<React.ReactInstance>) => void;
|
|
8
17
|
getRootNode: () => Nullable<HTMLElement>;
|
|
18
|
+
addRootNodeChangeListener: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
|
|
9
19
|
context: any;
|
|
10
20
|
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
11
21
|
forceUpdate(callback?: (() => void) | undefined): void;
|
|
@@ -31,3 +41,4 @@ export declare function rootNode<T extends new (...args: any[]) => React.Compone
|
|
|
31
41
|
UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
|
|
32
42
|
};
|
|
33
43
|
} & T;
|
|
44
|
+
export declare const isInstanceWithRootNode: (instance: unknown) => instance is InstanceWithRootNode;
|
|
@@ -1,24 +1,49 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.rootNode = rootNode;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.isInstanceWithRootNode = void 0;exports.rootNode = rootNode;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
2
|
+
|
|
3
|
+
var _eventemitter = _interopRequireDefault(require("eventemitter3"));
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _getRootNode = require("./getRootNode"); /* eslint-disable react/display-name */
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
2
14
|
|
|
3
15
|
|
|
4
16
|
|
|
5
|
-
var _getRootNode = require("./getRootNode");
|
|
6
17
|
|
|
7
18
|
|
|
8
19
|
|
|
9
20
|
function rootNode(Component) {
|
|
10
21
|
var rootNode = /*#__PURE__*/function (_Component) {(0, _inheritsLoose2.default)(rootNode, _Component);
|
|
11
22
|
|
|
23
|
+
|
|
12
24
|
function rootNode() {var _this;
|
|
13
|
-
_this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.
|
|
25
|
+
_this = _Component.call(this, arguments.length <= 0 ? undefined : arguments[0]) || this;_this.rootNode = null;_this.rootNodeEmitter = new _eventemitter.default();_this.
|
|
14
26
|
|
|
15
27
|
|
|
16
28
|
setRootNode = function (instance) {
|
|
17
|
-
|
|
29
|
+
var _rootNode = (0, _getRootNode.getRootNode)(instance);
|
|
30
|
+
if (_rootNode !== _this.rootNode) {
|
|
31
|
+
_this.rootNode = _rootNode;
|
|
32
|
+
_this.rootNodeEmitter.emit('change', _rootNode);
|
|
33
|
+
}
|
|
18
34
|
};_this.
|
|
19
35
|
|
|
20
36
|
getRootNode = function () {
|
|
21
37
|
return _this.rootNode;
|
|
38
|
+
};_this.
|
|
39
|
+
|
|
40
|
+
addRootNodeChangeListener = function (callback) {
|
|
41
|
+
_this.rootNodeEmitter.addListener('change', callback);
|
|
42
|
+
return {
|
|
43
|
+
remove: function remove() {
|
|
44
|
+
_this.rootNodeEmitter.removeListener('change', callback);
|
|
45
|
+
} };
|
|
46
|
+
|
|
22
47
|
};return _this;}return rootNode;}(Component);
|
|
23
48
|
|
|
24
49
|
|
|
@@ -28,4 +53,8 @@ function rootNode(Component) {
|
|
|
28
53
|
}
|
|
29
54
|
|
|
30
55
|
return rootNode;
|
|
31
|
-
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var isInstanceWithRootNode = function isInstanceWithRootNode(instance) {
|
|
59
|
+
return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');
|
|
60
|
+
};exports.isInstanceWithRootNode = isInstanceWithRootNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","setRootNode","instance","getRootNode","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name"],"mappings":";;;;AAIA
|
|
1
|
+
{"version":3,"sources":["rootNodeDecorator.tsx"],"names":["rootNode","Component","rootNodeEmitter","EventEmitter","setRootNode","instance","emit","getRootNode","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":";;AAEA;;;;AAIA,4C,CANA;;;;;;;;;;;;;AAmBO,SAASA,QAAT,CAAqEC,SAArE,EAAmF;AACxF,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFM,IAEN,OAD5BE,eAC4B,GADV,IAAIC,qBAAJ,EACU;;;AAI5BC,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAG,8BAAYK,QAAZ,CAAjB;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKE,eAAL,CAAqBI,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BO,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKP,QAAZ;AACD,OAdkC;;AAgB5BQ,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKP,eAAL,CAAqBQ,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKT,eAAL,CAAqBU,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBR,SAAjB,CAAd;;;AA6BA,MAAMY,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCf,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACa,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBjB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEkB,KAAK,EAAEjB,SAAS,CAACkB,IAAnB,EAAxC;AACD;;AAED,SAAOnB,QAAP;AACD;;AAEM,IAAMoB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACf,QAAD,EAAyD;AAC7F,SAAOgB,OAAO,CAAChB,QAAD,CAAP,IAAqBS,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCnB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM,C","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<HTMLElement>;\n addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;\n}\n\nexport function rootNode<T extends new (...args: any[]) => React.Component>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<HTMLElement> = null;\n public rootNodeEmitter = new EventEmitter();\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n const rootNode = getRootNode(instance);\n if (rootNode !== this.rootNode) {\n this.rootNode = rootNode;\n this.rootNodeEmitter.emit('change', rootNode);\n }\n };\n\n public getRootNode = (): Nullable<HTMLElement> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<HTMLElement>) => void): TRootNodeSubscription => {\n this.rootNodeEmitter.addListener('change', callback);\n return {\n remove: () => {\n this.rootNodeEmitter.removeListener('change', callback);\n },\n };\n };\n };\n\n const nameDescriptor = Object.getOwnPropertyDescriptor(rootNode, 'name');\n if (!nameDescriptor || nameDescriptor.configurable) {\n Object.defineProperty(rootNode, 'name', { value: Component.name });\n }\n\n return rootNode;\n}\n\nexport const isInstanceWithRootNode = (instance: unknown): instance is InstanceWithRootNode => {\n return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAOZ,KAAK,IAAI,IAAhB,EAAsB;AACnBU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,
|
|
1
|
+
{"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAOZ,KAAK,IAAI,IAAhB,EAAsB;AACnBU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,CAAoCO,OAApC,CAA4C,UAACM,GAAD,EAAS;AACnD,YAAI,CAACD,IAAI,CAACE,QAAL,CAAcD,GAAd,CAAL,EAAyB;AACvBD,UAAAA,IAAI,CAACG,IAAL,CAAUF,GAAV;AACD;AACF,OAJD;AAKAb,MAAAA,KAAK,GAAGU,MAAM,CAACM,cAAP,CAAsBhB,KAAtB,CAAR;AACD;AACD,WAAOY,IAAI,CAACK,IAAL,EAAP;AACD,G;;AAEcb,EAAAA,c,GAAf,wBAA8BF,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMkB,QAAQ,GAAGR,MAAM,CAACX,MAAP,CAAcG,IAAd,CAAjB;AACAQ,IAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,EAAmBO,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCpB,KAAhC,EAAuCmB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,G","sourcesContent":["import { DefaultThemeInternal } from '../../internal/themes/DefaultTheme';\n\nimport { Theme, ThemeIn } from './Theme';\nimport { findPropertyDescriptor } from './ThemeHelpers';\n\nexport class ThemeFactory {\n public static create<T extends {}>(theme: ThemeIn & T, baseTheme?: Theme): Readonly<Theme & T> {\n const base = baseTheme || DefaultThemeInternal;\n return this.constructTheme(base, theme);\n }\n\n public static overrideDefaultTheme(theme: Theme) {\n ThemeFactory.getKeys(DefaultThemeInternal).forEach((variableName) => {\n const descriptor = findPropertyDescriptor(theme, variableName);\n Object.defineProperty(DefaultThemeInternal, variableName, descriptor);\n });\n }\n\n public static getKeys<T extends Theme>(theme: T) {\n const keys: Array<keyof T> = [];\n while (theme != null) {\n (Object.keys(theme) as typeof keys).forEach((key) => {\n if (!keys.includes(key)) {\n keys.push(key);\n }\n });\n theme = Object.getPrototypeOf(theme);\n }\n return keys.sort();\n }\n\n private static constructTheme(base: Theme, theme: ThemeIn) {\n const newTheme = Object.create(base);\n Object.keys(theme).forEach((propName) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, propName)!;\n Object.defineProperty(newTheme, propName, descriptor);\n });\n\n return Object.freeze(newTheme);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const THEME_2022: Readonly<Readonly<typeof import("../../../internal/themes/DefaultTheme").DefaultTheme> & typeof import("../../../internal/themes/Theme2022").Theme2022>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.THEME_2022 = void 0;var _ThemeFactory = require("../ThemeFactory");
|
|
2
|
+
var _Theme = require("../../../internal/themes/Theme2022");
|
|
3
|
+
|
|
4
|
+
var _DefaultTheme = require("./DefaultTheme");
|
|
5
|
+
|
|
6
|
+
var THEME_2022 = _ThemeFactory.ThemeFactory.create(_Theme.Theme2022Internal, _DefaultTheme.DEFAULT_THEME);exports.THEME_2022 = THEME_2022;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Theme2022.ts"],"names":["THEME_2022","ThemeFactory","create","Theme2022Internal","DEFAULT_THEME"],"mappings":"mEAAA;AACA;;AAEA;;AAEO,IAAMA,UAAU,GAAGC,2BAAaC,MAAb,CAAoBC,wBAApB,EAAuCC,2BAAvC,CAAnB,C","sourcesContent":["import { ThemeFactory } from '../ThemeFactory';\nimport { Theme2022Internal } from '../../../internal/themes/Theme2022';\n\nimport { DEFAULT_THEME } from './DefaultTheme';\n\nexport const THEME_2022 = ThemeFactory.create(Theme2022Internal, DEFAULT_THEME);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const THEME_2022_DARK: Readonly<Readonly<typeof import("../../../internal/themes/DefaultTheme").DefaultTheme> & typeof import("../../../internal/themes/Theme2022Dark").Theme2022Dark>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.THEME_2022_DARK = void 0;var _ThemeFactory = require("../ThemeFactory");
|
|
2
|
+
var _Theme2022Dark = require("../../../internal/themes/Theme2022Dark");
|
|
3
|
+
var _Theme = require("../../../internal/themes/Theme2022");
|
|
4
|
+
|
|
5
|
+
var _DarkTheme = require("./DarkTheme");
|
|
6
|
+
|
|
7
|
+
var THEME_2022_DARK = _ThemeFactory.ThemeFactory.create(
|
|
8
|
+
_Theme2022Dark.Theme2022DarkInternal,
|
|
9
|
+
_ThemeFactory.ThemeFactory.create(_Theme.Theme2022Internal, _DarkTheme.DARK_THEME));exports.THEME_2022_DARK = THEME_2022_DARK;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Theme2022Dark.ts"],"names":["THEME_2022_DARK","ThemeFactory","create","Theme2022DarkInternal","Theme2022Internal","DARK_THEME"],"mappings":"wEAAA;AACA;AACA;;AAEA;;AAEO,IAAMA,eAAe,GAAGC,2BAAaC,MAAb;AAC7BC,oCAD6B;AAE7BF,2BAAaC,MAAb,CAAoBE,wBAApB,EAAuCC,qBAAvC,CAF6B,CAAxB,C","sourcesContent":["import { ThemeFactory } from '../ThemeFactory';\nimport { Theme2022DarkInternal } from '../../../internal/themes/Theme2022Dark';\nimport { Theme2022Internal } from '../../../internal/themes/Theme2022';\n\nimport { DARK_THEME } from './DarkTheme';\n\nexport const THEME_2022_DARK = ThemeFactory.create(\n Theme2022DarkInternal,\n ThemeFactory.create(Theme2022Internal, DARK_THEME),\n);\n"]}
|
|
@@ -21,6 +21,7 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
|
21
21
|
import { MobilePopup } from "../../../internal/MobilePopup";
|
|
22
22
|
import { responsiveLayout } from "../../ResponsiveLayout/decorator";
|
|
23
23
|
import { getRootNode, rootNode } from "../../../lib/rootNode";
|
|
24
|
+
import { getDOMRect } from "../../../lib/dom/getDOMRect";
|
|
24
25
|
import { styles } from "../Autocomplete.styles";
|
|
25
26
|
|
|
26
27
|
function match(pattern, items) {
|
|
@@ -147,14 +148,6 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
|
|
|
147
148
|
}) : null;
|
|
148
149
|
};
|
|
149
150
|
|
|
150
|
-
_this.getInputWidth = function (target) {
|
|
151
|
-
if (target instanceof Element) {
|
|
152
|
-
return target.getBoundingClientRect().width;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
return 0;
|
|
156
|
-
};
|
|
157
|
-
|
|
158
151
|
_this.handleValueChange = function (value) {
|
|
159
152
|
_this.opened = true;
|
|
160
153
|
|
|
@@ -333,7 +326,7 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
|
|
|
333
326
|
ref: this.refMenu,
|
|
334
327
|
maxHeight: this.props.menuMaxHeight,
|
|
335
328
|
hasShadow: this.props.hasShadow,
|
|
336
|
-
width: this.props.menuWidth || this.props.width &&
|
|
329
|
+
width: this.props.menuWidth || this.props.width && getDOMRect(this.rootSpan).width,
|
|
337
330
|
preventWindowScroll: this.props.preventWindowScroll
|
|
338
331
|
};
|
|
339
332
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","styles","match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","getInputWidth","target","Element","getBoundingClientRect","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n pattern = pattern.toLowerCase();\n const filteredItems = items.filter((item) => item.toLowerCase().includes(pattern));\n return Promise.resolve(filteredItems);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && this.getInputWidth(this.rootSpan)),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private getInputWidth = (target: Nullable<HTMLSpanElement>) => {\n if (target instanceof Element) {\n return target.getBoundingClientRect().width;\n }\n\n return 0;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n const expectingId = (this.requestId += 1);\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n pattern = pattern.toLowerCase();\n const filteredItems = items.filter((item) => item.toLowerCase().includes(pattern));\n return Promise.resolve(filteredItems);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && getDOMRect(this.rootSpan).width),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n const expectingId = (this.requestId += 1);\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
|
|
@@ -103,7 +103,6 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
|
|
|
103
103
|
private renderMenu;
|
|
104
104
|
private renderMobileMenu;
|
|
105
105
|
private getItems;
|
|
106
|
-
private getInputWidth;
|
|
107
106
|
private handleValueChange;
|
|
108
107
|
private handleCloseMobile;
|
|
109
108
|
private handleKeyPressMobile;
|
|
@@ -195,6 +195,6 @@ export var activeStyles = memoizeStyle({
|
|
|
195
195
|
return css(_templateObject59 || (_templateObject59 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnPayActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
|
|
196
196
|
},
|
|
197
197
|
link: function link(t) {
|
|
198
|
-
return css(_templateObject60 || (_templateObject60 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n color: ", ";\n }\n "])), t.
|
|
198
|
+
return css(_templateObject60 || (_templateObject60 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n color: ", ";\n }\n "])), t.btnLinkActiveColor);
|
|
199
199
|
}
|
|
200
200
|
});
|