@skbkontur/react-ui 5.0.1 → 5.0.3

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/cjs/components/Calendar/Calendar.md +2 -1
  3. package/cjs/components/DatePicker/DatePicker.d.ts +0 -2
  4. package/cjs/components/DatePicker/DatePicker.js +1 -11
  5. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  6. package/cjs/components/MenuItem/MenuItem.d.ts +1 -0
  7. package/cjs/components/MenuItem/MenuItem.js +3 -3
  8. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  9. package/cjs/components/SingleToast/SingleToast.js +5 -1
  10. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  11. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  12. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  13. package/cjs/lib/dom/getParentOrShadowHost.d.ts +1 -0
  14. package/cjs/lib/dom/getParentOrShadowHost.js +3 -0
  15. package/cjs/lib/dom/getParentOrShadowHost.js.map +1 -0
  16. package/cjs/lib/dom/scrollYCenterIntoNearestScrollable.d.ts +2 -0
  17. package/cjs/lib/dom/scrollYCenterIntoNearestScrollable.js +48 -0
  18. package/cjs/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -0
  19. package/components/Calendar/Calendar.md +2 -1
  20. package/components/DatePicker/DatePicker/DatePicker.js +5 -18
  21. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  22. package/components/DatePicker/DatePicker.d.ts +0 -2
  23. package/components/MenuItem/MenuItem/MenuItem.js +3 -5
  24. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  25. package/components/MenuItem/MenuItem.d.ts +1 -0
  26. package/components/SingleToast/SingleToast/SingleToast.js +9 -4
  27. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  28. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  29. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  30. package/lib/dom/getParentOrShadowHost/getParentOrShadowHost.js +3 -0
  31. package/lib/dom/getParentOrShadowHost/getParentOrShadowHost.js.map +1 -0
  32. package/lib/dom/getParentOrShadowHost/package.json +6 -0
  33. package/lib/dom/getParentOrShadowHost.d.ts +1 -0
  34. package/lib/dom/scrollYCenterIntoNearestScrollable/package.json +6 -0
  35. package/lib/dom/scrollYCenterIntoNearestScrollable/scrollYCenterIntoNearestScrollable.js +40 -0
  36. package/lib/dom/scrollYCenterIntoNearestScrollable/scrollYCenterIntoNearestScrollable.js.map +1 -0
  37. package/lib/dom/scrollYCenterIntoNearestScrollable.d.ts +2 -0
  38. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
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.0.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.2...@skbkontur/react-ui@5.0.3) (2024-11-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Calendar,MenuItem:** page jumps when opening DateSelect ([#3543](https://github.com/skbkontur/retail-ui/issues/3543)) ([7b4acd6](https://github.com/skbkontur/retail-ui/commit/7b4acd61f1645298062cdd6294ab780eb49f8669))
12
+ * **SingleToast:** avoid flushSync error in react@16 ([#3546](https://github.com/skbkontur/retail-ui/issues/3546)) ([767c848](https://github.com/skbkontur/retail-ui/commit/767c848339591f1b26cacf7da2f0436c5535008a))
13
+
14
+
15
+
16
+
17
+
18
+ ## [5.0.2](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.1...@skbkontur/react-ui@5.0.2) (2024-11-19)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **DatePicker:** scrolling to today ([#3539](https://github.com/skbkontur/retail-ui/issues/3539)) ([b3147ac](https://github.com/skbkontur/retail-ui/commit/b3147ac9f9b66ae7ffcb2bc28bfa9dfec4e20878))
24
+ * **ZIndex:** change document to globalObject.document ([#3540](https://github.com/skbkontur/retail-ui/issues/3540)) ([aa1a055](https://github.com/skbkontur/retail-ui/commit/aa1a055e2c27e01abf4ced0249ce72a0b1642ba0))
25
+
26
+
27
+
28
+
29
+
6
30
  ## [5.0.1](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.0.0...@skbkontur/react-ui@5.0.1) (2024-11-08)
7
31
 
8
32
 
@@ -174,7 +174,8 @@ const [value, setValue] = React.useState(null);
174
174
 
175
175
  <ThemeContext.Provider
176
176
  value={ThemeFactory.create({
177
- calendarCellSize: '56px',
177
+ calendarCellWidth: '56px',
178
+ calendarCellHeight: '56px',
178
179
  calendarCellLineHeight: '1.5',
179
180
  calendarWrapperHeight: '600px',
180
181
  calendarCellBorderRadius: '8px'
@@ -101,7 +101,6 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
101
101
  static defaultProps: DefaultProps;
102
102
  private getProps;
103
103
  private theme;
104
- private calendar;
105
104
  private readonly locale;
106
105
  static validate: (value: Nullable<string>, range?: {
107
106
  minDate?: string | undefined;
@@ -131,7 +130,6 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
131
130
  renderMain: (props: CommonWrapperRestProps<DatePickerProps>) => React.JSX.Element;
132
131
  private parseValueToDate;
133
132
  private renderTodayLink;
134
- private handleSelectToday;
135
133
  getParent: () => Nullable<Element>;
136
134
  private getRootStyle;
137
135
  private getInputRef;
@@ -176,7 +176,6 @@ DatePicker = exports.DatePicker = (_dec = (0, _decorators.locale)('DatePicker',
176
176
 
177
177
  getProps = (0, _createPropsGetter.createPropsGetter)(DatePicker.defaultProps);_this.
178
178
 
179
- calendar = null;_this.
180
179
 
181
180
 
182
181
 
@@ -331,7 +330,6 @@ DatePicker = exports.DatePicker = (_dec = (0, _decorators.locale)('DatePicker',
331
330
  onMouseDown: function onMouseDown(e) {return e.preventDefault();} }, /*#__PURE__*/
332
331
 
333
332
  _react.default.createElement(_Calendar.Calendar, {
334
- ref: function ref(c) {return _this.calendar = c;},
335
333
  maxDate: _this.parseValueToDate(maxDate),
336
334
  minDate: _this.parseValueToDate(minDate),
337
335
  onValueChange: _this.handleValueChange,
@@ -418,15 +416,7 @@ DatePicker = exports.DatePicker = (_dec = (0, _decorators.locale)('DatePicker',
418
416
 
419
417
 
420
418
 
421
- handleSelectToday = function (today) {return function () {
422
- _this.handleSelect(today);
423
419
 
424
- if (_this.calendar) {
425
- var _this$state$today = _this.state.today,monthNative = _this$state$today.month,year = _this$state$today.year;
426
- var month = (0, _CalendarUtils.getMonthInHumanFormat)(monthNative);
427
- _this.calendar.scrollToMonth(month, year);
428
- }
429
- };};_this.
430
420
 
431
421
  getParent = function () {
432
422
  return (0, _rootNode.getRootNode)(_this);
@@ -488,7 +478,7 @@ DatePicker = exports.DatePicker = (_dec = (0, _decorators.locale)('DatePicker',
488
478
  */;_proto.focus = function focus() {if (this.props.disabled) {return;}if (this.input) {this.input.focus();}this.handleFocus();} /**
489
479
  * Закрывает выпадашку выбора дня
490
480
  * @public
491
- */;_proto.close = function close() {this.setState({ opened: false });};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme) }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});};_proto.parseValueToDate = function parseValueToDate(value) {if (value === undefined || value === null) {return undefined;}var date = new _InternalDate.InternalDate({ value: value });if (date.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Native] })) {return date.toString({ withPad: true });}return undefined;};_proto.renderTodayLink = function renderTodayLink() {var _this$locale = this.locale,order = _this$locale.order,separator = _this$locale.separator;var today = new _InternalDate.InternalDate({ order: order, separator: separator }).setComponents(_InternalDateGetter.InternalDateGetter.getTodayComponents()).toString({ withPad: true, withSeparator: true });return /*#__PURE__*/_react.default.createElement("div", { style: { margin: 8 } }, /*#__PURE__*/_react.default.createElement(_Button.Button, { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, width: "100%", onClick: this.handleSelectToday(today), icon: /*#__PURE__*/_react.default.createElement(_ArrowAUp16Light.ArrowAUpIcon16Light, null) }, this.locale.today));};return DatePicker;}(_react.default.PureComponent), _DatePicker.__KONTUR_REACT_UI__ = 'DatePicker', _DatePicker.displayName = 'DatePicker', _DatePicker.propTypes = { autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, /**
481
+ */;_proto.close = function close() {this.setState({ opened: false });};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme) }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});};_proto.parseValueToDate = function parseValueToDate(value) {if (value === undefined || value === null) {return undefined;}var date = new _InternalDate.InternalDate({ value: value });if (date.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Native] })) {return date.toString({ withPad: true });}return undefined;};_proto.renderTodayLink = function renderTodayLink() {var _this3 = this;var _this$locale = this.locale,order = _this$locale.order,separator = _this$locale.separator;var today = new _InternalDate.InternalDate({ order: order, separator: separator }).setComponents(_InternalDateGetter.InternalDateGetter.getTodayComponents()).toString({ withPad: true, withSeparator: true });return /*#__PURE__*/_react.default.createElement("div", { style: { margin: 8 } }, /*#__PURE__*/_react.default.createElement(_Button.Button, { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, width: "100%", onClick: function onClick() {_this3.handleSelect(today);}, icon: /*#__PURE__*/_react.default.createElement(_ArrowAUp16Light.ArrowAUpIcon16Light, null) }, this.locale.today));};return DatePicker;}(_react.default.PureComponent), _DatePicker.__KONTUR_REACT_UI__ = 'DatePicker', _DatePicker.displayName = 'DatePicker', _DatePicker.propTypes = { autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, /**
492
482
  * Включает кнопку сегодня в календаре
493
483
  */enableTodayLink: _propTypes.default.bool, error: _propTypes.default.bool, /**
494
484
  * Максимальная дата в календаре.
@@ -1 +1 @@
1
- {"version":3,"names":["_propTypes","_interopRequireDefault","require","_react","_Popup","_locale","_decorators","_InternalDateGetter","_ArrowAUp16Light","_ThemeFactory","_InternalDate","_constants","_types","_DateInput","_filterProps","_CommonWrapper","_client","_NativeDateInput","_rootNode","_utils","_createPropsGetter","_Calendar","_ThemeContext","_Button","_CalendarUtils","_decorator","_getMenuPositions","_ZIndex","_DatePicker2","_locale2","_MobilePicker","_dec","_class","_DatePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","exports","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","locale","DatePickerLocaleHelper","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","calendar","state","opened","canUseMobileNativeDatePicker","today","getTodayDate","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobile","isMobileLayout","default","createElement","MobilePicker","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleBlur","renderDay","onMonthChange","LocaleContext","Provider","Calendar","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","Popup","hasShadow","priority","ZIndex","priorities","PopupMenu","positions","getMenuPositions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","styles","calendarWrapper","onMouseDown","e","preventDefault","ref","c","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","DateInput","_extends2","id","filterProps","getInputRef","width","withIcon","onBlur","undefined","onFocus","handleFocus","NativeDateInput","handleSelectToday","handleSelect","_this$state$today","monthNative","month","year","getMonthInHumanFormat","scrollToMonth","getRootNode","isNonNullable","minWidth","setState","close","blur","_inheritsLoose2","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","_this2","ThemeContext","Consumer","ThemeFactory","create","calendarBottomSeparatorBorder","CommonWrapper","rootNodeRef","setRootNode","date","InternalDate","validate","checks","InternalDateValidateCheck","NotNull","Native","toString","withPad","_this$locale","order","separator","setComponents","InternalDateGetter","getTodayComponents","withSeparator","Button","todayAriaLabel","onClick","icon","ArrowAUpIcon16Light","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","isRequired","oneOf","oneOfType","number","func","MIN_FULLDATE","MAX_FULLDATE","range","_range","_range$minDate","_range$maxDate","internalDate","InternalDateOrder","DMY","InternalDateSeparator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { HTMLAttributes } from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getMonthInHumanFormat, getTodayDate } from '../Calendar/CalendarUtils';\nimport { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuPos: PropTypes.oneOf(['top', 'bottom']),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n\n renderDay: PropTypes.func,\n\n onMonthChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleBlur}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n this.handleSelect(today);\n\n if (this.calendar) {\n const { month: monthNative, year } = this.state.today;\n const month = getMonthInHumanFormat(monthNative);\n this.calendar.scrollToMonth(month, year);\n }\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_propTypes","_interopRequireDefault","require","_react","_Popup","_locale","_decorators","_InternalDateGetter","_ArrowAUp16Light","_ThemeFactory","_InternalDate","_constants","_types","_DateInput","_filterProps","_CommonWrapper","_client","_NativeDateInput","_rootNode","_utils","_createPropsGetter","_Calendar","_ThemeContext","_Button","_CalendarUtils","_decorator","_getMenuPositions","_ZIndex","_DatePicker2","_locale2","_MobilePicker","_dec","_class","_DatePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","exports","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","locale","DatePickerLocaleHelper","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","opened","canUseMobileNativeDatePicker","today","getTodayDate","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobile","isMobileLayout","default","createElement","MobilePicker","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleBlur","renderDay","onMonthChange","LocaleContext","Provider","Calendar","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","Popup","hasShadow","priority","ZIndex","priorities","PopupMenu","positions","getMenuPositions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","styles","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","DateInput","_extends2","id","filterProps","ref","getInputRef","width","withIcon","onBlur","undefined","onFocus","handleFocus","NativeDateInput","getRootNode","isNonNullable","minWidth","setState","close","handleSelect","blur","_inheritsLoose2","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","_this2","ThemeContext","Consumer","ThemeFactory","create","calendarBottomSeparatorBorder","CommonWrapper","rootNodeRef","setRootNode","date","InternalDate","validate","checks","InternalDateValidateCheck","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","InternalDateGetter","getTodayComponents","withSeparator","Button","todayAriaLabel","onClick","icon","ArrowAUpIcon16Light","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","isRequired","oneOf","oneOfType","number","func","MIN_FULLDATE","MAX_FULLDATE","range","_range","_range$minDate","_range$maxDate","internalDate","InternalDateOrder","DMY","InternalDateSeparator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { HTMLAttributes } from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuPos: PropTypes.oneOf(['top', 'bottom']),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n\n renderDay: PropTypes.func,\n\n onMonthChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleBlur}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -80,6 +80,7 @@ export interface MenuItemProps extends Pick<AriaAttributes, 'aria-describedby' |
80
80
  */
81
81
  isNotSelectable?: boolean;
82
82
  isMobile?: boolean;
83
+ /** @ignore */
83
84
  scrollIntoView?: boolean;
84
85
  }
85
86
  export declare const MenuItemDataTids: {
@@ -2,6 +2,7 @@
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _globalObject = require("@skbkontur/global-object");
4
4
 
5
+ var _scrollYCenterIntoNearestScrollable = require("../../lib/dom/scrollYCenterIntoNearestScrollable");
5
6
 
6
7
  var _utils = require("../../lib/utils");
7
8
  var _ThemeContext = require("../../lib/theming/ThemeContext");
@@ -98,6 +99,7 @@ var _MenuItem2 = require("./MenuItem.styles");var _excluded = ["link", "comment"
98
99
 
99
100
 
100
101
 
102
+
101
103
 
102
104
 
103
105
  var MenuItemDataTids = exports.MenuItemDataTids = {
@@ -207,8 +209,6 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
207
209
 
208
210
 
209
211
 
210
-
211
-
212
212
 
213
213
 
214
214
 
@@ -432,7 +432,7 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
432
432
 
433
433
  hasIconAmongItems = function () {var _this$context$navigat3;
434
434
  return Boolean((_this$context$navigat3 = _this.context.navigation) == null ? void 0 : _this$context$navigat3.items.some(function (item) {return item.props.icon;}));
435
- };return _this;}(0, _inheritsLoose2.default)(MenuItem, _React$Component);var _proto = MenuItem.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ hover: _this2.isHover, selected: _this2.isSelected }), _this2.props), _this2.renderMain(_this2.props));});};_proto.componentDidMount = function componentDidMount() {if (this.props.scrollIntoView) {var _this$rootRef;(_this$rootRef = this.rootRef) == null || _this$rootRef.scrollIntoView({ block: 'center' });}if (this.rootRef && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {this.setState({ iconOffsetTop: _globalObject.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });}if (this.contentRef.current && !this.props.isNotSelectable) {var _this$context$navigat4;(_this$context$navigat4 = this.context.navigation) == null || _this$context$navigat4.add(this.contentRef.current, this);}if (this.props.icon) {var _this$context$setEnab, _this$context;(_this$context$setEnab = (_this$context = this.context).setEnableIconPadding) == null || _this$context$setEnab.call(_this$context, true);}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.contentRef.current) {var _this$context$navigat5, _this$context$setEnab2, _this$context2;!this.props.isNotSelectable && ((_this$context$navigat5 = this.context.navigation) == null ? void 0 : _this$context$navigat5.remove(this.contentRef.current));(_this$context$setEnab2 = (_this$context2 = this.context).setEnableIconPadding) == null || _this$context$setEnab2.call(_this$context2, this.hasIconAmongItems());}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.icon !== this.props.icon) {var _this$context$setEnab3, _this$context3;(_this$context$setEnab3 = (_this$context3 = this.context).setEnableIconPadding) == null || _this$context$setEnab3.call(_this$context3, !!this.props.icon || this.hasIconAmongItems());}if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {if (this.props.isNotSelectable) {var _this$context$navigat6;this.unhighlight();(_this$context$navigat6 = this.context.navigation) == null || _this$context$navigat6.remove(this.contentRef.current);} else {var _this$context$navigat7;(_this$context$navigat7 = this.context.navigation) == null || _this$context$navigat7.add(this.contentRef.current, this);}}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.rootLarge(this.theme);case 'medium':return _MenuItem2.styles.rootMedium(this.theme);case 'small':default:return _MenuItem2.styles.rootSmall(this.theme);}};_proto.getIconSizeClassName = function getIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.iconLarge(this.theme);case 'medium':return _MenuItem2.styles.iconMedium(this.theme);case 'small':default:return _MenuItem2.styles.iconSmall(this.theme);}};_proto.getWithIconSizeClassName = function getWithIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.withIconLarge(this.theme);case 'medium':return _MenuItem2.styles.withIconMedium(this.theme);case 'small':default:return _MenuItem2.styles.withIconSmall(this.theme);}};return (0, _createClass2.default)(MenuItem, [{ key: "activeState", get: function get() {return this.state.highlighted ? 'hover' : this.props.state;} }, { key: "isHover", get: function get() {return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;} }, { key: "isSelected", get: function get() {return this.props.state === 'selected' && !this.state.highlighted;} }]);}(_react.default.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.propTypes = { comment: _propTypes.default.node, disabled: _propTypes.default.bool, href: _propTypes.default.string, icon: _propTypes.default.node, loose: _propTypes.default.bool, state: _propTypes.default.string, target: _propTypes.default.string, onClick: _propTypes.default.func, size: _propTypes.default.string }, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class;
435
+ };return _this;}(0, _inheritsLoose2.default)(MenuItem, _React$Component);var _proto = MenuItem.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ hover: _this2.isHover, selected: _this2.isSelected }), _this2.props), _this2.renderMain(_this2.props));});};_proto.componentDidMount = function componentDidMount() {if (this.props.scrollIntoView && this.rootRef) {(0, _scrollYCenterIntoNearestScrollable.scrollYCenterIntoNearestScrollable)(this.rootRef);}if (this.rootRef && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {this.setState({ iconOffsetTop: _globalObject.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });}if (this.contentRef.current && !this.props.isNotSelectable) {var _this$context$navigat4;(_this$context$navigat4 = this.context.navigation) == null || _this$context$navigat4.add(this.contentRef.current, this);}if (this.props.icon) {var _this$context$setEnab, _this$context;(_this$context$setEnab = (_this$context = this.context).setEnableIconPadding) == null || _this$context$setEnab.call(_this$context, true);}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.contentRef.current) {var _this$context$navigat5, _this$context$setEnab2, _this$context2;!this.props.isNotSelectable && ((_this$context$navigat5 = this.context.navigation) == null ? void 0 : _this$context$navigat5.remove(this.contentRef.current));(_this$context$setEnab2 = (_this$context2 = this.context).setEnableIconPadding) == null || _this$context$setEnab2.call(_this$context2, this.hasIconAmongItems());}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.icon !== this.props.icon) {var _this$context$setEnab3, _this$context3;(_this$context$setEnab3 = (_this$context3 = this.context).setEnableIconPadding) == null || _this$context$setEnab3.call(_this$context3, !!this.props.icon || this.hasIconAmongItems());}if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {if (this.props.isNotSelectable) {var _this$context$navigat6;this.unhighlight();(_this$context$navigat6 = this.context.navigation) == null || _this$context$navigat6.remove(this.contentRef.current);} else {var _this$context$navigat7;(_this$context$navigat7 = this.context.navigation) == null || _this$context$navigat7.add(this.contentRef.current, this);}}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.rootLarge(this.theme);case 'medium':return _MenuItem2.styles.rootMedium(this.theme);case 'small':default:return _MenuItem2.styles.rootSmall(this.theme);}};_proto.getIconSizeClassName = function getIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.iconLarge(this.theme);case 'medium':return _MenuItem2.styles.iconMedium(this.theme);case 'small':default:return _MenuItem2.styles.iconSmall(this.theme);}};_proto.getWithIconSizeClassName = function getWithIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.withIconLarge(this.theme);case 'medium':return _MenuItem2.styles.withIconMedium(this.theme);case 'small':default:return _MenuItem2.styles.withIconSmall(this.theme);}};return (0, _createClass2.default)(MenuItem, [{ key: "activeState", get: function get() {return this.state.highlighted ? 'hover' : this.props.state;} }, { key: "isHover", get: function get() {return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;} }, { key: "isSelected", get: function get() {return this.props.state === 'selected' && !this.state.highlighted;} }]);}(_react.default.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.propTypes = { comment: _propTypes.default.node, disabled: _propTypes.default.bool, href: _propTypes.default.string, icon: _propTypes.default.node, loose: _propTypes.default.bool, state: _propTypes.default.string, target: _propTypes.default.string, onClick: _propTypes.default.func, size: _propTypes.default.string }, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class;
436
436
 
437
437
 
438
438
  var isMenuItem = exports.isMenuItem = (0, _utils.isReactUIComponent)('MenuItem');
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_utils","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_MenuContext","_getVisualStateDataAttributes","_MenuItem2","_excluded","_class","_MenuItem","MenuItemDataTids","exports","root","content","comment","MenuItem","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","React","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_props$rel","rel","isExternalLink","isNotSelectable","rest","_objectWithoutPropertiesLoose2","default","iconElement","_cx","createElement","style","top","className","cx","styles","getIconSizeClassName","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","children","isFunction","Component","getComponent","_extends2","ref","setRootRef","activeState","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","isNonNullable","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","componentDidMount","_this$rootRef","block","isBrowser","globalObject","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass2","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","PropTypes","node","bool","string","func","contextType","MenuContext","isMenuItem","isReactUIComponent"],"sources":["MenuItem.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { SizeProp } from '../../lib/types/props';\nimport { MenuContext, MenuContextType } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /**\n * @ignore\n */\n _enableIconPadding?: boolean;\n /**\n * Добавляет описание для элемента меню.\n */\n comment?: React.ReactNode;\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет элементу меню иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n */\n link?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * @ignore\n */\n loose?: boolean;\n /**\n * @ignore\n */\n state?: MenuItemState;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n /**\n * HTML-атрибут `target`.\n */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут `title`.\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n /**\n * HTML-атрибут `href`.\n */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n /**\n * HTML-атрибут `rel`.\n *\n * Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\"\n */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n /**\n * Заменяет корневой элемент, на компонент переданный в проп.\n *\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`.\n */\n component?: React.ComponentType<any>;\n /**\n * Запрещает выделение и выбор данного пункта меню\n *\n */\n isNotSelectable?: boolean;\n\n isMobile?: boolean;\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n {this.renderMain(this.props)}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView) {\n this.rootRef?.scrollIntoView({\n block: 'center',\n });\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = this.props.href && isExternalLink(this.props.href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n ...rest\n } = props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {this.props.comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_globalObject","_scrollYCenterIntoNearestScrollable","_utils","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_MenuContext","_getVisualStateDataAttributes","_MenuItem2","_excluded","_class","_MenuItem","MenuItemDataTids","exports","root","content","comment","MenuItem","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","React","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_props$rel","rel","isExternalLink","isNotSelectable","rest","_objectWithoutPropertiesLoose2","default","iconElement","_cx","createElement","style","top","className","cx","styles","getIconSizeClassName","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","children","isFunction","Component","getComponent","_extends2","ref","setRootRef","activeState","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","isNonNullable","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","CommonWrapper","rootNodeRef","setRootNode","getVisualStateDataAttributes","componentDidMount","scrollYCenterIntoNearestScrollable","isBrowser","globalObject","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass2","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","PropTypes","node","bool","string","func","contextType","MenuContext","isMenuItem","isReactUIComponent"],"sources":["MenuItem.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable';\nimport { Nullable } from '../../typings/utility-types';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { SizeProp } from '../../lib/types/props';\nimport { MenuContext, MenuContextType } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /**\n * @ignore\n */\n _enableIconPadding?: boolean;\n /**\n * Добавляет описание для элемента меню.\n */\n comment?: React.ReactNode;\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет элементу меню иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n */\n link?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * @ignore\n */\n loose?: boolean;\n /**\n * @ignore\n */\n state?: MenuItemState;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n /**\n * HTML-атрибут `target`.\n */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут `title`.\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n /**\n * HTML-атрибут `href`.\n */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n /**\n * HTML-атрибут `rel`.\n *\n * Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\"\n */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n /**\n * Заменяет корневой элемент, на компонент переданный в проп.\n *\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`.\n */\n component?: React.ComponentType<any>;\n /**\n * Запрещает выделение и выбор данного пункта меню\n *\n */\n isNotSelectable?: boolean;\n\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [DropdownMenu](#/Components/DropdownMenu), [Kebab](#/Components/Kebab), [TooltipMenu](#/Components/TooltipMenu) и [Select](#/Components/Select).\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n {this.renderMain(this.props)}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView && this.rootRef) {\n scrollYCenterIntoNearestScrollable(this.rootRef);\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = this.props.href && isExternalLink(this.props.href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n ...rest\n } = props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {this.props.comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,10 @@ SingleToast = exports.SingleToast = /*#__PURE__*/function (_React$Component) {fu
18
18
 
19
19
 
20
20
 
21
+
22
+
23
+
24
+
21
25
  render = function () {
22
26
  return /*#__PURE__*/_react.default.createElement(_Toast.Toast, (0, _extends2.default)({ ref: SingleToast.ref }, _this.props));
23
- };return _this;}(0, _inheritsLoose2.default)(SingleToast, _React$Component);return SingleToast;}(_react.default.Component);_SingleToast = SingleToast;SingleToast.__KONTUR_REACT_UI__ = 'SingleToast';SingleToast.displayName = 'SingleToast';SingleToast.ref = /*#__PURE__*/_react.default.createRef();SingleToast.push = function () {var _SingleToast$ref$curr;_SingleToast.close();for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}(_SingleToast$ref$curr = _SingleToast.ref.current) == null || _SingleToast$ref$curr.push.apply(_SingleToast$ref$curr, args);};SingleToast.close = function () {_reactDom.default.flushSync(function () {var _SingleToast$ref$curr2;return (_SingleToast$ref$curr2 = _SingleToast.ref.current) == null ? void 0 : _SingleToast$ref$curr2.close();});};
27
+ };return _this;}(0, _inheritsLoose2.default)(SingleToast, _React$Component);return SingleToast;}(_react.default.Component);_SingleToast = SingleToast;SingleToast.__KONTUR_REACT_UI__ = 'SingleToast';SingleToast.displayName = 'SingleToast';SingleToast.ref = /*#__PURE__*/_react.default.createRef();SingleToast.push = function () {var _SingleToast$ref$curr;_SingleToast.close();for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}(_SingleToast$ref$curr = _SingleToast.ref.current) == null || _SingleToast$ref$curr.push.apply(_SingleToast$ref$curr, args);};SingleToast.close = function () {if (_react.default.version.search('18') === 0) {_reactDom.default.flushSync(function () {var _SingleToast$ref$curr2;return (_SingleToast$ref$curr2 = _SingleToast.ref.current) == null ? void 0 : _SingleToast$ref$curr2.close();});} else {var _SingleToast$ref$curr3;(_SingleToast$ref$curr3 = _SingleToast.ref.current) == null || _SingleToast$ref$curr3.close();}};
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","ReactDOM","flushSync","_SingleToast$ref$curr2"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * Позволяет вызывать тосты с помощью статических методов. В отличие от статических методов из компонента `<Toast>` - их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA,mBAAmD,IAAAG,YAAA;;AAEnD;AACA;AACA,GAFA;AAGaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;IAYtBU,MAAM,GAAG,YAAM;MACb,oBAAOnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,MAAA,CAAAkB,KAAK,MAAAC,SAAA,CAAAH,OAAA,IAACI,GAAG,EAAElB,WAAW,CAACkB,GAAI,IAAKf,KAAA,CAAKgB,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAhB,KAAA,MAAAiB,eAAA,CAAAN,OAAA,EAAAd,WAAA,EAAAE,gBAAA,SAAAF,WAAA,GAd8BqB,cAAK,CAACC,SAAS,EAAAvB,YAAA,GAAnCC,WAAW,CAAXA,WAAW,CACRuB,mBAAmB,GAAG,aAAa,CADtCvB,WAAW,CAERwB,WAAW,GAAG,aAAa,CAF9BxB,WAAW,CAIRkB,GAAG,gBAAGG,cAAK,CAACI,SAAS,CAAQ,CAAC,CAJjCzB,WAAW,CAKR0B,IAAI,GAAsB,YAAa,KAAAC,qBAAA,CACnD3B,YAAW,CAAC4B,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EADsBC,IAAI,OAAAC,KAAA,CAAAqB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJvB,IAAI,CAAAuB,KAAA,IAAAzB,SAAA,CAAAyB,KAAA,GAE9C,CAAAH,qBAAA,GAAA3B,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAf,KAAA,CAAAgB,qBAAA,EAAIpB,IAAI,CAAC,CACxC,CAAC,CARUP,WAAW,CASR4B,KAAK,GAAuB,YAAM,CAC9CI,iBAAQ,CAACC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMlC,YAAW,CAACkB,GAAG,CAACa,OAAO,qBAAvBG,sBAAA,CAAyBN,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","ReactDOM","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * Позволяет вызывать тосты с помощью статических методов. В отличие от статических методов из компонента `<Toast>` - их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n } else {\n SingleToast.ref.current?.close();\n }\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA,mBAAmD,IAAAG,YAAA;;AAEnD;AACA;AACA,GAFA;AAGaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;IAgBtBU,MAAM,GAAG,YAAM;MACb,oBAAOnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,MAAA,CAAAkB,KAAK,MAAAC,SAAA,CAAAH,OAAA,IAACI,GAAG,EAAElB,WAAW,CAACkB,GAAI,IAAKf,KAAA,CAAKgB,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAhB,KAAA,MAAAiB,eAAA,CAAAN,OAAA,EAAAd,WAAA,EAAAE,gBAAA,SAAAF,WAAA,GAlB8BqB,cAAK,CAACC,SAAS,EAAAvB,YAAA,GAAnCC,WAAW,CAAXA,WAAW,CACRuB,mBAAmB,GAAG,aAAa,CADtCvB,WAAW,CAERwB,WAAW,GAAG,aAAa,CAF9BxB,WAAW,CAIRkB,GAAG,gBAAGG,cAAK,CAACI,SAAS,CAAQ,CAAC,CAJjCzB,WAAW,CAKR0B,IAAI,GAAsB,YAAa,KAAAC,qBAAA,CACnD3B,YAAW,CAAC4B,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EADsBC,IAAI,OAAAC,KAAA,CAAAqB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJvB,IAAI,CAAAuB,KAAA,IAAAzB,SAAA,CAAAyB,KAAA,GAE9C,CAAAH,qBAAA,GAAA3B,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAf,KAAA,CAAAgB,qBAAA,EAAIpB,IAAI,CAAC,CACxC,CAAC,CARUP,WAAW,CASR4B,KAAK,GAAuB,YAAM,CAC9C,IAAIP,cAAK,CAACW,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpCC,iBAAQ,CAACC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMpC,YAAW,CAACkB,GAAG,CAACa,OAAO,qBAAvBK,sBAAA,CAAyBR,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC,MAAM,KAAAS,sBAAA,CACL,CAAAA,sBAAA,GAAArC,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBM,sBAAA,CAAyBT,KAAK,CAAC,CAAC,CAClC,CACF,CAAC","ignoreList":[]}
@@ -187,9 +187,9 @@ ZIndex = exports.ZIndex = (0, _rootNode.rootNode)(_class = (_ZIndex = /*#__PURE_
187
187
  var savedZIndexContext = DEFAULT_ZINDEX_CONTEXT;
188
188
  var portal = (_element$parentElemen = element.parentElement) == null ? void 0 : _element$parentElemen.closest("[" + _RenderContainer.PORTAL_OUTLET_ATTR + "]");
189
189
 
190
- if ((0, _isInstanceOf.isInstanceOf)(portal, _globalObject.globalObject.HTMLElement)) {var _noscript$parentEleme;
190
+ if ((0, _isInstanceOf.isInstanceOf)(portal, _globalObject.globalObject.HTMLElement)) {var _globalObject$documen, _noscript$parentEleme;
191
191
  var portalID = portal.getAttribute(_RenderContainer.PORTAL_OUTLET_ATTR);
192
- var noscript = document.querySelector("noscript[" + _RenderContainer.PORTAL_INLET_ATTR + "=\"" + portalID + "\"]");
192
+ var noscript = (_globalObject$documen = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen.querySelector("noscript[" + _RenderContainer.PORTAL_INLET_ATTR + "=\"" + portalID + "\"]");
193
193
  var parent = noscript == null || (_noscript$parentEleme = noscript.parentElement) == null ? void 0 : _noscript$parentEleme.closest('[style*=z-index]');
194
194
 
195
195
  if ((0, _isInstanceOf.isInstanceOf)(parent, _globalObject.globalObject.HTMLElement)) {var _parent$parentElement;