@semcore/modal 3.5.5 → 3.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,11 +2,23 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [3.5.5] - 2023-03-01
5
+ ## [3.5.7] - 2023-03-03
6
6
 
7
7
  ### Changed
8
8
 
9
- - Version patch update due to children dependencies update (`@semcore/icon` [3.13.0 ~> 3.13.1]).
9
+ - Version patch update due to children dependencies update (`@semcore/icon` [3.13.1 ~> 3.13.2]).
10
+
11
+ ## [3.5.6] - 2023-03-01
12
+
13
+ ### Fixed
14
+
15
+ - Fixed `animationsDisabled` prop passing.
16
+
17
+ ## [3.5.4] - 2023-02-28
18
+
19
+ ### Changed
20
+
21
+ - Version patch update due to children dependencies update (`@semcore/animation` [1.9.1 ~> 1.9.2]).
10
22
 
11
23
  ## [3.5.2] - 2023-02-22
12
24
 
package/lib/cjs/Modal.js CHANGED
@@ -64,16 +64,16 @@ var style = (
64
64
  /*__reshadow_css_start__*/
65
65
  _core.sstyled.insert(
66
66
  /*__inner_css_start__*/
67
- ".___SWindow_xmghz_gg_{position:relative;border-radius:var(--intergalactic-modal-rounded, 12px);background:var(--intergalactic-bg-primary-neutral, #ffffff);box-sizing:border-box;margin:auto;padding:var(--intergalactic-spacing-10x, 40px);box-shadow:var(--intergalactic-box-shadow-modal, 0px 3px 8px 0px rgba(25, 27, 35, 0.2))}.___SWindow_xmghz_gg_:focus{outline:0}.___SOverlay_xmghz_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:var(--intergalactic-spacing-10x, 40px);background:var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));overflow:auto;z-index:var(--intergalactic-z-index-modal, 600);-webkit-overflow-scrolling:touch}.___SOverlay_xmghz_gg_ .___SOverlay_xmghz_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_xmghz_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:var(--intergalactic-spacing-3x, 12px);color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer;z-index:1;border:0;background:0 0;outline:0}@media (hover:hover){.___SClose_xmghz_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_xmghz_gg_.__keyboardFocused_xmghz_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_xmghz_gg_{color:var(--intergalactic-text-primary, #191b23);font-size:var(--intergalactic-fs-500, 24px);line-height:var(--intergalactic-lh-500, 117%);font-weight:var(--intergalactic-semi-bold, 600);margin-bottom:var(--intergalactic-spacing-2x, 8px)}@media (max-width:767px){.___SWindow_xmghz_gg_{min-width:60%}.___SOverlay_xmghz_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
67
+ ".___SWindow_e8w9q_gg_{position:relative;border-radius:var(--intergalactic-modal-rounded, 12px);background:var(--intergalactic-bg-primary-neutral, #ffffff);box-sizing:border-box;margin:auto;padding:var(--intergalactic-spacing-10x, 40px);box-shadow:var(--intergalactic-box-shadow-modal, 0px 3px 8px 0px rgba(25, 27, 35, 0.2))}.___SWindow_e8w9q_gg_:focus{outline:0}.___SOverlay_e8w9q_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:var(--intergalactic-spacing-10x, 40px);background:var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));overflow:auto;z-index:var(--intergalactic-z-index-modal, 600);-webkit-overflow-scrolling:touch}.___SOverlay_e8w9q_gg_ .___SOverlay_e8w9q_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_e8w9q_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:var(--intergalactic-spacing-3x, 12px);color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer;z-index:1;border:0;background:0 0;outline:0}@media (hover:hover){.___SClose_e8w9q_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_e8w9q_gg_.__keyboardFocused_e8w9q_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_e8w9q_gg_{color:var(--intergalactic-text-primary, #191b23);font-size:var(--intergalactic-fs-500, 24px);line-height:var(--intergalactic-lh-500, 117%);font-weight:var(--intergalactic-semi-bold, 600);margin-bottom:var(--intergalactic-spacing-2x, 8px)}@media (max-width:767px){.___SWindow_e8w9q_gg_{min-width:60%}.___SOverlay_e8w9q_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
68
68
  /*__inner_css_end__*/
69
- , "xmghz_gg_")
69
+ , "e8w9q_gg_")
70
70
  /*__reshadow_css_end__*/
