@sima-land/ui-nucleons 45.0.0-alpha.6 → 45.0.0-alpha.8

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 (86) hide show
  1. package/autocomplete/autocomplete.js +8 -8
  2. package/autocomplete/autocomplete.js.map +1 -1
  3. package/avatar/avatar.d.ts +8 -0
  4. package/avatar/avatar.js +26 -0
  5. package/avatar/avatar.js.map +1 -0
  6. package/avatar/avatar.module.scss +17 -42
  7. package/avatar/index.d.ts +3 -30
  8. package/avatar/index.js +8 -41
  9. package/avatar/index.js.map +1 -1
  10. package/avatar/types.d.ts +19 -0
  11. package/avatar/types.js +3 -0
  12. package/avatar/types.js.map +1 -0
  13. package/avatar/utils.d.ts +28 -4
  14. package/avatar/utils.js +76 -13
  15. package/avatar/utils.js.map +1 -1
  16. package/avatar/utils.module.scss +9 -0
  17. package/button/button-util.scss +46 -0
  18. package/button/button.module.scss +17 -26
  19. package/button/index.d.ts +12 -2
  20. package/button/index.js +1 -1
  21. package/button/index.js.map +1 -1
  22. package/chips/chips-item.d.ts +15 -0
  23. package/chips/{item.js → chips-item.js} +7 -5
  24. package/chips/chips-item.js.map +1 -0
  25. package/chips/chips-item.module.scss +67 -0
  26. package/chips/chips.d.ts +17 -0
  27. package/chips/chips.js +25 -0
  28. package/chips/chips.js.map +1 -0
  29. package/chips/chips.module.scss +1 -69
  30. package/chips/index.d.ts +2 -16
  31. package/chips/index.js +5 -18
  32. package/chips/index.js.map +1 -1
  33. package/colors/index.d.ts +6 -4
  34. package/colors/index.js +6 -3
  35. package/colors/index.js.map +1 -1
  36. package/colors.scss +2 -0
  37. package/dropdown/utils.d.ts +1 -1
  38. package/expandable/expandable-group.module.scss +1 -5
  39. package/expandable/index.d.ts +4 -34
  40. package/expandable/index.js +80 -30
  41. package/expandable/index.js.map +1 -1
  42. package/expandable/types.d.ts +39 -0
  43. package/expandable/types.js +3 -0
  44. package/expandable/types.js.map +1 -0
  45. package/expandable/utils.d.ts +22 -23
  46. package/expandable/utils.js +65 -80
  47. package/expandable/utils.js.map +1 -1
  48. package/file-icon/file-icon.module.scss +42 -0
  49. package/file-icon/index.d.ts +10 -3
  50. package/file-icon/index.js +10 -16
  51. package/file-icon/index.js.map +1 -1
  52. package/link/index.d.ts +2 -2
  53. package/link/index.js.map +1 -1
  54. package/modal/index.d.ts +1 -1
  55. package/package.json +14 -17
  56. package/pagination/pagination-item.js +1 -1
  57. package/pagination/pagination-item.js.map +1 -1
  58. package/pagination/pagination.js +1 -1
  59. package/pagination/pagination.js.map +1 -1
  60. package/popup/utils.d.ts +1 -1
  61. package/side-page/index.js +1 -1
  62. package/side-page/index.js.map +1 -1
  63. package/styling/colors.d.ts +5 -5
  64. package/tabs/index.d.ts +24 -10
  65. package/tabs/index.js +8 -4
  66. package/tabs/index.js.map +1 -1
  67. package/textarea/index.js +1 -1
  68. package/toggle/toggle.module.scss +4 -4
  69. package/top-bar/top-bar.module.scss +1 -1
  70. package/upload-area/index.d.ts +2 -1
  71. package/upload-area/index.js +3 -1
  72. package/upload-area/index.js.map +1 -1
  73. package/upload-area/types.d.ts +10 -8
  74. package/upload-area/upload-area-util.scss +2 -0
  75. package/upload-area/upload-area.d.ts +1 -1
  76. package/upload-area/upload-area.js +6 -19
  77. package/upload-area/upload-area.js.map +1 -1
  78. package/upload-area/upload-area.module.scss +4 -1
  79. package/upload-area/utils.d.ts +7 -0
  80. package/upload-area/utils.js +20 -1
  81. package/upload-area/utils.js.map +1 -1
  82. package/avatar/user.d.ts +0 -10
  83. package/avatar/user.js +0 -41
  84. package/avatar/user.js.map +0 -1
  85. package/chips/item.d.ts +0 -15
  86. package/chips/item.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ import { MouseEventHandler, ReactNode } from 'react';
