@salutejs/plasma-new-hope 0.190.0-canary.1552.11794692529.0 → 0.190.0-dev.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +0 -2
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +6 -31
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +0 -2
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +0 -2
- package/cjs/components/Dropdown/Dropdown.js +6 -4
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/index.css +0 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +7 -32
- package/emotion/cjs/components/Dropdown/Dropdown.js +6 -4
- package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +7 -33
- package/emotion/es/components/Dropdown/Dropdown.js +6 -4
- package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/es/components/Combobox/ComboboxNew/Combobox.css +0 -2
- package/es/components/Combobox/ComboboxNew/Combobox.js +8 -33
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +0 -2
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +0 -2
- package/es/components/Dropdown/Dropdown.js +6 -4
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/index.css +0 -2
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +7 -32
- package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -4
- package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +7 -33
- package/styled-components/es/components/Dropdown/Dropdown.js +6 -4
- package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +9 -0
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts +2 -2
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +2 -24
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +4 -0
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts +120 -1080
- package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Combobox/Combobox.d.ts +120 -1080
- package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Form/Form.css +0 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Form/Form.js +0 -37
- package/cjs/components/Combobox/ComboboxNew/ui/Form/Form.js.map +0 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Form/Form.styles.js +0 -15
- package/cjs/components/Combobox/ComboboxNew/ui/Form/Form.styles.js.map +0 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Form/Form.styles_22v2s5.css +0 -1
- package/cjs/utils/syntheticEvent.js +0 -55
- package/cjs/utils/syntheticEvent.js.map +0 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Form/Form.js +0 -38
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Form/Form.styles.js +0 -13
- package/emotion/cjs/utils/syntheticEvent.js +0 -53
- package/emotion/es/components/Combobox/ComboboxNew/ui/Form/Form.js +0 -29
- package/emotion/es/components/Combobox/ComboboxNew/ui/Form/Form.styles.js +0 -6
- package/emotion/es/utils/syntheticEvent.js +0 -47
- package/es/components/Combobox/ComboboxNew/ui/Form/Form.css +0 -1
- package/es/components/Combobox/ComboboxNew/ui/Form/Form.js +0 -33
- package/es/components/Combobox/ComboboxNew/ui/Form/Form.js.map +0 -1
- package/es/components/Combobox/ComboboxNew/ui/Form/Form.styles.js +0 -11
- package/es/components/Combobox/ComboboxNew/ui/Form/Form.styles.js.map +0 -1
- package/es/components/Combobox/ComboboxNew/ui/Form/Form.styles_22v2s5.css +0 -1
- package/es/utils/syntheticEvent.js +0 -50
- package/es/utils/syntheticEvent.js.map +0 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Form/Form.js +0 -38
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Form/Form.styles.js +0 -12
- package/styled-components/cjs/utils/syntheticEvent.js +0 -53
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Form/Form.js +0 -29
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Form/Form.styles.js +0 -5
- package/styled-components/es/utils/syntheticEvent.js +0 -47
- package/types/components/Combobox/ComboboxNew/ui/Form/Form.d.ts +0 -6
- package/types/components/Combobox/ComboboxNew/ui/Form/Form.d.ts.map +0 -1
- package/types/components/Combobox/ComboboxNew/ui/Form/Form.styles.d.ts +0 -3
- package/types/components/Combobox/ComboboxNew/ui/Form/Form.styles.d.ts.map +0 -1
- package/types/utils/syntheticEvent.d.ts +0 -4
- package/types/utils/syntheticEvent.d.ts.map +0 -1
@@ -110,8 +110,6 @@
|
|
110
110
|
|
111
111
|
.Target_styles_16ltv0e_s1wiuml6__f4e1732c{--plasma-textfield-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-clear-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-bg-color:var(--plasma-combobox-new-textfield-background-color);--plasma-textfield-bg-color-hover:var(--plasma-combobox-new-textfield-background-color-hover);--plasma-textfield-bg-color-focus:var(--plasma-combobox-new-textfield-background-color-focus);--plasma-textfield-border-color:var(--plasma-combobox-new-textfield-border-color);--plasma-textfield-border-color-hover:var(--plasma-combobox-new-textfield-border-color-hover);--plasma-textfield-border-color-focus:var(--plasma-combobox-new-textfield-border-color-focus);--plasma-textfield-color-readonly:var(--plasma-combobox-new-textfield-color-readonly);--plasma-textfield-bg-color-readonly:var(--plasma-combobox-new-textfield-bg-color-readonly);--plasma-textfield-border-color-readonly:var(--plasma-combobox-new-textfield-border-color-readonly);--plasma-textfield__placeholder-color-readonly:var(--plasma-combobox-new-textfield-placeholder-color-readonly);--plasma-textfield__caret-color:var(--plasma-combobox-new-textfield-caret-color);--plasma-textfield__placeholder-color:var(--plasma-combobox-new-textfield-placeholder-color);--plasma-textfield__placeholder-color-focus:var(--plasma-combobox-new-textfield-placeholder-color-focus);--plasma-textfield__clear-placeholder-color:var(--plasma-combobox-new-textfield-clear-placeholder-color);--plasma-textfield__clear-placeholder-color-focus:var(--plasma-combobox-new-textfield-clear-placeholder-color-focus);--plasma-textfield__optional-color:var(--plasma-combobox-new-textfield-optional-color);--plasma-textfield-height:var(--plasma-combobox-new-textfield-height);--plasma-textfield-border-width:var(--plasma-combobox-new-textfield-border-width);--plasma-textfield-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-textfield-padding:var(--plasma-combobox-new-textfield-padding);--plasma-textfield-padding-with-chips:var(--plasma-combobox-new-textfield-padding-with-chips);--plasma-textfield__left-content-margin:var(--plasma-combobox-new-textfield-left-content-margin);--plasma-textfield__right-content-margin:var(--plasma-combobox-new-textfield-right-content-margin);--plasma-textfield-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-textfield-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-textfield-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-textfield-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-textfield-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-textfield-line-height:var(--plasma-combobox-new-textfield-line-height);--plasma-textfield-content-slot-color:var(--plasma-combobox-new-textfield-content-slot-color);--plasma-textfield-content-slot-color-hover:var(--plasma-combobox-new-textfield-content-slot-color-hover);--plasma-textfield-content-slot-color-active:var(--plasma-combobox-new-textfield-content-slot-color-active);--plasma-textfield-content-right-slot-color:var(--plasma-combobox-new-textfield-content-right-slot-color);--plasma-textfield-content-right-slot-color-hover:var(--plasma-combobox-new-textfield-content-right-slot-color-hover);--plasma-textfield-content-right-slot-color-active:var(--plasma-combobox-new-textfield-content-right-slot-color-active);--plasma-textfield__label-color:var(--plasma-combobox-new-textfield-label-color);--plasma-textfield__label-color-readonly:var(--plasma-combobox-new-textfield-label-color-readonly);--plasma-textfield__label-offset:var(--plasma-combobox-new-textfield-label-offset);--plasma-textfield__clear-label-offset:var(--plasma-combobox-new-textfield-clear-label-offset);--plasma-textfield__label-font-family:var(--plasma-combobox-new-textfield-label-font-family);--plasma-textfield__label-font-style:var(--plasma-combobox-new-textfield-label-font-style);--plasma-textfield__label-font-size:var(--plasma-combobox-new-textfield-label-font-size);--plasma-textfield__label-font-weight:var(--plasma-combobox-new-textfield-label-font-weight);--plasma-textfield__label-letter-spacing:var(--plasma-combobox-new-textfield-label-letter-spacing);--plasma-textfield__label-line-height:var(--plasma-combobox-new-textfield-label-line-height);--plasma-textfield-placement_inner__label-font-family:var(--plasma-combobox-new-textfield-placement_inner-label-font-family);--plasma-textfield-placement_inner__label-font-style:var(--plasma-combobox-new-textfield-placement_inner-label-font-style);--plasma-textfield-placement_inner__label-font-size:var(--plasma-combobox-new-textfield-placement_inner-label-font-size);--plasma-textfield-placement_inner__label-font-weight:var(--plasma-combobox-new-textfield-placement_inner-label-font-weight);--plasma-textfield-placement_inner__label-letter-spacing:var(--plasma-combobox-new-textfield-placement_inner-label-letter-spacing);--plasma-textfield-placement_inner__label-line-height:var(--plasma-combobox-new-textfield-placement_inner-label-line-height);--plasma-textfield-placement_inner__label-padding:var(--plasma-combobox-new-textfield-placement_inner-label-padding);--plasma-textfield-placement_inner__content-padding:var(--plasma-combobox-new-textfield-placement_inner-content-padding);--plasma-textfield__title-caption-color:var(--plasma-combobox-new-textfield-title-caption-color);--plasma-textfield__title-caption-color-readonly:var(--plasma-combobox-new-textfield-title-caption-color-readonly);--plasma-textfield__title-caption-label-inner-offset:var(--plasma-combobox-new-textfield-title-caption-label-inner-offset);--plasma-textfield__title-caption-font-family:var(--plasma-combobox-new-textfield-title-caption-font-family);--plasma-textfield__title-caption-font-style:var(--plasma-combobox-new-textfield-title-caption-font-style);--plasma-textfield__title-caption-font-size:var(--plasma-combobox-new-textfield-title-caption-font-size);--plasma-textfield__title-caption-font-weight:var(--plasma-combobox-new-textfield-title-caption-font-weight);--plasma-textfield__title-caption-letter-spacing:var(--plasma-combobox-new-textfield-title-caption-letter-spacing);--plasma-textfield__title-caption-line-height:var(--plasma-combobox-new-textfield-title-caption-line-height);--plasma-textfield__left-helper-color:var(--plasma-combobox-new-textfield-left-helper-color);--plasma-textfield__left-helper-color-readonly:var(--plasma-combobox-new-textfield-left-helper-color-readonly);--plasma-textfield__left-helper-offset:var(--plasma-combobox-new-textfield-left-helper-offset);--plasma-textfield__left-helper-font-family:var(--plasma-combobox-new-textfield-left-helper-font-family);--plasma-textfield__left-helper-font-style:var(--plasma-combobox-new-textfield-left-helper-font-style);--plasma-textfield__left-helper-font-size:var(--plasma-combobox-new-textfield-left-helper-font-size);--plasma-textfield__left-helper-font-weight:var(--plasma-combobox-new-textfield-left-helper-font-weight);--plasma-textfield__left-helper-letter-spacing:var(--plasma-combobox-new-textfield-left-helper-letter-spacing);--plasma-textfield__left-helper-line-height:var(--plasma-combobox-new-textfield-left-helper-line-height);--plasma-textfield__before-text-color:var(--plasma-combobox-new-textfield-before-text-color);--plasma-textfield__after-text-color:var(--plasma-combobox-new-textfield-after-text-color);--plasma-textfield__before-text-margin:var(--plasma-combobox-new-textfield-before-text-margin);--plasma-textfield__after-text-margin:var(--plasma-combobox-new-textfield-after-text-margin);--plasma-textfield-disabled-opacity:var(--plasma-combobox-new-textfield-disabled-opacity);--plasma-textfield__chip-height:var(--plasma-combobox-new-textfield-chip-height);--plasma-textfield__chip-border-radius:var(--plasma-combobox-new-textfield-chip-border-radius);--plasma-textfield__chip-gap:var(--plasma-combobox-new-textfield-chip-gap);--plasma-textfield__chip-background:var(--plasma-combobox-new-textfield--chip-background);--plasma-textfield__chip-color:var(--plasma-combobox-new-textfield-chip-color);--plasma-textfield__chip-background-hover:var(--plasma-combobox-new-textfield-chip-background-hover);--plasma-textfield__chip-color-hover:var(--plasma-combobox-new-textfield-chip-color-hover);--plasma-textfield__chip-scale-hover:var(--plasma-combobox-new-textfield-chip-scale-hover);--plasma-textfield__chip-background-readonly:var(--plasma-combobox-new-textfield-chip-background-read-only);--plasma-textfield__chip-color-readonly:var(--plasma-combobox-new-textfield-chip-color-read-only);--plasma-textfield__chip-background-readonly-hover:var(--plasma-combobox-new-textfield-chip-background-read-only-hover);--plasma-textfield__chip-color-readonly-hover:var(--plasma-combobox-new-textfield-chip-color-read-only-hover);--plasma-textfield__chip-background-active:var(--plasma-combobox-new-textfield-chip-background-active);--plasma-textfield__chip-color-active:var(--plasma-combobox-new-textfield-chip-color-active);--plasma-textfield__chip-scale-active:var(--plasma-combobox-new-textfield-chip-scale-active);--plasma-textfield__chip-close-icon-color:var(--plasma-combobox-new-textfield-chip-close-icons-color);--plasma-textfield__chip-outline-size:var(--plasma-combobox-new-textfield-chip-outline-size);--plasma-textfield__chip-width:var(--plasma-combobox-new-textfield-chip-width);--plasma-textfield__chip-padding-top:var(--plasma-combobox-new-textfield-chip-padding-top);--plasma-textfield__chip-padding-right:var(--plasma-combobox-new-textfield-chip-padding-right);--plasma-textfield__chip-padding-bottom:var(--plasma-combobox-new-textfield-chip-padding-bottom);--plasma-textfield__chip-padding-left:var(--plasma-combobox-new-textfield-chip-padding-left);--plasma-textfield__chip-close-icon-size:var(--plasma-combobox-new-textfield-chip-close-icon-size);--plasma-textfield__chip-font-family:var(--plasma-combobox-new-textfield-chip-font-family);--plasma-textfield__chip-font-size:var(--plasma-combobox-new-textfield-chip-font-size);--plasma-textfield__chip-font-style:var(--plasma-combobox-new-textfield-chip-font-style);--plasma-textfield__chip-font-weight:var(--plasma-combobox-new-textfield-chip-font-weight);--plasma-textfield__chip-letter-spacing:var(--plasma-combobox-new-textfield-chip-letter-spacing);--plasma-textfield__chip-line-height:var(--plasma-combobox-new-textfield-chip-line-height);--plasma-textfield__chip-clear-content-margin-left:var(--plasma-combobox-new-textfield-chip-clear-content-margin-left);--plasma-textfield__chip-clear-content-margin-right:var(--plasma-combobox-new-textfield-chip-clear-content-margin-right);--plasma-textfield__chip-opacity-readonly:var(--plasma-combobox-new-textfield-chip-opacity-readonly);--plasma-textfield-focus-color:var(--plasma-combobox-new-textfield-focus-color);--plasma-textfield__indicator-color:var(--plasma-combobox-new-textfield-indicator-color);--plasma-textfield__indicator-size-inner:var(--plasma-combobox-new-textfield-indicator-size-inner);--plasma-textfield__indicator-size-outer:var(--plasma-combobox-new-textfield-indicator-size-outer);--plasma-textfield__indicator-placement-inner:var(--plasma-combobox-new-textfield-indicator-placement-inner);--plasma-textfield__indicator-placement-outer:var(--plasma-combobox-new-textfield-indicator-placement-outer);--plasma-textfield__indicator-placement-inner-right:var(--plasma-combobox-new-textfield-indicator-placement-inner-right);--plasma-textfield__indicator-placement-outer-right:var(--plasma-combobox-new-textfield-indicator-placement-outer-right);--plasma-textfield__clear-indicator-placement-inner:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner);--plasma-textfield__clear-indicator-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner-right);--plasma-textfield__clear-indicator-hint-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-hint-placement-inner-right);}
|
112
112
|
|
113
|
-
.Form_styles_22v2s5_sngk5la__4621e773{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
114
|
-
|
115
113
|
.base_x252cy_b17hdes8__856a05b7 input[type='checkbox']:indeterminate + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.base_x252cy_b17hdes8__856a05b7 input:checked + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
116
114
|
|
117
115
|
.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{opacity:var(--plasma-checkbox-disabled-opacity);}.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{cursor:not-allowed;}
|
@@ -110,8 +110,6 @@
|
|
110
110
|
|
111
111
|
.Combobox_styles_18a8p75_s11cn92k__ba048029{--plasma-emptystate-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-emptystate-padding:var(--plasma-combobox-new-empty-state-padding);--plasma-emptystate-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-emptystate-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-emptystate-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-emptystate-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-emptystate-font-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-emptystate-font-line-height:var(--plasma-combobox-new-textfield-line-height);}
|
112
112
|
|
113
|
-
.Form_styles_22v2s5_sngk5la__4621e773{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
114
|
-
|
115
113
|
.base_x252cy_b17hdes8__856a05b7 input[type='checkbox']:indeterminate + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.base_x252cy_b17hdes8__856a05b7 input:checked + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
116
114
|
|
117
115
|
.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{opacity:var(--plasma-checkbox-disabled-opacity);}.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{cursor:not-allowed;}
|
@@ -18,7 +18,7 @@ import { getPlacement } from './utils/getPlacement.js';
|
|
18
18
|
import { getItemId } from './utils/getItemId.js';
|
19
19
|
import { DropdownInner } from './ui/DropdownInner/DropdownInner.js';
|
20
20
|
|
21
|
-
var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
|
21
|
+
var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "alwaysOpened", "portal"];
|
22
22
|
var Context = /*#__PURE__*/createContext({});
|
23
23
|
|
24
24
|
/**
|
@@ -53,6 +53,8 @@ var dropdownRoot = function dropdownRoot(Root) {
|
|
53
53
|
variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
|
54
54
|
_ref$hasArrow = _ref.hasArrow,
|
55
55
|
hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
|
56
|
+
_ref$alwaysOpened = _ref.alwaysOpened,
|
57
|
+
alwaysOpened = _ref$alwaysOpened === void 0 ? false : _ref$alwaysOpened,
|
56
58
|
portal = _ref.portal,
|
57
59
|
rest = _objectWithoutProperties(_ref, _excluded);
|
58
60
|
var _useReducer = useReducer(pathReducer, []),
|
@@ -73,7 +75,7 @@ var dropdownRoot = function dropdownRoot(Root) {
|
|
73
75
|
|
74
76
|
// Логика работы при клике за пределами выпадающего списка
|
75
77
|
var targetRef = useOutsideClick(function (event) {
|
76
|
-
if (!isCurrentListOpen || !closeOnOverlayClick) {
|
78
|
+
if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {
|
77
79
|
return;
|
78
80
|
}
|
79
81
|
dispatchPath({
|
@@ -87,7 +89,7 @@ var dropdownRoot = function dropdownRoot(Root) {
|
|
87
89
|
}
|
88
90
|
}, floatingPopoverRef);
|
89
91
|
var handleGlobalToggle = function handleGlobalToggle(opened, event) {
|
90
|
-
if (opened) {
|
92
|
+
if (alwaysOpened || opened) {
|
91
93
|
dispatchPath({
|
92
94
|
type: 'opened_first_level'
|
93
95
|
});
|
@@ -116,7 +118,7 @@ var dropdownRoot = function dropdownRoot(Root) {
|
|
116
118
|
onItemClick: onItemClick
|
117
119
|
}),
|
118
120
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
119
|
-
var isCurrentListOpen = Boolean(path[0]);
|
121
|
+
var isCurrentListOpen = alwaysOpened || Boolean(path[0]);
|
120
122
|
return /*#__PURE__*/React.createElement(Context.Provider, {
|
121
123
|
value: {
|
122
124
|
focusedPath: focusedPath,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { createContext, forwardRef, useReducer, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType, ItemContext } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n })}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","isCurrentListOpen","type","handleGlobalToggle","opened","_useKeyNavigation","useKeyNavigation","onKeyDown","Boolean","React","createElement","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","_extends","cx","classes","style","display","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { createContext, forwardRef, useReducer, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType, ItemContext } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n })}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","isCurrentListOpen","type","handleGlobalToggle","opened","_useKeyNavigation","useKeyNavigation","onKeyDown","Boolean","React","createElement","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","_extends","cx","classes","style","display","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
package/es/index.css
CHANGED
@@ -581,8 +581,6 @@
|
|
581
581
|
|
582
582
|
.Combobox_styles_18a8p75_s11cn92k__ba048029{--plasma-emptystate-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-emptystate-padding:var(--plasma-combobox-new-empty-state-padding);--plasma-emptystate-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-emptystate-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-emptystate-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-emptystate-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-emptystate-font-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-emptystate-font-line-height:var(--plasma-combobox-new-textfield-line-height);}
|
583
583
|
|
584
|
-
.Form_styles_22v2s5_sngk5la__4621e773{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
585
|
-
|
586
584
|
.Indicator_styles_v8giip_b5hgwnm__ffd4472f{border-radius:100%;}
|
587
585
|
|
588
586
|
.base_1rjb5ly_bu942ai__5ed616c0{background-color:var(--plasma-indicator-color);}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.190.0-
|
3
|
+
"version": "0.190.0-dev.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -128,5 +128,5 @@
|
|
128
128
|
"sideEffects": [
|
129
129
|
"*.css"
|
130
130
|
],
|
131
|
-
"gitHead": "
|
131
|
+
"gitHead": "ce4217bf7ce01a8ba52430e2d2d69af9fc0ad8e9"
|
132
132
|
}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
4
5
|
value: true
|
5
6
|
});
|
@@ -19,12 +20,10 @@ var _getPathMaps = /*#__PURE__*/require("./hooks/getPathMaps");
|
|
19
20
|
var _Combobox2 = /*#__PURE__*/require("./Combobox.styles");
|
20
21
|
var _base = /*#__PURE__*/require("./variations/_view/base");
|
21
22
|
var _base2 = /*#__PURE__*/require("./variations/_size/base");
|
22
|
-
var
|
23
|
-
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue"];
|
23
|
+
var _excluded = ["multiple", "value", "onChange", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue"];
|
24
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
25
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
26
26
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
27
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
28
27
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
29
28
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
30
29
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
@@ -38,15 +37,12 @@ var Context = exports.Context = /*#__PURE__*/(0, _react.createContext)({});
|
|
38
37
|
/**
|
39
38
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
40
39
|
*/
|
41
|
-
|
42
40
|
var comboboxRoot = exports.comboboxRoot = function comboboxRoot(Root) {
|
43
41
|
return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
44
42
|
var _valueToItemMap$get, _valueToItemMap$get2, _getItemByFocused;
|
45
|
-
var
|
46
|
-
multiple = props.multiple,
|
43
|
+
var multiple = props.multiple,
|
47
44
|
outerValue = props.value,
|
48
45
|
outerOnChange = props.onChange,
|
49
|
-
defaultValue = props.defaultValue,
|
50
46
|
isTargetAmount = props.isTargetAmount,
|
51
47
|
targetAmount = props.targetAmount,
|
52
48
|
items = props.items,
|
@@ -155,19 +151,9 @@ var comboboxRoot = exports.comboboxRoot = function comboboxRoot(Root) {
|
|
155
151
|
}, floatingPopoverRef);
|
156
152
|
var onChange = function onChange(newValue) {
|
157
153
|
if (outerOnChange) {
|
158
|
-
|
159
|
-
outerOnChange(newValue);
|
160
|
-
}
|
161
|
-
if (!name && multiple && Array.isArray(newValue)) {
|
162
|
-
outerOnChange(newValue);
|
163
|
-
}
|
164
|
-
if (name && _typeof(newValue) === 'object' && !Array.isArray(newValue)) {
|
165
|
-
outerOnChange(newValue);
|
166
|
-
}
|
167
|
-
}
|
168
|
-
if (typeof newValue === 'string' || Array.isArray(newValue)) {
|
169
|
-
setInternalValue(newValue);
|
154
|
+
outerOnChange(newValue);
|
170
155
|
}
|
156
|
+
setInternalValue(newValue);
|
171
157
|
};
|
172
158
|
var handleClickArrow = function handleClickArrow() {
|
173
159
|
if (disabled || readOnly) {
|
@@ -356,24 +342,13 @@ var comboboxRoot = exports.comboboxRoot = function comboboxRoot(Root) {
|
|
356
342
|
// Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
|
357
343
|
// А переменную, содержащую сложные типы данных, нельзя помещать в deps.
|
358
344
|
}, [outerValue, internalValue, items]);
|
359
|
-
(0, _react.useEffect)(function () {
|
360
|
-
if (defaultValue) {
|
361
|
-
setInternalValue(defaultValue);
|
362
|
-
}
|
363
|
-
}, [defaultValue]);
|
364
345
|
return /*#__PURE__*/_react["default"].createElement(Root, {
|
365
346
|
size: size,
|
366
347
|
view: view,
|
367
348
|
labelPlacement: labelPlacement,
|
368
349
|
disabled: disabled,
|
369
350
|
readOnly: readOnly
|
370
|
-
},
|
371
|
-
name: name,
|
372
|
-
value: internalValue,
|
373
|
-
multiple: multiple,
|
374
|
-
onChange: onChange,
|
375
|
-
ref: ref
|
376
|
-
}), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(Context.Provider, {
|
351
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(Context.Provider, {
|
377
352
|
value: {
|
378
353
|
focusedPath: focusedPath,
|
379
354
|
checked: checked,
|
@@ -397,7 +372,7 @@ var comboboxRoot = exports.comboboxRoot = function comboboxRoot(Root) {
|
|
397
372
|
listWidth: listWidth,
|
398
373
|
target: function target(referenceRef) {
|
399
374
|
return /*#__PURE__*/_react["default"].createElement(_ui.StyledTextField, _extends({
|
400
|
-
ref:
|
375
|
+
ref: inputForkRef,
|
401
376
|
inputWrapperRef: referenceRef,
|
402
377
|
value: textValue,
|
403
378
|
onChange: handleTextValueChange,
|
@@ -20,7 +20,7 @@ var _Dropdown2 = /*#__PURE__*/require("./Dropdown.tokens");
|
|
20
20
|
var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
|
21
21
|
var _useHashMaps3 = /*#__PURE__*/require("./hooks/useHashMaps");
|
22
22
|
var _FloatingPopover = /*#__PURE__*/require("./FloatingPopover");
|
23
|
-
var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
|
23
|
+
var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "alwaysOpened", "portal"];
|
24
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
25
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
26
26
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
@@ -66,6 +66,8 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
|
|
66
66
|
variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
|
67
67
|
_ref$hasArrow = _ref.hasArrow,
|
68
68
|
hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
|
69
|
+
_ref$alwaysOpened = _ref.alwaysOpened,
|
70
|
+
alwaysOpened = _ref$alwaysOpened === void 0 ? false : _ref$alwaysOpened,
|
69
71
|
portal = _ref.portal,
|
70
72
|
rest = _objectWithoutProperties(_ref, _excluded);
|
71
73
|
var _useReducer = (0, _react.useReducer)(_pathReducer.pathReducer, []),
|
@@ -86,7 +88,7 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
|
|
86
88
|
|
87
89
|
// Логика работы при клике за пределами выпадающего списка
|
88
90
|
var targetRef = (0, _hooks.useOutsideClick)(function (event) {
|
89
|
-
if (!isCurrentListOpen || !closeOnOverlayClick) {
|
91
|
+
if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {
|
90
92
|
return;
|
91
93
|
}
|
92
94
|
dispatchPath({
|
@@ -100,7 +102,7 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
|
|
100
102
|
}
|
101
103
|
}, floatingPopoverRef);
|
102
104
|
var handleGlobalToggle = function handleGlobalToggle(opened, event) {
|
103
|
-
if (opened) {
|
105
|
+
if (alwaysOpened || opened) {
|
104
106
|
dispatchPath({
|
105
107
|
type: 'opened_first_level'
|
106
108
|
});
|
@@ -129,7 +131,7 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
|
|
129
131
|
onItemClick: onItemClick
|
130
132
|
}),
|
131
133
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
132
|
-
var isCurrentListOpen = Boolean(path[0]);
|
134
|
+
var isCurrentListOpen = alwaysOpened || Boolean(path[0]);
|
133
135
|
return /*#__PURE__*/_react["default"].createElement(Context.Provider, {
|
134
136
|
value: {
|
135
137
|
focusedPath: focusedPath,
|
@@ -353,11 +353,11 @@ const items = [
|
|
353
353
|
|
354
354
|
const SingleStory = (args: StorySelectProps) => {
|
355
355
|
const [value, setValue] = useState('');
|
356
|
+
|
356
357
|
return (
|
357
358
|
<div style={{ width: '400px' }}>
|
358
359
|
<Combobox
|
359
360
|
{...args}
|
360
|
-
name="mau"
|
361
361
|
items={items}
|
362
362
|
value={value}
|
363
363
|
onChange={setValue}
|
@@ -45,6 +45,14 @@ const meta: Meta<StoryDropdownProps> = {
|
|
45
45
|
type: 'select',
|
46
46
|
},
|
47
47
|
},
|
48
|
+
closeOnOverlayClick: {
|
49
|
+
control: { type: 'boolean' },
|
50
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
51
|
+
},
|
52
|
+
closeOnSelect: {
|
53
|
+
control: { type: 'boolean' },
|
54
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
55
|
+
},
|
48
56
|
},
|
49
57
|
args: {
|
50
58
|
size: 'm',
|
@@ -54,6 +62,7 @@ const meta: Meta<StoryDropdownProps> = {
|
|
54
62
|
offset: [0, 0],
|
55
63
|
listWidth: '',
|
56
64
|
hasArrow: true,
|
65
|
+
alwaysOpened: false,
|
57
66
|
closeOnOverlayClick: true,
|
58
67
|
closeOnSelect: true,
|
59
68
|
},
|
@@ -45,6 +45,14 @@ const meta: Meta<StoryDropdownProps> = {
|
|
45
45
|
type: 'select',
|
46
46
|
},
|
47
47
|
},
|
48
|
+
closeOnOverlayClick: {
|
49
|
+
control: { type: 'boolean' },
|
50
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
51
|
+
},
|
52
|
+
closeOnSelect: {
|
53
|
+
control: { type: 'boolean' },
|
54
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
55
|
+
},
|
48
56
|
},
|
49
57
|
args: {
|
50
58
|
size: 'm',
|
@@ -54,6 +62,7 @@ const meta: Meta<StoryDropdownProps> = {
|
|
54
62
|
offset: [0, 0],
|
55
63
|
listWidth: '',
|
56
64
|
hasArrow: true,
|
65
|
+
alwaysOpened: false,
|
57
66
|
closeOnOverlayClick: true,
|
58
67
|
closeOnSelect: true,
|
59
68
|
},
|
@@ -1,6 +1,5 @@
|
|
1
|
-
var _excluded = ["
|
1
|
+
var _excluded = ["multiple", "value", "onChange", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue"];
|
2
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
4
3
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
5
4
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
6
5
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
@@ -9,7 +8,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
9
8
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
10
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
11
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
12
|
-
import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef
|
11
|
+
import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';
|
13
12
|
import { safeUseId, useForkRef } from '@salutejs/plasma-core';
|
14
13
|
import { isEmpty } from '../../../utils';
|
15
14
|
import { useOutsideClick } from '../../../hooks';
|
@@ -24,21 +23,17 @@ import { getPathMap, getTreeMaps } from './hooks/getPathMaps';
|
|
24
23
|
import { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';
|
25
24
|
import { base as viewCSS } from './variations/_view/base';
|
26
25
|
import { base as sizeCSS } from './variations/_size/base';
|
27
|
-
import { Form } from './ui/Form/Form';
|
28
26
|
export var Context = /*#__PURE__*/createContext({});
|
29
27
|
|
30
28
|
/**
|
31
29
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
32
30
|
*/
|
33
|
-
|
34
31
|
export var comboboxRoot = function comboboxRoot(Root) {
|
35
32
|
return /*#__PURE__*/forwardRef(function (props, ref) {
|
36
33
|
var _valueToItemMap$get, _valueToItemMap$get2, _getItemByFocused;
|
37
|
-
var
|
38
|
-
multiple = props.multiple,
|
34
|
+
var multiple = props.multiple,
|
39
35
|
outerValue = props.value,
|
40
36
|
outerOnChange = props.onChange,
|
41
|
-
defaultValue = props.defaultValue,
|
42
37
|
isTargetAmount = props.isTargetAmount,
|
43
38
|
targetAmount = props.targetAmount,
|
44
39
|
items = props.items,
|
@@ -147,19 +142,9 @@ export var comboboxRoot = function comboboxRoot(Root) {
|
|
147
142
|
}, floatingPopoverRef);
|
148
143
|
var onChange = function onChange(newValue) {
|
149
144
|
if (outerOnChange) {
|
150
|
-
|
151
|
-
outerOnChange(newValue);
|
152
|
-
}
|
153
|
-
if (!name && multiple && Array.isArray(newValue)) {
|
154
|
-
outerOnChange(newValue);
|
155
|
-
}
|
156
|
-
if (name && _typeof(newValue) === 'object' && !Array.isArray(newValue)) {
|
157
|
-
outerOnChange(newValue);
|
158
|
-
}
|
159
|
-
}
|
160
|
-
if (typeof newValue === 'string' || Array.isArray(newValue)) {
|
161
|
-
setInternalValue(newValue);
|
145
|
+
outerOnChange(newValue);
|
162
146
|
}
|
147
|
+
setInternalValue(newValue);
|
163
148
|
};
|
164
149
|
var handleClickArrow = function handleClickArrow() {
|
165
150
|
if (disabled || readOnly) {
|
@@ -348,24 +333,13 @@ export var comboboxRoot = function comboboxRoot(Root) {
|
|
348
333
|
// Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
|
349
334
|
// А переменную, содержащую сложные типы данных, нельзя помещать в deps.
|
350
335
|
}, [outerValue, internalValue, items]);
|
351
|
-
useEffect(function () {
|
352
|
-
if (defaultValue) {
|
353
|
-
setInternalValue(defaultValue);
|
354
|
-
}
|
355
|
-
}, [defaultValue]);
|
356
336
|
return /*#__PURE__*/React.createElement(Root, {
|
357
337
|
size: size,
|
358
338
|
view: view,
|
359
339
|
labelPlacement: labelPlacement,
|
360
340
|
disabled: disabled,
|
361
341
|
readOnly: readOnly
|
362
|
-
},
|
363
|
-
name: name,
|
364
|
-
value: internalValue,
|
365
|
-
multiple: multiple,
|
366
|
-
onChange: onChange,
|
367
|
-
ref: ref
|
368
|
-
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Context.Provider, {
|
342
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Context.Provider, {
|
369
343
|
value: {
|
370
344
|
focusedPath: focusedPath,
|
371
345
|
checked: checked,
|
@@ -389,7 +363,7 @@ export var comboboxRoot = function comboboxRoot(Root) {
|
|
389
363
|
listWidth: listWidth,
|
390
364
|
target: function target(referenceRef) {
|
391
365
|
return /*#__PURE__*/React.createElement(StyledTextField, _extends({
|
392
|
-
ref:
|
366
|
+
ref: inputForkRef,
|
393
367
|
inputWrapperRef: referenceRef,
|
394
368
|
value: textValue,
|
395
369
|
onChange: handleTextValueChange,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
|
1
|
+
var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "alwaysOpened", "portal"];
|
2
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
3
3
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
4
4
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
@@ -57,6 +57,8 @@ export var dropdownRoot = function dropdownRoot(Root) {
|
|
57
57
|
variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
|
58
58
|
_ref$hasArrow = _ref.hasArrow,
|
59
59
|
hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
|
60
|
+
_ref$alwaysOpened = _ref.alwaysOpened,
|
61
|
+
alwaysOpened = _ref$alwaysOpened === void 0 ? false : _ref$alwaysOpened,
|
60
62
|
portal = _ref.portal,
|
61
63
|
rest = _objectWithoutProperties(_ref, _excluded);
|
62
64
|
var _useReducer = useReducer(pathReducer, []),
|
@@ -77,7 +79,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
|
|
77
79
|
|
78
80
|
// Логика работы при клике за пределами выпадающего списка
|
79
81
|
var targetRef = useOutsideClick(function (event) {
|
80
|
-
if (!isCurrentListOpen || !closeOnOverlayClick) {
|
82
|
+
if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {
|
81
83
|
return;
|
82
84
|
}
|
83
85
|
dispatchPath({
|
@@ -91,7 +93,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
|
|
91
93
|
}
|
92
94
|
}, floatingPopoverRef);
|
93
95
|
var handleGlobalToggle = function handleGlobalToggle(opened, event) {
|
94
|
-
if (opened) {
|
96
|
+
if (alwaysOpened || opened) {
|
95
97
|
dispatchPath({
|
96
98
|
type: 'opened_first_level'
|
97
99
|
});
|
@@ -120,7 +122,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
|
|
120
122
|
onItemClick: onItemClick
|
121
123
|
}),
|
122
124
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
123
|
-
var isCurrentListOpen = Boolean(path[0]);
|
125
|
+
var isCurrentListOpen = alwaysOpened || Boolean(path[0]);
|
124
126
|
return /*#__PURE__*/React.createElement(Context.Provider, {
|
125
127
|
value: {
|
126
128
|
focusedPath: focusedPath,
|
@@ -353,11 +353,11 @@ const items = [
|
|
353
353
|
|
354
354
|
const SingleStory = (args: StorySelectProps) => {
|
355
355
|
const [value, setValue] = useState('');
|
356
|
+
|
356
357
|
return (
|
357
358
|
<div style={{ width: '400px' }}>
|
358
359
|
<Combobox
|
359
360
|
{...args}
|
360
|
-
name="mau"
|
361
361
|
items={items}
|
362
362
|
value={value}
|
363
363
|
onChange={setValue}
|
@@ -45,6 +45,14 @@ const meta: Meta<StoryDropdownProps> = {
|
|
45
45
|
type: 'select',
|
46
46
|
},
|
47
47
|
},
|
48
|
+
closeOnOverlayClick: {
|
49
|
+
control: { type: 'boolean' },
|
50
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
51
|
+
},
|
52
|
+
closeOnSelect: {
|
53
|
+
control: { type: 'boolean' },
|
54
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
55
|
+
},
|
48
56
|
},
|
49
57
|
args: {
|
50
58
|
size: 'm',
|
@@ -54,6 +62,7 @@ const meta: Meta<StoryDropdownProps> = {
|
|
54
62
|
offset: [0, 0],
|
55
63
|
listWidth: '',
|
56
64
|
hasArrow: true,
|
65
|
+
alwaysOpened: false,
|
57
66
|
closeOnOverlayClick: true,
|
58
67
|
closeOnSelect: true,
|
59
68
|
},
|
@@ -45,6 +45,14 @@ const meta: Meta<StoryDropdownProps> = {
|
|
45
45
|
type: 'select',
|
46
46
|
},
|
47
47
|
},
|
48
|
+
closeOnOverlayClick: {
|
49
|
+
control: { type: 'boolean' },
|
50
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
51
|
+
},
|
52
|
+
closeOnSelect: {
|
53
|
+
control: { type: 'boolean' },
|
54
|
+
if: { arg: 'alwaysOpened', truthy: false },
|
55
|
+
},
|
48
56
|
},
|
49
57
|
args: {
|
50
58
|
size: 'm',
|
@@ -54,6 +62,7 @@ const meta: Meta<StoryDropdownProps> = {
|
|
54
62
|
offset: [0, 0],
|
55
63
|
listWidth: '',
|
56
64
|
hasArrow: true,
|
65
|
+
alwaysOpened: false,
|
57
66
|
closeOnOverlayClick: true,
|
58
67
|
closeOnSelect: true,
|
59
68
|
},
|
@@ -5,11 +5,11 @@ export declare const Context: React.Context<ItemContext>;
|
|
5
5
|
/**
|
6
6
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
7
7
|
*/
|
8
|
-
export declare const comboboxRoot: (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) => React.ForwardRefExoticComponent<ComboboxProps<import("./ui/Inner/ui/Item/Item.types").ItemOption> & React.RefAttributes<HTMLInputElement
|
8
|
+
export declare const comboboxRoot: (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) => React.ForwardRefExoticComponent<ComboboxProps<import("./ui/Inner/ui/Item/Item.types").ItemOption> & React.RefAttributes<HTMLInputElement>>;
|
9
9
|
export declare const comboboxConfig: {
|
10
10
|
name: string;
|
11
11
|
tag: string;
|
12
|
-
layout: (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) => React.ForwardRefExoticComponent<ComboboxProps<import("./ui/Inner/ui/Item/Item.types").ItemOption> & React.RefAttributes<HTMLInputElement
|
12
|
+
layout: (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) => React.ForwardRefExoticComponent<ComboboxProps<import("./ui/Inner/ui/Item/Item.types").ItemOption> & React.RefAttributes<HTMLInputElement>>;
|
13
13
|
base: import("@linaria/core").LinariaClassName;
|
14
14
|
variations: {
|
15
15
|
view: {
|