71
71
  , {
72
- "__SWindow": "___SWindow_xmghz_gg_",
73
- "__SOverlay": "___SOverlay_xmghz_gg_",
74
- "__SClose": "___SClose_xmghz_gg_",
75
- "_keyboardFocused": "__keyboardFocused_xmghz_gg_",
76
- "__STitle": "___STitle_xmghz_gg_"
72
+ "__SWindow": "___SWindow_e8w9q_gg_",
73
+ "__SOverlay": "___SOverlay_e8w9q_gg_",
74
+ "__SClose": "___SClose_e8w9q_gg_",
75
+ "_keyboardFocused": "__keyboardFocused_e8w9q_gg_",
76
+ "__STitle": "___STitle_e8w9q_gg_"
77
77
  });
78
78
 
79
79
  var ModalRoot = /*#__PURE__*/function (_Component) {
@@ -114,11 +114,13 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
114
114
  value: function getOverlayProps() {
115
115
  var _this$asProps = this.asProps,
116
116
  duration = _this$asProps.duration,
117
- visible = _this$asProps.visible;
117
+ visible = _this$asProps.visible,
118
+ animationsDisabled = _this$asProps.animationsDisabled;
118
119
  return {
119
120
  duration: duration,
120
121
  visible: visible,
121
- onOutsideClick: this.handleOutsideClick
122
+ onOutsideClick: this.handleOutsideClick,
123
+ animationsDisabled: animationsDisabled
122
124
  };
123
125
  }
124
126
  }, {
@@ -129,7 +131,8 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
129
131
  closable = _this$asProps2.closable,
130
132
  getI18nText = _this$asProps2.getI18nText,
131
133
  uid = _this$asProps2.uid,
132
- duration = _this$asProps2.duration;
134
+ duration = _this$asProps2.duration,
135
+ animationsDisabled = _this$asProps2.animationsDisabled;
133
136
  var hasTitle = this.state.hasTitle;
134
137
  return {
135
138
  visible: visible,
@@ -137,7 +140,8 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
137
140
  onKeyDown: this.handleKeyDown,
138
141
  'aria-label': hasTitle ? undefined : getI18nText('title'),
139
142
  'aria-labelledby': hasTitle ? "igc-".concat(uid, "-title") : undefined,
140
- duration: duration
143
+ duration: duration,
144
+ animationsDisabled: animationsDisabled
141
145
  };
142
146
  }