2
+ export interface ChipsItemProps {
3
+ href?: string;
4
+ children?: ReactNode;
5
+ withCross?: boolean;
6
+ target?: string;
7
+ onClick?: MouseEventHandler<HTMLAnchorElement>;
8
+ checked?: boolean;
9
+ }
10
+ /**
11
+ * Элемент списка "чипсов".
12
+ * @param props Свойства.
13
+ * @return Элемент.
14
+ */
15
+ export declare function ChipsItem({ href, children, withCross, target, onClick, checked }: ChipsItemProps): JSX.Element;
@@ -5,15 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ChipsItem = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
- const bind_1 = __importDefault(require("classnames/bind"));
9
8
  const Cross_1 = __importDefault(require("@sima-land/ui-quarks/icons/16x16/Stroked/Cross"));
10
- const chips_module_scss_1 = __importDefault(require("./chips.module.scss"));
11
- const cx = bind_1.default.bind(chips_module_scss_1.default);
9
+ const bind_1 = __importDefault(require("classnames/bind"));
10
+ const chips_item_module_scss_1 = __importDefault(require("./chips-item.module.scss"));
11
+ const cx = bind_1.default.bind(chips_item_module_scss_1.default);
12
12
  /**
13
13
  * Элемент списка "чипсов".
14
14
  * @param props Свойства.
15
15
  * @return Элемент.
16
16
  */
17
- const ChipsItem = ({ href, children, withCross, target, onClick, checked, }) => ((0, jsx_runtime_1.jsxs)("a", { href: href, role: href ? undefined : 'button', className: cx('item', { checked }), target: target, onClick: onClick, "data-testid": 'chips:item', children: [(0, jsx_runtime_1.jsx)("span", { className: chips_module_scss_1.default.text, children: children }), withCross && (0, jsx_runtime_1.jsx)(Cross_1.default, { className: cx('cross-svg') })] }));
17
+ function ChipsItem({ href, children, withCross, target, onClick, checked }) {
18
+ return ((0, jsx_runtime_1.jsxs)("a", { href: href, role: href ? undefined : 'button', className: cx('root', { checked }), target: target, onClick: onClick, "data-testid": 'chips:item', children: [(0, jsx_runtime_1.jsx)("span", { className: chips_item_module_scss_1.default.text, children: children }), withCross && (0, jsx_runtime_1.jsx)(Cross_1.default, { className: cx('cross-svg') })] }));
19
+ }
18
20
  exports.ChipsItem = ChipsItem;
