@skbkontur/react-ui 5.3.8 → 5.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -2
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +1 -0
- package/cjs/components/DateInput/DateInput.js +4 -2
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +1 -0
- package/cjs/components/Loader/Loader.js +5 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +3 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/internal/DateSelect/DateSelect.js +1 -1
- package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
- package/cjs/internal/ThemePlayground/Playground.js +5 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/lib/utils.d.ts +9 -0
- package/cjs/lib/utils.js +17 -1
- package/cjs/lib/utils.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +3 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +1 -0
- package/components/Loader/Loader/Loader.js +2 -1
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +1 -0
- package/components/SidePage/SidePage/SidePage.js +2 -2
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
- package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
- package/internal/ThemePlayground/Playground/Playground.js +4 -2
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/lib/utils/utils.js +13 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +9 -0
- package/package.json +1 -3
|
@@ -23,6 +23,7 @@ import { styles } from "../DateInput.styles";
|
|
|
23
23
|
import { Actions, extractAction } from "../helpers/DateInputKeyboardActions";
|
|
24
24
|
import { InternalDateMediator } from "../helpers/InternalDateMediator";
|
|
25
25
|
export var DateInputDataTids = {
|
|
26
|
+
root: 'DateInput__root',
|
|
26
27
|
icon: 'DateInput__icon'
|
|
27
28
|
};
|
|
28
29
|
|
|
@@ -119,7 +120,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
119
120
|
focused: false,
|
|
120
121
|
selected: null,
|
|
121
122
|
inputMode: false
|
|
122
|
-
});
|
|
123
|
+
}, false);
|
|
123
124
|
};
|
|
124
125
|
_this.handleBlur = function (e) {
|
|
125
126
|
_this.resetFocus();
|
|
@@ -386,6 +387,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
386
387
|
}, this.props), /*#__PURE__*/React.createElement(FocusControlWrapper, {
|
|
387
388
|
onBlurWhenDisabled: this.resetFocus
|
|
388
389
|
}, /*#__PURE__*/React.createElement(InputLikeText, {
|
|
390
|
+
"data-tid": DateInputDataTids.root,
|
|
389
391
|
id: this.props.id,
|
|
390
392
|
width: width,
|
|
391
393
|
ref: this.inputLikeTextRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactDOM","globalObject","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","FocusControlWrapper","CalendarIcon","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","_dec","_class","_DateInput","_React$Component","props","_this","call","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","createElement","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends","emitChange","version","search","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","featureFlags","dateInputAllowInvalidValuesInDays","dateInputFixSameNumberTypingOnRefocus","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","Consumer","flags","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","rootNodeRef","setRootNode","onBlurWhenDisabled","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName"],"sources":["DateInput.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { DatePickerLocale } from '../DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode, changed } = this.iDateMediator.inputKey(\n event.key,\n selected,\n this.state.inputMode,\n this.featureFlags.dateInputAllowInvalidValuesInDays,\n );\n\n if (!this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {\n if (!changed) {\n this.blink();\n return;\n }\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","ReactDOM","globalObject","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","FocusControlWrapper","CalendarIcon","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","root","icon","DateInput","_dec","_class","_DateInput","_React$Component","props","_this","call","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","createElement","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends","emitChange","version","search","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","featureFlags","dateInputAllowInvalidValuesInDays","dateInputFixSameNumberTypingOnRefocus","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","Consumer","flags","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","rootNodeRef","setRootNode","onBlurWhenDisabled","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName"],"sources":["DateInput.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { DatePickerLocale } from '../DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n root: 'DateInput__root',\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n data-tid={DateInputDataTids.root}\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false }, false);\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode, changed } = this.iDateMediator.inputKey(\n event.key,\n selected,\n this.state.inputMode,\n this.featureFlags.dateInputAllowInvalidValuesInDays,\n );\n\n if (!this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {\n if (!changed) {\n this.blink();\n return;\n }\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ export interface DateInputState {
|
|
|
12
12
|
dragged: boolean;
|
|
13
13
|
}
|
|
14
14
|
export declare const DateInputDataTids: {
|
|
15
|
+
readonly root: "DateInput__root";
|
|
15
16
|
readonly icon: "DateInput__icon";
|
|
16
17
|
};
|
|
17
18
|
export interface DateInputProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>, Pick<HTMLAttributes<HTMLElement>, 'id'> {
|
|
@@ -19,6 +19,7 @@ import { createPropsGetter } from "../../../lib/createPropsGetter";
|
|
|
19
19
|
import { styles } from "../Loader.styles";
|
|
20
20
|
var types = ['mini', 'normal', 'big'];
|
|
21
21
|
export var LoaderDataTids = {
|
|
22
|
+
idle: 'Loader__Idle',
|
|
22
23
|
veil: 'Loader__Veil',
|
|
23
24
|
spinner: 'Loader__Spinner'
|
|
24
25
|
};
|
|
@@ -248,7 +249,7 @@ export var Loader = rootNode(_class = (_Loader = /*#__PURE__*/function (_React$C
|
|
|
248
249
|
rootNodeRef: this.setRootNode
|
|
249
250
|
}, this.props), /*#__PURE__*/React.createElement("div", {
|
|
250
251
|
className: styles.loader(),
|
|
251
|
-
"data-tid": isLoaderActive ? LoaderDataTids.veil :
|
|
252
|
+
"data-tid": this.props['data-tid'] || (isLoaderActive ? LoaderDataTids.veil : LoaderDataTids.idle)
|
|
252
253
|
}, /*#__PURE__*/React.createElement(ZIndex, {
|
|
253
254
|
applyZIndex: isLoaderActive,
|
|
254
255
|
coverChildren: isLoaderActive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","debounce","globalObject","isBrowser","LayoutEvents","Spinner","ThemeContext","ZIndex","CommonWrapper","cx","isTestEnv","TaskWithDelayAndMinimalDuration","getTabbableElements","rootNode","getDOMRect","createPropsGetter","styles","types","LoaderDataTids","veil","spinner","Loader","_class","_Loader","_React$Component","props","_this","call","getProps","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","_getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","Consumer","theme","renderMain","_cx","_this$props","caption","type","_extends","rootNodeRef","setRootNode","className","loader","applyZIndex","coverChildren","style","wrapperRef","children","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { SpinnerProps } from '../Spinner';\nimport { Spinner } from '../Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером.\n * @default \"Загрузка\"\n */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 300 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","debounce","globalObject","isBrowser","LayoutEvents","Spinner","ThemeContext","ZIndex","CommonWrapper","cx","isTestEnv","TaskWithDelayAndMinimalDuration","getTabbableElements","rootNode","getDOMRect","createPropsGetter","styles","types","LoaderDataTids","idle","veil","spinner","Loader","_class","_Loader","_React$Component","props","_this","call","getProps","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","_getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","Consumer","theme","renderMain","_cx","_this$props","caption","type","_extends","rootNodeRef","setRootNode","className","loader","applyZIndex","coverChildren","style","wrapperRef","children","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { SpinnerProps } from '../Spinner';\nimport { Spinner } from '../Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером.\n * @default \"Загрузка\"\n */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 300 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n idle: 'Loader__Idle',\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n className={styles.loader()}\n data-tid={this.props['data-tid'] || (isLoaderActive ? LoaderDataTids.veil : LoaderDataTids.idle)}\n >\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { CSSTransition } from 'react-transition-group';
|
|
5
5
|
import FocusLock from 'react-focus-lock';
|
|
6
6
|
import { globalObject } from '@skbkontur/global-object';
|
|
7
|
-
import { isNonNullable } from "../../../lib/utils";
|
|
7
|
+
import { isNonNullable, isReactUIInstance } from "../../../lib/utils";
|
|
8
8
|
import { isKeyEscape } from "../../../lib/events/keyboard/identifiers";
|
|
9
9
|
import * as LayoutEvents from "../../../lib/LayoutEvents";
|
|
10
10
|
import { stopPropagation } from "../../../lib/events/stopPropagation";
|
|
@@ -93,7 +93,7 @@ export var SidePage = /*#__PURE__*/function (_React$Component) {
|
|
|
93
93
|
};
|
|
94
94
|
_this.handleStackChange = function (stack) {
|
|
95
95
|
var sidePages = stack.filter(function (x) {
|
|
96
|
-
return x
|
|
96
|
+
return isReactUIInstance(x, 'SidePage') && x.props.fromLeft === _this.props.fromLeft;
|
|
97
97
|
});
|
|
98
98
|
var currentSidePagePosition = sidePages.indexOf(_this);
|
|
99
99
|
var hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CSSTransition","FocusLock","globalObject","isNonNullable","isKeyEscape","LayoutEvents","stopPropagation","HideBodyVerticalScroll","ModalStack","RenderContainer","RenderLayer","ZIndex","ThemeContext","CommonWrapper","cx","isTestEnv","ResponsiveLayout","createPropsGetter","isInstanceOf","isThemeGTE","SidePageBody","SidePageContainer","SidePageContext","SidePageFooter","SidePageHeader","styles","SidePageDataTids","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","createRef","updateLayout","_this$header","_this$footer","update","getProps","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","document","clientX","documentElement","handleKeyDown","disableClose","onClose","ref","layoutRef","_inheritsLoose","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","remove","render","_this2","createElement","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","_ref","isMobile","priority","onScroll","emit","createStackingContext","style","position","renderShadow","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer","Container"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter((x) => x instanceof SidePage && x.props.fromLeft === this.props.fromLeft);\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","CSSTransition","FocusLock","globalObject","isNonNullable","isReactUIInstance","isKeyEscape","LayoutEvents","stopPropagation","HideBodyVerticalScroll","ModalStack","RenderContainer","RenderLayer","ZIndex","ThemeContext","CommonWrapper","cx","isTestEnv","ResponsiveLayout","createPropsGetter","isInstanceOf","isThemeGTE","SidePageBody","SidePageContainer","SidePageContext","SidePageFooter","SidePageHeader","styles","SidePageDataTids","root","container","TRANSITION_TIMEOUT","SidePage","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","hasHeader","hasFooter","hasPanel","stackSubscription","layout","header","footer","rootRef","createRef","updateLayout","_this$header","_this$footer","update","getProps","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","MouseEvent","document","clientX","documentElement","handleKeyDown","disableClose","onClose","ref","layoutRef","_inheritsLoose","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","remove","render","_this2","createElement","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","versionGTE5_2","_ref","isMobile","priority","onScroll","emit","createStackingContext","style","position","renderShadow","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","_cx","_cx2","_this$props2","mobileWidth","ariaLabel","_this$getProps","offset","role","widthDesktop","width","widthMobile","className","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","Provider","value","children","_cx3","overlay","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass","get","_this$getProps2","disableFocusLock","undefined","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer","Container"],"sources":["SidePage.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport FocusLock from 'react-focus-lock';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isReactUIInstance } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { stopPropagation } from '../../lib/events/stopPropagation';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { SidePageBody } from './SidePageBody';\nimport { SidePageContainer } from './SidePageContainer';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageFooter } from './SidePageFooter';\nimport { SidePageHeader } from './SidePageHeader';\nimport { styles } from './SidePage.styles';\n\nexport interface SidePageProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label'> {\n /** Добавляет блокирующий фон, когда сайдпейдж открыт. */\n blockBackground?: boolean;\n\n /** Отключает событие onClose, также дизейблит кнопку закрытия сайдпейджа. */\n disableClose?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Задает ширину сайдпейджа. */\n width?: number | string;\n\n /** Задает ширину сайдпейджаю на мобилке. По умолчанию ширина во весь экран. */\n mobileWidth?: number | string;\n\n /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при завершении анимации открытия сайдпейджа. */\n onOpened?: () => void;\n\n /** Отображает сайдпэйдж слева. */\n fromLeft?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Отключает фокус-лок внутри сайдпейджа.\n * Работает только при заблокированном фоне: `blockBackground = true`.*/\n disableFocusLock?: boolean;\n\n /** Задает отступ от края экрана. */\n offset?: number | string;\n}\n\nexport interface SidePageState {\n stackPosition?: number;\n hasMargin?: boolean;\n hasShadow?: boolean;\n hasBackground?: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const SidePageDataTids = {\n root: 'SidePage__root',\n container: 'SidePage__container',\n} as const;\n\ntype DefaultProps = Required<Pick<SidePageProps, 'disableAnimations' | 'offset' | 'role'>>;\n\nconst TRANSITION_TIMEOUT = 200;\n\n/**\n * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.\n *\n * Используйте его, когда нужно сохранить контекст и показать большое количество данных.\n *\n * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.\n */\nexport class SidePage extends React.Component<SidePageProps, SidePageState> {\n public static __KONTUR_REACT_UI__ = 'SidePage';\n public static displayName = 'SidePage';\n\n public static Header = SidePageHeader;\n public static Body = SidePageBody;\n public static Footer = SidePageFooter;\n public static Container = SidePageContainer;\n public state: SidePageState = {\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private layout: HTMLElement | null = null;\n private header: SidePageHeader | null = null;\n private footer: SidePageFooter | null = null;\n public rootRef = React.createRef<HTMLDivElement>();\n\n public componentDidMount() {\n globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.stackSubscription = ModalStack.add(this, this.handleStackChange);\n }\n\n public componentDidUpdate(prevProps: SidePageProps) {\n if (prevProps.blockBackground !== this.props.blockBackground) {\n ModalStack.rerender();\n this.setState({\n hasBackground: ModalStack.isBlocking(this),\n });\n }\n }\n\n public componentWillUnmount() {\n globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this);\n }\n\n /**\n * Обновляет разметку компонента.\n * @public\n */\n public updateLayout = (): void => {\n this.header?.update();\n this.footer?.update();\n };\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n offset: 0,\n role: 'dialog',\n };\n\n private getProps = createPropsGetter(SidePage.defaultProps);\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { blockBackground, onOpened } = this.props;\n const disableAnimations = this.getProps().disableAnimations;\n const versionGTE5_2 = isThemeGTE(this.theme, '5.2');\n return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n style={{ position: 'absolute' }}\n >\n {(versionGTE5_2 || !isMobile) && blockBackground && this.renderShadow()}\n <CSSTransition\n in\n classNames={this.getTransitionNames()}\n appear={!disableAnimations}\n enter={!disableAnimations}\n exit={false}\n timeout={{\n enter: TRANSITION_TIMEOUT,\n exit: TRANSITION_TIMEOUT,\n }}\n nodeRef={this.rootRef}\n onEntered={onOpened}\n >\n {this.renderContainer(isMobile)}\n </CSSTransition>\n {isMobile && <HideBodyVerticalScroll />}\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n )}\n </ResponsiveLayout>\n );\n }\n\n private get isFocusLockDisabled() {\n const { disableFocusLock } = this.getProps();\n const { blockBackground } = this.props;\n if (!blockBackground) {\n return true;\n }\n if (disableFocusLock !== undefined) {\n return disableFocusLock;\n }\n return false;\n }\n\n private renderContainer(isMobile: boolean): JSX.Element {\n const { mobileWidth, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\n\n const widthDesktop = this.props.width || (blockBackground ? 800 : 500);\n const widthMobile = this.props.mobileWidth || '100%';\n const width = isMobile ? widthMobile : widthDesktop;\n\n return (\n <div\n aria-modal\n role={role}\n aria-label={ariaLabel}\n data-tid={SidePageDataTids.root}\n className={cx({\n [styles.root()]: true,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile && !isThemeGTE(this.theme, '5.2')\n ? {\n width: mobileWidth || '100%',\n }\n : {\n width,\n right: fromLeft ? 'auto' : offset,\n left: fromLeft ? offset : 'auto',\n }\n }\n >\n <FocusLock disabled={this.isFocusLockDisabled} autoFocus={false} className={styles.focusLock()}>\n <RenderLayer onClickOutside={this.handleClickOutside} active>\n <div\n data-tid={SidePageDataTids.container}\n className={cx(styles.wrapper(this.theme), {\n [styles.wrapperLeft()]: fromLeft,\n [styles.wrapperMarginLeft()]: this.state.hasMargin && fromLeft,\n [styles.wrapperMarginRight()]: this.state.hasMargin && !fromLeft,\n [styles.shadow(this.theme)]: this.state.hasShadow,\n })}\n ref={this.layoutRef}\n >\n <SidePageContext.Provider value={this.getSidePageContextProps()}>\n {this.props.children}\n </SidePageContext.Provider>\n </div>\n </RenderLayer>\n </FocusLock>\n </div>\n );\n }\n\n private getSidePageContextProps = (): SidePageContextType => {\n return {\n hasHeader: this.state.hasHeader,\n hasFooter: this.state.hasFooter,\n hasPanel: this.state.hasPanel,\n requestClose: this.requestClose,\n getWidth: this.getWidth,\n updateLayout: this.updateLayout,\n headerRef: this.headerRef,\n footerRef: this.footerRef,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n };\n };\n\n private getWidth = () => {\n if (!this.layout) {\n return 'auto';\n }\n return this.layout.clientWidth;\n };\n\n private renderShadow(): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n <HideBodyVerticalScroll key=\"hbvs\" />\n <div\n key=\"overlay\"\n className={cx({\n [styles.background()]: true,\n [styles.backgroundGray(this.theme)]: this.state.hasBackground,\n })}\n />\n </div>\n );\n }\n\n private getTransitionNames(): Record<string, string> {\n const transition = this.props.fromLeft ? styles.transitionRight : styles.transitionLeft;\n\n return {\n enter: transition(),\n enterActive: styles.transitionActive(),\n exit: styles.transitionLeave(),\n exitActive: styles.transitionLeaveActive(),\n appear: transition(),\n appearActive: styles.transitionActive(),\n };\n }\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n const sidePages = stack.filter(\n (x) => isReactUIInstance<SidePage>(x, 'SidePage') && x.props.fromLeft === this.props.fromLeft,\n );\n const currentSidePagePosition = sidePages.indexOf(this);\n\n const hasMargin = sidePages.length > 1 && currentSidePagePosition === sidePages.length - 1;\n const hasShadow = sidePages.length < 3 || currentSidePagePosition > sidePages.length - 3;\n const hasBackground = ModalStack.isBlocking(this);\n\n this.setState({\n stackPosition: stack.indexOf(this),\n hasMargin,\n hasShadow,\n hasBackground,\n });\n };\n\n private handleClickOutside = (e: Event) => {\n if (this.state.stackPosition === 0 && !this.props.ignoreBackgroundClick) {\n // ignore mousedown on window scrollbar\n if (\n isInstanceOf(e, globalObject.MouseEvent) &&\n globalObject.document &&\n e.clientX > globalObject.document.documentElement.clientWidth\n ) {\n return;\n }\n this.requestClose();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n stopPropagation(e);\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private headerRef = (ref: SidePageHeader | null) => {\n this.header = ref;\n };\n\n private footerRef = (ref: SidePageFooter | null) => {\n this.footer = ref;\n };\n\n private layoutRef = (ref: HTMLDivElement | null) => {\n this.layout = ref;\n };\n\n private setHasHeader = (hasHeader = true) => {\n this.state.hasHeader !== hasHeader && this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter = true) => {\n this.state.hasFooter !== hasFooter && this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel = false) => {\n this.state.hasPanel !== hasPanel && this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -87,7 +87,7 @@ export var DateSelect = (_dec = locale('Calendar', DatePickerLocaleHelper), resp
|
|
|
87
87
|
},
|
|
88
88
|
"aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this.isYearType ? 'год' : 'месяц') + " " + _this.getItem(option),
|
|
89
89
|
"data-tid": DateSelectDataTids.menuItem,
|
|
90
|
-
"data-
|
|
90
|
+
"data-disabled": isOptionDisabled,
|
|
91
91
|
key: option
|
|
92
92
|
}, _this.getItem(option))
|
|
93
93
|
);
|