143
147
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["ModalRoot","hasTitle","e","key","stopPropagation","fire","asProps","duration","visible","onOutsideClick","handleOutsideClick","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","onClick","handleIconCloseClick","setTitle","setState","id","Children","disablePortal","advanceMode","isAdvanceMode","Modal","Overlay","displayName","Window","Component","style","i18nEnhance","localizedMessages","uniqueIDEnhancement","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","i18n","locale","FocusLockWrapper","React","forwardRef","props","ref","display","SWindow","Slide","styles","windowRef","useRef","sstyled","SOverlay","FadeInOut","overlayRef","usePreventScroll","Close","SClose","Box","hasChildren","children","enhance","keyboardFocusEnhance","Title","STitle","Text","useEffect","createComponent"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport FocusLock from 'react-focus-lock';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nconst FocusLockWrapper = React.forwardRef(function (props, ref) {\n return <FocusLock ref={ref} {...props} lockProps={{ style: { display: 'contents' } }} />;\n});\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n >\n <FocusLockWrapper returnFocus={true} autoFocus={true} ref={windowRef} tabIndex={-1}>\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </FocusLockWrapper>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["ModalRoot","hasTitle","e","key","stopPropagation","fire","asProps","duration","visible","animationsDisabled","onOutsideClick","handleOutsideClick","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","onClick","handleIconCloseClick","setTitle","setState","id","Children","disablePortal","advanceMode","isAdvanceMode","Modal","Overlay","displayName","Window","Component","style","i18nEnhance","localizedMessages","uniqueIDEnhancement","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","i18n","locale","FocusLockWrapper","React","forwardRef","props","ref","display","SWindow","Slide","styles","windowRef","useRef","sstyled","SOverlay","FadeInOut","overlayRef","usePreventScroll","Close","SClose","Box","hasChildren","children","enhance","keyboardFocusEnhance","Title","STitle","Text","useEffect","createComponent"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport FocusLock from 'react-focus-lock';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible, animationsDisabled } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration, animationsDisabled } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n animationsDisabled,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nconst FocusLockWrapper = React.forwardRef(function (props, ref) {\n return <FocusLock ref={ref} {...props} lockProps={{ style: { display: 'contents' } }} />;\n});\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n >\n <FocusLockWrapper returnFocus={true} autoFocus={true} ref={windowRef} tabIndex={-1}>\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </FocusLockWrapper>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":"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"}
package/lib/es6/Modal.js CHANGED
@@ -30,16 +30,16 @@ var style = (
30
30
  /*__reshadow_css_start__*/
31
31
  _sstyled.insert(
32
32
  /*__inner_css_start__*/
33
- ".___SWindow_xmghz_gg_{position:relative;border-radius:var(--intergalactic-modal-rounded, 12px);background:var(--intergalactic-bg-primary-neutral, #ffffff);box-sizing:border-box;margin:auto;padding:var(--intergalactic-spacing-10x, 40px);box-shadow:var(--intergalactic-box-shadow-modal, 0px 3px 8px 0px rgba(25, 27, 35, 0.2))}.___SWindow_xmghz_gg_:focus{outline:0}.___SOverlay_xmghz_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:var(--intergalactic-spacing-10x, 40px);background:var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));overflow:auto;z-index:var(--intergalactic-z-index-modal, 600);-webkit-overflow-scrolling:touch}.___SOverlay_xmghz_gg_ .___SOverlay_xmghz_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_xmghz_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:var(--intergalactic-spacing-3x, 12px);color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer;z-index:1;border:0;background:0 0;outline:0}@media (hover:hover){.___SClose_xmghz_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_xmghz_gg_.__keyboardFocused_xmghz_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_xmghz_gg_{color:var(--intergalactic-text-primary, #191b23);font-size:var(--intergalactic-fs-500, 24px);line-height:var(--intergalactic-lh-500, 117%);font-weight:var(--intergalactic-semi-bold, 600);margin-bottom:var(--intergalactic-spacing-2x, 8px)}@media (max-width:767px){.___SWindow_xmghz_gg_{min-width:60%}.___SOverlay_xmghz_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
33
+ ".___SWindow_e8w9q_gg_{position:relative;border-radius:var(--intergalactic-modal-rounded, 12px);background:var(--intergalactic-bg-primary-neutral, #ffffff);box-sizing:border-box;margin:auto;padding:var(--intergalactic-spacing-10x, 40px);box-shadow:var(--intergalactic-box-shadow-modal, 0px 3px 8px 0px rgba(25, 27, 35, 0.2))}.___SWindow_e8w9q_gg_:focus{outline:0}.___SOverlay_e8w9q_gg_{position:fixed;top:0;bottom:0;left:0;right:0;margin:0;display:flex;justify-content:center;align-items:center;padding:var(--intergalactic-spacing-10x, 40px);background:var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));overflow:auto;z-index:var(--intergalactic-z-index-modal, 600);-webkit-overflow-scrolling:touch}.___SOverlay_e8w9q_gg_ .___SOverlay_e8w9q_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_e8w9q_gg_{display:inline-flex;position:absolute;right:0;top:0;padding:var(--intergalactic-spacing-3x, 12px);color:var(--intergalactic-icon-secondary-neutral, #a9abb6);cursor:pointer;z-index:1;border:0;background:0 0;outline:0}@media (hover:hover){.___SClose_e8w9q_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_e8w9q_gg_.__keyboardFocused_e8w9q_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_e8w9q_gg_{color:var(--intergalactic-text-primary, #191b23);font-size:var(--intergalactic-fs-500, 24px);line-height:var(--intergalactic-lh-500, 117%);font-weight:var(--intergalactic-semi-bold, 600);margin-bottom:var(--intergalactic-spacing-2x, 8px)}@media (max-width:767px){.___SWindow_e8w9q_gg_{min-width:60%}.___SOverlay_e8w9q_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
34
34
  /*__inner_css_end__*/
35
- , "xmghz_gg_")
35
+ , "e8w9q_gg_")
36
36
  /*__reshadow_css_end__*/
