@skbkontur/react-ui 6.0.5 → 6.0.7-b5d2c.0
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 +11 -0
- package/components/Calendar/Calendar.d.ts +14 -14
- package/components/Calendar/Calendar.js +2 -2
- package/components/Calendar/Calendar.js.map +1 -1
- package/components/Calendar/CalendarDay.d.ts +2 -2
- package/components/Calendar/CalendarDay.js +1 -1
- package/components/Calendar/CalendarDay.js.map +1 -1
- package/components/Center/Center.d.ts +3 -3
- package/components/Center/Center.js +2 -2
- package/components/Center/Center.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +11 -14
- package/components/Checkbox/Checkbox.js +3 -6
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +5 -3
- package/components/ComboBox/ComboBox.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +15 -15
- package/components/DateInput/DateInput.js +1 -1
- package/components/DateInput/DateInput.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +14 -16
- package/components/DatePicker/DatePicker.js +4 -5
- package/components/DatePicker/DatePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +4 -3
- package/components/DateRangePicker/DateRangePicker.js +5 -3
- package/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePickerInput.js +6 -4
- package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +10 -15
- package/components/Dropdown/Dropdown.js +2 -8
- package/components/Dropdown/Dropdown.js.map +1 -1
- package/components/DropdownMenu/DropdownMenu.d.ts +17 -15
- package/components/DropdownMenu/DropdownMenu.js +4 -1
- package/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +4 -6
- package/components/FileUploader/FileUploader.js +1 -3
- package/components/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploaderFile.d.ts +3 -3
- package/components/FileUploader/FileUploaderFile.js +1 -1
- package/components/FileUploader/FileUploaderFile.js.map +1 -1
- package/components/Input/Input.d.ts +2 -2
- package/components/Input/Input.js.map +1 -1
- package/components/MenuFooter/MenuFooter.d.ts +4 -8
- package/components/MenuFooter/MenuFooter.js +1 -5
- package/components/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuHeader/MenuHeader.d.ts +4 -8
- package/components/MenuHeader/MenuHeader.js +1 -5
- package/components/MenuHeader/MenuHeader.js.map +1 -1
- package/components/MenuItem/MenuItem.d.ts +11 -13
- package/components/MenuItem/MenuItem.js +1 -3
- package/components/MenuItem/MenuItem.js.map +1 -1
- package/components/MenuSeparator/MenuSeparator.d.ts +1 -3
- package/components/MenuSeparator/MenuSeparator.js +1 -3
- package/components/MenuSeparator/MenuSeparator.js.map +1 -1
- package/components/MiniModal/MiniModal.d.ts +1 -1
- package/components/MiniModal/MiniModal.js +1 -1
- package/components/MiniModal/MiniModal.js.map +1 -1
- package/components/MiniModal/MiniModalBody.d.ts +1 -1
- package/components/MiniModal/MiniModalBody.js +1 -1
- package/components/MiniModal/MiniModalBody.js.map +1 -1
- package/components/MiniModal/MiniModalFooter.d.ts +1 -1
- package/components/MiniModal/MiniModalFooter.js +1 -1
- package/components/MiniModal/MiniModalFooter.js.map +1 -1
- package/components/MiniModal/MiniModalHeader.d.ts +1 -1
- package/components/MiniModal/MiniModalHeader.js +1 -1
- package/components/MiniModal/MiniModalHeader.js.map +1 -1
- package/components/Paging/Paging.d.ts +2 -2
- package/components/Paging/Paging.js.map +1 -1
- package/components/Radio/Radio.d.ts +7 -7
- package/components/Radio/Radio.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/components/RadioGroup/RadioGroup.js.map +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.d.ts +2 -2
- package/components/ResponsiveLayout/ResponsiveLayout.js +1 -1
- package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
- package/components/ScrollContainer/ScrollBar.d.ts +4 -4
- package/components/ScrollContainer/ScrollBar.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +17 -12
- package/components/ScrollContainer/ScrollContainer.js +6 -1
- package/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/Select/Select.d.ts +6 -4
- package/components/Select/Select.js +2 -2
- package/components/Select/Select.js.map +1 -1
- package/components/SingleToast/SingleToast.d.ts +1 -6
- package/components/SingleToast/SingleToast.js +1 -6
- package/components/SingleToast/SingleToast.js.map +1 -1
- package/components/Spinner/Spinner.d.ts +1 -1
- package/components/Spinner/Spinner.js +1 -1
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Sticky/Sticky.d.ts +0 -4
- package/components/Sticky/Sticky.js +0 -4
- package/components/Sticky/Sticky.js.map +1 -1
- package/components/Switcher/Switcher.d.ts +8 -10
- package/components/Switcher/Switcher.js +1 -3
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Tabs/Indicator.styles.d.ts +0 -1
- package/components/Tabs/Indicator.styles.js +1 -4
- package/components/Tabs/Indicator.styles.js.map +1 -1
- package/components/TimePicker/TimeClockIcon.d.ts +3 -0
- package/components/TimePicker/TimeClockIcon.js +11 -0
- package/components/TimePicker/TimeClockIcon.js.map +1 -0
- package/components/TimePicker/TimeFragmentsView.d.ts +15 -0
- package/components/TimePicker/TimeFragmentsView.js +72 -0
- package/components/TimePicker/TimeFragmentsView.js.map +1 -0
- package/components/TimePicker/TimeFragmentsView.styles.d.ts +12 -0
- package/components/TimePicker/TimeFragmentsView.styles.js +43 -0
- package/components/TimePicker/TimeFragmentsView.styles.js.map +1 -0
- package/components/TimePicker/TimeInput.d.ts +23 -0
- package/components/TimePicker/TimeInput.js +86 -0
- package/components/TimePicker/TimeInput.js.map +1 -0
- package/components/TimePicker/TimePicker.d.ts +27 -0
- package/components/TimePicker/TimePicker.js +351 -0
- package/components/TimePicker/TimePicker.js.map +1 -0
- package/components/TimePicker/TimePicker.styles.d.ts +12 -0
- package/components/TimePicker/TimePicker.styles.js +39 -0
- package/components/TimePicker/TimePicker.styles.js.map +1 -0
- package/components/TimePicker/helpers/TimePicker.constants.d.ts +19 -0
- package/components/TimePicker/helpers/TimePicker.constants.js +42 -0
- package/components/TimePicker/helpers/TimePicker.constants.js.map +1 -0
- package/components/TimePicker/helpers/TimePicker.editing.d.ts +6 -0
- package/components/TimePicker/helpers/TimePicker.editing.js +77 -0
- package/components/TimePicker/helpers/TimePicker.editing.js.map +1 -0
- package/components/TimePicker/helpers/TimePicker.layout.d.ts +7 -0
- package/components/TimePicker/helpers/TimePicker.layout.js +17 -0
- package/components/TimePicker/helpers/TimePicker.layout.js.map +1 -0
- package/components/TimePicker/helpers/TimePicker.selection.d.ts +7 -0
- package/components/TimePicker/helpers/TimePicker.selection.js +51 -0
- package/components/TimePicker/helpers/TimePicker.selection.js.map +1 -0
- package/components/TimePicker/helpers/TimePicker.shared.d.ts +24 -0
- package/components/TimePicker/helpers/TimePicker.shared.js +50 -0
- package/components/TimePicker/helpers/TimePicker.shared.js.map +1 -0
- package/components/TimePicker/helpers/TimePicker.value.d.ts +10 -0
- package/components/TimePicker/helpers/TimePicker.value.js +47 -0
- package/components/TimePicker/helpers/TimePicker.value.js.map +1 -0
- package/components/TimePicker/helpers/scrollSelectedSlotIntoView.d.ts +1 -0
- package/components/TimePicker/helpers/scrollSelectedSlotIntoView.js +21 -0
- package/components/TimePicker/helpers/scrollSelectedSlotIntoView.js.map +1 -0
- package/components/TimePicker/hooks/useTimePickerDropdown.d.ts +17 -0
- package/components/TimePicker/hooks/useTimePickerDropdown.js +62 -0
- package/components/TimePicker/hooks/useTimePickerDropdown.js.map +1 -0
- package/components/TimePicker/hooks/useTimePickerSelection.d.ts +15 -0
- package/components/TimePicker/hooks/useTimePickerSelection.js +43 -0
- package/components/TimePicker/hooks/useTimePickerSelection.js.map +1 -0
- package/components/TimePicker/hooks/useTimePickerValue.d.ts +18 -0
- package/components/TimePicker/hooks/useTimePickerValue.js +47 -0
- package/components/TimePicker/hooks/useTimePickerValue.js.map +1 -0
- package/components/TimePicker/index.d.ts +2 -0
- package/components/TimePicker/index.js +2 -0
- package/components/TimePicker/index.js.map +1 -0
- package/components/Tooltip/Tooltip.d.ts +4 -4
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/TooltipMenu/TooltipMenu.d.ts +13 -19
- package/components/TooltipMenu/TooltipMenu.js +2 -8
- package/components/TooltipMenu/TooltipMenu.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxMenu.js +2 -2
- package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxView.js +2 -2
- package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBox.js +1 -0
- package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.d.ts +2 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js +20 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js.map +1 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.d.ts +2 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js +20 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js.map +1 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.d.ts +2 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js +20 -0
- package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js.map +1 -0
- package/internal/themes/BasicTheme.d.ts +3 -0
- package/internal/themes/BasicTheme.js +33 -0
- package/internal/themes/BasicTheme.js.map +1 -1
- package/package.json +5 -2
|
@@ -30,11 +30,7 @@ export var MenuFooterDataTids = {
|
|
|
30
30
|
root: 'MenuFooter__root',
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
|
-
* Футер меню
|
|
34
|
-
*
|
|
35
|
-
* `MenuFooter`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.
|
|
36
|
-
*
|
|
37
|
-
* Сущности, в которых может быть использован `MenuFooter`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
33
|
+
* Футер меню — надпись в нижней части меню.
|
|
38
34
|
*/
|
|
39
35
|
var MenuFooter = forwardRefAndName('MenuFooter', function MenuFooter(_a, ref) {
|
|
40
36
|
var _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuFooter.js","sourceRoot":"","sources":["../../../components/MenuFooter/MenuFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"MenuFooter.js","sourceRoot":"","sources":["../../../components/MenuFooter/MenuFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX;;GAEG;AAEH,IAAM,UAAU,GAAG,iBAAiB,CAClC,YAAY,EACZ,SAAS,UAAU,CACjB,EAAsF,EACtF,GAA8B;;IAD5B,IAAA,EAAE,QAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,EAAE,YAAc,EAAd,IAAI,mBAAG,OAAO,KAAA,EAAK,IAAI,cAAnE,gDAAqE,CAAF;IAGnE,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,SAAS,oBAAoB;QAC3B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,SAAS,+BAA+B;QACtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI;QACrB,6BACE,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,cACE,kBAAkB,CAAC,IAAI,EACjC,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE;gBAClC,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,IAAI;gBAC1B,GAAC,+BAA+B,EAAE,IAAG,kBAAkB;oBACvD,IAED,QAAQ,CACL,CACQ,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAED,UAAkB,CAAC,eAAe,GAAG,IAAI,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,cAAc,CAAkB,KAAK,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACrE,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC","sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getStyles } from './MenuFooter.styles.js';\n\nexport interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Размер надписи. */\n size?: SizeProp;\n\n /** Добавляет отступ слева для выравнивания текста по иконкам MenuItem */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n}\n\nexport const MenuFooterDataTids = {\n root: 'MenuFooter__root',\n} as const;\n\n/**\n * Футер меню — надпись в нижней части меню.\n */\n\nconst MenuFooter = forwardRefAndName(\n 'MenuFooter',\n function MenuFooter(\n { id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuFooterProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n id={id}\n ref={ref}\n data-tid={MenuFooterDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n(MenuFooter as any).__MENU_FOOTER__ = true;\n\nexport { MenuFooter };\n\nexport const isMenuFooter = (child: React.ReactNode): child is React.ReactElement<MenuFooterProps> => {\n return React.isValidElement<MenuFooterProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_FOOTER__')\n : false;\n};\n"]}
|
|
@@ -3,22 +3,18 @@ import React from 'react';
|
|
|
3
3
|
import type { CommonProps } from '../../internal/CommonWrapper/index.js';
|
|
4
4
|
import type { SizeProp } from '../../lib/types/props.js';
|
|
5
5
|
export interface MenuHeaderProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {
|
|
6
|
-
/**
|
|
6
|
+
/** Размер заголовка. */
|
|
7
|
+
size?: SizeProp;
|
|
8
|
+
/** Добавляет отступ слева для выравнивания текста по иконкам MenuItem */
|
|
7
9
|
_enableIconPadding?: boolean;
|
|
8
10
|
/** @ignore */
|
|
9
11
|
children: ReactNode;
|
|
10
|
-
/** Задает размер. */
|
|
11
|
-
size?: SizeProp;
|
|
12
12
|
}
|
|
13
13
|
export declare const MenuHeaderDataTids: {
|
|
14
14
|
readonly root: "MenuHeader__root";
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
-
* Заголовок меню
|
|
18
|
-
*
|
|
19
|
-
* `MenuHeader`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.
|
|
20
|
-
*
|
|
21
|
-
* Сущности в которых может быть использован `MenuHeader`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
17
|
+
* Заголовок меню используется для того, чтобы разграничивать элементы меню на категории.
|
|
22
18
|
*/
|
|
23
19
|
declare const MenuHeader: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<HTMLDivElement, MenuHeaderProps> & Record<never, never>;
|
|
24
20
|
export { MenuHeader };
|
|
@@ -31,11 +31,7 @@ export var MenuHeaderDataTids = {
|
|
|
31
31
|
root: 'MenuHeader__root',
|
|
32
32
|
};
|
|
33
33
|
/**
|
|
34
|
-
* Заголовок меню
|
|
35
|
-
*
|
|
36
|
-
* `MenuHeader`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.
|
|
37
|
-
*
|
|
38
|
-
* Сущности в которых может быть использован `MenuHeader`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
34
|
+
* Заголовок меню используется для того, чтобы разграничивать элементы меню на категории.
|
|
39
35
|
*/
|
|
40
36
|
var MenuHeader = forwardRefAndName('MenuHeader', function MenuHeader(_a, ref) {
|
|
41
37
|
var _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuHeader.js","sourceRoot":"","sources":["../../../components/MenuHeader/MenuHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"MenuHeader.js","sourceRoot":"","sources":["../../../components/MenuHeader/MenuHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX;;GAEG;AAEH,IAAM,UAAU,GAAG,iBAAiB,CAClC,YAAY,EACZ,SAAS,UAAU,CACjB,EAAsF,EACtF,GAA8B;;IAD5B,IAAA,EAAE,QAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,EAAE,YAAc,EAAd,IAAI,mBAAG,OAAO,KAAA,EAAK,IAAI,cAAnE,gDAAqE,CAAF;IAGnE,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE5C,SAAS,oBAAoB;QAC3B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,SAAS,+BAA+B;QACtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI;QACrB,6BACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,cACI,kBAAkB,CAAC,IAAI,EACjC,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE;gBAClC,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,IAAI;gBAC1B,GAAC,+BAA+B,EAAE,IAAG,WAAW,CAAC,iBAAiB,IAAI,kBAAkB;oBACxF,IAED,QAAQ,CACL,CACQ,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAED,UAAkB,CAAC,eAAe,GAAG,IAAI,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,cAAc,CAAkB,KAAK,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACrE,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC","sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { MenuContext } from '../../internal/Menu/MenuContext.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getStyles } from './MenuHeader.styles.js';\n\nexport interface MenuHeaderProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Размер заголовка. */\n size?: SizeProp;\n\n /** Добавляет отступ слева для выравнивания текста по иконкам MenuItem */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n}\n\nexport const MenuHeaderDataTids = {\n root: 'MenuHeader__root',\n} as const;\n\n/**\n * Заголовок меню используется для того, чтобы разграничивать элементы меню на категории.\n */\n\nconst MenuHeader = forwardRefAndName(\n 'MenuHeader',\n function MenuHeader(\n { id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuHeaderProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const menuContext = useContext(MenuContext);\n\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n ref={ref}\n id={id}\n data-tid={MenuHeaderDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: menuContext.enableIconPadding || _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n(MenuHeader as any).__MENU_HEADER__ = true;\n\nexport { MenuHeader };\n\nexport const isMenuHeader = (child: React.ReactNode): child is React.ReactElement<MenuHeaderProps> => {\n return React.isValidElement<MenuHeaderProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_HEADER__')\n : false;\n};\n"]}
|
|
@@ -9,24 +9,18 @@ export interface MenuItemProps extends Pick<AriaAttributes, 'aria-describedby' |
|
|
|
9
9
|
/** Добавляет отступ иконке.
|
|
10
10
|
* @ignore */
|
|
11
11
|
_enableIconPadding?: boolean;
|
|
12
|
-
/**
|
|
12
|
+
/** Описание пункта меню. */
|
|
13
13
|
comment?: React.ReactNode;
|
|
14
|
-
/**
|
|
14
|
+
/** Блокирует пункт и перекрашивает в серый. */
|
|
15
15
|
disabled?: boolean;
|
|
16
|
-
/** Добавляет иконку
|
|
16
|
+
/** Добавляет иконку слева от текста. */
|
|
17
17
|
icon?: React.ReactElement;
|
|
18
|
-
/**
|
|
18
|
+
/** Размер кнопки. */
|
|
19
19
|
size?: SizeProp;
|
|
20
20
|
/** @ignore */
|
|
21
21
|
loose?: boolean;
|
|
22
22
|
/** @ignore */
|
|
23
23
|
state?: MenuItemState;
|
|
24
|
-
/** Задает функцию, которая вызывается при клике. */
|
|
25
|
-
onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
|
|
26
|
-
/** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */
|
|
27
|
-
onMouseEnter?: React.MouseEventHandler;
|
|
28
|
-
/** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
|
|
29
|
-
onMouseLeave?: React.MouseEventHandler;
|
|
30
24
|
/** @ignore */
|
|
31
25
|
children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);
|
|
32
26
|
/** Задает HTML-атрибут `target`. */
|
|
@@ -46,6 +40,12 @@ export interface MenuItemProps extends Pick<AriaAttributes, 'aria-describedby' |
|
|
|
46
40
|
isMobile?: boolean;
|
|
47
41
|
/** @ignore */
|
|
48
42
|
scrollIntoView?: boolean;
|
|
43
|
+
/**`HTML`-событие `onclick`. */
|
|
44
|
+
onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
|
|
45
|
+
/**`HTML`-событие `onmouseenter`. */
|
|
46
|
+
onMouseEnter?: React.MouseEventHandler;
|
|
47
|
+
/**`HTML`-событие `onmouseleave`. */
|
|
48
|
+
onMouseLeave?: React.MouseEventHandler;
|
|
49
49
|
}
|
|
50
50
|
export declare const MenuItemDataTids: {
|
|
51
51
|
readonly root: "MenuItem__root";
|
|
@@ -53,9 +53,7 @@ export declare const MenuItemDataTids: {
|
|
|
53
53
|
readonly comment: "MenuItem__comment";
|
|
54
54
|
};
|
|
55
55
|
/**
|
|
56
|
-
* `MenuItem`
|
|
57
|
-
*
|
|
58
|
-
* Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
56
|
+
* Пункт меню `MenuItem` — интерактивный элемент выполнения действий или навигации.
|
|
59
57
|
*/
|
|
60
58
|
export declare class MenuItem extends React.Component<MenuItemProps> {
|
|
61
59
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -59,9 +59,7 @@ export var MenuItemDataTids = {
|
|
|
59
59
|
comment: 'MenuItem__comment',
|
|
60
60
|
};
|
|
61
61
|
/**
|
|
62
|
-
* `MenuItem`
|
|
63
|
-
*
|
|
64
|
-
* Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
62
|
+
* Пункт меню `MenuItem` — интерактивный элемент выполнения действий или навигации.
|
|
65
63
|
*/
|
|
66
64
|
var MenuItem = /** @class */ (function (_super) {
|
|
67
65
|
__extends(MenuItem, _super);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../components/MenuItem/MenuItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oEAAoE,CAAC;AAClH,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,qDAAqD,CAAC;AAEzG,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAoEjD,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;CACpB,CAAC;AAEX;;;;GAIG;AAIH;IAA8B,4BAA8B;IAA5D;;QAKS,WAAK,GAAG;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC;QAQM,kBAAY,GAAG,KAAK,CAAC;QAGrB,aAAO,GAA0B,IAAI,CAAC;QACtC,gBAAU,GAAG,KAAK,CAAC,SAAS,EAAe,CAAC;QAwD7C,eAAS,GAAG;YACjB,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;QAEK,iBAAW,GAAG;YACnB,KAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;QAEK,YAAM,GAAG,UAAC,KAAwC;YACvD,KAAI,CAAC,WAAW,CAAC,KAAsC,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEK,eAAS,GAAG;YACjB,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC,CAAC;QAEK,cAAQ,GAAG;;YAChB,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,IAAI,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAA,MAAA,KAAI,CAAC,YAAY,EAAC,IAAI,mDAAG,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,KAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACtC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAsCM,gBAAU,GAAG;;YACnB,IAAM,KAqBF,KAAI,CAAC,KAAK,EApBZ,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,KAAK,WAAA,EACC,QAAQ,UAAA,EACd,kBAAkB,wBAAA,EAClB,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,WAA8F,EAA9F,GAAG,mBAAG,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,GAAG,KAAA,EAC9F,eAAe,qBAAA,EACf,QAAQ,cAAA,EACG,aAAa,eAAA,EACxB,KAAK,WAAA,EACO,OAAO,iBAAA,EAChB,IAAI,cApBH,0OAqBL,CAAa,CAAC;YAEf,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,GAAG,CACZ,6BACE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EACxC,SAAS,EAAE,KAAI,CAAC,EAAE;wBAChB,GAAC,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAG,IAAI;wBAC1B,GAAC,KAAI,CAAC,oBAAoB,EAAE,IAAG,IAAI;4BACnC,IAED,IAAI,CACD,CACP,CAAC;YACJ,CAAC;YAED,IAAM,SAAS,GAAG,KAAI,CAAC,EAAE;gBACvB,GAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,IAAI;gBACpC,GAAC,KAAI,CAAC,oBAAoB,EAAE,IAAG,IAAI;gBACnC,GAAC,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,QAAQ;gBAC9C,GAAC,KAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAG,CAAC,CAAC,KAAK;gBAC9B,GAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,KAAI,CAAC,OAAO;gBAC7C,GAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,KAAI,CAAC,UAAU;gBACnD,GAAC,KAAI,CAAC,wBAAwB,EAAE,IAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,IAAI,KAAI,CAAC,OAAO,CAAC,iBAAiB;gBACjH,GAAC,KAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAG,CAAC,CAAC,eAAe;gBAChD,GAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,CAAC,CAAC,QAAQ;oBAC9C,CAAC;YAEH,IAAI,OAAO,GAAG,QAAQ,CAAC;YACvB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,GAAG,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YAED,IAAM,SAAS,GAAG,KAAI,CAAC,YAAY,EAAE,CAAC;YAEtC,OAAO,CACL,oBAAC,aAAa,aACZ,WAAW,EAAE,KAAI,CAAC,WAAW,IACzB,4BAA4B,CAAC;gBAC/B,KAAK,EAAE,KAAI,CAAC,OAAO;gBACnB,QAAQ,EAAE,KAAI,CAAC,UAAU;aAC1B,CAAC,EACE,KAAI,CAAC,KAAK;gBAEd,oBAAC,SAAS,aACR,GAAG,EAAE,KAAI,CAAC,UAAU,cACV,gBAAgB,CAAC,IAAI,IAC3B,IAAI,IACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAI,CAAC,WAAW,EACvB,WAAW,EAAE,KAAI,CAAC,mBAAmB,EACrC,YAAY,EAAE,KAAI,CAAC,gBAAgB,EACnC,OAAO,EAAE,KAAI,CAAC,WAAW,EACzB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAC3B,QAAQ,EAAE,CAAC,CAAC;oBAEX,WAAW;oBACZ,8BACE,SAAS,EAAE,KAAI,CAAC,EAAE;4BAChB,GAAC,KAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAG,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC;gCACtE,EACF,GAAG,EAAE,KAAI,CAAC,UAAU,cACV,gBAAgB,CAAC,OAAO,IAEjC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/C;oBACN,OAAO,IAAI,CACV,yCACY,gBAAgB,CAAC,OAAO,EAClC,SAAS,EAAE,KAAI,CAAC,EAAE;4BAChB,GAAC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,IAAI;4BACvC,GAAC,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,KAAK,CAAC,IAAG,KAAI,CAAC,OAAO;gCACpD,IAED,OAAO,CACJ,CACP,CACS,CACE,CACjB,CAAC;QACJ,CAAC,CAAC;QAcF,iDAAiD;QACjD,wEAAwE;QAChE,yBAAmB,GAAG,UAAC,CAAgC;;YAC7D,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,YAAY,mDAAG,CAAC,CAAC,CAAC;gBAC7B,CAAC,KAAI,CAAC,KAAK,CAAC,eAAe,KAAI,MAAA,KAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,SAAS,CAAC,KAAI,CAAC,CAAA,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC;QAEM,sBAAgB,GAAG,UAAC,CAAgC;;YAC1D,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,YAAY,mDAAG,CAAC,CAAC,CAAC;YAC7B,CAAC,KAAI,CAAC,KAAK,CAAC,eAAe,KAAI,MAAA,KAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,WAAW,EAAE,CAAA,CAAC;QACxE,CAAC,CAAC;QAEM,iBAAW,GAAG,UAAC,CAAgC;;YACrD,IAAI,KAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,OAAO,mDAAG,CAAC,CAAC,CAAC;YACxB,MAAA,MAAA,KAAI,CAAC,OAAO,EAAC,WAAW,mDAAG,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC;QAEM,gBAAU,GAAG,UAAC,OAAoB;YACxC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC;QAEM,kBAAY,GAAG;YACf,IAAA,KAAgC,KAAI,CAAC,KAAK,EAAxC,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAe,CAAC;YAEjD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,GAAG,CAAC;YACb,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEM,uBAAiB,GAAG;;YAC1B,OAAO,OAAO,CAAC,MAAA,KAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAf,CAAe,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;;IACJ,CAAC;IA1RQ,yBAAM,GAAb;QAAA,iBAWC;QAVC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,QACnB,UAAC,KAAK;YACL,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,OAAO,KAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC,CACqB,CACzB,CAAC;IACJ,CAAC;IAEM,oCAAiB,GAAxB;;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9C,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC;gBACZ,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC;aAChG,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,oBAAoB,mDAAG,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEM,uCAAoB,GAA3B;;QACE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,KAAI,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,CAAC;YACxF,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,oBAAoB,mDAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEM,qCAAkB,GAAzB,UAA0B,SAAkC;;QAC1D,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvC,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,oBAAoB,mDAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACxF,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,0CAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IA6BO,uCAAoB,GAA5B;QACE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,uCAAoB,GAA5B;QACE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,2CAAwB,GAAhC;QACE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IA6GD,sBAAY,iCAAW;aAAvB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7D,CAAC;;;OAAA;IAED,sBAAY,6BAAO;aAAnB;YACE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1F,CAAC;;;OAAA;IAED,sBAAY,gCAAU;aAAtB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACpE,CAAC;;;OAAA;IA/Pa,4BAAmB,GAAG,UAAU,AAAb,CAAc;IACjC,oBAAW,GAAG,UAAU,AAAb,CAAc;IACzB,sBAAa,GAAG,IAAI,AAAP,CAAQ;IAkB5B,oBAAW,GAAG,WAAW,AAAd,CAAe;IArBtB,QAAQ;QAHpB,qBAAqB;QACrB,QAAQ;QACR,QAAQ;OACI,QAAQ,CAmTpB;IAAD,eAAC;CAAA,AAnTD,CAA8B,KAAK,CAAC,SAAS,GAmT5C;SAnTY,QAAQ;AAqTrB,MAAM,CAAC,IAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { MenuContext } from '../../internal/Menu/MenuContext.js';\nimport type { MenuContextType } from '../../internal/Menu/MenuContext.js';\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { isBrowser } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { getStyles } from './MenuItem.styles.js';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /** Добавляет отступ иконке.\n * @ignore */\n _enableIconPadding?: boolean;\n\n /** Добавляет описание для элемента меню. */\n comment?: React.ReactNode;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку элементу меню. */\n icon?: React.ReactElement;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n\n /** Задает функцию, которая вызывается при клике. */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: React.MouseEventHandler;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: React.MouseEventHandler;\n\n /** @ignore */\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n\n /** Задает HTML-атрибут `target`. */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n\n /** Задает HTML-атрибут `title`. */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n\n /** Задает HTML-атрибут `href` - адрес, на который следует перейти. */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n\n /** Задает HTML-атрибут `rel`. Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\". */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n\n /** Заменяет корневой элемент, на компонент переданный в проп.\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`. */\n component?: React.ComponentType<any>;\n\n /** Запрещает выделение и выбор данного пункта меню. */\n isNotSelectable?: boolean;\n\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 * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n@withRenderEnvironment\n@withSize\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 state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private size!: SizeProp;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private mouseEntered = false;\n public getRootNode!: TGetRootNode;\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(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\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(this.globalObject)) {\n this.setState({\n iconOffsetTop: this.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top'),\n });\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 = (): void => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = (): void => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>): void => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = (): boolean => {\n return !this.props.disabled;\n };\n\n public navigate = (): void => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n this.globalObject.open?.(this.props.href, this.props.target);\n } else if (this.globalObject.location) {\n this.globalObject.location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.iconLarge(this.theme);\n case 'medium':\n return this.styles.iconMedium(this.theme);\n case 'small':\n default:\n return this.styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.withIconLarge(this.theme);\n case 'medium':\n return this.styles.withIconMedium(this.theme);\n case 'small':\n default:\n return this.styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = () => {\n const {\n comment,\n icon,\n loose,\n state,\n size: sizeProp,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = href && isExternalLink(href, this.globalObject) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n children,\n className: unusedClasses,\n style,\n 'data-tid': dataTid,\n ...rest\n } = this.props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={this.cx({\n [this.styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = this.cx({\n [this.styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [this.styles.rootMobile(this.theme)]: isMobile,\n [this.styles.loose()]: !!loose,\n [this.styles.hover(this.theme)]: this.isHover,\n [this.styles.selected(this.theme)]: this.isSelected,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [this.styles.nonSelectable()]: !!isNotSelectable,\n [this.styles.disabled(this.theme)]: !!disabled,\n });\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.activeState);\n }\n\n const Component = this.getComponent();\n\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\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={this.cx({\n [this.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 {comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={this.cx({\n [this.styles.comment(this.theme)]: true,\n [this.styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n </CommonWrapper>\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"]}
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../components/MenuItem/MenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { MenuContext } from '../../internal/Menu/MenuContext.js';\nimport type { MenuContextType } from '../../internal/Menu/MenuContext.js';\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { isBrowser } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { getStyles } from './MenuItem.styles.js';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /** Добавляет отступ иконке.\n * @ignore */\n _enableIconPadding?: boolean;\n\n /** Описание пункта меню. */\n comment?: React.ReactNode;\n\n /** Блокирует пункт и перекрашивает в серый. */\n disabled?: boolean;\n\n /** Добавляет иконку слева от текста. */\n icon?: React.ReactElement;\n\n /** Размер кнопки. */\n size?: SizeProp;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n\n /** @ignore */\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n\n /** Задает HTML-атрибут `target`. */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n\n /** Задает HTML-атрибут `title`. */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n\n /** Задает HTML-атрибут `href` - адрес, на который следует перейти. */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n\n /** Задает HTML-атрибут `rel`. Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\". */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n\n /** Заменяет корневой элемент, на компонент переданный в проп.\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`. */\n component?: React.ComponentType<any>;\n\n /** Запрещает выделение и выбор данного пункта меню. */\n isNotSelectable?: boolean;\n\n /** Устанавливает стиль для отображения в мобильной версии. */\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n\n /**`HTML`-событие `onclick`. */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n\n /**`HTML`-событие `onmouseenter`. */\n onMouseEnter?: React.MouseEventHandler;\n\n /**`HTML`-событие `onmouseleave`. */\n onMouseLeave?: React.MouseEventHandler;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n * Пункт меню `MenuItem` — интерактивный элемент выполнения действий или навигации.\n */\n@withRenderEnvironment\n@withSize\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 state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private size!: SizeProp;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private mouseEntered = false;\n public getRootNode!: TGetRootNode;\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(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\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(this.globalObject)) {\n this.setState({\n iconOffsetTop: this.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top'),\n });\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 = (): void => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = (): void => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>): void => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = (): boolean => {\n return !this.props.disabled;\n };\n\n public navigate = (): void => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n this.globalObject.open?.(this.props.href, this.props.target);\n } else if (this.globalObject.location) {\n this.globalObject.location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.iconLarge(this.theme);\n case 'medium':\n return this.styles.iconMedium(this.theme);\n case 'small':\n default:\n return this.styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.withIconLarge(this.theme);\n case 'medium':\n return this.styles.withIconMedium(this.theme);\n case 'small':\n default:\n return this.styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = () => {\n const {\n comment,\n icon,\n loose,\n state,\n size: sizeProp,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = href && isExternalLink(href, this.globalObject) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n children,\n className: unusedClasses,\n style,\n 'data-tid': dataTid,\n ...rest\n } = this.props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={this.cx({\n [this.styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = this.cx({\n [this.styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [this.styles.rootMobile(this.theme)]: isMobile,\n [this.styles.loose()]: !!loose,\n [this.styles.hover(this.theme)]: this.isHover,\n [this.styles.selected(this.theme)]: this.isSelected,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [this.styles.nonSelectable()]: !!isNotSelectable,\n [this.styles.disabled(this.theme)]: !!disabled,\n });\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.activeState);\n }\n\n const Component = this.getComponent();\n\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\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={this.cx({\n [this.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 {comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={this.cx({\n [this.styles.comment(this.theme)]: true,\n [this.styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n </CommonWrapper>\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"]}
|
|
@@ -4,9 +4,7 @@ export declare const MenuSeparatorDataTids: {
|
|
|
4
4
|
readonly root: "MenuSeparator__root";
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* Сущности в которых может быть использован `MenuSeparator`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
7
|
+
* Разделитель между элементами меню.
|
|
10
8
|
*/
|
|
11
9
|
declare const MenuSeparator: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<HTMLDivElement, CommonProps> & Record<never, never>;
|
|
12
10
|
export { MenuSeparator };
|
|
@@ -20,9 +20,7 @@ export var MenuSeparatorDataTids = {
|
|
|
20
20
|
root: 'MenuSeparator__root',
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* Сущности в которых может быть использован `MenuSeparator`: DropdownMenu, Kebab, TooltipMenu и Select.
|
|
23
|
+
* Разделитель между элементами меню.
|
|
26
24
|
*/
|
|
27
25
|
var MenuSeparator = forwardRefAndName('MenuSeparator', function MenuSeparator(props, ref) {
|
|
28
26
|
var theme = useContext(ThemeContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuSeparator.js","sourceRoot":"","sources":["../../../components/MenuSeparator/MenuSeparator.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,qBAAqB;CACnB,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"MenuSeparator.js","sourceRoot":"","sources":["../../../components/MenuSeparator/MenuSeparator.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,qBAAqB;CACnB,CAAC;AAEX;;GAEG;AACH,IAAM,aAAa,GAAG,iBAAiB,CACrC,eAAe,EACf,SAAS,aAAa,CAAC,KAAyB,EAAE,GAA8B;IAC9E,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,aAAa,eAAK,KAAK;QACtB,oBAAC,gBAAgB,QACd,UAAC,EAAY;;gBAAV,QAAQ,cAAA;YACV,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,cACE,qBAAqB,CAAC,IAAI,EACpC,SAAS,EAAE,EAAE,WAAG,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,IAAI,EAAE,GAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAG,QAAQ,MAAG,GACnF,CACH,CAAC;QACJ,CAAC,CACgB,CACL,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ResponsiveLayout } from '../ResponsiveLayout/index.js';\nimport { getStyles } from './MenuSeparator.styles.js';\n\nexport type MenuSeparatorProps = CommonProps;\n\nexport const MenuSeparatorDataTids = {\n root: 'MenuSeparator__root',\n} as const;\n\n/**\n * Разделитель между элементами меню.\n */\nconst MenuSeparator = forwardRefAndName(\n 'MenuSeparator',\n function MenuSeparator(props: MenuSeparatorProps, ref: React.Ref<HTMLDivElement>) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n\n return (\n <CommonWrapper {...props}>\n <ResponsiveLayout>\n {({ isMobile }) => {\n return (\n <div\n ref={ref}\n data-tid={MenuSeparatorDataTids.root}\n className={cx({ [styles.root(theme)]: true, [styles.rootMobile(theme)]: isMobile })}\n />\n );\n }}\n </ResponsiveLayout>\n </CommonWrapper>\n );\n },\n);\n\nexport { MenuSeparator };\n"]}
|
|
@@ -12,7 +12,7 @@ export declare const MiniModalDataTids: {
|
|
|
12
12
|
readonly indent: "MiniModal__indent";
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Модальное диалоговое окно, которое предполагает обязательный отклик пользователя по одному из доступных действий. Обёртка над Modal.
|
|
16
16
|
*
|
|
17
17
|
* Состоит из набора подкомпонентов:
|
|
18
18
|
* - `MiniModal.Header`
|
|
@@ -37,7 +37,7 @@ export var MiniModalDataTids = {
|
|
|
37
37
|
indent: 'MiniModal__indent',
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Модальное диалоговое окно, которое предполагает обязательный отклик пользователя по одному из доступных действий. Обёртка над Modal.
|
|
41
41
|
*
|
|
42
42
|
* Состоит из набора подкомпонентов:
|
|
43
43
|
* - `MiniModal.Header`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniModal.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,wBAAwB;IACrC,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,mBAAmB;CACnB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,iBAAiB,CASxC,WAAW,EAAE,UAAC,EAAiE,EAAE,GAAG;IAApE,IAAA,QAAQ,cAAA,EAAS,UAAU,WAAA,EAAE,gBAAgB,sBAAA,EAAE,KAAK,WAAA,EAAK,IAAI,cAA/D,kDAAiE,CAAF;IAC7E,IAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;QACvE,oBAAC,KAAK,aAAC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,QAAQ,EAAE,OAAO,QAAC,GAAG,EAAE,GAAG,IAAM,IAAI,GACnG,QAAQ,CACH,CACc,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalProps } from '../Modal/index.js';\nimport { getMiniModalTheme } from './getMiniModalTheme.js';\nimport { MiniModalBody } from './MiniModalBody.js';\nimport { MiniModalFooter } from './MiniModalFooter.js';\nimport { MiniModalHeader } from './MiniModalHeader.js';\nimport { MiniModalIndent } from './MiniModalIndent.js';\n\nexport const MiniModalDataTids = {\n icon: 'MiniModal__icon',\n title: 'MiniModal__title',\n description: 'MiniModal__description',\n actions: 'MiniModal__actions',\n indent: 'MiniModal__indent',\n} as const;\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"MiniModal.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,wBAAwB;IACrC,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,mBAAmB;CACnB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,iBAAiB,CASxC,WAAW,EAAE,UAAC,EAAiE,EAAE,GAAG;IAApE,IAAA,QAAQ,cAAA,EAAS,UAAU,WAAA,EAAE,gBAAgB,sBAAA,EAAE,KAAK,WAAA,EAAK,IAAI,cAA/D,kDAAiE,CAAF;IAC7E,IAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;QACvE,oBAAC,KAAK,aAAC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,QAAQ,EAAE,OAAO,QAAC,GAAG,EAAE,GAAG,IAAM,IAAI,GACnG,QAAQ,CACH,CACc,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;AACnC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalProps } from '../Modal/index.js';\nimport { getMiniModalTheme } from './getMiniModalTheme.js';\nimport { MiniModalBody } from './MiniModalBody.js';\nimport { MiniModalFooter } from './MiniModalFooter.js';\nimport { MiniModalHeader } from './MiniModalHeader.js';\nimport { MiniModalIndent } from './MiniModalIndent.js';\n\nexport const MiniModalDataTids = {\n icon: 'MiniModal__icon',\n title: 'MiniModal__title',\n description: 'MiniModal__description',\n actions: 'MiniModal__actions',\n indent: 'MiniModal__indent',\n} as const;\n\n/**\n * Модальное диалоговое окно, которое предполагает обязательный отклик пользователя по одному из доступных действий. Обёртка над Modal.\n *\n * Состоит из набора подкомпонентов:\n * - `MiniModal.Header`\n * - `MiniModal.Body`\n * - `MiniModal.Footer`\n * - `MiniModal.Indent`\n *\n * Тот же набор доступен как `MiniModalHeader`, `MiniModalBody`, `MiniModalFooter`, `MiniModalIndent`.\n *\n */\nexport const MiniModal = forwardRefAndName<\n Modal,\n ModalProps,\n {\n Header: typeof MiniModalHeader;\n Indent: typeof MiniModalIndent;\n Footer: typeof MiniModalFooter;\n Body: typeof MiniModalBody;\n }\n>('MiniModal', ({ children, theme: propsTheme, mobileAppearance, width, ...rest }, ref) => {\n const contextTheme = useContext(ThemeContext);\n\n return (\n <ThemeContext.Provider value={getMiniModalTheme(contextTheme, propsTheme)}>\n <Modal width={width ?? 400} mobileAppearance={mobileAppearance ?? 'center'} noClose ref={ref} {...rest}>\n {children}\n </Modal>\n </ThemeContext.Provider>\n );\n});\n\nMiniModal.Header = MiniModalHeader;\nMiniModal.Footer = MiniModalFooter;\nMiniModal.Indent = MiniModalIndent;\nMiniModal.Body = MiniModalBody;\n"]}
|
|
@@ -28,7 +28,7 @@ import { Modal } from '../Modal/index.js';
|
|
|
28
28
|
import { MiniModalDataTids } from './MiniModal.js';
|
|
29
29
|
import { getStyles } from './MiniModal.styles.js';
|
|
30
30
|
/**
|
|
31
|
-
* Текстовый блок пояснения в мини-модалке.
|
|
31
|
+
* Текстовый блок пояснения в мини-модалке.
|
|
32
32
|
*
|
|
33
33
|
* @visibleName MiniModal.Body
|
|
34
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniModalBody.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModalBody.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,IAAM,aAAa,GAAG,iBAAiB,CAC5C,eAAe,EACf,UAAC,EAAqB,EAAE,GAAG;IAAxB,IAAA,QAAQ,cAAA,EAAK,IAAI,cAAnB,YAAqB,CAAF;IACV,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,KAAK,CAAC,IAAI,eAAK,IAAI;QAClB,oBAAC,YAAY,CAAC,QAAQ,QACnB,UAAC,KAAK;YACL,OAAO,CACL,yCAAe,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAC7F,QAAQ,CACL,CACP,CAAC;QACJ,CAAC,CACqB,CACb,CACd,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalBodyProps } from '../Modal/index.js';\nimport { MiniModalDataTids } from './MiniModal.js';\nimport { getStyles } from './MiniModal.styles.js';\n\n/**\n * Текстовый блок пояснения в
|
|
1
|
+
{"version":3,"file":"MiniModalBody.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModalBody.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,IAAM,aAAa,GAAG,iBAAiB,CAC5C,eAAe,EACf,UAAC,EAAqB,EAAE,GAAG;IAAxB,IAAA,QAAQ,cAAA,EAAK,IAAI,cAAnB,YAAqB,CAAF;IACV,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,KAAK,CAAC,IAAI,eAAK,IAAI;QAClB,oBAAC,YAAY,CAAC,QAAQ,QACnB,UAAC,KAAK;YACL,OAAO,CACL,yCAAe,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAC7F,QAAQ,CACL,CACP,CAAC;QACJ,CAAC,CACqB,CACb,CACd,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalBodyProps } from '../Modal/index.js';\nimport { MiniModalDataTids } from './MiniModal.js';\nimport { getStyles } from './MiniModal.styles.js';\n\n/**\n * Текстовый блок пояснения в мини-модалке.\n *\n * @visibleName MiniModal.Body\n */\nexport const MiniModalBody = forwardRefAndName<HTMLDivElement, ModalBodyProps>(\n 'MiniModalBody',\n ({ children, ...rest }, ref) => {\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n\n return (\n <Modal.Body {...rest}>\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <div data-tid={MiniModalDataTids.description} ref={ref} className={cx(styles.description(theme))}>\n {children}\n </div>\n );\n }}\n </ThemeContext.Consumer>\n </Modal.Body>\n );\n },\n);\n"]}
|
|
@@ -5,7 +5,7 @@ interface MiniModalFooterProps extends ModalFooterProps {
|
|
|
5
5
|
direction?: 'row' | 'column';
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
|
-
* Футер мини-модалки: зона действий с раскладкой кнопок.
|
|
8
|
+
* Футер мини-модалки: зона действий с раскладкой кнопок.
|
|
9
9
|
*
|
|
10
10
|
* @visibleName MiniModal.Footer
|
|
11
11
|
*/
|
|
@@ -28,7 +28,7 @@ import { Modal } from '../Modal/index.js';
|
|
|
28
28
|
import { MiniModalDataTids } from './MiniModal.js';
|
|
29
29
|
import { getStyles } from './MiniModal.styles.js';
|
|
30
30
|
/**
|
|
31
|
-
* Футер мини-модалки: зона действий с раскладкой кнопок.
|
|
31
|
+
* Футер мини-модалки: зона действий с раскладкой кнопок.
|
|
32
32
|
*
|
|
33
33
|
* @visibleName MiniModal.Footer
|
|
34
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniModalFooter.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModalFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD;;;;GAIG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,iBAAiB,CAC9C,iBAAiB,EACjB,UAAC,EAAwC,EAAE,GAAG;IAA3C,IAAA,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,EAAK,IAAI,cAAtC,yBAAwC,CAAF;IACrC,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAM,UAAU,GAAG,aAAa,GAAG,CAAC,IAAI,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,OAAO,CACL,oBAAC,KAAK,CAAC,MAAM,eAAK,IAAI;QACpB,6BACE,GAAG,EAAE,GAAG,cACE,iBAAiB,CAAC,OAAO,EACnC,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,OAAO,EAAE,EAChB,UAAU,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAChD,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CACvD,IAEA,QAAQ,CACL,CACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalFooterProps } from '../Modal/index.js';\nimport { MiniModalDataTids } from './MiniModal.js';\nimport { getStyles } from './MiniModal.styles.js';\n\ninterface MiniModalFooterProps extends ModalFooterProps {\n /** Задает направление позиционирования кнопок. `row` работает только для 2 элементов, в других случаях автоматически включиться `column`.\n * @default row */\n direction?: 'row' | 'column';\n}\n\n/**\n * Футер мини-модалки: зона действий с раскладкой
|
|
1
|
+
{"version":3,"file":"MiniModalFooter.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModalFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD;;;;GAIG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,iBAAiB,CAC9C,iBAAiB,EACjB,UAAC,EAAwC,EAAE,GAAG;IAA3C,IAAA,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,EAAK,IAAI,cAAtC,yBAAwC,CAAF;IACrC,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAM,UAAU,GAAG,aAAa,GAAG,CAAC,IAAI,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,OAAO,CACL,oBAAC,KAAK,CAAC,MAAM,eAAK,IAAI;QACpB,6BACE,GAAG,EAAE,GAAG,cACE,iBAAiB,CAAC,OAAO,EACnC,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,OAAO,EAAE,EAChB,UAAU,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAChD,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CACvD,IAEA,QAAQ,CACL,CACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalFooterProps } from '../Modal/index.js';\nimport { MiniModalDataTids } from './MiniModal.js';\nimport { getStyles } from './MiniModal.styles.js';\n\ninterface MiniModalFooterProps extends ModalFooterProps {\n /** Задает направление позиционирования кнопок. `row` работает только для 2 элементов, в других случаях автоматически включиться `column`.\n * @default row */\n direction?: 'row' | 'column';\n}\n\n/**\n * Футер мини-модалки: зона действий с раскладкой кнопок.\n *\n * @visibleName MiniModal.Footer\n */\nexport const MiniModalFooter = forwardRefAndName<HTMLDivElement, MiniModalFooterProps>(\n 'MiniModalFooter',\n ({ direction = 'row', children, ...rest }, ref) => {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n\n const childrenCount = React.Children.count(children);\n const _direction = childrenCount > 2 || childrenCount === 1 ? 'column' : direction;\n\n return (\n <Modal.Footer {...rest}>\n <div\n ref={ref}\n data-tid={MiniModalDataTids.actions}\n className={cx(\n styles.actions(),\n _direction === 'row' && styles.actionsRow(theme),\n _direction === 'column' && styles.actionsColumn(theme),\n )}\n >\n {children}\n </div>\n </Modal.Footer>\n );\n },\n);\n"]}
|
|
@@ -6,7 +6,7 @@ interface MiniModalHeaderProps extends ModalHeaderProps {
|
|
|
6
6
|
icon?: ReactNode;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Шапка мини-модалки: заголовок и опциональная иконка.
|
|
9
|
+
* Шапка мини-модалки: заголовок и опциональная иконка.
|
|
10
10
|
*
|
|
11
11
|
* @visibleName MiniModal.Header
|
|
12
12
|
*/
|
|
@@ -29,7 +29,7 @@ import { Modal } from '../Modal/index.js';
|
|
|
29
29
|
import { MiniModalDataTids } from './MiniModal.js';
|
|
30
30
|
import { getStyles } from './MiniModal.styles.js';
|
|
31
31
|
/**
|
|
32
|
-
* Шапка мини-модалки: заголовок и опциональная иконка.
|
|
32
|
+
* Шапка мини-модалки: заголовок и опциональная иконка.
|
|
33
33
|
*
|
|
34
34
|
* @visibleName MiniModal.Header
|
|
35
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniModalHeader.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModalHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD;;;;GAIG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,iBAAiB,CAC9C,iBAAiB,EACjB,UAAC,EAAyD,EAAE,GAAG;;IAA5D,IAAA,YAAkC,EAAlC,IAAI,mBAAG,oBAAC,uBAAuB,OAAG,KAAA,EAAE,QAAQ,cAAA,EAAK,IAAI,cAAvD,oBAAyD,CAAF;IACtD,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,KAAK,CAAC,MAAM,eAAK,IAAI;QACpB,6BAAK,GAAG,EAAE,GAAG;YACV,IAAI,IAAI,CACP,yCAAe,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,IAC5D,IAAI,CACD,CACP;YACA,QAAQ,IAAI,CACX,yCACY,iBAAiB,CAAC,KAAK,EACjC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC1B,GAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAG,CAAC,CAAC,IAAI;wBACrC,IAED,QAAQ,CACL,CACP,CACG,CACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React, { useContext } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { InfoCircleIcon64Regular } from '../../internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalHeaderProps } from '../Modal/index.js';\nimport { MiniModalDataTids } from './MiniModal.js';\nimport { getStyles } from './MiniModal.styles.js';\n\ninterface MiniModalHeaderProps extends ModalHeaderProps {\n /** Задает иконку в шапку компонента.\n * @default InfoCircleIcon64Regular */\n icon?: ReactNode;\n}\n\n/**\n * Шапка мини-модалки: заголовок и опциональная
|
|
1
|
+
{"version":3,"file":"MiniModalHeader.js","sourceRoot":"","sources":["../../../components/MiniModal/MiniModalHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD;;;;GAIG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,iBAAiB,CAC9C,iBAAiB,EACjB,UAAC,EAAyD,EAAE,GAAG;;IAA5D,IAAA,YAAkC,EAAlC,IAAI,mBAAG,oBAAC,uBAAuB,OAAG,KAAA,EAAE,QAAQ,cAAA,EAAK,IAAI,cAAvD,oBAAyD,CAAF;IACtD,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CACL,oBAAC,KAAK,CAAC,MAAM,eAAK,IAAI;QACpB,6BAAK,GAAG,EAAE,GAAG;YACV,IAAI,IAAI,CACP,yCAAe,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,IAC5D,IAAI,CACD,CACP;YACA,QAAQ,IAAI,CACX,yCACY,iBAAiB,CAAC,KAAK,EACjC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC1B,GAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAG,CAAC,CAAC,IAAI;wBACrC,IAED,QAAQ,CACL,CACP,CACG,CACO,CAChB,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React, { useContext } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { InfoCircleIcon64Regular } from '../../internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Modal } from '../Modal/index.js';\nimport type { ModalHeaderProps } from '../Modal/index.js';\nimport { MiniModalDataTids } from './MiniModal.js';\nimport { getStyles } from './MiniModal.styles.js';\n\ninterface MiniModalHeaderProps extends ModalHeaderProps {\n /** Задает иконку в шапку компонента.\n * @default InfoCircleIcon64Regular */\n icon?: ReactNode;\n}\n\n/**\n * Шапка мини-модалки: заголовок и опциональная иконка.\n *\n * @visibleName MiniModal.Header\n */\nexport const MiniModalHeader = forwardRefAndName<HTMLDivElement, MiniModalHeaderProps>(\n 'MiniModalHeader',\n ({ icon = <InfoCircleIcon64Regular />, children, ...rest }, ref) => {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n\n return (\n <Modal.Header {...rest}>\n <div ref={ref}>\n {icon && (\n <div data-tid={MiniModalDataTids.icon} className={styles.icon()}>\n {icon}\n </div>\n )}\n {children && (\n <div\n data-tid={MiniModalDataTids.title}\n className={cx(styles.title(), {\n [styles.titleWithIcon(theme)]: !!icon,\n })}\n >\n {children}\n </div>\n )}\n </div>\n </Modal.Header>\n );\n },\n);\n"]}
|
|
@@ -10,7 +10,7 @@ export interface ItemComponentProps {
|
|
|
10
10
|
active: boolean;
|
|
11
11
|
/** Номер страницы. */
|
|
12
12
|
pageNumber: number | 'forward';
|
|
13
|
-
/**
|
|
13
|
+
/** Событие нажатия на элемент. */
|
|
14
14
|
onClick: () => void;
|
|
15
15
|
/** HTML-атрибут `class`. */
|
|
16
16
|
className: string;
|
|
@@ -22,7 +22,7 @@ export interface PagingProps extends CommonProps {
|
|
|
22
22
|
pagesCount: number;
|
|
23
23
|
/** Номер текущей страницы. */
|
|
24
24
|
activePage: number;
|
|
25
|
-
/**
|
|
25
|
+
/** Событие переключения страницы. */
|
|
26
26
|
onPageChange: (pageNumber: number) => void;
|
|
27
27
|
/** Размер пейджинга.
|
|
28
28
|
*
|