@alfalab/core-components-select 17.10.1 → 17.12.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/components/arrow/Component.js +1 -1
- package/components/arrow/index.css +3 -3
- package/components/base-checkmark/Component.js +1 -1
- package/components/base-checkmark/index.css +6 -6
- package/components/base-option/Component.js +1 -1
- package/components/base-option/index.css +18 -17
- package/components/base-select/Component.js +2 -2
- package/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
- package/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
- package/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
- package/components/base-select/index.css +24 -22
- package/components/base-select/mobile.css +16 -15
- package/components/checkmark/Component.js +1 -1
- package/components/checkmark/index.css +12 -11
- package/components/checkmark-mobile/Component.js +1 -1
- package/components/checkmark-mobile/index.css +6 -6
- package/components/clear-button/Component.js +1 -1
- package/components/clear-button/index.css +6 -6
- package/components/field/Component.js +1 -1
- package/components/field/index.css +12 -12
- package/components/footer/Component.js +1 -1
- package/components/footer/index.css +5 -5
- package/components/optgroup/Component.js +1 -1
- package/components/optgroup/index.css +6 -6
- package/components/option/Component.js +1 -1
- package/components/option/index.css +21 -21
- package/components/options-list/Component.js +3 -3
- package/components/options-list/index.css +14 -11
- package/components/search/Component.js +1 -1
- package/components/search/index.css +2 -2
- package/components/virtual-options-list/Component.js +1 -1
- package/components/virtual-options-list/index.css +20 -19
- package/cssm/components/base-option/index.module.css +3 -2
- package/cssm/components/base-select/index.module.css +13 -11
- package/cssm/components/base-select/mobile.module.css +4 -3
- package/cssm/components/checkmark/index.module.css +2 -1
- package/cssm/components/option/index.module.css +2 -2
- package/cssm/components/options-list/Component.js +2 -2
- package/cssm/components/options-list/index.module.css +4 -1
- package/cssm/components/virtual-options-list/index.module.css +5 -4
- package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +3 -1
- package/cssm/presets/useSelectWithApply/options-list-with-apply/footer/vars.css +0 -0
- package/cssm/utils.d.ts +1 -1
- package/cssm/utils.js +11 -0
- package/esm/components/arrow/Component.js +1 -1
- package/esm/components/arrow/index.css +3 -3
- package/esm/components/base-checkmark/Component.js +1 -1
- package/esm/components/base-checkmark/index.css +6 -6
- package/esm/components/base-option/Component.js +1 -1
- package/esm/components/base-option/index.css +18 -17
- package/esm/components/base-select/Component.js +2 -2
- package/esm/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
- package/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
- package/esm/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
- package/esm/components/base-select/index.css +24 -22
- package/esm/components/base-select/mobile.css +16 -15
- package/esm/components/checkmark/Component.js +1 -1
- package/esm/components/checkmark/index.css +12 -11
- package/esm/components/checkmark-mobile/Component.js +1 -1
- package/esm/components/checkmark-mobile/index.css +6 -6
- package/esm/components/clear-button/Component.js +1 -1
- package/esm/components/clear-button/index.css +6 -6
- package/esm/components/field/Component.js +1 -1
- package/esm/components/field/index.css +12 -12
- package/esm/components/footer/Component.js +1 -1
- package/esm/components/footer/index.css +5 -5
- package/esm/components/optgroup/Component.js +1 -1
- package/esm/components/optgroup/index.css +6 -6
- package/esm/components/option/Component.js +1 -1
- package/esm/components/option/index.css +21 -21
- package/esm/components/options-list/Component.js +3 -3
- package/esm/components/options-list/index.css +14 -11
- package/esm/components/search/Component.js +1 -1
- package/esm/components/search/index.css +2 -2
- package/esm/components/virtual-options-list/Component.js +1 -1
- package/esm/components/virtual-options-list/index.css +20 -19
- package/esm/{list-popover-desktop-446b6d5f.js → list-popover-desktop-e4b69ce0.js} +1 -1
- package/esm/mobile/Component.mobile.js +1 -1
- package/esm/mobile.module-a3e68caf.js +4 -0
- package/esm/presets/index.js +1 -1
- package/esm/presets/useSelectWithApply/hook.js +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +6 -4
- package/esm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
- package/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
- package/esm/presets/useSelectWithLoading/hook.js +1 -1
- package/esm/presets/useSelectWithLoading/index.css +2 -2
- package/esm/shared/index.js +1 -1
- package/esm/utils.d.ts +1 -1
- package/esm/utils.js +13 -2
- package/{list-popover-desktop-6bae9b47.js → list-popover-desktop-8ffefe6e.js} +1 -1
- package/mobile/Component.mobile.js +1 -1
- package/mobile.module-97d68ba9.js +6 -0
- package/modern/components/arrow/Component.js +1 -1
- package/modern/components/arrow/index.css +3 -3
- package/modern/components/base-checkmark/Component.js +1 -1
- package/modern/components/base-checkmark/index.css +6 -6
- package/modern/components/base-option/Component.js +1 -1
- package/modern/components/base-option/index.css +18 -17
- package/modern/components/base-select/Component.js +2 -2
- package/modern/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
- package/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
- package/modern/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
- package/modern/components/base-select/index.css +24 -22
- package/modern/components/base-select/mobile.css +16 -15
- package/modern/components/checkmark/Component.js +1 -1
- package/modern/components/checkmark/index.css +12 -11
- package/modern/components/checkmark-mobile/Component.js +1 -1
- package/modern/components/checkmark-mobile/index.css +6 -6
- package/modern/components/clear-button/Component.js +1 -1
- package/modern/components/clear-button/index.css +6 -6
- package/modern/components/field/Component.js +1 -1
- package/modern/components/field/index.css +12 -12
- package/modern/components/footer/Component.js +1 -1
- package/modern/components/footer/index.css +5 -5
- package/modern/components/optgroup/Component.js +1 -1
- package/modern/components/optgroup/index.css +6 -6
- package/modern/components/option/Component.js +1 -1
- package/modern/components/option/index.css +21 -21
- package/modern/components/options-list/Component.js +3 -3
- package/modern/components/options-list/index.css +14 -11
- package/modern/components/search/Component.js +1 -1
- package/modern/components/search/index.css +2 -2
- package/modern/components/virtual-options-list/Component.js +1 -1
- package/modern/components/virtual-options-list/index.css +20 -19
- package/modern/{list-popover-desktop-46e08681.js → list-popover-desktop-85370c2c.js} +1 -1
- package/modern/mobile/Component.mobile.js +1 -1
- package/modern/mobile.module-eb08a4de.js +4 -0
- package/modern/presets/index.js +1 -1
- package/modern/presets/useSelectWithApply/hook.js +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +6 -4
- package/modern/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
- package/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
- package/modern/presets/useSelectWithLoading/hook.js +1 -1
- package/modern/presets/useSelectWithLoading/index.css +2 -2
- package/modern/shared/index.js +1 -1
- package/modern/utils.d.ts +1 -1
- package/modern/utils.js +13 -2
- package/moderncssm/Component.responsive.d.ts +7 -0
- package/moderncssm/Component.responsive.js +21 -0
- package/moderncssm/components/arrow/Component.d.ts +5 -0
- package/moderncssm/components/arrow/Component.js +8 -0
- package/moderncssm/components/arrow/index.d.ts +1 -0
- package/moderncssm/components/arrow/index.js +1 -0
- package/moderncssm/components/arrow/index.module.css +23 -0
- package/moderncssm/components/base-checkmark/Component.d.ts +5 -0
- package/moderncssm/components/base-checkmark/Component.js +15 -0
- package/moderncssm/components/base-checkmark/index.d.ts +1 -0
- package/moderncssm/components/base-checkmark/index.js +1 -0
- package/moderncssm/components/base-checkmark/index.module.css +30 -0
- package/moderncssm/components/base-option/Component.d.ts +4 -0
- package/moderncssm/components/base-option/Component.js +33 -0
- package/moderncssm/components/base-option/index.d.ts +1 -0
- package/moderncssm/components/base-option/index.js +1 -0
- package/moderncssm/components/base-option/index.module.css +81 -0
- package/moderncssm/components/base-select/Component.d.ts +14 -0
- package/moderncssm/components/base-select/Component.js +408 -0
- package/moderncssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +12 -0
- package/moderncssm/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.js +15 -0
- package/moderncssm/components/base-select/components/list-desktop/list-popover-desktop.d.ts +9 -0
- package/moderncssm/components/base-select/components/list-desktop/list-popover-desktop.js +13 -0
- package/moderncssm/components/base-select/components/list-desktop/types/types.d.ts +3 -0
- package/moderncssm/components/base-select/components/list-desktop/types/types.js +1 -0
- package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.d.ts +16 -0
- package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-bottom-sheet-mobile-props.js +19 -0
- package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.d.ts +28 -0
- package/moderncssm/components/base-select/components/list-mobile/helpers/get-list-modal-mobile-props.js +18 -0
- package/moderncssm/components/base-select/components/list-mobile/helpers/index.d.ts +2 -0
- package/moderncssm/components/base-select/components/list-mobile/helpers/index.js +2 -0
- package/moderncssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.d.ts +15 -0
- package/moderncssm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +24 -0
- package/moderncssm/components/base-select/components/list-mobile/list-mobile.d.ts +16 -0
- package/moderncssm/components/base-select/components/list-mobile/list-mobile.js +17 -0
- package/moderncssm/components/base-select/components/list-mobile/list-modal-mobile.d.ts +15 -0
- package/moderncssm/components/base-select/components/list-mobile/list-modal-mobile.js +32 -0
- package/moderncssm/components/base-select/components/list-mobile/types/types.d.ts +4 -0
- package/moderncssm/components/base-select/components/list-mobile/types/types.js +1 -0
- package/moderncssm/components/base-select/index.d.ts +1 -0
- package/moderncssm/components/base-select/index.js +1 -0
- package/moderncssm/components/base-select/index.module.css +81 -0
- package/moderncssm/components/base-select/mobile.module.css +48 -0
- package/moderncssm/components/base-select/types/component-types.d.ts +50 -0
- package/moderncssm/components/base-select/types/component-types.js +1 -0
- package/moderncssm/components/checkmark/Component.d.ts +5 -0
- package/moderncssm/components/checkmark/Component.js +20 -0
- package/moderncssm/components/checkmark/index.d.ts +1 -0
- package/moderncssm/components/checkmark/index.js +1 -0
- package/moderncssm/components/checkmark/index.module.css +59 -0
- package/moderncssm/components/checkmark-mobile/Component.d.ts +5 -0
- package/moderncssm/components/checkmark-mobile/Component.js +11 -0
- package/moderncssm/components/checkmark-mobile/index.d.ts +1 -0
- package/moderncssm/components/checkmark-mobile/index.js +1 -0
- package/moderncssm/components/checkmark-mobile/index.module.css +34 -0
- package/moderncssm/components/clear-button/Component.d.ts +5 -0
- package/moderncssm/components/clear-button/Component.js +9 -0
- package/moderncssm/components/clear-button/index.d.ts +1 -0
- package/moderncssm/components/clear-button/index.js +1 -0
- package/moderncssm/components/clear-button/index.module.css +47 -0
- package/moderncssm/components/field/Component.d.ts +13 -0
- package/moderncssm/components/field/Component.js +35 -0
- package/moderncssm/components/field/index.d.ts +1 -0
- package/moderncssm/components/field/index.js +1 -0
- package/moderncssm/components/field/index.module.css +74 -0
- package/moderncssm/components/footer/Component.d.ts +12 -0
- package/moderncssm/components/footer/Component.js +22 -0
- package/moderncssm/components/footer/index.d.ts +1 -0
- package/moderncssm/components/footer/index.js +1 -0
- package/moderncssm/components/footer/index.module.css +28 -0
- package/moderncssm/components/index.d.ts +9 -0
- package/moderncssm/components/index.js +9 -0
- package/moderncssm/components/native-select/Component.d.ts +25 -0
- package/moderncssm/components/native-select/Component.js +13 -0
- package/moderncssm/components/native-select/index.d.ts +1 -0
- package/moderncssm/components/native-select/index.js +1 -0
- package/moderncssm/components/optgroup/Component.d.ts +5 -0
- package/moderncssm/components/optgroup/Component.js +11 -0
- package/moderncssm/components/optgroup/index.d.ts +1 -0
- package/moderncssm/components/optgroup/index.js +1 -0
- package/moderncssm/components/optgroup/index.module.css +46 -0
- package/moderncssm/components/option/Component.d.ts +4 -0
- package/moderncssm/components/option/Component.js +23 -0
- package/moderncssm/components/option/index.d.ts +1 -0
- package/moderncssm/components/option/index.js +1 -0
- package/moderncssm/components/option/index.module.css +110 -0
- package/moderncssm/components/options-list/Component.d.ts +5 -0
- package/moderncssm/components/options-list/Component.js +88 -0
- package/moderncssm/components/options-list/index.d.ts +1 -0
- package/moderncssm/components/options-list/index.js +1 -0
- package/moderncssm/components/options-list/index.module.css +51 -0
- package/moderncssm/components/search/Component.d.ts +5 -0
- package/moderncssm/components/search/Component.js +9 -0
- package/moderncssm/components/search/index.d.ts +1 -0
- package/moderncssm/components/search/index.js +1 -0
- package/moderncssm/components/search/index.module.css +14 -0
- package/moderncssm/components/virtual-options-list/Component.d.ts +5 -0
- package/moderncssm/components/virtual-options-list/Component.js +138 -0
- package/moderncssm/components/virtual-options-list/index.d.ts +1 -0
- package/moderncssm/components/virtual-options-list/index.js +1 -0
- package/moderncssm/components/virtual-options-list/index.module.css +79 -0
- package/moderncssm/consts.d.ts +12 -0
- package/moderncssm/consts.js +13 -0
- package/moderncssm/desktop/Component.desktop.d.ts +6 -0
- package/moderncssm/desktop/Component.desktop.js +17 -0
- package/moderncssm/desktop/index.d.ts +2 -0
- package/moderncssm/desktop/index.js +1 -0
- package/moderncssm/hook-8c561f14.d.ts +115 -0
- package/moderncssm/hook-a8bc7fe8.d.ts +17 -0
- package/moderncssm/hook-a8bc7fe8.js +169 -0
- package/moderncssm/index.d.ts +2 -0
- package/moderncssm/index.js +1 -0
- package/moderncssm/mobile/Component.mobile.d.ts +5 -0
- package/moderncssm/mobile/Component.mobile.js +54 -0
- package/moderncssm/mobile/Component.modal.mobile.d.ts +4 -0
- package/moderncssm/mobile/Component.modal.mobile.js +6 -0
- package/moderncssm/mobile/index.d.ts +3 -0
- package/moderncssm/mobile/index.js +2 -0
- package/moderncssm/presets/index.d.ts +3 -0
- package/moderncssm/presets/index.js +3 -0
- package/moderncssm/presets/useLazyLoading/hook.d.ts +48 -0
- package/moderncssm/presets/useLazyLoading/hook.js +215 -0
- package/moderncssm/presets/useSelectWithApply/hook.d.ts +0 -0
- package/moderncssm/presets/useSelectWithApply/hook.js +4 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.d.ts +0 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/Component.js +6 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.d.ts +12 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +12 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +12 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/footer/vars.css +0 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.d.ts +11 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/Component.js +9 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +9 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -0
- package/moderncssm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -0
- package/moderncssm/presets/useSelectWithLoading/hook.d.ts +13 -0
- package/moderncssm/presets/useSelectWithLoading/hook.js +23 -0
- package/moderncssm/presets/useSelectWithLoading/index.module.css +7 -0
- package/moderncssm/shared/index.d.ts +13 -0
- package/moderncssm/shared/index.js +14 -0
- package/moderncssm/typings.d.ts +744 -0
- package/moderncssm/typings.js +1 -0
- package/moderncssm/utils.d.ts +81 -0
- package/moderncssm/utils.js +184 -0
- package/moderncssm/vars.css +10 -0
- package/package.json +15 -15
- package/presets/index.js +1 -1
- package/presets/useSelectWithApply/hook.js +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/footer/Component.js +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/footer/index.css +6 -4
- package/presets/useSelectWithApply/options-list-with-apply/header/Component.js +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/header/index.css +3 -3
- package/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
- package/presets/useSelectWithLoading/hook.js +1 -1
- package/presets/useSelectWithLoading/index.css +2 -2
- package/shared/index.js +1 -1
- package/src/components/arrow/index.module.css +1 -1
- package/src/components/base-checkmark/index.module.css +1 -1
- package/src/components/base-option/index.module.css +3 -3
- package/src/components/base-select/index.module.css +9 -9
- package/src/components/base-select/mobile.module.css +4 -4
- package/src/components/checkmark/index.module.css +1 -1
- package/src/components/checkmark-mobile/index.module.css +1 -1
- package/src/components/field/index.module.css +1 -1
- package/src/components/footer/index.module.css +1 -1
- package/src/components/optgroup/index.module.css +1 -1
- package/src/components/option/index.module.css +2 -3
- package/src/components/options-list/Component.tsx +2 -1
- package/src/components/options-list/index.module.css +6 -2
- package/src/components/search/index.module.css +1 -1
- package/src/components/virtual-options-list/index.module.css +5 -5
- package/src/presets/useSelectWithApply/options-list-with-apply/footer/index.module.css +3 -2
- package/src/presets/useSelectWithApply/options-list-with-apply/footer/vars.css +3 -0
- package/src/presets/useSelectWithApply/options-list-with-apply/header/index.module.css +1 -1
- package/src/utils.ts +28 -3
- package/src/vars.css +4 -4
- package/utils.d.ts +1 -1
- package/utils.js +11 -0
- package/esm/mobile.module-eaf56278.js +0 -4
- package/mobile.module-8d14caac.js +0 -6
- package/modern/mobile.module-2f7796c1.js +0 -4
- /package/esm/{hook-570b8ac7.d.ts → hook-276c96dc.d.ts} +0 -0
- /package/esm/{hook-570b8ac7.js → hook-276c96dc.js} +0 -0
- /package/esm/{list-popover-desktop-446b6d5f.d.ts → list-popover-desktop-e4b69ce0.d.ts} +0 -0
- /package/{hook-a71861cb.d.ts → hook-c8ba558c.d.ts} +0 -0
- /package/{hook-a71861cb.js → hook-c8ba558c.js} +0 -0
- /package/{list-popover-desktop-6bae9b47.d.ts → list-popover-desktop-8ffefe6e.d.ts} +0 -0
- /package/modern/{hook-0b565ee2.d.ts → hook-a054f3bb.d.ts} +0 -0
- /package/modern/{hook-0b565ee2.js → hook-a054f3bb.js} +0 -0
- /package/modern/{list-popover-desktop-46e08681.d.ts → list-popover-desktop-85370c2c.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '@alfalab/core-components-
|
|
1
|
+
@import '@alfalab/core-components-vars/src/index.css';
|
|
2
2
|
@import '../../vars.css';
|
|
3
3
|
|
|
4
4
|
.option {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
position: absolute;
|
|
26
26
|
left: var(--select-option-left-padding);
|
|
27
27
|
right: var(--select-option-right-padding);
|
|
28
|
-
top: 0;
|
|
28
|
+
top: var(--gap-0);
|
|
29
29
|
height: 1px;
|
|
30
30
|
background: var(--select-option-divider-background);
|
|
31
31
|
display: var(--select-option-divider-display);
|
|
@@ -90,7 +90,6 @@
|
|
|
90
90
|
overflow: hidden;
|
|
91
91
|
flex: 1;
|
|
92
92
|
text-overflow: ellipsis;
|
|
93
|
-
white-space: nowrap;
|
|
94
93
|
}
|
|
95
94
|
|
|
96
95
|
.textContent {
|
|
@@ -114,7 +114,7 @@ export const OptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
|
|
|
114
114
|
);
|
|
115
115
|
};
|
|
116
116
|
|
|
117
|
-
useVisibleOptions({
|
|
117
|
+
const measured = useVisibleOptions({
|
|
118
118
|
...(!nativeScrollbar && { styleTargetRef: scrollbarRef }),
|
|
119
119
|
visibleOptions,
|
|
120
120
|
listRef,
|
|
@@ -165,6 +165,7 @@ export const OptionsList = forwardRef<HTMLDivElement, OptionsListProps>(
|
|
|
165
165
|
horizontalAutoStretch={optionsListWidth === 'content'}
|
|
166
166
|
scrollableNodeProps={scrollableNodeProps}
|
|
167
167
|
contentNodeProps={{ ref: listRef }}
|
|
168
|
+
maskProps={{ className: measured ? undefined : styles.mask }}
|
|
168
169
|
>
|
|
169
170
|
{renderListItems()}
|
|
170
171
|
</Scrollbar>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '@alfalab/core-components-
|
|
1
|
+
@import '@alfalab/core-components-vars/src/index.css';
|
|
2
2
|
@import '../../vars.css';
|
|
3
3
|
|
|
4
4
|
.optionsList {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
.optionsListFooter {
|
|
22
22
|
position: sticky;
|
|
23
|
-
bottom: 0;
|
|
23
|
+
bottom: var(--gap-0);
|
|
24
24
|
box-sizing: border-box;
|
|
25
25
|
border-top: 1px solid transparent;
|
|
26
26
|
transition: border-color 0.2s ease;
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
width: 100%;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
.mask {
|
|
39
|
+
min-width: 4000px;
|
|
40
|
+
}
|
|
41
|
+
|
|
38
42
|
.emptyPlaceholder {
|
|
39
43
|
padding: var(--gap-16) var(--gap-12);
|
|
40
44
|
color: var(--select-options-list-empty-placeholder-color);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '@alfalab/core-components-
|
|
1
|
+
@import '@alfalab/core-components-vars/src/index.css';
|
|
2
2
|
@import '../../vars.css';
|
|
3
3
|
|
|
4
4
|
.virtualOptionsList {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
.virtualOptionsListFooter {
|
|
18
18
|
position: sticky;
|
|
19
|
-
bottom: 0;
|
|
19
|
+
bottom: var(--gap-0);
|
|
20
20
|
box-sizing: border-box;
|
|
21
21
|
border-top: 1px solid transparent;
|
|
22
22
|
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
|
|
39
39
|
.virtualRow {
|
|
40
40
|
position: absolute;
|
|
41
|
-
top: 0;
|
|
42
|
-
left: 0;
|
|
41
|
+
top: var(--gap-0);
|
|
42
|
+
left: var(--gap-0);
|
|
43
43
|
width: 100%;
|
|
44
44
|
|
|
45
45
|
&:before {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
z-index: 1;
|
|
49
49
|
left: var(--select-option-left-padding);
|
|
50
50
|
right: var(--select-option-right-padding);
|
|
51
|
-
top: 0;
|
|
51
|
+
top: var(--gap-0);
|
|
52
52
|
height: 1px;
|
|
53
53
|
background: var(--select-option-divider-background);
|
|
54
54
|
display: var(--select-option-divider-display);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
@import '@alfalab/core-components-
|
|
1
|
+
@import '@alfalab/core-components-vars/src/index.css';
|
|
2
|
+
@import './vars.css';
|
|
2
3
|
|
|
3
4
|
.footer {
|
|
4
5
|
background-color: var(--color-light-base-bg-primary);
|
|
@@ -6,6 +7,6 @@
|
|
|
6
7
|
outline: none;
|
|
7
8
|
|
|
8
9
|
& > .button + .button {
|
|
9
|
-
margin-left: var(--gap
|
|
10
|
+
margin-left: var(--select-option-list-footer-button-gap);
|
|
10
11
|
}
|
|
11
12
|
}
|
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
cloneElement,
|
|
3
|
+
isValidElement,
|
|
4
|
+
ReactNode,
|
|
5
|
+
RefObject,
|
|
6
|
+
useEffect,
|
|
7
|
+
useRef,
|
|
8
|
+
useState,
|
|
9
|
+
} from 'react';
|
|
10
|
+
|
|
11
|
+
import { fnUtils, getDataTestId, useIsMounted } from '@alfalab/core-components-shared';
|
|
4
12
|
|
|
5
13
|
import { BaseSelectProps, GroupShape, OptionShape, OptionsListProps } from './typings';
|
|
6
14
|
|
|
@@ -154,6 +162,9 @@ export function useVisibleOptions({
|
|
|
154
162
|
size,
|
|
155
163
|
actualOptionsCount,
|
|
156
164
|
}: useVisibleOptionsArgs) {
|
|
165
|
+
const [, runIfMounted] = useIsMounted();
|
|
166
|
+
const [measured, setMeasured] = useState(false);
|
|
167
|
+
|
|
157
168
|
useEffect(() => {
|
|
158
169
|
const measureOptionHeight = (element: HTMLElement) =>
|
|
159
170
|
typeof size === 'number' ? Math.min(element.clientHeight, size) : element.clientHeight;
|
|
@@ -205,8 +216,19 @@ export function useVisibleOptions({
|
|
|
205
216
|
}
|
|
206
217
|
}
|
|
207
218
|
|
|
219
|
+
const prevHeight = styleTarget.style.height;
|
|
220
|
+
|
|
208
221
|
styleTarget.style.height = `${height}px`;
|
|
222
|
+
|
|
223
|
+
setMeasured(true);
|
|
224
|
+
|
|
225
|
+
return () => {
|
|
226
|
+
styleTarget.style.height = prevHeight;
|
|
227
|
+
runIfMounted(() => setMeasured(false));
|
|
228
|
+
};
|
|
209
229
|
}
|
|
230
|
+
|
|
231
|
+
return fnUtils.noop;
|
|
210
232
|
}, [
|
|
211
233
|
actualOptionsCount,
|
|
212
234
|
listRef,
|
|
@@ -216,7 +238,10 @@ export function useVisibleOptions({
|
|
|
216
238
|
styleTargetRef,
|
|
217
239
|
visibleOptions,
|
|
218
240
|
invalidate,
|
|
241
|
+
runIfMounted,
|
|
219
242
|
]);
|
|
243
|
+
|
|
244
|
+
return measured;
|
|
220
245
|
}
|
|
221
246
|
|
|
222
247
|
export function defaultFilterFn(optionText: string, search: string) {
|
package/src/vars.css
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
/* options list */
|
|
7
7
|
|
|
8
|
-
--select-options-list-border-radius: var(--border-radius-
|
|
8
|
+
--select-options-list-border-radius: var(--border-radius-8);
|
|
9
9
|
--select-options-list-box-shadow: var(--shadow-m);
|
|
10
10
|
--select-options-list-offset: var(--gap-4);
|
|
11
|
-
--select-options-list-top-padding: 0;
|
|
12
|
-
--select-options-list-bottom-padding: 0;
|
|
11
|
+
--select-options-list-top-padding: var(--gap-0);
|
|
12
|
+
--select-options-list-bottom-padding: var(--gap-0);
|
|
13
13
|
--select-options-list-empty-placeholder-color: var(--color-light-text-secondary);
|
|
14
14
|
--select-option-divider-display: none;
|
|
15
15
|
--select-option-divider-background: var(--color-light-neutral-400);
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
/* checkmark */
|
|
35
35
|
|
|
36
|
-
--select-checkmark-margin: 0 var(--gap-8) 0 0;
|
|
36
|
+
--select-checkmark-margin: var(--gap-0) var(--gap-8) var(--gap-0) var(--gap-0);
|
|
37
37
|
--select-checkmark-margin-after: var(--select-checkmark-margin);
|
|
38
38
|
--select-checkmark-size: 4px;
|
|
39
39
|
--select-checkmark-before-display: 'flex';
|
package/utils.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ type useVisibleOptionsArgs = {
|
|
|
45
45
|
*/
|
|
46
46
|
actualOptionsCount?: boolean;
|
|
47
47
|
};
|
|
48
|
-
declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs):
|
|
48
|
+
declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs): boolean;
|
|
49
49
|
declare function defaultFilterFn(optionText: string, search: string): boolean;
|
|
50
50
|
declare function defaultGroupAccessor(option: GroupShape): string | undefined;
|
|
51
51
|
declare function defaultAccessor(option: OptionShape): string;
|
package/utils.js
CHANGED
|
@@ -80,6 +80,8 @@ function processOptions(options, selected, filterFn, filterGroup) {
|
|
|
80
80
|
}
|
|
81
81
|
function useVisibleOptions(_a) {
|
|
82
82
|
var visibleOptions = _a.visibleOptions, listRef = _a.listRef, _b = _a.styleTargetRef, styleTargetRef = _b === void 0 ? listRef : _b, open = _a.open, invalidate = _a.invalidate, options = _a.options, size = _a.size, actualOptionsCount = _a.actualOptionsCount;
|
|
83
|
+
var _c = coreComponentsShared.useIsMounted(), runIfMounted = _c[1];
|
|
84
|
+
var _d = React.useState(false), measured = _d[0], setMeasured = _d[1];
|
|
83
85
|
React.useEffect(function () {
|
|
84
86
|
var measureOptionHeight = function (element) {
|
|
85
87
|
return typeof size === 'number' ? Math.min(element.clientHeight, size) : element.clientHeight;
|
|
@@ -109,8 +111,15 @@ function useVisibleOptions(_a) {
|
|
|
109
111
|
height += size / 2;
|
|
110
112
|
}
|
|
111
113
|
}
|
|
114
|
+
var prevHeight_1 = styleTarget.style.height;
|
|
112
115
|
styleTarget.style.height = "".concat(height, "px");
|
|
116
|
+
setMeasured(true);
|
|
117
|
+
return function () {
|
|
118
|
+
styleTarget.style.height = prevHeight_1;
|
|
119
|
+
runIfMounted(function () { return setMeasured(false); });
|
|
120
|
+
};
|
|
113
121
|
}
|
|
122
|
+
return coreComponentsShared.fnUtils.noop;
|
|
114
123
|
}, [
|
|
115
124
|
actualOptionsCount,
|
|
116
125
|
listRef,
|
|
@@ -120,7 +129,9 @@ function useVisibleOptions(_a) {
|
|
|
120
129
|
styleTargetRef,
|
|
121
130
|
visibleOptions,
|
|
122
131
|
invalidate,
|
|
132
|
+
runIfMounted,
|
|
123
133
|
]);
|
|
134
|
+
return measured;
|
|
124
135
|
}
|
|
125
136
|
function defaultFilterFn(optionText, search) {
|
|
126
137
|
if (!search)
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var mobileStyles = {"sheet":"select__sheet_rk2oo","sheetContent":"select__sheetContent_rk2oo","modalContent":"select__modalContent_rk2oo","sheetContainer":"select__sheetContainer_rk2oo","optionsListWrapper":"select__optionsListWrapper_rk2oo","optionsList":"select__optionsList_rk2oo","scrollbar":"select__scrollbar_rk2oo","search":"select__search_rk2oo","option":"select__option_rk2oo","optionGroup":"select__optionGroup_rk2oo"};
|
|
2
|
-
require('./components/base-select/mobile.css')
|
|
3
|
-
|
|
4
|
-
export { mobileStyles as m };
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var mobileStyles = {"sheet":"select__sheet_rk2oo","sheetContent":"select__sheetContent_rk2oo","modalContent":"select__modalContent_rk2oo","sheetContainer":"select__sheetContainer_rk2oo","optionsListWrapper":"select__optionsListWrapper_rk2oo","optionsList":"select__optionsList_rk2oo","scrollbar":"select__scrollbar_rk2oo","search":"select__search_rk2oo","option":"select__option_rk2oo","optionGroup":"select__optionGroup_rk2oo"};
|
|
4
|
-
require('./components/base-select/mobile.css')
|
|
5
|
-
|
|
6
|
-
exports.mobileStyles = mobileStyles;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const mobileStyles = {"sheet":"select__sheet_rk2oo","sheetContent":"select__sheetContent_rk2oo","modalContent":"select__modalContent_rk2oo","sheetContainer":"select__sheetContainer_rk2oo","optionsListWrapper":"select__optionsListWrapper_rk2oo","optionsList":"select__optionsList_rk2oo","scrollbar":"select__scrollbar_rk2oo","search":"select__search_rk2oo","option":"select__option_rk2oo","optionGroup":"select__optionGroup_rk2oo"};
|
|
2
|
-
require('./components/base-select/mobile.css')
|
|
3
|
-
|
|
4
|
-
export { mobileStyles as m };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|