19
- //# sourceMappingURL=item.js.map
21
+ //# sourceMappingURL=chips-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chips-item.js","sourceRoot":"","sources":["../../src/chips/chips-item.tsx"],"names":[],"mappings":";;;;;;;AACA,2FAAsE;AACtE,2DAAyC;AACzC,sFAA8C;AAW9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAkB;IAC/F,OAAO,CACL,+BACE,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EACjC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,iBACJ,YAAY,aAExB,iCAAM,SAAS,EAAE,gCAAM,CAAC,IAAI,YAAG,QAAQ,GAAQ,EAC9C,SAAS,IAAI,uBAAC,eAAQ,IAAC,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,GAAI,IACpD,CACL,CAAC;AACJ,CAAC;AAdD,8BAcC"}
@@ -0,0 +1,67 @@
1
+ @use '../colors';
2
+
3
+ .root {
4
+ flex-grow: 0;
5
+ flex-shrink: 0;
6
+ max-width: 100%;
7
+ display: flex;
8
+ align-items: center;
9
+ height: 32px;
10
+
11
+ // ВАЖНО: по умолчанию 0 чтобы вне Chips отступов не было
12
+ margin-right: var(--chips-gutter, 0);
13
+ margin-bottom: var(--chips-gutter, 0);
14
+ overflow: hidden;
15
+ outline: 0;
16
+ border: 0;
17
+ padding: 0 12px;
18
+ background: colors.$basic-gray8;
19
+ color: colors.$basic-gray87;
20
+ border-radius: 4px;
21
+ box-sizing: border-box;
22
+ font: inherit;
23
+ font-size: 12px;
24
+ font-weight: 600;
25
+ line-height: 16px;
26
+ text-decoration: none;
27
+
28
+ // ВАЖНО: переопределяем стили монолита
29
+ &,
30
+ &:link,
31
+ &:visited {
32
+ background: colors.$basic-gray8;
33
+ color: colors.$basic-gray87;
34
+ }
35
+
36
+ // ВАЖНО: эффект при наведении определяем **после** переопределения стилей монолита
37
+ &:hover {
38
+ cursor: pointer;
39
+ }
40
+ &:hover,
41
+ &:active {
42
+ background: colors.$basic-gray12;
43
+ color: colors.$basic-gray87;
44
+ }
45
+ &.checked {
46
+ background: colors.$basic-gray76;
47
+ color: colors.$basic-white;
48
+ &:hover,
49
+ &:active {
50
+ background: colors.$basic-gray66;
51
+ color: colors.$basic-white;
52
+ }
53
+ }
54
+ }
55
+
56
+ .text {
57
+ text-overflow: ellipsis;
58
+ overflow: hidden;
59
+ white-space: nowrap;
60
+ }
61
+
62
+ .cross-svg {
63
+ display: block;
64
+ fill: currentColor;
65
+ margin-left: 8px;
66
+ flex-shrink: 0;
67
+ }
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { ChipsItem } from './chips-item';
3
+ export interface ChipsProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Элементы списка. */
5
+ children?: ReactNode;
6
+ /** Идентификатор для систем автоматизированного тестирования. */
7
+ 'data-testid'?: string;
8
+ }
9
+ /**
10
+ * Список "чипсов".
11
+ * @param props Свойства.
12
+ * @return Элемент.
13
+ */
14
+ export declare function Chips({ children, className, 'data-testid': testId, ...restProps }: ChipsProps): JSX.Element;
15
+ export declare namespace Chips {
16
+ var Item: typeof ChipsItem;
17
+ }
package/chips/chips.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Chips = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const chips_item_1 = require("./chips-item");
9
+ const bind_1 = __importDefault(require("classnames/bind"));
10
+ const chips_module_scss_1 = __importDefault(require("./chips.module.scss"));
11
+ const cx = bind_1.default.bind(chips_module_scss_1.default);
12
+ /**
13
+ * Список "чипсов".
14
+ * @param props Свойства.
15
+ * @return Элемент.
16
+ */
17
+ function Chips({ children, className, 'data-testid': testId = 'chips', ...restProps }) {
18
+ return ((0, jsx_runtime_1.jsx)("div", { ...restProps, className: cx('root', className), "data-testid": testId, children: children }));
19
+ }
20
+ exports.Chips = Chips;
21
+ /**
22
+ * @deprecated Следует использовать ChipsItem.
23
+ */
24
+ Chips.Item = chips_item_1.ChipsItem;
25
+ //# sourceMappingURL=chips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chips.js","sourceRoot":"","sources":["../../src/chips/chips.tsx"],"names":[],"mappings":";;;;;;;AACA,6CAAyC;AACzC,2DAAyC;AACzC,4EAAyC;AAUzC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,2BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,SAAS,EACT,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,GAAG,SAAS,EACD;IACX,OAAO,CACL,mCAAS,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,iBAAe,MAAM,YACtE,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAXD,sBAWC;AAED;;GAEG;AACH,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC"}
@@ -1,75 +1,7 @@
1
- @use '../colors';
2
-
3
- .list {
1
+ .root {
4
2
  display: flex;
5
3
  flex-wrap: wrap;
6
4
  --chips-gutter: 8px;
7
5
  margin-right: calc(-1 * var(--chips-gutter));
8
6
  margin-bottom: calc(-1 * var(--chips-gutter));
9
7
  }
10
-
11
- .item {
12
- flex-grow: 0;
13
- flex-shrink: 0;
14
- max-width: 100%;
15
- display: flex;
16
- align-items: center;
17
- height: 32px;
18
-
19
- // по умолчанию 0 чтобы вне Chips отступов не было
20
- margin-right: var(--chips-gutter, 0);
21
- margin-bottom: var(--chips-gutter, 0);
22
- overflow: hidden;
23
- outline: 0;
24
- border: 0;
25
- padding: 0 12px;
26
- background: colors.$basic-gray8;
27
- color: colors.$basic-gray87;
28
- border-radius: 4px;
29
- box-sizing: border-box;
30
- font: inherit;
31
- font-size: 12px;
32
- font-weight: 600;
33
- line-height: 16px;
34
- text-decoration: none;
35
-
36
- // переопределяем стили монолита
37
- &,
38
- &:link,
39
- &:visited {
40
- background: colors.$basic-gray8;
41
- color: colors.$basic-gray87;
42
- }
43
-
44
- // эффект при наведении определяем **после** переопределения стилей монолита
45
- &:hover {
46
- cursor: pointer;
47
- }
48
- &:hover,
49
- &:active {
50
- background: colors.$basic-gray12;
51
- color: colors.$basic-gray87;
52
- }
53
- &.checked {
54
- background: colors.$basic-gray76;
55
- color: colors.$basic-white;
56
- &:hover,
57
- &:active {
58
- background: colors.$basic-gray66;
59
- color: colors.$basic-white;
60
- }
61
- }
62
- }
63
-
64
- .text {
65
- text-overflow: ellipsis;
66
- overflow: hidden;
67
- white-space: nowrap;
68
- }
69
-
70
- .cross-svg {
71
- display: block;
72
- fill: currentColor;
73
- margin-left: 8px;
74
- flex-shrink: 0;
75
- }
package/chips/index.d.ts CHANGED
@@ -1,16 +1,2 @@
1
- /// <reference types="react" />
2
- export interface ChipsProps extends React.HTMLAttributes<HTMLDivElement> {
3
- /** Элементы списка. */
4
- children: React.ReactNode;
5
- /** Идентификатор для систем автоматизированного тестирования. */
6
- 'data-testid'?: string;
7
- }
8
- /**
9
- * Список "чипсов".
10
- * @param props Свойства.
11
- * @return Элемент.
12
- */
13
- export declare const Chips: {
14
- ({ children, className, "data-testid": testId, ...restProps }: ChipsProps): JSX.Element;
15
- Item: ({ href, children, withCross, target, onClick, checked, }: import("./item").ChipsItemProps) => JSX.Element;
16
- };
1
+ export { Chips, ChipsProps } from './chips';
2
+ export { ChipsItem, ChipsItemProps } from './chips-item';
package/chips/index.js CHANGED
@@ -1,21 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Chips = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const item_1 = require("./item");
10
- const bind_1 = __importDefault(require("classnames/bind"));
11
- const chips_module_scss_1 = __importDefault(require("./chips.module.scss"));
12
- const cx = bind_1.default.bind(chips_module_scss_1.default);
13
- /**
14
- * Список "чипсов".
15
- * @param props Свойства.
16
- * @return Элемент.
17
- */
18
- const Chips = ({ children, className, 'data-testid': testId = 'chips', ...restProps }) => ((0, jsx_runtime_1.jsx)("div", { ...restProps, className: cx('list', className), "data-testid": testId, children: react_1.Children.toArray(children).filter(c => (0, react_1.isValidElement)(c) && c.type === item_1.ChipsItem) }));
19
- exports.Chips = Chips;
20
- exports.Chips.Item = item_1.ChipsItem;
3
+ exports.ChipsItem = exports.Chips = void 0;
4
+ var chips_1 = require("./chips");
5
+ Object.defineProperty(exports, "Chips", { enumerable: true, get: function () { return chips_1.Chips; } });
6
+ var chips_item_1 = require("./chips-item");
7
+ Object.defineProperty(exports, "ChipsItem", { enumerable: true, get: function () { return chips_item_1.ChipsItem; } });
21
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chips/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAiD;AACjD,iCAAmC;AACnC,2DAAyC;AACzC,4EAAyC;AAUzC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,2BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAC,EACpB,QAAQ,EACR,SAAS,EACT,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,GAAG,SAAS,EACD,EAAE,EAAE,CAAC,CAChB,mCAAS,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,iBAAe,MAAM,YACtE,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,sBAAc,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAS,CAAC,GAC9E,CACP,CAAC;AATW,QAAA,KAAK,SAShB;AAEF,aAAK,CAAC,IAAI,GAAG,gBAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chips/index.ts"],"names":[],"mappings":";;;AAAA,iCAA4C;AAAnC,8FAAA,KAAK,OAAA;AACd,2CAAyD;AAAhD,uGAAA,SAAS,OAAA"}
package/colors/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- declare const collection: {
1
+ /** Цвета дизайн-системы. */
2
+ export declare const COLOR: {
2
3
  readonly 'basic-blue': "#1f84db";
3
4
  readonly 'basic-gray87': "#212121";
4
5
  readonly 'basic-gray76': "#3a3a3b";
@@ -14,6 +15,7 @@ declare const collection: {
14
15
  readonly 'additional-deep-red': "#d50000";
15
16
  readonly 'additional-red': "#fb3a2f";
16
17
  readonly 'additional-light-red': "#feebea";
18
+ readonly 'additional-dark-teal': "#089176";
17
19
  readonly 'additional-teal': "#09ab8b";
18
20
  readonly 'additional-green': "#00c853";
19
21
  readonly 'additional-light-green': "#64dd17";
@@ -35,7 +37,7 @@ declare const collection: {
35
37
  readonly 'additional-blue-gray': "#607d8b";
36
38
  readonly 'additional-deep-blue': "#00599d";
37
39
  readonly 'additional-dark-blue': "#002b41";
40
+ readonly 'additional-unlit-blue': "#1b75c2";
38
41
  };
39
- export type Token = keyof typeof collection;
40
- export declare const COLORS: Map<"basic-blue" | "basic-gray87" | "basic-gray76" | "basic-gray66" | "basic-gray54" | "basic-gray38" | "basic-gray24" | "basic-gray12" | "basic-gray8" | "basic-gray4" | "basic-gray2" | "basic-white" | "additional-deep-red" | "additional-red" | "additional-light-red" | "additional-teal" | "additional-green" | "additional-light-green" | "additional-lime" | "additional-faded-green" | "additional-pink" | "additional-purple" | "additional-violet" | "additional-deep-purple" | "additional-electric-blue" | "additional-light-blue" | "additional-cyan" | "additional-sky" | "additional-deep-orange" | "additional-amber" | "additional-yellow" | "additional-gold" | "additional-brown" | "additional-blue-gray" | "additional-deep-blue" | "additional-dark-blue", string>;
41
- export {};
42
+ export type Token = keyof typeof COLOR;
43
+ export declare const COLORS: Map<"basic-blue" | "basic-gray87" | "basic-gray76" | "basic-gray66" | "basic-gray54" | "basic-gray38" | "basic-gray24" | "basic-gray12" | "basic-gray8" | "basic-gray4" | "basic-gray2" | "basic-white" | "additional-deep-red" | "additional-red" | "additional-light-red" | "additional-dark-teal" | "additional-teal" | "additional-green" | "additional-light-green" | "additional-lime" | "additional-faded-green" | "additional-pink" | "additional-purple" | "additional-violet" | "additional-deep-purple" | "additional-electric-blue" | "additional-light-blue" | "additional-cyan" | "additional-sky" | "additional-deep-orange" | "additional-amber" | "additional-yellow" | "additional-gold" | "additional-brown" | "additional-blue-gray" | "additional-deep-blue" | "additional-dark-blue" | "additional-unlit-blue", string>;
package/colors/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  // GENERATED FILE - DO NOT CHANGE IT MANUALLY
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.COLORS = void 0;
5
- const collection = {
4
+ exports.COLORS = exports.COLOR = void 0;
5
+ /** Цвета дизайн-системы. */
6
+ exports.COLOR = {
6
7
  // basic
7
8
  'basic-blue': '#1f84db',
8
9
  'basic-gray87': '#212121',
@@ -20,6 +21,7 @@ const collection = {
20
21
  'additional-deep-red': '#d50000',
21
22
  'additional-red': '#fb3a2f',
22
23
  'additional-light-red': '#feebea',
24
+ 'additional-dark-teal': '#089176',
23
25
  'additional-teal': '#09ab8b',
24
26
  'additional-green': '#00c853',
25
27
  'additional-light-green': '#64dd17',
@@ -41,6 +43,7 @@ const collection = {
41
43
  'additional-blue-gray': '#607d8b',
42
44
  'additional-deep-blue': '#00599d',
43
45
  'additional-dark-blue': '#002b41',
46
+ 'additional-unlit-blue': '#1b75c2',
44
47
  };
45
- exports.COLORS = new Map(Object.entries(collection));
48
+ exports.COLORS = new Map(Object.entries(exports.COLOR));
46
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/colors/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;AAE7C,MAAM,UAAU,GAAG;IACjB,QAAQ;IACR,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,MAAM;IAErB,aAAa;IACb,qBAAqB,EAAE,SAAS;IAChC,gBAAgB,EAAE,SAAS;IAC3B,sBAAsB,EAAE,SAAS;IACjC,iBAAiB,EAAE,SAAS;IAC5B,kBAAkB,EAAE,SAAS;IAC7B,wBAAwB,EAAE,SAAS;IACnC,iBAAiB,EAAE,SAAS;IAC5B,wBAAwB,EAAE,SAAS;IACnC,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,SAAS;IACnC,0BAA0B,EAAE,SAAS;IACrC,uBAAuB,EAAE,SAAS;IAClC,iBAAiB,EAAE,SAAS;IAC5B,gBAAgB,EAAE,SAAS;IAC3B,wBAAwB,EAAE,SAAS;IACnC,kBAAkB,EAAE,SAAS;IAC7B,mBAAmB,EAAE,SAAS;IAC9B,iBAAiB,EAAE,SAAS;IAC5B,kBAAkB,EAAE,SAAS;IAC7B,sBAAsB,EAAE,SAAS;IACjC,sBAAsB,EAAE,SAAS;IACjC,sBAAsB,EAAE,SAAS;CACzB,CAAC;AAGE,QAAA,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/colors/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;AAE7C,4BAA4B;AACf,QAAA,KAAK,GAAG;IACnB,QAAQ;IACR,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,MAAM;IAErB,aAAa;IACb,qBAAqB,EAAE,SAAS;IAChC,gBAAgB,EAAE,SAAS;IAC3B,sBAAsB,EAAE,SAAS;IACjC,sBAAsB,EAAE,SAAS;IACjC,iBAAiB,EAAE,SAAS;IAC5B,kBAAkB,EAAE,SAAS;IAC7B,wBAAwB,EAAE,SAAS;IACnC,iBAAiB,EAAE,SAAS;IAC5B,wBAAwB,EAAE,SAAS;IACnC,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,SAAS;IACnC,0BAA0B,EAAE,SAAS;IACrC,uBAAuB,EAAE,SAAS;IAClC,iBAAiB,EAAE,SAAS;IAC5B,gBAAgB,EAAE,SAAS;IAC3B,wBAAwB,EAAE,SAAS;IACnC,kBAAkB,EAAE,SAAS;IAC7B,mBAAmB,EAAE,SAAS;IAC9B,iBAAiB,EAAE,SAAS;IAC5B,kBAAkB,EAAE,SAAS;IAC7B,sBAAsB,EAAE,SAAS;IACjC,sBAAsB,EAAE,SAAS;IACjC,sBAAsB,EAAE,SAAS;IACjC,uBAAuB,EAAE,SAAS;CAC1B,CAAC;AAGE,QAAA,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,aAAK,CAAC,CAAuB,CAAC"}
package/colors.scss CHANGED
@@ -18,6 +18,7 @@ $basic-white: #fff;
18
18
  $additional-deep-red: #d50000;
19
19
  $additional-red: #fb3a2f;
20
20
  $additional-light-red: #feebea;
21
+ $additional-dark-teal: #089176;
21
22
  $additional-teal: #09ab8b;
22
23
  $additional-green: #00c853;
23
24
  $additional-light-green: #64dd17;
@@ -39,3 +40,4 @@ $additional-brown: #795548;
39
40
  $additional-blue-gray: #607d8b;
40
41
  $additional-deep-blue: #00599d;
41
42
  $additional-dark-blue: #002b41;
43
+ $additional-unlit-blue: #1b75c2;
@@ -10,7 +10,7 @@ export declare function dropdownFloatingConfig(): Partial<UseFloatingProps>;
10
10
  * @return Стили для элемента с учетом "слоя".
11
11
  */
12
12
  export declare function useDropdownFloatingStyle({ strategy, x, y, refs, }: Pick<UseFloatingReturn, 'strategy' | 'x' | 'y' | 'refs'>): {
13
- position: import("@floating-ui/react").Strategy;
13
+ position: import("@floating-ui/utils").Strategy;
14
14
  top: number;
15
15
  left: number;
16
16
  minWidth: string | undefined;
@@ -12,16 +12,12 @@
12
12
  .item {
13
13
  display: block;
14
14
  padding: 0;
15
- max-width: 100%;
15
+ max-width: calc(100% - var(--expandable-gap, 0));
16
16
  height: var(--expandable-item-height);
17
17
  margin: 0 (var(--expandable-gap)) var(--expandable-gap) 0;
18
18
  &.hidden {
19
19
  display: none;
20
20
  }
21
- &.invisible {
22
- opacity: 0;
23
- pointer-events: none;
24
- }
25
21
  &.opener {
26
22
  width: var(--expandable-opener-width);
27
23
  }
@@ -1,42 +1,12 @@
1
- import { ReactNode, MouseEventHandler, CSSProperties } from 'react';
2
- export interface ExpandableGroupProps {
3
- /** Расстояние между элементами группы в пикселях. */
4
- gap?: number;
5
- /** Высота каждого элемента группы в пикселях. */
6
- itemHeight?: number;
7
- /** Развернут ли список по умолчанию. */
8
- defaultExpanded?: boolean;
9
- /** Количество строк в свернутом состоянии группы. */
10
- lineLimit?: number;
11
- /** Содержимое. */
12
- children?: ReactNode;
13
- /** Функция, возвращающая содержимое кнопки разворачивания списка. */
14
- opener?: (data: {
15
- hiddenCount: number;
16
- }) => ReactNode;
17
- /** Сработает при разворачивании списка. */
18
- onExpand?: () => void;
19
- /** CSS-класс корневого элемента. */
20
- className?: string;
21
- /** Стили корневого элемента. */
22
- style?: CSSProperties;
23
- /** Нужно ли выводить список развернутым. */
24
- expanded?: boolean;
25
- /** Ширина открывающего элемента. */
26
- openerWidth?: number;
27
- }
28
- export interface GroupItemProps {
29
- children?: ReactNode;
30
- onClick?: MouseEventHandler;
31
- 'data-testid'?: string;
32
- }
1
+ /// <reference types="react" />
2
+ import { ExpandableGroupProps, ExpandableGroupItemProps } from './types';
33
3
  /**
34
4
  * Группа элементов с ограничением на число выводимых строк и возможностью показать все.
35
5
  * @param props Свойства.
36
6
  * @return Элемент.
37
7
  */
38
- export declare function ExpandableGroup({ gap, itemHeight, lineLimit, defaultExpanded, children, onExpand, opener, className, style, expanded: expandedProp, openerWidth, }: ExpandableGroupProps): JSX.Element;
8
+ export declare function ExpandableGroup(props: ExpandableGroupProps): JSX.Element;
39
9
  export declare const Expandable: {
40
10
  readonly Group: typeof ExpandableGroup;
41
- readonly Item: import("react").ForwardRefExoticComponent<GroupItemProps & import("react").RefAttributes<HTMLLIElement>>;
11
+ readonly Item: import("react").ForwardRefExoticComponent<ExpandableGroupItemProps & import("react").RefAttributes<HTMLLIElement>>;
42
12
  };
@@ -6,56 +6,106 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Expandable = exports.ExpandableGroup = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
+ const hooks_1 = require("../hooks");
9
10
  const utils_1 = require("./utils");
10
11
  const bind_1 = __importDefault(require("classnames/bind"));
11
12
  const expandable_group_module_scss_1 = __importDefault(require("./expandable-group.module.scss"));
12
13
  const cx = bind_1.default.bind(expandable_group_module_scss_1.default);
13
14
  const ItemContext = (0, react_1.createContext)({});
15
+ const initialState = {
16
+ status: 'initial',
17
+ lastVisibleIndex: -1,
18
+ };
19
+ const expandedState = {
20
+ status: 'expanded',
21
+ lastVisibleIndex: -1,
22
+ };
14
23
  /**
15
24
  * Группа элементов с ограничением на число выводимых строк и возможностью показать все.
16
25
  * @param props Свойства.
17
26
  * @return Элемент.
18
27
  */
19
- function ExpandableGroup({ gap = 8, itemHeight = 32, lineLimit = 2, defaultExpanded = false, children, onExpand, opener = data => (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["\u0415\u0449\u0451 ", data.hiddenCount] }), className, style, expanded: expandedProp, openerWidth = 72, }) {
20
- const wrapperRef = (0, react_1.useRef)(null);
21
- const containerRef = (0, react_1.useRef)(null);
28
+ function ExpandableGroup(props) {
29
+ const time = (0, react_1.useRef)(1);
30
+ // @todo зациклить если каким-то невероятным образом уйдет за границу number
31
+ time.current = time.current + 1;
32
+ // ВАЖНО: рендер вызванный родительским компонентом должен приводить к пересчету, поэтому передаем уникальный time
33
+ return (0, jsx_runtime_1.jsx)(ExpandableGroupInner, { ...props, time: time.current });
34
+ }
35
+ exports.ExpandableGroup = ExpandableGroup;
36
+ /**
37
+ * Внутренний компонент, необходимый для корректной обработки повторных render'ов.
38
+ * @param props Свойства.
39
+ * @return Элемент.
40
+ */
41
+ function ExpandableGroupInner({ gap = 8, itemHeight = 32, lineLimit = 2, defaultExpanded = false, children, opener: renderOpener = data => (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["\u0415\u0449\u0451 ", data.hiddenCount] }), className, style, expanded: expandedProp, onExpand, openerWidth = 72, time, }) {
42
+ const outerRef = (0, react_1.useRef)(null);
43
+ const innerRef = (0, react_1.useRef)(null);
22
44
  const openerRef = (0, react_1.useRef)(null);
23
45
  const [mounted, setMounted] = (0, react_1.useState)(false);
24
- const [expanded, setExpanded] = (0, react_1.useState)(defaultExpanded);
25
- const items = react_1.Children.toArray(children).reduce((result, child) => {
26
- if ((0, react_1.isValidElement)(child) && child.type === ExpandableItem) {
27
- result.push(child);
28
- }
29
- return result;
30
- }, []);
46
+ const [state, setState] = (0, react_1.useState)(() => (defaultExpanded ? expandedState : initialState));
31
47
  (0, react_1.useEffect)(() => {
32
48
  setMounted(true);
33
49
  }, []);
50
+ // даем возможность управлять состоянием с помощью пропса "expanded"
34
51
  (0, react_1.useEffect)(() => {
35
- expandedProp !== undefined && setExpanded(expandedProp);
52
+ if (typeof expandedProp === 'boolean') {
53
+ // ВАЖНО: передаем именно копию состояний чтобы гарантированно вызвать рендер
54
+ setState(expandedProp ? { ...expandedState } : { ...initialState });
55
+ }
36
56
  }, [expandedProp]);
37
- const { hiddenCount } = (0, utils_1.useExpandable)({
38
- expanded,
39
- wrapperRef,
40
- containerRef,
41
- openerRef,
42
- gap,
57
+ // если "time" обновился - это сигнал о том что надо пересчитать состояние
58
+ (0, react_1.useEffect)(() => {
59
+ // ВАЖНО: передаем именно копию состояний чтобы гарантированно вызвать рендер
60
+ setState(current => (current.status === 'expanded' ? current : { ...initialState }));
61
+ }, [time]);
62
+ // следим за изменением ширины чтобы запустить перерасчет
63
+ (0, utils_1.useObserveWidth)(outerRef, () => {
64
+ // ВАЖНО: передаем именно копию состояний чтобы гарантированно вызвать рендер
65
+ setState(current => (current.status === 'expanded' ? current : { ...initialState }));
43
66
  });
44
- return ((0, jsx_runtime_1.jsx)("div", { ref: wrapperRef, className: cx('root', className), style: {
45
- ...style,
46
- maxHeight: expanded ? undefined : `${itemHeight * lineLimit + gap * (lineLimit - 1)}px`,
47
- '--expandable-item-height': `${itemHeight}px`,
48
- '--expandable-opener-width': `${openerWidth}px`,
49
- '--expandable-gap': `${gap}px`,
50
- }, children: (0, jsx_runtime_1.jsxs)("ul", { ref: containerRef, className: expandable_group_module_scss_1.default.inner, children: [items, mounted && !expanded && ((0, jsx_runtime_1.jsx)(ItemContext.Provider, { value: { invisible: hiddenCount === 0, opener: true }, children: (0, jsx_runtime_1.jsx)(ExpandableItem, { ref: openerRef, onClick: () => {
51
- setExpanded(true);
52
- onExpand === null || onExpand === void 0 ? void 0 : onExpand();
53
- }, "data-testid": 'expandable:opener', children: opener({ hiddenCount }) }) }))] }) }));
67
+ // выполняем расчет
68
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
69
+ if (state.status === 'initial') {
70
+ const outer = outerRef.current;
71
+ const inner = innerRef.current;
72
+ const opener = openerRef.current;
73
+ if (outer && inner && opener) {
74
+ const { lastVisibleIndex } = (0, utils_1.defineLastVisible)({ outer, inner, gap, opener, openerWidth });
75
+ setState({
76
+ status: lastVisibleIndex !== -1 ? 'some-hidden' : 'all-visible',
77
+ lastVisibleIndex,
78
+ });
79
+ }
80
+ }
81
+ }, [state, mounted]);
82
+ const rootStyle = {
83
+ ...style,
84
+ maxHeight: state.status === 'expanded'
85
+ ? undefined
86
+ : `${itemHeight * lineLimit + gap * (lineLimit - 1)}px`,
87
+ '--expandable-gap': `${gap}px`,
88
+ '--expandable-item-height': `${itemHeight}px`,
89
+ '--expandable-opener-width': `${openerWidth}px`,
90
+ };
91
+ const handleExpand = (0, react_1.useCallback)(() => {
92
+ setState(expandedState);
93
+ onExpand === null || onExpand === void 0 ? void 0 : onExpand();
94
+ }, [onExpand]);
95
+ const items = react_1.Children.toArray(children).reduce((result, child, index) => {
96
+ if ((0, react_1.isValidElement)(child) && child.type === ExpandableItem) {
97
+ result.push((0, jsx_runtime_1.jsx)(ItemContext.Provider, { value: {
98
+ hidden: state.status === 'some-hidden' && index > state.lastVisibleIndex,
99
+ }, children: child }, child.key));
100
+ }
101
+ return result;
102
+ }, []);
103
+ // ВАЖНО: root нужен для того чтобы формировать ограничение по высоте
104
+ return ((0, jsx_runtime_1.jsx)("div", { ref: outerRef, className: cx('root', className), style: rootStyle, children: (0, jsx_runtime_1.jsxs)("ul", { ref: innerRef, className: cx('inner'), children: [items, mounted && state.status !== 'expanded' && ((0, jsx_runtime_1.jsx)(ItemContext.Provider, { value: { hidden: state.status !== 'some-hidden' }, children: (0, jsx_runtime_1.jsx)(ExpandableItem, { ref: openerRef, onClick: handleExpand, "data-testid": 'expandable:opener', children: renderOpener({ hiddenCount: items.length - state.lastVisibleIndex - 1 }) }) }))] }) }));
54
105
  }
55
- exports.ExpandableGroup = ExpandableGroup;
56
106
  const ExpandableItem = (0, react_1.forwardRef)(({ children, onClick, 'data-testid': testId = 'expandable:item' }, ref) => {
57
- const context = (0, react_1.useContext)(ItemContext);
58
- return ((0, jsx_runtime_1.jsx)("li", { ref: ref, className: cx('item', context), "data-testid": testId, onClick: onClick, children: children }));
107
+ const { hidden } = (0, react_1.useContext)(ItemContext);
108
+ return ((0, jsx_runtime_1.jsx)("li", { ref: ref, className: cx('item', { hidden }), "data-testid": testId, onClick: onClick, children: children }));
59
109
  });
60
110
  exports.Expandable = {
61
111
  Group: ExpandableGroup,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expandable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expandable/index.tsx"],"names":[],"mappings":"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"}