@sima-land/ui-nucleons 45.0.0-alpha.26 → 45.0.0-alpha.28
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/accordion/accordion-provider.d.ts +17 -0
- package/accordion/accordion-provider.js +45 -0
- package/accordion/accordion-provider.js.map +1 -0
- package/accordion/accordion.d.ts +27 -0
- package/accordion/accordion.js +57 -0
- package/accordion/accordion.js.map +1 -0
- package/accordion/accordion.m.scss +86 -0
- package/accordion/index.d.ts +3 -0
- package/accordion/index.js +8 -0
- package/accordion/index.js.map +1 -0
- package/breakpoints.scss +8 -6
- package/hint/utils.js +4 -1
- package/hint/utils.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface ContextProps {
|
|
3
|
+
register: (groupId: string, setExpand: (expand: boolean) => void) => symbol;
|
|
4
|
+
unregister: (groupId: string, id: symbol) => void;
|
|
5
|
+
closeGroup: (groupId: string) => void;
|
|
6
|
+
}
|
|
7
|
+
interface Props {
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare const AccordionContext: import("react").Context<ContextProps>;
|
|
11
|
+
/**
|
|
12
|
+
* Провайдер обрабатывающий логику открытия аккордеонов внутри групп.
|
|
13
|
+
* @param props Пропсы.
|
|
14
|
+
* @return Элемент.
|
|
15
|
+
*/
|
|
16
|
+
export declare const AccordionProvider: ({ children }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccordionProvider = exports.AccordionContext = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.AccordionContext = (0, react_1.createContext)({
|
|
7
|
+
register: () => Symbol(),
|
|
8
|
+
unregister: () => { },
|
|
9
|
+
closeGroup: () => { },
|
|
10
|
+
});
|
|
11
|
+
/**
|
|
12
|
+
* Провайдер обрабатывающий логику открытия аккордеонов внутри групп.
|
|
13
|
+
* @param props Пропсы.
|
|
14
|
+
* @return Элемент.
|
|
15
|
+
*/
|
|
16
|
+
const AccordionProvider = ({ children }) => {
|
|
17
|
+
const [items, setItems] = (0, react_1.useState)({});
|
|
18
|
+
const register = (0, react_1.useCallback)((groupId, setExpand) => {
|
|
19
|
+
const item = {
|
|
20
|
+
setExpand,
|
|
21
|
+
id: Symbol(groupId),
|
|
22
|
+
};
|
|
23
|
+
setItems(registeredItems => ({
|
|
24
|
+
...registeredItems,
|
|
25
|
+
[groupId]: (registeredItems[groupId] || []).concat(item),
|
|
26
|
+
}));
|
|
27
|
+
return item.id;
|
|
28
|
+
}, []);
|
|
29
|
+
const unregister = (0, react_1.useCallback)((groupId, id) => {
|
|
30
|
+
setItems(registeredItems => {
|
|
31
|
+
registeredItems[groupId] = registeredItems[groupId].filter(item => item.id !== id);
|
|
32
|
+
if (registeredItems[groupId].length < 1)
|
|
33
|
+
delete registeredItems[groupId];
|
|
34
|
+
return registeredItems;
|
|
35
|
+
});
|
|
36
|
+
}, []);
|
|
37
|
+
const closeGroup = (0, react_1.useCallback)((groupId) => items[groupId]?.forEach(({ setExpand }) => setExpand(false)), [items]);
|
|
38
|
+
return ((0, jsx_runtime_1.jsx)(exports.AccordionContext.Provider, { value: {
|
|
39
|
+
register,
|
|
40
|
+
unregister,
|
|
41
|
+
closeGroup,
|
|
42
|
+
}, children: children }));
|
|
43
|
+
};
|
|
44
|
+
exports.AccordionProvider = AccordionProvider;
|
|
45
|
+
//# sourceMappingURL=accordion-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-provider.js","sourceRoot":"","sources":["../../src/accordion/accordion-provider.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwE;AAiB3D,QAAA,gBAAgB,GAAG,IAAA,qBAAa,EAAe;IAC1D,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;IACpB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;CACrB,CAAC,CAAC;AAEH;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAA0B,EAAE,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,EAAE,SAAoC,EAAE,EAAE;QACrF,MAAM,IAAI,GAAG;YACX,SAAS;YACT,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;SACpB,CAAC;QACF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC3B,GAAG,eAAe;YAClB,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;SACzD,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,CAAC,OAAe,EAAE,EAAU,EAAE,EAAE;QAC7D,QAAQ,CAAC,eAAe,CAAC,EAAE;YACzB,eAAe,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;YACzE,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACjF,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,CACL,uBAAC,wBAAgB,CAAC,QAAQ,IACxB,KAAK,EAAE;YACL,QAAQ;YACR,UAAU;YACV,UAAU;SACX,YAEA,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface Props {
|
|
3
|
+
/** Заголовок блока аккордеона. */
|
|
4
|
+
summary: string;
|
|
5
|
+
/** Тема оформления. */
|
|
6
|
+
theme?: 'light' | 'dark';
|
|
7
|
+
/** Описание. */
|
|
8
|
+
description?: string;
|
|
9
|
+
/** Название группы аккордеона. */
|
|
10
|
+
name?: string;
|
|
11
|
+
/** Первоначальное значение состояния открытия. */
|
|
12
|
+
open?: boolean;
|
|
13
|
+
/** Контент аккордеона при открытии. */
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
/** Внешний стиль компонента. */
|
|
16
|
+
className?: string;
|
|
17
|
+
/** Уровень заголовков. */
|
|
18
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
19
|
+
/** Обработчик переключения состояния аккордеона. */
|
|
20
|
+
onToggle?: (open: boolean) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Аккордеон.
|
|
24
|
+
* @param props Пропсы компонента.
|
|
25
|
+
* @return Элемент.
|
|
26
|
+
*/
|
|
27
|
+
export declare const Accordion: ({ theme, open, name, summary, description, onToggle, className, children, level, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,57 @@
|
|
|
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.Accordion = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const accordion_m_scss_1 = __importDefault(require("./accordion.m.scss"));
|
|
10
|
+
const ArrowExpandDown_1 = __importDefault(require("@sima-land/ui-quarks/icons/16x16/Stroked/ArrowExpandDown"));
|
|
11
|
+
const bind_1 = __importDefault(require("classnames/bind"));
|
|
12
|
+
const accordion_provider_1 = require("./accordion-provider");
|
|
13
|
+
const context_1 = require("../context");
|
|
14
|
+
const cx = bind_1.default.bind(accordion_m_scss_1.default);
|
|
15
|
+
/**
|
|
16
|
+
* Аккордеон.
|
|
17
|
+
* @param props Пропсы компонента.
|
|
18
|
+
* @return Элемент.
|
|
19
|
+
*/
|
|
20
|
+
const Accordion = ({ theme = 'light', open = false, name, summary, description, onToggle, className, children, level = 4, }) => {
|
|
21
|
+
const container = (0, react_1.useRef)(null);
|
|
22
|
+
const { createResizeObserver } = (0, react_1.useContext)(context_1.ResizeObserverContext);
|
|
23
|
+
const { register, unregister, closeGroup } = (0, react_1.useContext)(accordion_provider_1.AccordionContext);
|
|
24
|
+
const [expanded, setExpand] = (0, react_1.useState)(open);
|
|
25
|
+
const [contentHeight, setContentHeight] = (0, react_1.useState)(0);
|
|
26
|
+
(0, react_1.useEffect)(() => {
|
|
27
|
+
if (name) {
|
|
28
|
+
const id = register(name, setExpand);
|
|
29
|
+
return () => unregister(name, id);
|
|
30
|
+
}
|
|
31
|
+
}, []);
|
|
32
|
+
(0, react_1.useEffect)(() => {
|
|
33
|
+
open && name && closeGroup(name);
|
|
34
|
+
setExpand(open);
|
|
35
|
+
}, [open]);
|
|
36
|
+
(0, react_1.useEffect)(() => {
|
|
37
|
+
const observer = createResizeObserver(() => setContentHeight(container.current?.scrollHeight || 0));
|
|
38
|
+
container.current && observer.observe(container.current);
|
|
39
|
+
return () => observer.disconnect();
|
|
40
|
+
}, [container.current, createResizeObserver]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: cx('root', {
|
|
42
|
+
expanded,
|
|
43
|
+
'theme-dark': theme === 'dark',
|
|
44
|
+
'theme-light': theme === 'light',
|
|
45
|
+
}, className), children: [(0, jsx_runtime_1.jsxs)("button", { type: 'button', "aria-expanded": expanded, "aria-controls": `section-${name}`, onClick: () => {
|
|
46
|
+
/**
|
|
47
|
+
* Порядовок вызовов и используемых данных важен, так как сначала всё закрываем, а потом открываем конкретный.
|
|
48
|
+
*/
|
|
49
|
+
name && closeGroup(name);
|
|
50
|
+
setExpand(!expanded);
|
|
51
|
+
onToggle?.(!expanded);
|
|
52
|
+
}, tabIndex: 0, className: accordion_m_scss_1.default.header, children: [(0, jsx_runtime_1.jsx)("span", { role: 'heading', "aria-level": level, className: accordion_m_scss_1.default.title, children: summary }), (0, jsx_runtime_1.jsx)(ArrowExpandDown_1.default, { className: accordion_m_scss_1.default.arrow })] }), (0, jsx_runtime_1.jsxs)("div", { className: accordion_m_scss_1.default.content, role: 'region', ref: container, style: {
|
|
53
|
+
maxHeight: expanded ? contentHeight : 0,
|
|
54
|
+
}, children: [children, description && (0, jsx_runtime_1.jsx)("span", { className: accordion_m_scss_1.default.description, children: description })] })] }));
|
|
55
|
+
};
|
|
56
|
+
exports.Accordion = Accordion;
|
|
57
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../src/accordion/accordion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
@use '../colors.scss';
|
|
2
|
+
|
|
3
|
+
.root {
|
|
4
|
+
width: 100%;
|
|
5
|
+
border-radius: 8px;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
&.theme-light {
|
|
9
|
+
background-color: colors.$basic-gray4;
|
|
10
|
+
--text-color: #{colors.$basic-gray87};
|
|
11
|
+
--hover-header-color: #{colors.$basic-gray54};
|
|
12
|
+
--arrow-color: #{colors.$basic-gray87};
|
|
13
|
+
--border-focus-visible-color: #{colors.$basic-gray24};
|
|
14
|
+
}
|
|
15
|
+
&.theme-dark {
|
|
16
|
+
--text-color: #{colors.$basic-white};
|
|
17
|
+
--hover-header-color: #{colors.$basic-gray8};
|
|
18
|
+
--arrow-color: #{colors.$basic-gray8};
|
|
19
|
+
--border-focus-visible-color: #{colors.$basic-gray54};
|
|
20
|
+
background-color: colors.$basic-gray76;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.expanded {
|
|
25
|
+
.arrow {
|
|
26
|
+
transform: rotate(180deg);
|
|
27
|
+
}
|
|
28
|
+
.content {
|
|
29
|
+
padding: 0 16px;
|
|
30
|
+
margin-bottom: 16px;
|
|
31
|
+
}
|
|
32
|
+
.header:focus-visible {
|
|
33
|
+
border-radius: 8px 8px 0 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.title {
|
|
38
|
+
margin: 0;
|
|
39
|
+
color: var(--text-color);
|
|
40
|
+
font-size: 16px;
|
|
41
|
+
line-height: 24px;
|
|
42
|
+
font-weight: 600;
|
|
43
|
+
text-align: left;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.arrow {
|
|
47
|
+
fill: var(--arrow-color);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.header {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: row;
|
|
53
|
+
padding: 16px;
|
|
54
|
+
justify-content: space-between;
|
|
55
|
+
align-items: center;
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
text-decoration: none;
|
|
58
|
+
border: none;
|
|
59
|
+
background: none;
|
|
60
|
+
width: 100%;
|
|
61
|
+
&:focus-visible {
|
|
62
|
+
outline: 1px solid var(--border-focus-visible-color);
|
|
63
|
+
border-radius: 8px;
|
|
64
|
+
}
|
|
65
|
+
&:hover {
|
|
66
|
+
.title {
|
|
67
|
+
color: var(--hover-header-color);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.content {
|
|
73
|
+
padding: 0 16px;
|
|
74
|
+
overflow: hidden;
|
|
75
|
+
transition: max-height 200ms ease;
|
|
76
|
+
color: var(--text-color);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.description {
|
|
80
|
+
margin-top: 12px;
|
|
81
|
+
font-size: 12px;
|
|
82
|
+
line-height: 16px;
|
|
83
|
+
font-weight: 400;
|
|
84
|
+
display: inline-block;
|
|
85
|
+
color: colors.$basic-gray38;
|
|
86
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccordionProvider = exports.Accordion = void 0;
|
|
4
|
+
var accordion_1 = require("./accordion");
|
|
5
|
+
Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return accordion_1.Accordion; } });
|
|
6
|
+
var accordion_provider_1 = require("./accordion-provider");
|
|
7
|
+
Object.defineProperty(exports, "AccordionProvider", { enumerable: true, get: function () { return accordion_provider_1.AccordionProvider; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/accordion/index.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA"}
|
package/breakpoints.scss
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
1
3
|
/* stylelint-disable length-zero-no-unit */
|
|
2
4
|
$map: (
|
|
3
5
|
// ВАЖНО: тут именно 0px а не 0 - в Safari нельзя использовать @media (min-width: 0)
|
|
@@ -20,22 +22,22 @@ $map: (
|
|
|
20
22
|
*/
|
|
21
23
|
|
|
22
24
|
@mixin greaterThanOrEqual($breakpoint) {
|
|
23
|
-
@if map
|
|
24
|
-
@media (min-width: map
|
|
25
|
+
@if map.has-key($map, $breakpoint) {
|
|
26
|
+
@media (min-width: map.get($map, $breakpoint)) {
|
|
25
27
|
@content;
|
|
26
28
|
}
|
|
27
29
|
} @else {
|
|
28
|
-
@warn 'No such breakpoint `#{$breakpoint}`. Available values: #{map
|
|
30
|
+
@warn 'No such breakpoint `#{$breakpoint}`. Available values: #{map.keys($map)}.';
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
@mixin lessThan($breakpoint) {
|
|
33
|
-
@if map
|
|
34
|
-
@media (max-width: (map
|
|
35
|
+
@if map.has-key($map, $breakpoint) {
|
|
36
|
+
@media (max-width: (map.get($map, $breakpoint) - 1px)) {
|
|
35
37
|
@content;
|
|
36
38
|
}
|
|
37
39
|
} @else {
|
|
38
|
-
@warn 'No such breakpoint `#{$breakpoint}`. Available values: #{map
|
|
40
|
+
@warn 'No such breakpoint `#{$breakpoint}`. Available values: #{map.keys($map)}.';
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
|
package/hint/utils.js
CHANGED
|
@@ -36,7 +36,10 @@ function hintFloatingConfig({ arrowRef, } = {}) {
|
|
|
36
36
|
padding: 4,
|
|
37
37
|
}),
|
|
38
38
|
],
|
|
39
|
-
whileElementsMounted: react_2.autoUpdate,
|
|
39
|
+
whileElementsMounted: (...args) => (0, react_2.autoUpdate)(...args, {
|
|
40
|
+
ancestorScroll: false,
|
|
41
|
+
layoutShift: false,
|
|
42
|
+
}),
|
|
40
43
|
};
|
|
41
44
|
}
|
|
42
45
|
/**
|
package/hint/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/hint/utils.ts"],"names":[],"mappings":";;AA+CA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/hint/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sima-land/ui-nucleons",
|
|
3
3
|
"type": "commonjs",
|
|
4
|
-
"version": "45.0.0-alpha.
|
|
4
|
+
"version": "45.0.0-alpha.28",
|
|
5
5
|
"repository": "ssh://git@github.com:sima-land/ui-nucleons.git",
|
|
6
6
|
"author": "www.sima-land.ru team",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"./arrow-button": "./arrow-button/index.js",
|
|
88
88
|
"./autocomplete": "./autocomplete/index.js",
|
|
89
89
|
"./avatar": "./avatar/index.js",
|
|
90
|
+
"./accordion": "./accordion/index.js",
|
|
90
91
|
"./base-input": "./base-input/index.js",
|
|
91
92
|
"./bottom-bar": "./bottom-bar/index.js",
|
|
92
93
|
"./bottom-bar/bottom-bar-util.scss": "./bottom-bar/bottom-bar-util.scss",
|