@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,39 @@
1
+ import type { CSSProperties, MouseEventHandler, ReactNode } from 'react';
2
+ import type { WithTestId } from '../types';
3
+ export interface ExpandableGroupInnerStyle extends CSSProperties {
4
+ '--expandable-item-height'?: string;
5
+ '--expandable-opener-width'?: string;
6
+ '--expandable-gap'?: string;
7
+ }
8
+ export interface ExpandableGroupProps {
9
+ /** Расстояние между элементами группы в пикселях. */
10
+ gap?: number;
11
+ /** Высота каждого элемента группы в пикселях. */
12
+ itemHeight?: number;
13
+ /** Развернут ли список по умолчанию. */
14
+ defaultExpanded?: boolean;
15
+ /** Количество строк в свернутом состоянии группы. */
16
+ lineLimit?: number;
17
+ /** Содержимое. */
18
+ children?: ReactNode;
19
+ /** Функция, возвращающая содержимое кнопки разворачивания списка. */
20
+ opener?: (data: {
21
+ hiddenCount: number;
22
+ }) => ReactNode;
23
+ /** Сработает при разворачивании списка. */
24
+ onExpand?: () => void;
25
+ /** CSS-класс корневого элемента. */
26
+ className?: string;
27
+ /** Стили корневого элемента. */
28
+ style?: CSSProperties;
29
+ /** Нужно ли выводить список развернутым. */
30
+ expanded?: boolean;
31
+ /** Ширина открывающего элемента. */
32
+ openerWidth?: number;
33
+ }
34
+ export interface ExpandableGroupItemProps extends WithTestId {
35
+ /** Содержимое. */
36
+ children?: ReactNode;
37
+ /** Сработает при клике. */
38
+ onClick?: MouseEventHandler;
39
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/expandable/types.ts"],"names":[],"mappings":""}
@@ -1,31 +1,30 @@
1
1
  import { RefObject } from 'react';
2
- export interface ViewState {
3
- lastVisibleIndex: number;
4
- }
5
2
  /**
6
- * Хук состояния группы элементов ограниченных несколькими строками с возможностью показать все.
7
- * @param options.expanded Развернут ли список.
8
- * @param options.wrapperRef Реф элемента, формирующего ограничение по высоте.
9
- * @param options.containerRef Реф элемента, содержащего список.
10
- * @param options.openerRef Реф элемента "открывашки".
11
- * @param options.gap Расстояние между элементами списка.
12
- * @return Рассчитанные данные: кол-во скрытых элементов.
3
+ * Определяет последний дочерний элемент который должен быть виден чтобы влезла "открывашка".
4
+ * @param payload Данные.
5
+ * @return Результат.
6
+ *
7
+ * ВАЖНО: lastVisibleIndex: -1 означает что все элементы видны и "открывашка" не нужна.
13
8
  */
14
- export declare function useExpandable({ expanded, wrapperRef, containerRef, openerRef, gap, }: {
15
- expanded: boolean;
16
- wrapperRef: RefObject<HTMLElement>;
17
- containerRef: RefObject<HTMLElement>;
18
- openerRef: RefObject<HTMLElement>;
9
+ export declare function defineLastVisible({ outer, inner, gap, opener, openerWidth, }: {
10
+ outer: Element;
11
+ inner: Element;
19
12
  gap: number;
13
+ opener: Element;
14
+ openerWidth: number;
20
15
  }): {
21
- hiddenCount: number;
16
+ lastVisibleIndex: number;
22
17
  };
23
18
  /**
24
- * Определяет индекс последнего видимого элемента для свернутого списка.
25
- * @param wrapper Элемент, формирующий ограничение по высоте.
26
- * @param items Элементы, все кроме "закрывашки".
27
- * @param opener Элемент "закрывашки".
28
- * @param gap Расстояние между элементами списка.
29
- * @return Состояние.
19
+ * Регистрирует обработчик изменения ширины элемента.
20
+ * @param element Элемент.
21
+ * @param callback Callback.
22
+ * @return Функция отписки.
23
+ */
24
+ export declare function observeWidth(element: Element, callback: VoidFunction): () => void;
25
+ /**
26
+ * Хук для регистрации обработчика изменения ширины элемента.
27
+ * @param ref Ref элемента.
28
+ * @param callback Callback.
30
29
  */
31
- export declare function defineViewState(wrapper: HTMLElement, items: Element[], opener: HTMLElement, gap: number): ViewState;
30
+ export declare function useObserveWidth(ref: RefObject<Element>, callback: VoidFunction): void;
@@ -1,92 +1,77 @@
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.defineViewState = exports.useExpandable = void 0;
3
+ exports.useObserveWidth = exports.observeWidth = exports.defineLastVisible = void 0;
7
4
  const react_1 = require("react");
8
- const hooks_1 = require("../hooks");
9
- const on_1 = require("../helpers/on");
10
- const expandable_group_module_scss_1 = __importDefault(require("./expandable-group.module.scss"));
11
5
  /**
12
- * Хук состояния группы элементов ограниченных несколькими строками с возможностью показать все.
13
- * @param options.expanded Развернут ли список.
14
- * @param options.wrapperRef Реф элемента, формирующего ограничение по высоте.
15
- * @param options.containerRef Реф элемента, содержащего список.
16
- * @param options.openerRef Реф элемента "открывашки".
17
- * @param options.gap Расстояние между элементами списка.
18
- * @return Рассчитанные данные: кол-во скрытых элементов.
6
+ * Определяет последний дочерний элемент который должен быть виден чтобы влезла "открывашка".
7
+ * @param payload Данные.
8
+ * @return Результат.
9
+ *
10
+ * ВАЖНО: lastVisibleIndex: -1 означает что все элементы видны и "открывашка" не нужна.
19
11
  */
20
- function useExpandable({ expanded, wrapperRef, containerRef, openerRef, gap, }) {
21
- const [hiddenCount, setHiddenCount] = (0, react_1.useState)(0);
22
- const calc = (0, react_1.useCallback)(() => {
23
- const wrapperEl = wrapperRef.current;
24
- const containerEl = containerRef.current;
25
- const openerEl = openerRef.current;
26
- if (expanded) {
27
- if (containerEl) {
28
- for (const item of containerEl.children) {
29
- item.classList.remove(expandable_group_module_scss_1.default.hidden);
30
- }
31
- }
32
- }
33
- else {
34
- if (wrapperEl && containerEl && openerEl) {
35
- const items = [...containerEl.children].filter(child => child !== openerEl);
36
- // делаем все элементы списка видимыми чтобы правильно считать размеры
37
- for (const item of items) {
38
- item.classList.remove(expandable_group_module_scss_1.default.hidden);
39
- }
40
- // определяем какие элементы не влезли в ограничение по высоте
41
- const state = defineViewState(wrapperEl, items, openerEl, gap);
42
- if (state.lastVisibleIndex !== -1) {
43
- // делаем невидимыми элементы списка которые не влезли
44
- for (const [index, item] of items.entries()) {
45
- if (item !== openerEl && index >= state.lastVisibleIndex) {
46
- item.classList.add(expandable_group_module_scss_1.default.hidden);
47
- }
48
- }
49
- }
50
- setHiddenCount(state.lastVisibleIndex !== -1 ? items.length - state.lastVisibleIndex : 0);
51
- }
52
- }
53
- }, [expanded, gap, wrapperRef, containerRef, openerRef]);
54
- // пересчитываем после каждого rerender'а
55
- (0, hooks_1.useIsomorphicLayoutEffect)(calc);
56
- // пересчитываем при resize
57
- (0, react_1.useEffect)(() => (0, on_1.on)(window, 'resize', calc), [calc]);
58
- return { hiddenCount };
12
+ function defineLastVisible({ outer, inner, gap, opener, openerWidth, }) {
13
+ const items = [...inner.children].filter(el => el !== opener);
14
+ // если список пуст или состоит из одного элемента - видны все, открывашка не нужна
15
+ if (items.length <= 1) {
16
+ return { lastVisibleIndex: -1 };
17
+ }
18
+ const bounds = outer.getBoundingClientRect();
19
+ // индекс последнего элемента который должен быть виден
20
+ let lastVisibleIndex = items.length - 1;
21
+ while (items[lastVisibleIndex] &&
22
+ items[lastVisibleIndex].getBoundingClientRect().bottom > bounds.bottom) {
23
+ lastVisibleIndex--;
24
+ }
25
+ const last = items[items.length - 1];
26
+ // если последний видимый является последним в списке - видны все, открывашка не нужна
27
+ if (last === items[lastVisibleIndex]) {
28
+ return { lastVisibleIndex: -1 };
29
+ }
30
+ while (lastVisibleIndex >= 1 &&
31
+ items[lastVisibleIndex] &&
32
+ bounds.right - items[lastVisibleIndex].getBoundingClientRect().right < openerWidth + gap) {
33
+ lastVisibleIndex--;
34
+ }
35
+ // @todo он не должен быть первым на строке
36
+ return { lastVisibleIndex };
59
37
  }
60
- exports.useExpandable = useExpandable;
38
+ exports.defineLastVisible = defineLastVisible;
61
39
  /**
62
- * Определяет индекс последнего видимого элемента для свернутого списка.
63
- * @param wrapper Элемент, формирующий ограничение по высоте.
64
- * @param items Элементы, все кроме "закрывашки".
65
- * @param opener Элемент "закрывашки".
66
- * @param gap Расстояние между элементами списка.
67
- * @return Состояние.
40
+ * Регистрирует обработчик изменения ширины элемента.
41
+ * @param element Элемент.
42
+ * @param callback Callback.
43
+ * @return Функция отписки.
68
44
  */
69
- function defineViewState(wrapper, items, opener, gap) {
70
- const state = { lastVisibleIndex: -1 };
71
- const parentRect = wrapper.getBoundingClientRect();
72
- const firstHiddenNodeIndex = items.findIndex(child => {
73
- const childRect = child.getBoundingClientRect();
74
- return childRect.top - parentRect.top >= parentRect.height;
45
+ function observeWidth(element, callback) {
46
+ // eslint-disable-next-line require-jsdoc
47
+ const getWidth = () => element.getBoundingClientRect().width;
48
+ let lastWidth = getWidth();
49
+ const observer = new ResizeObserver(() => {
50
+ requestAnimationFrame(() => {
51
+ const actualWidth = getWidth();
52
+ if (lastWidth !== actualWidth) {
53
+ lastWidth = actualWidth;
54
+ callback();
55
+ }
56
+ });
75
57
  });
76
- if (firstHiddenNodeIndex !== -1) {
77
- const lastVisibleIndex = firstHiddenNodeIndex - 1;
78
- const lastVisible = items[lastVisibleIndex];
79
- if (lastVisible) {
80
- const rightBound = lastVisible.getBoundingClientRect().right;
81
- const rightContainerBound = wrapper.getBoundingClientRect().right;
82
- // хватает ли кнопке места после последнего видимого дочернего элемента с учетом отступа между элементами
83
- const isOpenerFit = rightContainerBound - rightBound - gap >= opener.clientWidth;
84
- // если хватает места - ставим кнопку после последнего, иначе - вместо
85
- // @todo возможна ситуация когда нужно будет удалить N элементов чтобы влезла кнопка
86
- state.lastVisibleIndex = lastVisibleIndex + Number(isOpenerFit);
58
+ observer.observe(element);
59
+ return () => observer.disconnect();
60
+ }
61
+ exports.observeWidth = observeWidth;
62
+ /**
63
+ * Хук для регистрации обработчика изменения ширины элемента.
64
+ * @param ref Ref элемента.
65
+ * @param callback Callback.
66
+ */
67
+ function useObserveWidth(ref, callback) {
68
+ const callbackRef = (0, react_1.useRef)(callback);
69
+ callbackRef.current = callback;
70
+ (0, react_1.useEffect)(() => {
71
+ if (ref.current) {
72
+ return observeWidth(ref.current, () => callbackRef.current());
87
73
  }
88
- }
89
- return state;
74
+ }, [ref]);
90
75
  }
91
- exports.defineViewState = defineViewState;
76
+ exports.useObserveWidth = useObserveWidth;
92
77
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/expandable/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/expandable/utils.ts"],"names":[],"mappings":";;;AAAA,iCAAqD;AAErD;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,WAAW,GAOZ;IACC,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAE9D,mFAAmF;IACnF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC;KACjC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAE7C,uDAAuD;IACvD,IAAI,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAExC,OACE,KAAK,CAAC,gBAAgB,CAAC;QACvB,KAAK,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EACtE;QACA,gBAAgB,EAAE,CAAC;KACpB;IAED,MAAM,IAAI,GAAwB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE1D,sFAAsF;IACtF,IAAI,IAAI,KAAK,KAAK,CAAC,gBAAgB,CAAC,EAAE;QACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC;KACjC;IAED,OACE,gBAAgB,IAAI,CAAC;QACrB,KAAK,CAAC,gBAAgB,CAAC;QACvB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,WAAW,GAAG,GAAG,EACxF;QACA,gBAAgB,EAAE,CAAC;KACpB;IAED,2CAA2C;IAC3C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC9B,CAAC;AAjDD,8CAiDC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,OAAgB,EAAE,QAAsB;IACnE,yCAAyC;IACzC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAE7D,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;QACvC,qBAAqB,CAAC,GAAG,EAAE;YACzB,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC;YAE/B,IAAI,SAAS,KAAK,WAAW,EAAE;gBAC7B,SAAS,GAAG,WAAW,CAAC;gBACxB,QAAQ,EAAE,CAAC;aACZ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1B,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AACrC,CAAC;AApBD,oCAoBC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,GAAuB,EAAE,QAAsB;IAC7E,MAAM,WAAW,GAAG,IAAA,cAAM,EAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/D;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACZ,CAAC;AATD,0CASC"}
@@ -0,0 +1,42 @@
1
+ @use '../colors';
2
+
3
+ .main {
4
+ fill: var(--file-icon-primary-color, #{colors.$basic-gray24});
5
+ }
6
+
7
+ // ВАЖНО: далее используем цвет именно как резервное значение чтобы иметь возможность переопределения
8
+ .doc {
9
+ fill: var(--file-icon-primary-color, #{colors.$additional-electric-blue});
10
+ }
11
+
12
+ .xls {
13
+ fill: var(--file-icon-primary-color, #{colors.$additional-light-green});
14
+ }
15
+
16
+ .pdf {
17
+ fill: var(--file-icon-primary-color, #{colors.$additional-deep-red});
18
+ }
19
+
20
+ .jpg {
21
+ fill: var(--file-icon-primary-color, #{colors.$additional-deep-orange});
22
+ }
23
+
24
+ .xml {
25
+ fill: var(--file-icon-primary-color, #{colors.$additional-deep-purple});
26
+ }
27
+
28
+ .zip {
29
+ fill: var(--file-icon-primary-color, #{colors.$additional-teal});
30
+ }
31
+
32
+ .png {
33
+ fill: var(--file-icon-primary-color, #{colors.$additional-purple});
34
+ }
35
+
36
+ .mov {
37
+ fill: var(--file-icon-primary-color, #{colors.$additional-blue-gray});
38
+ }
39
+
40
+ .mp4 {
41
+ fill: var(--file-icon-primary-color, #{colors.$additional-blue-gray});
42
+ }
@@ -1,11 +1,18 @@
1
- /// <reference types="react" />
2
- export interface FileIconProps extends Omit<React.SVGAttributes<SVGSVGElement>, 'type'> {
1
+ import { CSSProperties, SVGAttributes } from 'react';
2
+ export interface FileIconStyle extends CSSProperties {
3
+ '--file-icon-primary-color'?: string;
4
+ }
5
+ export interface FileIconProps extends Omit<SVGAttributes<SVGSVGElement>, 'type'> {
3
6
  /** Тип файла. */
4
7
  type?: string;
8
+ /** Нужно ли выводить название типа. */
9
+ typeDisplayed?: boolean;
10
+ /** Стили. */
11
+ style?: FileIconStyle;
5
12
  }
6
13
  /**
7
14
  * Компонент иконки файла.
8
15
  * @param props Свойства. Поддерживаются свойства <svg />.
9
16
  * @return Элемент.
10
17
  */
11
- export declare const FileIcon: ({ type, ...svgProps }: FileIconProps) => JSX.Element;
18
+ export declare function FileIcon({ type, typeDisplayed, ...svgProps }: FileIconProps): JSX.Element;
@@ -1,27 +1,21 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.FileIcon = void 0;
4
7
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const colors_1 = require("../colors");
6
- const VARIANTS = {
7
- doc: { fill: colors_1.COLORS.get('additional-electric-blue') },
8
- xls: { fill: colors_1.COLORS.get('additional-light-green') },
9
- pdf: { fill: colors_1.COLORS.get('additional-deep-red') },
10
- jpg: { fill: colors_1.COLORS.get('additional-deep-orange') },
11
- xml: { fill: colors_1.COLORS.get('additional-deep-purple') },
12
- zip: { fill: colors_1.COLORS.get('additional-teal') },
13
- png: { fill: colors_1.COLORS.get('additional-purple') },
14
- mov: { fill: colors_1.COLORS.get('additional-blue-gray') },
15
- mp4: { fill: colors_1.COLORS.get('additional-blue-gray') },
16
- };
8
+ const bind_1 = __importDefault(require("classnames/bind"));
9
+ const file_icon_module_scss_1 = __importDefault(require("./file-icon.module.scss"));
10
+ const cx = bind_1.default.bind(file_icon_module_scss_1.default);
11
+ const KNOWN_TYPES = new Set(['doc', 'xls', 'pdf', 'jpg', 'xml', 'zip', 'png', 'mov', 'mp4']);
17
12
  /**
18
13
  * Компонент иконки файла.
19
14
  * @param props Свойства. Поддерживаются свойства <svg />.
20
15
  * @return Элемент.
21
16
  */
22
- const FileIcon = ({ type, ...svgProps }) => {
23
- const typeProps = VARIANTS[type];
24
- return type && typeProps ? ((0, jsx_runtime_1.jsxs)("svg", { width: '32', height: '32', viewBox: '0 0 32 32', ...svgProps, children: [(0, jsx_runtime_1.jsx)("path", { opacity: '0.88', d: 'M6 5C6 3.89543 6.89543 3 8 3H20L26 9V27C26 28.1046 25.1046 29 24 29H8C6.89543 29 6 28.1046 6 27V5Z', fill: typeProps.fill }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.32', d: 'M21 9L26 9L20 3L20 8C20 8.55229 20.4477 9 21 9Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.24', d: 'M25.1667 9L21 9L26 15L26 9C25.5833 9 25.6269 9 25.1667 9Z', fill: 'black' }), (0, jsx_runtime_1.jsx)("text", { x: '16', y: '23', textAnchor: 'middle', fontSize: '6.5', fontWeight: '700', fill: '#fff', children: type.toUpperCase() })] })) : ((0, jsx_runtime_1.jsxs)("svg", { width: '32', height: '32', viewBox: '0 0 32 32', fill: 'none', ...svgProps, children: [(0, jsx_runtime_1.jsx)("path", { opacity: '0.88', d: 'M6 5C6 3.89543 6.89543 3 8 3H20L26 9V27C26 28.1046 25.1046 29 24 29H8C6.89543 29 6 28.1046 6 27V5Z', fill: '#C2C2C2' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.32', d: 'M21 9L26 9L20 3L20 8C20 8.55229 20.4477 9 21 9Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.24', d: 'M25.1667 9L21 9L26 15L26 9C25.5833 9 25.6269 9 25.1667 9Z', fill: 'black' }), (0, jsx_runtime_1.jsxs)("g", { opacity: '0.8', children: [(0, jsx_runtime_1.jsx)("path", { d: 'M9 22H23V24H9V22Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { d: 'M9 18H19V20H9V18Z', fill: 'white' })] })] }));
25
- };
17
+ function FileIcon({ type, typeDisplayed = typeof type === 'string' && KNOWN_TYPES.has(type), ...svgProps }) {
18
+ return type && typeDisplayed ? ((0, jsx_runtime_1.jsxs)("svg", { width: '32', height: '32', viewBox: '0 0 32 32', ...svgProps, children: [(0, jsx_runtime_1.jsx)("path", { className: cx('main', type.slice(0, 3).toLowerCase()), opacity: '0.88', d: 'M6 5C6 3.89543 6.89543 3 8 3H20L26 9V27C26 28.1046 25.1046 29 24 29H8C6.89543 29 6 28.1046 6 27V5Z' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.32', d: 'M21 9L26 9L20 3L20 8C20 8.55229 20.4477 9 21 9Z', fill: '#fff' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.24', d: 'M25.1667 9L21 9L26 15L26 9C25.5833 9 25.6269 9 25.1667 9Z', fill: 'black' }), (0, jsx_runtime_1.jsx)("text", { x: '16', y: '23', textAnchor: 'middle', fontSize: '6.5', fontWeight: '700', fill: '#fff', children: type.toUpperCase() })] })) : ((0, jsx_runtime_1.jsxs)("svg", { width: '32', height: '32', viewBox: '0 0 32 32', ...svgProps, children: [(0, jsx_runtime_1.jsx)("path", { className: cx('main'), opacity: '0.88', d: 'M6 5C6 3.89543 6.89543 3 8 3H20L26 9V27C26 28.1046 25.1046 29 24 29H8C6.89543 29 6 28.1046 6 27V5Z' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.32', d: 'M21 9L26 9L20 3L20 8C20 8.55229 20.4477 9 21 9Z', fill: '#fff' }), (0, jsx_runtime_1.jsx)("path", { opacity: '0.24', d: 'M25.1667 9L21 9L26 15L26 9C25.5833 9 25.6269 9 25.1667 9Z', fill: 'black' }), (0, jsx_runtime_1.jsxs)("g", { opacity: '0.8', children: [(0, jsx_runtime_1.jsx)("path", { d: 'M9 22H23V24H9V22Z', fill: '#fff' }), (0, jsx_runtime_1.jsx)("path", { d: 'M9 18H19V20H9V18Z', fill: '#fff' })] })] }));
19
+ }
26
20
  exports.FileIcon = FileIcon;
27
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file-icon/index.tsx"],"names":[],"mappings":";;;;AAAA,sCAAmC;AAEnC,MAAM,QAAQ,GAAG;IACf,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE;IACrD,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;IACnD,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE;IAChD,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;IACnD,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;IACnD,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;IAC5C,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;IAC9C,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE;IACjD,GAAG,EAAE,EAAE,IAAI,EAAE,eAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE;CACzC,CAAC;AAOX;;;;GAIG;AACI,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAiB,EAAE,EAAE;IAC/D,MAAM,SAAS,GAAI,QAAgB,CAAC,IAAW,CAAC,CAAC;IAEjD,OAAO,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CACzB,iCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,KAAK,QAAQ,aAC1D,iCACE,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,oGAAoG,EACtG,IAAI,EAAE,SAAS,CAAC,IAAI,GACpB,EACF,iCAAM,OAAO,EAAC,MAAM,EAAC,CAAC,EAAC,iDAAiD,EAAC,IAAI,EAAC,OAAO,GAAG,EACxF,iCACE,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,2DAA2D,EAC7D,IAAI,EAAC,OAAO,GACZ,EACF,iCAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,YAChF,IAAI,CAAC,WAAW,EAAE,GACd,IACH,CACP,CAAC,CAAC,CAAC,CACF,iCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,KAAK,QAAQ,aACtE,iCACE,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,oGAAoG,EACtG,IAAI,EAAC,SAAS,GACd,EACF,iCAAM,OAAO,EAAC,MAAM,EAAC,CAAC,EAAC,iDAAiD,EAAC,IAAI,EAAC,OAAO,GAAG,EACxF,iCACE,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,2DAA2D,EAC7D,IAAI,EAAC,OAAO,GACZ,EACF,+BAAG,OAAO,EAAC,KAAK,aACd,iCAAM,CAAC,EAAC,mBAAmB,EAAC,IAAI,EAAC,OAAO,GAAG,EAC3C,iCAAM,CAAC,EAAC,mBAAmB,EAAC,IAAI,EAAC,OAAO,GAAG,IACzC,IACA,CACP,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,QAAQ,YAuCnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file-icon/index.tsx"],"names":[],"mappings":";;;;;;;AACA,2DAAyC;AACzC,oFAA6C;AAiB7C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,+BAAM,CAAC,CAAC;AAEnC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE7F;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,aAAa,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EACjE,GAAG,QAAQ,EACG;IACd,OAAO,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,CAC7B,iCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,KAAK,QAAQ,aAE1D,iCACE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EACrD,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,oGAAoG,GACtG,EAGF,iCAAM,OAAO,EAAC,MAAM,EAAC,CAAC,EAAC,iDAAiD,EAAC,IAAI,EAAC,MAAM,GAAG,EACvF,iCACE,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,2DAA2D,EAC7D,IAAI,EAAC,OAAO,GACZ,EAGF,iCAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,YAChF,IAAI,CAAC,WAAW,EAAE,GACd,IACH,CACP,CAAC,CAAC,CAAC,CACF,iCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,KAAK,QAAQ,aAE1D,iCACE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,EACrB,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,oGAAoG,GACtG,EAGF,iCAAM,OAAO,EAAC,MAAM,EAAC,CAAC,EAAC,iDAAiD,EAAC,IAAI,EAAC,MAAM,GAAG,EACvF,iCACE,OAAO,EAAC,MAAM,EACd,CAAC,EAAC,2DAA2D,EAC7D,IAAI,EAAC,OAAO,GACZ,EAGF,+BAAG,OAAO,EAAC,KAAK,aACd,iCAAM,CAAC,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM,GAAG,EAC1C,iCAAM,CAAC,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM,GAAG,IACxC,IACA,CACP,CAAC;AACJ,CAAC;AAnDD,4BAmDC"}
package/link/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import { AnchorHTMLAttributes } from 'react';
2
2
  import { Token } from '../colors';
3
3
  export type LinkColor = Extract<Token, 'basic-blue' | 'basic-gray87' | 'basic-gray38' | 'basic-white' | 'additional-red' | 'additional-teal'>;
4
- export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
4
+ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
5
5
  /** Цвет (название токена). */
6
6
  color?: LinkColor;
7
7
  /**
package/link/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/link/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAmC;AACnC,0DAAqD;AACrD,2DAAyC;AAEzC,0EAAwC;AAmCxC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,0BAAM,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,QAAyB,EAAE,OAAiB,EAAE,EAAE,CACvE,OAAO,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAA,yBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;AAE7E;;;;;GAKG;AACU,QAAA,IAAI,GAAG,IAAA,kBAAU,EAA+B,SAAS,IAAI,CACxE,EACE,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,YAAY,EACpB,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,aAAa,EAAE,MAAM,GAAG,QAAQ,EAChC,GAAG,SAAS,EACb,EACD,GAAG;IAEH,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC;YACE,IAAI,EAAE,IAAI,IAAI,QAAQ;YACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;SAC/C;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEvB,OAAO,CACL,iCACM,SAAS,KACT,SAAS,iBACA,MAAM,EACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,KAC5D,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,GACtC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/link/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAoE;AACpE,0DAAqD;AAErD,2DAAyC;AACzC,0EAAwC;AAmCxC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,0BAAM,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,QAAmB,EAAE,OAAiB,EAAE,EAAE,CACjE,OAAO,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAA,yBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;AAE7E;;;;;GAKG;AACU,QAAA,IAAI,GAAG,IAAA,kBAAU,EAA+B,SAAS,IAAI,CACxE,EACE,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,YAAY,EACpB,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,aAAa,EAAE,MAAM,GAAG,QAAQ,EAChC,GAAG,SAAS,EACb,EACD,GAAG;IAEH,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC;YACE,IAAI,EAAE,IAAI,IAAI,QAAQ;YACtB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC;SAC/C;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEvB,OAAO,CACL,iCACM,SAAS,KACT,SAAS,iBACA,MAAM,EACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,KAC5D,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,GACtC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/modal/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export type ModalSize = 's' | 'm' | 'l' | 'xl' | 'fullscreen';
5
5
  export interface ModalProps extends WithPageScrollLock {
6
6
  /** Содержимое компонента. */
7
7
  children?: React.ReactNode;
8
- /** Высота в пикселях. */
8
+ /** Высота в пикселях. Применяется только когда size !== 'fullscreen'. */
9
9
  height?: number;
10
10
  /** Будет вызвана при нажатии на кнопку "назад" в топ баре. */
11
11
  onBack?: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sima-land/ui-nucleons",
3
- "version": "45.0.0-alpha.6",
3
+ "version": "45.0.0-alpha.8",
4
4
  "repository": "ssh://git@github.com:sima-land/ui-nucleons.git",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",
@@ -20,8 +20,8 @@
20
20
  "lint": "npm run lint:scripts && npm run lint:styles",
21
21
  "lint:scripts": "eslint --cache src/ --ext .js,.jsx,.ts,.tsx",
22
22
  "lint:styles": "stylelint 'src/**/*.{css,scss}'",
23
- "storybook": "BROWSERSLIST_ENV=\"storybook\" npx start-storybook -p 9009 -c .storybook",
24
- "storybook:build": "BROWSERSLIST_ENV=\"storybook\" npx build-storybook --quiet --loglevel error -o build-storybook",
23
+ "storybook": "BROWSERSLIST_ENV=\"storybook\" npx storybook dev -p 9009 -c .storybook",
24
+ "storybook:build": "BROWSERSLIST_ENV=\"storybook\" npx storybook build --quiet --loglevel error -o build-storybook",
25
25
  "prettier": "prettier --write \"./src/**/*.{js,jsx,ts,tsx,css,scss}\"",
26
26
  "prettier:check": "prettier --check \"./src/**/*.{js,jsx,ts,tsx,css,scss}\""
27
27
  },
@@ -43,36 +43,32 @@
43
43
  "@babel/preset-env": "^7.16.11",
44
44
  "@babel/preset-react": "^7.16.7",
45
45
  "@babel/preset-typescript": "^7.16.7",
46
- "@playwright/test": "^1.27.1",
46
+ "@playwright/test": "^1.37.1",
47
47
  "@rushstack/eslint-patch": "^1.1.1",
48
48
  "@sima-land/linters": "^3.0.0",
49
- "@storybook/addon-backgrounds": "^6.5.14",
50
- "@storybook/addon-docs": "^6.5.14",
51
- "@storybook/addon-storysource": "^6.5.14",
52
- "@storybook/addons": "^6.5.14",
53
- "@storybook/builder-webpack5": "^6.5.14",
54
- "@storybook/manager-webpack5": "^6.5.14",
55
- "@storybook/react": "^6.5.14",
56
- "@storybook/theming": "^6.5.14",
49
+ "@storybook/addon-backgrounds": "^7.4.0",
50
+ "@storybook/addon-docs": "^7.4.0",
51
+ "@storybook/addon-mdx-gfm": "^7.4.0",
52
+ "@storybook/addon-storysource": "^7.4.0",
53
+ "@storybook/addons": "^7.4.0",
54
+ "@storybook/react": "^7.4.0",
55
+ "@storybook/react-webpack5": "^7.4.0",
56
+ "@storybook/theming": "^7.4.0",
57
57
  "@testing-library/react": "^12.1.4",
58
58
  "@testing-library/user-event": "^14.4.3",
59
59
  "@types/body-scroll-lock": "^3.1.0",
60
- "@types/enzyme": "^3.10.11",
61
60
  "@types/jest": "^27.4.1",
62
61
  "@types/lodash": "^4.14.180",
63
62
  "@types/overlayscrollbars": "^1.12.1",
64
63
  "@types/react": "^17.0.40",
65
64
  "@types/react-dom": "^17.0.13",
66
65
  "@types/react-transition-group": "^4.4.4",
67
- "@wojtekmaj/enzyme-adapter-react-17": "^0.6.6",
68
66
  "babel-jest": "^27.5.1",
69
67
  "clipboard": "^2.0.11",
70
68
  "copyfiles": "^2.4.1",
71
69
  "css-loader": "^6.7.1",
72
- "enzyme": "^3.9.0",
73
- "enzyme-to-json": "^3.6.2",
74
70
  "eslint": "^8.11.0",
75
- "eslint-plugin-storybook": "^0.6.4",
71
+ "eslint-plugin-storybook": "^0.6.13",
76
72
  "file-loader": "^6.2.0",
77
73
  "handlebars": "^4.7.7",
78
74
  "husky": "^7.0.4",
@@ -88,6 +84,7 @@
88
84
  "react-dom": "^17.0.2",
89
85
  "sass": "^1.63.6",
90
86
  "sass-loader": "^12.6.0",
87
+ "storybook": "^7.4.0",
91
88
  "style-loader": "^3.3.1",
92
89
  "stylelint": "^15.9.0",
93
90
  "ts-node": "^10.9.1",
@@ -14,7 +14,7 @@ const cx = bind_1.default.bind(pagination_item_module_scss_1.default);
14
14
  * @return Элемент.
15
15
  */
16
16
  function PaginationItem({ rootRef, checked, disabled, children, rounds, onClick, className, href, role = !href ? 'button' : undefined, ...rest }) {
17
- return ((0, jsx_runtime_1.jsx)("a", { ...rest, ref: rootRef, href: disabled ? undefined : href, role: role, className: cx('root', `rounds-${rounds}`, { checked, disabled }, className), onClick: disabled ? undefined : onClick, children: children }));
17
+ return ((0, jsx_runtime_1.jsx)("a", { "aria-disabled": disabled || undefined, "aria-current": checked || undefined, ...rest, ref: rootRef, href: disabled ? undefined : href, role: role, className: cx('root', `rounds-${rounds}`, { checked, disabled }, className), onClick: disabled ? undefined : onClick, children: children }));
18
18
  }
19
19
  exports.PaginationItem = PaginationItem;
20
20
  //# sourceMappingURL=pagination-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-item.js","sourceRoot":"","sources":["../../src/pagination/pagination-item.tsx"],"names":[],"mappings":";;;;;;;AACA,2DAAyC;AACzC,gGAAmD;AAEnD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,qCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACnC,GAAG,IAAI,EACa;IACpB,OAAO,CACL,iCACM,IAAI,EACR,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACjC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,EAC3E,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,YAEtC,QAAQ,GACP,CACL,CAAC;AACJ,CAAC;AAxBD,wCAwBC"}
1
+ {"version":3,"file":"pagination-item.js","sourceRoot":"","sources":["../../src/pagination/pagination-item.tsx"],"names":[],"mappings":";;;;;;;AACA,2DAAyC;AACzC,gGAAmD;AAEnD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,qCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACnC,GAAG,IAAI,EACa;IACpB,OAAO,CACL,+CACiB,QAAQ,IAAI,SAAS,kBACtB,OAAO,IAAI,SAAS,KAC9B,IAAI,EACR,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACjC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,EAC3E,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,YAEtC,QAAQ,GACP,CACL,CAAC;AACJ,CAAC;AA1BD,wCA0BC"}
@@ -18,7 +18,7 @@ const cx = bind_1.default.bind(pagination_module_scss_1.default);
18
18
  * @param props Свойства.
19
19
  * @return Элемент.
20
20
  */
21
- function Pagination({ rootRef, current: currentProp = 1, total: totalProp = 1, onPageChange, getItems = utils_1.getPaginationItems, renderItem = renderPaginationItem, className, ...restProps }) {
21
+ function Pagination({ rootRef, current: currentProp, total: totalProp, onPageChange, getItems = utils_1.getPaginationItems, renderItem = renderPaginationItem, className, ...restProps }) {
22
22
  const { current, total } = (0, react_1.useMemo)(() => (0, utils_1.validatePaginationState)({ current: currentProp, total: totalProp }), [currentProp, totalProp]);
23
23
  const items = (0, react_1.useMemo)(() => getItems({ current, total }), [current, total]);
24
24
  const onChangeRef = (0, react_1.useRef)(onPageChange);
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination/pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination/pagination.tsx"],"names":[],"mappings":"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"}
package/popup/utils.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare function popupFloatingConfig(): Partial<UseFloatingProps>;
11
11
  * @return Стили для элемента с учетом "слоя".
12
12
  */
13
13
  export declare function usePopupFloatingStyle({ strategy, x, y, }: Pick<UseFloatingReturn, 'strategy' | 'x' | 'y'>): {
14
- position: import("@floating-ui/react").Strategy;
14
+ position: import("@floating-ui/utils").Strategy;
15
15
  top: number;
16
16
  left: number;
17
17
  zIndex: number;
@@ -50,7 +50,7 @@ function SidePageInner({ size = 'm', children, onClose, withScrollDisable = fals
50
50
  // условие нужно чтобы не было моментального закрытия на double click
51
51
  ...(transitionStatus !== 'entering' && overlayClickBind),
52
52
  };
53
- return ((0, jsx_runtime_1.jsx)(modal_overlay_1.ModalOverlay, { ...overlayProps, children: (0, jsx_runtime_1.jsxs)("div", { className: cx('side-page', `size-${size}`), children: [header, (0, jsx_runtime_1.jsx)("div", { ref: ref, className: cx('body'), children: body }), footer] }) }));
53
+ return ((0, jsx_runtime_1.jsx)(modal_overlay_1.ModalOverlay, { ...overlayProps, children: (0, jsx_runtime_1.jsxs)("div", { className: cx('side-page', `size-${size}`), "data-testid": 'side-page', children: [header, (0, jsx_runtime_1.jsx)("div", { ref: ref, className: cx('body'), children: body }), footer] }) }));
54
54
  }
55
55
  SidePage.Header = slots_1.SidePageHeader;
56
56
  SidePage.Body = slots_1.SidePageBody;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/side-page/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAyD;AACzD,0DAAsD;AACtD,oEAAsF;AACtF,mCAAuE;AACvE,yFAAyF;AACzF,oDAAmE;AACnE,kDAAuD;AACvD,2DAAyC;AACzC,oFAA6C;AAqC7C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,+BAAM,CAAC,CAAC;AAEnC,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC;IAClB,WAAW,EAAE,EAAE,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC;CACrB,CAAC;AAEX;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,eAAe,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACE;IACd,MAAM,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,uBAAC,uBAAa,IACZ,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,aAAa,QACb,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,YAEjB,gBAAgB,CAAC,EAAE,CAAC,CACnB,uBAAC,aAAa,OAAK,SAAS,KAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAI,CAC/E,GACa,CACjB,CAAC;AACJ,CAAC;AA/BD,4BA+BC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,EACrB,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,OAAO,EACP,iBAAiB,GAAG,KAAK,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GAInB;IACC,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEzC,IAAA,oCAAiB,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC;IAEpF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE;QACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAsB;QACtC,KAAK,EAAE,EAAE,uBAAuB,EAAE,GAAG,kBAAkB,IAAI,EAAmB;QAE9E,qEAAqE;QACrE,GAAG,CAAC,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,CAAC;KACzD,CAAC;IAEF,OAAO,CACL,uBAAC,4BAAY,OAAK,YAAY,YAC5B,iCAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC,aAC5C,MAAM,EACP,gCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YACjC,IAAI,GACD,EACL,MAAM,IACH,GACO,CAChB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,MAAM,GAAG,sBAAc,CAAC;AACjC,QAAQ,CAAC,IAAI,GAAG,oBAAY,CAAC;AAC7B,QAAQ,CAAC,MAAM,GAAG,sBAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/side-page/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAyD;AACzD,0DAAsD;AACtD,oEAAsF;AACtF,mCAAuE;AACvE,yFAAyF;AACzF,oDAAmE;AACnE,kDAAuD;AACvD,2DAAyC;AACzC,oFAA6C;AAqC7C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,+BAAM,CAAC,CAAC;AAEnC,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC;IAClB,WAAW,EAAE,EAAE,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;IAChB,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC;CACrB,CAAC;AAEX;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,eAAe,EACf,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACE;IACd,MAAM,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,uBAAC,uBAAa,IACZ,EAAE,EAAE,KAAK,EACT,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,aAAa,QACb,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,YAEjB,gBAAgB,CAAC,EAAE,CAAC,CACnB,uBAAC,aAAa,OAAK,SAAS,KAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAI,CAC/E,GACa,CACjB,CAAC;AACJ,CAAC;AA/BD,4BA+BC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,EACrB,IAAI,GAAG,GAAG,EACV,QAAQ,EACR,OAAO,EACP,iBAAiB,GAAG,KAAK,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GAInB;IACC,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEzC,IAAA,oCAAiB,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC;IAEpF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE;QACrD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAsB;QACtC,KAAK,EAAE,EAAE,uBAAuB,EAAE,GAAG,kBAAkB,IAAI,EAAmB;QAE9E,qEAAqE;QACrE,GAAG,CAAC,gBAAgB,KAAK,UAAU,IAAI,gBAAgB,CAAC;KACzD,CAAC;IAEF,OAAO,CACL,uBAAC,4BAAY,OAAK,YAAY,YAC5B,iCAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC,iBAAc,WAAW,aACrE,MAAM,EACP,gCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YACjC,IAAI,GACD,EACL,MAAM,IACH,GACO,CAChB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,MAAM,GAAG,sBAAc,CAAC;AACjC,QAAQ,CAAC,IAAI,GAAG,oBAAY,CAAC;AAC7B,QAAQ,CAAC,MAAM,GAAG,sBAAc,CAAC"}