@infomaximum/ui-kit 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +169 -0
- package/dist/components/Alert/Alert.d.ts +3 -0
- package/dist/components/Alert/Alert.js +67 -0
- package/dist/components/Alert/Alert.styles.d.ts +885 -0
- package/dist/components/Alert/Alert.styles.js +124 -0
- package/dist/components/Alert/Alert.tokens.d.ts +8 -0
- package/dist/components/Alert/Alert.tokens.js +10 -0
- package/dist/components/Alert/Alert.types.d.ts +26 -0
- package/dist/components/Alert/Alert.utils.d.ts +7 -0
- package/dist/components/Alert/Alert.utils.js +38 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Avatar/Avatar.d.ts +3 -0
- package/dist/components/Avatar/Avatar.js +23 -0
- package/dist/components/Avatar/Avatar.styles.d.ts +29 -0
- package/dist/components/Avatar/Avatar.styles.js +40 -0
- package/dist/components/Avatar/Avatar.tokens.d.ts +7 -0
- package/dist/components/Avatar/Avatar.tokens.js +8 -0
- package/dist/components/Avatar/Avatar.types.d.ts +11 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/BaseTooltip/BaseTooltip.d.ts +3 -0
- package/dist/components/BaseTooltip/BaseTooltip.js +87 -0
- package/dist/components/BaseTooltip/BaseTooltip.styles.d.ts +6 -0
- package/dist/components/BaseTooltip/BaseTooltip.styles.js +36 -0
- package/dist/components/BaseTooltip/BaseTooltip.types.d.ts +19 -0
- package/dist/components/BaseTooltip/BaseTooltip.utils.d.ts +12 -0
- package/dist/components/BaseTooltip/BaseTooltip.utils.js +101 -0
- package/dist/components/BaseTooltip/hooks/useShowTooltipController.d.ts +22 -0
- package/dist/components/BaseTooltip/hooks/useShowTooltipController.js +143 -0
- package/dist/components/Button/Button.d.ts +3 -0
- package/dist/components/Button/Button.js +56 -0
- package/dist/components/Button/Button.styles.d.ts +958 -0
- package/dist/components/Button/Button.styles.js +230 -0
- package/dist/components/Button/Button.tokens.d.ts +27 -0
- package/dist/components/Button/Button.tokens.js +29 -0
- package/dist/components/Button/Button.types.d.ts +31 -0
- package/dist/components/Button/Button.utils.d.ts +8 -0
- package/dist/components/Button/Button.utils.js +38 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/components/Checkbox/Checkbox.js +72 -0
- package/dist/components/Checkbox/Checkbox.styles.d.ts +46 -0
- package/dist/components/Checkbox/Checkbox.styles.js +85 -0
- package/dist/components/Checkbox/Checkbox.tokens.d.ts +13 -0
- package/dist/components/Checkbox/Checkbox.tokens.js +15 -0
- package/dist/components/Checkbox/Checkbox.types.d.ts +27 -0
- package/dist/components/Checkbox/components/Group/Group.d.ts +3 -0
- package/dist/components/Checkbox/components/Group/Group.js +67 -0
- package/dist/components/Checkbox/components/Group/Group.style.d.ts +6 -0
- package/dist/components/Checkbox/components/Group/Group.style.js +8 -0
- package/dist/components/Checkbox/components/Group/Group.type.d.ts +18 -0
- package/dist/components/Checkbox/components/Group/Group.utils.d.ts +6 -0
- package/dist/components/Checkbox/components/Group/Group.utils.js +6 -0
- package/dist/components/Checkbox/forStories/CheckAll/CheckAll.d.ts +2 -0
- package/dist/components/Checkbox/index.d.ts +4 -0
- package/dist/components/Checkbox/index.js +8 -0
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +3 -0
- package/dist/components/ConfigProvider/ConfigProvider.js +17 -0
- package/dist/components/ConfigProvider/ConfigProvider.types.d.ts +5 -0
- package/dist/components/ConfigProvider/contexts/ConfigContext.d.ts +2 -0
- package/dist/components/ConfigProvider/contexts/ConfigContext.js +5 -0
- package/dist/components/ConfigProvider/contexts/ConfigContext.types.d.ts +6 -0
- package/dist/components/ConfigProvider/contexts/index.d.ts +1 -0
- package/dist/components/ConfigProvider/hooks/useConfig/index.d.ts +1 -0
- package/dist/components/ConfigProvider/hooks/useConfig/useConfig.d.ts +9 -0
- package/dist/components/ConfigProvider/hooks/useConfig/useConfig.js +17 -0
- package/dist/components/ConfigProvider/index.d.ts +3 -0
- package/dist/components/DatePicker/DatePicker.d.ts +4 -0
- package/dist/components/DatePicker/DatePicker.js +13 -0
- package/dist/components/DatePicker/DatePicker.types.d.ts +8 -0
- package/dist/components/DatePicker/DatePicker.utils.d.ts +8 -0
- package/dist/components/DatePicker/DatePicker.utils.js +13 -0
- package/dist/components/DatePicker/components/RangePicker/RangePicker.d.ts +4 -0
- package/dist/components/DatePicker/components/RangePicker/RangePicker.js +11 -0
- package/dist/components/DatePicker/components/RangePicker/RangePicker.types.d.ts +3 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/Dropdown/Dropdown.d.ts +3 -0
- package/dist/components/Dropdown/Dropdown.js +78 -0
- package/dist/components/Dropdown/Dropdown.tokens.d.ts +13 -0
- package/dist/components/Dropdown/Dropdown.tokens.js +14 -0
- package/dist/components/Dropdown/Dropdown.types.d.ts +98 -0
- package/dist/components/Dropdown/Dropdown.types.js +30 -0
- package/dist/components/Dropdown/Dropdown.utils.d.ts +4 -0
- package/dist/components/Dropdown/Dropdown.utils.js +40 -0
- package/dist/components/Dropdown/components/Divider/Divider.d.ts +2 -0
- package/dist/components/Dropdown/components/Divider/Divider.js +11 -0
- package/dist/components/Dropdown/components/Divider/Divider.styles.d.ts +7 -0
- package/dist/components/Dropdown/components/Divider/Divider.styles.js +13 -0
- package/dist/components/Dropdown/components/Group/Group.d.ts +3 -0
- package/dist/components/Dropdown/components/Group/Group.js +37 -0
- package/dist/components/Dropdown/components/Group/Group.styles.d.ts +29 -0
- package/dist/components/Dropdown/components/Group/Group.styles.js +39 -0
- package/dist/components/Dropdown/components/Group/Group.types.d.ts +7 -0
- package/dist/components/Dropdown/components/Item/Item.d.ts +3 -0
- package/dist/components/Dropdown/components/Item/Item.js +55 -0
- package/dist/components/Dropdown/components/Item/Item.style.d.ts +51 -0
- package/dist/components/Dropdown/components/Item/Item.style.js +74 -0
- package/dist/components/Dropdown/components/Item/Item.types.d.ts +7 -0
- package/dist/components/Dropdown/components/Menu/Menu.d.ts +3 -0
- package/dist/components/Dropdown/components/Menu/Menu.js +78 -0
- package/dist/components/Dropdown/components/Menu/Menu.styles.d.ts +55 -0
- package/dist/components/Dropdown/components/Menu/Menu.styles.js +69 -0
- package/dist/components/Dropdown/components/Menu/Menu.types.d.ts +7 -0
- package/dist/components/Dropdown/components/SubMenu/SubMenu.d.ts +3 -0
- package/dist/components/Dropdown/components/SubMenu/SubMenu.js +131 -0
- package/dist/components/Dropdown/components/SubMenu/SubMenu.types.d.ts +6 -0
- package/dist/components/Dropdown/components/SubMenu/SubMenu.utils.d.ts +2 -0
- package/dist/components/Dropdown/components/SubMenu/SubMenu.utils.js +15 -0
- package/dist/components/Dropdown/contexts/dropdownContext.d.ts +22 -0
- package/dist/components/Dropdown/contexts/dropdownContext.js +5 -0
- package/dist/components/Dropdown/forStories/menusData.d.ts +9 -0
- package/dist/components/Dropdown/hooks/useFilter.d.ts +8 -0
- package/dist/components/Dropdown/hooks/useFilter.js +45 -0
- package/dist/components/Dropdown/hooks/useSelectedKeysController.d.ts +30 -0
- package/dist/components/Dropdown/hooks/useSelectedKeysController.js +58 -0
- package/dist/components/Dropdown/hooks/useStepSubMenus.d.ts +7 -0
- package/dist/components/Dropdown/hooks/useStepSubMenus.js +34 -0
- package/dist/components/Dropdown/hooks/useSubMenusController.d.ts +7 -0
- package/dist/components/Dropdown/hooks/useSubMenusController.js +30 -0
- package/dist/components/Dropdown/index.d.ts +2 -0
- package/dist/components/Input/Input.d.ts +3 -0
- package/dist/components/Input/Input.js +163 -0
- package/dist/components/Input/Input.styles.d.ts +184 -0
- package/dist/components/Input/Input.styles.js +138 -0
- package/dist/components/Input/Input.tokens.d.ts +18 -0
- package/dist/components/Input/Input.tokens.js +19 -0
- package/dist/components/Input/Input.types.d.ts +19 -0
- package/dist/components/Input/components/InputPassword/InputPassword.d.ts +2 -0
- package/dist/components/Input/components/InputPassword/InputPassword.js +51 -0
- package/dist/components/Input/components/InputPassword/InputPassword.styles.d.ts +10 -0
- package/dist/components/Input/components/InputPassword/InputPassword.styles.js +11 -0
- package/dist/components/Input/components/InputPassword/InputPassword.types.d.ts +11 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.d.ts +2 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.js +89 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.styles.d.ts +33 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.styles.js +13 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.types.d.ts +10 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.utils.d.ts +9 -0
- package/dist/components/Input/components/InputTextArea/InputTextArea.utils.js +105 -0
- package/dist/components/Input/hooks/useKeyboardEvents/index.d.ts +1 -0
- package/dist/components/Input/hooks/useKeyboardEvents/useKeyboardEvents.d.ts +7 -0
- package/dist/components/Input/hooks/useKeyboardEvents/useKeyboardEvents.js +43 -0
- package/dist/components/Input/hooks/useKeyboardEvents/useKeyboardEvents.types.d.ts +3 -0
- package/dist/components/Input/hooks/useMergeState/index.d.ts +1 -0
- package/dist/components/Input/hooks/useMergeState/useMergeState.d.ts +21 -0
- package/dist/components/Input/hooks/useMergeState/useMergeState.js +94 -0
- package/dist/components/Input/hooks/useRemovePasswordTimeout/index.d.ts +1 -0
- package/dist/components/Input/hooks/useRemovePasswordTimeout/useRemovePasswordTimeout.d.ts +4 -0
- package/dist/components/Input/hooks/useRemovePasswordTimeout/useRemovePasswordTimeout.js +49 -0
- package/dist/components/Input/hooks/useRemovePasswordTimeout/useRemovePasswordTimeout.types.d.ts +8 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/utils/resolveOnChange/index.d.ts +1 -0
- package/dist/components/Input/utils/resolveOnChange/resolveOnChange.d.ts +3 -0
- package/dist/components/Input/utils/resolveOnChange/resolveOnChange.js +41 -0
- package/dist/components/InputNumber/InputNumber.d.ts +2 -0
- package/dist/components/InputNumber/InputNumber.js +189 -0
- package/dist/components/InputNumber/InputNumber.styles.d.ts +107 -0
- package/dist/components/InputNumber/InputNumber.styles.js +115 -0
- package/dist/components/InputNumber/InputNumber.tokens.d.ts +18 -0
- package/dist/components/InputNumber/InputNumber.tokens.js +19 -0
- package/dist/components/InputNumber/InputNumber.types.d.ts +41 -0
- package/dist/components/InputNumber/InputNumber.utils.d.ts +2 -0
- package/dist/components/InputNumber/InputNumber.utils.js +9 -0
- package/dist/components/InputNumber/components/StepController/StepController.d.ts +3 -0
- package/dist/components/InputNumber/components/StepController/StepController.js +26 -0
- package/dist/components/InputNumber/components/StepController/StepController.styles.d.ts +51 -0
- package/dist/components/InputNumber/components/StepController/StepController.styles.js +51 -0
- package/dist/components/InputNumber/components/StepController/StepController.types.d.ts +5 -0
- package/dist/components/InputNumber/hooks/useChangeValue/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useChangeValue/useChangeValue.d.ts +9 -0
- package/dist/components/InputNumber/hooks/useChangeValue/useChangeValue.js +103 -0
- package/dist/components/InputNumber/hooks/useChangeValue/useChangeValue.types.d.ts +11 -0
- package/dist/components/InputNumber/hooks/useDecimalTools/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useDecimalTools/useDecimalTools.d.ts +6 -0
- package/dist/components/InputNumber/hooks/useDecimalTools/useDecimalTools.js +59 -0
- package/dist/components/InputNumber/hooks/useDecimalTools/useDecimalTools.types.d.ts +6 -0
- package/dist/components/InputNumber/hooks/useFocusBlurEvents/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useFocusBlurEvents/useFocusBlurEvents.d.ts +9 -0
- package/dist/components/InputNumber/hooks/useFocusBlurEvents/useFocusBlurEvents.js +35 -0
- package/dist/components/InputNumber/hooks/useFocusBlurEvents/useFocusBlurEvents.types.d.ts +7 -0
- package/dist/components/InputNumber/hooks/useKeyboardEvents/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useKeyboardEvents/useKeyboardEvents.d.ts +6 -0
- package/dist/components/InputNumber/hooks/useKeyboardEvents/useKeyboardEvents.js +37 -0
- package/dist/components/InputNumber/hooks/useKeyboardEvents/useKeyboardEvents.types.d.ts +10 -0
- package/dist/components/InputNumber/hooks/useRange/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useRange/useRange.d.ts +9 -0
- package/dist/components/InputNumber/hooks/useRange/useRange.js +36 -0
- package/dist/components/InputNumber/hooks/useRange/useRange.types.d.ts +7 -0
- package/dist/components/InputNumber/hooks/useStep/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useStep/useStep.d.ts +6 -0
- package/dist/components/InputNumber/hooks/useStep/useStep.js +55 -0
- package/dist/components/InputNumber/hooks/useStep/useStep.types.d.ts +14 -0
- package/dist/components/InputNumber/hooks/useWheelEvents/index.d.ts +1 -0
- package/dist/components/InputNumber/hooks/useWheelEvents/useWheelEvents.d.ts +2 -0
- package/dist/components/InputNumber/hooks/useWheelEvents/useWheelEvents.js +27 -0
- package/dist/components/InputNumber/hooks/useWheelEvents/useWheelEvents.types.d.ts +9 -0
- package/dist/components/InputNumber/index.d.ts +2 -0
- package/dist/components/InputNumber/utils/BigIntDecimal.d.ts +27 -0
- package/dist/components/InputNumber/utils/BigIntDecimal.js +124 -0
- package/dist/components/InputNumber/utils/MiniDecimal.d.ts +3 -0
- package/dist/components/InputNumber/utils/MiniDecimal.js +42 -0
- package/dist/components/InputNumber/utils/NumberDecimal.d.ts +17 -0
- package/dist/components/InputNumber/utils/NumberDecimal.js +83 -0
- package/dist/components/InputNumber/utils/index.d.ts +4 -0
- package/dist/components/InputNumber/utils/interface.d.ts +13 -0
- package/dist/components/InputNumber/utils/numberUtil.d.ts +15 -0
- package/dist/components/InputNumber/utils/numberUtil.js +91 -0
- package/dist/components/InputNumber/utils/supportUtil.d.ts +1 -0
- package/dist/components/InputNumber/utils/supportUtil.js +6 -0
- package/dist/components/InternalPicker/config/docsStoriesLocale.d.ts +2 -0
- package/dist/components/InternalPicker/config/index.d.ts +2 -0
- package/dist/components/InternalPicker/config/types.d.ts +25 -0
- package/dist/components/InternalPicker/index.d.ts +4 -0
- package/dist/components/InternalPicker/pickers/RangePicker/RangePicker.d.ts +4 -0
- package/dist/components/InternalPicker/pickers/RangePicker/RangePicker.js +49 -0
- package/dist/components/InternalPicker/pickers/RangePicker/RangePicker.types.d.ts +8 -0
- package/dist/components/InternalPicker/pickers/RangePicker/RangePicker.utils.d.ts +3 -0
- package/dist/components/InternalPicker/pickers/RangePicker/RangePicker.utils.js +13 -0
- package/dist/components/InternalPicker/pickers/RangePicker/index.d.ts +2 -0
- package/dist/components/InternalPicker/pickers/SinglePicker/SinglePicker.d.ts +4 -0
- package/dist/components/InternalPicker/pickers/SinglePicker/SinglePicker.js +48 -0
- package/dist/components/InternalPicker/pickers/SinglePicker/SinglePicker.types.d.ts +9 -0
- package/dist/components/InternalPicker/pickers/SinglePicker/SinglePicker.utils.d.ts +21 -0
- package/dist/components/InternalPicker/pickers/SinglePicker/SinglePicker.utils.js +102 -0
- package/dist/components/InternalPicker/pickers/SinglePicker/index.d.ts +3 -0
- package/dist/components/InternalPicker/pickers/hooks/useComponents/index.d.ts +1 -0
- package/dist/components/InternalPicker/pickers/hooks/useComponents/useComponents.d.ts +8 -0
- package/dist/components/InternalPicker/pickers/hooks/useComponents/useComponents.js +18 -0
- package/dist/components/InternalPicker/pickers/hooks/useComponents/useComponents.types.d.ts +5 -0
- package/dist/components/InternalPicker/pickers/index.d.ts +2 -0
- package/dist/components/InternalPicker/styles/DatePanel.styles.d.ts +963 -0
- package/dist/components/InternalPicker/styles/DatePanel.styles.js +234 -0
- package/dist/components/InternalPicker/styles/Popup.styles.d.ts +1042 -0
- package/dist/components/InternalPicker/styles/Popup.styles.js +73 -0
- package/dist/components/InternalPicker/styles/RangeSelector.styles.d.ts +130 -0
- package/dist/components/InternalPicker/styles/RangeSelector.styles.js +45 -0
- package/dist/components/InternalPicker/styles/SingleSelector.styles.d.ts +102 -0
- package/dist/components/InternalPicker/styles/SingleSelector.styles.js +117 -0
- package/dist/components/InternalPicker/styles/TimePanel.styles.d.ts +49 -0
- package/dist/components/InternalPicker/styles/TimePanel.styles.js +64 -0
- package/dist/components/InternalPicker/styles/common.styles.d.ts +1 -0
- package/dist/components/InternalPicker/styles/common.styles.js +4 -0
- package/dist/components/InternalPicker/styles/index.d.ts +4 -0
- package/dist/components/InternalPicker/tokens.d.ts +29 -0
- package/dist/components/InternalPicker/tokens.js +30 -0
- package/dist/components/Message/components/Message/Message.d.ts +3 -0
- package/dist/components/Message/components/Message/Message.js +49 -0
- package/dist/components/Message/components/Message/Message.styles.d.ts +47 -0
- package/dist/components/Message/components/Message/Message.styles.js +93 -0
- package/dist/components/Message/components/Message/Message.tokens.d.ts +8 -0
- package/dist/components/Message/components/Message/Message.tokens.js +10 -0
- package/dist/components/Message/components/Message/Message.types.d.ts +22 -0
- package/dist/components/Message/components/Message/Message.utils.d.ts +6 -0
- package/dist/components/Message/components/Message/Message.utils.js +22 -0
- package/dist/components/Message/components/MessageList/MessageList.d.ts +3 -0
- package/dist/components/Message/components/MessageList/MessageList.js +13 -0
- package/dist/components/Message/components/MessageList/MessageList.styles.d.ts +70 -0
- package/dist/components/Message/components/MessageList/MessageList.styles.js +63 -0
- package/dist/components/Message/components/MessageList/MessageList.types.d.ts +6 -0
- package/dist/components/Message/components/MessagesHolder/MessagesHolder.d.ts +3 -0
- package/dist/components/Message/components/MessagesHolder/MessagesHolder.js +23 -0
- package/dist/components/Message/components/MessagesHolder/MessagesHolder.types.d.ts +9 -0
- package/dist/components/Message/forStories/utils.d.ts +12 -0
- package/dist/components/Message/index.d.ts +2 -0
- package/dist/components/Message/message.d.ts +9 -0
- package/dist/components/Message/message.js +105 -0
- package/dist/components/Message/message.types.d.ts +32 -0
- package/dist/components/Message/message.utils.d.ts +3 -0
- package/dist/components/Message/message.utils.js +15 -0
- package/dist/components/Popconfirm/Popconfirm.d.ts +3 -0
- package/dist/components/Popconfirm/Popconfirm.tokens.d.ts +10 -0
- package/dist/components/Popconfirm/Popconfirm.types.d.ts +28 -0
- package/dist/components/Popconfirm/components/PopconfirmFloatingElement/PopconfirmFloatingElement.d.ts +3 -0
- package/dist/components/Popconfirm/components/PopconfirmFloatingElement/PopconfirmFloatingElement.styles.d.ts +55 -0
- package/dist/components/Popover/Popover.d.ts +3 -0
- package/dist/components/Popover/Popover.js +22 -0
- package/dist/components/Popover/Popover.tokens.d.ts +9 -0
- package/dist/components/Popover/Popover.tokens.js +11 -0
- package/dist/components/Popover/Popover.types.d.ts +13 -0
- package/dist/components/Popover/component/PopoverFloatingElement/PopoverFloatingElement.d.ts +3 -0
- package/dist/components/Popover/component/PopoverFloatingElement/PopoverFloatingElement.js +21 -0
- package/dist/components/Popover/component/PopoverFloatingElement/PopoverFloatingElement.styles.d.ts +32 -0
- package/dist/components/Popover/component/PopoverFloatingElement/PopoverFloatingElement.styles.js +38 -0
- package/dist/components/Popover/forStories/utils.d.ts +1 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Progress/Progress.d.ts +3 -0
- package/dist/components/Progress/Progress.js +28 -0
- package/dist/components/Progress/Progress.styles.d.ts +18 -0
- package/dist/components/Progress/Progress.styles.js +39 -0
- package/dist/components/Progress/Progress.tokens.d.ts +11 -0
- package/dist/components/Progress/Progress.tokens.js +12 -0
- package/dist/components/Progress/Progress.types.d.ts +8 -0
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Radio/Radio.d.ts +3 -0
- package/dist/components/Radio/Radio.js +53 -0
- package/dist/components/Radio/Radio.styles.d.ts +66 -0
- package/dist/components/Radio/Radio.styles.js +72 -0
- package/dist/components/Radio/Radio.tokens.d.ts +16 -0
- package/dist/components/Radio/Radio.tokens.js +17 -0
- package/dist/components/Radio/Radio.types.d.ts +9 -0
- package/dist/components/Radio/components/RadioGroup/RadioGroup.d.ts +3 -0
- package/dist/components/Radio/components/RadioGroup/RadioGroup.js +58 -0
- package/dist/components/Radio/components/RadioGroup/RadioGroup.styles.d.ts +5 -0
- package/dist/components/Radio/components/RadioGroup/RadioGroup.styles.js +7 -0
- package/dist/components/Radio/components/RadioGroup/RadioGroup.types.d.ts +11 -0
- package/dist/components/Radio/components/RadioInternal/RadioInternal.d.ts +2 -0
- package/dist/components/Radio/components/RadioInternal/RadioInternal.js +52 -0
- package/dist/components/Radio/components/RadioInternal/RadioInternal.styles.d.ts +61 -0
- package/dist/components/Radio/components/RadioInternal/RadioInternal.styles.js +70 -0
- package/dist/components/Radio/components/RadioInternal/RadioInternal.types.d.ts +14 -0
- package/dist/components/Radio/contexts/RadioGroupContext.d.ts +4 -0
- package/dist/components/Radio/contexts/RadioGroupContext.js +5 -0
- package/dist/components/Radio/hooks/useMergeState/index.d.ts +1 -0
- package/dist/components/Radio/hooks/useMergeState/useMergeState.d.ts +21 -0
- package/dist/components/Radio/hooks/useMergeState/useMergeState.js +94 -0
- package/dist/components/Radio/index.d.ts +2 -0
- package/dist/components/Select/Select.d.ts +3 -0
- package/dist/components/Select/Select.js +305 -0
- package/dist/components/Select/Select.styles.d.ts +135 -0
- package/dist/components/Select/Select.styles.js +210 -0
- package/dist/components/Select/Select.tokens.d.ts +27 -0
- package/dist/components/Select/Select.tokens.js +28 -0
- package/dist/components/Select/Select.types.d.ts +89 -0
- package/dist/components/Select/Select.utils.d.ts +10 -0
- package/dist/components/Select/Select.utils.js +59 -0
- package/dist/components/Select/components/SelectOption/SelectOption.d.ts +3 -0
- package/dist/components/Select/components/SelectOption/SelectOption.js +55 -0
- package/dist/components/Select/components/SelectOption/SelectOption.styles.d.ts +41 -0
- package/dist/components/Select/components/SelectOption/SelectOption.styles.js +54 -0
- package/dist/components/Select/components/SelectOption/SelectOption.types.d.ts +22 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.d.ts +3 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.js +139 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.styles.d.ts +66 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.styles.js +85 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.types.d.ts +42 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.utils.d.ts +1 -0
- package/dist/components/Select/components/SelectOptionList/SelectOptionList.utils.js +4 -0
- package/dist/components/Select/components/SelectTag/SelectTag.d.ts +3 -0
- package/dist/components/Select/components/SelectTag/SelectTag.js +24 -0
- package/dist/components/Select/components/SelectTag/SelectTag.styles.d.ts +8 -0
- package/dist/components/Select/components/SelectTag/SelectTag.styles.js +23 -0
- package/dist/components/Select/components/SelectTag/SelectTag.types.d.ts +10 -0
- package/dist/components/Select/components/TagPlaceholder/TagPlaceholder.d.ts +4 -0
- package/dist/components/Select/components/TagPlaceholder/TagPlaceholder.js +13 -0
- package/dist/components/Select/components/TagPlaceholder/TagPlaceholder.styles.d.ts +5 -0
- package/dist/components/Select/components/TagPlaceholder/TagPlaceholder.styles.js +8 -0
- package/dist/components/Select/components/TagPlaceholder/TagPlaceholder.types.d.ts +3 -0
- package/dist/components/Select/forStories/dataForExamples.d.ts +20 -0
- package/dist/components/Select/hooks/useCurrentValue.d.ts +8 -0
- package/dist/components/Select/hooks/useCurrentValue.js +31 -0
- package/dist/components/Select/hooks/useDefaultCurrentValue.d.ts +3 -0
- package/dist/components/Select/hooks/useDefaultCurrentValue.js +14 -0
- package/dist/components/Select/hooks/useDefaultSelectIndex.d.ts +2 -0
- package/dist/components/Select/hooks/useDefaultSelectIndex.js +17 -0
- package/dist/components/Select/hooks/useHideElements.d.ts +5 -0
- package/dist/components/Select/hooks/useHideElements.js +60 -0
- package/dist/components/Select/hooks/useKeyControl.d.ts +7 -0
- package/dist/components/Select/hooks/useKeyControl.js +37 -0
- package/dist/components/Select/hooks/useSearch.d.ts +11 -0
- package/dist/components/Select/hooks/useSearch.js +55 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Switch/Switch.d.ts +3 -0
- package/dist/components/Switch/Switch.js +68 -0
- package/dist/components/Switch/Switch.styles.d.ts +7 -0
- package/dist/components/Switch/Switch.styles.js +62 -0
- package/dist/components/Switch/Switch.tokens.d.ts +20 -0
- package/dist/components/Switch/Switch.tokens.js +22 -0
- package/dist/components/Switch/Switch.types.d.ts +24 -0
- package/dist/components/Switch/Switch.utils.d.ts +4 -0
- package/dist/components/Switch/Switch.utils.js +10 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Tag/Tag.d.ts +4 -0
- package/dist/components/Tag/Tag.js +42 -0
- package/dist/components/Tag/Tag.styles.d.ts +303 -0
- package/dist/components/Tag/Tag.styles.js +52 -0
- package/dist/components/Tag/Tag.types.d.ts +23 -0
- package/dist/components/Tag/Tag.utils.d.ts +86 -0
- package/dist/components/Tag/Tag.utils.js +90 -0
- package/dist/components/Tag/components/AddTagController/AddTagController.d.ts +3 -0
- package/dist/components/Tag/components/AddTagController/AddTagController.styles.d.ts +15 -0
- package/dist/components/Tag/components/AddTagController/AddTagController.types.d.ts +13 -0
- package/dist/components/Tag/components/AddTagController/forStories/utilsForStories.d.ts +3 -0
- package/dist/components/Tag/components/Checkable/Checkable.d.ts +4 -0
- package/dist/components/Tag/components/Checkable/Checkable.js +34 -0
- package/dist/components/Tag/components/Checkable/Checkable.styles.d.ts +30 -0
- package/dist/components/Tag/components/Checkable/Checkable.styles.js +35 -0
- package/dist/components/Tag/components/Checkable/Checkable.tokens.d.ts +10 -0
- package/dist/components/Tag/components/Checkable/Checkable.tokens.js +12 -0
- package/dist/components/Tag/components/Checkable/Checkable.types.d.ts +12 -0
- package/dist/components/Tag/index.d.ts +3 -0
- package/dist/components/TimePicker/TimePicker.d.ts +4 -0
- package/dist/components/TimePicker/TimePicker.js +13 -0
- package/dist/components/TimePicker/TimePicker.types.d.ts +8 -0
- package/dist/components/TimePicker/TimePicker.utils.d.ts +4 -0
- package/dist/components/TimePicker/TimePicker.utils.js +9 -0
- package/dist/components/TimePicker/components/RangePicker/RangePicker.d.ts +4 -0
- package/dist/components/TimePicker/components/RangePicker/RangePicker.js +11 -0
- package/dist/components/TimePicker/components/RangePicker/RangePicker.types.d.ts +3 -0
- package/dist/components/TimePicker/index.d.ts +2 -0
- package/dist/components/Tooltip/Tooltip.d.ts +3 -0
- package/dist/components/Tooltip/Tooltip.js +22 -0
- package/dist/components/Tooltip/Tooltip.tokens.d.ts +10 -0
- package/dist/components/Tooltip/Tooltip.tokens.js +12 -0
- package/dist/components/Tooltip/Tooltip.types.d.ts +12 -0
- package/dist/components/Tooltip/components/TooltipFloatingElement/TooltipFloatingElement.d.ts +3 -0
- package/dist/components/Tooltip/components/TooltipFloatingElement/TooltipFloatingElement.js +15 -0
- package/dist/components/Tooltip/components/TooltipFloatingElement/TooltipFloatingElement.styles.d.ts +15 -0
- package/dist/components/Tooltip/components/TooltipFloatingElement/TooltipFloatingElement.styles.js +19 -0
- package/dist/components/Tooltip/components/TooltipFloatingElement/TooltipFloatingElement.type.d.ts +6 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/Upload/Upload.d.ts +3 -0
- package/dist/components/Upload/Upload.js +125 -0
- package/dist/components/Upload/Upload.styles.d.ts +31 -0
- package/dist/components/Upload/Upload.styles.js +32 -0
- package/dist/components/Upload/Upload.tokens.d.ts +16 -0
- package/dist/components/Upload/Upload.tokens.js +17 -0
- package/dist/components/Upload/Upload.types.d.ts +34 -0
- package/dist/components/Upload/components/Dragger/Dragger.d.ts +3 -0
- package/dist/components/Upload/components/Dragger/Dragger.js +29 -0
- package/dist/components/Upload/components/Dragger/Dragger.styles.d.ts +22 -0
- package/dist/components/Upload/components/Dragger/Dragger.styles.js +24 -0
- package/dist/components/Upload/components/Dragger/Dragger.types.d.ts +6 -0
- package/dist/components/Upload/components/InternalUpload/InternalUpload.d.ts +3 -0
- package/dist/components/Upload/components/InternalUpload/InternalUpload.js +91 -0
- package/dist/components/Upload/components/InternalUpload/InternalUpload.types.d.ts +9 -0
- package/dist/components/Upload/components/UploadList/UploadList.d.ts +3 -0
- package/dist/components/Upload/components/UploadList/UploadList.js +19 -0
- package/dist/components/Upload/components/UploadList/UploadList.styles.d.ts +9 -0
- package/dist/components/Upload/components/UploadList/UploadList.styles.js +11 -0
- package/dist/components/Upload/components/UploadList/UploadList.types.d.ts +8 -0
- package/dist/components/Upload/components/UploadListItem/UploadListItem.d.ts +3 -0
- package/dist/components/Upload/components/UploadListItem/UploadListItem.js +51 -0
- package/dist/components/Upload/components/UploadListItem/UploadListItem.styles.d.ts +70 -0
- package/dist/components/Upload/components/UploadListItem/UploadListItem.styles.js +73 -0
- package/dist/components/Upload/components/UploadListItem/UploadListItem.types.d.ts +4 -0
- package/dist/components/Upload/hooks/useDnd/useDnd.d.ts +8 -0
- package/dist/components/Upload/hooks/useDnd/useDnd.js +22 -0
- package/dist/components/Upload/hooks/useDnd/useDnd.types.d.ts +3 -0
- package/dist/components/Upload/index.d.ts +2 -0
- package/dist/components/Upload/utils/attrAccept.d.ts +1 -0
- package/dist/components/Upload/utils/attrAccept.js +38 -0
- package/dist/components/Upload/utils/file2obj.d.ts +6 -0
- package/dist/components/Upload/utils/file2obj.js +13 -0
- package/dist/components/Upload/utils/modifyFileList.d.ts +3 -0
- package/dist/components/Upload/utils/modifyFileList.js +24 -0
- package/dist/components/Upload/utils/uidGenerator.d.ts +1 -0
- package/dist/components/Upload/utils/uidGenerator.js +33 -0
- package/dist/configure/dayjs.d.ts +0 -0
- package/dist/configure/dayjs.js +4 -0
- package/dist/configure/index.d.ts +0 -0
- package/dist/contexts/themeContext.d.ts +354 -0
- package/dist/contexts/themeContext.js +6 -0
- package/dist/docComponents/Demonstration/Demonstration.d.ts +4 -0
- package/dist/docComponents/Demonstration/Demonstration.styles.d.ts +9 -0
- package/dist/docComponents/Demonstration/Demonstration.types.d.ts +5 -0
- package/dist/docComponents/Description/Description.d.ts +5 -0
- package/dist/docComponents/Description/Description.style.d.ts +26 -0
- package/dist/docComponents/Doc/Doc.d.ts +4 -0
- package/dist/docComponents/Doc/Doc.style.d.ts +13 -0
- package/dist/docComponents/Example/Example.d.ts +4 -0
- package/dist/docComponents/Example/Example.styles.d.ts +9 -0
- package/dist/hocs/withThemeProvider.d.ts +2 -0
- package/dist/hocs/withThemeProvider.js +11 -0
- package/dist/hooks/useDebounce.d.ts +3 -0
- package/dist/hooks/useDebounce.js +27 -0
- package/dist/hooks/useForceUpdate.d.ts +1 -0
- package/dist/hooks/useForceUpdate.js +9 -0
- package/dist/hooks/useLoadingDelay.d.ts +6 -0
- package/dist/hooks/useLoadingDelay.js +34 -0
- package/dist/hooks/usePrevious.d.ts +1 -0
- package/dist/hooks/usePrevious.js +11 -0
- package/dist/hooks/useResizeObserver.d.ts +1 -0
- package/dist/hooks/useResizeObserver.js +25 -0
- package/dist/hooks/useTheme/index.d.ts +1 -0
- package/dist/hooks/useTheme/useTheme.d.ts +354 -0
- package/dist/hooks/useTheme/useTheme.js +8 -0
- package/dist/icons/icons/LoadingOutlined.d.ts +3 -0
- package/dist/icons/icons/LoadingOutlined.js +9 -0
- package/dist/icons/icons/index.d.ts +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +53 -0
- package/dist/providers/ThemeProvider/ThemeProvider.d.ts +3 -0
- package/dist/providers/ThemeProvider/ThemeProvider.js +11 -0
- package/dist/providers/ThemeProvider/ThemeProvider.types.d.ts +4 -0
- package/dist/providers/ThemeProvider/index.d.ts +2 -0
- package/dist/themes/baseTokens/baseColorTokens/baseColorTokens.d.ts +158 -0
- package/dist/themes/baseTokens/baseColorTokens/baseColorTokens.js +35 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/blueColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/blueColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/cyanColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/cyanColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/goldColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/goldColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/greenColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/greenColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/limeColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/limeColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/magentaColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/magentaColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/neutralColors.d.ts +18 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/neutralColors.js +21 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/orangeColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/orangeColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/purpleColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/purpleColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/redColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/redColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/thrushColor.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/thrushColor.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/transparentBlackColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/transparentBlackColors.js +16 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/transparentWhiteColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/transparentWhiteColors.js +16 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/volcanoColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/volcanoColors.js +15 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/yellowColors.d.ts +12 -0
- package/dist/themes/baseTokens/baseColorTokens/colorGroups/yellowColors.js +15 -0
- package/dist/themes/baseTokens/baseShadowTokens/baseShadowTokens.d.ts +5 -0
- package/dist/themes/baseTokens/baseShadowTokens/baseShadowTokens.js +9 -0
- package/dist/themes/baseTokens/baseSizeTokens/baseSizeTokens.d.ts +17 -0
- package/dist/themes/baseTokens/baseSizeTokens/baseSizeTokens.js +21 -0
- package/dist/themes/baseTokens/baseTypographyTokens/baseTypographyTokens.d.ts +42 -0
- package/dist/themes/baseTokens/baseTypographyTokens/baseTypographyTokens.js +49 -0
- package/dist/themes/baseTokens/const.d.ts +2 -0
- package/dist/themes/baseTokens/const.js +7 -0
- package/dist/themes/index.d.ts +4 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/PositiveColorTokens.d.ts +11 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/PositiveColorTokens.js +15 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/backgroundColorTokens.d.ts +25 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/backgroundColorTokens.js +29 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/controlShadowsTokens.d.ts +6 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/controlShadowsTokens.js +12 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/dangerColorTokens.d.ts +11 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/dangerColorTokens.js +15 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/infoColorTokens.d.ts +11 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/infoColorTokens.js +15 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/lineColorTokens.d.ts +8 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/lineColorTokens.js +12 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/primaryColorTokens.d.ts +11 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/primaryColorTokens.js +15 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/tagColorTokens.d.ts +40 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/tagColorTokens.js +44 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/textColorTokens.d.ts +19 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/textColorTokens.js +24 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/warningColorTokens.d.ts +11 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/warningColorTokens.js +15 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticColorTokens.d.ts +116 -0
- package/dist/themes/semanticTokens/colorSemanticTokens/semanticColorTokens.js +25 -0
- package/dist/themes/semanticTokens/otherSemanticTokens/otherSemanticTokens.d.ts +4 -0
- package/dist/themes/semanticTokens/otherSemanticTokens/otherSemanticTokens.js +7 -0
- package/dist/themes/semanticTokens/otherSemanticTokens/semanticBlocks/opacityTokens.d.ts +5 -0
- package/dist/themes/semanticTokens/otherSemanticTokens/semanticBlocks/opacityTokens.js +8 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/borderRadiusSizeTokens.d.ts +6 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/borderRadiusSizeTokens.js +10 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/controlSizeTokens.d.ts +6 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/controlSizeTokens.js +10 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/iconSizeTokens.d.ts +9 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/iconSizeTokens.js +13 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/marginSizeTokens.d.ts +8 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/marginSizeTokens.js +12 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/paddingSizeTokens.d.ts +9 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/paddingSizeTokens.js +13 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/spaceSizeTokens.d.ts +8 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticBlocks/spaceSizeTokens.js +12 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticSizeTokens.d.ts +25 -0
- package/dist/themes/semanticTokens/sizeSemanticTokens/semanticSizeTokens.js +17 -0
- package/dist/themes/themes.d.ts +354 -0
- package/dist/themes/themes.js +9 -0
- package/dist/themes/themes.types.d.ts +4 -0
- package/dist/themes/themes.utils.d.ts +710 -0
- package/dist/themes/themes.utils.js +21 -0
- package/dist/types.d.ts +4 -0
- package/dist/utils/color/index.d.ts +5 -0
- package/dist/utils/color/index.js +47 -0
- package/dist/utils/color/types.d.ts +11 -0
- package/dist/utils/const/index.d.ts +1 -0
- package/dist/utils/const/index.js +4 -0
- package/dist/utils/consts.d.ts +2 -0
- package/dist/utils/consts.js +6 -0
- package/dist/utils/converters.d.ts +1 -0
- package/dist/utils/converters.js +5 -0
- package/dist/utils/index.d.ts +2 -0
- package/package.json +89 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { getSelectTokens } from "../../Select.tokens.js";
|
|
2
|
+
const getColor = (selectTokens, selected, disabled) => {
|
|
3
|
+
if (disabled) {
|
|
4
|
+
return selectTokens.selectOptionTextDisabled;
|
|
5
|
+
}
|
|
6
|
+
if (selected) {
|
|
7
|
+
return selectTokens.selectOptionTextSelected;
|
|
8
|
+
}
|
|
9
|
+
return selectTokens.selectOptionText;
|
|
10
|
+
};
|
|
11
|
+
const getSelectOptionStyle = (selected, disabled, isSelecting) => ({
|
|
12
|
+
wrapper: (theme) => {
|
|
13
|
+
const selectTokens = getSelectTokens(theme);
|
|
14
|
+
return {
|
|
15
|
+
display: "flex",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
width: "100%",
|
|
18
|
+
gap: theme.marginM,
|
|
19
|
+
padding: `${selectTokens.selectOptionPaddingVertical}px ${selectTokens.selectOptionPaddingHorizontal}px`,
|
|
20
|
+
borderRadius: theme.borderRadiusM,
|
|
21
|
+
...theme.typography.body2,
|
|
22
|
+
color: getColor(selectTokens, selected, disabled),
|
|
23
|
+
height: 28,
|
|
24
|
+
boxSizing: "border-box",
|
|
25
|
+
transition: `background .2s, color .2s`,
|
|
26
|
+
cursor: disabled ? "not-allowed" : "pointer",
|
|
27
|
+
background: isSelecting ? selectTokens.selectOptionBgHover : "unset",
|
|
28
|
+
":hover, :focus, focus-visible": {
|
|
29
|
+
background: disabled ? "unset" : selectTokens.selectOptionBgHover,
|
|
30
|
+
outline: "none"
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
content: (theme) => ({
|
|
35
|
+
display: "inline-flex",
|
|
36
|
+
gap: theme.marginXS,
|
|
37
|
+
width: selected ? `calc(100% - ${theme.marginXS + theme.iconM}px)` : "100%",
|
|
38
|
+
flex: "1 1 auto",
|
|
39
|
+
flexWrap: "nowrap"
|
|
40
|
+
}),
|
|
41
|
+
text: {
|
|
42
|
+
display: "inline-block",
|
|
43
|
+
overflow: "hidden",
|
|
44
|
+
whiteSpace: "nowrap",
|
|
45
|
+
textOverflow: "ellipsis",
|
|
46
|
+
width: "100%"
|
|
47
|
+
},
|
|
48
|
+
icon: (theme) => ({
|
|
49
|
+
fontSize: theme.iconM
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
export {
|
|
53
|
+
getSelectOptionStyle
|
|
54
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ModeType } from '../../Select.types';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
export type SelectOptionValue = string | number;
|
|
4
|
+
export interface SelectOptionInterface {
|
|
5
|
+
value: SelectOptionValue;
|
|
6
|
+
title: string;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SelectOptionCallbacks {
|
|
12
|
+
setValue(value: SelectOptionValue, index: number): void;
|
|
13
|
+
closeOptionList(): void;
|
|
14
|
+
}
|
|
15
|
+
export interface SelectOptionProps extends SelectOptionInterface, SelectOptionCallbacks {
|
|
16
|
+
selected: boolean;
|
|
17
|
+
index: number;
|
|
18
|
+
isSelecting: boolean;
|
|
19
|
+
mode: ModeType;
|
|
20
|
+
returnFocusToWrapper: () => void;
|
|
21
|
+
removeValue: (removeValue: SelectOptionValue) => void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { createElement } from "@emotion/react";
|
|
3
|
+
import { memo, useState, useRef, useEffect } from "react";
|
|
4
|
+
import { SelectOption } from "../SelectOption/SelectOption.js";
|
|
5
|
+
import { getSelectOptionListStyle } from "./SelectOptionList.styles.js";
|
|
6
|
+
import { ANIMATION_DURATION } from "./SelectOptionList.utils.js";
|
|
7
|
+
import { isFunction } from "lodash-es";
|
|
8
|
+
import { createPortal } from "react-dom";
|
|
9
|
+
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
10
|
+
import { useTheme } from "../../../../hooks/useTheme/useTheme.js";
|
|
11
|
+
import { LoadingOutlined } from "../../../../icons/icons/LoadingOutlined.js";
|
|
12
|
+
const SelectOptionList = memo(({
|
|
13
|
+
options,
|
|
14
|
+
mode,
|
|
15
|
+
showOptionList,
|
|
16
|
+
currentValue,
|
|
17
|
+
dropdownMinWidth,
|
|
18
|
+
dropdownMaxHeight,
|
|
19
|
+
dropdownPrompt,
|
|
20
|
+
loading,
|
|
21
|
+
dropdownClassName,
|
|
22
|
+
styles,
|
|
23
|
+
dropdownMatchSelectWidth,
|
|
24
|
+
floatingStyles,
|
|
25
|
+
referenceOffsetWidth,
|
|
26
|
+
floatingRef,
|
|
27
|
+
virtual,
|
|
28
|
+
currentSelectingIndex,
|
|
29
|
+
emptyContent,
|
|
30
|
+
notFoundContent,
|
|
31
|
+
searchValue,
|
|
32
|
+
showSearch,
|
|
33
|
+
setFloating,
|
|
34
|
+
setValue,
|
|
35
|
+
closeOptionList,
|
|
36
|
+
returnFocusToWrapper,
|
|
37
|
+
dropdownRender,
|
|
38
|
+
optionRender,
|
|
39
|
+
getPopupContainer,
|
|
40
|
+
removeValue
|
|
41
|
+
}) => {
|
|
42
|
+
const theme = useTheme();
|
|
43
|
+
const [isAnimation, setIsAnimation] = useState(false);
|
|
44
|
+
const isInitialMount = useRef(true);
|
|
45
|
+
const {
|
|
46
|
+
getTotalSize,
|
|
47
|
+
getVirtualItems,
|
|
48
|
+
scrollToIndex,
|
|
49
|
+
scrollToOffset
|
|
50
|
+
} = useVirtualizer({
|
|
51
|
+
count: virtual && dropdownPrompt ? options.length + 1 : options.length,
|
|
52
|
+
getScrollElement: () => floatingRef.current,
|
|
53
|
+
estimateSize: () => 28
|
|
54
|
+
});
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (!showOptionList) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
scrollToIndex(currentSelectingIndex || 0);
|
|
60
|
+
}, [showOptionList, currentSelectingIndex, scrollToIndex, scrollToOffset]);
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (isInitialMount.current) {
|
|
63
|
+
isInitialMount.current = false;
|
|
64
|
+
} else {
|
|
65
|
+
setIsAnimation(true);
|
|
66
|
+
const timerId = setTimeout(() => {
|
|
67
|
+
setIsAnimation(false);
|
|
68
|
+
}, ANIMATION_DURATION);
|
|
69
|
+
return () => clearTimeout(timerId);
|
|
70
|
+
}
|
|
71
|
+
}, [showOptionList]);
|
|
72
|
+
const selectOptionListStyle = getSelectOptionListStyle(dropdownMinWidth, dropdownMaxHeight, showOptionList, dropdownMatchSelectWidth, referenceOffsetWidth, getTotalSize);
|
|
73
|
+
const hasPlaceholder = loading || options.length === 0;
|
|
74
|
+
if (!showOptionList && !isAnimation) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const renderOption = (option, index) => {
|
|
78
|
+
if (isFunction(optionRender)) {
|
|
79
|
+
return optionRender({
|
|
80
|
+
...option,
|
|
81
|
+
index,
|
|
82
|
+
isSelecting: currentSelectingIndex === index,
|
|
83
|
+
selected: currentValue.includes(option.value),
|
|
84
|
+
mode,
|
|
85
|
+
setValue,
|
|
86
|
+
closeOptionList,
|
|
87
|
+
returnFocusToWrapper,
|
|
88
|
+
removeValue
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return /* @__PURE__ */ createElement(SelectOption, { ...option, index, isSelecting: currentSelectingIndex === index, selected: currentValue.includes(option.value), setValue, closeOptionList, key: option.value, returnFocusToWrapper, mode, removeValue });
|
|
92
|
+
};
|
|
93
|
+
const renderPrompt = () => {
|
|
94
|
+
var _a;
|
|
95
|
+
if (!dropdownPrompt) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return /* @__PURE__ */ jsx("div", { css: [selectOptionListStyle.prompt(theme), (_a = styles == null ? void 0 : styles.prompt) == null ? void 0 : _a.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:renderPrompt;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uTGlzdC9TZWxlY3RPcHRpb25MaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnSWEiLCJmaWxlIjoiL2J1aWxkcy9mcm9udGVuZC9saWJzL3VpLWtpdC9zcmMvY29tcG9uZW50cy9TZWxlY3QvY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBGQywgbWVtbywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdE9wdGlvbkxpc3RQcm9wcyB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbkxpc3QudHlwZXNcIjtcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gXCIuLi9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uXCI7XG5pbXBvcnQgeyBnZXRTZWxlY3RPcHRpb25MaXN0U3R5bGUgfSBmcm9tIFwiLi9TZWxlY3RPcHRpb25MaXN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEFOSU1BVElPTl9EVVJBVElPTiB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbkxpc3QudXRpbHNcIjtcbmltcG9ydCB7IExvYWRpbmdPdXRsaW5lZCB9IGZyb20gXCJpY29ucy9pY29uc1wiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25JbnRlcmZhY2UgfSBmcm9tIFwiLi4vU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IHVzZVZpcnR1YWxpemVyIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC12aXJ0dWFsXCI7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RPcHRpb25MaXN0OiBGQzxTZWxlY3RPcHRpb25MaXN0UHJvcHM+ID0gbWVtbyhcbiAgKHtcbiAgICBvcHRpb25zLFxuICAgIG1vZGUsXG4gICAgc2hvd09wdGlvbkxpc3QsXG4gICAgY3VycmVudFZhbHVlLFxuICAgIGRyb3Bkb3duTWluV2lkdGgsXG4gICAgZHJvcGRvd25NYXhIZWlnaHQsXG4gICAgZHJvcGRvd25Qcm9tcHQsXG4gICAgbG9hZGluZyxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoLFxuICAgIGZsb2F0aW5nU3R5bGVzLFxuICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoLFxuICAgIGZsb2F0aW5nUmVmLFxuICAgIHZpcnR1YWwsXG4gICAgY3VycmVudFNlbGVjdGluZ0luZGV4LFxuICAgIGVtcHR5Q29udGVudCxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgc2VhcmNoVmFsdWUsXG4gICAgc2hvd1NlYXJjaCxcbiAgICBzZXRGbG9hdGluZyxcbiAgICBzZXRWYWx1ZSxcbiAgICBjbG9zZU9wdGlvbkxpc3QsXG4gICAgcmV0dXJuRm9jdXNUb1dyYXBwZXIsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGdldFBvcHVwQ29udGFpbmVyLFxuICAgIHJlbW92ZVZhbHVlLFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgW2lzQW5pbWF0aW9uLCBzZXRJc0FuaW1hdGlvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgaXNJbml0aWFsTW91bnQgPSB1c2VSZWYodHJ1ZSk7XG5cbiAgICBjb25zdCB7IGdldFRvdGFsU2l6ZSwgZ2V0VmlydHVhbEl0ZW1zLCBzY3JvbGxUb0luZGV4LCBzY3JvbGxUb09mZnNldCB9ID0gdXNlVmlydHVhbGl6ZXIoe1xuICAgICAgY291bnQ6IHZpcnR1YWwgJiYgZHJvcGRvd25Qcm9tcHQgPyBvcHRpb25zLmxlbmd0aCArIDEgOiBvcHRpb25zLmxlbmd0aCxcbiAgICAgIGdldFNjcm9sbEVsZW1lbnQ6ICgpID0+IGZsb2F0aW5nUmVmLmN1cnJlbnQsXG4gICAgICBlc3RpbWF0ZVNpemU6ICgpID0+IDI4LFxuICAgIH0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghc2hvd09wdGlvbkxpc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzY3JvbGxUb0luZGV4KGN1cnJlbnRTZWxlY3RpbmdJbmRleCB8fCAwKTtcbiAgICB9LCBbc2hvd09wdGlvbkxpc3QsIGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgc2Nyb2xsVG9JbmRleCwgc2Nyb2xsVG9PZmZzZXRdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNJbml0aWFsTW91bnQuY3VycmVudCkge1xuICAgICAgICBpc0luaXRpYWxNb3VudC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc0FuaW1hdGlvbih0cnVlKTtcblxuICAgICAgICBjb25zdCB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0SXNBbmltYXRpb24oZmFsc2UpO1xuICAgICAgICB9LCBBTklNQVRJT05fRFVSQVRJT04pO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICB9XG4gICAgfSwgW3Nob3dPcHRpb25MaXN0XSk7XG5cbiAgICBjb25zdCBzZWxlY3RPcHRpb25MaXN0U3R5bGUgPSBnZXRTZWxlY3RPcHRpb25MaXN0U3R5bGUoXG4gICAgICBkcm9wZG93bk1pbldpZHRoLFxuICAgICAgZHJvcGRvd25NYXhIZWlnaHQsXG4gICAgICBzaG93T3B0aW9uTGlzdCxcbiAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aCxcbiAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoLFxuICAgICAgZ2V0VG90YWxTaXplXG4gICAgKTtcblxuICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gbG9hZGluZyB8fCBvcHRpb25zLmxlbmd0aCA9PT0gMDtcblxuICAgIGlmICghc2hvd09wdGlvbkxpc3QgJiYgIWlzQW5pbWF0aW9uKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByZW5kZXJPcHRpb24gPSAob3B0aW9uOiBTZWxlY3RPcHRpb25JbnRlcmZhY2UsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvblJlbmRlcikpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvblJlbmRlcih7XG4gICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIGlzU2VsZWN0aW5nOiBjdXJyZW50U2VsZWN0aW5nSW5kZXggPT09IGluZGV4LFxuICAgICAgICAgIHNlbGVjdGVkOiBjdXJyZW50VmFsdWUuaW5jbHVkZXMob3B0aW9uLnZhbHVlKSxcbiAgICAgICAgICBtb2RlLFxuICAgICAgICAgIHNldFZhbHVlLFxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdCxcbiAgICAgICAgICByZXR1cm5Gb2N1c1RvV3JhcHBlcixcbiAgICAgICAgICByZW1vdmVWYWx1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTZWxlY3RPcHRpb25cbiAgICAgICAgICB7Li4ub3B0aW9ufVxuICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICBpc1NlbGVjdGluZz17Y3VycmVudFNlbGVjdGluZ0luZGV4ID09PSBpbmRleH1cbiAgICAgICAgICBzZWxlY3RlZD17Y3VycmVudFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSl9XG4gICAgICAgICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclByb21wdCA9ICgpID0+IHtcbiAgICAgIGlmICghZHJvcGRvd25Qcm9tcHQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY3NzPXtbc2VsZWN0T3B0aW9uTGlzdFN0eWxlLnByb21wdCh0aGVtZSksIHN0eWxlcz8ucHJvbXB0Py4odGhlbWUpXX0ga2V5PVwicHJvbXB0XCI+XG4gICAgICAgICAge2Ryb3Bkb3duUHJvbXB0fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclZpcnR1YWxpemVkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIHJldHVybiBnZXRWaXJ0dWFsSXRlbXMoKS5tYXAoKHsgaW5kZXgsIHNpemUsIHN0YXJ0IH0pID0+IHtcbiAgICAgICAgaWYgKGluZGV4IDwgb3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2luZGV4XTtcblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17c2VsZWN0T3B0aW9uTGlzdFN0eWxlLnZpcnR1YWxpemVkT3B0aW9uV3JhcHBlcihzaXplLCBzdGFydCl9XG4gICAgICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7cmVuZGVyT3B0aW9uKG9wdGlvbiwgaW5kZXgpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZHJvcGRvd25Qcm9tcHQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGRpdiBjc3M9e3NlbGVjdE9wdGlvbkxpc3RTdHlsZS52aXJ0dWFsaXplZE9wdGlvbldyYXBwZXIoc2l6ZSwgc3RhcnQpfSBrZXk9XCJwcm9tcHRcIj5cbiAgICAgICAgICAgIHtyZW5kZXJQcm9tcHQoKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJPcHRpb25zID0gKCkgPT4gKFxuICAgICAgPD5cbiAgICAgICAge29wdGlvbnMubWFwKChvcHRpb24sIGluZGV4KSA9PiByZW5kZXJPcHRpb24ob3B0aW9uLCBpbmRleCkpfVxuICAgICAgICB7cmVuZGVyUHJvbXB0KCl9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgY29uc3QgcmVuZGVyT3B0aW9uTGlzdENvbnRlbnQgPSAoKSA9PiAodmlydHVhbCA/IHJlbmRlclZpcnR1YWxpemVkT3B0aW9ucygpIDogcmVuZGVyT3B0aW9ucygpKTtcblxuICAgIGNvbnN0IHJlbmRlclBsYWNlaG9sZGVyID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8c3BhbiBjc3M9e3NlbGVjdE9wdGlvbkxpc3RTdHlsZS53cmFwcGVyT2ZMb2FkaW5nKHRoZW1lKX0+XG4gICAgICAgICAgICA8TG9hZGluZ091dGxpbmVkIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc0FjdGl2ZVNlYXJjaCA9IHNlYXJjaFZhbHVlICYmIHNob3dTZWFyY2g7XG5cbiAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxkaXYgY3NzPXtzZWxlY3RPcHRpb25MaXN0U3R5bGUud3JhcHBlck9mRW1wdHlDb250ZW50KHRoZW1lKX0+XG4gICAgICAgICAgICB7aXNBY3RpdmVTZWFyY2ggPyBub3RGb3VuZENvbnRlbnQgOiBlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJTZWxlY3RPcHRpb25MaXN0ID0gKCkgPT4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3NldEZsb2F0aW5nfVxuICAgICAgICBzdHlsZT17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgIGNzcz17W3NlbGVjdE9wdGlvbkxpc3RTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgY2xhc3NOYW1lPXtkcm9wZG93bkNsYXNzTmFtZX1cbiAgICAgICAgdGFiSW5kZXg9ezJ9XG4gICAgICA+XG4gICAgICAgIHtoYXNQbGFjZWhvbGRlciA/IChcbiAgICAgICAgICByZW5kZXJQbGFjZWhvbGRlcigpXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGRpdiBjc3M9e3NlbGVjdE9wdGlvbkxpc3RTdHlsZS5jb250YWluZXIodmlydHVhbCl9PlxuICAgICAgICAgICAge2lzRnVuY3Rpb24oZHJvcGRvd25SZW5kZXIpXG4gICAgICAgICAgICAgID8gZHJvcGRvd25SZW5kZXIocmVuZGVyT3B0aW9uTGlzdENvbnRlbnQoKSlcbiAgICAgICAgICAgICAgOiByZW5kZXJPcHRpb25MaXN0Q29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIHJldHVybiBjcmVhdGVQb3J0YWwocmVuZGVyU2VsZWN0T3B0aW9uTGlzdCgpLCBnZXRQb3B1cENvbnRhaW5lcigpKTtcbiAgfVxuKTtcbiJdfQ== */"], children: dropdownPrompt }, "prompt");
|
|
99
|
+
};
|
|
100
|
+
const renderVirtualizedOptions = () => {
|
|
101
|
+
return getVirtualItems().map(({
|
|
102
|
+
index,
|
|
103
|
+
size,
|
|
104
|
+
start
|
|
105
|
+
}) => {
|
|
106
|
+
if (index < options.length) {
|
|
107
|
+
const option = options[index];
|
|
108
|
+
return /* @__PURE__ */ jsx("div", { css: selectOptionListStyle.virtualizedOptionWrapper(size, start), children: renderOption(option, index) }, option.value);
|
|
109
|
+
}
|
|
110
|
+
if (!dropdownPrompt) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
return /* @__PURE__ */ jsx("div", { css: selectOptionListStyle.virtualizedOptionWrapper(size, start), children: renderPrompt() }, "prompt");
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
const renderOptions = () => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
117
|
+
options.map((option, index) => renderOption(option, index)),
|
|
118
|
+
renderPrompt()
|
|
119
|
+
] });
|
|
120
|
+
const renderOptionListContent = () => virtual ? renderVirtualizedOptions() : renderOptions();
|
|
121
|
+
const renderPlaceholder = () => {
|
|
122
|
+
if (loading) {
|
|
123
|
+
return /* @__PURE__ */ jsx("span", { css: selectOptionListStyle.wrapperOfLoading(theme), children: /* @__PURE__ */ jsx(LoadingOutlined, {}) });
|
|
124
|
+
}
|
|
125
|
+
const isActiveSearch = searchValue && showSearch;
|
|
126
|
+
if (options.length === 0) {
|
|
127
|
+
return /* @__PURE__ */ jsx("div", { css: selectOptionListStyle.wrapperOfEmptyContent(theme), children: isActiveSearch ? notFoundContent : emptyContent });
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
};
|
|
131
|
+
const renderSelectOptionList = () => {
|
|
132
|
+
var _a;
|
|
133
|
+
return /* @__PURE__ */ jsx("div", { ref: setFloating, style: floatingStyles, css: [selectOptionListStyle.wrapper(theme), (_a = styles == null ? void 0 : styles.wrapper) == null ? void 0 : _a.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:renderSelectOptionList;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uTGlzdC9TZWxlY3RPcHRpb25MaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTVEiLCJmaWxlIjoiL2J1aWxkcy9mcm9udGVuZC9saWJzL3VpLWtpdC9zcmMvY29tcG9uZW50cy9TZWxlY3QvY29tcG9uZW50cy9TZWxlY3RPcHRpb25MaXN0L1NlbGVjdE9wdGlvbkxpc3QudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBGQywgbWVtbywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdE9wdGlvbkxpc3RQcm9wcyB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbkxpc3QudHlwZXNcIjtcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gXCIuLi9TZWxlY3RPcHRpb24vU2VsZWN0T3B0aW9uXCI7XG5pbXBvcnQgeyBnZXRTZWxlY3RPcHRpb25MaXN0U3R5bGUgfSBmcm9tIFwiLi9TZWxlY3RPcHRpb25MaXN0LnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IEFOSU1BVElPTl9EVVJBVElPTiB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbkxpc3QudXRpbHNcIjtcbmltcG9ydCB7IExvYWRpbmdPdXRsaW5lZCB9IGZyb20gXCJpY29ucy9pY29uc1wiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25JbnRlcmZhY2UgfSBmcm9tIFwiLi4vU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IHVzZVZpcnR1YWxpemVyIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC12aXJ0dWFsXCI7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RPcHRpb25MaXN0OiBGQzxTZWxlY3RPcHRpb25MaXN0UHJvcHM+ID0gbWVtbyhcbiAgKHtcbiAgICBvcHRpb25zLFxuICAgIG1vZGUsXG4gICAgc2hvd09wdGlvbkxpc3QsXG4gICAgY3VycmVudFZhbHVlLFxuICAgIGRyb3Bkb3duTWluV2lkdGgsXG4gICAgZHJvcGRvd25NYXhIZWlnaHQsXG4gICAgZHJvcGRvd25Qcm9tcHQsXG4gICAgbG9hZGluZyxcbiAgICBkcm9wZG93bkNsYXNzTmFtZSxcbiAgICBzdHlsZXMsXG4gICAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoLFxuICAgIGZsb2F0aW5nU3R5bGVzLFxuICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoLFxuICAgIGZsb2F0aW5nUmVmLFxuICAgIHZpcnR1YWwsXG4gICAgY3VycmVudFNlbGVjdGluZ0luZGV4LFxuICAgIGVtcHR5Q29udGVudCxcbiAgICBub3RGb3VuZENvbnRlbnQsXG4gICAgc2VhcmNoVmFsdWUsXG4gICAgc2hvd1NlYXJjaCxcbiAgICBzZXRGbG9hdGluZyxcbiAgICBzZXRWYWx1ZSxcbiAgICBjbG9zZU9wdGlvbkxpc3QsXG4gICAgcmV0dXJuRm9jdXNUb1dyYXBwZXIsXG4gICAgZHJvcGRvd25SZW5kZXIsXG4gICAgb3B0aW9uUmVuZGVyLFxuICAgIGdldFBvcHVwQ29udGFpbmVyLFxuICAgIHJlbW92ZVZhbHVlLFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgW2lzQW5pbWF0aW9uLCBzZXRJc0FuaW1hdGlvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgaXNJbml0aWFsTW91bnQgPSB1c2VSZWYodHJ1ZSk7XG5cbiAgICBjb25zdCB7IGdldFRvdGFsU2l6ZSwgZ2V0VmlydHVhbEl0ZW1zLCBzY3JvbGxUb0luZGV4LCBzY3JvbGxUb09mZnNldCB9ID0gdXNlVmlydHVhbGl6ZXIoe1xuICAgICAgY291bnQ6IHZpcnR1YWwgJiYgZHJvcGRvd25Qcm9tcHQgPyBvcHRpb25zLmxlbmd0aCArIDEgOiBvcHRpb25zLmxlbmd0aCxcbiAgICAgIGdldFNjcm9sbEVsZW1lbnQ6ICgpID0+IGZsb2F0aW5nUmVmLmN1cnJlbnQsXG4gICAgICBlc3RpbWF0ZVNpemU6ICgpID0+IDI4LFxuICAgIH0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghc2hvd09wdGlvbkxpc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzY3JvbGxUb0luZGV4KGN1cnJlbnRTZWxlY3RpbmdJbmRleCB8fCAwKTtcbiAgICB9LCBbc2hvd09wdGlvbkxpc3QsIGN1cnJlbnRTZWxlY3RpbmdJbmRleCwgc2Nyb2xsVG9JbmRleCwgc2Nyb2xsVG9PZmZzZXRdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNJbml0aWFsTW91bnQuY3VycmVudCkge1xuICAgICAgICBpc0luaXRpYWxNb3VudC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJc0FuaW1hdGlvbih0cnVlKTtcblxuICAgICAgICBjb25zdCB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0SXNBbmltYXRpb24oZmFsc2UpO1xuICAgICAgICB9LCBBTklNQVRJT05fRFVSQVRJT04pO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICB9XG4gICAgfSwgW3Nob3dPcHRpb25MaXN0XSk7XG5cbiAgICBjb25zdCBzZWxlY3RPcHRpb25MaXN0U3R5bGUgPSBnZXRTZWxlY3RPcHRpb25MaXN0U3R5bGUoXG4gICAgICBkcm9wZG93bk1pbldpZHRoLFxuICAgICAgZHJvcGRvd25NYXhIZWlnaHQsXG4gICAgICBzaG93T3B0aW9uTGlzdCxcbiAgICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aCxcbiAgICAgIHJlZmVyZW5jZU9mZnNldFdpZHRoLFxuICAgICAgZ2V0VG90YWxTaXplXG4gICAgKTtcblxuICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyID0gbG9hZGluZyB8fCBvcHRpb25zLmxlbmd0aCA9PT0gMDtcblxuICAgIGlmICghc2hvd09wdGlvbkxpc3QgJiYgIWlzQW5pbWF0aW9uKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByZW5kZXJPcHRpb24gPSAob3B0aW9uOiBTZWxlY3RPcHRpb25JbnRlcmZhY2UsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvblJlbmRlcikpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvblJlbmRlcih7XG4gICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIGlzU2VsZWN0aW5nOiBjdXJyZW50U2VsZWN0aW5nSW5kZXggPT09IGluZGV4LFxuICAgICAgICAgIHNlbGVjdGVkOiBjdXJyZW50VmFsdWUuaW5jbHVkZXMob3B0aW9uLnZhbHVlKSxcbiAgICAgICAgICBtb2RlLFxuICAgICAgICAgIHNldFZhbHVlLFxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdCxcbiAgICAgICAgICByZXR1cm5Gb2N1c1RvV3JhcHBlcixcbiAgICAgICAgICByZW1vdmVWYWx1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTZWxlY3RPcHRpb25cbiAgICAgICAgICB7Li4ub3B0aW9ufVxuICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICBpc1NlbGVjdGluZz17Y3VycmVudFNlbGVjdGluZ0luZGV4ID09PSBpbmRleH1cbiAgICAgICAgICBzZWxlY3RlZD17Y3VycmVudFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSl9XG4gICAgICAgICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgICAgICAgIGNsb3NlT3B0aW9uTGlzdD17Y2xvc2VPcHRpb25MaXN0fVxuICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgIHJldHVybkZvY3VzVG9XcmFwcGVyPXtyZXR1cm5Gb2N1c1RvV3JhcHBlcn1cbiAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgIHJlbW92ZVZhbHVlPXtyZW1vdmVWYWx1ZX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclByb21wdCA9ICgpID0+IHtcbiAgICAgIGlmICghZHJvcGRvd25Qcm9tcHQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY3NzPXtbc2VsZWN0T3B0aW9uTGlzdFN0eWxlLnByb21wdCh0aGVtZSksIHN0eWxlcz8ucHJvbXB0Py4odGhlbWUpXX0ga2V5PVwicHJvbXB0XCI+XG4gICAgICAgICAge2Ryb3Bkb3duUHJvbXB0fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbmRlclZpcnR1YWxpemVkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIHJldHVybiBnZXRWaXJ0dWFsSXRlbXMoKS5tYXAoKHsgaW5kZXgsIHNpemUsIHN0YXJ0IH0pID0+IHtcbiAgICAgICAgaWYgKGluZGV4IDwgb3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2luZGV4XTtcblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNzcz17c2VsZWN0T3B0aW9uTGlzdFN0eWxlLnZpcnR1YWxpemVkT3B0aW9uV3JhcHBlcihzaXplLCBzdGFydCl9XG4gICAgICAgICAgICAgIGtleT17b3B0aW9uLnZhbHVlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7cmVuZGVyT3B0aW9uKG9wdGlvbiwgaW5kZXgpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZHJvcGRvd25Qcm9tcHQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGRpdiBjc3M9e3NlbGVjdE9wdGlvbkxpc3RTdHlsZS52aXJ0dWFsaXplZE9wdGlvbldyYXBwZXIoc2l6ZSwgc3RhcnQpfSBrZXk9XCJwcm9tcHRcIj5cbiAgICAgICAgICAgIHtyZW5kZXJQcm9tcHQoKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJPcHRpb25zID0gKCkgPT4gKFxuICAgICAgPD5cbiAgICAgICAge29wdGlvbnMubWFwKChvcHRpb24sIGluZGV4KSA9PiByZW5kZXJPcHRpb24ob3B0aW9uLCBpbmRleCkpfVxuICAgICAgICB7cmVuZGVyUHJvbXB0KCl9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgY29uc3QgcmVuZGVyT3B0aW9uTGlzdENvbnRlbnQgPSAoKSA9PiAodmlydHVhbCA/IHJlbmRlclZpcnR1YWxpemVkT3B0aW9ucygpIDogcmVuZGVyT3B0aW9ucygpKTtcblxuICAgIGNvbnN0IHJlbmRlclBsYWNlaG9sZGVyID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8c3BhbiBjc3M9e3NlbGVjdE9wdGlvbkxpc3RTdHlsZS53cmFwcGVyT2ZMb2FkaW5nKHRoZW1lKX0+XG4gICAgICAgICAgICA8TG9hZGluZ091dGxpbmVkIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc0FjdGl2ZVNlYXJjaCA9IHNlYXJjaFZhbHVlICYmIHNob3dTZWFyY2g7XG5cbiAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxkaXYgY3NzPXtzZWxlY3RPcHRpb25MaXN0U3R5bGUud3JhcHBlck9mRW1wdHlDb250ZW50KHRoZW1lKX0+XG4gICAgICAgICAgICB7aXNBY3RpdmVTZWFyY2ggPyBub3RGb3VuZENvbnRlbnQgOiBlbXB0eUNvbnRlbnR9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJTZWxlY3RPcHRpb25MaXN0ID0gKCkgPT4gKFxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3NldEZsb2F0aW5nfVxuICAgICAgICBzdHlsZT17ZmxvYXRpbmdTdHlsZXN9XG4gICAgICAgIGNzcz17W3NlbGVjdE9wdGlvbkxpc3RTdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgY2xhc3NOYW1lPXtkcm9wZG93bkNsYXNzTmFtZX1cbiAgICAgICAgdGFiSW5kZXg9ezJ9XG4gICAgICA+XG4gICAgICAgIHtoYXNQbGFjZWhvbGRlciA/IChcbiAgICAgICAgICByZW5kZXJQbGFjZWhvbGRlcigpXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGRpdiBjc3M9e3NlbGVjdE9wdGlvbkxpc3RTdHlsZS5jb250YWluZXIodmlydHVhbCl9PlxuICAgICAgICAgICAge2lzRnVuY3Rpb24oZHJvcGRvd25SZW5kZXIpXG4gICAgICAgICAgICAgID8gZHJvcGRvd25SZW5kZXIocmVuZGVyT3B0aW9uTGlzdENvbnRlbnQoKSlcbiAgICAgICAgICAgICAgOiByZW5kZXJPcHRpb25MaXN0Q29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICAgIHJldHVybiBjcmVhdGVQb3J0YWwocmVuZGVyU2VsZWN0T3B0aW9uTGlzdCgpLCBnZXRQb3B1cENvbnRhaW5lcigpKTtcbiAgfVxuKTtcbiJdfQ== */"], className: dropdownClassName, tabIndex: 2, children: hasPlaceholder ? renderPlaceholder() : /* @__PURE__ */ jsx("div", { css: selectOptionListStyle.container(virtual), children: isFunction(dropdownRender) ? dropdownRender(renderOptionListContent()) : renderOptionListContent() }) });
|
|
134
|
+
};
|
|
135
|
+
return createPortal(renderSelectOptionList(), getPopupContainer());
|
|
136
|
+
});
|
|
137
|
+
export {
|
|
138
|
+
SelectOptionList
|
|
139
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Theme } from 'themes';
|
|
2
|
+
export declare const getSelectOptionListStyle: (dropdownMinWidth: number, dropdownMaxHeight: number, showOptionList: boolean, dropdownMatchSelectWidth: boolean | number, referenceOffsetWidth: number | undefined, getTotalSize: () => number) => {
|
|
3
|
+
wrapper: (theme: Theme) => {
|
|
4
|
+
readonly display: "block";
|
|
5
|
+
readonly position: "absolute";
|
|
6
|
+
readonly flexDirection: "column";
|
|
7
|
+
readonly alignItems: "flex-start";
|
|
8
|
+
readonly justifyContent: "center";
|
|
9
|
+
readonly padding: 4;
|
|
10
|
+
readonly overflowX: "hidden";
|
|
11
|
+
readonly overflowY: "auto";
|
|
12
|
+
readonly minWidth: number;
|
|
13
|
+
readonly width: number | "fit-content";
|
|
14
|
+
readonly maxHeight: number;
|
|
15
|
+
readonly height: "fit-content";
|
|
16
|
+
readonly opacity: 0 | 1;
|
|
17
|
+
readonly transition: "max-height 200ms, opacity 200ms";
|
|
18
|
+
readonly boxSizing: "border-box";
|
|
19
|
+
readonly borderRadius: 8;
|
|
20
|
+
readonly background: "#FFFFFF";
|
|
21
|
+
readonly boxShadow: `0 3px 6px -4px rgba(${number}, ${number}, ${number}, 0.12), 0 6px 16px 0 rgba(${number}, ${number}, ${number}, 0.08), 0 9px 28px 8px rgba(${number}, ${number}, ${number}, 0.05)`;
|
|
22
|
+
};
|
|
23
|
+
container: (virtual: boolean) => {
|
|
24
|
+
readonly width: "100%";
|
|
25
|
+
readonly position: "relative";
|
|
26
|
+
readonly top: 0;
|
|
27
|
+
readonly height: number | "fit-content";
|
|
28
|
+
};
|
|
29
|
+
prompt: (theme: Theme) => {
|
|
30
|
+
readonly color: "#8C8C8C";
|
|
31
|
+
readonly padding: "4px 8px";
|
|
32
|
+
readonly width: "100%";
|
|
33
|
+
readonly overflow: "hidden";
|
|
34
|
+
readonly whiteSpace: "nowrap";
|
|
35
|
+
readonly textOverflow: "ellipsis";
|
|
36
|
+
readonly boxSizing: "border-box";
|
|
37
|
+
readonly fontFamily: "Roboto";
|
|
38
|
+
readonly fontSize: 12;
|
|
39
|
+
readonly lineHeight: "20px";
|
|
40
|
+
};
|
|
41
|
+
wrapperOfLoading: (theme: Theme) => {
|
|
42
|
+
padding: string;
|
|
43
|
+
fontSize: 16;
|
|
44
|
+
color: "#8C8C8C";
|
|
45
|
+
display: string;
|
|
46
|
+
height: string;
|
|
47
|
+
};
|
|
48
|
+
wrapperOfEmptyContent: (theme: Theme) => {
|
|
49
|
+
color: "#8C8C8C";
|
|
50
|
+
display: string;
|
|
51
|
+
alignItems: string;
|
|
52
|
+
height: string;
|
|
53
|
+
fontFamily: "Roboto";
|
|
54
|
+
fontSize: 12;
|
|
55
|
+
lineHeight: "20px";
|
|
56
|
+
padding: string;
|
|
57
|
+
};
|
|
58
|
+
virtualizedOptionWrapper: (size: number, start: number) => {
|
|
59
|
+
readonly position: "absolute";
|
|
60
|
+
readonly top: 0;
|
|
61
|
+
readonly left: 0;
|
|
62
|
+
readonly width: "100%";
|
|
63
|
+
readonly height: number;
|
|
64
|
+
readonly transform: `translateY(${number}px)`;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ANIMATION_DURATION } from "./SelectOptionList.utils.js";
|
|
2
|
+
import { getSelectTokens } from "../../Select.tokens.js";
|
|
3
|
+
import { isNumber } from "lodash-es";
|
|
4
|
+
const getWidth = (dropdownMatchSelectWidth, referenceOffsetWidth) => {
|
|
5
|
+
if (isNumber(dropdownMatchSelectWidth)) {
|
|
6
|
+
return dropdownMatchSelectWidth;
|
|
7
|
+
}
|
|
8
|
+
if (!dropdownMatchSelectWidth) {
|
|
9
|
+
return "fit-content";
|
|
10
|
+
}
|
|
11
|
+
return referenceOffsetWidth ?? "fit-content";
|
|
12
|
+
};
|
|
13
|
+
const getSelectOptionListStyle = (dropdownMinWidth, dropdownMaxHeight, showOptionList, dropdownMatchSelectWidth, referenceOffsetWidth, getTotalSize) => ({
|
|
14
|
+
wrapper: (theme) => ({
|
|
15
|
+
display: "block",
|
|
16
|
+
position: "absolute",
|
|
17
|
+
flexDirection: "column",
|
|
18
|
+
alignItems: "flex-start",
|
|
19
|
+
justifyContent: "center",
|
|
20
|
+
padding: theme.paddingXS,
|
|
21
|
+
overflowX: "hidden",
|
|
22
|
+
overflowY: "auto",
|
|
23
|
+
minWidth: dropdownMinWidth,
|
|
24
|
+
width: getWidth(dropdownMatchSelectWidth, referenceOffsetWidth),
|
|
25
|
+
maxHeight: showOptionList ? dropdownMaxHeight : 0,
|
|
26
|
+
height: "fit-content",
|
|
27
|
+
opacity: showOptionList ? 1 : 0,
|
|
28
|
+
transition: `max-height ${ANIMATION_DURATION}ms, opacity ${ANIMATION_DURATION}ms`,
|
|
29
|
+
boxSizing: "border-box",
|
|
30
|
+
borderRadius: theme.borderRadiusL,
|
|
31
|
+
background: theme.bgFloat,
|
|
32
|
+
boxShadow: theme.shadow2
|
|
33
|
+
}),
|
|
34
|
+
container: (virtual) => ({
|
|
35
|
+
width: "100%",
|
|
36
|
+
position: "relative",
|
|
37
|
+
top: 0,
|
|
38
|
+
height: virtual ? getTotalSize() : "fit-content"
|
|
39
|
+
}),
|
|
40
|
+
prompt: (theme) => {
|
|
41
|
+
const selectTokens = getSelectTokens(theme);
|
|
42
|
+
return {
|
|
43
|
+
...theme.typography.body3,
|
|
44
|
+
color: theme.textSecondary,
|
|
45
|
+
padding: `${selectTokens.selectOptionPaddingVertical}px ${selectTokens.selectOptionPaddingHorizontal}px`,
|
|
46
|
+
width: "100%",
|
|
47
|
+
overflow: "hidden",
|
|
48
|
+
whiteSpace: "nowrap",
|
|
49
|
+
textOverflow: "ellipsis",
|
|
50
|
+
boxSizing: "border-box"
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
wrapperOfLoading: (theme) => {
|
|
54
|
+
const selectTokens = getSelectTokens(theme);
|
|
55
|
+
return {
|
|
56
|
+
padding: `${theme.paddingS}px ${selectTokens.selectOptionPaddingHorizontal}px`,
|
|
57
|
+
fontSize: theme.iconM,
|
|
58
|
+
color: theme.textSecondary,
|
|
59
|
+
display: "inline-flex",
|
|
60
|
+
height: "fit-content"
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
wrapperOfEmptyContent: (theme) => {
|
|
64
|
+
const selectTokens = getSelectTokens(theme);
|
|
65
|
+
return {
|
|
66
|
+
padding: `${theme.paddingS}px ${selectTokens.selectOptionPaddingHorizontal}px`,
|
|
67
|
+
...theme.typography.body3,
|
|
68
|
+
color: theme.textSecondary,
|
|
69
|
+
display: "flex",
|
|
70
|
+
alignItems: "center",
|
|
71
|
+
height: "100%"
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
virtualizedOptionWrapper: (size, start) => ({
|
|
75
|
+
position: "absolute",
|
|
76
|
+
top: 0,
|
|
77
|
+
left: 0,
|
|
78
|
+
width: "100%",
|
|
79
|
+
height: size,
|
|
80
|
+
transform: `translateY(${start}px)`
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
export {
|
|
84
|
+
getSelectOptionListStyle
|
|
85
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Theme } from '../../../../themes';
|
|
2
|
+
import { SelectOptionCallbacks, SelectOptionInterface, SelectOptionProps, SelectOptionValue } from '../SelectOption/SelectOption.types';
|
|
3
|
+
import { Interpolation } from '@emotion/react';
|
|
4
|
+
import { CSSProperties, MutableRefObject, ReactNode } from 'react';
|
|
5
|
+
import { ModeType } from '../../Select.types';
|
|
6
|
+
export type DropdownMatchSelectWidthType = boolean | number;
|
|
7
|
+
export interface DropdownStyles {
|
|
8
|
+
wrapper?: (theme: Theme) => Interpolation;
|
|
9
|
+
container?: (virtual: boolean) => Interpolation;
|
|
10
|
+
prompt?: (theme: Theme) => Interpolation;
|
|
11
|
+
wrapperOfLoading?: (theme: Theme) => Interpolation;
|
|
12
|
+
wrapperOfEmptyContent?: (theme: Theme) => Interpolation;
|
|
13
|
+
virtualizedOptionWrapper?: (theme: Theme) => Interpolation;
|
|
14
|
+
}
|
|
15
|
+
export interface SelectOptionListProps extends SelectOptionCallbacks {
|
|
16
|
+
options: SelectOptionInterface[];
|
|
17
|
+
mode: ModeType;
|
|
18
|
+
showOptionList: boolean;
|
|
19
|
+
currentValue: SelectOptionValue[];
|
|
20
|
+
dropdownMinWidth: number;
|
|
21
|
+
dropdownMaxHeight: number;
|
|
22
|
+
dropdownPrompt?: string;
|
|
23
|
+
loading?: boolean;
|
|
24
|
+
dropdownClassName?: string;
|
|
25
|
+
dropdownMatchSelectWidth: DropdownMatchSelectWidthType;
|
|
26
|
+
floatingStyles: CSSProperties;
|
|
27
|
+
referenceOffsetWidth: number | undefined;
|
|
28
|
+
floatingRef: MutableRefObject<HTMLElement | null>;
|
|
29
|
+
virtual: boolean;
|
|
30
|
+
currentSelectingIndex: number;
|
|
31
|
+
emptyContent: ReactNode;
|
|
32
|
+
notFoundContent?: ReactNode;
|
|
33
|
+
searchValue?: string;
|
|
34
|
+
showSearch?: boolean;
|
|
35
|
+
styles?: DropdownStyles;
|
|
36
|
+
returnFocusToWrapper: () => void;
|
|
37
|
+
getPopupContainer: () => HTMLElement;
|
|
38
|
+
dropdownRender?: (originNode: ReactNode) => ReactNode;
|
|
39
|
+
optionRender?: (option: SelectOptionProps) => React.ReactNode;
|
|
40
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
41
|
+
removeValue: (removeValue: SelectOptionValue) => void;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ANIMATION_DURATION = 200;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { memo, useCallback } from "react";
|
|
3
|
+
import { getSelectTagDefaultStyle } from "./SelectTag.styles.js";
|
|
4
|
+
import { Tag } from "../../../Tag/Tag.js";
|
|
5
|
+
const SelectTag = memo(({
|
|
6
|
+
value,
|
|
7
|
+
label,
|
|
8
|
+
maxTagTextLength,
|
|
9
|
+
isError,
|
|
10
|
+
isBorderless,
|
|
11
|
+
disabled,
|
|
12
|
+
removeValue
|
|
13
|
+
}) => {
|
|
14
|
+
const closeHandle = useCallback((e) => {
|
|
15
|
+
e.stopPropagation();
|
|
16
|
+
removeValue(value);
|
|
17
|
+
}, [removeValue, value]);
|
|
18
|
+
const currentLabel = maxTagTextLength && label.length > maxTagTextLength ? label.slice(0, maxTagTextLength) + "…" : label;
|
|
19
|
+
const selectTagDefaultStyle = getSelectTagDefaultStyle(isError, isBorderless, disabled);
|
|
20
|
+
return /* @__PURE__ */ jsx(Tag, { closable: disabled ? false : true, onClose: closeHandle, styles: selectTagDefaultStyle, children: currentLabel });
|
|
21
|
+
});
|
|
22
|
+
export {
|
|
23
|
+
SelectTag
|
|
24
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Theme } from 'themes';
|
|
2
|
+
export declare const getSelectTagDefaultStyle: (isError: boolean, isBorderless: boolean, disabled: boolean) => {
|
|
3
|
+
wrapper: (theme: Theme) => {
|
|
4
|
+
fontSize: number;
|
|
5
|
+
color: "#262626" | "#8C8C8C" | "#FF4D4F";
|
|
6
|
+
background: "#D9D9D9" | "#F5F5F5";
|
|
7
|
+
};
|
|
8
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getSelectTokens } from "../../Select.tokens.js";
|
|
2
|
+
const getColor = (isError, isBorderless, disabled, selectTokens) => {
|
|
3
|
+
if (disabled) {
|
|
4
|
+
return selectTokens.selectTextDisabled;
|
|
5
|
+
}
|
|
6
|
+
if (isError && isBorderless) {
|
|
7
|
+
return selectTokens.selectTextDanger;
|
|
8
|
+
}
|
|
9
|
+
return selectTokens.selectText;
|
|
10
|
+
};
|
|
11
|
+
const getSelectTagDefaultStyle = (isError, isBorderless, disabled) => ({
|
|
12
|
+
wrapper: (theme) => {
|
|
13
|
+
const selectTokens = getSelectTokens(theme);
|
|
14
|
+
return {
|
|
15
|
+
fontSize: 14,
|
|
16
|
+
color: getColor(isError, isBorderless, disabled, selectTokens),
|
|
17
|
+
background: disabled ? selectTokens.selectMultipleItemBgDisabled : selectTokens.selectMultipleItemBg
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
export {
|
|
22
|
+
getSelectTagDefaultStyle
|
|
23
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SelectOptionValue } from '../SelectOption/SelectOption.types';
|
|
2
|
+
export interface SelectTagProps {
|
|
3
|
+
value: SelectOptionValue;
|
|
4
|
+
label: string;
|
|
5
|
+
maxTagTextLength?: number;
|
|
6
|
+
removeValue: (removeValue: SelectOptionValue) => void;
|
|
7
|
+
isError: boolean;
|
|
8
|
+
isBorderless: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { tagPlaceholderStyle } from "./TagPlaceholder.styles.js";
|
|
3
|
+
import { Tag } from "../../../Tag/Tag.js";
|
|
4
|
+
const tagPlaceholderDataElement = "tag-placeholder";
|
|
5
|
+
const TagPlaceholder = ({
|
|
6
|
+
hiddenElementsCounter
|
|
7
|
+
}) => {
|
|
8
|
+
return /* @__PURE__ */ jsx(Tag, { "data-element": tagPlaceholderDataElement, styles: tagPlaceholderStyle, children: `+ ${hiddenElementsCounter}` });
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
TagPlaceholder,
|
|
12
|
+
tagPlaceholderDataElement
|
|
13
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const options: {
|
|
2
|
+
value: string;
|
|
3
|
+
title: string;
|
|
4
|
+
}[];
|
|
5
|
+
export declare const storiesOptions: ({
|
|
6
|
+
title: string;
|
|
7
|
+
value: string;
|
|
8
|
+
icon: import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
disabled?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
title: string;
|
|
12
|
+
value: string;
|
|
13
|
+
icon?: undefined;
|
|
14
|
+
disabled?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
title: string;
|
|
17
|
+
value: string;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
icon?: undefined;
|
|
20
|
+
})[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectOptionInterface, SelectOptionValue } from '../components/SelectOption/SelectOption.types';
|
|
2
|
+
import { ModeType } from '../Select.types';
|
|
3
|
+
export declare const useCurrentValue: (mode: ModeType, defaultValue: SelectOptionValue | SelectOptionValue[] | undefined, defaultActiveFirstOption: boolean | undefined, options: SelectOptionInterface[], onDeselect?: (value: SelectOptionValue) => void) => {
|
|
4
|
+
currentValue: SelectOptionValue[];
|
|
5
|
+
changeCurrentValue: (value: SelectOptionValue) => void;
|
|
6
|
+
removeValue: (removeValue: SelectOptionValue) => void;
|
|
7
|
+
clearCurrentValue: () => void;
|
|
8
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useState, useCallback } from "react";
|
|
2
|
+
import { useDefaultCurrentValue } from "./useDefaultCurrentValue.js";
|
|
3
|
+
const useCurrentValue = (mode, defaultValue, defaultActiveFirstOption, options, onDeselect) => {
|
|
4
|
+
const defaultCurrentValue = useDefaultCurrentValue(mode, defaultValue, defaultActiveFirstOption, options);
|
|
5
|
+
const [currentValue, setCurrentValue] = useState(defaultCurrentValue);
|
|
6
|
+
const updateCurrentValue = useCallback((value) => {
|
|
7
|
+
setCurrentValue([value]);
|
|
8
|
+
}, []);
|
|
9
|
+
const addValue = useCallback((value) => {
|
|
10
|
+
setCurrentValue((prev) => [...prev, value]);
|
|
11
|
+
}, []);
|
|
12
|
+
const removeValue = useCallback((removeValue2) => {
|
|
13
|
+
setCurrentValue((prev) => prev.filter((value) => value !== removeValue2));
|
|
14
|
+
onDeselect == null ? void 0 : onDeselect(removeValue2);
|
|
15
|
+
}, [onDeselect]);
|
|
16
|
+
const changeCurrentValue = useCallback((value) => {
|
|
17
|
+
return mode === "multiple" ? addValue(value) : updateCurrentValue(value);
|
|
18
|
+
}, [addValue, mode, updateCurrentValue]);
|
|
19
|
+
const clearCurrentValue = useCallback(() => {
|
|
20
|
+
setCurrentValue([]);
|
|
21
|
+
}, []);
|
|
22
|
+
return {
|
|
23
|
+
currentValue,
|
|
24
|
+
changeCurrentValue,
|
|
25
|
+
removeValue,
|
|
26
|
+
clearCurrentValue
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
useCurrentValue
|
|
31
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SelectOptionInterface, SelectOptionValue } from '../components/SelectOption/SelectOption.types';
|
|
2
|
+
import { ModeType } from '../Select.types';
|
|
3
|
+
export declare const useDefaultCurrentValue: (mode: ModeType, defaultValue: SelectOptionValue | SelectOptionValue[] | undefined, defaultActiveFirstOption: boolean | undefined, options: SelectOptionInterface[]) => SelectOptionValue[];
|