@sima-land/ui-nucleons 45.0.0-alpha.6 → 45.0.0-alpha.7
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.
- package/avatar/avatar.d.ts +8 -0
- package/avatar/avatar.js +26 -0
- package/avatar/avatar.js.map +1 -0
- package/avatar/avatar.module.scss +13 -36
- package/avatar/index.d.ts +3 -30
- package/avatar/index.js +8 -41
- package/avatar/index.js.map +1 -1
- package/avatar/types.d.ts +18 -0
- package/avatar/types.js +3 -0
- package/avatar/types.js.map +1 -0
- package/avatar/utils.d.ts +28 -4
- package/avatar/utils.js +76 -13
- package/avatar/utils.js.map +1 -1
- package/avatar/utils.module.scss +9 -0
- package/button/button-util.scss +46 -0
- package/button/button.module.scss +17 -26
- package/button/index.d.ts +12 -2
- package/button/index.js +1 -1
- package/button/index.js.map +1 -1
- package/colors/index.d.ts +6 -4
- package/colors/index.js +6 -3
- package/colors/index.js.map +1 -1
- package/colors.scss +2 -0
- package/expandable/expandable-group.module.scss +1 -5
- package/expandable/index.d.ts +4 -34
- package/expandable/index.js +77 -30
- package/expandable/index.js.map +1 -1
- package/expandable/types.d.ts +39 -0
- package/expandable/types.js +3 -0
- package/expandable/types.js.map +1 -0
- package/expandable/utils.d.ts +22 -23
- package/expandable/utils.js +65 -80
- package/expandable/utils.js.map +1 -1
- package/package.json +1 -1
- package/styling/colors.d.ts +5 -5
- package/avatar/user.d.ts +0 -10
- package/avatar/user.js +0 -41
- package/avatar/user.js.map +0 -1
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;
|
|
@@ -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
|
}
|
package/expandable/index.d.ts
CHANGED
|
@@ -1,42 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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(
|
|
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<
|
|
11
|
+
readonly Item: import("react").ForwardRefExoticComponent<ExpandableGroupItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
42
12
|
};
|
package/expandable/index.js
CHANGED
|
@@ -6,56 +6,103 @@ 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(
|
|
20
|
-
const
|
|
21
|
-
|
|
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 [
|
|
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
|
-
|
|
52
|
+
if (typeof expandedProp === 'boolean') {
|
|
53
|
+
setState(expandedProp ? expandedState : initialState);
|
|
54
|
+
}
|
|
36
55
|
}, [expandedProp]);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
56
|
+
// если "time" обновился - это сигнал о том что надо пересчитать состояние
|
|
57
|
+
(0, react_1.useEffect)(() => {
|
|
58
|
+
setState(current => (current.status === 'expanded' ? current : initialState));
|
|
59
|
+
}, [time]);
|
|
60
|
+
// следим за изменением ширины чтобы запустить перерасчет
|
|
61
|
+
(0, utils_1.useObserveWidth)(outerRef, () => {
|
|
62
|
+
setState(current => (current.status === 'expanded' ? current : initialState));
|
|
43
63
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
// выполняем расчет
|
|
65
|
+
(0, hooks_1.useIsomorphicLayoutEffect)(() => {
|
|
66
|
+
if (state.status === 'initial') {
|
|
67
|
+
const outer = outerRef.current;
|
|
68
|
+
const inner = innerRef.current;
|
|
69
|
+
const opener = openerRef.current;
|
|
70
|
+
if (outer && inner && opener) {
|
|
71
|
+
const { lastVisibleIndex } = (0, utils_1.defineLastVisible)({ outer, inner, gap, opener, openerWidth });
|
|
72
|
+
setState({
|
|
73
|
+
status: lastVisibleIndex !== -1 ? 'some-hidden' : 'all-visible',
|
|
74
|
+
lastVisibleIndex,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, [state, mounted]);
|
|
79
|
+
const rootStyle = {
|
|
80
|
+
...style,
|
|
81
|
+
maxHeight: state.status === 'expanded'
|
|
82
|
+
? undefined
|
|
83
|
+
: `${itemHeight * lineLimit + gap * (lineLimit - 1)}px`,
|
|
84
|
+
'--expandable-gap': `${gap}px`,
|
|
85
|
+
'--expandable-item-height': `${itemHeight}px`,
|
|
86
|
+
'--expandable-opener-width': `${openerWidth}px`,
|
|
87
|
+
};
|
|
88
|
+
const handleExpand = (0, react_1.useCallback)(() => {
|
|
89
|
+
setState(expandedState);
|
|
90
|
+
onExpand === null || onExpand === void 0 ? void 0 : onExpand();
|
|
91
|
+
}, [onExpand]);
|
|
92
|
+
const items = react_1.Children.toArray(children).reduce((result, child, index) => {
|
|
93
|
+
if ((0, react_1.isValidElement)(child) && child.type === ExpandableItem) {
|
|
94
|
+
result.push((0, jsx_runtime_1.jsx)(ItemContext.Provider, { value: {
|
|
95
|
+
hidden: state.status === 'some-hidden' && index > state.lastVisibleIndex,
|
|
96
|
+
}, children: child }, child.key));
|
|
97
|
+
}
|
|
98
|
+
return result;
|
|
99
|
+
}, []);
|
|
100
|
+
// ВАЖНО: root нужен для того чтобы формировать ограничение по высоте
|
|
101
|
+
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
102
|
}
|
|
55
|
-
exports.ExpandableGroup = ExpandableGroup;
|
|
56
103
|
const ExpandableItem = (0, react_1.forwardRef)(({ children, onClick, 'data-testid': testId = 'expandable:item' }, ref) => {
|
|
57
|
-
const
|
|
58
|
-
return ((0, jsx_runtime_1.jsx)("li", { ref: ref, className: cx('item',
|
|
104
|
+
const { hidden } = (0, react_1.useContext)(ItemContext);
|
|
105
|
+
return ((0, jsx_runtime_1.jsx)("li", { ref: ref, className: cx('item', { hidden }), "data-testid": testId, onClick: onClick, children: children }));
|
|
59
106
|
});
|
|
60
107
|
exports.Expandable = {
|
|
61
108
|
Group: ExpandableGroup,
|
package/expandable/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expandable/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expandable/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAWe;AAEf,oCAAqD;AACrD,mCAA6D;AAC7D,2DAAyC;AACzC,kGAAoD;AAEpD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,sCAAM,CAAC,CAAC;AAEnC,MAAM,WAAW,GAAG,IAAA,qBAAa,EAAuB,EAAE,CAAC,CAAC;AAO5D,MAAM,YAAY,GAAU;IAC1B,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,CAAC,CAAC;CACrB,CAAC;AAEF,MAAM,aAAa,GAAU;IAC3B,MAAM,EAAE,UAAU;IAClB,gBAAgB,EAAE,CAAC,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAA2B;IACzD,MAAM,IAAI,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAEvB,4EAA4E;IAC5E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IAEhC,kHAAkH;IAClH,OAAO,uBAAC,oBAAoB,OAAK,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,GAAI,CAAC;AACjE,CAAC;AARD,0CAQC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,EAC5B,GAAG,GAAG,CAAC,EACP,UAAU,GAAG,EAAE,EACf,SAAS,GAAG,CAAC,EACb,eAAe,GAAG,KAAK,EACvB,QAAQ,EACR,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,oFAAO,IAAI,CAAC,WAAW,IAAI,EAC1D,SAAS,EACT,KAAK,EACL,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,WAAW,GAAG,EAAE,EAChB,IAAI,GACoC;IACxC,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAA,cAAM,EAAgB,IAAI,CAAC,CAAC;IAE9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAQ,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAElG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oEAAoE;IACpE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE;YACrC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SACvD;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,0EAA0E;IAC1E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAChF,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,yDAAyD;IACzD,IAAA,uBAAe,EAAC,QAAQ,EAAE,GAAG,EAAE;QAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,IAAA,iCAAyB,EAAC,GAAG,EAAE;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;YAEjC,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gBAC5B,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,yBAAiB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAE3F,QAAQ,CAAC;oBACP,MAAM,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa;oBAC/D,gBAAgB;iBACjB,CAAC,CAAC;aACJ;SACF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,MAAM,SAAS,GAA8B;QAC3C,GAAG,KAAK;QACR,SAAS,EACP,KAAK,CAAC,MAAM,KAAK,UAAU;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,UAAU,GAAG,SAAS,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI;QAC3D,kBAAkB,EAAE,GAAG,GAAG,IAAI;QAC9B,0BAA0B,EAAE,GAAG,UAAU,IAAI;QAC7C,2BAA2B,EAAE,GAAG,WAAW,IAAI;KAChD,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACpC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;IACf,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,KAAK,GAAG,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACpF,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE;YAC1D,MAAM,CAAC,IAAI,CACT,uBAAC,WAAW,CAAC,QAAQ,IAEnB,KAAK,EAAE;oBACL,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,KAAK,GAAG,KAAK,CAAC,gBAAgB;iBACzE,YAEA,KAAK,IALD,KAAK,CAAC,GAAG,CAMO,CACxB,CAAC;SACH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,qEAAqE;IACrE,OAAO,CACL,gCAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,YACpE,gCAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aACtC,KAAK,EAGL,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CACzC,uBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,YACrE,uBAAC,cAAc,IAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,iBAAc,mBAAmB,YACnF,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,GAC1D,GACI,CACxB,IACE,GACD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,IAAA,kBAAU,EAC/B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,iBAAiB,EAAE,EAAE,GAAG,EAAE,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAE3C,OAAO,CACL,+BAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,iBAAe,MAAM,EAAE,OAAO,EAAE,OAAO,YACnF,QAAQ,GACN,CACN,CAAC;AACJ,CAAC,CACF,CAAC;AAEW,QAAA,UAAU,GAAG;IACxB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,cAAc;CACZ,CAAC"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/expandable/types.ts"],"names":[],"mappings":""}
|
package/expandable/utils.d.ts
CHANGED
|
@@ -1,31 +1,30 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
|
-
export interface ViewState {
|
|
3
|
-
lastVisibleIndex: number;
|
|
4
|
-
}
|
|
5
2
|
/**
|
|
6
|
-
*
|
|
7
|
-
* @param
|
|
8
|
-
* @
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @param options.gap Расстояние между элементами списка.
|
|
12
|
-
* @return Рассчитанные данные: кол-во скрытых элементов.
|
|
3
|
+
* Определяет последний дочерний элемент который должен быть виден чтобы влезла "открывашка".
|
|
4
|
+
* @param payload Данные.
|
|
5
|
+
* @return Результат.
|
|
6
|
+
*
|
|
7
|
+
* ВАЖНО: lastVisibleIndex: -1 означает что все элементы видны и "открывашка" не нужна.
|
|
13
8
|
*/
|
|
14
|
-
export declare function
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
16
|
+
lastVisibleIndex: number;
|
|
22
17
|
};
|
|
23
18
|
/**
|
|
24
|
-
*
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @
|
|
28
|
-
|
|
29
|
-
|
|
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
|
|
30
|
+
export declare function useObserveWidth(ref: RefObject<Element>, callback: VoidFunction): void;
|
package/expandable/utils.js
CHANGED
|
@@ -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.
|
|
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
|
|
14
|
-
* @
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @param options.gap Расстояние между элементами списка.
|
|
18
|
-
* @return Рассчитанные данные: кол-во скрытых элементов.
|
|
6
|
+
* Определяет последний дочерний элемент который должен быть виден чтобы влезла "открывашка".
|
|
7
|
+
* @param payload Данные.
|
|
8
|
+
* @return Результат.
|
|
9
|
+
*
|
|
10
|
+
* ВАЖНО: lastVisibleIndex: -1 означает что все элементы видны и "открывашка" не нужна.
|
|
19
11
|
*/
|
|
20
|
-
function
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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.
|
|
38
|
+
exports.defineLastVisible = defineLastVisible;
|
|
61
39
|
/**
|
|
62
|
-
*
|
|
63
|
-
* @param
|
|
64
|
-
* @param
|
|
65
|
-
* @
|
|
66
|
-
* @param gap Расстояние между элементами списка.
|
|
67
|
-
* @return Состояние.
|
|
40
|
+
* Регистрирует обработчик изменения ширины элемента.
|
|
41
|
+
* @param element Элемент.
|
|
42
|
+
* @param callback Callback.
|
|
43
|
+
* @return Функция отписки.
|
|
68
44
|
*/
|
|
69
|
-
function
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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.
|
|
76
|
+
exports.useObserveWidth = useObserveWidth;
|
|
92
77
|
//# sourceMappingURL=utils.js.map
|
package/expandable/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/expandable/utils.ts"],"names":[],"mappings":"
|
|
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"}
|
package/package.json
CHANGED
package/styling/colors.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** @deprecated */
|
|
2
|
-
export declare const color: (value: "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 | undefined;
|
|
2
|
+
export declare const color: (value: "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 | undefined;
|
|
3
3
|
/** @deprecated */
|
|
4
|
-
export declare const hoverColor: (value: "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 | undefined;
|
|
4
|
+
export declare const hoverColor: (value: "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 | undefined;
|
|
5
5
|
/** @deprecated */
|
|
6
|
-
export declare const bgColor: (value: "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 | undefined;
|
|
6
|
+
export declare const bgColor: (value: "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 | undefined;
|
|
7
7
|
/** @deprecated */
|
|
8
|
-
export declare const stroke: (value: "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 | undefined;
|
|
8
|
+
export declare const stroke: (value: "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 | undefined;
|
|
9
9
|
/** @deprecated */
|
|
10
|
-
export declare const fill: (value: "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 | undefined;
|
|
10
|
+
export declare const fill: (value: "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 | undefined;
|
package/avatar/user.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { AvatarProps } from '.';
|
|
3
|
-
export type UserAvatarProps = Omit<AvatarProps, 'bgColor' | 'bgOpacity' | 'textColor'>;
|
|
4
|
-
export declare const colorKey: unique symbol;
|
|
5
|
-
/**
|
|
6
|
-
* Компонент аватара пользователя (не сотрудника).
|
|
7
|
-
* @param props Свойства. Поддерживаются свойства Avatar.
|
|
8
|
-
* @return Элемент.
|
|
9
|
-
*/
|
|
10
|
-
export declare function UserAvatar(props: UserAvatarProps): JSX.Element;
|