37
37
  , {
38
- "__SWindow": "___SWindow_xmghz_gg_",
39
- "__SOverlay": "___SOverlay_xmghz_gg_",
40
- "__SClose": "___SClose_xmghz_gg_",
41
- "_keyboardFocused": "__keyboardFocused_xmghz_gg_",
42
- "__STitle": "___STitle_xmghz_gg_"
38
+ "__SWindow": "___SWindow_e8w9q_gg_",
39
+ "__SOverlay": "___SOverlay_e8w9q_gg_",
40
+ "__SClose": "___SClose_e8w9q_gg_",
41
+ "_keyboardFocused": "__keyboardFocused_e8w9q_gg_",
42
+ "__STitle": "___STitle_e8w9q_gg_"
43
43
  });
44
44
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
45
45
  import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
@@ -90,11 +90,13 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
90
90
  value: function getOverlayProps() {
91
91
  var _this$asProps = this.asProps,
92
92
  duration = _this$asProps.duration,
93
- visible = _this$asProps.visible;
93
+ visible = _this$asProps.visible,
94
+ animationsDisabled = _this$asProps.animationsDisabled;
94
95
  return {
95
96
  duration: duration,
96
97
  visible: visible,
97
- onOutsideClick: this.handleOutsideClick
98
+ onOutsideClick: this.handleOutsideClick,
99
+ animationsDisabled: animationsDisabled
98
100
  };
99
101
  }
100
102
  }, {
@@ -105,7 +107,8 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
105
107
  closable = _this$asProps2.closable,
106
108
  getI18nText = _this$asProps2.getI18nText,
107
109
  uid = _this$asProps2.uid,
108
- duration = _this$asProps2.duration;
110
+ duration = _this$asProps2.duration,
111
+ animationsDisabled = _this$asProps2.animationsDisabled;
109
112
  var hasTitle = this.state.hasTitle;
110
113
  return {
111
114
  visible: visible,
@@ -113,7 +116,8 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
113
116
  onKeyDown: this.handleKeyDown,
114
117
  'aria-label': hasTitle ? undefined : getI18nText('title'),
115
118
  'aria-labelledby': hasTitle ? "igc-".concat(uid, "-title") : undefined,
116
- duration: duration
119
+ duration: duration,
120
+ animationsDisabled: animationsDisabled
117
121
  };
118
122
  }
