@hh.ru/magritte-ui-select 11.0.5 → 11.0.7

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.
@@ -23,7 +23,7 @@ import '@hh.ru/magritte-ui-typography';
23
23
  import '@hh.ru/magritte-ui-checkable-card/CheckableCardElement';
24
24
  import '@hh.ru/magritte-ui-checkbox-radio';
25
25
 
26
- var styles = {"select-bottom-sheet":"magritte-select-bottom-sheet___1RZDJ_11-0-5","selectBottomSheet":"magritte-select-bottom-sheet___1RZDJ_11-0-5","select-bottom-sheet_checkbox":"magritte-select-bottom-sheet_checkbox___hwTgo_11-0-5","selectBottomSheetCheckbox":"magritte-select-bottom-sheet_checkbox___hwTgo_11-0-5","select-bottom-sheet_radio":"magritte-select-bottom-sheet_radio___qvFFV_11-0-5","selectBottomSheetRadio":"magritte-select-bottom-sheet_radio___qvFFV_11-0-5","select-bottom-sheet_without-header":"magritte-select-bottom-sheet_without-header___KOKVh_11-0-5","selectBottomSheetWithoutHeader":"magritte-select-bottom-sheet_without-header___KOKVh_11-0-5","full-screen-placeholder":"magritte-full-screen-placeholder___zPC8k_11-0-5","fullScreenPlaceholder":"magritte-full-screen-placeholder___zPC8k_11-0-5","error-wrapper":"magritte-error-wrapper___P7jYg_11-0-5","errorWrapper":"magritte-error-wrapper___P7jYg_11-0-5"};
26
+ var styles = {"select-bottom-sheet":"magritte-select-bottom-sheet___1RZDJ_11-0-7","selectBottomSheet":"magritte-select-bottom-sheet___1RZDJ_11-0-7","select-bottom-sheet_checkbox":"magritte-select-bottom-sheet_checkbox___hwTgo_11-0-7","selectBottomSheetCheckbox":"magritte-select-bottom-sheet_checkbox___hwTgo_11-0-7","select-bottom-sheet_radio":"magritte-select-bottom-sheet_radio___qvFFV_11-0-7","selectBottomSheetRadio":"magritte-select-bottom-sheet_radio___qvFFV_11-0-7","select-bottom-sheet_without-header":"magritte-select-bottom-sheet_without-header___KOKVh_11-0-7","selectBottomSheetWithoutHeader":"magritte-select-bottom-sheet_without-header___KOKVh_11-0-7","full-screen-placeholder":"magritte-full-screen-placeholder___zPC8k_11-0-7","fullScreenPlaceholder":"magritte-full-screen-placeholder___zPC8k_11-0-7","error-wrapper":"magritte-error-wrapper___P7jYg_11-0-7","errorWrapper":"magritte-error-wrapper___P7jYg_11-0-7"};
27
27
 
