@skbkontur/react-ui 5.1.5 → 5.1.6
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 +13 -0
- package/cjs/components/DateInput/DateInput.js +12 -9
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/SidePage/SidePage.js +1 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.js +4 -1
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Sticky/Sticky.d.ts +3 -0
- package/cjs/components/Sticky/Sticky.js +15 -1
- package/cjs/components/Sticky/Sticky.js.map +1 -1
- package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
- package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/components/DateInput/DateInput/DateInput.js +12 -9
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +1 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/Sticky/Sticky/Sticky.js +9 -1
- package/components/Sticky/Sticky/Sticky.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +3 -0
- package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
- package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [5.1.6](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.1.5...@skbkontur/react-ui@5.1.6) (2025-07-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **DatePicker,DateInput:** onBlur wasn't called, calendar wasn't closed ([a67649c](https://github.com/skbkontur/retail-ui/commit/a67649c1d862cc23c7981c16610da50bb8046c37))
|
|
12
|
+
* **SidePage,Sticky:** prevent page crash, reduce rerenders ([17bddad](https://github.com/skbkontur/retail-ui/commit/17bddad211bb8cc29aa4323fd9aabca8d3fca9f5))
|
|
13
|
+
* **SidePage:** revert lost animation ([eab52ad](https://github.com/skbkontur/retail-ui/commit/eab52adf66ad0211ee5b9b1d8e61aa9e7f5c6066))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
6
19
|
## [5.1.5](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.1.4...@skbkontur/react-ui@5.1.5) (2025-06-11)
|
|
7
20
|
|
|
8
21
|
|
|
@@ -409,17 +409,20 @@ DateInput = exports.DateInput = (_dec = (0, _decorators.locale)('DatePicker', _l
|
|
|
409
409
|
};_this.
|
|
410
410
|
|
|
411
411
|
emitChange = function () {
|
|
412
|
-
var value = _this.iDateMediator.getInternalString();
|
|
413
|
-
if (_this.props.value === value) {
|
|
414
|
-
return;
|
|
415
|
-
}
|
|
416
412
|
if (_this.props.onValueChange) {
|
|
417
|
-
_this.
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
_this.blurEvent = null;
|
|
413
|
+
var value = _this.iDateMediator.getInternalString();
|
|
414
|
+
if (_this.props.value !== value) {
|
|
415
|
+
_this.props.onValueChange(value);
|
|
416
|
+
}
|
|
422
417
|
}
|
|
418
|
+
|
|
419
|
+
// `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update
|
|
420
|
+
setTimeout(function () {
|
|
421
|
+
if (_this.blurEvent && _this.props.onBlur) {
|
|
422
|
+
_this.props.onBlur(_this.blurEvent);
|
|
423
|
+
_this.blurEvent = null;
|
|
424
|
+
}
|
|
425
|
+
});
|
|
423
426
|
};_this.
|
|
424
427
|
|
|
425
428
|
clearSelected = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_ConditionalHandler","_constants","_types","_locale","_InputLikeText","_decorators","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_FocusControlWrapper","_CalendarIcon","_DateFragmentsView","_DateInput2","_DateInputKeyboardActions","_InternalDateMediator","_dec","_class","_DateInput","DateInputDataTids","exports","icon","DateInput","locale","DatePickerLocaleHelper","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","iDateMediator","InternalDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","ConditionalHandler","add","Actions","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","InternalDateComponentType","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","default","createElement","CalendarIcon","iconStyles","cx","styles","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","globalObject","getSelection","toString","length","LENGTH_FULLDATE","handleKeyDown","extractAction","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends2","emitChange","React","version","search","ReactDOM","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","_inheritsLoose2","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","ThemeContext","Consumer","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","CommonWrapper","rootNodeRef","setRootNode","FocusControlWrapper","onBlurWhenDisabled","InputLikeText","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","DateFragmentsView","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName","MIN_FULLDATE","MAX_FULLDATE"],"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 { 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 { 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 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 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 <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.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 const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\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 const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\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","_interopRequireDefault","require","_reactDom","_globalObject","_ConditionalHandler","_constants","_types","_locale","_InputLikeText","_decorators","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_FocusControlWrapper","_CalendarIcon","_DateFragmentsView","_DateInput2","_DateInputKeyboardActions","_InternalDateMediator","_dec","_class","_DateInput","DateInputDataTids","exports","icon","DateInput","locale","DatePickerLocaleHelper","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","iDateMediator","InternalDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","ConditionalHandler","add","Actions","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","InternalDateComponentType","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","default","createElement","CalendarIcon","iconStyles","cx","styles","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","globalObject","getSelection","toString","length","LENGTH_FULLDATE","handleKeyDown","extractAction","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends2","emitChange","React","version","search","ReactDOM","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","_inheritsLoose2","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","ThemeContext","Consumer","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","CommonWrapper","rootNodeRef","setRootNode","FocusControlWrapper","onBlurWhenDisabled","InputLikeText","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","DateFragmentsView","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName","MIN_FULLDATE","MAX_FULLDATE"],"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 { 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 { 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 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 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 <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.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 const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\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":[]}
|
|
@@ -391,4 +391,4 @@ SidePage = exports.SidePage = /*#__PURE__*/function (_React$Component) {function
|
|
|
391
391
|
|
|
392
392
|
setHasPanel = function (hasPanel) {if (hasPanel === void 0) {hasPanel = false;}
|
|
393
393
|
_this.state.hasPanel !== hasPanel && _this.setState({ hasPanel: hasPanel });
|
|
394
|
-
};return _this;}(0, _inheritsLoose2.default)(SidePage, _React$Component);var _proto = SidePage.prototype;_proto.componentDidMount = function componentDidMount() {_globalObject.globalObject.addEventListener == null || _globalObject.globalObject.addEventListener('keydown', this.handleKeyDown);this.stackSubscription = _ModalStack.ModalStack.add(this, this.handleStackChange);};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.blockBackground !== this.props.blockBackground) {_ModalStack.ModalStack.rerender();this.setState({ hasBackground: _ModalStack.ModalStack.isBlocking(this) });}};_proto.componentWillUnmount = function componentWillUnmount() {_globalObject.globalObject.removeEventListener == null || _globalObject.globalObject.removeEventListener('keydown', this.handleKeyDown);if ((0, _utils.isNonNullable)(this.stackSubscription)) {this.stackSubscription.remove();}_ModalStack.ModalStack.remove(this);};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$props = this.props,blockBackground = _this$props.blockBackground,onOpened = _this$props.onOpened;var disableAnimations = this.getProps().disableAnimations;return /*#__PURE__*/_react.default.createElement(_ResponsiveLayout.ResponsiveLayout, null, function (_ref) {var isMobile = _ref.isMobile;return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', onScroll: LayoutEvents.emit, createStackingContext: true,
|
|
394
|
+
};return _this;}(0, _inheritsLoose2.default)(SidePage, _React$Component);var _proto = SidePage.prototype;_proto.componentDidMount = function componentDidMount() {_globalObject.globalObject.addEventListener == null || _globalObject.globalObject.addEventListener('keydown', this.handleKeyDown);this.stackSubscription = _ModalStack.ModalStack.add(this, this.handleStackChange);};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.blockBackground !== this.props.blockBackground) {_ModalStack.ModalStack.rerender();this.setState({ hasBackground: _ModalStack.ModalStack.isBlocking(this) });}};_proto.componentWillUnmount = function componentWillUnmount() {_globalObject.globalObject.removeEventListener == null || _globalObject.globalObject.removeEventListener('keydown', this.handleKeyDown);if ((0, _utils.isNonNullable)(this.stackSubscription)) {this.stackSubscription.remove();}_ModalStack.ModalStack.remove(this);};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$props = this.props,blockBackground = _this$props.blockBackground,onOpened = _this$props.onOpened;var disableAnimations = this.getProps().disableAnimations;return /*#__PURE__*/_react.default.createElement(_ResponsiveLayout.ResponsiveLayout, null, function (_ref) {var isMobile = _ref.isMobile;return /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'Sidepage', onScroll: LayoutEvents.emit, createStackingContext: true, style: { position: 'absolute' } }, blockBackground && _this3.renderShadow(isMobile), /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.CSSTransition, { in: true, classNames: _this3.getTransitionNames(), appear: !disableAnimations, enter: !disableAnimations, exit: false, timeout: { enter: TRANSITION_TIMEOUT, exit: TRANSITION_TIMEOUT }, nodeRef: _this3.rootRef, onEntered: onOpened }, _this3.renderContainer(isMobile)), isMobile && /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, null))));});};_proto.renderContainer = function renderContainer(isMobile) {var _cx, _cx2;var _this$props2 = this.props,width = _this$props2.width,blockBackground = _this$props2.blockBackground,fromLeft = _this$props2.fromLeft,ariaLabel = _this$props2['aria-label'];var _this$getProps = this.getProps(),offset = _this$getProps.offset,role = _this$getProps.role;return /*#__PURE__*/_react.default.createElement("div", { "aria-modal": true, role: role, "aria-label": ariaLabel, "data-tid": SidePageDataTids.root, className: (0, _Emotion.cx)((_cx = {}, _cx[_SidePage2.styles.root()] = true, _cx[_SidePage2.styles.mobileRoot()] = isMobile, _cx)), ref: this.rootRef, onScroll: LayoutEvents.emit, style: isMobile ? undefined : { width: width || (blockBackground ? 800 : 500), right: fromLeft ? 'auto' : offset, left: fromLeft ? offset : 'auto' } }, /*#__PURE__*/_react.default.createElement(_reactFocusLock.default, { disabled: this.isFocusLockDisabled, autoFocus: false, className: _SidePage2.styles.focusLock() }, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.handleClickOutside, active: true }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageDataTids.container, className: (0, _Emotion.cx)(_SidePage2.styles.wrapper(this.theme), (_cx2 = {}, _cx2[_SidePage2.styles.wrapperLeft()] = fromLeft, _cx2[_SidePage2.styles.wrapperMarginLeft()] = this.state.hasMargin && fromLeft, _cx2[_SidePage2.styles.wrapperMarginRight()] = this.state.hasMargin && !fromLeft, _cx2[_SidePage2.styles.shadow(this.theme)] = this.state.hasShadow, _cx2)), ref: this.layoutRef }, /*#__PURE__*/_react.default.createElement(_SidePageContext.SidePageContext.Provider, { value: this.getSidePageContextProps() }, this.props.children)))));};_proto.renderShadow = function renderShadow(isMobile) {var _cx3;return /*#__PURE__*/_react.default.createElement("div", { className: _SidePage2.styles.overlay(), onScroll: LayoutEvents.emit }, !isMobile && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_HideBodyVerticalScroll.HideBodyVerticalScroll, { key: "hbvs" }), /*#__PURE__*/_react.default.createElement("div", { key: "overlay", className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_SidePage2.styles.background()] = true, _cx3[_SidePage2.styles.backgroundGray(this.theme)] = this.state.hasBackground, _cx3)) })));};_proto.getTransitionNames = function getTransitionNames() {var transition = this.props.fromLeft ? _SidePage2.styles.transitionRight : _SidePage2.styles.transitionLeft;return { enter: transition(), enterActive: _SidePage2.styles.transitionActive(), exit: _SidePage2.styles.transitionLeave(), exitActive: _SidePage2.styles.transitionLeaveActive(), appear: transition(), appearActive: _SidePage2.styles.transitionActive() };};return (0, _createClass2.default)(SidePage, [{ key: "isFocusLockDisabled", get: function get() {var _this$getProps2 = this.getProps(),disableFocusLock = _this$getProps2.disableFocusLock;var blockBackground = this.props.blockBackground;if (!blockBackground) {return true;}if (disableFocusLock !== undefined) {return disableFocusLock;}return false;} }]);}(_react.default.Component);SidePage.__KONTUR_REACT_UI__ = 'SidePage';SidePage.displayName = 'SidePage';SidePage.Header = _SidePageHeader.SidePageHeader;SidePage.Body = _SidePageBody.SidePageBody;SidePage.Footer = _SidePageFooter.SidePageFooter;SidePage.Container = _SidePageContainer.SidePageContainer;SidePage.defaultProps = { disableAnimations: _currentEnvironment.isTestEnv, offset: 0, role: 'dialog' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_reactFocusLock","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_stopPropagation","_HideBodyVerticalScroll","_ModalStack","_RenderContainer","_RenderLayer","_ZIndex","_ThemeContext","_CommonWrapper","_Emotion","_currentEnvironment","_ResponsiveLayout","_createPropsGetter","_isInstanceOf","_SidePageBody","_SidePageContainer","_SidePageContext","_SidePageFooter","_SidePageHeader","_SidePage2","SidePageDataTids","exports","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","React","createRef","updateLayout","_this$header","_this$footer","update","getProps","createPropsGetter","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","isInstanceOf","globalObject","MouseEvent","document","clientX","documentElement","handleKeyDown","isKeyEscape","stopPropagation","disableClose","onClose","ref","layoutRef","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","isNonNullable","remove","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","ResponsiveLayout","_ref","isMobile","RenderContainer","CommonWrapper","ZIndex","priority","onScroll","emit","createStackingContext","wrapperRef","style","position","renderShadow","CSSTransition","in","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","HideBodyVerticalScroll","_cx","_cx2","_this$props2","width","ariaLabel","_this$getProps","offset","role","className","cx","styles","mobileRoot","undefined","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","RenderLayer","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","SidePageContext","Provider","value","children","_cx3","overlay","Fragment","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass2","get","_this$getProps2","disableFocusLock","Component","__KONTUR_REACT_UI__","displayName","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","isTestEnv"],"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';\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 /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на 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 private 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 return (\n <ResponsiveLayout>\n {({ isMobile }) => (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex\n priority={'Sidepage'}\n onScroll={LayoutEvents.emit}\n createStackingContext\n wrapperRef={this.rootRef}\n style={{ position: 'absolute' }}\n >\n {blockBackground && this.renderShadow(isMobile)}\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 { width, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\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 [styles.mobileRoot()]: isMobile,\n })}\n onScroll={LayoutEvents.emit}\n style={\n isMobile\n ? undefined\n : {\n width: width || (blockBackground ? 800 : 500),\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(isMobile: boolean): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n {!isMobile && (\n <>\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 </>\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","_interopRequireDefault","require","_reactTransitionGroup","_reactFocusLock","_globalObject","_utils","_identifiers","LayoutEvents","_interopRequireWildcard","_stopPropagation","_HideBodyVerticalScroll","_ModalStack","_RenderContainer","_RenderLayer","_ZIndex","_ThemeContext","_CommonWrapper","_Emotion","_currentEnvironment","_ResponsiveLayout","_createPropsGetter","_isInstanceOf","_SidePageBody","_SidePageContainer","_SidePageContext","_SidePageFooter","_SidePageHeader","_SidePage2","SidePageDataTids","exports","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","React","createRef","updateLayout","_this$header","_this$footer","update","getProps","createPropsGetter","defaultProps","getSidePageContextProps","requestClose","getWidth","headerRef","footerRef","setHasHeader","setHasFooter","setHasPanel","clientWidth","handleStackChange","stack","sidePages","filter","x","props","fromLeft","currentSidePagePosition","indexOf","hasMargin","hasShadow","hasBackground","ModalStack","isBlocking","setState","stackPosition","handleClickOutside","e","ignoreBackgroundClick","isInstanceOf","globalObject","MouseEvent","document","clientX","documentElement","handleKeyDown","isKeyEscape","stopPropagation","disableClose","onClose","ref","layoutRef","_inheritsLoose2","default","_proto","prototype","componentDidMount","addEventListener","add","componentDidUpdate","prevProps","blockBackground","rerender","componentWillUnmount","removeEventListener","isNonNullable","remove","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_this3","_this$props","onOpened","disableAnimations","ResponsiveLayout","_ref","isMobile","RenderContainer","CommonWrapper","ZIndex","priority","onScroll","emit","createStackingContext","style","position","renderShadow","CSSTransition","in","classNames","getTransitionNames","appear","enter","exit","timeout","nodeRef","onEntered","renderContainer","HideBodyVerticalScroll","_cx","_cx2","_this$props2","width","ariaLabel","_this$getProps","offset","role","className","cx","styles","mobileRoot","undefined","right","left","disabled","isFocusLockDisabled","autoFocus","focusLock","RenderLayer","onClickOutside","active","wrapper","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","shadow","SidePageContext","Provider","value","children","_cx3","overlay","Fragment","key","background","backgroundGray","transition","transitionRight","transitionLeft","enterActive","transitionActive","transitionLeave","exitActive","transitionLeaveActive","appearActive","_createClass2","get","_this$getProps2","disableFocusLock","Component","__KONTUR_REACT_UI__","displayName","Header","SidePageHeader","Body","SidePageBody","Footer","SidePageFooter","Container","SidePageContainer","isTestEnv"],"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';\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 /** Задает функцию, которая вызывается при запросе закрытия сайдпейджа пользователем (нажал на фон, на 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 private 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 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 {blockBackground && this.renderShadow(isMobile)}\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 { width, blockBackground, fromLeft, 'aria-label': ariaLabel } = this.props;\n const { offset, role } = this.getProps();\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 [styles.mobileRoot()]: isMobile,\n })}\n ref={this.rootRef}\n onScroll={LayoutEvents.emit}\n style={\n isMobile\n ? undefined\n : {\n width: width || (blockBackground ? 800 : 500),\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(isMobile: boolean): JSX.Element {\n return (\n <div className={styles.overlay()} onScroll={LayoutEvents.emit}>\n {!isMobile && (\n <>\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 </>\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":[]}
|
|
@@ -14,6 +14,7 @@ var _rootNode = require("../../lib/rootNode");
|
|
|
14
14
|
var _getDOMRect = require("../../lib/dom/getDOMRect");
|
|
15
15
|
var _ModalSeparator = require("../Modal/ModalSeparator");
|
|
16
16
|
var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
17
|
+
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
17
18
|
|
|
18
19
|
var _SidePage = require("./SidePage.styles");
|
|
19
20
|
|
|
@@ -143,6 +144,8 @@ SidePageHeader = exports.SidePageHeader = (0, _decorator.responsiveLayout)(_clas
|
|
|
143
144
|
|
|
144
145
|
|
|
145
146
|
|
|
147
|
+
|
|
148
|
+
|
|
146
149
|
|
|
147
150
|
|
|
148
151
|
|
|
@@ -210,4 +213,4 @@ SidePageHeader = exports.SidePageHeader = (0, _decorator.responsiveLayout)(_clas
|
|
|
210
213
|
|
|
211
214
|
stickyRef = function (el) {
|
|
212
215
|
_this.sticky = el;
|
|
213
|
-
};return _this;}(0, _inheritsLoose2.default)(SidePageHeader, _React$Component);var _proto = SidePageHeader.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getStickyProp = function getStickyProp() {if (typeof this.props.sticky !== 'undefined') {return this.props.sticky;}if (this.isMobileLayout) {return false;}return true;};_proto.renderMain = function renderMain() {var isReadyToFix = this.state.isReadyToFix;var isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;var isStickyMobile = this.isMobileLayout && this.getStickyProp();var header = this.renderHeader;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageHeaderDataTids.root, ref: this.wrapperRef, className: _SidePage.styles.headerWrapper() }, isStickyDesktop || isStickyMobile ? /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { ref: this.stickyRef, side: "top" }, header) : header()));};return (0, _createClass2.default)(SidePageHeader, [{ key: "regularHeight", get: function get() {var isReadyToFix = this.state.isReadyToFix;if (!this.wrapper) {return 0;}if (!isReadyToFix) {this.lastRegularHeight = (0, _getDOMRect.getDOMRect)(this.wrapper).height;}return this.lastRegularHeight;} }, { key: "fixedHeaderHeight", get: function get() {var theme = this.theme;return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;} }]);}(_react.default.Component), _SidePageHeader.__KONTUR_REACT_UI__ = 'SidePageHeader', _SidePageHeader.displayName = 'SidePageHeader', _SidePageHeader.contextType = _SidePageContext.SidePageContext, _SidePageHeader.defaultProps = { hasSeparator: false }, _SidePageHeader)) || _class) || _class;
|
|
216
|
+
};return _this;}(0, _inheritsLoose2.default)(SidePageHeader, _React$Component);var _proto = SidePageHeader.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getStickyProp = function getStickyProp() {if (typeof this.props.sticky !== 'undefined') {return this.props.sticky;}if (this.isMobileLayout) {return false;}return true;};_proto.renderMain = function renderMain() {var isReadyToFix = this.state.isReadyToFix;var isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;var isStickyMobile = this.isMobileLayout && this.getStickyProp();var header = this.renderHeader;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { "data-tid": SidePageHeaderDataTids.root, ref: this.wrapperRef, className: _SidePage.styles.headerWrapper() }, /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Provider, { value: { stickyReduceLayoutEvents: true } }, isStickyDesktop || isStickyMobile ? /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { ref: this.stickyRef, side: "top" }, header) : header())));};return (0, _createClass2.default)(SidePageHeader, [{ key: "regularHeight", get: function get() {var isReadyToFix = this.state.isReadyToFix;if (!this.wrapper) {return 0;}if (!isReadyToFix) {this.lastRegularHeight = (0, _getDOMRect.getDOMRect)(this.wrapper).height;}return this.lastRegularHeight;} }, { key: "fixedHeaderHeight", get: function get() {var theme = this.theme;return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;} }]);}(_react.default.Component), _SidePageHeader.__KONTUR_REACT_UI__ = 'SidePageHeader', _SidePageHeader.displayName = 'SidePageHeader', _SidePageHeader.contextType = _SidePageContext.SidePageContext, _SidePageHeader.defaultProps = { hasSeparator: false }, _SidePageHeader)) || _class) || _class;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Sticky","_utils","_ThemeContext","_CommonWrapper","_Emotion","_decorator","_rootNode","_getDOMRect","_ModalSeparator","_ThemeHelpers","_SidePage","_SidePageContext","_SidePageCloseButton","_class","_SidePageHeader","SidePageHeaderDataTids","exports","root","close","SidePageHeader","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","isReadyToFix","wrapper","sticky","lastRegularHeight","componentDidMount","globalObject","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","_this$sticky","reflow","updateReadyToFix","renderHeader","fixed","_cx","_cx2","isDisplayed","props","hasSeparator","default","createElement","className","cx","styles","header","theme","headerFixed","mobileHeader","isMobileLayout","renderClose","title","title5_1","isThemeGTE","mobileTitle","titleFixed","isFunction","children","ModalSeparator","_cx3","stickyOffset","parseInt","sidePageHeaderStickyOffset","versionGTE5_1","wrapperClose","wrapperClose5_1","wrapperCloseFixed","wrapperCloseFixed5_1","mobileWrapperClose","mobileWrapperClose5_1","SidePageCloseButton","isHeaderFixed","isMobile","Sticky","side","offset","wrapperScrolledUp","getDOMRect","top","regularHeight","fixedHeaderHeight","setState","_extends2","wrapperRef","el","stickyRef","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","getStickyProp","isStickyDesktop","isStickyMobile","CommonWrapper","rootNodeRef","setRootNode","ref","headerWrapper","_createClass2","key","get","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","React","Component","__KONTUR_REACT_UI__","displayName","contextType","SidePageContext","defaultProps"],"sources":["SidePageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Sticky } from '../Sticky';\nimport { isFunction } from '../../lib/utils';\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 { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './SidePage.styles';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageCloseButton } from './SidePageCloseButton';\n\nexport interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n /** Закрепляет хедер сверху сайдпейджа. */\n sticky?: boolean;\n\n /** Определяет, нужно ли показывать ModalSeparator. */\n hasSeparator?: boolean;\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n}\n\nexport const SidePageHeaderDataTids = {\n root: 'SidePageHeader__root',\n close: 'SidePage__close',\n} as const;\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@responsiveLayout\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n public static displayName = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n private isMobileLayout!: boolean;\n\n public state: SidePageHeaderState = {\n isReadyToFix: false,\n };\n\n public static defaultProps: Partial<SidePageHeaderProps> = {\n hasSeparator: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = getDOMRect(this.wrapper).height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n globalObject.addEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n globalObject.removeEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n this.context.headerRef(null);\n };\n\n public update = () => {\n this.sticky?.reflow();\n this.updateReadyToFix();\n };\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 public getStickyProp() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n\n const isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;\n const isStickyMobile = this.isMobileLayout && this.getStickyProp();\n\n const header = this.renderHeader;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SidePageHeaderDataTids.root} ref={this.wrapperRef} className={styles.headerWrapper()}>\n {isStickyDesktop || isStickyMobile ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {header}\n </Sticky>\n ) : (\n header()\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n const isDisplayed = this.props.hasSeparator || fixed;\n return (\n <div>\n <div\n className={cx(styles.header(this.theme), {\n [styles.headerFixed(this.theme)]: fixed,\n [styles.mobileHeader(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.renderClose(fixed)}\n <div\n className={cx(styles.title(this.theme), {\n [styles.title5_1(this.theme)]: isThemeGTE(this.theme, '5.1'),\n [styles.mobileTitle(this.theme)]: this.isMobileLayout,\n [styles.titleFixed()]: fixed,\n })}\n >\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n {isDisplayed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n const versionGTE5_1 = isThemeGTE(this.theme, '5.1');\n return (\n <div\n className={cx(styles.wrapperClose(this.theme), {\n [styles.wrapperClose5_1(this.theme)]: versionGTE5_1,\n [styles.wrapperCloseFixed(this.theme)]: fixed,\n [styles.wrapperCloseFixed5_1(this.theme)]: fixed && versionGTE5_1,\n [styles.mobileWrapperClose(this.theme)]: this.isMobileLayout,\n [styles.mobileWrapperClose5_1(this.theme)]: this.isMobileLayout && versionGTE5_1,\n })}\n >\n {this.isMobileLayout ? (\n <SidePageCloseButton isHeaderFixed={fixed} isMobile />\n ) : (\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageCloseButton isHeaderFixed={fixed} />\n </Sticky>\n )}\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = getDOMRect(this.wrapper).top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private stickyRef = (el: Sticky | null) => {\n this.sticky = el;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Sticky","_utils","_ThemeContext","_CommonWrapper","_Emotion","_decorator","_rootNode","_getDOMRect","_ModalSeparator","_ThemeHelpers","_featureFlagsContext","_SidePage","_SidePageContext","_SidePageCloseButton","_class","_SidePageHeader","SidePageHeaderDataTids","exports","root","close","SidePageHeader","responsiveLayout","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","context","state","isReadyToFix","wrapper","sticky","lastRegularHeight","componentDidMount","globalObject","addEventListener","update","setHasHeader","headerRef","componentWillUnmount","removeEventListener","_this$sticky","reflow","updateReadyToFix","renderHeader","fixed","_cx","_cx2","isDisplayed","props","hasSeparator","default","createElement","className","cx","styles","header","theme","headerFixed","mobileHeader","isMobileLayout","renderClose","title","title5_1","isThemeGTE","mobileTitle","titleFixed","isFunction","children","ModalSeparator","_cx3","stickyOffset","parseInt","sidePageHeaderStickyOffset","versionGTE5_1","wrapperClose","wrapperClose5_1","wrapperCloseFixed","wrapperCloseFixed5_1","mobileWrapperClose","mobileWrapperClose5_1","SidePageCloseButton","isHeaderFixed","isMobile","Sticky","side","offset","wrapperScrolledUp","getDOMRect","top","regularHeight","fixedHeaderHeight","setState","_extends2","wrapperRef","el","stickyRef","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","getStickyProp","isStickyDesktop","isStickyMobile","CommonWrapper","rootNodeRef","setRootNode","ref","headerWrapper","ReactUIFeatureFlagsContext","Provider","value","stickyReduceLayoutEvents","_createClass2","key","get","height","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","React","Component","__KONTUR_REACT_UI__","displayName","contextType","SidePageContext","defaultProps"],"sources":["SidePageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Sticky } from '../Sticky';\nimport { isFunction } from '../../lib/utils';\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 { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { ModalSeparator } from '../Modal/ModalSeparator';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\n\nimport { styles } from './SidePage.styles';\nimport type { SidePageContextType } from './SidePageContext';\nimport { SidePageContext } from './SidePageContext';\nimport { SidePageCloseButton } from './SidePageCloseButton';\n\nexport interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n /** Закрепляет хедер сверху сайдпейджа. */\n sticky?: boolean;\n\n /** Определяет, нужно ли показывать ModalSeparator. */\n hasSeparator?: boolean;\n}\n\nexport interface SidePageHeaderState {\n isReadyToFix: boolean;\n}\n\nexport const SidePageHeaderDataTids = {\n root: 'SidePageHeader__root',\n close: 'SidePage__close',\n} as const;\n\n/**\n * Шапка сайдпейджа\n *\n * @visibleName SidePage.Header\n */\n@responsiveLayout\n@rootNode\nexport class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {\n public static __KONTUR_REACT_UI__ = 'SidePageHeader';\n public static displayName = 'SidePageHeader';\n\n public static contextType = SidePageContext;\n public context: SidePageContextType = this.context;\n\n private isMobileLayout!: boolean;\n\n public state: SidePageHeaderState = {\n isReadyToFix: false,\n };\n\n public static defaultProps: Partial<SidePageHeaderProps> = {\n hasSeparator: false,\n };\n\n private theme!: Theme;\n private wrapper: HTMLElement | null = null;\n private sticky: Sticky | null = null;\n private lastRegularHeight = 0;\n private setRootNode!: TSetRootNode;\n public get regularHeight(): number {\n const { isReadyToFix } = this.state;\n if (!this.wrapper) {\n return 0;\n }\n if (!isReadyToFix) {\n this.lastRegularHeight = getDOMRect(this.wrapper).height;\n }\n return this.lastRegularHeight;\n }\n\n public get fixedHeaderHeight(): number {\n const { theme } = this;\n return parseInt(theme.sidePageHeaderFixedLineHeight) + parseInt(theme.sidePageHeaderFixedPaddingY) * 2;\n }\n\n public componentDidMount = () => {\n globalObject.addEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.();\n this.context.headerRef(this);\n };\n\n public componentWillUnmount = () => {\n globalObject.removeEventListener?.('scroll', this.update, true);\n this.context.setHasHeader?.(false);\n this.context.headerRef(null);\n };\n\n public update = () => {\n this.sticky?.reflow();\n this.updateReadyToFix();\n };\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 public getStickyProp() {\n if (typeof this.props.sticky !== 'undefined') {\n return this.props.sticky;\n }\n\n if (this.isMobileLayout) {\n return false;\n }\n\n return true;\n }\n\n private renderMain() {\n const { isReadyToFix } = this.state;\n\n const isStickyDesktop = !this.isMobileLayout && this.getStickyProp() && isReadyToFix;\n const isStickyMobile = this.isMobileLayout && this.getStickyProp();\n\n const header = this.renderHeader;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SidePageHeaderDataTids.root} ref={this.wrapperRef} className={styles.headerWrapper()}>\n <ReactUIFeatureFlagsContext.Provider value={{ stickyReduceLayoutEvents: true }}>\n {isStickyDesktop || isStickyMobile ? (\n <Sticky ref={this.stickyRef} side=\"top\">\n {header}\n </Sticky>\n ) : (\n header()\n )}\n </ReactUIFeatureFlagsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = (fixed = false) => {\n const isDisplayed = this.props.hasSeparator || fixed;\n return (\n <div>\n <div\n className={cx(styles.header(this.theme), {\n [styles.headerFixed(this.theme)]: fixed,\n [styles.mobileHeader(this.theme)]: this.isMobileLayout,\n })}\n >\n {this.renderClose(fixed)}\n <div\n className={cx(styles.title(this.theme), {\n [styles.title5_1(this.theme)]: isThemeGTE(this.theme, '5.1'),\n [styles.mobileTitle(this.theme)]: this.isMobileLayout,\n [styles.titleFixed()]: fixed,\n })}\n >\n {isFunction(this.props.children) ? this.props.children(fixed) : this.props.children}\n </div>\n </div>\n {isDisplayed && <ModalSeparator fixed={fixed} />}\n </div>\n );\n };\n\n private renderClose = (fixed: boolean) => {\n const stickyOffset = parseInt(this.theme.sidePageHeaderStickyOffset);\n const versionGTE5_1 = isThemeGTE(this.theme, '5.1');\n return (\n <div\n className={cx(styles.wrapperClose(this.theme), {\n [styles.wrapperClose5_1(this.theme)]: versionGTE5_1,\n [styles.wrapperCloseFixed(this.theme)]: fixed,\n [styles.wrapperCloseFixed5_1(this.theme)]: fixed && versionGTE5_1,\n [styles.mobileWrapperClose(this.theme)]: this.isMobileLayout,\n [styles.mobileWrapperClose5_1(this.theme)]: this.isMobileLayout && versionGTE5_1,\n })}\n >\n {this.isMobileLayout ? (\n <SidePageCloseButton isHeaderFixed={fixed} isMobile />\n ) : (\n <Sticky side=\"top\" offset={stickyOffset}>\n <SidePageCloseButton isHeaderFixed={fixed} />\n </Sticky>\n )}\n </div>\n );\n };\n\n private updateReadyToFix = () => {\n if (this.wrapper) {\n const wrapperScrolledUp = getDOMRect(this.wrapper).top;\n const isReadyToFix = this.regularHeight + wrapperScrolledUp <= this.fixedHeaderHeight;\n this.setState((state) => (state.isReadyToFix !== isReadyToFix ? { ...state, isReadyToFix } : state));\n }\n };\n\n private wrapperRef = (el: HTMLElement | null) => {\n this.wrapper = el;\n };\n\n private stickyRef = (el: Sticky | null) => {\n this.sticky = el;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import type { Nullable } from '../../typings/utility-types';
|
|
4
4
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
5
|
+
import type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';
|
|
5
6
|
export interface StickyProps extends Omit<CommonProps, 'children'> {
|
|
6
7
|
/** Задает сторону залипания. */
|
|
7
8
|
side: 'top' | 'bottom';
|
|
@@ -53,10 +54,12 @@ export declare class Sticky extends React.Component<StickyProps, StickyState> {
|
|
|
53
54
|
private layoutSubscription;
|
|
54
55
|
private reflowCounter;
|
|
55
56
|
private setRootNode;
|
|
57
|
+
featureFlags: ReactUIFeatureFlags;
|
|
56
58
|
componentDidMount(): void;
|
|
57
59
|
componentWillUnmount(): void;
|
|
58
60
|
componentDidUpdate(prevProps: StickyProps, prevState: StickyState): void;
|
|
59
61
|
render(): React.JSX.Element;
|
|
62
|
+
private renderMain;
|
|
60
63
|
private refWrapper;
|
|
61
64
|
private refInner;
|
|
62
65
|
/**
|