@alfalab/core-components-product-cover 1.0.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 (181) hide show
  1. package/Component.d.ts +8 -0
  2. package/Component.js +21 -0
  3. package/components/image-card/Component.d.ts +32 -0
  4. package/components/image-card/Component.js +41 -0
  5. package/components/image-card/index.css +32 -0
  6. package/components/image-card/index.d.ts +1 -0
  7. package/components/image-card/index.js +9 -0
  8. package/components/index.d.ts +3 -0
  9. package/components/index.js +13 -0
  10. package/components/overlay/Component.d.ts +4 -0
  11. package/components/overlay/Component.js +24 -0
  12. package/components/overlay/index.css +35 -0
  13. package/components/overlay/index.d.ts +1 -0
  14. package/components/overlay/index.js +9 -0
  15. package/components/text/Component.d.ts +47 -0
  16. package/components/text/Component.js +40 -0
  17. package/components/text/index.css +48 -0
  18. package/components/text/index.d.ts +1 -0
  19. package/components/text/index.js +9 -0
  20. package/consts.d.ts +5 -0
  21. package/consts.js +32 -0
  22. package/cssm/Component.d.ts +8 -0
  23. package/cssm/Component.js +21 -0
  24. package/cssm/components/image-card/Component.d.ts +32 -0
  25. package/cssm/components/image-card/Component.js +40 -0
  26. package/cssm/components/image-card/index.d.ts +1 -0
  27. package/cssm/components/image-card/index.js +9 -0
  28. package/cssm/components/image-card/index.module.css +31 -0
  29. package/cssm/components/index.d.ts +3 -0
  30. package/cssm/components/index.js +13 -0
  31. package/cssm/components/overlay/Component.d.ts +4 -0
  32. package/cssm/components/overlay/Component.js +23 -0
  33. package/cssm/components/overlay/index.d.ts +1 -0
  34. package/cssm/components/overlay/index.js +9 -0
  35. package/cssm/components/overlay/index.module.css +34 -0
  36. package/cssm/components/text/Component.d.ts +47 -0
  37. package/cssm/components/text/Component.js +39 -0
  38. package/cssm/components/text/index.d.ts +1 -0
  39. package/cssm/components/text/index.js +9 -0
  40. package/cssm/components/text/index.module.css +46 -0
  41. package/cssm/consts.d.ts +5 -0
  42. package/cssm/consts.js +32 -0
  43. package/cssm/index.d.ts +2 -0
  44. package/cssm/index.js +10 -0
  45. package/cssm/shared/index.d.ts +1 -0
  46. package/cssm/shared/index.js +10 -0
  47. package/cssm/single/Component.d.ts +4 -0
  48. package/cssm/single/Component.js +39 -0
  49. package/cssm/single/index.d.ts +1 -0
  50. package/cssm/single/index.js +9 -0
  51. package/cssm/single/index.module.css +71 -0
  52. package/cssm/stack/Component.d.ts +4 -0
  53. package/cssm/stack/Component.js +34 -0
  54. package/cssm/stack/index.d.ts +1 -0
  55. package/cssm/stack/index.js +9 -0
  56. package/cssm/stack/index.module.css +68 -0
  57. package/cssm/typings.d.ts +144 -0
  58. package/cssm/typings.js +2 -0
  59. package/cssm/utils/index.d.ts +15 -0
  60. package/cssm/utils/index.js +39 -0
  61. package/esm/Component.d.ts +8 -0
  62. package/esm/Component.js +12 -0
  63. package/esm/components/image-card/Component.d.ts +32 -0
  64. package/esm/components/image-card/Component.js +33 -0
  65. package/esm/components/image-card/index.css +32 -0
  66. package/esm/components/image-card/index.d.ts +1 -0
  67. package/esm/components/image-card/index.js +1 -0
  68. package/esm/components/index.d.ts +3 -0
  69. package/esm/components/index.js +3 -0
  70. package/esm/components/overlay/Component.d.ts +4 -0
  71. package/esm/components/overlay/Component.js +15 -0
  72. package/esm/components/overlay/index.css +35 -0
  73. package/esm/components/overlay/index.d.ts +1 -0
  74. package/esm/components/overlay/index.js +1 -0
  75. package/esm/components/text/Component.d.ts +47 -0
  76. package/esm/components/text/Component.js +31 -0
  77. package/esm/components/text/index.css +48 -0
  78. package/esm/components/text/index.d.ts +1 -0
  79. package/esm/components/text/index.js +1 -0
  80. package/esm/consts.d.ts +5 -0
  81. package/esm/consts.js +26 -0
  82. package/esm/index.d.ts +2 -0
  83. package/esm/index.js +1 -0
  84. package/esm/shared/index.d.ts +1 -0
  85. package/esm/shared/index.js +1 -0
  86. package/esm/single/Component.d.ts +4 -0
  87. package/esm/single/Component.js +31 -0
  88. package/esm/single/index.css +72 -0
  89. package/esm/single/index.d.ts +1 -0
  90. package/esm/single/index.js +1 -0
  91. package/esm/stack/Component.d.ts +4 -0
  92. package/esm/stack/Component.js +26 -0
  93. package/esm/stack/index.css +69 -0
  94. package/esm/stack/index.d.ts +1 -0
  95. package/esm/stack/index.js +1 -0
  96. package/esm/typings.d.ts +144 -0
  97. package/esm/typings.js +1 -0
  98. package/esm/utils/index.d.ts +15 -0
  99. package/esm/utils/index.js +32 -0
  100. package/index.d.ts +2 -0
  101. package/index.js +10 -0
  102. package/modern/Component.d.ts +8 -0
  103. package/modern/Component.js +11 -0
  104. package/modern/components/image-card/Component.d.ts +32 -0
  105. package/modern/components/image-card/Component.js +32 -0
  106. package/modern/components/image-card/index.css +32 -0
  107. package/modern/components/image-card/index.d.ts +1 -0
  108. package/modern/components/image-card/index.js +1 -0
  109. package/modern/components/index.d.ts +3 -0
  110. package/modern/components/index.js +3 -0
  111. package/modern/components/overlay/Component.d.ts +4 -0
  112. package/modern/components/overlay/Component.js +11 -0
  113. package/modern/components/overlay/index.css +35 -0
  114. package/modern/components/overlay/index.d.ts +1 -0
  115. package/modern/components/overlay/index.js +1 -0
  116. package/modern/components/text/Component.d.ts +47 -0
  117. package/modern/components/text/Component.js +31 -0
  118. package/modern/components/text/index.css +48 -0
  119. package/modern/components/text/index.d.ts +1 -0
  120. package/modern/components/text/index.js +1 -0
  121. package/modern/consts.d.ts +5 -0
  122. package/modern/consts.js +26 -0
  123. package/modern/index.d.ts +2 -0
  124. package/modern/index.js +1 -0
  125. package/modern/shared/index.d.ts +1 -0
  126. package/modern/shared/index.js +1 -0
  127. package/modern/single/Component.d.ts +4 -0
  128. package/modern/single/Component.js +29 -0
  129. package/modern/single/index.css +72 -0
  130. package/modern/single/index.d.ts +1 -0
  131. package/modern/single/index.js +1 -0
  132. package/modern/stack/Component.d.ts +4 -0
  133. package/modern/stack/Component.js +23 -0
  134. package/modern/stack/index.css +69 -0
  135. package/modern/stack/index.d.ts +1 -0
  136. package/modern/stack/index.js +1 -0
  137. package/modern/typings.d.ts +144 -0
  138. package/modern/typings.js +1 -0
  139. package/modern/utils/index.d.ts +15 -0
  140. package/modern/utils/index.js +32 -0
  141. package/package.json +27 -0
  142. package/shared/index.d.ts +1 -0
  143. package/shared/index.js +10 -0
  144. package/shared/package.json +3 -0
  145. package/single/Component.d.ts +4 -0
  146. package/single/Component.js +40 -0
  147. package/single/index.css +72 -0
  148. package/single/index.d.ts +1 -0
  149. package/single/index.js +9 -0
  150. package/src/Component.tsx +15 -0
  151. package/src/components/image-card/Component.tsx +110 -0
  152. package/src/components/image-card/index.module.css +18 -0
  153. package/src/components/image-card/index.ts +1 -0
  154. package/src/components/index.ts +3 -0
  155. package/src/components/overlay/Component.tsx +14 -0
  156. package/src/components/overlay/index.module.css +25 -0
  157. package/src/components/overlay/index.ts +1 -0
  158. package/src/components/text/Component.tsx +134 -0
  159. package/src/components/text/index.module.css +39 -0
  160. package/src/components/text/index.ts +1 -0
  161. package/src/consts.ts +28 -0
  162. package/src/index.ts +2 -0
  163. package/src/shared/index.ts +1 -0
  164. package/src/shared/package.json +3 -0
  165. package/src/single/Component.tsx +92 -0
  166. package/src/single/index.module.css +60 -0
  167. package/src/single/index.ts +1 -0
  168. package/src/stack/Component.tsx +51 -0
  169. package/src/stack/index.module.css +84 -0
  170. package/src/stack/index.ts +1 -0
  171. package/src/typings.ts +179 -0
  172. package/src/utils/index.ts +35 -0
  173. package/stack/Component.d.ts +4 -0
  174. package/stack/Component.js +35 -0
  175. package/stack/index.css +69 -0
  176. package/stack/index.d.ts +1 -0
  177. package/stack/index.js +9 -0
  178. package/typings.d.ts +144 -0
  179. package/typings.js +2 -0
  180. package/utils/index.d.ts +15 -0
  181. package/utils/index.js +39 -0
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { OverlayProps } from "../../typings";
3
+ declare const Overlay: FC<OverlayProps>;
4
+ export { Overlay };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var cn = require('classnames');
7
+ var styles = require('./index.module.css');
8
+
9
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
13
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
14
+
15
+ var Overlay = function (_a) {
16
+ var _b;
17
+ var _c = _a.colors, colors = _c === void 0 ? 'default' : _c, visible = _a.visible;
18
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.overlay, styles__default.default[colors], (_b = {},
19
+ _b[styles__default.default.visible] = visible,
20
+ _b)) }));
21
+ };
22
+
23
+ exports.Overlay = Overlay;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var components_overlay_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.Overlay = components_overlay_Component.Overlay;
@@ -0,0 +1,34 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root {
3
+ --color-static-neutral-translucent-700: rgba(4, 4, 21, 0.47);
4
+ --color-static-neutral-translucent-700-inverted: rgba(238, 238, 251, 0.55); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
5
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
6
+ } :root {
7
+ } :root {
8
+
9
+ /* Hard */
10
+
11
+ /* Up */
12
+
13
+ /* Hard up */
14
+ } :root {
15
+ } :root {
16
+ } :root {
17
+ } :root {
18
+ } .overlay {
19
+ position: absolute;
20
+ top: 0;
21
+ bottom: 0;
22
+ left: 0;
23
+ right: 0;
24
+ border-radius: inherit;
25
+ pointer-events: none;
26
+ z-index: 3;
27
+ opacity: 0;
28
+ } .visible {
29
+ opacity: 1;
30
+ } .default {
31
+ background: var(--color-static-neutral-translucent-700-inverted);
32
+ } .inverted {
33
+ background: var(--color-static-neutral-translucent-700);
34
+ }
@@ -0,0 +1,47 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { Size } from "../../typings";
4
+ type TextProps = {
5
+ /**
6
+ * Кнопка показать номер карты
7
+ */
8
+ eyeButton?: boolean;
9
+ /**
10
+ * Размер
11
+ */
12
+ size?: Size;
13
+ /**
14
+ * Дополнительный класс
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Имя владельца карты в верхнем регистре
19
+ */
20
+ cardholderNameUppercase?: boolean;
21
+ /**
22
+ * Имя владельца карты
23
+ */
24
+ cardholderName?: string;
25
+ /**
26
+ * Номер карты
27
+ */
28
+ cardNumber?: number;
29
+ /**
30
+ * Количество карт
31
+ */
32
+ numberOfСards?: number;
33
+ /**
34
+ * Управление ориентацией стопки карт компонента
35
+ */
36
+ align?: 'bottom' | 'default';
37
+ /**
38
+ * Обработчик клика по иконке 'показать номер карты'
39
+ */
40
+ onEyeIconClick?: () => void;
41
+ /**
42
+ * Идентификатор для систем автоматизированного тестирования.
43
+ */
44
+ dataTestId?: string;
45
+ };
46
+ declare const Text: React.FC<TextProps>;
47
+ export { TextProps, Text };
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var cn = require('classnames');
7
+ var desktop = require('@alfalab/core-components-button/cssm/desktop');
8
+ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
9
+ var coreComponentsTypography = require('@alfalab/core-components-typography/cssm');
10
+ var EyeMIcon = require('@alfalab/icons-glyph/EyeMIcon');
11
+ var utils = require('@alfalab/utils');
12
+ var consts = require('../../consts.js');
13
+ var utils_index = require('../../utils/index.js');
14
+ var styles = require('./index.module.css');
15
+
16
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
20
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
21
+
22
+ var Text = function (_a) {
23
+ var cardholderNameUppercase = _a.cardholderNameUppercase, cardholderName = _a.cardholderName, cardNumber = _a.cardNumber, numberOfСards = _a.numberOfСards, align = _a.align, eyeButton = _a.eyeButton, dataTestId = _a.dataTestId, _b = _a.size, size = _b === void 0 ? 164 : _b, onEyeIconClick = _a.onEyeIconClick;
24
+ var maxSize = size === 164;
25
+ var visibleNumberOfСards = utils_index["showNumberOfСards"](size, numberOfСards, align);
26
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component), "data-test-id": dataTestId },
27
+ maxSize && cardholderName ? (React__default.default.createElement(coreComponentsTypography.Typography.Text, { tag: 'div', view: 'secondary-medium', weight: 'medium', color: 'static-primary-light', className: styles__default.default.cardholderName }, cardholderNameUppercase ? cardholderName === null || cardholderName === void 0 ? void 0 : cardholderName.toUpperCase() : cardholderName)) : null,
28
+ cardNumber && !visibleNumberOfСards ? (React__default.default.createElement("div", { className: styles__default.default.cardNumber },
29
+ React__default.default.createElement(coreComponentsTypography.Typography.Text, { view: consts.TYPOGRAPHY_VIEW_FOR_SIZE[size], weight: 'medium', color: 'static-primary-light' },
30
+ [164, 128].includes(size) && '··\u2009',
31
+ String(cardNumber).slice(-4)),
32
+ eyeButton && maxSize && (React__default.default.createElement(desktop.ButtonDesktop, { view: 'text', className: cn__default.default(styles__default.default.buttonEye), dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'eye-btn'), onClick: onEyeIconClick, colors: 'inverted' },
33
+ React__default.default.createElement(EyeMIcon.EyeMIcon, null))))) : null,
34
+ visibleNumberOfСards && (React__default.default.createElement("div", { className: styles__default.default.cardNumber },
35
+ React__default.default.createElement(coreComponentsTypography.Typography.Text, { view: consts.TYPOGRAPHY_VIEW_FOR_SIZE[size], weight: 'medium', color: 'static-primary-dark' }, "+".concat(numberOfСards, "\u00A0"),
36
+ utils.pluralize(numberOfСards || 0, 'карта', 'карты', 'карт'))))));
37
+ };
38
+
39
+ exports.Text = Text;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var components_text_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.Text = components_text_Component.Text;
@@ -0,0 +1,46 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root {
3
+ --color-static-text-primary-light: #fff; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
5
+ } :root {
6
+ } :root {
7
+
8
+ /* Hard */
9
+
10
+ /* Up */
11
+
12
+ /* Hard up */
13
+ } :root {
14
+ } :root {
15
+ --gap-3xs: 2px;
16
+ } :root {
17
+ } :root {
18
+ } .component {
19
+ display: flex;
20
+ flex-direction: column;
21
+ z-index: 2;
22
+ grid-gap: var(--gap-3xs);
23
+ gap: var(--gap-3xs);
24
+ } .cardholderName {
25
+ -webkit-line-clamp: 1;
26
+ display: -webkit-box;
27
+ -webkit-box-orient: vertical;
28
+ overflow: hidden;
29
+ word-break: break-all;
30
+ } .cardNumber {
31
+ display: flex;
32
+ align-items: center;
33
+ } .buttonEye.buttonEye {
34
+ margin-left: 5px;
35
+ width: 24px;
36
+ height: 24px;
37
+ cursor: pointer;
38
+ color: var(--color-static-text-primary-light)
39
+ } .buttonEye.buttonEye:hover {
40
+ color: var(--color-static-text-primary-light);
41
+ } .buttonEye.buttonEye:active {
42
+ color: var(--color-static-text-primary-light);
43
+ } .buttonEye.buttonEye > span {
44
+ display: flex;
45
+ align-items: center;
46
+ }
@@ -0,0 +1,5 @@
1
+ import { TextProps } from "@alfalab/core-components-typography";
2
+ declare const WIDTH_TO_SIZE: Record<number, number>;
3
+ declare const TYPOGRAPHY_VIEW_FOR_SIZE: Record<number, TextProps['view']>;
4
+ declare const SECOND_CARD_SIZE: Record<number, number>;
5
+ export { WIDTH_TO_SIZE, TYPOGRAPHY_VIEW_FOR_SIZE, SECOND_CARD_SIZE };
package/cssm/consts.js ADDED
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var WIDTH_TO_SIZE = {
6
+ 16: 24,
7
+ 32: 51,
8
+ 40: 65,
9
+ 48: 76,
10
+ 96: 152,
11
+ 128: 205,
12
+ 164: 264,
13
+ };
14
+ var TYPOGRAPHY_VIEW_FOR_SIZE = {
15
+ 16: 'secondary-small',
16
+ 32: 'secondary-small',
17
+ 40: 'secondary-medium',
18
+ 48: 'secondary-medium',
19
+ 96: 'secondary-medium',
20
+ 128: 'primary-small',
21
+ 164: 'primary-medium',
22
+ };
23
+ var SECOND_CARD_SIZE = {
24
+ 16: 16,
25
+ 32: 32,
26
+ 40: 40,
27
+ 128: 96,
28
+ };
29
+
30
+ exports.SECOND_CARD_SIZE = SECOND_CARD_SIZE;
31
+ exports.TYPOGRAPHY_VIEW_FOR_SIZE = TYPOGRAPHY_VIEW_FOR_SIZE;
32
+ exports.WIDTH_TO_SIZE = WIDTH_TO_SIZE;
@@ -0,0 +1,2 @@
1
+ export * from "./Component";
2
+ export type { SingleProps, StackProps } from "./typings";
package/cssm/index.js ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.ProductCover = Component.ProductCover;
10
+ exports.Single = Component.Single;
@@ -0,0 +1 @@
1
+ export { getProductCoverSingleTestIds, getProductCoverStackTestIds } from "../utils/index";
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils_index = require('../utils/index.js');
6
+
7
+
8
+
9
+ exports.getProductCoverSingleTestIds = utils_index.getProductCoverSingleTestIds;
10
+ exports.getProductCoverStackTestIds = utils_index.getProductCoverStackTestIds;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { SingleCommonProps } from "../typings";
3
+ declare const Single: FC<SingleCommonProps>;
4
+ export { Single };
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
9
+ var components_overlay_Component = require('../components/overlay/Component.js');
10
+ var components_text_Component = require('../components/text/Component.js');
11
+ var components_imageCard_Component = require('../components/image-card/Component.js');
12
+ var consts = require('../consts.js');
13
+ var styles = require('./index.module.css');
14
+
15
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
+
17
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
20
+
21
+ var Single = function (_a) {
22
+ 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, _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, align = _a.align, cardNumber = _a.cardNumber, className = _a.className, contentAddons = _a.contentAddons, contentAddonsProps = _a.contentAddonsProps, onEyeIconClick = _a.onEyeIconClick, dataTestId = _a.dataTestId;
23
+ var hasContent = Boolean(cardNumber || cardholderName || numberOfСards);
24
+ var showContent = hasContent && size !== 16 && !contentAddons;
25
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, styles__default.default["size-".concat(size)], className), style: {
26
+ width: consts.WIDTH_TO_SIZE[size],
27
+ height: size,
28
+ boxShadow: shadow,
29
+ backgroundColor: backgroundColor,
30
+ }, "data-test-id": dataTestId },
31
+ Icon && React__default.default.createElement(Icon, { color: iconColor, className: styles__default.default.icon }),
32
+ React__default.default.createElement(components_overlay_Component.Overlay, { colors: overlayProps.colors, visible: overlayProps.visible }),
33
+ borderColor && (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.border), style: { boxShadow: "inset 0 0 0 1px ".concat(borderColor) } })),
34
+ React__default.default.createElement(components_imageCard_Component.ImageCard, { width: consts.WIDTH_TO_SIZE[size], height: size, cardId: cardId, layers: layers, baseUrl: baseUrl, "numberOf\u0421ards": numberOfСards }),
35
+ showContent && (React__default.default.createElement(components_text_Component.Text, { cardNumber: cardNumber, eyeButton: eyeButton, cardholderNameUppercase: cardholderNameUppercase, cardholderName: cardholderName, "numberOf\u0421ards": numberOfСards, align: align, size: size, onEyeIconClick: onEyeIconClick, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'user-info') })),
36
+ contentAddons && (React__default.default.createElement("div", tslib.__assign({}, contentAddonsProps, { className: cn__default.default(styles__default.default.contentAddons, contentAddonsProps === null || contentAddonsProps === void 0 ? void 0 : contentAddonsProps.className) }), contentAddons))));
37
+ };
38
+
39
+ exports.Single = Single;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var single_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.Single = single_Component.Single;
@@ -0,0 +1,71 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root {
3
+ --color-light-graphic-tertiary: #b8b9c0; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
5
+ } :root {
6
+ } :root {
7
+
8
+ /* Hard */
9
+
10
+ /* Up */
11
+
12
+ /* Hard up */
13
+ } :root {
14
+ --border-radius-xs: 2px;
15
+ --border-radius-s: 4px;
16
+ --border-radius-l: 12px;
17
+ --border-radius-xl: 16px;
18
+ --border-radius-xxl: 20px;
19
+ } :root {
20
+ --gap-3xs: 2px;
21
+ --gap-2xs: 4px;
22
+ --gap-xs: 8px;
23
+ --gap-s: 12px;
24
+ --gap-m: 16px;
25
+ } :root {
26
+ } :root {
27
+ } .component {
28
+ display: flex;
29
+ align-items: end;
30
+ position: relative;
31
+ background-color: var(--color-light-graphic-tertiary);
32
+ box-sizing: border-box
33
+ } .component.size-164 {
34
+ border-radius: var(--border-radius-xxl);
35
+ padding: var(--gap-s) var(--gap-m);
36
+ } .component.size-128 {
37
+ border-radius: var(--border-radius-xl);
38
+ padding: var(--gap-xs) var(--gap-s);
39
+ } .component.size-96 {
40
+ border-radius: var(--border-radius-l);
41
+ padding: 6px var(--gap-s);
42
+ } .component.size-48,
43
+ .component.size-40 {
44
+ border-radius: 6px;
45
+ padding: var(--gap-3xs) var(--gap-2xs);
46
+ } .component.size-32 {
47
+ border-radius: var(--border-radius-s);
48
+ padding: 0 var(--gap-3xs);
49
+ } .component.size-16 {
50
+ border-radius: var(--border-radius-xs);
51
+ } .icon {
52
+ position: absolute;
53
+ top: 50%;
54
+ left: 50%;
55
+ transform: translate(-50%, -50%);
56
+ z-index: 4;
57
+ } .border {
58
+ position: absolute;
59
+ top: 0;
60
+ bottom: 0;
61
+ left: 0;
62
+ right: 0;
63
+ border-radius: inherit;
64
+ pointer-events: none;
65
+ z-index: 3;
66
+ } .contentAddons {
67
+ width: 100%;
68
+ height: 100%;
69
+ z-index: 2;
70
+ overflow: hidden;
71
+ }
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { StackProps } from "../typings";
3
+ declare const Stack: FC<StackProps>;
4
+ export { Stack };
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
9
+ var single_Component = require('../single/Component.js');
10
+ var utils_index = require('../utils/index.js');
11
+ var styles = require('./index.module.css');
12
+
13
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
18
+
19
+ var Stack = function (_a) {
20
+ var _b;
21
+ var firstCard = _a.firstCard, secondCard = _a.secondCard, _c = _a.size, size = _c === void 0 ? 128 : _c, numberOfСards = _a.numberOfСards, className = _a.className, _d = _a.align, align = _d === void 0 ? 'default' : _d, dataTestId = _a.dataTestId;
22
+ var sizeClassNames = "size-".concat(size);
23
+ var secondCardSize = utils_index.getSizeSecondCard(size, align);
24
+ var commonClassName = (_b = {},
25
+ _b[styles__default.default[sizeClassNames]] = true,
26
+ _b[styles__default.default[align]] = Boolean(styles__default.default[align]),
27
+ _b);
28
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.wrapper, styles__default.default.componentStack, commonClassName, className), "data-test-id": dataTestId },
29
+ React__default.default.createElement(single_Component.Single, tslib.__assign({}, firstCard, { className: cn__default.default(styles__default.default.firstCard, commonClassName), size: size, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'first-card') })),
30
+ React__default.default.createElement("div", { className: cn__default.default(styles__default.default.wrapperSecondCard, commonClassName) },
31
+ React__default.default.createElement(single_Component.Single, tslib.__assign({}, secondCard, { size: secondCardSize, align: align, "numberOf\u0421ards": numberOfСards, dataTestId: coreComponentsShared.getDataTestId(dataTestId, 'second-card') })))));
32
+ };
33
+
34
+ exports.Stack = Stack;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var stack_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.Stack = stack_Component.Stack;
@@ -0,0 +1,68 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root {
5
+ } :root {
6
+
7
+ /* Hard */
8
+
9
+ /* Up */
10
+
11
+ /* Hard up */
12
+ } :root {
13
+ } :root {
14
+ --gap-2xs: 4px;
15
+ --gap-xs: 8px;
16
+ --gap-s: 12px;
17
+ --gap-m: 16px;
18
+ --gap-l-neg: -20px;
19
+ } :root {
20
+ } :root {
21
+ } .wrapper {
22
+ display: flex;
23
+ justify-content: center;
24
+ box-sizing: border-box
25
+ } .wrapper.size-128 {
26
+ width: 213px;
27
+ height: 128px;
28
+ } .wrapper.size-40 {
29
+ width: 76px;
30
+ height: 56px;
31
+ } .wrapper.size-32 {
32
+ width: 55px;
33
+ height: 48px;
34
+ } .wrapper.size-16 {
35
+ width: 28px;
36
+ height: 20px;
37
+ } .wrapper.size-40.bottom {
38
+ width: 65px;
39
+ height: 48px;
40
+ } .componentImage {
41
+ align-items: center;
42
+ } .componentStack.size-128 {
43
+ padding-left: var(--gap-xs);
44
+ } .firstCard {
45
+ z-index: 4
46
+ } .firstCard.size-32 {
47
+ margin-top: var(--gap-2xs);
48
+ } .firstCard.size-40.bottom {
49
+ margin-left: -7px;
50
+ margin-top: var(--gap-2xs);
51
+ } .wrapperSecondCard.size-128 {
52
+ width: 213px;
53
+ padding-left: var(--gap-xs);
54
+ margin-top: 18px;
55
+ margin-left: -221px;
56
+ } .wrapperSecondCard.size-40 {
57
+ margin-top: var(--gap-m);
58
+ margin-left: -54px;
59
+ } .wrapperSecondCard.size-32 {
60
+ margin-top: var(--gap-s);
61
+ margin-left: -47px;
62
+ } .wrapperSecondCard.size-16 {
63
+ margin-top: var(--gap-2xs);
64
+ margin-left: var(--gap-l-neg);
65
+ } .wrapperSecondCard.size-40.bottom {
66
+ margin-top: var(--gap-m);
67
+ margin-left: -58px;
68
+ }