28
28
  const SelectOptionDefault = ({ data, input, type, checked, plain, }) => {
29
29
  if (type === 'delimiter') {
package/SelectDrop.js CHANGED
@@ -19,7 +19,7 @@ import '@hh.ru/magritte-ui-typography';
19
19
  import '@hh.ru/magritte-ui-checkable-card/CheckableCardElement';
20
20
  import '@hh.ru/magritte-ui-checkbox-radio';
21
21
 
22
- var styles = {"select-drop-container-wrapper":"magritte-select-drop-container-wrapper___OHM0q_11-0-5","selectDropContainerWrapper":"magritte-select-drop-container-wrapper___OHM0q_11-0-5","select-drop-container":"magritte-select-drop-container___hee1p_11-0-5","selectDropContainer":"magritte-select-drop-container___hee1p_11-0-5","select-drop-container_plain":"magritte-select-drop-container_plain___766zl_11-0-5","selectDropContainerPlain":"magritte-select-drop-container_plain___766zl_11-0-5","select-drop":"magritte-select-drop___jn4O-_11-0-5","selectDrop":"magritte-select-drop___jn4O-_11-0-5","select-drop-header":"magritte-select-drop-header___fMmio_11-0-5","selectDropHeader":"magritte-select-drop-header___fMmio_11-0-5","select-drop_plain":"magritte-select-drop_plain___VL8Fz_11-0-5","selectDropPlain":"magritte-select-drop_plain___VL8Fz_11-0-5","label-option":"magritte-label-option___2N7t9_11-0-5","labelOption":"magritte-label-option___2N7t9_11-0-5","loading":"magritte-loading___AMiuq_11-0-5","hint":"magritte-hint___6qaFl_11-0-5"};
22
+ var styles = {"select-drop-container-wrapper":"magritte-select-drop-container-wrapper___OHM0q_11-0-7","selectDropContainerWrapper":"magritte-select-drop-container-wrapper___OHM0q_11-0-7","select-drop-container":"magritte-select-drop-container___hee1p_11-0-7","selectDropContainer":"magritte-select-drop-container___hee1p_11-0-7","select-drop-container_plain":"magritte-select-drop-container_plain___766zl_11-0-7","selectDropContainerPlain":"magritte-select-drop-container_plain___766zl_11-0-7","select-drop":"magritte-select-drop___jn4O-_11-0-7","selectDrop":"magritte-select-drop___jn4O-_11-0-7","select-drop-header":"magritte-select-drop-header___fMmio_11-0-7","selectDropHeader":"magritte-select-drop-header___fMmio_11-0-7","select-drop_plain":"magritte-select-drop_plain___VL8Fz_11-0-7","selectDropPlain":"magritte-select-drop_plain___VL8Fz_11-0-7","label-option":"magritte-label-option___2N7t9_11-0-7","labelOption":"magritte-label-option___2N7t9_11-0-7","loading":"magritte-loading___AMiuq_11-0-7","hint":"magritte-hint___6qaFl_11-0-7"};
23
23
 
24
24
  const SelectOptionDefault = ({ data, input, type, plain, checked, }) => {
25
25
  if (type === 'delimiter') {
@@ -6,7 +6,7 @@ import { VSpacing } from '@hh.ru/magritte-ui-spacing';
6
6
  import { Title } from '@hh.ru/magritte-ui-title';
7
7
  import { Text } from '@hh.ru/magritte-ui-typography';
8
8
 
9
- var styles = {"select-empty-hint":"magritte-select-empty-hint___B39XJ_11-0-5","selectEmptyHint":"magritte-select-empty-hint___B39XJ_11-0-5","icon":"magritte-icon___F0GQx_11-0-5","icon-init":"magritte-icon-init___GWK-V_11-0-5","iconInit":"magritte-icon-init___GWK-V_11-0-5","icon-search":"magritte-icon-search___ZsqO-_11-0-5","iconSearch":"magritte-icon-search___ZsqO-_11-0-5"};
9
+ var styles = {"select-empty-hint":"magritte-select-empty-hint___B39XJ_11-0-7","selectEmptyHint":"magritte-select-empty-hint___B39XJ_11-0-7","icon":"magritte-icon___F0GQx_11-0-7","icon-init":"magritte-icon-init___GWK-V_11-0-7","iconInit":"magritte-icon-init___GWK-V_11-0-7","icon-search":"magritte-icon-search___ZsqO-_11-0-7","iconSearch":"magritte-icon-search___ZsqO-_11-0-7"};
10
10
 
11
11
  const SelectEmptyHint = ({ title, titleElement, description, type }) => {
12
12
  return (jsxs("div", { className: styles.selectEmptyHint, children: [type === 'init' && (jsx("div", { className: classnames(styles.icon, styles.iconInit), children: jsx(MagnifierOutlinedSize24, {}) })), type === 'emptySearch' && (jsx("div", { className: classnames(styles.icon, styles.iconSearch), children: jsx(EmojiHalfsadOutlinedSize24, {}) })), jsx(VSpacing, { default: 32 }), jsx(Title, { Element: titleElement, size: "small", children: title }), jsx(VSpacing, { default: 8 }), Boolean(description) && (jsx(Text, { typography: "paragraph-2-regular", style: "secondary", children: description }))] }));
package/SelectError.js CHANGED
@@ -7,7 +7,7 @@ import { VSpacing } from '@hh.ru/magritte-ui-spacing';
7
7
  import { Title } from '@hh.ru/magritte-ui-title';
8
8
  import { Text } from '@hh.ru/magritte-ui-typography';
9
9
 
10
- var styles = {"error-container":"magritte-error-container___t9B5w_11-0-5","errorContainer":"magritte-error-container___t9B5w_11-0-5"};
10
+ var styles = {"error-container":"magritte-error-container___t9B5w_11-0-7","errorContainer":"magritte-error-container___t9B5w_11-0-7"};
11
11
 
12
12
  const SelectError = ({ innerErrorTrls, reload, }) => {
13
13
  const { isMobile } = useBreakpoint();
package/SelectModal.js CHANGED
@@ -22,7 +22,7 @@ import '@hh.ru/magritte-common-keyboard';
22
22
  import '@hh.ru/magritte-ui-checkable-card/CheckableCardElement';
23
23
  import '@hh.ru/magritte-ui-checkbox-radio';
24
24
 
25
- var styles = {"select-modal-wrapper":"magritte-select-modal-wrapper___5BhtC_11-0-5","selectModalWrapper":"magritte-select-modal-wrapper___5BhtC_11-0-5","select-modal":"magritte-select-modal___f9wc6_11-0-5","selectModal":"magritte-select-modal___f9wc6_11-0-5","select-modal_plain":"magritte-select-modal_plain___0rP39_11-0-5","selectModalPlain":"magritte-select-modal_plain___0rP39_11-0-5","label-option":"magritte-label-option___kFAuR_11-0-5","labelOption":"magritte-label-option___kFAuR_11-0-5","loading":"magritte-loading___AQ5gN_11-0-5","hint":"magritte-hint___doteJ_11-0-5"};
25
+ var styles = {"select-modal-wrapper":"magritte-select-modal-wrapper___5BhtC_11-0-7","selectModalWrapper":"magritte-select-modal-wrapper___5BhtC_11-0-7","select-modal":"magritte-select-modal___f9wc6_11-0-7","selectModal":"magritte-select-modal___f9wc6_11-0-7","select-modal_plain":"magritte-select-modal_plain___0rP39_11-0-7","selectModalPlain":"magritte-select-modal_plain___0rP39_11-0-7","label-option":"magritte-label-option___kFAuR_11-0-7","labelOption":"magritte-label-option___kFAuR_11-0-7","layer-full-height":"magritte-layer-full-height___cJX-K_11-0-7","layerFullHeight":"magritte-layer-full-height___cJX-K_11-0-7"};
26
26
 
27
27
  const SelectOptionDefault = ({ data, input, type, plain, checked, }) => {
28
28
  if (type === 'delimiter') {
@@ -131,7 +131,7 @@ const SelectModal = ({ type, name, multiple, applyChangesButton: _applyChangesBu
131
131
  }), options: searchable && (jsx(SearchInput, { clearable: true, size: "medium", value: searchValue, onChange: setSearchValue, "data-qa": "select-modal-search-input", autoComplete: "off" })), onClose: () => {
132
132
  setForcedState('focus');
133
133
  onCloseWithAlertCheck?.();
134
- }, actions: [jsx(CrossOutlinedSize24, { "data-qa": "select-modal-close", onClick: onCloseWithAlertCheck }, "1")], children: jsxs("div", { className: styles.selectModalWrapper, children: [internalError && innerErrorTrls && jsx(SelectError, { innerErrorTrls: innerErrorTrls, reload: reload }), emptyOptionsHintVisible && jsx("div", { className: styles.hint, children: emptyOptionsHint }), emptySearchOptionsHintVisible && jsx("div", { className: styles.hint, children: emptyOptionsSearchHint }), loading && (jsx("div", { className: styles.loading, children: jsx(Loader, { size: 24 }) })), optionsVisible && (jsx("div", { className: classnames(styles.selectModal, { [styles.selectModalPlain]: plain }), "data-qa": "magritte-select-option-list", children: optionList.map((option) => {
134
+ }, actions: [jsx(CrossOutlinedSize24, { "data-qa": "select-modal-close", onClick: onCloseWithAlertCheck }, "1")], children: jsxs("div", { className: styles.selectModalWrapper, children: [internalError && innerErrorTrls && (jsx("div", { className: styles.layerFullHeight, children: jsx(SelectError, { innerErrorTrls: innerErrorTrls, reload: reload }) })), emptyOptionsHintVisible && jsx("div", { className: styles.layerFullHeight, children: emptyOptionsHint }), emptySearchOptionsHintVisible && (jsx("div", { className: styles.layerFullHeight, children: emptyOptionsSearchHint })), loading && (jsx("div", { className: styles.layerFullHeight, children: jsx(Loader, { size: 24 }) })), optionsVisible && (jsx("div", { className: classnames(styles.selectModal, { [styles.selectModalPlain]: plain }), "data-qa": "magritte-select-option-list", children: optionList.map((option) => {
135
135
  const checked = Boolean(option.data && getChecked(option.data, values ?? []));
136
136
  const disabled = !checked && (option.disabled || isLimitExceeded);
137
137
  return (jsx(SelectOption, { name: name, checked: checked, onChange: handleChange, render: renderItem, disabled: disabled, type: option.type || type, plain: !!plain, multiple: multiple, "data-qa": optionDataQa, data: option.data }, option.data.value));
@@ -1 +1 @@
1
- {"version":3,"file":"SelectModal.js","sources":["../src/SelectModal.tsx"],"sourcesContent":["import { useCallback, ReactElement, cloneElement, ComponentProps, ReactNode, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { StaticDataFetcherItem } from '@hh.ru/magritte-common-data-provider';\nimport { ActionBar } from '@hh.ru/magritte-ui-action-bar';\nimport { Button } from '@hh.ru/magritte-ui-button';\nimport { Cell, CellText } from '@hh.ru/magritte-ui-cell';\nimport { CrossOutlinedSize24, CheckOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';\nimport { SearchInput } from '@hh.ru/magritte-ui-input';\nimport { Loader } from '@hh.ru/magritte-ui-loader';\nimport { Modal } from '@hh.ru/magritte-ui-modal';\nimport { SelectError } from '@hh.ru/magritte-ui-select/SelectError';\nimport { SelectOption } from '@hh.ru/magritte-ui-select/SelectOption';\nimport { getChecked } from '@hh.ru/magritte-ui-select/getChecked';\nimport { isArraysEquals } from '@hh.ru/magritte-ui-select/isArraysEquals';\nimport {\n OnChangeAction,\n SelectModalProps,\n RenderOptionTypeProps,\n RenderButtonsContainerProps,\n} from '@hh.ru/magritte-ui-select/types';\n\nimport styles from './select-modal.less';\n\nconst SelectOptionDefault = <DataType extends StaticDataFetcherItem>({\n data,\n input,\n type,\n plain,\n checked,\n}: RenderOptionTypeProps<DataType>): ReactElement => {\n if (type === 'delimiter') {\n return (\n <CellText maxLines={1} style=\"secondary\">\n {data.text}\n </CellText>\n );\n }\n if (type === 'label') {\n return (\n <Cell\n Element=\"div\"\n right={checked && plain ? <CheckOutlinedSize24 /> : undefined}\n vertPadding={plain}\n showDivider={plain}\n >\n <div className={classnames({ [styles.labelOption]: !plain })}>\n <CellText maxLines={1}>{data.text}</CellText>\n </div>\n </Cell>\n );\n }\n return (\n <Cell Element=\"div\" align=\"center\" left={input} vertPadding={plain} showDivider={plain}>\n <CellText maxLines={1}>{data.text}</CellText>\n </Cell>\n );\n};\n\nconst RenderButtonsContainerDefault = ({\n applyChangesButton,\n clearButton,\n isError,\n emptyOptionsHintVisible,\n}: RenderButtonsContainerProps): ReactNode => {\n if (isError || emptyOptionsHintVisible) {\n return null;\n }\n const primaryActions = [applyChangesButton, clearButton].filter((btn) => btn);\n if (primaryActions.length === 0) {\n return null;\n }\n return <ActionBar secondaryActions={clearButton} primaryActions={applyChangesButton} />;\n};\n\nexport const SelectModal = <MultipleType extends boolean, DataType extends StaticDataFetcherItem>({\n type,\n name,\n multiple,\n applyChangesButton: _applyChangesButton,\n clearButton: _clearButton,\n useInitialValuesOnClearAction,\n loading,\n renderItem = SelectOptionDefault,\n renderButtonsContainer = RenderButtonsContainerDefault,\n visible,\n optionList,\n optionsListRef,\n searchValue,\n setSearchValue,\n value: values,\n onChange,\n onClose,\n clearSelectedValues,\n setInitialValues,\n isLimitExceeded,\n plain,\n searchable,\n setForcedState,\n setSelectedValues,\n emptyOptionsHint,\n emptyOptionsSearchHint,\n onApply,\n onClear,\n searchInProgress,\n internalError,\n reload,\n innerErrorTrls,\n optionDataQa,\n renderAlertOnExitWithoutSaving,\n initialValuesOnOpening,\n internalLoading,\n ...modalProps\n}: SelectModalProps<MultipleType, DataType>): ReactElement => {\n const [alertVisible, setAlertVisible] = useState(false);\n const onCloseAlert = () => setAlertVisible(false);\n const showAlertOnExitWithoutSaving = Boolean(renderAlertOnExitWithoutSaving);\n\n const onCloseWithAlertCheck = () => {\n if (showAlertOnExitWithoutSaving && multiple) {\n // eslint-disable-next-line no-nested-ternary\n const currentValues = Array.isArray(values)\n ? values.map((item) => item.value)\n : values\n ? [values.value]\n : [];\n const haveUnsavingChanges = !isArraysEquals<string>(\n initialValuesOnOpening.current?.map((item) => item.value) ?? [],\n currentValues\n );\n if (haveUnsavingChanges) {\n setAlertVisible(true);\n } else {\n onClose?.();\n }\n } else {\n onClose?.();\n }\n };\n\n const handleChange: OnChangeAction<DataType> = useCallback(\n (newValue, needToPut) => {\n onChange(newValue, needToPut);\n if (!multiple) {\n onClose?.();\n }\n setForcedState(null);\n },\n [multiple, onChange, onClose, setForcedState]\n );\n\n const clearSelectedValuesAndClose = () => {\n if (useInitialValuesOnClearAction) {\n setInitialValues();\n } else {\n clearSelectedValues();\n }\n onClose?.();\n };\n const clearButton =\n _clearButton &&\n cloneElement(_clearButton, {\n key: 'clearButton',\n size: 'medium',\n 'data-qa': 'magritte-select-clear-action',\n disabled: loading,\n onClick: () => {\n clearSelectedValuesAndClose();\n onClear?.();\n },\n } as Partial<ComponentProps<typeof Button>>);\n const needAddChangesButton = multiple && _applyChangesButton;\n const applyChangesButton =\n needAddChangesButton &&\n cloneElement(_applyChangesButton, {\n key: 'applyChangesButton',\n size: 'medium',\n 'data-qa': 'magritte-select-apply',\n disabled: loading,\n onClick: () => {\n setSelectedValues();\n onClose?.();\n onApply?.({ isMobile: false, searchValue });\n },\n } as Partial<ComponentProps<typeof Button>>);\n\n const emptyOptionsHintVisible =\n optionList.length === 0 &&\n !searchValue &&\n !!emptyOptionsHint &&\n !loading &&\n !searchInProgress &&\n !internalError;\n const emptySearchOptionsHintVisible = !!(\n optionList.length === 0 &&\n searchValue &&\n !!emptyOptionsSearchHint &&\n !loading &&\n !searchInProgress &&\n !internalError\n );\n\n const optionsVisible = !loading && !emptySearchOptionsHintVisible && !emptyOptionsHintVisible && !internalError;\n\n return (\n <>\n <Modal\n {...modalProps}\n size={modalProps?.size || 'small'}\n height={searchable ? 'full-screen' : modalProps?.height}\n ref={optionsListRef}\n visible={visible}\n footer={renderButtonsContainer({\n applyChangesButton,\n clearButton,\n searchValue,\n optionsCount: optionList.length,\n loading,\n isError: Boolean(internalError && innerErrorTrls),\n emptyOptionsHintVisible: emptyOptionsHintVisible || emptySearchOptionsHintVisible,\n })}\n options={\n searchable && (\n <SearchInput\n clearable\n size=\"medium\"\n value={searchValue}\n onChange={setSearchValue}\n data-qa=\"select-modal-search-input\"\n autoComplete=\"off\"\n />\n )\n }\n onClose={() => {\n setForcedState('focus');\n onCloseWithAlertCheck?.();\n }}\n actions={[<CrossOutlinedSize24 key=\"1\" data-qa=\"select-modal-close\" onClick={onCloseWithAlertCheck} />]}\n >\n <div className={styles.selectModalWrapper}>\n {internalError && innerErrorTrls && <SelectError innerErrorTrls={innerErrorTrls} reload={reload} />}\n {emptyOptionsHintVisible && <div className={styles.hint}>{emptyOptionsHint}</div>}\n {emptySearchOptionsHintVisible && <div className={styles.hint}>{emptyOptionsSearchHint}</div>}\n {loading && (\n <div className={styles.loading}>\n <Loader size={24} />\n </div>\n )}\n {optionsVisible && (\n <div\n className={classnames(styles.selectModal, { [styles.selectModalPlain]: plain })}\n data-qa=\"magritte-select-option-list\"\n >\n {optionList.map((option) => {\n const checked = Boolean(option.data && getChecked(option.data, values ?? []));\n const disabled = !checked && (option.disabled || isLimitExceeded);\n return (\n <SelectOption\n key={option.data.value}\n name={name}\n checked={checked}\n onChange={handleChange}\n render={renderItem}\n disabled={disabled}\n type={option.type || type}\n plain={!!plain}\n multiple={multiple}\n data-qa={optionDataQa}\n data={option.data}\n />\n );\n })}\n </div>\n )}\n </div>\n </Modal>\n {renderAlertOnExitWithoutSaving?.({\n alertVisible,\n onCloseAlert,\n onClosePickerAndAlert: () => {\n onCloseAlert();\n onClose?.();\n },\n })}\n </>\n );\n};\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"SelectModal.js","sources":["../src/SelectModal.tsx"],"sourcesContent":["import { useCallback, ReactElement, cloneElement, ComponentProps, ReactNode, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { StaticDataFetcherItem } from '@hh.ru/magritte-common-data-provider';\nimport { ActionBar } from '@hh.ru/magritte-ui-action-bar';\nimport { Button } from '@hh.ru/magritte-ui-button';\nimport { Cell, CellText } from '@hh.ru/magritte-ui-cell';\nimport { CrossOutlinedSize24, CheckOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';\nimport { SearchInput } from '@hh.ru/magritte-ui-input';\nimport { Loader } from '@hh.ru/magritte-ui-loader';\nimport { Modal } from '@hh.ru/magritte-ui-modal';\nimport { SelectError } from '@hh.ru/magritte-ui-select/SelectError';\nimport { SelectOption } from '@hh.ru/magritte-ui-select/SelectOption';\nimport { getChecked } from '@hh.ru/magritte-ui-select/getChecked';\nimport { isArraysEquals } from '@hh.ru/magritte-ui-select/isArraysEquals';\nimport {\n OnChangeAction,\n SelectModalProps,\n RenderOptionTypeProps,\n RenderButtonsContainerProps,\n} from '@hh.ru/magritte-ui-select/types';\n\nimport styles from './select-modal.less';\n\nconst SelectOptionDefault = <DataType extends StaticDataFetcherItem>({\n data,\n input,\n type,\n plain,\n checked,\n}: RenderOptionTypeProps<DataType>): ReactElement => {\n if (type === 'delimiter') {\n return (\n <CellText maxLines={1} style=\"secondary\">\n {data.text}\n </CellText>\n );\n }\n if (type === 'label') {\n return (\n <Cell\n Element=\"div\"\n right={checked && plain ? <CheckOutlinedSize24 /> : undefined}\n vertPadding={plain}\n showDivider={plain}\n >\n <div className={classnames({ [styles.labelOption]: !plain })}>\n <CellText maxLines={1}>{data.text}</CellText>\n </div>\n </Cell>\n );\n }\n return (\n <Cell Element=\"div\" align=\"center\" left={input} vertPadding={plain} showDivider={plain}>\n <CellText maxLines={1}>{data.text}</CellText>\n </Cell>\n );\n};\n\nconst RenderButtonsContainerDefault = ({\n applyChangesButton,\n clearButton,\n isError,\n emptyOptionsHintVisible,\n}: RenderButtonsContainerProps): ReactNode => {\n if (isError || emptyOptionsHintVisible) {\n return null;\n }\n const primaryActions = [applyChangesButton, clearButton].filter((btn) => btn);\n if (primaryActions.length === 0) {\n return null;\n }\n return <ActionBar secondaryActions={clearButton} primaryActions={applyChangesButton} />;\n};\n\nexport const SelectModal = <MultipleType extends boolean, DataType extends StaticDataFetcherItem>({\n type,\n name,\n multiple,\n applyChangesButton: _applyChangesButton,\n clearButton: _clearButton,\n useInitialValuesOnClearAction,\n loading,\n renderItem = SelectOptionDefault,\n renderButtonsContainer = RenderButtonsContainerDefault,\n visible,\n optionList,\n optionsListRef,\n searchValue,\n setSearchValue,\n value: values,\n onChange,\n onClose,\n clearSelectedValues,\n setInitialValues,\n isLimitExceeded,\n plain,\n searchable,\n setForcedState,\n setSelectedValues,\n emptyOptionsHint,\n emptyOptionsSearchHint,\n onApply,\n onClear,\n searchInProgress,\n internalError,\n reload,\n innerErrorTrls,\n optionDataQa,\n renderAlertOnExitWithoutSaving,\n initialValuesOnOpening,\n internalLoading,\n ...modalProps\n}: SelectModalProps<MultipleType, DataType>): ReactElement => {\n const [alertVisible, setAlertVisible] = useState(false);\n const onCloseAlert = () => setAlertVisible(false);\n const showAlertOnExitWithoutSaving = Boolean(renderAlertOnExitWithoutSaving);\n\n const onCloseWithAlertCheck = () => {\n if (showAlertOnExitWithoutSaving && multiple) {\n // eslint-disable-next-line no-nested-ternary\n const currentValues = Array.isArray(values)\n ? values.map((item) => item.value)\n : values\n ? [values.value]\n : [];\n const haveUnsavingChanges = !isArraysEquals<string>(\n initialValuesOnOpening.current?.map((item) => item.value) ?? [],\n currentValues\n );\n if (haveUnsavingChanges) {\n setAlertVisible(true);\n } else {\n onClose?.();\n }\n } else {\n onClose?.();\n }\n };\n\n const handleChange: OnChangeAction<DataType> = useCallback(\n (newValue, needToPut) => {\n onChange(newValue, needToPut);\n if (!multiple) {\n onClose?.();\n }\n setForcedState(null);\n },\n [multiple, onChange, onClose, setForcedState]\n );\n\n const clearSelectedValuesAndClose = () => {\n if (useInitialValuesOnClearAction) {\n setInitialValues();\n } else {\n clearSelectedValues();\n }\n onClose?.();\n };\n const clearButton =\n _clearButton &&\n cloneElement(_clearButton, {\n key: 'clearButton',\n size: 'medium',\n 'data-qa': 'magritte-select-clear-action',\n disabled: loading,\n onClick: () => {\n clearSelectedValuesAndClose();\n onClear?.();\n },\n } as Partial<ComponentProps<typeof Button>>);\n const needAddChangesButton = multiple && _applyChangesButton;\n const applyChangesButton =\n needAddChangesButton &&\n cloneElement(_applyChangesButton, {\n key: 'applyChangesButton',\n size: 'medium',\n 'data-qa': 'magritte-select-apply',\n disabled: loading,\n onClick: () => {\n setSelectedValues();\n onClose?.();\n onApply?.({ isMobile: false, searchValue });\n },\n } as Partial<ComponentProps<typeof Button>>);\n\n const emptyOptionsHintVisible =\n optionList.length === 0 &&\n !searchValue &&\n !!emptyOptionsHint &&\n !loading &&\n !searchInProgress &&\n !internalError;\n const emptySearchOptionsHintVisible = !!(\n optionList.length === 0 &&\n searchValue &&\n !!emptyOptionsSearchHint &&\n !loading &&\n !searchInProgress &&\n !internalError\n );\n\n const optionsVisible = !loading && !emptySearchOptionsHintVisible && !emptyOptionsHintVisible && !internalError;\n\n return (\n <>\n <Modal\n {...modalProps}\n size={modalProps?.size || 'small'}\n height={searchable ? 'full-screen' : modalProps?.height}\n ref={optionsListRef}\n visible={visible}\n footer={renderButtonsContainer({\n applyChangesButton,\n clearButton,\n searchValue,\n optionsCount: optionList.length,\n loading,\n isError: Boolean(internalError && innerErrorTrls),\n emptyOptionsHintVisible: emptyOptionsHintVisible || emptySearchOptionsHintVisible,\n })}\n options={\n searchable && (\n <SearchInput\n clearable\n size=\"medium\"\n value={searchValue}\n onChange={setSearchValue}\n data-qa=\"select-modal-search-input\"\n autoComplete=\"off\"\n />\n )\n }\n onClose={() => {\n setForcedState('focus');\n onCloseWithAlertCheck?.();\n }}\n actions={[<CrossOutlinedSize24 key=\"1\" data-qa=\"select-modal-close\" onClick={onCloseWithAlertCheck} />]}\n >\n <div className={styles.selectModalWrapper}>\n {internalError && innerErrorTrls && (\n <div className={styles.layerFullHeight}>\n <SelectError innerErrorTrls={innerErrorTrls} reload={reload} />\n </div>\n )}\n {emptyOptionsHintVisible && <div className={styles.layerFullHeight}>{emptyOptionsHint}</div>}\n {emptySearchOptionsHintVisible && (\n <div className={styles.layerFullHeight}>{emptyOptionsSearchHint}</div>\n )}\n {loading && (\n <div className={styles.layerFullHeight}>\n <Loader size={24} />\n </div>\n )}\n {optionsVisible && (\n <div\n className={classnames(styles.selectModal, { [styles.selectModalPlain]: plain })}\n data-qa=\"magritte-select-option-list\"\n >\n {optionList.map((option) => {\n const checked = Boolean(option.data && getChecked(option.data, values ?? []));\n const disabled = !checked && (option.disabled || isLimitExceeded);\n return (\n <SelectOption\n key={option.data.value}\n name={name}\n checked={checked}\n onChange={handleChange}\n render={renderItem}\n disabled={disabled}\n type={option.type || type}\n plain={!!plain}\n multiple={multiple}\n data-qa={optionDataQa}\n data={option.data}\n />\n );\n })}\n </div>\n )}\n </div>\n </Modal>\n {renderAlertOnExitWithoutSaving?.({\n alertVisible,\n onCloseAlert,\n onClosePickerAndAlert: () => {\n onCloseAlert();\n onClose?.();\n },\n })}\n </>\n );\n};\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
package/SelectOption.js CHANGED
@@ -7,7 +7,7 @@ import { CheckableCardElement } from '@hh.ru/magritte-ui-checkable-card/Checkabl
7
7
  import { Radio, Checkbox } from '@hh.ru/magritte-ui-checkbox-radio';
8
8
  import { Text } from '@hh.ru/magritte-ui-typography';
9
9
 
10
- var styles = {"select-option-plain":"magritte-select-option-plain___dfz4a_11-0-5","selectOptionPlain":"magritte-select-option-plain___dfz4a_11-0-5","select-delimiter":"magritte-select-delimiter___WyeR6_11-0-5","selectDelimiter":"magritte-select-delimiter___WyeR6_11-0-5"};
10
+ var styles = {"select-option-plain":"magritte-select-option-plain___dfz4a_11-0-7","selectOptionPlain":"magritte-select-option-plain___dfz4a_11-0-7","select-delimiter":"magritte-select-delimiter___WyeR6_11-0-7","selectDelimiter":"magritte-select-delimiter___WyeR6_11-0-7"};
11
11
 
12
12
  const CheckableComponent = ({ type, value, checked, name, onChange, 'data-qa': dataQa, }) => {
13
13
  if (type === 'label') {
package/index.css CHANGED
@@ -1,4 +1,4 @@
1
- .magritte-error-container___t9B5w_11-0-5{
1
+ .magritte-error-container___t9B5w_11-0-7{
2
2
  display:flex;
3
3
  flex-direction:column;
4
4
  align-items:center;
@@ -6,22 +6,22 @@
6
6
  justify-content:center;
7
7
  }
8
8
  @media (min-width: 1020px){
9
- body.magritte-old-layout .magritte-error-container___t9B5w_11-0-5{
9
+ body.magritte-old-layout .magritte-error-container___t9B5w_11-0-7{
10
10
  min-height:320px;
11
11
  height:auto;
12
12
  }
13
13
  }
14
14
  @media (min-width: 1024px){
15
- body:not(.magritte-old-layout) .magritte-error-container___t9B5w_11-0-5{
15
+ body:not(.magritte-old-layout) .magritte-error-container___t9B5w_11-0-7{
16
16
  min-height:320px;
17
17
  height:auto;
18
18
  }
19
19
  }
20
20
 
21
- .magritte-select-option-plain___dfz4a_11-0-5:hover{
21
+ .magritte-select-option-plain___dfz4a_11-0-7:hover{
22
22
  cursor:pointer;
23
23
  }
24
- .magritte-select-delimiter___WyeR6_11-0-5{
24
+ .magritte-select-delimiter___WyeR6_11-0-7{
25
25
  padding-left:16px;
26
26
  padding-top:12px;
27
27
  }
@@ -29,27 +29,27 @@
29
29
  :root{
30
30
  --magritte-static-space-400-v21-4-5:16px;
31
31
  }
32
- .magritte-select-bottom-sheet___1RZDJ_11-0-5{
32
+ .magritte-select-bottom-sheet___1RZDJ_11-0-7{
33
33
  display:flex;
34
34
  flex-direction:column;
35
35
  padding:0 var(--magritte-static-space-400-v21-4-5);
36
36
  padding-bottom:16px;
37
37
  }
38
- .magritte-select-bottom-sheet_checkbox___hwTgo_11-0-5,
39
- .magritte-select-bottom-sheet_radio___qvFFV_11-0-5{
38
+ .magritte-select-bottom-sheet_checkbox___hwTgo_11-0-7,
39
+ .magritte-select-bottom-sheet_radio___qvFFV_11-0-7{
40
40
  gap:12px;
41
41
  }
42
- .magritte-select-bottom-sheet_without-header___KOKVh_11-0-5{
42
+ .magritte-select-bottom-sheet_without-header___KOKVh_11-0-7{
43
43
  padding-top:16px;
44
44
  }
45
- .magritte-full-screen-placeholder___zPC8k_11-0-5{
45
+ .magritte-full-screen-placeholder___zPC8k_11-0-7{
46
46
  display:flex;
47
47
  flex-direction:column;
48
48
  align-items:center;
49
49
  height:100%;
50
50
  justify-content:center;
51
51
  }
52
- .magritte-error-wrapper___P7jYg_11-0-5{
52
+ .magritte-error-wrapper___P7jYg_11-0-7{
53
53
  height:100%;
54
54
  }
55
55
 
@@ -57,44 +57,44 @@
57
57
  --magritte-static-space-300-v21-4-5:12px;
58
58
  --magritte-static-space-600-v21-4-5:24px;
59
59
  }
60
- .magritte-select-drop-container-wrapper___OHM0q_11-0-5{
60
+ .magritte-select-drop-container-wrapper___OHM0q_11-0-7{
61
61
  display:flex;
62
62
  flex-direction:column;
63
63
  }
64
- .magritte-select-drop-container___hee1p_11-0-5{
64
+ .magritte-select-drop-container___hee1p_11-0-7{
65
65
  display:flex;
66
66
  flex-direction:column;
67
67
  padding:var(--magritte-static-space-300-v21-4-5);
68
68
  margin:calc(-1 * var(--magritte-static-space-300-v21-4-5));
69
69
  }
70
- .magritte-select-drop-container_plain___766zl_11-0-5{
70
+ .magritte-select-drop-container_plain___766zl_11-0-7{
71
71
  padding:var(--magritte-static-space-600-v21-4-5);
72
72
  margin:calc(-1 * var(--magritte-static-space-600-v21-4-5));
73
73
  }
74
- .magritte-select-drop___jn4O-_11-0-5{
74
+ .magritte-select-drop___jn4O-_11-0-7{
75
75
  display:flex;
76
76
  flex-direction:column;
77
77
  gap:8px;
78
78
  }
79
- .magritte-select-drop-header___fMmio_11-0-5{
79
+ .magritte-select-drop-header___fMmio_11-0-7{
80
80
  display:flex;
81
81
  flex-direction:column;
82
82
  margin-bottom:8px;
83
83
  }
84
- .magritte-select-drop_plain___VL8Fz_11-0-5{
84
+ .magritte-select-drop_plain___VL8Fz_11-0-7{
85
85
  gap:16px;
86
86
  }
87
- .magritte-label-option___2N7t9_11-0-5{
87
+ .magritte-label-option___2N7t9_11-0-7{
88
88
  display:flex;
89
89
  justify-content:center;
90
90
  }
91
- .magritte-loading___AMiuq_11-0-5{
91
+ .magritte-loading___AMiuq_11-0-7{
92
92
  display:flex;
93
93
  align-items:center;
94
94
  height:150px;
95
95
  justify-content:center;
96
96
  }
97
- .magritte-hint___6qaFl_11-0-5{
97
+ .magritte-hint___6qaFl_11-0-7{
98
98
  display:flex;
99
99
  flex-direction:column;
100
100
  align-items:center;
@@ -102,34 +102,30 @@
102
102
  justify-content:center;
103
103
  }
104
104
 
105
- .magritte-select-modal-wrapper___5BhtC_11-0-5{
105
+ .magritte-select-modal-wrapper___5BhtC_11-0-7{
106
106
  display:flex;
107
107
  flex-direction:column;
108
+ flex-grow:1;
108
109
  }
109
- .magritte-select-modal___f9wc6_11-0-5{
110
+ .magritte-select-modal___f9wc6_11-0-7{
110
111
  display:flex;
111
112
  flex-direction:column;
112
113
  gap:12px;
113
114
  }
114
- .magritte-select-modal_plain___0rP39_11-0-5{
115
+ .magritte-select-modal_plain___0rP39_11-0-7{
115
116
  gap:0;
116
117
  }
117
- .magritte-label-option___kFAuR_11-0-5{
118
+ .magritte-label-option___kFAuR_11-0-7{
118
119
  display:flex;
119
120
  justify-content:center;
120
121
  }
121
- .magritte-loading___AQ5gN_11-0-5{
122
- display:flex;
123
- align-items:center;
124
- min-height:320px;
125
- justify-content:center;
126
- }
127
- .magritte-hint___doteJ_11-0-5{
122
+ .magritte-layer-full-height___cJX-K_11-0-7{
128
123
  display:flex;
129
124
  flex-direction:column;
130
125
  align-items:center;
131
- min-height:320px;
132
126
  justify-content:center;
127
+ margin-top:auto;
128
+ margin-bottom:auto;
133
129
  }
134
130
 
135
131
  :root{
@@ -144,14 +140,14 @@
144
140
  --magritte-color-icon-tertiary-v21-4-5:#767676;
145
141
  --magritte-color-icon-accent-v21-4-5:#5e9eff;
146
142
  }
147
- .magritte-select-empty-hint___B39XJ_11-0-5{
143
+ .magritte-select-empty-hint___B39XJ_11-0-7{
148
144
  display:flex;
149
145
  flex-direction:column;
150
146
  justify-content:center;
151
147
  align-content:center;
152
148
  align-items:center;
153
149
  }
154
- .magritte-icon___F0GQx_11-0-5{
150
+ .magritte-icon___F0GQx_11-0-7{
155
151
  display:flex;
156
152
  align-items:center;
157
153
  justify-content:center;
@@ -159,11 +155,11 @@
159
155
  height:48px;
160
156
  border-radius:50%;
161
157
  }
162
- .magritte-icon-init___GWK-V_11-0-5{
158
+ .magritte-icon-init___GWK-V_11-0-7{
163
159
  background-color:var(--magritte-color-background-accent-secondary-v21-4-5);
164
160
  --magritte-ui-icon-color-override:var(--magritte-color-icon-accent-v21-4-5);
165
161
  }
166
- .magritte-icon-search___ZsqO-_11-0-5{
162
+ .magritte-icon-search___ZsqO-_11-0-7{
167
163
  background-color:var(--magritte-color-background-secondary-v21-4-5);
168
164
  --magritte-ui-icon-color-override:var(--magritte-color-icon-tertiary-v21-4-5);
169
165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-select",
3
- "version": "11.0.5",
3
+ "version": "11.0.7",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -31,7 +31,7 @@
31
31
  "@hh.ru/magritte-common-keyboard": "4.1.2",
32
32
  "@hh.ru/magritte-common-use-multiple-refs": "1.1.7",
33
33
  "@hh.ru/magritte-ui-action-bar": "3.0.16",
34
- "@hh.ru/magritte-ui-bottom-sheet": "7.2.2",
34
+ "@hh.ru/magritte-ui-bottom-sheet": "7.2.3",
35
35
  "@hh.ru/magritte-ui-breakpoint": "5.0.2",
36
36
  "@hh.ru/magritte-ui-button": "5.3.6",
37
37
  "@hh.ru/magritte-ui-button-stack": "2.1.56",
@@ -40,9 +40,9 @@
40
40
  "@hh.ru/magritte-ui-checkbox-radio": "3.0.52",
41
41
  "@hh.ru/magritte-ui-drop": "9.0.6",
42
42
  "@hh.ru/magritte-ui-icon": "11.0.3",
43
- "@hh.ru/magritte-ui-input": "7.2.8",
43
+ "@hh.ru/magritte-ui-input": "7.2.9",
44
44
  "@hh.ru/magritte-ui-loader": "1.3.33",
45
- "@hh.ru/magritte-ui-modal": "8.1.3",
45
+ "@hh.ru/magritte-ui-modal": "8.1.5",
46
46
  "@hh.ru/magritte-ui-navigation-bar": "9.0.8",
47
47
  "@hh.ru/magritte-ui-spacing": "2.0.50",
48
48
  "@hh.ru/magritte-ui-theme-provider": "1.1.47",
@@ -50,5 +50,5 @@
50
50
  "@hh.ru/magritte-ui-trigger": "3.1.8",
51
51
  "@hh.ru/magritte-ui-typography": "3.0.38"
52
52
  },
53
- "gitHead": "377ae78e5a7ae77f0edf0e7f8c46125074456e55"
53
+ "gitHead": "6b7d02b2f25e620dedb338562e3d06adf77fba26"
54
54
  }