@alfalab/core-components-product-cover 3.1.8 → 3.2.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.
Files changed (54) hide show
  1. package/components/image-card/index.css +2 -2
  2. package/components/image-card/index.module.css.js +1 -1
  3. package/components/overlay/index.css +4 -4
  4. package/components/overlay/index.module.css.js +1 -1
  5. package/components/text/index.css +7 -7
  6. package/components/text/index.module.css.js +1 -1
  7. package/cssm/single/Component.js +5 -3
  8. package/cssm/single/Component.js.map +1 -1
  9. package/cssm/single/index.module.css +69 -0
  10. package/cssm/typings.d.ts +6 -0
  11. package/esm/components/image-card/index.css +2 -2
  12. package/esm/components/image-card/index.module.css.js +1 -1
  13. package/esm/components/overlay/index.css +4 -4
  14. package/esm/components/overlay/index.module.css.js +1 -1
  15. package/esm/components/text/index.css +7 -7
  16. package/esm/components/text/index.module.css.js +1 -1
  17. package/esm/single/Component.js +5 -3
  18. package/esm/single/Component.js.map +1 -1
  19. package/esm/single/index.css +80 -11
  20. package/esm/single/index.module.css.js +1 -1
  21. package/esm/single/index.module.css.js.map +1 -1
  22. package/esm/stack/index.css +16 -16
  23. package/esm/stack/index.module.css.js +1 -1
  24. package/esm/typings.d.ts +6 -0
  25. package/modern/components/image-card/index.css +2 -2
  26. package/modern/components/image-card/index.module.css.js +1 -1
  27. package/modern/components/overlay/index.css +4 -4
  28. package/modern/components/overlay/index.module.css.js +1 -1
  29. package/modern/components/text/index.css +7 -7
  30. package/modern/components/text/index.module.css.js +1 -1
  31. package/modern/single/Component.js +5 -3
  32. package/modern/single/Component.js.map +1 -1
  33. package/modern/single/index.css +80 -11
  34. package/modern/single/index.module.css.js +1 -1
  35. package/modern/single/index.module.css.js.map +1 -1
  36. package/modern/stack/index.css +16 -16
  37. package/modern/stack/index.module.css.js +1 -1
  38. package/modern/typings.d.ts +6 -0
  39. package/moderncssm/single/Component.js +5 -3
  40. package/moderncssm/single/Component.js.map +1 -1
  41. package/moderncssm/single/index.module.css +82 -0
  42. package/moderncssm/typings.d.ts +6 -0
  43. package/package.json +1 -1
  44. package/single/Component.js +5 -3
  45. package/single/Component.js.map +1 -1
  46. package/single/index.css +80 -11
  47. package/single/index.module.css.js +1 -1
  48. package/single/index.module.css.js.map +1 -1
  49. package/src/single/Component.tsx +9 -1
  50. package/src/single/index.module.css +36 -0
  51. package/src/typings.ts +7 -0
  52. package/stack/index.css +16 -16
  53. package/stack/index.module.css.js +1 -1
  54. package/typings.d.ts +6 -0
@@ -38,6 +38,88 @@
38
38
  border-radius: var(--border-radius-2);
39
39
  }
40
40
 