119
123
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["React","useRef","useEffect","FocusLock","FadeInOut","Slide","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","localizedMessages","i18nEnhance","Text","uniqueIDEnhancement","cssVariableEnhance","ModalRoot","hasTitle","e","key","stopPropagation","asProps","duration","visible","onOutsideClick","handleOutsideClick","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","onClick","handleIconCloseClick","setTitle","setState","id","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","style","variable","fallback","map","Number","parseInt","prop","i18n","locale","FocusLockWrapper","forwardRef","props","ref","display","SWindow","styles","windowRef","SOverlay","overlayRef","Close","SClose","hasChildren","children","enhance","Title","STitle"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport FocusLock from 'react-focus-lock';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nconst FocusLockWrapper = React.forwardRef(function (props, ref) {\n return <FocusLock ref={ref} {...props} lockProps={{ style: { display: 'contents' } }} />;\n});\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n >\n <FocusLockWrapper returnFocus={true} autoFocus={true} ref={windowRef} tabIndex={-1}>\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </FocusLockWrapper>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["React","useRef","useEffect","FocusLock","FadeInOut","Slide","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","localizedMessages","i18nEnhance","Text","uniqueIDEnhancement","cssVariableEnhance","ModalRoot","hasTitle","e","key","stopPropagation","asProps","duration","visible","animationsDisabled","onOutsideClick","handleOutsideClick","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","onClick","handleIconCloseClick","setTitle","setState","id","Children","disablePortal","advanceMode","Modal","Overlay","displayName","Window","style","variable","fallback","map","Number","parseInt","prop","i18n","locale","FocusLockWrapper","forwardRef","props","ref","display","SWindow","styles","windowRef","SOverlay","overlayRef","Close","SClose","hasChildren","children","enhance","Title","STitle"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\nimport FocusLock from 'react-focus-lock';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport { Box } from '@semcore/flex-box';\nimport OutsideClick from '@semcore/outside-click';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport fire from '@semcore/utils/lib/fire';\nimport usePreventScroll from '@semcore/utils/lib/use/usePreventScroll';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nclass ModalRoot extends Component {\n static displayName = 'Modal';\n static style = style;\n static enhance = [\n i18nEnhance(localizedMessages),\n uniqueIDEnhancement(),\n cssVariableEnhance({\n variable: '--intergalactic-duration-modal',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n };\n state = { hasTitle: false };\n\n handleKeyDown = (e) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n fire(this, 'onClose', 'onEscape', e);\n }\n };\n\n handleIconCloseClick = (e) => {\n fire(this, 'onClose', 'onCloseClick', e);\n };\n\n handleOutsideClick = (e) => {\n fire(this, 'onClose', 'onOutsideClick', e);\n };\n\n getOverlayProps() {\n const { duration, visible, animationsDisabled } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n };\n }\n\n getWindowProps() {\n const { visible, closable, getI18nText, uid, duration, animationsDisabled } = this.asProps;\n const { hasTitle } = this.state;\n return {\n visible,\n closable,\n onKeyDown: this.handleKeyDown,\n 'aria-label': hasTitle ? undefined : getI18nText('title'),\n 'aria-labelledby': hasTitle ? `igc-${uid}-title` : undefined,\n duration,\n animationsDisabled,\n };\n }\n\n getCloseProps() {\n const { getI18nText } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setTitle,\n };\n }\n\n render() {\n const { Children, disablePortal } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n Modal.Overlay.displayName,\n Modal.Window.displayName,\n ]);\n\n return (\n <Portal disablePortal={disablePortal}>\n {advanceMode ? (\n <Children />\n ) : (\n <Modal.Overlay>\n <Root render={Modal.Window} />\n </Modal.Overlay>\n )}\n </Portal>\n );\n }\n}\n\nconst FocusLockWrapper = React.forwardRef(function (props, ref) {\n return <FocusLock ref={ref} {...props} lockProps={{ style: { display: 'contents' } }} />;\n});\n\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n return sstyled(styles)(\n <SWindow\n render={Slide}\n initialAnimation={true}\n slideOrigin=\"top\"\n visible={visible}\n role=\"dialog\"\n aria-modal={true}\n duration={duration}\n >\n <FocusLockWrapper returnFocus={true} autoFocus={true} ref={windowRef} tabIndex={-1}>\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </FocusLockWrapper>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = useRef(null);\n usePreventScroll(visible);\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef}>\n <OutsideClick root={overlayRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText } = props;\n return sstyled(props.styles)(\n <SClose render={Box} tag=\"button\" tabIndex={0} aria-label={getI18nText('close')}>\n {hasChildren ? <Children /> : <CloseIcon title={getI18nText('close')} />}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setTitle, styles } = props;\n const STitle = Root;\n\n useEffect(() => setTitle());\n\n return sstyled(styles)(<STitle render={Text} tag=\"h2\" />);\n}\n\nconst Modal = createComponent(ModalRoot, {\n Window,\n Overlay,\n Close,\n Title,\n});\n\nexport default Modal;\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,SAAxB,QAAyC,OAAzC;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,SAASC,SAAT,EAAoBC,KAApB,QAAiC,oBAAjC;AACA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,OAArC,EAA8CC,IAA9C,QAA0D,eAA1D;AACA,OAAOC,MAAP,IAAiBC,cAAjB,QAAuC,iBAAvC;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,IAAP,MAAiB,yBAAjB;AACA,OAAOC,gBAAP,MAA6B,yCAA7B;AACA,SAASC,aAAT,QAA8B,kCAA9B;AACA,OAAOC,oBAAP,MAAiC,kDAAjC;;;;;;;;;;;;;;;;;;AAEA,SAASC,iBAAT,QAAkC,gDAAlC;AACA,OAAOC,WAAP,MAAwB,yCAAxB;AACA,SAASC,IAAT,QAAqB,qBAArB;AACA,OAAOC,mBAAP,MAAgC,6BAAhC;AACA,SAASC,kBAAT,QAAmC,mCAAnC;;IAEMC,S;;;;;;;;;;;;;;;;4DAkBI;MAAEC,QAAQ,EAAE;IAAZ,C;;oEAEQ,UAACC,CAAD,EAAO;MACrB,IAAIA,CAAC,CAACC,GAAF,KAAU,QAAd,EAAwB;QACtBD,CAAC,CAACE,eAAF;QACAb,IAAI,gCAAO,SAAP,EAAkB,UAAlB,EAA8BW,CAA9B,CAAJ;MACD;IACF,C;;2EAEsB,UAACA,CAAD,EAAO;MAC5BX,IAAI,gCAAO,SAAP,EAAkB,cAAlB,EAAkCW,CAAlC,CAAJ;IACD,C;;yEAEoB,UAACA,CAAD,EAAO;MAC1BX,IAAI,gCAAO,SAAP,EAAkB,gBAAlB,EAAoCW,CAApC,CAAJ;IACD,C;;;;;;;WAED,2BAAkB;MAChB,oBAAkD,KAAKG,OAAvD;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,OAAlB,iBAAkBA,OAAlB;MAAA,IAA2BC,kBAA3B,iBAA2BA,kBAA3B;MACA,OAAO;QACLF,QAAQ,EAARA,QADK;QAELC,OAAO,EAAPA,OAFK;QAGLE,cAAc,EAAE,KAAKC,kBAHhB;QAILF,kBAAkB,EAAlBA;MAJK,CAAP;IAMD;;;WAED,0BAAiB;MACf,qBAA8E,KAAKH,OAAnF;MAAA,IAAQE,OAAR,kBAAQA,OAAR;MAAA,IAAiBI,QAAjB,kBAAiBA,QAAjB;MAAA,IAA2BC,WAA3B,kBAA2BA,WAA3B;MAAA,IAAwCC,GAAxC,kBAAwCA,GAAxC;MAAA,IAA6CP,QAA7C,kBAA6CA,QAA7C;MAAA,IAAuDE,kBAAvD,kBAAuDA,kBAAvD;MACA,IAAQP,QAAR,GAAqB,KAAKa,KAA1B,CAAQb,QAAR;MACA,OAAO;QACLM,OAAO,EAAPA,OADK;QAELI,QAAQ,EAARA,QAFK;QAGLI,SAAS,EAAE,KAAKC,aAHX;QAIL,cAAcf,QAAQ,GAAGgB,SAAH,GAAeL,WAAW,CAAC,OAAD,CAJ3C;QAKL,mBAAmBX,QAAQ,iBAAUY,GAAV,cAAwBI,SAL9C;QAMLX,QAAQ,EAARA,QANK;QAOLE,kBAAkB,EAAlBA;MAPK,CAAP;IASD;;;WAED,yBAAgB;MACd,IAAQI,WAAR,GAAwB,KAAKP,OAA7B,CAAQO,WAAR;MAEA,OAAO;QACLM,OAAO,EAAE,KAAKC,oBADT;QAELP,WAAW,EAAXA;MAFK,CAAP;IAID;;;WAED,yBAAgB;MAAA;;MACd,IAAQC,GAAR,GAAgB,KAAKR,OAArB,CAAQQ,GAAR;;MACA,IAAMO,QAAQ,GAAG,SAAXA,QAAW;QAAA,OAAM,MAAI,CAACC,QAAL,CAAc;UAAEpB,QAAQ,EAAE;QAAZ,CAAd,CAAN;MAAA,CAAjB;;MAEA,OAAO;QACLqB,EAAE,gBAAST,GAAT,WADG;QAELO,QAAQ,EAARA;MAFK,CAAP;IAID;;;WAED,kBAAS;MAAA;MACP,qBAAoC,KAAKf,OAAzC;MAAA,IAAQkB,QAAR,kBAAQA,QAAR;MAAA,IAAkBC,aAAlB,kBAAkBA,aAAlB;MAEA,IAAMC,WAAW,GAAGhC,aAAa,CAAC8B,QAAD,EAAW,CAC1CG,KAAK,CAACC,OAAN,CAAcC,WAD4B,EAE1CF,KAAK,CAACG,MAAN,CAAaD,WAF6B,CAAX,CAAjC;MAKA,oBACE,oBAAC,MAAD;QAAQ,aAAa,EAAEJ;MAAvB,GACGC,WAAW,gBACV,oBAAC,QAAD,OADU,gBAGV,oBAAC,KAAD,CAAO,OAAP,qBACE,oBAAcC,KAAK,CAACG,MAApB,yBADF,CAJJ,CADF;IAWD;;;;EAjGqB9C,S;;gBAAlBiB,S,iBACiB,O;;gBADjBA,S,WAEW8B,K;;gBAFX9B,S,aAGa,CACfJ,WAAW,CAACD,iBAAD,CADI,EAEfG,mBAAmB,EAFJ,EAGfC,kBAAkB,CAAC;EACjBgC,QAAQ,EAAE,gCADO;EAEjBC,QAAQ,EAAE,KAFO;EAGjBC,GAAG,EAAEC,MAAM,CAACC,QAHK;EAIjBC,IAAI,EAAE;AAJW,CAAD,CAHH,C;;gBAHbpC,S,kBAakB;EACpBW,QAAQ,EAAE,IADU;EAEpB0B,IAAI,EAAE1C,iBAFc;EAGpB2C,MAAM,EAAE;AAHY,C;;AAuFxB,IAAMC,gBAAgB,gBAAG/D,KAAK,CAACgE,UAAN,CAAiB,UAAUC,KAAV,EAAiBC,GAAjB,EAAsB;EAC9D,oBAAO,oBAAC,SAAD;IAAW,GAAG,EAAEA;EAAhB,GAAyBD,KAAzB;IAAgC,SAAS,EAAE;MAAEX,KAAK,EAAE;QAAEa,OAAO,EAAE;MAAX;IAAT;EAA3C,GAAP;AACD,CAFwB,CAAzB;;AAIA,SAASd,MAAT,CAAgBY,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAMG,OAAO,GAMD/D,KANZ;EACA,IAAQ0C,QAAR,GAA0DkB,KAA1D,CAAQlB,QAAR;EAAA,IAAkBsB,MAAlB,GAA0DJ,KAA1D,CAAkBI,MAAlB;EAAA,IAA0BtC,OAA1B,GAA0DkC,KAA1D,CAA0BlC,OAA1B;EAAA,IAAmCI,QAAnC,GAA0D8B,KAA1D,CAAmC9B,QAAnC;EAAA,IAA6CL,QAA7C,GAA0DmC,KAA1D,CAA6CnC,QAA7C;EACA,IAAMwC,SAAS,GAAGrE,MAAM,CAAC,IAAD,CAAxB;EAEA,eAAOO,OAAO,CAAC6D,MAAD,CAAd,eACE,oBAAC,OAAD;IAAA,oBAEoB,IAFpB;IAAA,eAGc,KAHd;IAAA,WAIWtC,OAJX;IAAA,QAKO,QALP;IAAA,cAMc,IANd;IAAA,YAOYD;EAPZ,0BASE,oBAAC,gBAAD;IAAA,eAA+B,IAA/B;IAAA,aAAgD,IAAhD;IAAA,OAA2DwC,SAA3D;IAAA,YAAgF,CAAC;EAAjF,iBACE,oBAAC,cAAD;IAAA,SAAuBA;EAAvB,IACGnC,QAAQ,iBAAI,oBAAC,KAAD,CAAO,KAAP,OADf,eAEE,oBAAC,QAAD,2BAFF,CADF,CATF,CADF;AAkBD;;AAED,SAASgB,OAAT,CAAiBc,KAAjB,EAAwB;EAAA;EAAA;;EACtB,IAAMM,QAAQ,GAMMnE,SANpB;EACA,IAAQ2C,QAAR,GAAsDkB,KAAtD,CAAQlB,QAAR;EAAA,IAAkBsB,MAAlB,GAAsDJ,KAAtD,CAAkBI,MAAlB;EAAA,IAA0BpC,cAA1B,GAAsDgC,KAAtD,CAA0BhC,cAA1B;EAAA,IAA0CF,OAA1C,GAAsDkC,KAAtD,CAA0ClC,OAA1C;EACA,IAAMyC,UAAU,GAAGvE,MAAM,CAAC,IAAD,CAAzB;EACAe,gBAAgB,CAACe,OAAD,CAAhB;EAEA,eAAOvB,OAAO,CAAC6D,MAAD,CAAd,eACE,oBAAC,QAAD;IAAA,OAAkCG;EAAlC,0BACE,oBAAC,YAAD;IAAA,QAAoBA,UAApB;IAAA,kBAAgDvC;EAAhD,iBACE,oBAAC,QAAD,2BADF,CADF,CADF;AAOD;;AAED,SAASwC,KAAT,CAAeR,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAMS,MAAM,GAGM9D,GAHlB;EACA,IAAQmC,QAAR,GAAyDkB,KAAzD,CAAQlB,QAAR;EAAA,IAA4B4B,WAA5B,GAAyDV,KAAzD,CAAkBW,QAAlB;EAAA,IAAyCxC,WAAzC,GAAyD6B,KAAzD,CAAyC7B,WAAzC;EACA,eAAO5B,OAAO,CAACyD,KAAK,CAACI,MAAP,CAAd,eACE,oBAAC,MAAD;IAAA,OAAyB,QAAzB;IAAA,YAA4C,CAA5C;IAAA,cAA2DjC,WAAW,CAAC,OAAD;EAAtE,aACGuC,WAAW,gBAAG,oBAAC,QAAD,2BAAH,gBAAkB,oBAAC,SAAD;IAAA,SAAkBvC,WAAW,CAAC,OAAD;EAA7B,GADhC,CADF;AAKD;;AAEDqC,KAAK,CAACI,OAAN,GAAgB,CAAC3D,oBAAoB,EAArB,CAAhB;;AAEA,SAAS4D,KAAT,CAAeb,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAQrB,QAAR,GAA6BqB,KAA7B,CAAQrB,QAAR;EAAA,IAAkByB,MAAlB,GAA6BJ,KAA7B,CAAkBI,MAAlB;EACA,IAAMU,MAAM,GAI2B1D,IAJvC;EAEAnB,SAAS,CAAC;IAAA,OAAM0C,QAAQ,EAAd;EAAA,CAAD,CAAT;EAEA,eAAOpC,OAAO,CAAC6D,MAAD,CAAd,eAAuB,oBAAC,MAAD;IAAA,OAA0B;EAA1B,YAAvB;AACD;;AAED,IAAMnB,KAAK,GAAG5C,eAAe,CAACkB,SAAD,EAAY;EACvC6B,MAAM,EAANA,MADuC;EAEvCF,OAAO,EAAPA,OAFuC;EAGvCsB,KAAK,EAALA,KAHuC;EAIvCK,KAAK,EAALA;AAJuC,CAAZ,CAA7B;AAOA,eAAe5B,KAAf"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/modal",
3
3
  "description": "Semrush Modal Component",
4
- "version": "3.5.5",
4
+ "version": "3.5.7",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",