@semcore/fullscreen-modal 2.0.9 → 2.0.10

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [2.0.10] - 2022-07-21
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/icon` [2.28.0 ~> 2.29.0]).
10
+
5
11
  ## [2.0.9] - 2022-07-13
6
12
 
7
13
  ### Fixed
@@ -56,22 +56,22 @@ var style = (
56
56
  /*__reshadow_css_start__*/
57
57
  _core.sstyled.insert(
58
58
  /*__inner_css_start__*/
59
- ".___SFullscreenOverlay_1rpnd_gg_{padding:0}.___SFullscreenModal_1rpnd_gg_{height:100%;display:flex;flex-direction:column;width:100%;background:#ffffff;border-radius:0;padding:0}.___SBack_1rpnd_gg_,.___SClose_1rpnd_gg_{cursor:pointer;position:absolute;z-index:1}.___SClose_1rpnd_gg_{top:17px;right:23px;padding:12px;color:#a9abb6}.___SClose_1rpnd_gg_:hover{color:#8a8e9b}.___SBack_1rpnd_gg_{top:8px;left:32px;display:flex;align-items:center;margin-bottom:12px;color:#6c6e79;font-size:12px;line-height:1.33}.___SBack_1rpnd_gg_:hover{color:#484a54}.___SBackText_1rpnd_gg_{margin-left:4px;font-size:14px;line-height:1.42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SDescription_1rpnd_gg_,.___STitle_1rpnd_gg_{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___STitle_1rpnd_gg_{font-size:24px;line-height:1.17;font-weight:700;font-family:FactorA-Bold,sans-serif;color:#191b23}.___SDescription_1rpnd_gg_{display:flex;align-items:baseline;font-size:12px;line-height:1.33;color:#6c6e79}.___SDescription_1rpnd_gg_:before{content:\"\";position:relative;top:4px;display:block;margin-left:12px;margin-right:12px;height:24px;width:1px;background-color:#c4c7cf}.___SHeader_1rpnd_gg_{display:flex;align-items:baseline;padding-left:32px;padding-bottom:8px;padding-right:72px;padding-top:40px;min-height:76px;box-shadow:inset 0 -1px 0 #c4c7cf;box-sizing:border-box}.___SFooter_1rpnd_gg_{min-height:52px;box-shadow:inset 0 1px 1px 0 #c4c7cf;box-sizing:border-box}.___SBody_1rpnd_gg_{display:flex;height:100%;overflow:auto}.___SSection_1rpnd_gg_{padding-top:24px;padding-bottom:24px;padding-left:32px;padding-right:32px;flex:1 1 auto}@media (prefers-reduced-motion){.___SBackText_1rpnd_gg_{transition:none}}"
59
+ ".___SFullscreenOverlay_pndqi_gg_{padding:0}.___SFullscreenModal_pndqi_gg_{height:100%;display:flex;flex-direction:column;width:100%;background:#ffffff;border-radius:0;padding:0}.___SBack_pndqi_gg_,.___SClose_pndqi_gg_{cursor:pointer;position:absolute;z-index:1}.___SClose_pndqi_gg_{top:17px;right:23px;padding:12px;color:#a9abb6}.___SClose_pndqi_gg_:hover{color:#8a8e9b}.___SBack_pndqi_gg_{top:8px;left:32px;display:flex;align-items:center;margin-bottom:12px;color:#6c6e79;font-size:12px;line-height:1.33}.___SBack_pndqi_gg_:hover{color:#484a54}.___SBackText_pndqi_gg_{margin-left:4px;font-size:14px;line-height:1.42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SDescription_pndqi_gg_,.___STitle_pndqi_gg_{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___STitle_pndqi_gg_{font-size:24px;line-height:1.17;font-weight:700;font-family:FactorA-Bold,sans-serif;color:#191b23}.___SDescription_pndqi_gg_{display:flex;align-items:baseline;font-size:12px;line-height:1.33;color:#6c6e79}.___SDescription_pndqi_gg_:before{content:\"\";position:relative;top:4px;display:block;margin-left:12px;margin-right:12px;height:24px;width:1px;background-color:#c4c7cf}.___SHeader_pndqi_gg_{display:flex;align-items:baseline;padding-left:32px;padding-bottom:8px;padding-right:72px;padding-top:40px;min-height:76px;box-shadow:inset 0 -1px 0 #c4c7cf;box-sizing:border-box}.___SFooter_pndqi_gg_{min-height:52px;box-shadow:inset 0 1px 1px 0 #c4c7cf;box-sizing:border-box}.___SBody_pndqi_gg_{display:flex;height:100%;overflow:auto}.___SSection_pndqi_gg_{padding-top:24px;padding-bottom:24px;padding-left:32px;padding-right:32px;flex:1 1 auto}@media (prefers-reduced-motion){.___SBackText_pndqi_gg_{transition:none}}"
60
60
  /*__inner_css_end__*/
61
- , "1a3d4j1_gg_")
61
+ , "pndqi_gg_")
62
62
  /*__reshadow_css_end__*/
63
63
  , {
64
- "__SFullscreenOverlay": "___SFullscreenOverlay_1rpnd_gg_",
65
- "__SFullscreenModal": "___SFullscreenModal_1rpnd_gg_",
66
- "__SBack": "___SBack_1rpnd_gg_",
67
- "__SClose": "___SClose_1rpnd_gg_",
68
- "__SBackText": "___SBackText_1rpnd_gg_",
69
- "__SDescription": "___SDescription_1rpnd_gg_",
70
- "__STitle": "___STitle_1rpnd_gg_",
71
- "__SHeader": "___SHeader_1rpnd_gg_",
72
- "__SFooter": "___SFooter_1rpnd_gg_",
73
- "__SBody": "___SBody_1rpnd_gg_",
74
- "__SSection": "___SSection_1rpnd_gg_"
64
+ "__SFullscreenOverlay": "___SFullscreenOverlay_pndqi_gg_",
65
+ "__SFullscreenModal": "___SFullscreenModal_pndqi_gg_",
66
+ "__SBack": "___SBack_pndqi_gg_",
67
+ "__SClose": "___SClose_pndqi_gg_",
68
+ "__SBackText": "___SBackText_pndqi_gg_",
69
+ "__SDescription": "___SDescription_pndqi_gg_",
70
+ "__STitle": "___STitle_pndqi_gg_",
71
+ "__SHeader": "___SHeader_pndqi_gg_",
72
+ "__SFooter": "___SFooter_pndqi_gg_",
73
+ "__SBody": "___SBody_pndqi_gg_",
74
+ "__SSection": "___SSection_pndqi_gg_"
75
75
  });
76
76
 
77
77
  var FullscreenModalRoot = /*#__PURE__*/function (_Component) {
@@ -38,22 +38,22 @@ var style = (
38
38
  /*__reshadow_css_start__*/
39
39
  _sstyled.insert(
40
40
  /*__inner_css_start__*/
41
- ".___SFullscreenOverlay_1rpnd_gg_{padding:0}.___SFullscreenModal_1rpnd_gg_{height:100%;display:flex;flex-direction:column;width:100%;background:#ffffff;border-radius:0;padding:0}.___SBack_1rpnd_gg_,.___SClose_1rpnd_gg_{cursor:pointer;position:absolute;z-index:1}.___SClose_1rpnd_gg_{top:17px;right:23px;padding:12px;color:#a9abb6}.___SClose_1rpnd_gg_:hover{color:#8a8e9b}.___SBack_1rpnd_gg_{top:8px;left:32px;display:flex;align-items:center;margin-bottom:12px;color:#6c6e79;font-size:12px;line-height:1.33}.___SBack_1rpnd_gg_:hover{color:#484a54}.___SBackText_1rpnd_gg_{margin-left:4px;font-size:14px;line-height:1.42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SDescription_1rpnd_gg_,.___STitle_1rpnd_gg_{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___STitle_1rpnd_gg_{font-size:24px;line-height:1.17;font-weight:700;font-family:FactorA-Bold,sans-serif;color:#191b23}.___SDescription_1rpnd_gg_{display:flex;align-items:baseline;font-size:12px;line-height:1.33;color:#6c6e79}.___SDescription_1rpnd_gg_:before{content:\"\";position:relative;top:4px;display:block;margin-left:12px;margin-right:12px;height:24px;width:1px;background-color:#c4c7cf}.___SHeader_1rpnd_gg_{display:flex;align-items:baseline;padding-left:32px;padding-bottom:8px;padding-right:72px;padding-top:40px;min-height:76px;box-shadow:inset 0 -1px 0 #c4c7cf;box-sizing:border-box}.___SFooter_1rpnd_gg_{min-height:52px;box-shadow:inset 0 1px 1px 0 #c4c7cf;box-sizing:border-box}.___SBody_1rpnd_gg_{display:flex;height:100%;overflow:auto}.___SSection_1rpnd_gg_{padding-top:24px;padding-bottom:24px;padding-left:32px;padding-right:32px;flex:1 1 auto}@media (prefers-reduced-motion){.___SBackText_1rpnd_gg_{transition:none}}"
41
+ ".___SFullscreenOverlay_pndqi_gg_{padding:0}.___SFullscreenModal_pndqi_gg_{height:100%;display:flex;flex-direction:column;width:100%;background:#ffffff;border-radius:0;padding:0}.___SBack_pndqi_gg_,.___SClose_pndqi_gg_{cursor:pointer;position:absolute;z-index:1}.___SClose_pndqi_gg_{top:17px;right:23px;padding:12px;color:#a9abb6}.___SClose_pndqi_gg_:hover{color:#8a8e9b}.___SBack_pndqi_gg_{top:8px;left:32px;display:flex;align-items:center;margin-bottom:12px;color:#6c6e79;font-size:12px;line-height:1.33}.___SBack_pndqi_gg_:hover{color:#484a54}.___SBackText_pndqi_gg_{margin-left:4px;font-size:14px;line-height:1.42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___SDescription_pndqi_gg_,.___STitle_pndqi_gg_{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.___STitle_pndqi_gg_{font-size:24px;line-height:1.17;font-weight:700;font-family:FactorA-Bold,sans-serif;color:#191b23}.___SDescription_pndqi_gg_{display:flex;align-items:baseline;font-size:12px;line-height:1.33;color:#6c6e79}.___SDescription_pndqi_gg_:before{content:\"\";position:relative;top:4px;display:block;margin-left:12px;margin-right:12px;height:24px;width:1px;background-color:#c4c7cf}.___SHeader_pndqi_gg_{display:flex;align-items:baseline;padding-left:32px;padding-bottom:8px;padding-right:72px;padding-top:40px;min-height:76px;box-shadow:inset 0 -1px 0 #c4c7cf;box-sizing:border-box}.___SFooter_pndqi_gg_{min-height:52px;box-shadow:inset 0 1px 1px 0 #c4c7cf;box-sizing:border-box}.___SBody_pndqi_gg_{display:flex;height:100%;overflow:auto}.___SSection_pndqi_gg_{padding-top:24px;padding-bottom:24px;padding-left:32px;padding-right:32px;flex:1 1 auto}@media (prefers-reduced-motion){.___SBackText_pndqi_gg_{transition:none}}"
42
42
  /*__inner_css_end__*/
43
- , "1a3d4j1_gg_")
43
+ , "pndqi_gg_")
44
44
  /*__reshadow_css_end__*/
45
45
  , {
46
- "__SFullscreenOverlay": "___SFullscreenOverlay_1rpnd_gg_",
47
- "__SFullscreenModal": "___SFullscreenModal_1rpnd_gg_",
48
- "__SBack": "___SBack_1rpnd_gg_",
49
- "__SClose": "___SClose_1rpnd_gg_",
50
- "__SBackText": "___SBackText_1rpnd_gg_",
51
- "__SDescription": "___SDescription_1rpnd_gg_",
52
- "__STitle": "___STitle_1rpnd_gg_",
53
- "__SHeader": "___SHeader_1rpnd_gg_",
54
- "__SFooter": "___SFooter_1rpnd_gg_",
55
- "__SBody": "___SBody_1rpnd_gg_",
56
- "__SSection": "___SSection_1rpnd_gg_"
46
+ "__SFullscreenOverlay": "___SFullscreenOverlay_pndqi_gg_",
47
+ "__SFullscreenModal": "___SFullscreenModal_pndqi_gg_",
48
+ "__SBack": "___SBack_pndqi_gg_",
49
+ "__SClose": "___SClose_pndqi_gg_",
50
+ "__SBackText": "___SBackText_pndqi_gg_",
51
+ "__SDescription": "___SDescription_pndqi_gg_",
52
+ "__STitle": "___STitle_pndqi_gg_",
53
+ "__SHeader": "___SHeader_pndqi_gg_",
54
+ "__SFooter": "___SFooter_pndqi_gg_",
55
+ "__SBody": "___SBody_pndqi_gg_",
56
+ "__SSection": "___SSection_pndqi_gg_"
57
57
  });
58
58
 
59
59
  var FullscreenModalRoot = /*#__PURE__*/function (_Component) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/fullscreen-modal",
3
3
  "description": "SEMRush FullscreenModal Component",
4
- "version": "2.0.9",
4
+ "version": "2.0.10",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -1,128 +0,0 @@
1
- import React from 'react';
2
- import createComponent, { Component, sstyled, Root } from '@semcore/core';
3
- import Modal from '@semcore/modal';
4
- import { Flex, Box } from '@semcore/flex-box';
5
- import CloseIcon from '@semcore/icon/Close/l';
6
- import ArrowLeft from '@semcore/icon/ArrowLeft/m';
7
- import { Text } from '@semcore/typography';
8
- import fire from '@semcore/utils/lib/fire';
9
-
10
- import style from './style/fullscreen-modal.shadow.css';
11
-
12
- class FullscreenModalRoot extends Component {
13
- static displayName = 'FullscreenModal';
14
- static style = style;
15
-
16
- bindHandlerClose = (trigger) => (e) => {
17
- fire(this, 'onClose', trigger, e);
18
- };
19
-
20
- getCloseProps() {
21
- return {
22
- onClick: this.bindHandlerClose('onCloseClick'),
23
- };
24
- }
25
-
26
- getBackProps() {
27
- return {
28
- onClick: this.bindHandlerClose('onBackClick'),
29
- };
30
- }
31
-
32
- render() {
33
- const SFullscreenModal = Root;
34
- const { styles, Children, onClose, visible, closable, duration, disablePortal } = this.asProps;
35
- const SFullscreenOverlay = Modal.Overlay;
36
-
37
- return sstyled(styles)(
38
- <Modal
39
- closable={false}
40
- visible={visible}
41
- onClose={onClose}
42
- duration={duration}
43
- disablePortal={disablePortal}
44
- >
45
- <SFullscreenOverlay>
46
- <SFullscreenModal render={Modal.Window}>
47
- {closable && <FullscreenModal.Close />}
48
- <Children />
49
- </SFullscreenModal>
50
- </SFullscreenOverlay>
51
- </Modal>,
52
- );
53
- }
54
- }
55
-
56
- function Header(props) {
57
- const SHeader = Root;
58
- const { Children, styles, title, description } = props;
59
- return sstyled(styles)(
60
- <SHeader render={Box}>
61
- {title && <FullscreenModal.Title children={title} />}
62
- {description && <FullscreenModal.Description children={description} />}
63
- <Children />
64
- </SHeader>,
65
- );
66
- }
67
-
68
- function Body(props) {
69
- const SBody = Root;
70
- return sstyled(props.styles)(<SBody render={Box} />);
71
- }
72
-
73
- function Section(props) {
74
- const SSection = Root;
75
- return sstyled(props.styles)(<SSection render={Box} />);
76
- }
77
-
78
- function Footer(props) {
79
- const SFooter = Root;
80
- return sstyled(props.styles)(<SFooter render={Flex} />);
81
- }
82
-
83
- function Close(props) {
84
- const SClose = Root;
85
- return sstyled(props.styles)(<SClose render={CloseIcon} />);
86
- }
87
-
88
- function Title(props) {
89
- const STitle = Root;
90
- return sstyled(props.styles)(<STitle render={Text} tag="h4" />);
91
- }
92
-
93
- function Description(props) {
94
- const SDescription = Root;
95
- return sstyled(props.styles)(<SDescription render={Text} />);
96
- }
97
-
98
- function Back(props) {
99
- const SBack = Root;
100
- const SBackText = Text;
101
- const { Children, styles } = props;
102
-
103
- return sstyled(styles)(
104
- <SBack render={Box}>
105
- <ArrowLeft />
106
- <SBackText>
107
- <Children />
108
- </SBackText>
109
- </SBack>,
110
- );
111
- }
112
-
113
- const FullscreenModal = createComponent(
114
- FullscreenModalRoot,
115
- {
116
- Header,
117
- Footer,
118
- Close,
119
- Back,
120
- Body,
121
- Section,
122
- Title,
123
- Description,
124
- },
125
- { parent: Modal },
126
- );
127
-
128
- export default FullscreenModal;
package/src/index.d.ts DELETED
@@ -1,41 +0,0 @@
1
- import { ComponentProps } from 'react';
2
- import { ReturnEl, CProps, PropGetterFn } from '@semcore/core';
3
- import { IModalProps } from '@semcore/modal';
4
- import { Box, IBoxProps } from '@semcore/flex-box';
5
- import { IIconProps } from '@semcore/icon';
6
- import { Text } from '@semcore/typography';
7
-
8
- export interface IFullscreenModalProps extends IModalProps {
9
- /** This property is responsible for the visibility of the modal window */
10
- hidden?: boolean;
11
- /** Function that is invoked when hiding a component */
12
- onClose?: (
13
- trigger: 'onBackClick' | 'onCloseClick' | 'onEscape' | 'onOutsideClick',
14
- e?: React.MouseEvent | React.KeyboardEvent,
15
- ) => void;
16
- }
17
-
18
- export interface IFullscreenModalHeaderProps extends IBoxProps {
19
- title?: React.ReactNode;
20
- description?: React.ReactNode;
21
- }
22
-
23
- export interface IFullscreenModalContext {
24
- getBackProps: PropGetterFn;
25
- getCloseProps: PropGetterFn;
26
- }
27
-
28
- declare const FullscreenModal: (<T>(
29
- props: CProps<IFullscreenModalProps & T, IFullscreenModalContext>,
30
- ) => ReturnEl) & {
31
- Header: <T>(props: IFullscreenModalHeaderProps & T) => ReturnEl;
32
- Footer: <T>(props: ComponentProps<typeof Box> & T) => ReturnEl;
33
- Close: <T>(props: IIconProps & T) => ReturnEl;
34
- Back: <T>(props: ComponentProps<typeof Box> & T) => ReturnEl;
35
- Body: <T>(props: ComponentProps<typeof Box> & T) => ReturnEl;
36
- Section: <T>(props: ComponentProps<typeof Box> & T) => ReturnEl;
37
- Title: <T>(props: ComponentProps<typeof Text> & T) => ReturnEl;
38
- Description: <T>(props: ComponentProps<typeof Text> & T) => ReturnEl;
39
- };
40
-
41
- export default FullscreenModal;
package/src/index.js DELETED
@@ -1 +0,0 @@
1
- export { default } from './FullscreenModal';
@@ -1,129 +0,0 @@
1
- @import '@semcore/utils/style/var.css';
2
-
3
- SFullscreenOverlay {
4
- padding: 0;
5
- }
6
-
7
- SFullscreenModal {
8
- height: 100%;
9
- display: flex;
10
- flex-direction: column;
11
- width: 100%;
12
- background: var(--white);
13
- border-radius: 0;
14
- padding: 0;
15
- }
16
-
17
- SClose,
18
- SBack {
19
- cursor: pointer;
20
- position: absolute;
21
- z-index: 1;
22
- }
23
-
24
- SClose {
25
- top: 17px;
26
- right: 23px;
27
- padding: 12px;
28
- color: var(--gray-300);
29
-
30
- &:hover {
31
- color: var(--gray-400);
32
- }
33
- }
34
-
35
- SBack {
36
- top: 8px;
37
- left: 32px;
38
- display: flex;
39
- align-items: center;
40
- margin-bottom: 12px;
41
- color: var(--gray-500);
42
- font-size: var(--fs-100);
43
- line-height: var(--lh-100);
44
-
45
- &:hover {
46
- color: var(--gray-600);
47
- }
48
- }
49
-
50
- SBackText {
51
- margin-left: 4px;
52
- font-size: var(--fs-200);
53
- line-height: var(--lh-200);
54
- white-space: nowrap;
55
- overflow: hidden;
56
- text-overflow: ellipsis;
57
- }
58
- STitle,
59
- SDescription {
60
- white-space: nowrap;
61
- overflow: hidden;
62
- text-overflow: ellipsis;
63
- }
64
-
65
- STitle {
66
- font-size: var(--fs-500);
67
- line-height: var(--lh-500);
68
- font-weight: 700;
69
- font-family: FactorA-Bold, sans-serif;
70
- color: var(--gray-800);
71
- }
72
-
73
- SDescription {
74
- display: flex;
75
- align-items: baseline;
76
- font-size: var(--fs-100);
77
- line-height: var(--lh-100);
78
- color: var(--gray-500);
79
-
80
- &::before {
81
- content: '';
82
- position: relative;
83
- top: 4px;
84
- display: block;
85
- margin-left: 12px;
86
- margin-right: 12px;
87
- height: 24px;
88
- width: 1px;
89
- background-color: var(--gray-200);
90
- }
91
- }
92
-
93
- SHeader {
94
- display: flex;
95
- align-items: baseline;
96
- padding-left: 32px;
97
- padding-bottom: 8px;
98
- padding-right: 72px;
99
- padding-top: 40px;
100
- min-height: 76px;
101
- box-shadow: inset 0 -1px 0 var(--gray-200);
102
- box-sizing: border-box;
103
- }
104
-
105
- SFooter {
106
- min-height: 52px;
107
- box-shadow: inset 0 1px 1px 0 var(--gray-200);
108
- box-sizing: border-box;
109
- }
110
-
111
- SBody {
112
- display: flex;
113
- height: 100%;
114
- overflow: auto;
115
- }
116
-
117
- SSection {
118
- padding-top: 24px;
119
- padding-bottom: 24px;
120
- padding-left: 32px;
121
- padding-right: 32px;
122
- flex: 1 1 auto;
123
- }
124
-
125
- @media (prefers-reduced-motion) {
126
- SBackText {
127
- transition: none;
128
- }
129
- }