41
+ .component .state {
42
+ position: absolute;
43
+ inset: var(--gap-0);
44
+ z-index: 2;
45
+ border-radius: inherit;
46
+ opacity: 0;
47
+ transition: opacity 0.2s;
48
+ will-change: opacity;
49
+ }
50
+
51
+ .component.darkening .hover {
52
+ background-color: var(--color-light-neutral-translucent-200);
53
+ }
54
+
55
+ .component.darkening .active {
56
+ background-color: var(--color-light-neutral-translucent-400);
57
+ }
58
+
59
+ @media (hover: hover) {
60
+ .component.darkening:hover:not(:active) .hover {
61
+ opacity: 1;
62
+ }
63
+ }
64
+
65
+ .component.darkening:active .active {
66
+ opacity: 1;
67
+ }
68
+
69
+ .component.lightening .hover {
70
+ background-color: var(--color-light-neutral-translucent-200-inverted);
71
+ }
72
+
73
+ .component.lightening .active {
74
+ background-color: var(--color-light-neutral-translucent-400-inverted);
75
+ }
76
+
77
+ @media (hover: hover) {
78
+ .component.lightening:hover:not(:active) .hover {
79
+ opacity: 1;
80
+ }
81
+ }
82
+
83
+ .component.lightening:active .active {
84
+ opacity: 1;
85
+ }
86
+
87
+ .component.static-darkening .hover {
88
+ background-color: rgba(0, 0, 0, 0.07);
89
+ }
90
+
91
+ .component.static-darkening .active {
92
+ background-color: rgba(0, 0, 0, 0.15);
93
+ }
94
+
95
+ @media (hover: hover) {
96
+ .component.static-darkening:hover:not(:active) .hover {
97
+ opacity: 1;
98
+ }
99
+ }
100
+
101
+ .component.static-darkening:active .active {
102
+ opacity: 1;
103
+ }
104
+
105
+ .component.static-lightening .hover {
106
+ background-color: rgba(255, 255, 255, 0.07);
107
+ }
108
+
109
+ .component.static-lightening .active {
110
+ background-color: rgba(255, 255, 255, 0.15);
111
+ }
112
+
113
+ @media (hover: hover) {
114
+ .component.static-lightening:hover:not(:active) .hover {
115
+ opacity: 1;
116
+ }
117
+ }
118
+
119
+ .component.static-lightening:active .active {
120
+ opacity: 1;
121
+ }
122
+
41
123
  .icon {
42
124
  position: absolute;
43
125
  top: 50%;
@@ -107,6 +107,12 @@ export type SingleCommonProps = {
107
107
  * Идентификатор для систем автоматизированного тестирования
108
108
  */
109
109
  dataTestId?: string;
110
+ /**
111
+ * Задает различные эффекты при наведении на компонент (затемнение, осветление)
112
+ *
113
+ * @default false
114
+ */
115
+ stateType?: 'darkening' | 'lightening' | 'static-darkening' | 'static-lightening' | false;
110
116
  };
111
117
  export type SingleProps = Omit<SingleCommonProps, 'numberOfСards' | 'numberOfCards' | 'align'>;
112
118
  export type BankCardImageProps = Omit<SingleCommonProps, 'size' | 'numberOfСards' | 'numberOfCards' | 'className' | 'dataTestId' | 'align'>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-product-cover",
3
- "version": "3.1.8",
3
+ "version": "3.2.0",
4
4
  "description": "ProductCover component",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -18,10 +18,10 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
18
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
19
 
20
20
  var Single = function (_a) {
21
- var _b = _a.size, size = _b === void 0 ? 164 : _b, Icon = _a.icon, cardId = _a.cardId, layers = _a.layers, baseUrl = _a.baseUrl, shadow = _a.shadow, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, borderColor = _a.borderColor, textColor = _a.textColor, _c = _a.overlayProps, overlayProps = _c === void 0 ? { colors: 'default', visible: false } : _c, eyeButton = _a.eyeButton, cardholderNameUppercase = _a.cardholderNameUppercase, cardholderName = _a.cardholderName, numberOfСards = _a.numberOfСards, _d = _a.numberOfCards, numberOfCards = _d === void 0 ? numberOfСards : _d, align = _a.align, cardNumber = _a.cardNumber, className = _a.className, contentAddons = _a.contentAddons, contentAddonsProps = _a.contentAddonsProps, onEyeIconClick = _a.onEyeIconClick, dataTestId = _a.dataTestId;
21
+ var _b = _a.size, size = _b === void 0 ? 164 : _b, Icon = _a.icon, cardId = _a.cardId, layers = _a.layers, baseUrl = _a.baseUrl, shadow = _a.shadow, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, borderColor = _a.borderColor, textColor = _a.textColor, _c = _a.overlayProps, overlayProps = _c === void 0 ? { colors: 'default', visible: false } : _c, eyeButton = _a.eyeButton, cardholderNameUppercase = _a.cardholderNameUppercase, cardholderName = _a.cardholderName, numberOfСards = _a.numberOfСards, _d = _a.numberOfCards, numberOfCards = _d === void 0 ? numberOfСards : _d, align = _a.align, cardNumber = _a.cardNumber, className = _a.className, contentAddons = _a.contentAddons, contentAddonsProps = _a.contentAddonsProps, onEyeIconClick = _a.onEyeIconClick, dataTestId = _a.dataTestId, _e = _a.stateType, stateType = _e === void 0 ? false : _e;
22
22
  var hasContent = Boolean(cardNumber || cardholderName || numberOfCards);
23
23
  var showContent = hasContent && size !== 16 && !contentAddons;
24
- return (React__default.default.createElement("div", { className: cn__default.default(index_module.component, index_module["size-".concat(size)], className), style: {
24
+ return (React__default.default.createElement("div", { className: cn__default.default(index_module.component, index_module["size-".concat(size)], stateType && index_module[stateType], className), style: {
25
25
  width: consts.WIDTH_TO_SIZE[size],
26
26
  height: size,
27
27
  boxShadow: shadow,
@@ -32,7 +32,9 @@ var Single = function (_a) {
32
32
  borderColor && (React__default.default.createElement("div", { className: cn__default.default(index_module.border), style: { boxShadow: "inset 0 0 0 1px ".concat(borderColor) } })),
33
33
  React__default.default.createElement(Component$1.ImageCard, { width: consts.WIDTH_TO_SIZE[size], height: size, cardId: cardId, layers: layers, baseUrl: baseUrl, numberOfCards: numberOfCards }),
34
34
  showContent && (React__default.default.createElement(Component$2.Text, { cardNumber: cardNumber, eyeButton: eyeButton, cardholderNameUppercase: cardholderNameUppercase, cardholderName: cardholderName, numberOfCards: numberOfCards, align: align, size: size, onEyeIconClick: onEyeIconClick, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'user-info'), textColor: textColor })),
35
- contentAddons && (React__default.default.createElement("div", tslib.__assign({}, contentAddonsProps, { className: cn__default.default(index_module.contentAddons, contentAddonsProps === null || contentAddonsProps === void 0 ? void 0 : contentAddonsProps.className) }), contentAddons))));
35
+ contentAddons && (React__default.default.createElement("div", tslib.__assign({}, contentAddonsProps, { className: cn__default.default(index_module.contentAddons, contentAddonsProps === null || contentAddonsProps === void 0 ? void 0 : contentAddonsProps.className) }), contentAddons)),
36
+ stateType && React__default.default.createElement("div", { className: cn__default.default(index_module.state, index_module.hover) }),
37
+ stateType && React__default.default.createElement("div", { className: cn__default.default(index_module.state, index_module.active) })));
36
38
  };
37
39
 
38
40
  exports.Single = Single;
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../src/single/Component.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ImageCard, Overlay, Text } from '../components';\nimport { WIDTH_TO_SIZE } from '../consts';\nimport { type SingleCommonProps } from '../typings';\n\nimport styles from './index.module.css';\n\nexport const Single: FC<SingleCommonProps> = ({\n size = 164,\n icon: Icon,\n cardId,\n layers,\n baseUrl,\n shadow,\n iconColor,\n backgroundColor,\n borderColor,\n textColor,\n overlayProps = { colors: 'default', visible: false },\n eyeButton,\n cardholderNameUppercase,\n cardholderName,\n numberOfСards,\n numberOfCards = numberOfСards,\n align,\n cardNumber,\n className,\n contentAddons,\n contentAddonsProps,\n onEyeIconClick,\n dataTestId,\n}) => {\n const hasContent = Boolean(cardNumber || cardholderName || numberOfCards);\n const showContent = hasContent && size !== 16 && !contentAddons;\n\n return (\n <div\n className={cn(styles.component, styles[`size-${size}`], className)}\n style={{\n width: WIDTH_TO_SIZE[size],\n height: size,\n boxShadow: shadow,\n backgroundColor,\n }}\n data-test-id={dataTestId}\n >\n {Icon && <Icon color={iconColor} className={styles.icon} />}\n <Overlay colors={overlayProps.colors} visible={overlayProps.visible} />\n\n {borderColor && (\n <div\n className={cn(styles.border)}\n style={{ boxShadow: `inset 0 0 0 1px ${borderColor}` }}\n />\n )}\n\n <ImageCard\n width={WIDTH_TO_SIZE[size]}\n height={size}\n cardId={cardId}\n layers={layers}\n baseUrl={baseUrl}\n numberOfCards={numberOfCards}\n />\n\n {showContent && (\n <Text\n cardNumber={cardNumber}\n eyeButton={eyeButton}\n cardholderNameUppercase={cardholderNameUppercase}\n cardholderName={cardholderName}\n numberOfCards={numberOfCards}\n align={align}\n size={size}\n onEyeIconClick={onEyeIconClick}\n dataTestId={getDataTestId(dataTestId, 'user-info')}\n textColor={textColor}\n />\n )}\n\n {contentAddons && (\n <div\n {...contentAddonsProps}\n className={cn(styles.contentAddons, contentAddonsProps?.className)}\n >\n {contentAddons}\n </div>\n )}\n </div>\n );\n};\n"],"names":["React","cn","styles","WIDTH_TO_SIZE","Overlay","ImageCard","Text","getDataTestId","__assign"],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../src/single/Component.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ImageCard, Overlay, Text } from '../components';\nimport { WIDTH_TO_SIZE } from '../consts';\nimport { type SingleCommonProps } from '../typings';\n\nimport styles from './index.module.css';\n\nexport const Single: FC<SingleCommonProps> = ({\n size = 164,\n icon: Icon,\n cardId,\n layers,\n baseUrl,\n shadow,\n iconColor,\n backgroundColor,\n borderColor,\n textColor,\n overlayProps = { colors: 'default', visible: false },\n eyeButton,\n cardholderNameUppercase,\n cardholderName,\n numberOfСards,\n numberOfCards = numberOfСards,\n align,\n cardNumber,\n className,\n contentAddons,\n contentAddonsProps,\n onEyeIconClick,\n dataTestId,\n stateType = false,\n}) => {\n const hasContent = Boolean(cardNumber || cardholderName || numberOfCards);\n const showContent = hasContent && size !== 16 && !contentAddons;\n\n return (\n <div\n className={cn(\n styles.component,\n styles[`size-${size}`],\n stateType && styles[stateType],\n className,\n )}\n style={{\n width: WIDTH_TO_SIZE[size],\n height: size,\n boxShadow: shadow,\n backgroundColor,\n }}\n data-test-id={dataTestId}\n >\n {Icon && <Icon color={iconColor} className={styles.icon} />}\n <Overlay colors={overlayProps.colors} visible={overlayProps.visible} />\n\n {borderColor && (\n <div\n className={cn(styles.border)}\n style={{ boxShadow: `inset 0 0 0 1px ${borderColor}` }}\n />\n )}\n\n <ImageCard\n width={WIDTH_TO_SIZE[size]}\n height={size}\n cardId={cardId}\n layers={layers}\n baseUrl={baseUrl}\n numberOfCards={numberOfCards}\n />\n\n {showContent && (\n <Text\n cardNumber={cardNumber}\n eyeButton={eyeButton}\n cardholderNameUppercase={cardholderNameUppercase}\n cardholderName={cardholderName}\n numberOfCards={numberOfCards}\n align={align}\n size={size}\n onEyeIconClick={onEyeIconClick}\n dataTestId={getDataTestId(dataTestId, 'user-info')}\n textColor={textColor}\n />\n )}\n\n {contentAddons && (\n <div\n {...contentAddonsProps}\n className={cn(styles.contentAddons, contentAddonsProps?.className)}\n >\n {contentAddons}\n </div>\n )}\n {stateType && <div className={cn(styles.state, styles.hover)} />}\n {stateType && <div className={cn(styles.state, styles.active)} />}\n </div>\n );\n};\n"],"names":["React","cn","styles","WIDTH_TO_SIZE","Overlay","ImageCard","Text","getDataTestId","__assign"],"mappings":"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"}
package/single/index.css CHANGED
@@ -1,5 +1,9 @@
1
1
  :root {
2
2
  --color-light-neutral-500: #babbc2;
3
+ --color-light-neutral-translucent-200: rgba(30, 43, 68, 0.08);
4
+ --color-light-neutral-translucent-200-inverted: rgba(225, 225, 248, 0.09);
5
+ --color-light-neutral-translucent-400: rgba(5, 11, 44, 0.18);
6
+ --color-light-neutral-translucent-400-inverted: rgba(231, 231, 248, 0.18);
3
7
  }
4
8
  :root {
5
9
  --border-radius-xs: 2px;
@@ -28,45 +32,110 @@
28
32
  --gap-12: var(--gap-s);
29
33
  --gap-16: var(--gap-m);
30
34
  }
31
- .product-cover__component_ut4z3 {
35
+ .product-cover__component_14a7f {
32
36
  display: flex;
33
37
  align-items: flex-end;
34
38
  position: relative;
35
39
  background-color: var(--color-light-neutral-500);
36
40
  box-sizing: border-box;
37
41
  }
38
- .product-cover__component_ut4z3.product-cover__size-164_ut4z3 {
42
+ .product-cover__component_14a7f.product-cover__size-164_14a7f {
39
43
  border-radius: var(--border-radius-20);
40
44
  padding: var(--gap-12) var(--gap-16);
41
45
  }
42
- .product-cover__component_ut4z3.product-cover__size-128_ut4z3 {
46
+ .product-cover__component_14a7f.product-cover__size-128_14a7f {
43
47
  border-radius: var(--border-radius-16);
44
48
  padding: var(--gap-8) var(--gap-12);
45
49
  }
46
- .product-cover__component_ut4z3.product-cover__size-96_ut4z3 {
50
+ .product-cover__component_14a7f.product-cover__size-96_14a7f {
47
51
  border-radius: var(--border-radius-12);
48
52
  padding: var(--gap-6) var(--gap-12);
49
53
  }
50
- .product-cover__component_ut4z3.product-cover__size-48_ut4z3,
51
- .product-cover__component_ut4z3.product-cover__size-40_ut4z3 {
54
+ .product-cover__component_14a7f.product-cover__size-48_14a7f,
55
+ .product-cover__component_14a7f.product-cover__size-40_14a7f {
52
56
  border-radius: var(--border-radius-6);
53
57
  padding: var(--gap-2) var(--gap-4);
54
58
  }
55
- .product-cover__component_ut4z3.product-cover__size-32_ut4z3 {
59
+ .product-cover__component_14a7f.product-cover__size-32_14a7f {
56
60
  border-radius: var(--border-radius-4);
57
61
  padding: var(--gap-0) var(--gap-2);
58
62
  }
59
- .product-cover__component_ut4z3.product-cover__size-16_ut4z3 {
63
+ .product-cover__component_14a7f.product-cover__size-16_14a7f {
60
64
  border-radius: var(--border-radius-2);
61
65
  }
62
- .product-cover__icon_ut4z3 {
66
+ .product-cover__component_14a7f .product-cover__state_14a7f {
67
+ position: absolute;
68
+ inset: var(--gap-0);
69
+ z-index: 2;
70
+ border-radius: inherit;
71
+ opacity: 0;
72
+ transition: opacity 0.2s;
73
+ will-change: opacity;
74
+ }
75
+ .product-cover__component_14a7f.product-cover__darkening_14a7f .product-cover__hover_14a7f {
76
+ background-color: var(--color-light-neutral-translucent-200);
77
+ }
78
+ .product-cover__component_14a7f.product-cover__darkening_14a7f .product-cover__active_14a7f {
79
+ background-color: var(--color-light-neutral-translucent-400);
80
+ }
81
+ @media (hover: hover) {
82
+ .product-cover__component_14a7f.product-cover__darkening_14a7f:hover:not(:active) .product-cover__hover_14a7f {
83
+ opacity: 1;
84
+ }
85
+ }
86
+ .product-cover__component_14a7f.product-cover__darkening_14a7f:active .product-cover__active_14a7f {
87
+ opacity: 1;
88
+ }
89
+ .product-cover__component_14a7f.product-cover__lightening_14a7f .product-cover__hover_14a7f {
90
+ background-color: var(--color-light-neutral-translucent-200-inverted);
91
+ }
92
+ .product-cover__component_14a7f.product-cover__lightening_14a7f .product-cover__active_14a7f {
93
+ background-color: var(--color-light-neutral-translucent-400-inverted);
94
+ }
95
+ @media (hover: hover) {
96
+ .product-cover__component_14a7f.product-cover__lightening_14a7f:hover:not(:active) .product-cover__hover_14a7f {
97
+ opacity: 1;
98
+ }
99
+ }
100
+ .product-cover__component_14a7f.product-cover__lightening_14a7f:active .product-cover__active_14a7f {
101
+ opacity: 1;
102
+ }
103
+ .product-cover__component_14a7f.product-cover__static-darkening_14a7f .product-cover__hover_14a7f {
104
+ background-color: rgba(0, 0, 0, 0.07);
105
+ }
106
+ .product-cover__component_14a7f.product-cover__static-darkening_14a7f .product-cover__active_14a7f {
107
+ background-color: rgba(0, 0, 0, 0.15);
108
+ }
109
+ @media (hover: hover) {
110
+ .product-cover__component_14a7f.product-cover__static-darkening_14a7f:hover:not(:active) .product-cover__hover_14a7f {
111
+ opacity: 1;
112
+ }
113
+ }
114
+ .product-cover__component_14a7f.product-cover__static-darkening_14a7f:active .product-cover__active_14a7f {
115
+ opacity: 1;
116
+ }
117
+ .product-cover__component_14a7f.product-cover__static-lightening_14a7f .product-cover__hover_14a7f {
118
+ background-color: rgba(255, 255, 255, 0.07);
119
+ }
120
+ .product-cover__component_14a7f.product-cover__static-lightening_14a7f .product-cover__active_14a7f {
121
+ background-color: rgba(255, 255, 255, 0.15);
122
+ }
123
+ @media (hover: hover) {
124
+ .product-cover__component_14a7f.product-cover__static-lightening_14a7f:hover:not(:active) .product-cover__hover_14a7f {
125
+ opacity: 1;
126
+ }
127
+ }
128
+ .product-cover__component_14a7f.product-cover__static-lightening_14a7f:active .product-cover__active_14a7f {
129
+ opacity: 1;
130
+ }
131
+ .product-cover__icon_14a7f {
63
132
  position: absolute;
64
133
  top: 50%;
65
134
  left: 50%;
66
135
  transform: translate(-50%, -50%);
67
136
  z-index: 4;
68
137
  }
69
- .product-cover__border_ut4z3 {
138
+ .product-cover__border_14a7f {
70
139
  position: absolute;
71
140
  top: var(--gap-0);
72
141
  bottom: var(--gap-0);
@@ -76,7 +145,7 @@
76
145
  pointer-events: none;
77
146
  z-index: 3;
78
147
  }
79
- .product-cover__contentAddons_ut4z3 {
148
+ .product-cover__contentAddons_14a7f {
80
149
  width: 100%;
81
150
  height: 100%;
82
151
  z-index: 2;
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"product-cover__component_ut4z3","size-164":"product-cover__size-164_ut4z3","size-128":"product-cover__size-128_ut4z3","size-96":"product-cover__size-96_ut4z3","size-48":"product-cover__size-48_ut4z3","size-40":"product-cover__size-40_ut4z3","size-32":"product-cover__size-32_ut4z3","size-16":"product-cover__size-16_ut4z3","icon":"product-cover__icon_ut4z3","border":"product-cover__border_ut4z3","contentAddons":"product-cover__contentAddons_ut4z3"};
5
+ var styles = {"component":"product-cover__component_14a7f","size-164":"product-cover__size-164_14a7f","size-128":"product-cover__size-128_14a7f","size-96":"product-cover__size-96_14a7f","size-48":"product-cover__size-48_14a7f","size-40":"product-cover__size-40_14a7f","size-32":"product-cover__size-32_14a7f","size-16":"product-cover__size-16_14a7f","state":"product-cover__state_14a7f","darkening":"product-cover__darkening_14a7f","hover":"product-cover__hover_14a7f","active":"product-cover__active_14a7f","lightening":"product-cover__lightening_14a7f","static-darkening":"product-cover__static-darkening_14a7f","static-lightening":"product-cover__static-lightening_14a7f","icon":"product-cover__icon_14a7f","border":"product-cover__border_14a7f","contentAddons":"product-cover__contentAddons_14a7f"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../src/single/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: flex;\n align-items: flex-end;\n position: relative;\n background-color: var(--color-light-neutral-500);\n box-sizing: border-box;\n\n &.size-164 {\n border-radius: var(--border-radius-20);\n padding: var(--gap-12) var(--gap-16);\n }\n &.size-128 {\n border-radius: var(--border-radius-16);\n padding: var(--gap-8) var(--gap-12);\n }\n &.size-96 {\n border-radius: var(--border-radius-12);\n padding: var(--gap-6) var(--gap-12);\n }\n &.size-48,\n &.size-40 {\n border-radius: var(--border-radius-6);\n padding: var(--gap-2) var(--gap-4);\n }\n &.size-32 {\n border-radius: var(--border-radius-4);\n padding: var(--gap-0) var(--gap-2);\n }\n &.size-16 {\n border-radius: var(--border-radius-2);\n }\n}\n\n.icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 4;\n}\n\n.border {\n position: absolute;\n top: var(--gap-0);\n bottom: var(--gap-0);\n left: var(--gap-0);\n right: var(--gap-0);\n border-radius: inherit;\n pointer-events: none;\n z-index: 3;\n}\n\n.contentAddons {\n width: 100%;\n height: 100%;\n z-index: 2;\n overflow: hidden;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,gCAAgC,CAAC,UAAU,CAAC,+BAA+B,CAAC,UAAU,CAAC,+BAA+B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,6BAA6B,CAAC,eAAe,CAAC,oCAAoC,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../src/single/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: flex;\n align-items: flex-end;\n position: relative;\n background-color: var(--color-light-neutral-500);\n box-sizing: border-box;\n\n &.size-164 {\n border-radius: var(--border-radius-20);\n padding: var(--gap-12) var(--gap-16);\n }\n &.size-128 {\n border-radius: var(--border-radius-16);\n padding: var(--gap-8) var(--gap-12);\n }\n &.size-96 {\n border-radius: var(--border-radius-12);\n padding: var(--gap-6) var(--gap-12);\n }\n &.size-48,\n &.size-40 {\n border-radius: var(--border-radius-6);\n padding: var(--gap-2) var(--gap-4);\n }\n &.size-32 {\n border-radius: var(--border-radius-4);\n padding: var(--gap-0) var(--gap-2);\n }\n &.size-16 {\n border-radius: var(--border-radius-2);\n }\n\n & .state {\n position: absolute;\n inset: var(--gap-0);\n z-index: 2;\n border-radius: inherit;\n opacity: 0;\n transition: opacity 0.2s;\n will-change: opacity;\n }\n\n /* prettier-ignore */\n @each $state, $hover, $active in\n (darkening, var(--color-light-neutral-translucent-200), var(--color-light-neutral-translucent-400)),\n (lightening, var(--color-light-neutral-translucent-200-inverted), var(--color-light-neutral-translucent-400-inverted)),\n (static-darkening, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0.15)),\n (static-lightening, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.15)) {\n &.$(state) {\n & .hover {\n background-color: $hover;\n }\n & .active {\n background-color: $active;\n }\n @mixin hover {\n &:not(:active) .hover {\n opacity: 1;\n }\n }\n &:active {\n & .active {\n opacity: 1;\n }\n }\n }\n }\n}\n\n.icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 4;\n}\n\n.border {\n position: absolute;\n top: var(--gap-0);\n bottom: var(--gap-0);\n left: var(--gap-0);\n right: var(--gap-0);\n border-radius: inherit;\n pointer-events: none;\n z-index: 3;\n}\n\n.contentAddons {\n width: 100%;\n height: 100%;\n z-index: 2;\n overflow: hidden;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,gCAAgC,CAAC,UAAU,CAAC,+BAA+B,CAAC,UAAU,CAAC,+BAA+B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,SAAS,CAAC,8BAA8B,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,gCAAgC,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,CAAC,6BAA6B,CAAC,YAAY,CAAC,iCAAiC,CAAC,kBAAkB,CAAC,uCAAuC,CAAC,mBAAmB,CAAC,wCAAwC,CAAC,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,6BAA6B,CAAC,eAAe,CAAC,oCAAoC,CAAC;;;;"}
@@ -33,13 +33,19 @@ export const Single: FC<SingleCommonProps> = ({
33
33
  contentAddonsProps,
34
34
  onEyeIconClick,
35
35
  dataTestId,
36
+ stateType = false,
36
37
  }) => {
37
38
  const hasContent = Boolean(cardNumber || cardholderName || numberOfCards);
38
39
  const showContent = hasContent && size !== 16 && !contentAddons;
39
40
 
40
41
  return (
41
42
  <div
42
- className={cn(styles.component, styles[`size-${size}`], className)}
43
+ className={cn(
44
+ styles.component,
45
+ styles[`size-${size}`],
46
+ stateType && styles[stateType],
47
+ className,
48
+ )}
43
49
  style={{
44
50
  width: WIDTH_TO_SIZE[size],
45
51
  height: size,
@@ -90,6 +96,8 @@ export const Single: FC<SingleCommonProps> = ({
90
96
  {contentAddons}
91
97
  </div>
92
98
  )}
99
+ {stateType && <div className={cn(styles.state, styles.hover)} />}
100
+ {stateType && <div className={cn(styles.state, styles.active)} />}
93
101
  </div>
94
102
  );
95
103
  };
@@ -31,6 +31,42 @@
31
31
  &.size-16 {
32
32
  border-radius: var(--border-radius-2);
33
33
  }
34
+
35
+ & .state {
36
+ position: absolute;
37
+ inset: var(--gap-0);
38
+ z-index: 2;
39
+ border-radius: inherit;
40
+ opacity: 0;
41
+ transition: opacity 0.2s;
42
+ will-change: opacity;
43
+ }
44
+
45
+ /* prettier-ignore */
46
+ @each $state, $hover, $active in
47
+ (darkening, var(--color-light-neutral-translucent-200), var(--color-light-neutral-translucent-400)),
48
+ (lightening, var(--color-light-neutral-translucent-200-inverted), var(--color-light-neutral-translucent-400-inverted)),
49
+ (static-darkening, rgba(0, 0, 0, 0.07), rgba(0, 0, 0, 0.15)),
50
+ (static-lightening, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.15)) {
51
+ &.$(state) {
52
+ & .hover {
53
+ background-color: $hover;
54
+ }
55
+ & .active {
56
+ background-color: $active;
57
+ }
58
+ @mixin hover {
59
+ &:not(:active) .hover {
60
+ opacity: 1;
61
+ }
62
+ }
63
+ &:active {
64
+ & .active {
65
+ opacity: 1;
66
+ }
67
+ }
68
+ }
69
+ }
34
70
  }
35
71
 
36
72
  .icon {
package/src/typings.ts CHANGED
@@ -134,6 +134,13 @@ export type SingleCommonProps = {
134
134
  * Идентификатор для систем автоматизированного тестирования
135
135
  */
136
136
  dataTestId?: string;
137
+
138
+ /**
139
+ * Задает различные эффекты при наведении на компонент (затемнение, осветление)
140
+ *
141
+ * @default false
142
+ */
143
+ stateType?: 'darkening' | 'lightening' | 'static-darkening' | 'static-lightening' | false;
137
144
  };
138
145
 
139
146
  // eslint-disable-next-line no-restricted-syntax
package/stack/index.css CHANGED
@@ -10,66 +10,66 @@
10
10
  --gap-16: var(--gap-m);
11
11
  --gap-20-neg: var(--gap-l-neg);
12
12
  }
13
- .product-cover__wrapper_1dq1z {
13
+ .product-cover__wrapper_vbqzd {
14
14
  display: flex;
15
15
  justify-content: center;
16
16
  box-sizing: border-box;
17
17
  }
18
- .product-cover__wrapper_1dq1z.product-cover__size-128_1dq1z {
18
+ .product-cover__wrapper_vbqzd.product-cover__size-128_vbqzd {
19
19
  width: 213px;
20
20
  height: 128px;
21
21
  }
22
- .product-cover__wrapper_1dq1z.product-cover__size-40_1dq1z {
22
+ .product-cover__wrapper_vbqzd.product-cover__size-40_vbqzd {
23
23
  width: 76px;
24
24
  height: 56px;
25
25
  }
26
- .product-cover__wrapper_1dq1z.product-cover__size-32_1dq1z {
26
+ .product-cover__wrapper_vbqzd.product-cover__size-32_vbqzd {
27
27
  width: 55px;
28
28
  height: 48px;
29
29
  }
30
- .product-cover__wrapper_1dq1z.product-cover__size-16_1dq1z {
30
+ .product-cover__wrapper_vbqzd.product-cover__size-16_vbqzd {
31
31
  width: 28px;
32
32
  height: 20px;
33
33
  }
34
- .product-cover__wrapper_1dq1z.product-cover__size-40_1dq1z.product-cover__bottom_1dq1z {
34
+ .product-cover__wrapper_vbqzd.product-cover__size-40_vbqzd.product-cover__bottom_vbqzd {
35
35
  width: 65px;
36
36
  height: 48px;
37
37
  }
38
- .product-cover__componentImage_1dq1z {
38
+ .product-cover__componentImage_vbqzd {
39
39
  align-items: center;
40
40
  }
41
- .product-cover__componentStack_1dq1z.product-cover__size-128_1dq1z {
41
+ .product-cover__componentStack_vbqzd.product-cover__size-128_vbqzd {
42
42
  padding-left: var(--gap-8);
43
43
  }
44
- .product-cover__firstCard_1dq1z {
44
+ .product-cover__firstCard_vbqzd {
45
45
  z-index: 4;
46
46
  }
47
- .product-cover__firstCard_1dq1z.product-cover__size-32_1dq1z {
47
+ .product-cover__firstCard_vbqzd.product-cover__size-32_vbqzd {
48
48
  margin-top: var(--gap-4);
49
49
  }
50
- .product-cover__firstCard_1dq1z.product-cover__size-40_1dq1z.product-cover__bottom_1dq1z {
50
+ .product-cover__firstCard_vbqzd.product-cover__size-40_vbqzd.product-cover__bottom_vbqzd {
51
51
  margin-left: -7px;
52
52
  margin-top: var(--gap-4);
53
53
  }
54
- .product-cover__wrapperSecondCard_1dq1z.product-cover__size-128_1dq1z {
54
+ .product-cover__wrapperSecondCard_vbqzd.product-cover__size-128_vbqzd {
55
55
  width: 213px;
56
56
  padding-left: var(--gap-8);
57
57
  margin-top: 18px;
58
58
  margin-left: -221px;
59
59
  }
60
- .product-cover__wrapperSecondCard_1dq1z.product-cover__size-40_1dq1z {
60
+ .product-cover__wrapperSecondCard_vbqzd.product-cover__size-40_vbqzd {
61
61
  margin-top: var(--gap-16);
62
62
  margin-left: -54px;
63
63
  }
64
- .product-cover__wrapperSecondCard_1dq1z.product-cover__size-32_1dq1z {
64
+ .product-cover__wrapperSecondCard_vbqzd.product-cover__size-32_vbqzd {
65
65
  margin-top: var(--gap-12);
66
66
  margin-left: -47px;
67
67
  }
68
- .product-cover__wrapperSecondCard_1dq1z.product-cover__size-16_1dq1z {
68
+ .product-cover__wrapperSecondCard_vbqzd.product-cover__size-16_vbqzd {
69
69
  margin-top: var(--gap-4);
70
70
  margin-left: var(--gap-20-neg);
71
71
  }
72
- .product-cover__wrapperSecondCard_1dq1z.product-cover__size-40_1dq1z.product-cover__bottom_1dq1z {
72
+ .product-cover__wrapperSecondCard_vbqzd.product-cover__size-40_vbqzd.product-cover__bottom_vbqzd {
73
73
  margin-top: var(--gap-16);
74
74
  margin-left: -58px;
75
75
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"wrapper":"product-cover__wrapper_1dq1z","size-128":"product-cover__size-128_1dq1z","size-40":"product-cover__size-40_1dq1z","size-32":"product-cover__size-32_1dq1z","size-16":"product-cover__size-16_1dq1z","bottom":"product-cover__bottom_1dq1z","componentImage":"product-cover__componentImage_1dq1z","componentStack":"product-cover__componentStack_1dq1z","firstCard":"product-cover__firstCard_1dq1z","wrapperSecondCard":"product-cover__wrapperSecondCard_1dq1z"};
5
+ var styles = {"wrapper":"product-cover__wrapper_vbqzd","size-128":"product-cover__size-128_vbqzd","size-40":"product-cover__size-40_vbqzd","size-32":"product-cover__size-32_vbqzd","size-16":"product-cover__size-16_vbqzd","bottom":"product-cover__bottom_vbqzd","componentImage":"product-cover__componentImage_vbqzd","componentStack":"product-cover__componentStack_vbqzd","firstCard":"product-cover__firstCard_vbqzd","wrapperSecondCard":"product-cover__wrapperSecondCard_vbqzd"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
package/typings.d.ts CHANGED
@@ -107,6 +107,12 @@ export type SingleCommonProps = {
107
107
  * Идентификатор для систем автоматизированного тестирования
108
108
  */
109
109
  dataTestId?: string;
110
+ /**
111
+ * Задает различные эффекты при наведении на компонент (затемнение, осветление)
112
+ *
113
+ * @default false
114
+ */
115
+ stateType?: 'darkening' | 'lightening' | 'static-darkening' | 'static-lightening' | false;
110
116
  };
111
117
  export type SingleProps = Omit<SingleCommonProps, 'numberOfСards' | 'numberOfCards' | 'align'>;
112
118
  export type BankCardImageProps = Omit<SingleCommonProps, 'size' | 'numberOfСards' | 'numberOfCards' | 'className' | 'dataTestId' | 'align'>;