@salutejs/plasma-new-hope 0.68.0-canary.1148.8464595999.0 → 0.68.0-canary.1148.8482525044.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Cell/Cell.js +15 -12
- package/cjs/components/Cell/Cell.js.map +1 -1
- package/cjs/components/Cell/CellTextbox/CellTextbox.js +21 -0
- package/cjs/components/Cell/CellTextbox/CellTextbox.js.map +1 -0
- package/cjs/components/Cell/{Textbox/Textbox.styles.js → CellTextbox/CellTextbox.styles.js} +4 -4
- package/cjs/components/Cell/CellTextbox/CellTextbox.styles.js.map +1 -0
- package/cjs/components/Cell/{Textbox/ui/TextLabel.js → CellTextbox/ui/CellTextLabel.js} +4 -4
- package/cjs/components/Cell/CellTextbox/ui/CellTextLabel.js.map +1 -0
- package/cjs/components/Cell/{Textbox/ui/TextSubtitle.js → CellTextbox/ui/CellTextSubtitle.js} +4 -4
- package/cjs/components/Cell/CellTextbox/ui/CellTextSubtitle.js.map +1 -0
- package/cjs/components/Cell/{Textbox/ui/TextTitle.js → CellTextbox/ui/CellTextTitle.js} +4 -4
- package/cjs/components/Cell/CellTextbox/ui/CellTextTitle.js.map +1 -0
- package/cjs/components/Dropdown/Dropdown.js +2 -1
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Popover/Popover.js +46 -31
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/index.js +8 -8
- package/es/components/Cell/Cell.js +15 -12
- package/es/components/Cell/Cell.js.map +1 -1
- package/es/components/Cell/CellTextbox/CellTextbox.js +17 -0
- package/es/components/Cell/CellTextbox/CellTextbox.js.map +1 -0
- package/es/components/Cell/CellTextbox/CellTextbox.styles.js +9 -0
- package/es/components/Cell/CellTextbox/CellTextbox.styles.js.map +1 -0
- package/es/components/Cell/{Textbox/ui/TextLabel.js → CellTextbox/ui/CellTextLabel.js} +4 -4
- package/es/components/Cell/CellTextbox/ui/CellTextLabel.js.map +1 -0
- package/es/components/Cell/{Textbox/ui/TextSubtitle.js → CellTextbox/ui/CellTextSubtitle.js} +4 -4
- package/es/components/Cell/CellTextbox/ui/CellTextSubtitle.js.map +1 -0
- package/es/components/Cell/{Textbox/ui/TextTitle.js → CellTextbox/ui/CellTextTitle.js} +4 -4
- package/es/components/Cell/CellTextbox/ui/CellTextTitle.js.map +1 -0
- package/es/components/Dropdown/Dropdown.js +2 -1
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Popover/Popover.js +46 -31
- package/es/components/Popover/Popover.js.map +1 -1
- package/es/index.js +4 -4
- package/package.json +4 -4
- package/styled-components/cjs/components/Cell/Cell.js +15 -12
- package/styled-components/cjs/components/Cell/CellTextbox/CellTextbox.js +20 -0
- package/styled-components/cjs/components/Cell/{Textbox/Textbox.styles.js → CellTextbox/CellTextbox.styles.js} +3 -3
- package/styled-components/cjs/components/Cell/{Textbox/ui/TextLabel.js → CellTextbox/ui/CellTextLabel.js} +3 -3
- package/styled-components/cjs/components/Cell/{Textbox/ui/TextSubtitle.js → CellTextbox/ui/CellTextSubtitle.js} +3 -3
- package/styled-components/cjs/components/Cell/{Textbox/ui/TextTitle.js → CellTextbox/ui/CellTextTitle.js} +3 -3
- package/styled-components/cjs/components/Cell/index.js +12 -12
- package/styled-components/cjs/components/Dropdown/Dropdown.js +2 -1
- package/styled-components/cjs/components/Popover/Popover.js +46 -31
- package/styled-components/cjs/examples/plasma_b2c/components/Cell/Cell.config.js +0 -5
- package/styled-components/cjs/examples/plasma_b2c/components/Cell/Cell.js +8 -8
- package/styled-components/cjs/examples/plasma_b2c/components/Cell/Cell.stories.tsx +12 -15
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Popover/Popover.stories.tsx +7 -0
- package/styled-components/cjs/examples/plasma_web/components/Cell/Cell.config.js +0 -5
- package/styled-components/cjs/examples/plasma_web/components/Cell/Cell.js +9 -9
- package/styled-components/cjs/examples/plasma_web/components/Cell/Cell.stories.tsx +11 -14
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
- package/styled-components/es/components/Cell/Cell.js +15 -12
- package/styled-components/es/components/Cell/CellTextbox/CellTextbox.js +13 -0
- package/styled-components/es/components/Cell/{Textbox/Textbox.styles.js → CellTextbox/CellTextbox.styles.js} +2 -2
- package/styled-components/es/components/Cell/{Textbox/ui/TextLabel.js → CellTextbox/ui/CellTextLabel.js} +2 -2
- package/styled-components/es/components/Cell/{Textbox/ui/TextSubtitle.js → CellTextbox/ui/CellTextSubtitle.js} +2 -2
- package/styled-components/es/components/Cell/{Textbox/ui/TextTitle.js → CellTextbox/ui/CellTextTitle.js} +2 -2
- package/styled-components/es/components/Cell/index.js +4 -4
- package/styled-components/es/components/Dropdown/Dropdown.js +2 -1
- package/styled-components/es/components/Popover/Popover.js +46 -31
- package/styled-components/es/examples/plasma_b2c/components/Cell/Cell.config.js +0 -5
- package/styled-components/es/examples/plasma_b2c/components/Cell/Cell.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Cell/Cell.stories.tsx +12 -15
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Popover/Popover.stories.tsx +7 -0
- package/styled-components/es/examples/plasma_web/components/Cell/Cell.config.js +0 -5
- package/styled-components/es/examples/plasma_web/components/Cell/Cell.js +2 -2
- package/styled-components/es/examples/plasma_web/components/Cell/Cell.stories.tsx +11 -14
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +1 -1
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +1 -1
- package/types/components/Cell/Cell.d.ts +0 -1
- package/types/components/Cell/Cell.d.ts.map +1 -1
- package/types/components/Cell/Cell.types.d.ts +9 -8
- package/types/components/Cell/Cell.types.d.ts.map +1 -1
- package/types/components/Cell/CellTextbox/CellTextbox.d.ts +4 -0
- package/types/components/Cell/CellTextbox/CellTextbox.d.ts.map +1 -0
- package/types/components/Cell/CellTextbox/CellTextbox.styles.d.ts +2 -0
- package/types/components/Cell/CellTextbox/CellTextbox.styles.d.ts.map +1 -0
- package/types/components/Cell/CellTextbox/CellTextbox.types.d.ts +43 -0
- package/types/components/Cell/CellTextbox/CellTextbox.types.d.ts.map +1 -0
- package/types/components/Cell/CellTextbox/ui/CellTextLabel.d.ts +5 -0
- package/types/components/Cell/CellTextbox/ui/CellTextLabel.d.ts.map +1 -0
- package/types/components/Cell/CellTextbox/ui/CellTextSubtitle.d.ts +5 -0
- package/types/components/Cell/CellTextbox/ui/CellTextSubtitle.d.ts.map +1 -0
- package/types/components/Cell/CellTextbox/ui/CellTextTitle.d.ts +5 -0
- package/types/components/Cell/CellTextbox/ui/CellTextTitle.d.ts.map +1 -0
- package/types/components/Cell/index.d.ts +5 -5
- package/types/components/Cell/index.d.ts.map +1 -1
- package/types/components/Combobox/Combobox.styles.d.ts +8 -2
- package/types/components/Combobox/Combobox.styles.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts +7 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/types/components/Popover/Popover.d.ts +2 -2
- package/types/components/Popover/Popover.d.ts.map +1 -1
- package/types/components/Popover/Popover.types.d.ts +19 -14
- package/types/components/Popover/Popover.types.d.ts.map +1 -1
- package/types/components/Select/Select.styles.d.ts +8 -2
- package/types/components/Select/Select.styles.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Cell/Cell.config.d.ts +0 -5
- package/types/examples/plasma_b2c/components/Cell/Cell.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Cell/Cell.d.ts +10 -8
- package/types/examples/plasma_b2c/components/Cell/Cell.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Popover/Popover.d.ts +7 -1
- package/types/examples/plasma_b2c/components/Popover/Popover.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Cell/Cell.config.d.ts +0 -5
- package/types/examples/plasma_web/components/Cell/Cell.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Cell/Cell.d.ts +10 -8
- package/types/examples/plasma_web/components/Cell/Cell.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Popover/Popover.d.ts +7 -1
- package/types/examples/plasma_web/components/Popover/Popover.d.ts.map +1 -1
- package/types/examples/sds_engineer/components/Popover/Popover.d.ts +7 -1
- package/types/examples/sds_engineer/components/Popover/Popover.d.ts.map +1 -1
- package/cjs/components/Cell/Textbox/Textbox.js +0 -20
- package/cjs/components/Cell/Textbox/Textbox.js.map +0 -1
- package/cjs/components/Cell/Textbox/Textbox.styles.js.map +0 -1
- package/cjs/components/Cell/Textbox/ui/TextLabel.js.map +0 -1
- package/cjs/components/Cell/Textbox/ui/TextSubtitle.js.map +0 -1
- package/cjs/components/Cell/Textbox/ui/TextTitle.js.map +0 -1
- package/es/components/Cell/Textbox/Textbox.js +0 -16
- package/es/components/Cell/Textbox/Textbox.js.map +0 -1
- package/es/components/Cell/Textbox/Textbox.styles.js +0 -9
- package/es/components/Cell/Textbox/Textbox.styles.js.map +0 -1
- package/es/components/Cell/Textbox/ui/TextLabel.js.map +0 -1
- package/es/components/Cell/Textbox/ui/TextSubtitle.js.map +0 -1
- package/es/components/Cell/Textbox/ui/TextTitle.js.map +0 -1
- package/styled-components/cjs/components/Cell/Textbox/Textbox.js +0 -19
- package/styled-components/es/components/Cell/Textbox/Textbox.js +0 -12
- package/types/components/Cell/Textbox/Textbox.d.ts +0 -4
- package/types/components/Cell/Textbox/Textbox.d.ts.map +0 -1
- package/types/components/Cell/Textbox/Textbox.styles.d.ts +0 -2
- package/types/components/Cell/Textbox/Textbox.styles.d.ts.map +0 -1
- package/types/components/Cell/Textbox/Textbox.types.d.ts +0 -33
- package/types/components/Cell/Textbox/Textbox.types.d.ts.map +0 -1
- package/types/components/Cell/Textbox/ui/TextLabel.d.ts +0 -5
- package/types/components/Cell/Textbox/ui/TextLabel.d.ts.map +0 -1
- package/types/components/Cell/Textbox/ui/TextSubtitle.d.ts +0 -5
- package/types/components/Cell/Textbox/ui/TextSubtitle.d.ts.map +0 -1
- package/types/components/Cell/Textbox/ui/TextTitle.d.ts +0 -5
- package/types/components/Cell/Textbox/ui/TextTitle.d.ts.map +0 -1
- /package/styled-components/cjs/components/Cell/{Textbox/Textbox.types.js → CellTextbox/CellTextbox.types.js} +0 -0
- /package/styled-components/es/components/Cell/{Textbox/Textbox.types.js → CellTextbox/CellTextbox.types.js} +0 -0
@@ -8,7 +8,7 @@ var Cell_styles = require('./Cell.styles.js');
|
|
8
8
|
var Cell_tokens = require('./Cell.tokens.js');
|
9
9
|
var base = require('./variations/_view/base.js');
|
10
10
|
var base$1 = require('./variations/_size/base.js');
|
11
|
-
var
|
11
|
+
var CellTextbox = require('./CellTextbox/CellTextbox.js');
|
12
12
|
|
13
13
|
var cellRoot = function cellRoot(Root) {
|
14
14
|
return /*#__PURE__*/React.forwardRef(function (_ref, outerRootRef) {
|
@@ -16,15 +16,18 @@ var cellRoot = function cellRoot(Root) {
|
|
16
16
|
view = _ref.view,
|
17
17
|
contentLeft = _ref.contentLeft,
|
18
18
|
contentRight = _ref.contentRight,
|
19
|
-
_ref$
|
20
|
-
|
21
|
-
_ref$
|
22
|
-
|
19
|
+
_ref$alignContentLeft = _ref.alignContentLeft,
|
20
|
+
alignContentLeft = _ref$alignContentLeft === void 0 ? 'center' : _ref$alignContentLeft,
|
21
|
+
_ref$alignContentRigh = _ref.alignContentRight,
|
22
|
+
alignContentRight = _ref$alignContentRigh === void 0 ? 'center' : _ref$alignContentRigh,
|
23
23
|
children = _ref.children,
|
24
24
|
title = _ref.title,
|
25
25
|
subtitle = _ref.subtitle,
|
26
26
|
label = _ref.label,
|
27
|
-
|
27
|
+
description = _ref.description,
|
28
|
+
content = _ref.content,
|
29
|
+
_ref$stretching = _ref.stretching,
|
30
|
+
stretching = _ref$stretching === void 0 ? 'filled' : _ref$stretching;
|
28
31
|
var stretchingClass = Cell_tokens.classes["".concat(stretching, "Stretching")];
|
29
32
|
return /*#__PURE__*/React.createElement(Root, {
|
30
33
|
ref: outerRootRef,
|
@@ -32,13 +35,14 @@ var cellRoot = function cellRoot(Root) {
|
|
32
35
|
view: view,
|
33
36
|
className: index.cx(stretchingClass, Cell_tokens.classes.cellRoot)
|
34
37
|
}, contentLeft && /*#__PURE__*/React.createElement(Cell_styles.CellLeft, {
|
35
|
-
align:
|
36
|
-
}, contentLeft), /*#__PURE__*/React.createElement(Cell_styles.CellContentWrapper, null, /*#__PURE__*/React.createElement(Cell_styles.CellContent, null, title || subtitle || label ? /*#__PURE__*/React.createElement(
|
38
|
+
align: alignContentLeft
|
39
|
+
}, contentLeft), /*#__PURE__*/React.createElement(Cell_styles.CellContentWrapper, null, /*#__PURE__*/React.createElement(Cell_styles.CellContent, null, title || description || subtitle || label ? /*#__PURE__*/React.createElement(CellTextbox.CellTextbox, {
|
37
40
|
label: label,
|
41
|
+
description: description,
|
38
42
|
title: title,
|
39
43
|
subtitle: subtitle
|
40
|
-
}) : children
|
41
|
-
align:
|
44
|
+
}) : children || content), contentRight && /*#__PURE__*/React.createElement(Cell_styles.CellRight, {
|
45
|
+
align: alignContentRight
|
42
46
|
}, contentRight)));
|
43
47
|
});
|
44
48
|
};
|
@@ -57,8 +61,7 @@ var cellConfig = {
|
|
57
61
|
},
|
58
62
|
defaults: {
|
59
63
|
view: 'default',
|
60
|
-
size: 'm'
|
61
|
-
stretching: 'filled'
|
64
|
+
size: 'm'
|
62
65
|
}
|
63
66
|
};
|
64
67
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Cell.js","sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { CellProps } from './Cell.types';\nimport { base, CellLeft, CellRight, CellContentWrapper, CellContent } from './Cell.styles';\nimport { classes } from './Cell.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport {
|
1
|
+
{"version":3,"file":"Cell.js","sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { CellProps } from './Cell.types';\nimport { base, CellLeft, CellRight, CellContentWrapper, CellContent } from './Cell.styles';\nimport { classes } from './Cell.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { CellTextbox } from './CellTextbox/CellTextbox';\n\nexport const cellRoot = (Root: RootProps<HTMLSelectElement, CellProps>) =>\n forwardRef<HTMLSelectElement, CellProps>(\n (\n {\n size,\n view,\n contentLeft,\n contentRight,\n alignContentLeft = 'center',\n alignContentRight = 'center',\n children,\n title,\n subtitle,\n label,\n description,\n content,\n stretching = 'filled',\n },\n outerRootRef,\n ) => {\n const stretchingClass = classes[`${stretching}Stretching` as keyof typeof classes];\n return (\n <Root ref={outerRootRef} size={size} view={view} className={cx(stretchingClass, classes.cellRoot)}>\n {contentLeft && <CellLeft align={alignContentLeft}>{contentLeft}</CellLeft>}\n <CellContentWrapper>\n <CellContent>\n {title || description || subtitle || label ? (\n <CellTextbox\n label={label}\n description={description}\n title={title}\n subtitle={subtitle}\n />\n ) : (\n children || content\n )}\n </CellContent>\n {contentRight && <CellRight align={alignContentRight}>{contentRight}</CellRight>}\n </CellContentWrapper>\n </Root>\n );\n },\n );\n\nexport const cellConfig = {\n name: 'Cell',\n tag: 'div',\n layout: cellRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["cellRoot","Root","forwardRef","_ref","outerRootRef","size","view","contentLeft","contentRight","_ref$alignContentLeft","alignContentLeft","_ref$alignContentRigh","alignContentRight","children","title","subtitle","label","description","content","_ref$stretching","stretching","stretchingClass","classes","concat","React","createElement","ref","className","cx","CellLeft","align","CellContentWrapper","CellContent","CellTextbox","CellRight","cellConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
var React = require('react');
|
6
|
+
var CellTextbox_styles = require('./CellTextbox.styles.js');
|
7
|
+
var CellTextLabel = require('./ui/CellTextLabel.js');
|
8
|
+
var CellTextTitle = require('./ui/CellTextTitle.js');
|
9
|
+
var CellTextSubtitle = require('./ui/CellTextSubtitle.js');
|
10
|
+
|
11
|
+
var CellTextbox = function CellTextbox(_ref) {
|
12
|
+
var label = _ref.label,
|
13
|
+
title = _ref.title,
|
14
|
+
subtitle = _ref.subtitle,
|
15
|
+
description = _ref.description,
|
16
|
+
children = _ref.children;
|
17
|
+
return /*#__PURE__*/React.createElement(CellTextbox_styles.CellTextboxStyled, null, label || title || description || subtitle ? /*#__PURE__*/React.createElement(React.Fragment, null, label && /*#__PURE__*/React.createElement(CellTextLabel.CellTextboxLabel, null, label), (title || description) && /*#__PURE__*/React.createElement(CellTextTitle.CellTextboxTitle, null, title || description), subtitle && /*#__PURE__*/React.createElement(CellTextSubtitle.CellTextboxSubtitle, null, subtitle)) : children);
|
18
|
+
};
|
19
|
+
|
20
|
+
exports.CellTextbox = CellTextbox;
|
21
|
+
//# sourceMappingURL=CellTextbox.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CellTextbox.js","sources":["../../../../src/components/Cell/CellTextbox/CellTextbox.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\n\nimport type { CellTextboxProps } from './CellTextbox.types';\nimport { CellTextboxStyled } from './CellTextbox.styles';\nimport { CellTextboxLabel } from './ui/CellTextLabel';\nimport { CellTextboxTitle } from './ui/CellTextTitle';\nimport { CellTextboxSubtitle } from './ui/CellTextSubtitle';\n\nexport const CellTextbox: React.FC<HTMLAttributes<HTMLDivElement> & CellTextboxProps> = ({\n label,\n title,\n subtitle,\n description,\n children,\n}) => {\n return (\n <CellTextboxStyled>\n {label || title || description || subtitle ? (\n <>\n {label && <CellTextboxLabel>{label}</CellTextboxLabel>}\n {(title || description) && <CellTextboxTitle>{title || description}</CellTextboxTitle>}\n {subtitle && <CellTextboxSubtitle>{subtitle}</CellTextboxSubtitle>}\n </>\n ) : (\n children\n )}\n </CellTextboxStyled>\n );\n};\n"],"names":["CellTextbox","_ref","label","title","subtitle","description","children","React","createElement","CellTextboxStyled","Fragment","CellTextboxLabel","CellTextboxTitle","CellTextboxSubtitle"],"mappings":";;;;;;;;;;IAQaA,WAAwE,GAAG,SAA3EA,WAAwEA,CAAAC,IAAA,EAM/E;AAAA,EAAA,IALFC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;AAER,EAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,oCAAiB,EAAA,IAAA,EACbP,KAAK,IAAIC,KAAK,IAAIE,WAAW,IAAID,QAAQ,gBACtCG,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAG,QAAA,EAAA,IAAA,EACKR,KAAK,iBAAIK,KAAA,CAAAC,aAAA,CAACG,8BAAgB,EAAET,IAAAA,EAAAA,KAAwB,CAAC,EACrD,CAACC,KAAK,IAAIE,WAAW,kBAAKE,KAAA,CAAAC,aAAA,CAACI,8BAAgB,EAAET,IAAAA,EAAAA,KAAK,IAAIE,WAA8B,CAAC,EACrFD,QAAQ,iBAAIG,KAAA,CAAAC,aAAA,CAACK,oCAAmB,EAAA,IAAA,EAAET,QAA8B,CACnE,CAAC,GAEHE,QAEW,CAAC,CAAA;AAE5B;;;;"}
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
var styled = require('styled-components');
|
6
6
|
var Cell_tokens = require('../Cell.tokens.js');
|
7
7
|
|
8
|
-
var
|
9
|
-
componentId: "plasma-new-hope__sc-
|
8
|
+
var CellTextboxStyled = /*#__PURE__*/styled.div.withConfig({
|
9
|
+
componentId: "plasma-new-hope__sc-1t9f5dx-0"
|
10
10
|
})(["display:flex;flex-direction:column;gap:var(", ");"], Cell_tokens.tokens.cellTextboxGap);
|
11
11
|
|
12
|
-
exports.
|
13
|
-
//# sourceMappingURL=
|
12
|
+
exports.CellTextboxStyled = CellTextboxStyled;
|
13
|
+
//# sourceMappingURL=CellTextbox.styles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CellTextbox.styles.js","sources":["../../../../src/components/Cell/CellTextbox/CellTextbox.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { tokens } from '../Cell.tokens';\n\nexport const CellTextboxStyled = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(${tokens.cellTextboxGap});\n`;\n"],"names":["CellTextboxStyled","styled","div","withConfig","componentId","tokens","cellTextboxGap"],"mappings":";;;;;;;IAIaA,iBAAiB,gBAAGC,MAAM,CAACC,GAAG,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,+BAAA;AAAA,CAG5BC,CAAAA,CAAAA,CAAAA,6CAAAA,EAAAA,IAAAA,CAAAA,EAAAA,kBAAM,CAACC,cAAc;;;;"}
|
@@ -7,11 +7,11 @@ var styled = require('styled-components');
|
|
7
7
|
var Cell_tokens = require('../../Cell.tokens.js');
|
8
8
|
|
9
9
|
var StyledTextLabel = /*#__PURE__*/styled.div.withConfig({
|
10
|
-
componentId: "plasma-new-hope__sc-
|
10
|
+
componentId: "plasma-new-hope__sc-2pgst1-0"
|
11
11
|
})(["color:var(", ");font-size:var(", ");font-weight:var(", ");font-family:var(", ");font-style:var(", ");line-height:var(", ");letter-spacing:var(", ");"], Cell_tokens.tokens.cellLabelColor, Cell_tokens.tokens.cellLabelFontSize, Cell_tokens.tokens.cellLabelFontWeight, Cell_tokens.tokens.cellLabelFontFamily, Cell_tokens.tokens.cellLabelFontStyle, Cell_tokens.tokens.cellLabelLineHeight, Cell_tokens.tokens.cellLabelLetterSpacing);
|
12
|
-
var
|
12
|
+
var CellTextboxLabel = function CellTextboxLabel(props) {
|
13
13
|
return /*#__PURE__*/React.createElement(StyledTextLabel, null, props.children);
|
14
14
|
};
|
15
15
|
|
16
|
-
exports.
|
17
|
-
//# sourceMappingURL=
|
16
|
+
exports.CellTextboxLabel = CellTextboxLabel;
|
17
|
+
//# sourceMappingURL=CellTextLabel.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CellTextLabel.js","sources":["../../../../../src/components/Cell/CellTextbox/ui/CellTextLabel.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport styled from 'styled-components';\n\nimport { tokens } from '../../Cell.tokens';\n\nconst StyledTextLabel = styled.div`\n color: var(${tokens.cellLabelColor});\n font-size: var(${tokens.cellLabelFontSize});\n font-weight: var(${tokens.cellLabelFontWeight});\n font-family: var(${tokens.cellLabelFontFamily});\n font-style: var(${tokens.cellLabelFontStyle});\n line-height: var(${tokens.cellLabelLineHeight});\n letter-spacing: var(${tokens.cellLabelLetterSpacing});\n`;\n\ntype TextLabelProps = {};\n\nexport const CellTextboxLabel: React.FC<HTMLAttributes<HTMLDivElement> & TextLabelProps> = (props) => {\n return <StyledTextLabel>{props.children}</StyledTextLabel>;\n};\n"],"names":["StyledTextLabel","styled","div","withConfig","componentId","tokens","cellLabelColor","cellLabelFontSize","cellLabelFontWeight","cellLabelFontFamily","cellLabelFontStyle","cellLabelLineHeight","cellLabelLetterSpacing","CellTextboxLabel","props","React","createElement","children"],"mappings":";;;;;;;;AAKA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAG,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;AAAA,CACjBC,CAAAA,CAAAA,CAAAA,YAAAA,EAAAA,kBAAAA,EAAAA,oBAAAA,EAAAA,oBAAAA,EAAAA,mBAAAA,EAAAA,oBAAAA,EAAAA,uBAAAA,EAAAA,IAAAA,CAAAA,EAAAA,kBAAM,CAACC,cAAc,EACjBD,kBAAM,CAACE,iBAAiB,EACtBF,kBAAM,CAACG,mBAAmB,EAC1BH,kBAAM,CAACI,mBAAmB,EAC3BJ,kBAAM,CAACK,kBAAkB,EACxBL,kBAAM,CAACM,mBAAmB,EACvBN,kBAAM,CAACO,sBAAsB,CACtD,CAAA;IAIYC,gBAA2E,GAAG,SAA9EA,gBAA2EA,CAAIC,KAAK,EAAK;EAClG,oBAAOC,KAAA,CAAAC,aAAA,CAAChB,eAAe,EAAEc,IAAAA,EAAAA,KAAK,CAACG,QAA0B,CAAC,CAAA;AAC9D;;;;"}
|
package/cjs/components/Cell/{Textbox/ui/TextSubtitle.js → CellTextbox/ui/CellTextSubtitle.js}
RENAMED
@@ -7,11 +7,11 @@ var styled = require('styled-components');
|
|
7
7
|
var Cell_tokens = require('../../Cell.tokens.js');
|
8
8
|
|
9
9
|
var StyledTextSubtitle = /*#__PURE__*/styled.div.withConfig({
|
10
|
-
componentId: "plasma-new-hope__sc-
|
10
|
+
componentId: "plasma-new-hope__sc-12wzp7p-0"
|
11
11
|
})(["color:var(", ");font-size:var(", ");font-weight:var(", ");font-family:var(", ");font-style:var(", ");line-height:var(", ");letter-spacing:var(", ");"], Cell_tokens.tokens.cellSubtitleColor, Cell_tokens.tokens.cellSubtitleFontSize, Cell_tokens.tokens.cellSubtitleFontWeight, Cell_tokens.tokens.cellSubtitleFontFamily, Cell_tokens.tokens.cellSubtitleFontStyle, Cell_tokens.tokens.cellSubtitleLineHeight, Cell_tokens.tokens.cellSubtitleLetterSpacing);
|
12
|
-
var
|
12
|
+
var CellTextboxSubtitle = function CellTextboxSubtitle(props) {
|
13
13
|
return /*#__PURE__*/React.createElement(StyledTextSubtitle, null, props.children);
|
14
14
|
};
|
15
15
|
|
16
|
-
exports.
|
17
|
-
//# sourceMappingURL=
|
16
|
+
exports.CellTextboxSubtitle = CellTextboxSubtitle;
|
17
|
+
//# sourceMappingURL=CellTextSubtitle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CellTextSubtitle.js","sources":["../../../../../src/components/Cell/CellTextbox/ui/CellTextSubtitle.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport styled from 'styled-components';\n\nimport { tokens } from '../../Cell.tokens';\n\nconst StyledTextSubtitle = styled.div`\n color: var(${tokens.cellSubtitleColor});\n font-size: var(${tokens.cellSubtitleFontSize});\n font-weight: var(${tokens.cellSubtitleFontWeight});\n font-family: var(${tokens.cellSubtitleFontFamily});\n font-style: var(${tokens.cellSubtitleFontStyle});\n line-height: var(${tokens.cellSubtitleLineHeight});\n letter-spacing: var(${tokens.cellSubtitleLetterSpacing});\n`;\n\ntype TextSubtitleProps = {};\n\nexport const CellTextboxSubtitle: React.FC<HTMLAttributes<HTMLDivElement> & TextSubtitleProps> = (props) => {\n return <StyledTextSubtitle>{props.children}</StyledTextSubtitle>;\n};\n"],"names":["StyledTextSubtitle","styled","div","withConfig","componentId","tokens","cellSubtitleColor","cellSubtitleFontSize","cellSubtitleFontWeight","cellSubtitleFontFamily","cellSubtitleFontStyle","cellSubtitleLineHeight","cellSubtitleLetterSpacing","CellTextboxSubtitle","props","React","createElement","children"],"mappings":";;;;;;;;AAKA,IAAMA,kBAAkB,gBAAGC,MAAM,CAACC,GAAG,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,+BAAA;AAAA,CACpBC,CAAAA,CAAAA,CAAAA,YAAAA,EAAAA,kBAAAA,EAAAA,oBAAAA,EAAAA,oBAAAA,EAAAA,mBAAAA,EAAAA,oBAAAA,EAAAA,uBAAAA,EAAAA,IAAAA,CAAAA,EAAAA,kBAAM,CAACC,iBAAiB,EACpBD,kBAAM,CAACE,oBAAoB,EACzBF,kBAAM,CAACG,sBAAsB,EAC7BH,kBAAM,CAACI,sBAAsB,EAC9BJ,kBAAM,CAACK,qBAAqB,EAC3BL,kBAAM,CAACM,sBAAsB,EAC1BN,kBAAM,CAACO,yBAAyB,CACzD,CAAA;IAIYC,mBAAiF,GAAG,SAApFA,mBAAiFA,CAAIC,KAAK,EAAK;EACxG,oBAAOC,KAAA,CAAAC,aAAA,CAAChB,kBAAkB,EAAEc,IAAAA,EAAAA,KAAK,CAACG,QAA6B,CAAC,CAAA;AACpE;;;;"}
|
@@ -7,11 +7,11 @@ var styled = require('styled-components');
|
|
7
7
|
var Cell_tokens = require('../../Cell.tokens.js');
|
8
8
|
|
9
9
|
var StyledTextTitle = /*#__PURE__*/styled.div.withConfig({
|
10
|
-
componentId: "plasma-new-hope__sc-
|
10
|
+
componentId: "plasma-new-hope__sc-xt8zbj-0"
|
11
11
|
})(["color:var(", ");font-size:var(", ");font-weight:var(", ");font-family:var(", ");font-style:var(", ");line-height:var(", ");letter-spacing:var(", ");"], Cell_tokens.tokens.cellTitleColor, Cell_tokens.tokens.cellTitleFontSize, Cell_tokens.tokens.cellTitleFontWeight, Cell_tokens.tokens.cellTitleFontFamily, Cell_tokens.tokens.cellTitleFontStyle, Cell_tokens.tokens.cellTitleLineHeight, Cell_tokens.tokens.cellTitleLetterSpacing);
|
12
|
-
var
|
12
|
+
var CellTextboxTitle = function CellTextboxTitle(props) {
|
13
13
|
return /*#__PURE__*/React.createElement(StyledTextTitle, null, props.children);
|
14
14
|
};
|
15
15
|
|
16
|
-
exports.
|
17
|
-
//# sourceMappingURL=
|
16
|
+
exports.CellTextboxTitle = CellTextboxTitle;
|
17
|
+
//# sourceMappingURL=CellTextTitle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CellTextTitle.js","sources":["../../../../../src/components/Cell/CellTextbox/ui/CellTextTitle.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport styled from 'styled-components';\n\nimport { tokens } from '../../Cell.tokens';\n\nconst StyledTextTitle = styled.div`\n color: var(${tokens.cellTitleColor});\n font-size: var(${tokens.cellTitleFontSize});\n font-weight: var(${tokens.cellTitleFontWeight});\n font-family: var(${tokens.cellTitleFontFamily});\n font-style: var(${tokens.cellTitleFontStyle});\n line-height: var(${tokens.cellTitleLineHeight});\n letter-spacing: var(${tokens.cellTitleLetterSpacing});\n`;\n\ntype TextTitleProps = {};\n\nexport const CellTextboxTitle: React.FC<HTMLAttributes<HTMLDivElement> & TextTitleProps> = (props) => {\n return <StyledTextTitle>{props.children}</StyledTextTitle>;\n};\n"],"names":["StyledTextTitle","styled","div","withConfig","componentId","tokens","cellTitleColor","cellTitleFontSize","cellTitleFontWeight","cellTitleFontFamily","cellTitleFontStyle","cellTitleLineHeight","cellTitleLetterSpacing","CellTextboxTitle","props","React","createElement","children"],"mappings":";;;;;;;;AAKA,IAAMA,eAAe,gBAAGC,MAAM,CAACC,GAAG,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,8BAAA;AAAA,CACjBC,CAAAA,CAAAA,CAAAA,YAAAA,EAAAA,kBAAAA,EAAAA,oBAAAA,EAAAA,oBAAAA,EAAAA,mBAAAA,EAAAA,oBAAAA,EAAAA,uBAAAA,EAAAA,IAAAA,CAAAA,EAAAA,kBAAM,CAACC,cAAc,EACjBD,kBAAM,CAACE,iBAAiB,EACtBF,kBAAM,CAACG,mBAAmB,EAC1BH,kBAAM,CAACI,mBAAmB,EAC3BJ,kBAAM,CAACK,kBAAkB,EACxBL,kBAAM,CAACM,mBAAmB,EACvBN,kBAAM,CAACO,sBAAsB,CACtD,CAAA;IAIYC,gBAA2E,GAAG,SAA9EA,gBAA2EA,CAAIC,KAAK,EAAK;EAClG,oBAAOC,KAAA,CAAAC,aAAA,CAAChB,eAAe,EAAEc,IAAAA,EAAAA,KAAK,CAACG,QAA0B,CAAC,CAAA;AAC9D;;;;"}
|
@@ -65,6 +65,7 @@ var dropdownRoot = function dropdownRoot(Root) {
|
|
65
65
|
placement: index.getPlacements(placement),
|
66
66
|
trigger: trigger,
|
67
67
|
closeOnOverlayClick: closeOnOverlayClick,
|
68
|
+
closeOnBeyondTargetHover: false,
|
68
69
|
closeOnEsc: closeOnEsc,
|
69
70
|
isFocusTrapped: isFocusTrapped,
|
70
71
|
frame: frame
|
@@ -89,7 +90,7 @@ var dropdownConfig = {
|
|
89
90
|
}
|
90
91
|
},
|
91
92
|
defaults: {
|
92
|
-
view: '
|
93
|
+
view: 'default',
|
93
94
|
size: 'm'
|
94
95
|
}
|
95
96
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: '
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnBeyondTargetHover={false}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","closeOnBeyondTargetHover","_extends","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -12,7 +12,7 @@ var base = require('./variations/_view/base.js');
|
|
12
12
|
var Popover_styles = require('./Popover.styles.js');
|
13
13
|
var Popover_tokens = require('./Popover.tokens.js');
|
14
14
|
|
15
|
-
var _excluded = ["target", "children", "isOpen", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "
|
15
|
+
var _excluded = ["target", "children", "isOpen", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "view", "onToggle"];
|
16
16
|
var ESCAPE_KEYCODE = 27;
|
17
17
|
var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
18
18
|
|
@@ -21,33 +21,41 @@ var POPOVER_PORTAL_ID = 'plasma-popover-root';
|
|
21
21
|
* и вызова по клику либо ховеру.
|
22
22
|
*/
|
23
23
|
var popoverRoot = function popoverRoot(Root) {
|
24
|
-
return /*#__PURE__*/React.forwardRef(function (
|
25
|
-
var
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
closeOnEsc =
|
44
|
-
|
45
|
-
preventOverflow =
|
46
|
-
|
47
|
-
usePortal =
|
48
|
-
view =
|
49
|
-
onToggle =
|
50
|
-
rest = _rollupPluginBabelHelpers.objectWithoutProperties(
|
24
|
+
return /*#__PURE__*/React.forwardRef(function (props, outerRootRef) {
|
25
|
+
var _placement$;
|
26
|
+
var target = props.target,
|
27
|
+
children = props.children,
|
28
|
+
isOpen = props.isOpen,
|
29
|
+
_props$trigger = props.trigger,
|
30
|
+
trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
|
31
|
+
hasArrow = props.hasArrow,
|
32
|
+
_props$frame = props.frame,
|
33
|
+
frame = _props$frame === void 0 ? 'document' : _props$frame,
|
34
|
+
className = props.className,
|
35
|
+
_props$placement = props.placement,
|
36
|
+
placement = _props$placement === void 0 ? 'auto' : _props$placement,
|
37
|
+
_props$offset = props.offset,
|
38
|
+
offset = _props$offset === void 0 ? [0, 0] : _props$offset,
|
39
|
+
zIndex = props.zIndex,
|
40
|
+
_props$isFocusTrapped = props.isFocusTrapped,
|
41
|
+
isFocusTrapped = _props$isFocusTrapped === void 0 ? true : _props$isFocusTrapped,
|
42
|
+
_props$closeOnEsc = props.closeOnEsc,
|
43
|
+
closeOnEsc = _props$closeOnEsc === void 0 ? true : _props$closeOnEsc,
|
44
|
+
_props$preventOverflo = props.preventOverflow,
|
45
|
+
preventOverflow = _props$preventOverflo === void 0 ? true : _props$preventOverflo,
|
46
|
+
_props$usePortal = props.usePortal,
|
47
|
+
usePortal = _props$usePortal === void 0 ? false : _props$usePortal,
|
48
|
+
view = props.view,
|
49
|
+
onToggle = props.onToggle,
|
50
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
|
51
|
+
var closeOnOverlayClick = true;
|
52
|
+
var closeOnBeyondTargetHover = true;
|
53
|
+
if (props.trigger === 'click' && props.closeOnOverlayClick === false) {
|
54
|
+
closeOnOverlayClick = false;
|
55
|
+
}
|
56
|
+
if (props.trigger === 'hover' && props.closeOnBeyondTargetHover === false) {
|
57
|
+
closeOnBeyondTargetHover = false;
|
58
|
+
}
|
51
59
|
var rootRef = React.useRef(null);
|
52
60
|
var popoverRef = React.useRef(null);
|
53
61
|
var handleRef = plasmaCore.useForkRef(rootRef, outerRootRef);
|
@@ -68,7 +76,9 @@ var popoverRoot = function popoverRoot(Root) {
|
|
68
76
|
opacity: isOpen ? 1 : 0
|
69
77
|
};
|
70
78
|
var _usePopper = reactPopper.usePopper(rootRef.current, popoverRef.current, {
|
71
|
-
|
79
|
+
// TODO: #1121
|
80
|
+
// eslint-disable-next-line no-nested-ternary
|
81
|
+
placement: isAutoArray ? (_placement$ = placement[0]) !== null && _placement$ !== void 0 && _placement$.endsWith('start') ? 'auto-start' : 'auto' : placement,
|
72
82
|
modifiers: [{
|
73
83
|
name: 'preventOverflow',
|
74
84
|
options: {
|
@@ -204,10 +214,15 @@ var popoverRoot = function popoverRoot(Root) {
|
|
204
214
|
}, target), children && portalRef.current && /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
|
205
215
|
view: view,
|
206
216
|
className: className
|
207
|
-
}, rest
|
217
|
+
}, rest, {
|
218
|
+
onMouseEnter: closeOnBeyondTargetHover ? undefined : onMouseEnter,
|
219
|
+
onMouseLeave: closeOnBeyondTargetHover ? undefined : onMouseEnter
|
220
|
+
}), /*#__PURE__*/React.createElement(Popover_styles.StyledPopover, _rollupPluginBabelHelpers.extends({}, attributes.popper, {
|
208
221
|
className: Popover_tokens.classes.root,
|
209
222
|
ref: popoverForkRef,
|
210
|
-
style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, styles.popper),
|
223
|
+
style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, styles.popper), {
|
224
|
+
display: isOpen ? 'block' : 'none'
|
225
|
+
}), initialStyles),
|
211
226
|
zIndex: zIndex
|
212
227
|
}), hasArrow && /*#__PURE__*/React.createElement(Popover_styles.StyledArrow, _rollupPluginBabelHelpers.extends({
|
213
228
|
className: Popover_tokens.classes.arrow,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n target,\n children,\n isOpen,\n trigger,\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n ...rest\n },\n outerRootRef,\n ) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n placement: isAutoArray ? 'auto' : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [closeOnOverlayClick, isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root view={view} className={className} {...rest}>\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{ ...styles.popper, ...initialStyles }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n },\n );\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","_ref","outerRootRef","target","children","isOpen","trigger","hasArrow","_ref$frame","frame","className","_ref$placement","placement","_ref$offset","offset","zIndex","_ref$isFocusTrapped","isFocusTrapped","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$preventOverflow","preventOverflow","_ref$usePortal","usePortal","view","onToggle","rest","_objectWithoutProperties","_excluded","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","StyledPopover","popper","root","style","_objectSpread","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';\nimport type { CSSProperties } from 'react';\nimport ReactDOM from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { useFocusTrap, useForkRef } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../engines/types';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport type { PopoverPlacement, PopoverProps } from './Popover.types';\nimport { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';\nimport { classes } from './Popover.tokens';\n\nexport const ESCAPE_KEYCODE = 27;\nexport const POPOVER_PORTAL_ID = 'plasma-popover-root';\n\n/**\n * Всплывающее окно с возможностью позиционирования\n * и вызова по клику либо ховеру.\n */\nexport const popoverRoot = (Root: RootProps<HTMLDivElement, PopoverProps>) =>\n forwardRef<HTMLDivElement, PopoverProps>((props, outerRootRef) => {\n const {\n target,\n children,\n isOpen,\n trigger = 'click',\n hasArrow,\n frame = 'document',\n className,\n placement = 'auto',\n offset = [0, 0],\n zIndex,\n isFocusTrapped = true,\n closeOnEsc = true,\n preventOverflow = true,\n usePortal = false,\n view,\n onToggle,\n ...rest\n } = props;\n\n let closeOnOverlayClick = true;\n let closeOnBeyondTargetHover = true;\n\n if (props.trigger === 'click' && props.closeOnOverlayClick === false) {\n closeOnOverlayClick = false;\n }\n if (props.trigger === 'hover' && props.closeOnBeyondTargetHover === false) {\n closeOnBeyondTargetHover = false;\n }\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const popoverRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n const portalRef = useRef<HTMLElement | null>(null);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const popoverForkRef = useForkRef<HTMLDivElement>(popoverRef, trapRef);\n\n const [arrowElement, setArrowElement] = useState<HTMLSpanElement | null>(null);\n\n const [, forceRender] = useState(false);\n\n const isAutoArray = Array.isArray(placement);\n const isAuto = isAutoArray || (placement as PopoverPlacement).startsWith('auto');\n\n const initialStyles = {\n visibility: isOpen ? 'visible' : 'hidden',\n opacity: isOpen ? 1 : 0,\n } as CSSProperties;\n\n const { styles, attributes, forceUpdate } = usePopper(rootRef.current, popoverRef.current, {\n // TODO: #1121\n // eslint-disable-next-line no-nested-ternary\n placement: isAutoArray\n ? placement[0]?.endsWith('start')\n ? 'auto-start'\n : 'auto'\n : (placement as PopoverPlacement),\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n mainAxis: preventOverflow,\n },\n },\n { name: 'offset', options: { offset: [offset[0], offset[1]] } },\n {\n name: 'flip',\n enabled: isAuto,\n options: {\n allowedAutoPlacements: isAutoArray ? (placement as PopoverPlacement[]) : [],\n },\n },\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n ],\n });\n\n const onEscape = useCallback(\n (event: KeyboardEvent) => {\n if (isOpen && closeOnEsc && event.keyCode === ESCAPE_KEYCODE) {\n onToggle?.(false, event);\n }\n },\n [closeOnEsc, isOpen, onToggle],\n );\n\n const onDocumentClick = useCallback(\n (event: MouseEvent) => {\n if (isOpen && closeOnOverlayClick && onToggle) {\n const targetIsRoot = event.target === rootRef.current;\n const rootHasTarget = rootRef.current?.contains(event.target as Element);\n\n if (!targetIsRoot && !rootHasTarget) {\n onToggle(false, event);\n }\n }\n },\n [closeOnOverlayClick, isOpen, onToggle],\n );\n\n const onClick = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'click') {\n const targetIsPopover = event.target === popoverRef.current;\n const rootHasTarget = popoverRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n onToggle?.(!isOpen, event);\n }\n }\n },\n [trigger, isOpen, onToggle],\n );\n\n const onMouseEnter = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onMouseLeave = useCallback<React.MouseEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(true, event);\n }\n },\n [trigger, onToggle],\n );\n\n const onBlur = useCallback<React.FocusEventHandler>(\n (event) => {\n if (trigger === 'hover') {\n onToggle?.(false, event);\n }\n },\n [trigger, onToggle],\n );\n\n useEffect(() => {\n document.addEventListener('click', onDocumentClick);\n return () => document.removeEventListener('click', onDocumentClick);\n }, [closeOnOverlayClick, isOpen, onToggle]);\n\n useEffect(() => {\n window.addEventListener('keydown', onEscape);\n return () => window.removeEventListener('keydown', onEscape);\n }, [closeOnEsc, isOpen, onToggle]);\n\n useEffect(() => {\n let portal = document.getElementById(POPOVER_PORTAL_ID);\n\n if (typeof frame !== 'string' && frame && frame.current) {\n portal = frame.current;\n }\n\n if (!usePortal) {\n portal = rootRef.current;\n }\n\n if (!portal) {\n portal = document.createElement('div');\n portal.setAttribute('id', POPOVER_PORTAL_ID);\n\n if (typeof frame === 'string' && frame !== 'document') {\n document.getElementById(frame)?.appendChild(portal);\n } else {\n document.body.appendChild(portal);\n }\n }\n\n portalRef.current = portal;\n\n /**\n * Изменение стейта нужно для того, чтобы Popup\n * отобразился после записи DOM элемента в portalRef.current\n */\n forceRender(true);\n }, []);\n\n useEffect(() => {\n if (!isOpen || !forceUpdate) {\n return;\n }\n\n /*\n * INFO: Метод forceUpdate содержит в себе flushSync и приводит\n * к повторному рендеру компонента, который уже находится в процессе рендера.\n * Данный хак, нужен для того, чтобы это поведение избежать и перенаправить\n * вызов метода в очередь микрозадач.\n */\n Promise.resolve().then(forceUpdate);\n }, [isOpen, children, forceUpdate]);\n\n return (\n <StyledWrapper className={classes.wrapper}>\n <StyledRoot\n ref={handleRef}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onFocus}\n onBlur={onBlur}\n className={cx(className, classes.target)}\n >\n {target}\n </StyledRoot>\n {children &&\n portalRef.current &&\n ReactDOM.createPortal(\n <Root\n view={view}\n className={className}\n {...rest}\n onMouseEnter={closeOnBeyondTargetHover ? undefined : onMouseEnter}\n onMouseLeave={closeOnBeyondTargetHover ? undefined : onMouseEnter}\n >\n <StyledPopover\n {...attributes.popper}\n className={classes.root}\n ref={popoverForkRef}\n style={{\n ...styles.popper,\n ...{ display: isOpen ? 'block' : 'none' },\n ...initialStyles,\n }}\n zIndex={zIndex}\n >\n {hasArrow && (\n <StyledArrow\n className={classes.arrow}\n ref={setArrowElement}\n style={styles.arrow}\n {...attributes.arrow}\n />\n )}\n {children}\n </StyledPopover>\n </Root>,\n portalRef.current,\n )}\n </StyledWrapper>\n );\n });\n\nexport const popoverConfig = {\n name: 'Popover',\n tag: 'div',\n layout: popoverRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'default',\n },\n};\n"],"names":["ESCAPE_KEYCODE","POPOVER_PORTAL_ID","popoverRoot","Root","forwardRef","props","outerRootRef","_placement$","target","children","isOpen","_props$trigger","trigger","hasArrow","_props$frame","frame","className","_props$placement","placement","_props$offset","offset","zIndex","_props$isFocusTrapped","isFocusTrapped","_props$closeOnEsc","closeOnEsc","_props$preventOverflo","preventOverflow","_props$usePortal","usePortal","view","onToggle","rest","_objectWithoutProperties","_excluded","closeOnOverlayClick","closeOnBeyondTargetHover","rootRef","useRef","popoverRef","handleRef","useForkRef","portalRef","trapRef","useFocusTrap","popoverForkRef","_useState","useState","_useState2","_slicedToArray","arrowElement","setArrowElement","_useState3","_useState4","forceRender","isAutoArray","Array","isArray","isAuto","startsWith","initialStyles","visibility","opacity","_usePopper","usePopper","current","endsWith","modifiers","name","options","mainAxis","enabled","allowedAutoPlacements","element","styles","attributes","forceUpdate","onEscape","useCallback","event","keyCode","onDocumentClick","_rootRef$current","targetIsRoot","rootHasTarget","contains","onClick","_popoverRef$current","targetIsPopover","onMouseEnter","onMouseLeave","onFocus","onBlur","useEffect","document","addEventListener","removeEventListener","window","portal","getElementById","createElement","setAttribute","_document$getElementB","appendChild","body","Promise","resolve","then","React","StyledWrapper","classes","wrapper","StyledRoot","ref","cx","ReactDOM","createPortal","_extends","undefined","StyledPopover","popper","root","style","_objectSpread","display","StyledArrow","arrow","popoverConfig","tag","layout","base","variations","css","viewCSS","defaults"],"mappings":"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"}
|
package/cjs/index.js
CHANGED
@@ -23,12 +23,12 @@ var ButtonGroup = require('./components/ButtonGroup/ButtonGroup.js');
|
|
23
23
|
var ButtonGroup_tokens = require('./components/ButtonGroup/ButtonGroup.tokens.js');
|
24
24
|
var Chip = require('./components/Chip/Chip.js');
|
25
25
|
var Chip_tokens = require('./components/Chip/Chip.tokens.js');
|
26
|
-
var
|
27
|
-
var
|
28
|
-
var
|
26
|
+
var CellTextLabel = require('./components/Cell/CellTextbox/ui/CellTextLabel.js');
|
27
|
+
var CellTextTitle = require('./components/Cell/CellTextbox/ui/CellTextTitle.js');
|
28
|
+
var CellTextSubtitle = require('./components/Cell/CellTextbox/ui/CellTextSubtitle.js');
|
29
29
|
var Cell = require('./components/Cell/Cell.js');
|
30
30
|
var Cell_tokens = require('./components/Cell/Cell.tokens.js');
|
31
|
-
var
|
31
|
+
var CellTextbox = require('./components/Cell/CellTextbox/CellTextbox.js');
|
32
32
|
var Link = require('./components/Link/Link.js');
|
33
33
|
var Spinner = require('./components/Spinner/Spinner.js');
|
34
34
|
var Spinner_tokens = require('./components/Spinner/Spinner.tokens.js');
|
@@ -244,14 +244,14 @@ exports.buttonGroupTokens = ButtonGroup_tokens.tokens;
|
|
244
244
|
exports.chipConfig = Chip.chipConfig;
|
245
245
|
exports.chipRoot = Chip.chipRoot;
|
246
246
|
exports.chipTokens = Chip_tokens.tokens;
|
247
|
-
exports.
|
248
|
-
exports.
|
249
|
-
exports.
|
247
|
+
exports.CellTextboxLabel = CellTextLabel.CellTextboxLabel;
|
248
|
+
exports.CellTextboxTitle = CellTextTitle.CellTextboxTitle;
|
249
|
+
exports.CellTextboxSubtitle = CellTextSubtitle.CellTextboxSubtitle;
|
250
250
|
exports.cellConfig = Cell.cellConfig;
|
251
251
|
exports.cellRoot = Cell.cellRoot;
|
252
252
|
exports.cellClasses = Cell_tokens.classes;
|
253
253
|
exports.cellTokens = Cell_tokens.tokens;
|
254
|
-
exports.
|
254
|
+
exports.CellTextbox = CellTextbox.CellTextbox;
|
255
255
|
exports.linkConfig = Link.linkConfig;
|
256
256
|
exports.linkRoot = Link.linkRoot;
|
257
257
|
exports.spinnerConfig = Spinner.spinnerConfig;
|
@@ -4,7 +4,7 @@ import { CellLeft, CellContentWrapper, CellContent, CellRight, base } from './Ce
|
|
4
4
|
import { classes } from './Cell.tokens.js';
|
5
5
|
import { base as base$1 } from './variations/_view/base.js';
|
6
6
|
import { base as base$2 } from './variations/_size/base.js';
|
7
|
-
import {
|
7
|
+
import { CellTextbox } from './CellTextbox/CellTextbox.js';
|
8
8
|
|
9
9
|
var cellRoot = function cellRoot(Root) {
|
10
10
|
return /*#__PURE__*/forwardRef(function (_ref, outerRootRef) {
|
@@ -12,15 +12,18 @@ var cellRoot = function cellRoot(Root) {
|
|
12
12
|
view = _ref.view,
|
13
13
|
contentLeft = _ref.contentLeft,
|
14
14
|
contentRight = _ref.contentRight,
|
15
|
-
_ref$
|
16
|
-
|
17
|
-
_ref$
|
18
|
-
|
15
|
+
_ref$alignContentLeft = _ref.alignContentLeft,
|
16
|
+
alignContentLeft = _ref$alignContentLeft === void 0 ? 'center' : _ref$alignContentLeft,
|
17
|
+
_ref$alignContentRigh = _ref.alignContentRight,
|
18
|
+
alignContentRight = _ref$alignContentRigh === void 0 ? 'center' : _ref$alignContentRigh,
|
19
19
|
children = _ref.children,
|
20
20
|
title = _ref.title,
|
21
21
|
subtitle = _ref.subtitle,
|
22
22
|
label = _ref.label,
|
23
|
-
|
23
|
+
description = _ref.description,
|
24
|
+
content = _ref.content,
|
25
|
+
_ref$stretching = _ref.stretching,
|
26
|
+
stretching = _ref$stretching === void 0 ? 'filled' : _ref$stretching;
|
24
27
|
var stretchingClass = classes["".concat(stretching, "Stretching")];
|
25
28
|
return /*#__PURE__*/React.createElement(Root, {
|
26
29
|
ref: outerRootRef,
|
@@ -28,13 +31,14 @@ var cellRoot = function cellRoot(Root) {
|
|
28
31
|
view: view,
|
29
32
|
className: cx(stretchingClass, classes.cellRoot)
|
30
33
|
}, contentLeft && /*#__PURE__*/React.createElement(CellLeft, {
|
31
|
-
align:
|
32
|
-
}, contentLeft), /*#__PURE__*/React.createElement(CellContentWrapper, null, /*#__PURE__*/React.createElement(CellContent, null, title || subtitle || label ? /*#__PURE__*/React.createElement(
|
34
|
+
align: alignContentLeft
|
35
|
+
}, contentLeft), /*#__PURE__*/React.createElement(CellContentWrapper, null, /*#__PURE__*/React.createElement(CellContent, null, title || description || subtitle || label ? /*#__PURE__*/React.createElement(CellTextbox, {
|
33
36
|
label: label,
|
37
|
+
description: description,
|
34
38
|
title: title,
|
35
39
|
subtitle: subtitle
|
36
|
-
}) : children
|
37
|
-
align:
|
40
|
+
}) : children || content), contentRight && /*#__PURE__*/React.createElement(CellRight, {
|
41
|
+
align: alignContentRight
|
38
42
|
}, contentRight)));
|
39
43
|
});
|
40
44
|
};
|
@@ -53,8 +57,7 @@ var cellConfig = {
|
|
53
57
|
},
|
54
58
|
defaults: {
|
55
59
|
view: 'default',
|
56
|
-
size: 'm'
|
57
|
-
stretching: 'filled'
|
60
|
+
size: 'm'
|
58
61
|
}
|
59
62
|
};
|
60
63
|
|