@alfalab/core-components-side-panel 6.0.1 → 6.0.3
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/Component.responsive.d.ts +2 -2
- package/Component.responsive.js.map +1 -1
- package/Context.js.map +1 -1
- package/ResponsiveContext.d.ts +1 -1
- package/ResponsiveContext.js.map +1 -1
- package/components/content/Component.d.ts +1 -1
- package/components/content/Component.desktop.d.ts +2 -2
- package/components/content/Component.desktop.js.map +1 -1
- package/components/content/Component.js.map +1 -1
- package/components/content/Component.mobile.d.ts +2 -2
- package/components/content/Component.mobile.js.map +1 -1
- package/components/content/desktop.css +3 -3
- package/components/content/desktop.module.css.js +1 -1
- package/components/content/index.css +4 -4
- package/components/content/index.module.css.js +1 -1
- package/components/content/mobile.css +3 -3
- package/components/content/mobile.module.css.js +1 -1
- package/components/controls/Component.d.ts +1 -1
- package/components/controls/Component.js.map +1 -1
- package/components/controls/index.css +1 -1
- package/components/controls/index.module.css.js +1 -1
- package/components/footer/Component.d.ts +1 -1
- package/components/footer/Component.desktop.d.ts +2 -2
- package/components/footer/Component.desktop.js.map +1 -1
- package/components/footer/Component.js +3 -0
- package/components/footer/Component.js.map +1 -1
- package/components/footer/Component.mobile.d.ts +2 -2
- package/components/footer/Component.mobile.js.map +1 -1
- package/components/footer/desktop.css +2 -2
- package/components/footer/desktop.module.css.js +1 -1
- package/components/footer/index.css +6 -4
- package/components/footer/index.module.css.js +1 -1
- package/components/footer/index.module.css.js.map +1 -1
- package/components/footer/layout.css +19 -19
- package/components/footer/layout.module.css.js +1 -1
- package/components/footer/mobile.css +5 -5
- package/components/footer/mobile.module.css.js +1 -1
- package/components/header/Component.d.ts +2 -2
- package/components/header/Component.js.map +1 -1
- package/components/header/desktop.css +6 -6
- package/components/header/desktop.module.css.js +1 -1
- package/components/header/index.css +18 -16
- package/components/header/index.module.css.js +1 -1
- package/components/header/index.module.css.js.map +1 -1
- package/components/header/mobile.css +8 -8
- package/components/header/mobile.module.css.js +1 -1
- package/cssm/Component.responsive.d.ts +2 -2
- package/cssm/Component.responsive.js.map +1 -1
- package/cssm/Context.js.map +1 -1
- package/cssm/ResponsiveContext.d.ts +1 -1
- package/cssm/ResponsiveContext.js.map +1 -1
- package/cssm/components/content/Component.d.ts +1 -1
- package/cssm/components/content/Component.desktop.d.ts +2 -2
- package/cssm/components/content/Component.desktop.js.map +1 -1
- package/cssm/components/content/Component.js.map +1 -1
- package/cssm/components/content/Component.mobile.d.ts +2 -2
- package/cssm/components/content/Component.mobile.js.map +1 -1
- package/cssm/components/content/desktop.module.css +1 -1
- package/cssm/components/content/index.module.css +1 -1
- package/cssm/components/content/mobile.module.css +1 -1
- package/cssm/components/controls/Component.d.ts +1 -1
- package/cssm/components/controls/Component.js.map +1 -1
- package/cssm/components/footer/Component.d.ts +1 -1
- package/cssm/components/footer/Component.desktop.d.ts +2 -2
- package/cssm/components/footer/Component.desktop.js.map +1 -1
- package/cssm/components/footer/Component.js +3 -0
- package/cssm/components/footer/Component.js.map +1 -1
- package/cssm/components/footer/Component.mobile.d.ts +2 -2
- package/cssm/components/footer/Component.mobile.js.map +1 -1
- package/cssm/components/footer/index.module.css +3 -1
- package/cssm/components/footer/layout.module.css +3 -3
- package/cssm/components/footer/mobile.module.css +2 -2
- package/cssm/components/header/Component.d.ts +2 -2
- package/cssm/components/header/Component.js.map +1 -1
- package/cssm/components/header/desktop.module.css +2 -2
- package/cssm/components/header/index.module.css +5 -3
- package/cssm/components/header/mobile.module.css +4 -4
- package/cssm/desktop/Component.desktop.d.ts +4 -4
- package/cssm/desktop/Component.desktop.js.map +1 -1
- package/cssm/desktop/transitions.desktop.module.css +9 -3
- package/cssm/mobile/Component.mobile.d.ts +2 -2
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/cssm/mobile/mobile.module.css +1 -1
- package/cssm/mobile/transitions.mobile.module.css +6 -2
- package/desktop/Component.desktop.d.ts +4 -4
- package/desktop/Component.desktop.js.map +1 -1
- package/desktop/desktop.css +2 -2
- package/desktop/desktop.module.css.js +1 -1
- package/desktop/transitions.desktop.css +15 -9
- package/desktop/transitions.desktop.module.css.js +1 -1
- package/desktop/transitions.desktop.module.css.js.map +1 -1
- package/esm/Component.responsive.d.ts +2 -2
- package/esm/Component.responsive.js.map +1 -1
- package/esm/Context.js.map +1 -1
- package/esm/ResponsiveContext.d.ts +1 -1
- package/esm/ResponsiveContext.js.map +1 -1
- package/esm/components/content/Component.d.ts +1 -1
- package/esm/components/content/Component.desktop.d.ts +2 -2
- package/esm/components/content/Component.desktop.js.map +1 -1
- package/esm/components/content/Component.js.map +1 -1
- package/esm/components/content/Component.mobile.d.ts +2 -2
- package/esm/components/content/Component.mobile.js.map +1 -1
- package/esm/components/content/desktop.css +3 -3
- package/esm/components/content/desktop.module.css.js +1 -1
- package/esm/components/content/index.css +4 -4
- package/esm/components/content/index.module.css.js +1 -1
- package/esm/components/content/mobile.css +3 -3
- package/esm/components/content/mobile.module.css.js +1 -1
- package/esm/components/controls/Component.d.ts +1 -1
- package/esm/components/controls/Component.js.map +1 -1
- package/esm/components/controls/index.css +1 -1
- package/esm/components/controls/index.module.css.js +1 -1
- package/esm/components/footer/Component.d.ts +1 -1
- package/esm/components/footer/Component.desktop.d.ts +2 -2
- package/esm/components/footer/Component.desktop.js.map +1 -1
- package/esm/components/footer/Component.js +3 -0
- package/esm/components/footer/Component.js.map +1 -1
- package/esm/components/footer/Component.mobile.d.ts +2 -2
- package/esm/components/footer/Component.mobile.js.map +1 -1
- package/esm/components/footer/desktop.css +2 -2
- package/esm/components/footer/desktop.module.css.js +1 -1
- package/esm/components/footer/index.css +6 -4
- package/esm/components/footer/index.module.css.js +1 -1
- package/esm/components/footer/index.module.css.js.map +1 -1
- package/esm/components/footer/layout.css +19 -19
- package/esm/components/footer/layout.module.css.js +1 -1
- package/esm/components/footer/mobile.css +5 -5
- package/esm/components/footer/mobile.module.css.js +1 -1
- package/esm/components/header/Component.d.ts +2 -2
- package/esm/components/header/Component.js.map +1 -1
- package/esm/components/header/desktop.css +6 -6
- package/esm/components/header/desktop.module.css.js +1 -1
- package/esm/components/header/index.css +18 -16
- package/esm/components/header/index.module.css.js +1 -1
- package/esm/components/header/index.module.css.js.map +1 -1
- package/esm/components/header/mobile.css +8 -8
- package/esm/components/header/mobile.module.css.js +1 -1
- package/esm/desktop/Component.desktop.d.ts +4 -4
- package/esm/desktop/Component.desktop.js.map +1 -1
- package/esm/desktop/desktop.css +2 -2
- package/esm/desktop/desktop.module.css.js +1 -1
- package/esm/desktop/transitions.desktop.css +15 -9
- package/esm/desktop/transitions.desktop.module.css.js +1 -1
- package/esm/desktop/transitions.desktop.module.css.js.map +1 -1
- package/esm/mobile/Component.mobile.d.ts +2 -2
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/mobile/mobile.css +5 -5
- package/esm/mobile/mobile.module.css.js +1 -1
- package/esm/mobile/transitions.mobile.css +13 -9
- package/esm/mobile/transitions.mobile.module.css.js +1 -1
- package/esm/mobile/transitions.mobile.module.css.js.map +1 -1
- package/mobile/Component.mobile.d.ts +2 -2
- package/mobile/Component.mobile.js.map +1 -1
- package/mobile/mobile.css +5 -5
- package/mobile/mobile.module.css.js +1 -1
- package/mobile/transitions.mobile.css +13 -9
- package/mobile/transitions.mobile.module.css.js +1 -1
- package/mobile/transitions.mobile.module.css.js.map +1 -1
- package/modern/Component.responsive.d.ts +2 -2
- package/modern/Component.responsive.js.map +1 -1
- package/modern/Context.js.map +1 -1
- package/modern/ResponsiveContext.d.ts +1 -1
- package/modern/ResponsiveContext.js.map +1 -1
- package/modern/components/content/Component.d.ts +1 -1
- package/modern/components/content/Component.desktop.d.ts +2 -2
- package/modern/components/content/Component.desktop.js.map +1 -1
- package/modern/components/content/Component.js.map +1 -1
- package/modern/components/content/Component.mobile.d.ts +2 -2
- package/modern/components/content/Component.mobile.js.map +1 -1
- package/modern/components/content/desktop.css +3 -3
- package/modern/components/content/desktop.module.css.js +1 -1
- package/modern/components/content/index.css +4 -4
- package/modern/components/content/index.module.css.js +1 -1
- package/modern/components/content/mobile.css +3 -3
- package/modern/components/content/mobile.module.css.js +1 -1
- package/modern/components/controls/Component.d.ts +1 -1
- package/modern/components/controls/Component.js.map +1 -1
- package/modern/components/controls/index.css +1 -1
- package/modern/components/controls/index.module.css.js +1 -1
- package/modern/components/footer/Component.d.ts +1 -1
- package/modern/components/footer/Component.desktop.d.ts +2 -2
- package/modern/components/footer/Component.desktop.js.map +1 -1
- package/modern/components/footer/Component.js +3 -0
- package/modern/components/footer/Component.js.map +1 -1
- package/modern/components/footer/Component.mobile.d.ts +2 -2
- package/modern/components/footer/Component.mobile.js.map +1 -1
- package/modern/components/footer/desktop.css +2 -2
- package/modern/components/footer/desktop.module.css.js +1 -1
- package/modern/components/footer/index.css +6 -4
- package/modern/components/footer/index.module.css.js +1 -1
- package/modern/components/footer/index.module.css.js.map +1 -1
- package/modern/components/footer/layout.css +19 -19
- package/modern/components/footer/layout.module.css.js +1 -1
- package/modern/components/footer/mobile.css +5 -5
- package/modern/components/footer/mobile.module.css.js +1 -1
- package/modern/components/header/Component.d.ts +2 -2
- package/modern/components/header/Component.js.map +1 -1
- package/modern/components/header/desktop.css +6 -6
- package/modern/components/header/desktop.module.css.js +1 -1
- package/modern/components/header/index.css +18 -16
- package/modern/components/header/index.module.css.js +1 -1
- package/modern/components/header/index.module.css.js.map +1 -1
- package/modern/components/header/mobile.css +8 -8
- package/modern/components/header/mobile.module.css.js +1 -1
- package/modern/desktop/Component.desktop.d.ts +4 -4
- package/modern/desktop/Component.desktop.js.map +1 -1
- package/modern/desktop/desktop.css +2 -2
- package/modern/desktop/desktop.module.css.js +1 -1
- package/modern/desktop/transitions.desktop.css +15 -9
- package/modern/desktop/transitions.desktop.module.css.js +1 -1
- package/modern/desktop/transitions.desktop.module.css.js.map +1 -1
- package/modern/mobile/Component.mobile.d.ts +2 -2
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/mobile/mobile.css +5 -5
- package/modern/mobile/mobile.module.css.js +1 -1
- package/modern/mobile/transitions.mobile.css +13 -9
- package/modern/mobile/transitions.mobile.module.css.js +1 -1
- package/modern/mobile/transitions.mobile.module.css.js.map +1 -1
- package/moderncssm/Component.responsive.d.ts +2 -2
- package/moderncssm/Component.responsive.js.map +1 -1
- package/moderncssm/Context.js.map +1 -1
- package/moderncssm/ResponsiveContext.d.ts +1 -1
- package/moderncssm/ResponsiveContext.js.map +1 -1
- package/moderncssm/components/content/Component.d.ts +1 -1
- package/moderncssm/components/content/Component.desktop.d.ts +2 -2
- package/moderncssm/components/content/Component.desktop.js.map +1 -1
- package/moderncssm/components/content/Component.js.map +1 -1
- package/moderncssm/components/content/Component.mobile.d.ts +2 -2
- package/moderncssm/components/content/Component.mobile.js.map +1 -1
- package/moderncssm/components/content/desktop.module.css +3 -1
- package/moderncssm/components/content/index.module.css +3 -1
- package/moderncssm/components/content/mobile.module.css +3 -1
- package/moderncssm/components/controls/Component.d.ts +1 -1
- package/moderncssm/components/controls/Component.js.map +1 -1
- package/moderncssm/components/footer/Component.d.ts +1 -1
- package/moderncssm/components/footer/Component.desktop.d.ts +2 -2
- package/moderncssm/components/footer/Component.desktop.js.map +1 -1
- package/moderncssm/components/footer/Component.js +3 -0
- package/moderncssm/components/footer/Component.js.map +1 -1
- package/moderncssm/components/footer/Component.mobile.d.ts +2 -2
- package/moderncssm/components/footer/Component.mobile.js.map +1 -1
- package/moderncssm/components/footer/desktop.module.css +2 -0
- package/moderncssm/components/footer/index.module.css +5 -1
- package/moderncssm/components/footer/layout.module.css +5 -3
- package/moderncssm/components/footer/mobile.module.css +2 -2
- package/moderncssm/components/header/Component.d.ts +2 -2
- package/moderncssm/components/header/Component.js.map +1 -1
- package/moderncssm/components/header/desktop.module.css +2 -0
- package/moderncssm/components/header/index.module.css +7 -3
- package/moderncssm/components/header/mobile.module.css +2 -2
- package/moderncssm/desktop/Component.desktop.d.ts +4 -4
- package/moderncssm/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/desktop/desktop.module.css +2 -0
- package/moderncssm/desktop/transitions.desktop.module.css +9 -3
- package/moderncssm/mobile/Component.mobile.d.ts +2 -2
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/mobile/mobile.module.css +1 -1
- package/moderncssm/mobile/transitions.mobile.module.css +6 -2
- package/package.json +4 -4
- package/src/Component.responsive.tsx +4 -4
- package/src/ResponsiveContext.ts +1 -1
- package/src/components/content/Component.desktop.tsx +2 -2
- package/src/components/content/Component.mobile.tsx +2 -2
- package/src/components/content/Component.tsx +1 -1
- package/src/components/controls/Component.tsx +1 -1
- package/src/components/footer/Component.desktop.tsx +2 -2
- package/src/components/footer/Component.mobile.tsx +2 -2
- package/src/components/footer/Component.tsx +5 -1
- package/src/components/footer/index.module.css +3 -1
- package/src/components/header/Component.tsx +2 -2
- package/src/components/header/index.module.css +3 -1
- package/src/desktop/Component.desktop.tsx +5 -5
- package/src/desktop/transitions.desktop.module.css +6 -2
- package/src/mobile/Component.mobile.tsx +3 -3
- package/src/mobile/transitions.mobile.module.css +6 -2
- package/src/vars.css +1 -1
- /package/src/{Context.tsx → Context.ts} +0 -0
|
@@ -5,42 +5,44 @@
|
|
|
5
5
|
--side-panel-header-background: var(--color-light-modal-bg-primary);
|
|
6
6
|
--side-panel-header-highlight-background: var(--color-light-modal-bg-primary);
|
|
7
7
|
--side-panel-header-highlight-box-shadow: 0 1px 0 0 var(--color-light-neutral-300);
|
|
8
|
-
} .side-
|
|
8
|
+
} .side-panel__header_3q6tw {
|
|
9
9
|
width: 100%;
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
transition:
|
|
12
|
-
|
|
11
|
+
transition:
|
|
12
|
+
box-shadow 0.2s ease,
|
|
13
|
+
background 0.2s ease;
|
|
14
|
+
} .side-panel__header_3q6tw:not(.side-panel__hasContent_3q6tw) {
|
|
13
15
|
pointer-events: none;
|
|
14
|
-
} .side-
|
|
16
|
+
} .side-panel__highlighted_3q6tw {
|
|
15
17
|
background: var(--side-panel-header-highlight-background);
|
|
16
18
|
box-shadow: var(--side-panel-header-highlight-box-shadow);
|
|
17
|
-
} .side-
|
|
19
|
+
} .side-panel__sticky_3q6tw {
|
|
18
20
|
position: sticky;
|
|
19
|
-
z-index: 1
|
|
20
|
-
} .side-
|
|
21
|
+
z-index: 1;
|
|
22
|
+
} .side-panel__sticky_3q6tw.side-panel__hasContent_3q6tw {
|
|
21
23
|
background: var(--side-panel-header-background);
|
|
22
|
-
} .side-
|
|
24
|
+
} .side-panel__header_3q6tw.side-panel__backgroundImage_3q6tw {
|
|
23
25
|
background: center no-repeat;
|
|
24
26
|
background-size: cover;
|
|
25
|
-
} .side-
|
|
27
|
+
} .side-panel__content_3q6tw {
|
|
26
28
|
flex-grow: 1;
|
|
27
|
-
} .side-
|
|
29
|
+
} .side-panel__title_3q6tw {
|
|
28
30
|
word-break: break-word;
|
|
29
|
-
} .side-
|
|
31
|
+
} .side-panel__addon_3q6tw {
|
|
30
32
|
min-width: 48px;
|
|
31
33
|
height: 48px;
|
|
32
34
|
display: flex;
|
|
33
35
|
justify-content: center;
|
|
34
36
|
align-items: center;
|
|
35
37
|
pointer-events: all;
|
|
36
|
-
} .side-
|
|
38
|
+
} .side-panel__closer_3q6tw {
|
|
37
39
|
margin-left: auto;
|
|
38
|
-
} .side-
|
|
40
|
+
} .side-panel__right_3q6tw {
|
|
39
41
|
justify-content: flex-end;
|
|
40
42
|
text-align: right;
|
|
41
|
-
} .side-
|
|
42
|
-
overflow: hidden
|
|
43
|
-
} .side-
|
|
43
|
+
} .side-panel__trim_3q6tw {
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
} .side-panel__trim_3q6tw .side-panel__title_3q6tw {
|
|
44
46
|
overflow: hidden;
|
|
45
47
|
white-space: nowrap;
|
|
46
48
|
text-overflow: ellipsis;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"header":"side-
|
|
5
|
+
var styles = {"header":"side-panel__header_3q6tw","hasContent":"side-panel__hasContent_3q6tw","highlighted":"side-panel__highlighted_3q6tw","sticky":"side-panel__sticky_3q6tw"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.css.js","sources":["../../src/components/header/index.module.css"],"sourcesContent":["@import '../../vars.css';\n\n.header {\n width: 100%;\n box-sizing: border-box;\n transition
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../../src/components/header/index.module.css"],"sourcesContent":["@import '../../vars.css';\n\n.header {\n width: 100%;\n box-sizing: border-box;\n transition:\n box-shadow 0.2s ease,\n background 0.2s ease;\n\n &:not(.hasContent) {\n pointer-events: none;\n }\n}\n\n.highlighted {\n background: var(--side-panel-header-highlight-background);\n box-shadow: var(--side-panel-header-highlight-box-shadow);\n}\n\n.sticky {\n position: sticky;\n z-index: 1;\n\n &.hasContent {\n background: var(--side-panel-header-background);\n }\n}\n\n.header.backgroundImage {\n background: center no-repeat;\n background-size: cover;\n}\n\n.content {\n flex-grow: 1;\n}\n\n.title {\n word-break: break-word;\n}\n\n.addon {\n min-width: 48px;\n height: 48px;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: all;\n}\n\n.closer {\n margin-left: auto;\n}\n\n.right {\n justify-content: flex-end;\n text-align: right;\n}\n\n.trim {\n overflow: hidden;\n\n & .title {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,0BAA0B,CAAC,YAAY,CAAC,8BAA8B,CAAC,aAAa,CAAC,+BAA+B,CAAC,QAAQ,CAAC,0BAAgS,CAAC;;;;"}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
--gap-8: var(--gap-xs);
|
|
10
10
|
}
|
|
11
11
|
:root {
|
|
12
|
-
--font-family-system:
|
|
13
|
-
sans-serif;
|
|
12
|
+
--font-family-system:
|
|
13
|
+
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
|
|
14
14
|
}
|
|
15
15
|
:root {
|
|
16
16
|
--side-panel-header-mobile-content-paddings: 10px var(--gap-8);
|
|
@@ -22,18 +22,18 @@
|
|
|
22
22
|
--side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-8)
|
|
23
23
|
var(--gap-4) var(--gap-8);
|
|
24
24
|
}
|
|
25
|
-
.side-
|
|
26
|
-
padding: var(--side-panel-header-mobile-paddings)
|
|
25
|
+
.side-panel__header_16hvf {
|
|
26
|
+
padding: var(--side-panel-header-mobile-paddings);
|
|
27
27
|
}
|
|
28
28
|
@media (display-mode: standalone) {
|
|
29
|
-
.side-
|
|
30
|
-
padding-top: calc(var(--sat) + var(--side-panel-header-mobile-top-padding))
|
|
29
|
+
.side-panel__header_16hvf {
|
|
30
|
+
padding-top: calc(var(--sat) + var(--side-panel-header-mobile-top-padding));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
.side-
|
|
33
|
+
.side-panel__sticky_16hvf {
|
|
34
34
|
top: var(--gap-0);
|
|
35
35
|
}
|
|
36
|
-
.side-
|
|
36
|
+
.side-panel__content_16hvf {
|
|
37
37
|
font-size: var(--side-panel-header-mobile-font-size);
|
|
38
38
|
line-height: var(--side-panel-header-mobile-line-height);
|
|
39
39
|
font-family: var(--side-panel-header-mobile-font-family);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./mobile.css');
|
|
4
4
|
|
|
5
|
-
var mobileStyles = {"header":"side-
|
|
5
|
+
var mobileStyles = {"header":"side-panel__header_16hvf","sticky":"side-panel__sticky_16hvf","content":"side-panel__content_16hvf"};
|
|
6
6
|
|
|
7
7
|
module.exports = mobileStyles;
|
|
8
8
|
//# sourceMappingURL=mobile.module.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { BaseModalProps } from '@alfalab/core-components-base-modal/cssm';
|
|
3
|
-
import { DrawerProps } from '@alfalab/core-components-drawer/cssm';
|
|
2
|
+
import { type BaseModalProps } from '@alfalab/core-components-base-modal/cssm';
|
|
3
|
+
import { type DrawerProps } from '@alfalab/core-components-drawer/cssm';
|
|
4
4
|
import { Controls } from './components/controls';
|
|
5
5
|
import { Header } from './components/header/Component';
|
|
6
6
|
export declare type SidePanelResponsiveProps = BaseModalProps & Pick<DrawerProps, 'contentTransitionProps' | 'placement' | 'nativeScrollbar'> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { FC, forwardRef, useContext, useMemo } from 'react';\n\nimport { BaseModalProps } from '@alfalab/core-components-base-modal';\nimport { DrawerProps } from '@alfalab/core-components-drawer';\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { Controls } from './components/controls';\nimport { Header } from './components/header/Component';\nimport { SidePanelDesktop } from './desktop';\nimport { SidePanelMobile } from './mobile';\nimport { ResponsiveContext } from './ResponsiveContext';\nimport { TResponsiveModalContext } from './typings';\n\nexport type SidePanelResponsiveProps = BaseModalProps &\n Pick<DrawerProps, 'contentTransitionProps' | 'placement' | 'nativeScrollbar'> & {\n /**\n * Ширина модального окна\n * @default \"s\"\n */\n size?: 's' | 500;\n\n /**\n * Управление наличием закрывающего крестика\n * @default false\n */\n hasCloser?: boolean;\n\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n\n /**\n * Значение по-умолчанию для хука useMatchMedia\n * @deprecated Используйте client\n */\n defaultMatchMediaValue?: boolean | (() => boolean);\n };\n\nfunction createResponsive<DesktopType extends FC, MobileType extends FC>(\n desktop: DesktopType,\n mobile: MobileType,\n) {\n // eslint-disable-next-line\n function ResponsiveChild(props: any) {\n const { view = 'desktop' } = useContext(ResponsiveContext) || {};\n\n const Child = view === 'desktop' ? desktop : mobile;\n\n return <Child {...props} />;\n }\n\n return ResponsiveChild as DesktopType | MobileType;\n}\n\nconst SidePanelResponsiveComponent = forwardRef<HTMLDivElement, SidePanelResponsiveProps>(\n (\n {\n children,\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n size = 500,\n dataTestId,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n const view = isDesktop ? 'desktop' : 'mobile';\n\n const contextValue = useMemo<TResponsiveModalContext>(\n () => ({ view, size, dataTestId }),\n [view, size, dataTestId],\n );\n\n const Component = isDesktop ? SidePanelDesktop : SidePanelMobile;\n\n return (\n <ResponsiveContext.Provider value={contextValue}>\n <Component ref={ref} size={size} dataTestId={dataTestId} {...restProps}>\n {children}\n </Component>\n </ResponsiveContext.Provider>\n );\n },\n);\n\nconst ContentResponsive = createResponsive(SidePanelDesktop.Content, SidePanelMobile.Content);\nconst FooterResponsive = createResponsive(SidePanelDesktop.Footer, SidePanelMobile.Footer);\n\n/** Респонсив компаунд */\nconst SidePanelResponsive = Object.assign(SidePanelResponsiveComponent, {\n Header,\n Controls,\n Content: ContentResponsive,\n Footer: FooterResponsive,\n});\n\nSidePanelResponsiveComponent.displayName = 'SidePanelResponsiveComponent';\n\nexport {\n SidePanelResponsive,\n SidePanelResponsiveComponent as SidePanelComponentResponsive,\n Header as HeaderResponsive,\n Controls as ControlsResponsive,\n ContentResponsive,\n FooterResponsive,\n};\n"],"names":["useContext","ResponsiveContext","React","__assign","forwardRef","__rest","useIsDesktop","useMemo","SidePanelDesktop","SidePanelMobile","Header","Controls"],"mappings":";;;;;;;;;;;;;;;;;AA6CA,SAAS,gBAAgB,CACrB,OAAoB,EACpB,MAAkB,EAAA;;IAGlB,SAAS,eAAe,CAAC,KAAU,EAAA;AACvB,QAAA,IAAA,EAAqB,GAAA,CAAAA,gBAAU,CAACC,mCAAiB,CAAC,IAAI,EAAE,MAAxC,EAAhB,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,KAAA;AAExB,QAAA,IAAM,KAAK,GAAG,IAAI,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM;AAEnD,QAAA,OAAOC,sBAAC,CAAA,aAAA,CAAA,KAAK,EAAKC,cAAA,CAAA,EAAA,EAAA,KAAK,EAAI;;AAG/B,IAAA,OAAO,eAA2C;AACtD;AAEA,IAAM,4BAA4B,GAAGC,gBAAU,CAC3C,UACI,EAQC,EACD,GAAG,EAAA;AARC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAG,EAAA,KAAA,MAAA,GAAA,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,YAAU,EAAV,IAAI,mBAAG,GAAG,GAAA,EAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,SAAS,GAAAC,YAAA,CAAA,EAAA,EAPhB,oFAQC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAElE,IAAM,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ;AAE7C,IAAA,IAAM,YAAY,GAAGC,aAAO,CACxB,YAAM,EAAA,QAAC,EAAE,IAAI,EAAA,IAAA,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,EAA3B,EAA4B,EAClC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAC3B;IAED,IAAM,SAAS,GAAG,SAAS,GAAGC,kCAAgB,GAAGC,gCAAe;IAEhE,QACIP,qCAACD,mCAAiB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAAA;QAC3CC,sBAAC,CAAA,aAAA,CAAA,SAAS,mBAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,IAAM,SAAS,CAAA,EACjE,QAAQ,CACD,CACa;AAErC,CAAC;AAGL,IAAM,iBAAiB,GAAG,gBAAgB,CAACM,kCAAgB,CAAC,OAAO,EAAEC,gCAAe,CAAC,OAAO;AAC5F,IAAM,gBAAgB,GAAG,gBAAgB,CAACD,kCAAgB,CAAC,MAAM,EAAEC,gCAAe,CAAC,MAAM;AAEzF;AACA,IAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE;AACpE,IAAA,MAAM,EAAAC,gBAAA;AACN,IAAA,QAAQ,EAAAC,oBAAA;AACR,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,MAAM,EAAE,gBAAgB;AAC3B,CAAA;AAED,4BAA4B,CAAC,WAAW,GAAG,8BAA8B;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { type FC, forwardRef, useContext, useMemo } from 'react';\n\nimport { type BaseModalProps } from '@alfalab/core-components-base-modal';\nimport { type DrawerProps } from '@alfalab/core-components-drawer';\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { Controls } from './components/controls';\nimport { Header } from './components/header/Component';\nimport { SidePanelDesktop } from './desktop';\nimport { SidePanelMobile } from './mobile';\nimport { ResponsiveContext } from './ResponsiveContext';\nimport { type TResponsiveModalContext } from './typings';\n\nexport type SidePanelResponsiveProps = BaseModalProps &\n Pick<DrawerProps, 'contentTransitionProps' | 'placement' | 'nativeScrollbar'> & {\n /**\n * Ширина модального окна\n * @default \"s\"\n */\n size?: 's' | 500;\n\n /**\n * Управление наличием закрывающего крестика\n * @default false\n */\n hasCloser?: boolean;\n\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n\n /**\n * Значение по-умолчанию для хука useMatchMedia\n * @deprecated Используйте client\n */\n defaultMatchMediaValue?: boolean | (() => boolean);\n };\n\nfunction createResponsive<DesktopType extends FC, MobileType extends FC>(\n desktop: DesktopType,\n mobile: MobileType,\n) {\n // eslint-disable-next-line\n function ResponsiveChild(props: any) {\n const { view = 'desktop' } = useContext(ResponsiveContext) || {};\n\n const Child = view === 'desktop' ? desktop : mobile;\n\n return <Child {...props} />;\n }\n\n return ResponsiveChild as DesktopType | MobileType;\n}\n\nconst SidePanelResponsiveComponent = forwardRef<HTMLDivElement, SidePanelResponsiveProps>(\n (\n {\n children,\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n size = 500,\n dataTestId,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n const view = isDesktop ? 'desktop' : 'mobile';\n\n const contextValue = useMemo<TResponsiveModalContext>(\n () => ({ view, size, dataTestId }),\n [view, size, dataTestId],\n );\n\n const Component = isDesktop ? SidePanelDesktop : SidePanelMobile;\n\n return (\n <ResponsiveContext.Provider value={contextValue}>\n <Component ref={ref} size={size} dataTestId={dataTestId} {...restProps}>\n {children}\n </Component>\n </ResponsiveContext.Provider>\n );\n },\n);\n\nconst ContentResponsive = createResponsive(SidePanelDesktop.Content, SidePanelMobile.Content);\nconst FooterResponsive = createResponsive(SidePanelDesktop.Footer, SidePanelMobile.Footer);\n\n/** Респонсив компаунд */\nconst SidePanelResponsive = Object.assign(SidePanelResponsiveComponent, {\n Header,\n Controls,\n Content: ContentResponsive,\n Footer: FooterResponsive,\n});\n\nSidePanelResponsiveComponent.displayName = 'SidePanelResponsiveComponent';\n\nexport {\n SidePanelResponsive,\n SidePanelResponsiveComponent as SidePanelComponentResponsive,\n Header as HeaderResponsive,\n Controls as ControlsResponsive,\n ContentResponsive,\n FooterResponsive,\n};\n"],"names":["useContext","ResponsiveContext","React","__assign","forwardRef","__rest","useIsDesktop","useMemo","SidePanelDesktop","SidePanelMobile","Header","Controls"],"mappings":";;;;;;;;;;;;;;;;;AA6CA,SAAS,gBAAgB,CACrB,OAAoB,EACpB,MAAkB,EAAA;;IAGlB,SAAS,eAAe,CAAC,KAAU,EAAA;AACvB,QAAA,IAAA,EAAqB,GAAA,CAAAA,gBAAU,CAACC,mCAAiB,CAAC,IAAI,EAAE,MAAxC,EAAhB,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,KAAA;AAExB,QAAA,IAAM,KAAK,GAAG,IAAI,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM;AAEnD,QAAA,OAAOC,sBAAC,CAAA,aAAA,CAAA,KAAK,EAAKC,cAAA,CAAA,EAAA,EAAA,KAAK,EAAI;;AAG/B,IAAA,OAAO,eAA2C;AACtD;AAEA,IAAM,4BAA4B,GAAGC,gBAAU,CAC3C,UACI,EAQC,EACD,GAAG,EAAA;AARC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgF,GAAA,EAAA,CAAA,sBAAA,EAAhF,sBAAsB,GAAG,EAAA,KAAA,MAAA,GAAA,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAChF,YAAU,EAAV,IAAI,mBAAG,GAAG,GAAA,EAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,SAAS,GAAAC,YAAA,CAAA,EAAA,EAPhB,oFAQC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAElE,IAAM,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ;AAE7C,IAAA,IAAM,YAAY,GAAGC,aAAO,CACxB,YAAM,EAAA,QAAC,EAAE,IAAI,EAAA,IAAA,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,EAA3B,EAA4B,EAClC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAC3B;IAED,IAAM,SAAS,GAAG,SAAS,GAAGC,kCAAgB,GAAGC,gCAAe;IAEhE,QACIP,qCAACD,mCAAiB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAAA;QAC3CC,sBAAC,CAAA,aAAA,CAAA,SAAS,mBAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,IAAM,SAAS,CAAA,EACjE,QAAQ,CACD,CACa;AAErC,CAAC;AAGL,IAAM,iBAAiB,GAAG,gBAAgB,CAACM,kCAAgB,CAAC,OAAO,EAAEC,gCAAe,CAAC,OAAO;AAC5F,IAAM,gBAAgB,GAAG,gBAAgB,CAACD,kCAAgB,CAAC,MAAM,EAAEC,gCAAe,CAAC,MAAM;AAEzF;AACA,IAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE;AACpE,IAAA,MAAM,EAAAC,gBAAA;AACN,IAAA,QAAQ,EAAAC,oBAAA;AACR,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,MAAM,EAAE,gBAAgB;AAC3B,CAAA;AAED,4BAA4B,CAAC,WAAW,GAAG,8BAA8B;;;;;;;;;"}
|
package/cssm/Context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sources":["../src/Context.
|
|
1
|
+
{"version":3,"file":"Context.js","sources":["../src/Context.ts"],"sourcesContent":["import { BaseModalContext } from '@alfalab/core-components-base-modal';\n\nexport const ModalContext = BaseModalContext;\n"],"names":["BaseModalContext"],"mappings":";;;;;;AAEO,IAAM,YAAY,GAAGA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveContext.js","sources":["../src/ResponsiveContext.ts"],"sourcesContent":["import React from 'react';\n\nimport type
|
|
1
|
+
{"version":3,"file":"ResponsiveContext.js","sources":["../src/ResponsiveContext.ts"],"sourcesContent":["import React from 'react';\n\nimport { type TResponsiveModalContext } from './typings';\n\nexport const ResponsiveContext = React.createContext<TResponsiveModalContext>(null);\n"],"names":["React"],"mappings":";;;;;;;;;;AAIa,IAAA,iBAAiB,GAAGA,sBAAK,CAAC,aAAa,CAA0B,IAAI;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ContentProps } from './Component';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type ContentProps } from './Component';
|
|
3
3
|
export declare type ContentDesktopProps = ContentProps & {
|
|
4
4
|
/**
|
|
5
5
|
* Размер (только для desktop версии компонента)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../../src/components/content/Component.desktop.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\n\nimport { Content, ContentProps } from './Component';\n\nimport styles from './desktop.module.css';\n\nexport type ContentDesktopProps = ContentProps & {\n /**\n * Размер (только для desktop версии компонента)\n */\n size?: 's' | 500;\n};\n\nexport const ContentDesktop: FC<ContentDesktopProps> = ({\n size = 500,\n className,\n ...restProps\n}) => (\n <Content\n className={cn(className, size && styles[SIZE_TO_CLASSNAME_MAP[size]])}\n {...restProps}\n />\n);\n"],"names":["__rest","React","Content","__assign","cn","styles","SIZE_TO_CLASSNAME_MAP"],"mappings":";;;;;;;;;;;;;;;;;AAgBO,IAAM,cAAc,GAA4B,UAAC,EAIvD,EAAA;AAHG,IAAA,IAAA,EAAU,GAAA,EAAA,CAAA,IAAA,EAAV,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,GAAG,GAAA,EAAA,EACV,SAAS,GAAA,EAAA,CAAA,SAAA,EACN,SAAS,GAAAA,YAAA,CAAA,EAAA,EAHwC,qBAIvD,CADe;IACV,QACFC,sBAAC,CAAA,aAAA,CAAAC,iBAAO,EACJC,cAAA,CAAA,EAAA,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAE,IAAI,IAAIC,uBAAM,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EACjE,EAAA,SAAS,CACf,CAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../../src/components/content/Component.desktop.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\n\nimport { Content, type ContentProps } from './Component';\n\nimport styles from './desktop.module.css';\n\nexport type ContentDesktopProps = ContentProps & {\n /**\n * Размер (только для desktop версии компонента)\n */\n size?: 's' | 500;\n};\n\nexport const ContentDesktop: FC<ContentDesktopProps> = ({\n size = 500,\n className,\n ...restProps\n}) => (\n <Content\n className={cn(className, size && styles[SIZE_TO_CLASSNAME_MAP[size]])}\n {...restProps}\n />\n);\n"],"names":["__rest","React","Content","__assign","cn","styles","SIZE_TO_CLASSNAME_MAP"],"mappings":";;;;;;;;;;;;;;;;;AAgBO,IAAM,cAAc,GAA4B,UAAC,EAIvD,EAAA;AAHG,IAAA,IAAA,EAAU,GAAA,EAAA,CAAA,IAAA,EAAV,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,GAAG,GAAA,EAAA,EACV,SAAS,GAAA,EAAA,CAAA,SAAA,EACN,SAAS,GAAAA,YAAA,CAAA,EAAA,EAHwC,qBAIvD,CADe;IACV,QACFC,sBAAC,CAAA,aAAA,CAAAC,iBAAO,EACJC,cAAA,CAAA,EAAA,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAE,IAAI,IAAIC,uBAAM,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EACjE,EAAA,SAAS,CACf,CAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/content/Component.tsx"],"sourcesContent":["import React, { FC, ReactNode, Ref, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport styles from './index.module.css';\n\nexport type ContentProps = {\n /**\n * Контент\n */\n children?: ReactNode;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n};\n\nexport const Content: FC<ContentProps> = ({ children, className, dataTestId }) => {\n const { contentRef, hasHeader } = useContext(ModalContext);\n const responsiveContext = useContext(ResponsiveContext);\n\n return (\n <div\n className={cn(styles.content, className, styles.flex, {\n [styles.withHeader]: hasHeader,\n })}\n ref={contentRef as Ref<HTMLDivElement>}\n data-test-id={dataTestId || getDataTestId(responsiveContext?.dataTestId, 'content')}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","React","cn","styles","getDataTestId"],"mappings":";;;;;;;;;;;;;;;;;AA2BO,IAAM,OAAO,GAAqB,UAAC,EAAmC,EAAA;;AAAjC,IAAA,IAAA,QAAQ,cAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA;IACjE,IAAA,EAAA,GAA4BA,gBAAU,CAACC,oBAAY,CAAC,EAAlD,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAA6B;AAC1D,IAAA,IAAM,iBAAiB,GAAGD,gBAAU,CAACE,mCAAiB,CAAC;AAEvD,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,OAAO,EAAE,SAAS,EAAEA,uBAAM,CAAC,IAAI,GAAA,EAAA,GAAA,EAAA;AAChD,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAA,GAAG,SAAS;gBAChC,EACF,GAAG,EAAE,UAAiC,EAAA,cAAA,EACxB,UAAU,IAAIC,kBAAa,CAAC,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,EAAE,SAAS,CAAC,EAElF,EAAA,QAAQ,CACP;AAEd;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/content/Component.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, type Ref, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport styles from './index.module.css';\n\nexport type ContentProps = {\n /**\n * Контент\n */\n children?: ReactNode;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n};\n\nexport const Content: FC<ContentProps> = ({ children, className, dataTestId }) => {\n const { contentRef, hasHeader } = useContext(ModalContext);\n const responsiveContext = useContext(ResponsiveContext);\n\n return (\n <div\n className={cn(styles.content, className, styles.flex, {\n [styles.withHeader]: hasHeader,\n })}\n ref={contentRef as Ref<HTMLDivElement>}\n data-test-id={dataTestId || getDataTestId(responsiveContext?.dataTestId, 'content')}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","React","cn","styles","getDataTestId"],"mappings":";;;;;;;;;;;;;;;;;AA2BO,IAAM,OAAO,GAAqB,UAAC,EAAmC,EAAA;;AAAjC,IAAA,IAAA,QAAQ,cAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA;IACjE,IAAA,EAAA,GAA4BA,gBAAU,CAACC,oBAAY,CAAC,EAAlD,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAA6B;AAC1D,IAAA,IAAM,iBAAiB,GAAGD,gBAAU,CAACE,mCAAiB,CAAC;AAEvD,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,OAAO,EAAE,SAAS,EAAEA,uBAAM,CAAC,IAAI,GAAA,EAAA,GAAA,EAAA;AAChD,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAA,GAAG,SAAS;gBAChC,EACF,GAAG,EAAE,UAAiC,EAAA,cAAA,EACxB,UAAU,IAAIC,kBAAa,CAAC,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,EAAE,SAAS,CAAC,EAElF,EAAA,QAAQ,CACP;AAEd;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ContentProps } from './Component';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type ContentProps } from './Component';
|
|
3
3
|
export declare type ContentMobileProps = ContentProps;
|
|
4
4
|
export declare const ContentMobile: FC<ContentMobileProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../../src/components/content/Component.mobile.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { Content, ContentProps } from './Component';\n\nimport styles from './mobile.module.css';\n\nexport type ContentMobileProps = ContentProps;\n\nexport const ContentMobile: FC<ContentMobileProps> = ({ className, ...restProps }) => (\n <Content className={cn(className, styles.content)} {...restProps} />\n);\n"],"names":["__rest","React","Content","cn","styles"],"mappings":";;;;;;;;;;;;;;;;AASO,IAAM,aAAa,GAA2B,UAAC,EAA2B,EAAA;AAAzB,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EAAK,SAAS,GAAAA,YAAA,CAAA,EAAA,EAAzB,aAA2B,CAAF;AAAO,IAAA,QAClFC,sBAAC,CAAA,aAAA,CAAAC,iBAAO,mBAAC,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAEC,uBAAM,CAAC,OAAO,CAAC,IAAM,SAAS,CAAA,CAAI;;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../../src/components/content/Component.mobile.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { Content, type ContentProps } from './Component';\n\nimport styles from './mobile.module.css';\n\nexport type ContentMobileProps = ContentProps;\n\nexport const ContentMobile: FC<ContentMobileProps> = ({ className, ...restProps }) => (\n <Content className={cn(className, styles.content)} {...restProps} />\n);\n"],"names":["__rest","React","Content","cn","styles"],"mappings":";;;;;;;;;;;;;;;;AASO,IAAM,aAAa,GAA2B,UAAC,EAA2B,EAAA;AAAzB,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EAAK,SAAS,GAAAA,YAAA,CAAA,EAAA,EAAzB,aAA2B,CAAF;AAAO,IAAA,QAClFC,sBAAC,CAAA,aAAA,CAAAC,iBAAO,mBAAC,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAEC,uBAAM,CAAC,OAAO,CAAC,IAAM,SAAS,CAAA,CAAI;;;;;"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
} :root {
|
|
8
8
|
--side-panel-s-content-paddings: var(--gap-40) var(--gap-40) var(--gap-0);
|
|
9
9
|
} .size-500 {
|
|
10
|
-
padding: var(--side-panel-s-content-paddings)
|
|
10
|
+
padding: var(--side-panel-s-content-paddings);
|
|
11
11
|
} .size-500:last-child {
|
|
12
12
|
padding-bottom: var(--gap-32);
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/controls/Component.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport layoutStyles from '../footer/layout.module.css';\nimport styles from './index.module.css';\n\nexport interface ControlsProps {\n /**\n * Основной слот\n */\n primary?: ReactNode;\n\n /**\n * Дополнительный слот\n */\n secondary?: ReactNode;\n\n /**\n * Выравнивание элементов футера\n * @default start\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Выравнивание элементов футера (мобильный view)\n * @default start\n */\n mobileLayout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n}\n\nexport const Controls: React.FC<ControlsProps> = ({\n primary,\n secondary,\n gap,\n layout: layoutProp = 'start',\n mobileLayout = layoutProp,\n}) => {\n const context = useContext(ResponsiveContext);\n const { view = 'desktop', dataTestId } = context || {};\n\n const layout = view === 'mobile' ? mobileLayout : layoutProp;\n\n const shouldReverse = view === 'mobile' && layout !== 'column';\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'controls')}\n className={cn(\n styles.component,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n )}\n >\n {shouldReverse ? (\n <React.Fragment>\n {secondary}\n {primary}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {primary}\n {secondary}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles"],"mappings":";;;;;;;;;;;;;;;;;;AAuCO,IAAM,QAAQ,GAA4B,UAAC,EAMjD,EAAA;QALG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAA4B,GAAA,EAAA,CAAA,MAAA,EAApB,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,KAAA,EAC5B,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,UAAU,GAAA,EAAA;AAEzB,IAAA,IAAM,OAAO,GAAGA,gBAAU,CAACC,mCAAiB,CAAC;AACvC,IAAA,IAAA,EAAmC,GAAA,OAAO,IAAI,EAAE,EAA9C,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EAAE,UAAU,gBAAkB;AAEtD,IAAA,IAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,IAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACIC,sBACkB,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EAAAC,kBAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,SAAS,EAChBC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,CACpC,EAEA,EAAA,aAAa,IACVJ,sBAAC,CAAA,aAAA,CAAAA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjBA,sBAAA,CAAA,aAAA,CAACA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/controls/Component.tsx"],"sourcesContent":["import React, { type ReactNode, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport layoutStyles from '../footer/layout.module.css';\nimport styles from './index.module.css';\n\nexport interface ControlsProps {\n /**\n * Основной слот\n */\n primary?: ReactNode;\n\n /**\n * Дополнительный слот\n */\n secondary?: ReactNode;\n\n /**\n * Выравнивание элементов футера\n * @default start\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Выравнивание элементов футера (мобильный view)\n * @default start\n */\n mobileLayout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n}\n\nexport const Controls: React.FC<ControlsProps> = ({\n primary,\n secondary,\n gap,\n layout: layoutProp = 'start',\n mobileLayout = layoutProp,\n}) => {\n const context = useContext(ResponsiveContext);\n const { view = 'desktop', dataTestId } = context || {};\n\n const layout = view === 'mobile' ? mobileLayout : layoutProp;\n\n const shouldReverse = view === 'mobile' && layout !== 'column';\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'controls')}\n className={cn(\n styles.component,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n )}\n >\n {shouldReverse ? (\n <React.Fragment>\n {secondary}\n {primary}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {primary}\n {secondary}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles"],"mappings":";;;;;;;;;;;;;;;;;;AAuCO,IAAM,QAAQ,GAA4B,UAAC,EAMjD,EAAA;QALG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAA4B,GAAA,EAAA,CAAA,MAAA,EAApB,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,KAAA,EAC5B,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,UAAU,GAAA,EAAA;AAEzB,IAAA,IAAM,OAAO,GAAGA,gBAAU,CAACC,mCAAiB,CAAC;AACvC,IAAA,IAAA,EAAmC,GAAA,OAAO,IAAI,EAAE,EAA9C,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EAAE,UAAU,gBAAkB;AAEtD,IAAA,IAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,IAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACIC,sBACkB,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EAAAC,kBAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,SAAS,EAChBC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,CACpC,EAEA,EAAA,aAAa,IACVJ,sBAAC,CAAA,aAAA,CAAAA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjBA,sBAAA,CAAA,aAAA,CAACA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { FooterProps } from './Component';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type FooterProps } from './Component';
|
|
3
3
|
export declare type FooterDesktopProps = FooterProps & {
|
|
4
4
|
/**
|
|
5
5
|
* Размер (только для desktop версии компонента)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../../src/components/footer/Component.desktop.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\n\nimport { Footer, FooterProps } from './Component';\n\nimport styles from './desktop.module.css';\n\nexport type FooterDesktopProps = FooterProps & {\n /**\n * Размер (только для desktop версии компонента)\n */\n size?: 's' | 500;\n};\n\nexport const FooterDesktop: FC<FooterDesktopProps> = ({\n size = 500,\n className,\n sticky,\n ...restProps\n}) => (\n <Footer\n className={cn(className, size && styles[SIZE_TO_CLASSNAME_MAP[size]], {\n [styles.sticky]: sticky,\n })}\n sticky={sticky}\n {...restProps}\n />\n);\n"],"names":["__rest","React","Footer","cn","styles","SIZE_TO_CLASSNAME_MAP"],"mappings":";;;;;;;;;;;;;;;;;AAgBO,IAAM,aAAa,GAA2B,UAAC,EAKrD,EAAA;;AAJG,IAAA,IAAA,YAAU,EAAV,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,GAAG,KAAA,EACV,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACH,SAAS,GAAAA,YAAA,CAAA,EAAA,EAJsC,+BAKrD,CADe;AACV,IAAA,QACFC,sBAAC,CAAA,aAAA,CAAAC,gBAAM,mBACH,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAE,IAAI,IAAIC,uBAAM,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,GAAA,EAAA,GAAA,EAAA;AAChE,YAAA,EAAA,CAACD,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACzB,YAAA,EAAA,EAAA,EACF,MAAM,EAAE,MAAM,IACV,SAAS,CAAA,CACf;;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../../src/components/footer/Component.desktop.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\n\nimport { Footer, type FooterProps } from './Component';\n\nimport styles from './desktop.module.css';\n\nexport type FooterDesktopProps = FooterProps & {\n /**\n * Размер (только для desktop версии компонента)\n */\n size?: 's' | 500;\n};\n\nexport const FooterDesktop: FC<FooterDesktopProps> = ({\n size = 500,\n className,\n sticky,\n ...restProps\n}) => (\n <Footer\n className={cn(className, size && styles[SIZE_TO_CLASSNAME_MAP[size]], {\n [styles.sticky]: sticky,\n })}\n sticky={sticky}\n {...restProps}\n />\n);\n"],"names":["__rest","React","Footer","cn","styles","SIZE_TO_CLASSNAME_MAP"],"mappings":";;;;;;;;;;;;;;;;;AAgBO,IAAM,aAAa,GAA2B,UAAC,EAKrD,EAAA;;AAJG,IAAA,IAAA,YAAU,EAAV,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,GAAG,KAAA,EACV,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACH,SAAS,GAAAA,YAAA,CAAA,EAAA,EAJsC,+BAKrD,CADe;AACV,IAAA,QACFC,sBAAC,CAAA,aAAA,CAAAC,gBAAM,mBACH,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAE,IAAI,IAAIC,uBAAM,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,GAAA,EAAA,GAAA,EAAA;AAChE,YAAA,EAAA,CAACD,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACzB,YAAA,EAAA,EAAA,EACF,MAAM,EAAE,MAAM,IACV,SAAS,CAAA,CACf;;;;;"}
|
|
@@ -24,6 +24,9 @@ var Footer = function (_a) {
|
|
|
24
24
|
var responsiveContext = React.useContext(ResponsiveContext.ResponsiveContext);
|
|
25
25
|
React.useEffect(function () {
|
|
26
26
|
setHasFooter(true);
|
|
27
|
+
return function () {
|
|
28
|
+
setHasFooter(false);
|
|
29
|
+
};
|
|
27
30
|
}, [setHasFooter]);
|
|
28
31
|
return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.footer, className, layoutStyles__default.default[layout], gap && layoutStyles__default.default["gap-".concat(gap)], (_b = {},
|
|
29
32
|
_b[styles__default.default.highlighted] = sticky && footerHighlighted,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/footer/Component.tsx"],"sourcesContent":["import React, { FC, ReactNode, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport styles from './index.module.css';\nimport layoutStyles from './layout.module.css';\n\nexport type FooterProps = {\n /**\n * Контент футера\n */\n children?: ReactNode;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Фиксирует футер\n */\n sticky?: boolean;\n\n /**\n * Выравнивание элементов футера\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n};\n\nexport const Footer: FC<FooterProps> = ({\n children,\n className,\n sticky,\n layout = 'start',\n gap,\n dataTestId,\n}) => {\n const { footerHighlighted, setHasFooter } = useContext(ModalContext);\n const responsiveContext = useContext(ResponsiveContext);\n\n useEffect(() => {\n setHasFooter(true);\n }, [setHasFooter]);\n\n return (\n <div\n className={cn(\n styles.footer,\n className,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n {\n [styles.highlighted]: sticky && footerHighlighted,\n [styles.sticky]: sticky,\n },\n )}\n data-test-id={dataTestId || getDataTestId(responsiveContext?.dataTestId, 'footer')}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","useEffect","React","cn","styles","layoutStyles","getDataTestId"],"mappings":";;;;;;;;;;;;;;;;;;;AA2CO,IAAM,MAAM,GAAoB,UAAC,EAOvC,EAAA;;AANG,IAAA,IAAA,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,MAAM,YAAA,EACN,EAAA,GAAA,EAAA,CAAA,MAAgB,EAAhB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAG,OAAO,GAAA,EAAA,EAChB,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,UAAU,GAAA,EAAA,CAAA,UAAA;IAEJ,IAAA,EAAA,GAAsCA,gBAAU,CAACC,oBAAY,CAAC,EAA5D,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAA6B;AACpE,IAAA,IAAM,iBAAiB,GAAGD,gBAAU,CAACE,mCAAiB,CAAC;AAEvD,IAAAC,eAAS,CAAC,YAAA;QACN,YAAY,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/footer/Component.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport styles from './index.module.css';\nimport layoutStyles from './layout.module.css';\n\nexport type FooterProps = {\n /**\n * Контент футера\n */\n children?: ReactNode;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Фиксирует футер\n */\n sticky?: boolean;\n\n /**\n * Выравнивание элементов футера\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n};\n\nexport const Footer: FC<FooterProps> = ({\n children,\n className,\n sticky,\n layout = 'start',\n gap,\n dataTestId,\n}) => {\n const { footerHighlighted, setHasFooter } = useContext(ModalContext);\n const responsiveContext = useContext(ResponsiveContext);\n\n useEffect(() => {\n setHasFooter(true);\n\n return () => {\n setHasFooter(false);\n };\n }, [setHasFooter]);\n\n return (\n <div\n className={cn(\n styles.footer,\n className,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n {\n [styles.highlighted]: sticky && footerHighlighted,\n [styles.sticky]: sticky,\n },\n )}\n data-test-id={dataTestId || getDataTestId(responsiveContext?.dataTestId, 'footer')}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","useEffect","React","cn","styles","layoutStyles","getDataTestId"],"mappings":";;;;;;;;;;;;;;;;;;;AA2CO,IAAM,MAAM,GAAoB,UAAC,EAOvC,EAAA;;AANG,IAAA,IAAA,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,MAAM,YAAA,EACN,EAAA,GAAA,EAAA,CAAA,MAAgB,EAAhB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAG,OAAO,GAAA,EAAA,EAChB,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,UAAU,GAAA,EAAA,CAAA,UAAA;IAEJ,IAAA,EAAA,GAAsCA,gBAAU,CAACC,oBAAY,CAAC,EAA5D,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAA6B;AACpE,IAAA,IAAM,iBAAiB,GAAGD,gBAAU,CAACE,mCAAiB,CAAC;AAEvD,IAAAC,eAAS,CAAC,YAAA;QACN,YAAY,CAAC,IAAI,CAAC;QAElB,OAAO,YAAA;YACH,YAAY,CAAC,KAAK,CAAC;AACvB,SAAC;AACL,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAElB,QACIC,sBACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,MAAM,EACb,SAAS,EACTC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAA,CAAA,MAAA,CAAO,GAAG,CAAE,CAAC,GAAA,EAAA,GAAA,EAAA;AAE7B,YAAA,EAAA,CAACD,uBAAM,CAAC,WAAW,CAAG,GAAA,MAAM,IAAI,iBAAiB;AACjD,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AAE9B,YAAA,EAAA,EAAA,EAAA,cAAA,EACa,UAAU,IAAIE,kBAAa,CAAC,iBAAiB,KAAA,IAAA,IAAjB,iBAAiB,KAAjB,MAAA,GAAA,MAAA,GAAA,iBAAiB,CAAE,UAAU,EAAE,QAAQ,CAAC,IAEjF,QAAQ,CACP;AAEd;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { FooterProps } from './Component';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type FooterProps } from './Component';
|
|
3
3
|
export declare type FooterMobileProps = FooterProps;
|
|
4
4
|
export declare const FooterMobile: FC<FooterMobileProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../../src/components/footer/Component.mobile.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport { Footer, FooterProps } from './Component';\n\nimport styles from './mobile.module.css';\n\nexport type FooterMobileProps = FooterProps;\n\nexport const FooterMobile: FC<FooterMobileProps> = ({\n className,\n sticky,\n layout = 'start',\n ...restProps\n}) => (\n <Footer\n className={cn(className, styles.footer, {\n [styles.sticky]: sticky,\n })}\n sticky={sticky}\n layout={layout}\n {...restProps}\n />\n);\n"],"names":["__rest","React","Footer","__assign","cn","styles"],"mappings":";;;;;;;;;;;;;;;;AASO,IAAM,YAAY,GAA0B,UAAC,EAKnD,EAAA;;AAJG,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgB,GAAA,EAAA,CAAA,MAAA,EAAhB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAG,OAAO,GAAA,EAAA,EACb,SAAS,GAAAA,YAAA,CAAA,EAAA,EAJoC,iCAKnD,CADe;AACV,IAAA,QACFC,sBAAA,CAAA,aAAA,CAACC,gBAAM,EAAAC,cAAA,CAAA,EACH,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAEC,uBAAM,CAAC,MAAM,GAAA,EAAA,GAAA,EAAA;AAClC,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;gBACzB,EACF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACV,EAAA,SAAS,CACf,CAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../../src/components/footer/Component.mobile.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport { Footer, type FooterProps } from './Component';\n\nimport styles from './mobile.module.css';\n\nexport type FooterMobileProps = FooterProps;\n\nexport const FooterMobile: FC<FooterMobileProps> = ({\n className,\n sticky,\n layout = 'start',\n ...restProps\n}) => (\n <Footer\n className={cn(className, styles.footer, {\n [styles.sticky]: sticky,\n })}\n sticky={sticky}\n layout={layout}\n {...restProps}\n />\n);\n"],"names":["__rest","React","Footer","__assign","cn","styles"],"mappings":";;;;;;;;;;;;;;;;AASO,IAAM,YAAY,GAA0B,UAAC,EAKnD,EAAA;;AAJG,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgB,GAAA,EAAA,CAAA,MAAA,EAAhB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAG,OAAO,GAAA,EAAA,EACb,SAAS,GAAAA,YAAA,CAAA,EAAA,EAJoC,iCAKnD,CADe;AACV,IAAA,QACFC,sBAAA,CAAA,aAAA,CAACC,gBAAM,EAAAC,cAAA,CAAA,EACH,SAAS,EAAEC,mBAAE,CAAC,SAAS,EAAEC,uBAAM,CAAC,MAAM,GAAA,EAAA,GAAA,EAAA;AAClC,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;gBACzB,EACF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACV,EAAA,SAAS,CACf,CAAA;;;;;"}
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
} .footer {
|
|
9
9
|
width: 100%;
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
transition:
|
|
11
|
+
transition:
|
|
12
|
+
box-shadow 0.2s ease,
|
|
13
|
+
background 0.2s ease;
|
|
12
14
|
} .sticky {
|
|
13
15
|
background: var(--side-panel-footer-background);
|
|
14
16
|
position: sticky;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
--side-panel-footer-default-gap: var(--gap-16);
|
|
10
10
|
} .column {
|
|
11
11
|
display: flex;
|
|
12
|
-
flex-direction: column
|
|
12
|
+
flex-direction: column;
|
|
13
13
|
} .column > *:not(:last-child):not(:only-child) {
|
|
14
14
|
margin-bottom: var(--side-panel-footer-default-gap);
|
|
15
15
|
} .column.gap-16 > *:not(:last-child):not(:only-child) {
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
} .center {
|
|
24
24
|
justify-content: center;
|
|
25
25
|
} .space-between {
|
|
26
|
-
justify-content: space-between
|
|
26
|
+
justify-content: space-between;
|
|
27
27
|
} .space-between > * {
|
|
28
28
|
flex: 1;
|
|
29
29
|
} .start,
|
|
30
30
|
.center,
|
|
31
31
|
.space-between {
|
|
32
|
-
display: flex
|
|
32
|
+
display: flex;
|
|
33
33
|
} .start > *:not(:last-child):not(:only-child), .center > *:not(:last-child):not(:only-child), .space-between > *:not(:last-child):not(:only-child) {
|
|
34
34
|
margin-right: var(--side-panel-footer-default-gap);
|
|
35
35
|
} .start.gap-16 > *:not(:last-child):not(:only-child), .center.gap-16 > *:not(:last-child):not(:only-child), .space-between.gap-16 > *:not(:last-child):not(:only-child) {
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
--gap-16: var(--gap-m);
|
|
8
8
|
}
|
|
9
9
|
.footer {
|
|
10
|
-
padding: var(--gap-16)
|
|
10
|
+
padding: var(--gap-16);
|
|
11
11
|
}
|
|
12
12
|
@media (display-mode: standalone) {
|
|
13
13
|
.footer {
|
|
14
|
-
padding-bottom: calc(var(--sab) + var(--gap-16))
|
|
14
|
+
padding-bottom: calc(var(--sab) + var(--gap-16));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
.sticky {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { NavigationBarPrivateProps } from '@alfalab/core-components-navigation-bar-private/cssm';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type NavigationBarPrivateProps } from '@alfalab/core-components-navigation-bar-private/cssm';
|
|
3
3
|
export declare type HeaderProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;
|
|
4
4
|
export declare const Header: FC<HeaderProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/header/Component.tsx"],"sourcesContent":["import React, { FC, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const Header: FC<HeaderProps> = ({\n className,\n children,\n contentClassName,\n title,\n sticky,\n hasCloser = true,\n ...restProps\n}) => {\n const { setHasHeader, headerHighlighted, onClose, componentRef } = useContext(ModalContext);\n const { size = 500, view = 'desktop', dataTestId } = useContext(ResponsiveContext) || {};\n\n useEffect(() => {\n setHasHeader(true);\n }, [setHasHeader]);\n\n const hasContent = Boolean(title || children);\n\n return (\n <NavigationBarPrivate\n dataTestId={getDataTestId(dataTestId, 'header')}\n {...restProps}\n scrollableParentRef={componentRef}\n view={view}\n sticky={sticky}\n title={title}\n hasCloser={hasCloser}\n onClose={onClose}\n className={cn(styles.header, className, {\n [styles.highlighted]: hasContent && sticky && headerHighlighted,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.sticky]: view === 'desktop' && sticky,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop',\n [mobileStyles.sticky]: view === 'mobile' && sticky,\n [mobileStyles.header]: view === 'mobile',\n })}\n contentClassName={cn(contentClassName, {\n [desktopStyles.content]: view === 'desktop',\n [mobileStyles.content]: view === 'mobile',\n })}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":["__rest","useContext","ModalContext","ResponsiveContext","useEffect","React","NavigationBarPrivate","__assign","getDataTestId","cn","styles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAmBO,IAAM,MAAM,GAAoB,UAAC,EAQvC,EAAA;;IAPG,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgB,GAAA,EAAA,CAAA,SAAA,EAAhB,SAAS,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACb,SAAS,GAPwBA,YAAA,CAAA,EAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,WAAA,CAQvC,CADe;AAEN,IAAA,IAAA,KAA6DC,gBAAU,CAACC,oBAAY,CAAC,EAAnF,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,iBAAiB,uBAAA,EAAE,OAAO,aAAA,EAAE,YAAY,kBAA6B;IACrF,IAAA,EAAA,GAA+CD,gBAAU,CAACE,mCAAiB,CAAC,IAAI,EAAE,EAAhF,EAAU,GAAA,EAAA,CAAA,IAAA,EAAV,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,GAAG,GAAA,EAAA,EAAE,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAwC;AAExF,IAAAC,eAAS,CAAC,YAAA;QACN,YAAY,CAAC,IAAI,CAAC;AACtB,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAElB,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;IAE7C,QACIC,qCAACC,yBAAoB,EAAAC,cAAA,CAAA,EACjB,UAAU,EAAEC,oBAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAA,EAC3C,SAAS,EACb,EAAA,mBAAmB,EAAE,YAAY,EACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,MAAM,EAAE,SAAS,GAAA,EAAA,GAAA,EAAA;YAClC,EAAC,CAAAA,uBAAM,CAAC,WAAW,CAAA,GAAG,UAAU,IAAI,MAAM,IAAI,iBAAiB;AAC/D,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACvB,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAA,GAAG,UAAU;YAC/B,EAAC,CAAAC,8BAAa,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,SAAS,IAAI,MAAM;YACpD,EAAC,CAAAA,8BAAa,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,IAAI,KAAK,SAAS;YAChE,EAAC,CAAAC,6BAAY,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM;AAClD,YAAA,EAAA,CAACA,6BAAY,CAAC,MAAM,CAAG,GAAA,IAAI,KAAK,QAAQ;AAC1C,YAAA,EAAA,EAAA,EACF,gBAAgB,EAAEJ,mBAAE,CAAC,gBAAgB,GAAA,EAAA,GAAA,EAAA;AACjC,YAAA,EAAA,CAACE,8BAAa,CAAC,OAAO,CAAG,GAAA,IAAI,KAAK,SAAS;AAC3C,YAAA,EAAA,CAACE,6BAAY,CAAC,OAAO,CAAG,GAAA,IAAI,KAAK,QAAQ;gBAC3C,EAED,CAAA,EAAA,QAAQ,CACU;AAE/B;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/header/Component.tsx"],"sourcesContent":["import React, { type FC, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const Header: FC<HeaderProps> = ({\n className,\n children,\n contentClassName,\n title,\n sticky,\n hasCloser = true,\n ...restProps\n}) => {\n const { setHasHeader, headerHighlighted, onClose, componentRef } = useContext(ModalContext);\n const { size = 500, view = 'desktop', dataTestId } = useContext(ResponsiveContext) || {};\n\n useEffect(() => {\n setHasHeader(true);\n }, [setHasHeader]);\n\n const hasContent = Boolean(title || children);\n\n return (\n <NavigationBarPrivate\n dataTestId={getDataTestId(dataTestId, 'header')}\n {...restProps}\n scrollableParentRef={componentRef}\n view={view}\n sticky={sticky}\n title={title}\n hasCloser={hasCloser}\n onClose={onClose}\n className={cn(styles.header, className, {\n [styles.highlighted]: hasContent && sticky && headerHighlighted,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.sticky]: view === 'desktop' && sticky,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop',\n [mobileStyles.sticky]: view === 'mobile' && sticky,\n [mobileStyles.header]: view === 'mobile',\n })}\n contentClassName={cn(contentClassName, {\n [desktopStyles.content]: view === 'desktop',\n [mobileStyles.content]: view === 'mobile',\n })}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":["__rest","useContext","ModalContext","ResponsiveContext","useEffect","React","NavigationBarPrivate","__assign","getDataTestId","cn","styles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAmBO,IAAM,MAAM,GAAoB,UAAC,EAQvC,EAAA;;IAPG,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAgB,GAAA,EAAA,CAAA,SAAA,EAAhB,SAAS,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACb,SAAS,GAPwBA,YAAA,CAAA,EAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,WAAA,CAQvC,CADe;AAEN,IAAA,IAAA,KAA6DC,gBAAU,CAACC,oBAAY,CAAC,EAAnF,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,iBAAiB,uBAAA,EAAE,OAAO,aAAA,EAAE,YAAY,kBAA6B;IACrF,IAAA,EAAA,GAA+CD,gBAAU,CAACE,mCAAiB,CAAC,IAAI,EAAE,EAAhF,EAAU,GAAA,EAAA,CAAA,IAAA,EAAV,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,GAAG,GAAA,EAAA,EAAE,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAwC;AAExF,IAAAC,eAAS,CAAC,YAAA;QACN,YAAY,CAAC,IAAI,CAAC;AACtB,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAElB,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;IAE7C,QACIC,qCAACC,yBAAoB,EAAAC,cAAA,CAAA,EACjB,UAAU,EAAEC,oBAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAA,EAC3C,SAAS,EACb,EAAA,mBAAmB,EAAE,YAAY,EACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,MAAM,EAAE,SAAS,GAAA,EAAA,GAAA,EAAA;YAClC,EAAC,CAAAA,uBAAM,CAAC,WAAW,CAAA,GAAG,UAAU,IAAI,MAAM,IAAI,iBAAiB;AAC/D,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACvB,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAA,GAAG,UAAU;YAC/B,EAAC,CAAAC,8BAAa,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,SAAS,IAAI,MAAM;YACpD,EAAC,CAAAA,8BAAa,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,IAAI,KAAK,SAAS;YAChE,EAAC,CAAAC,6BAAY,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM;AAClD,YAAA,EAAA,CAACA,6BAAY,CAAC,MAAM,CAAG,GAAA,IAAI,KAAK,QAAQ;AAC1C,YAAA,EAAA,EAAA,EACF,gBAAgB,EAAEJ,mBAAE,CAAC,gBAAgB,GAAA,EAAA,GAAA,EAAA;AACjC,YAAA,EAAA,CAACE,8BAAa,CAAC,OAAO,CAAG,GAAA,IAAI,KAAK,SAAS;AAC3C,YAAA,EAAA,CAACE,6BAAY,CAAC,OAAO,CAAG,GAAA,IAAI,KAAK,QAAQ;gBAC3C,EAED,CAAA,EAAA,QAAQ,CACU;AAE/B;;;;"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
--gap-12: var(--gap-s);
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
7
|
} :root {
|
|
8
|
-
--font-family-system:
|
|
9
|
-
sans-serif;
|
|
8
|
+
--font-family-system:
|
|
9
|
+
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
|
|
10
10
|
} :root {
|
|
11
11
|
--side-panel-s-header-paddings: 28px 28px var(--gap-0);
|
|
12
12
|
--side-panel-s-header-desktop-content-paddings: 6px var(--gap-12) var(--gap-16);
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
} .header {
|
|
9
9
|
width: 100%;
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
transition:
|
|
11
|
+
transition:
|
|
12
|
+
box-shadow 0.2s ease,
|
|
13
|
+
background 0.2s ease;
|
|
12
14
|
} .header:not(.hasContent) {
|
|
13
15
|
pointer-events: none;
|
|
14
16
|
} .highlighted {
|
|
@@ -16,7 +18,7 @@
|
|
|
16
18
|
box-shadow: var(--side-panel-header-highlight-box-shadow);
|
|
17
19
|
} .sticky {
|
|
18
20
|
position: sticky;
|
|
19
|
-
z-index: 1
|
|
21
|
+
z-index: 1;
|
|
20
22
|
} .sticky.hasContent {
|
|
21
23
|
background: var(--side-panel-header-background);
|
|
22
24
|
} .header.backgroundImage {
|
|
@@ -39,7 +41,7 @@
|
|
|
39
41
|
justify-content: flex-end;
|
|
40
42
|
text-align: right;
|
|
41
43
|
} .trim {
|
|
42
|
-
overflow: hidden
|
|
44
|
+
overflow: hidden;
|
|
43
45
|
} .trim .title {
|
|
44
46
|
overflow: hidden;
|
|
45
47
|
white-space: nowrap;
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
--gap-8: var(--gap-xs);
|
|
10
10
|
}
|
|
11
11
|
:root {
|
|
12
|
-
--font-family-system:
|
|
13
|
-
sans-serif;
|
|
12
|
+
--font-family-system:
|
|
13
|
+
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
|
|
14
14
|
}
|
|
15
15
|
:root {
|
|
16
16
|
--side-panel-header-mobile-content-paddings: 10px var(--gap-8);
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
var(--gap-4) var(--gap-8);
|
|
24
24
|
}
|
|
25
25
|
.header {
|
|
26
|
-
padding: var(--side-panel-header-mobile-paddings)
|
|
26
|
+
padding: var(--side-panel-header-mobile-paddings);
|
|
27
27
|
}
|
|
28
28
|
@media (display-mode: standalone) {
|
|
29
29
|
.header {
|
|
30
|
-
padding-top: calc(var(--sat) + var(--side-panel-header-mobile-top-padding))
|
|
30
|
+
padding-top: calc(var(--sat) + var(--side-panel-header-mobile-top-padding));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
.sticky {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { BaseModalProps } from '@alfalab/core-components-base-modal/cssm';
|
|
3
|
-
import { DrawerProps } from '@alfalab/core-components-drawer/cssm';
|
|
2
|
+
import { type BaseModalProps } from '@alfalab/core-components-base-modal/cssm';
|
|
3
|
+
import { type DrawerProps } from '@alfalab/core-components-drawer/cssm';
|
|
4
4
|
import { ContentDesktop } from '../components/content/Component.desktop';
|
|
5
|
-
import { ControlsProps } from '../components/controls';
|
|
5
|
+
import { type ControlsProps } from '../components/controls';
|
|
6
6
|
import { FooterDesktop } from '../components/footer/Component.desktop';
|
|
7
|
-
import { HeaderProps } from '../components/header/Component';
|
|
7
|
+
import { type HeaderProps } from '../components/header/Component';
|
|
8
8
|
export declare type SidePanelDesktopProps = BaseModalProps & Pick<DrawerProps, 'placement' | 'nativeScrollbar' | 'contentTransitionProps'> & {
|
|
9
9
|
/**
|
|
10
10
|
* Ширина модального окна
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, isValidElement, useContext, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { BaseModalProps } from '@alfalab/core-components-base-modal';\nimport { Drawer, DrawerProps } from '@alfalab/core-components-drawer';\n\nimport { ContentDesktop } from '../components/content/Component.desktop';\nimport { Controls, ControlsProps } from '../components/controls';\nimport { FooterDesktop } from '../components/footer/Component.desktop';\nimport { Header, HeaderProps } from '../components/header/Component';\nimport { SIZE_TO_CLASSNAME_MAP } from '../consts';\nimport { ResponsiveContext } from '../ResponsiveContext';\nimport { TResponsiveModalContext } from '../typings';\n\nimport styles from './desktop.module.css';\nimport transitions from './transitions.desktop.module.css';\n\nexport type SidePanelDesktopProps = BaseModalProps &\n Pick<DrawerProps, 'placement' | 'nativeScrollbar' | 'contentTransitionProps'> & {\n /**\n * Ширина модального окна\n * @default \"s\"\n */\n size?: 's' | 500;\n\n /**\n * Управление наличием закрывающего крестика\n * @default false\n */\n hasCloser?: boolean;\n };\n\nconst SidePanelDesktopComponent = forwardRef<HTMLDivElement, SidePanelDesktopProps>(\n (\n {\n size = 500,\n children,\n className,\n wrapperClassName,\n contentTransitionProps = {},\n backdropProps,\n placement = 'right',\n dataTestId,\n ...restProps\n },\n ref,\n ) => {\n const responsiveContext = useContext(ResponsiveContext);\n const modalRef = useRef<HTMLElement>(null);\n\n const enterCn = cn({\n [transitions.appearRight]: placement === 'right',\n [transitions.appearLeft]: placement === 'left',\n });\n\n const exitCn = cn({\n [transitions.exitActiveRight]: placement === 'right',\n [transitions.exitActiveLeft]: placement === 'left',\n });\n\n const contextValue = React.useMemo<TResponsiveModalContext>(\n () => ({ size, view: 'desktop', dataTestId }),\n [size, dataTestId],\n );\n\n const renderContent = () => (\n <Drawer\n {...restProps}\n dataTestId={dataTestId}\n ref={mergeRefs([ref, modalRef])}\n placement={placement}\n wrapperClassName={wrapperClassName}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]], styles.hidden)}\n backdropProps={backdropProps}\n contentTransitionProps={{\n classNames: {\n appear: enterCn,\n enter: enterCn,\n appearActive: transitions.enterActive,\n enterActive: transitions.enterActive,\n exit: transitions.exit,\n exitActive: exitCn,\n exitDone: exitCn,\n },\n ...contentTransitionProps,\n }}\n >\n {React.Children.map(children, (child) =>\n isValidElement(child) ? cloneElement(child, { size }) : child,\n )}\n </Drawer>\n );\n\n const renderWithContext = () => (\n <ResponsiveContext.Provider value={contextValue}>\n {renderContent()}\n </ResponsiveContext.Provider>\n );\n\n return responsiveContext ? renderContent() : renderWithContext();\n },\n);\n\nconst HeaderDesktop = Header as React.FC<Omit<HeaderProps, 'titleSize' | 'subtitle'>>;\nconst ControlsDesktop = Controls as React.FC<Omit<ControlsProps, 'mobileLayout'>>;\n\nconst SidePanelDesktop = Object.assign(SidePanelDesktopComponent, {\n Content: ContentDesktop,\n Header: HeaderDesktop,\n Footer: FooterDesktop,\n Controls: ControlsDesktop,\n});\n\nexport {\n SidePanelDesktop,\n SidePanelDesktopComponent as SidePanelComponentDesktop,\n ContentDesktop,\n HeaderDesktop,\n FooterDesktop,\n ControlsDesktop,\n};\n"],"names":["forwardRef","__rest","useContext","ResponsiveContext","useRef","cn","transitions","React","Drawer","__assign","mergeRefs","styles","SIZE_TO_CLASSNAME_MAP","isValidElement","cloneElement","Header","Controls","ContentDesktop","FooterDesktop"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { cloneElement, forwardRef, isValidElement, useContext, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type BaseModalProps } from '@alfalab/core-components-base-modal';\nimport { Drawer, type DrawerProps } from '@alfalab/core-components-drawer';\n\nimport { ContentDesktop } from '../components/content/Component.desktop';\nimport { Controls, type ControlsProps } from '../components/controls';\nimport { FooterDesktop } from '../components/footer/Component.desktop';\nimport { Header, type HeaderProps } from '../components/header/Component';\nimport { SIZE_TO_CLASSNAME_MAP } from '../consts';\nimport { ResponsiveContext } from '../ResponsiveContext';\nimport { type TResponsiveModalContext } from '../typings';\n\nimport styles from './desktop.module.css';\nimport transitions from './transitions.desktop.module.css';\n\nexport type SidePanelDesktopProps = BaseModalProps &\n Pick<DrawerProps, 'placement' | 'nativeScrollbar' | 'contentTransitionProps'> & {\n /**\n * Ширина модального окна\n * @default \"s\"\n */\n size?: 's' | 500;\n\n /**\n * Управление наличием закрывающего крестика\n * @default false\n */\n hasCloser?: boolean;\n };\n\nconst SidePanelDesktopComponent = forwardRef<HTMLDivElement, SidePanelDesktopProps>(\n (\n {\n size = 500,\n children,\n className,\n wrapperClassName,\n contentTransitionProps = {},\n backdropProps,\n placement = 'right',\n dataTestId,\n ...restProps\n },\n ref,\n ) => {\n const responsiveContext = useContext(ResponsiveContext);\n const modalRef = useRef<HTMLElement>(null);\n\n const enterCn = cn({\n [transitions.appearRight]: placement === 'right',\n [transitions.appearLeft]: placement === 'left',\n });\n\n const exitCn = cn({\n [transitions.exitActiveRight]: placement === 'right',\n [transitions.exitActiveLeft]: placement === 'left',\n });\n\n const contextValue = React.useMemo<TResponsiveModalContext>(\n () => ({ size, view: 'desktop', dataTestId }),\n [size, dataTestId],\n );\n\n const renderContent = () => (\n <Drawer\n {...restProps}\n dataTestId={dataTestId}\n ref={mergeRefs([ref, modalRef])}\n placement={placement}\n wrapperClassName={wrapperClassName}\n className={cn(className, styles[SIZE_TO_CLASSNAME_MAP[size]], styles.hidden)}\n backdropProps={backdropProps}\n contentTransitionProps={{\n classNames: {\n appear: enterCn,\n enter: enterCn,\n appearActive: transitions.enterActive,\n enterActive: transitions.enterActive,\n exit: transitions.exit,\n exitActive: exitCn,\n exitDone: exitCn,\n },\n ...contentTransitionProps,\n }}\n >\n {React.Children.map(children, (child) =>\n isValidElement(child) ? cloneElement(child, { size }) : child,\n )}\n </Drawer>\n );\n\n const renderWithContext = () => (\n <ResponsiveContext.Provider value={contextValue}>\n {renderContent()}\n </ResponsiveContext.Provider>\n );\n\n return responsiveContext ? renderContent() : renderWithContext();\n },\n);\n\nconst HeaderDesktop = Header as React.FC<Omit<HeaderProps, 'titleSize' | 'subtitle'>>;\nconst ControlsDesktop = Controls as React.FC<Omit<ControlsProps, 'mobileLayout'>>;\n\nconst SidePanelDesktop = Object.assign(SidePanelDesktopComponent, {\n Content: ContentDesktop,\n Header: HeaderDesktop,\n Footer: FooterDesktop,\n Controls: ControlsDesktop,\n});\n\nexport {\n SidePanelDesktop,\n SidePanelDesktopComponent as SidePanelComponentDesktop,\n ContentDesktop,\n HeaderDesktop,\n FooterDesktop,\n ControlsDesktop,\n};\n"],"names":["forwardRef","__rest","useContext","ResponsiveContext","useRef","cn","transitions","React","Drawer","__assign","mergeRefs","styles","SIZE_TO_CLASSNAME_MAP","isValidElement","cloneElement","Header","Controls","ContentDesktop","FooterDesktop"],"mappings":"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"}
|