@semcore/modal 3.5.13 → 3.5.15

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,18 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.5.15] - 2023-03-28
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/animation` [1.9.8 ~> 1.9.9], `@semcore/flex-box` [4.7.16 ~> 4.7.17], `@semcore/icon` [3.14.4 ~> 3.14.5], `@semcore/utils` [3.49.0 ~> 3.49.1]).
10
+
11
+ ## [3.5.14] - 2023-03-24
12
+
13
+ ### Fixed
14
+
15
+ - Fixed local themes in modals.
16
+
5
17
  ## [3.5.13] - 2023-03-24
6
18
 
7
19
  ### Changed
package/lib/cjs/Modal.js CHANGED
@@ -57,21 +57,23 @@ var _useCssVariable = require("@semcore/utils/lib/useCssVariable");
57
57
 
58
58
  var _useFocusLock = require("@semcore/utils/lib/use/useFocusLock");
59
59
 
60
+ var _ThemeProvider = require("@semcore/utils/lib/ThemeProvider");
61
+
60
62
  /*__reshadow-styles__:"./style/modal.shadow.css"*/
61
63
  var style = (
62
64
  /*__reshadow_css_start__*/
63
65
  _core.sstyled.insert(
64
66
  /*__inner_css_start__*/
65
- ".___SWindow_1ha12_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_1ha12_gg_:focus{outline:0}.___SOverlay_1ha12_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_1ha12_gg_ .___SOverlay_1ha12_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_1ha12_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_1ha12_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_1ha12_gg_.__keyboardFocused_1ha12_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_1ha12_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_1ha12_gg_{min-width:60%}.___SOverlay_1ha12_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
67
+ ".___SWindow_6rh96_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_6rh96_gg_:focus{outline:0}.___SOverlay_6rh96_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_6rh96_gg_ .___SOverlay_6rh96_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_6rh96_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_6rh96_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_6rh96_gg_.__keyboardFocused_6rh96_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_6rh96_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_6rh96_gg_{min-width:60%}.___SOverlay_6rh96_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
66
68
  /*__inner_css_end__*/
67
- , "1ha12_gg_")
69
+ , "6rh96_gg_")
68
70
  /*__reshadow_css_end__*/
69
71
  , {
70
- "__SWindow": "___SWindow_1ha12_gg_",
71
- "__SOverlay": "___SOverlay_1ha12_gg_",
72
- "__SClose": "___SClose_1ha12_gg_",
73
- "_keyboardFocused": "__keyboardFocused_1ha12_gg_",
74
- "__STitle": "___STitle_1ha12_gg_"
72
+ "__SWindow": "___SWindow_6rh96_gg_",
73
+ "__SOverlay": "___SOverlay_6rh96_gg_",
74
+ "__SClose": "___SClose_6rh96_gg_",
75
+ "_keyboardFocused": "__keyboardFocused_6rh96_gg_",
76
+ "__STitle": "___STitle_6rh96_gg_"
75
77
  });
76
78
 
77
79
  var ModalRoot = /*#__PURE__*/function (_Component) {
@@ -235,6 +237,7 @@ function Overlay(props) {
235
237
  visible = props.visible;
236
238
  var overlayRef = (0, _react.useRef)(null);
237
239
  (0, _usePreventScroll["default"])(visible);
240
+ (0, _ThemeProvider.useContextTheme)(overlayRef, visible);
238
241
  return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SOverlay, _ref7.cn("SOverlay", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
239
242
  "ref": overlayRef
240
243
  }, _ref3))), /*#__PURE__*/_react["default"].createElement(_outsideClick["default"], _ref7.cn("OutsideClick", {
@@ -1 +1 @@
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","props","SWindow","Slide","styles","windowRef","useRef","useFocusLock","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 { 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';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\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\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\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 ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\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","props","SWindow","Slide","styles","windowRef","useRef","useFocusLock","sstyled","SOverlay","FadeInOut","overlayRef","usePreventScroll","useContextTheme","Close","SClose","Box","hasChildren","children","enhance","keyboardFocusEnhance","Title","STitle","Text","useEffect","createComponent"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\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';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\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\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\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 ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\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 useContextTheme(overlayRef, 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":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;IAEMA,S;;;;;;;;;;;;;;;8FAkBI;MAAEC,QAAQ,EAAE;IAAZ,C;sGAEQ,UAACC,CAAD,EAAO;MACrB,IAAIA,CAAC,CAACC,GAAF,KAAU,QAAd,EAAwB;QACtBD,CAAC,CAACE,eAAF;QACA,IAAAC,gBAAA,kDAAW,SAAX,EAAsB,UAAtB,EAAkCH,CAAlC;MACD;IACF,C;6GAEsB,UAACA,CAAD,EAAO;MAC5B,IAAAG,gBAAA,kDAAW,SAAX,EAAsB,cAAtB,EAAsCH,CAAtC;IACD,C;2GAEoB,UAACA,CAAD,EAAO;MAC1B,IAAAG,gBAAA,kDAAW,SAAX,EAAsB,gBAAtB,EAAwCH,CAAxC;IACD,C;;;;;;WAED,2BAAkB;MAChB,oBAAkD,KAAKI,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,IAAQR,QAAR,GAAqB,KAAKc,KAA1B,CAAQd,QAAR;MACA,OAAO;QACLO,OAAO,EAAPA,OADK;QAELI,QAAQ,EAARA,QAFK;QAGLI,SAAS,EAAE,KAAKC,aAHX;QAIL,cAAchB,QAAQ,GAAGiB,SAAH,GAAeL,WAAW,CAAC,OAAD,CAJ3C;QAKL,mBAAmBZ,QAAQ,iBAAUa,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;UAAErB,QAAQ,EAAE;QAAZ,CAAd,CAAN;MAAA,CAAjB;;MAEA,OAAO;QACLsB,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,GAAG,IAAAC,4BAAA,EAAcH,QAAd,EAAwB,CAC1CI,KAAK,CAACC,OAAN,CAAcC,WAD4B,EAE1CF,KAAK,CAACG,MAAN,CAAaD,WAF6B,CAAxB,CAApB;MAKA,oBACE,gCAAC,kBAAD;QAAQ,aAAa,EAAEL;MAAvB,GACGC,WAAW,gBACV,gCAAC,QAAD,OADU,gBAGV,gCAAC,KAAD,CAAO,OAAP,qBACE,gCAAcE,KAAK,CAACG,MAApB,mCADF,CAJJ,CADF;IAWD;;;EAjGqBC,e;;iCAAlBhC,S,iBACiB,O;iCADjBA,S,WAEWiC,K;iCAFXjC,S,aAGa,CACf,IAAAkC,uBAAA,EAAYC,8CAAZ,CADe,EAEf,IAAAC,oBAAA,GAFe,EAGf,IAAAC,kCAAA,EAAmB;EACjBC,QAAQ,EAAE,gCADO;EAEjBC,QAAQ,EAAE,KAFO;EAGjBC,GAAG,EAAEC,MAAM,CAACC,QAHK;EAIjBC,IAAI,EAAE;AAJW,CAAnB,CAHe,C;iCAHb3C,S,kBAakB;EACpBY,QAAQ,EAAE,IADU;EAEpBgC,IAAI,EAAET,8CAFc;EAGpBU,MAAM,EAAE;AAHY,C;;AAuFxB,SAASd,MAAT,CAAgBe,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAMC,OAAO,GAQDC,gBARZ;EACA,IAAQxB,QAAR,GAA0DsB,KAA1D,CAAQtB,QAAR;EAAA,IAAkByB,MAAlB,GAA0DH,KAA1D,CAAkBG,MAAlB;EAAA,IAA0BzC,OAA1B,GAA0DsC,KAA1D,CAA0BtC,OAA1B;EAAA,IAAmCI,QAAnC,GAA0DkC,KAA1D,CAAmClC,QAAnC;EAAA,IAA6CL,QAA7C,GAA0DuC,KAA1D,CAA6CvC,QAA7C;EACA,IAAM2C,SAAS,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAlB;EAEA,IAAAC,0BAAA,EAAaF,SAAb,EAAwB,IAAxB,EAA8B,MAA9B,EAAsC,CAAC1C,OAAvC;EAEA,eAAO,IAAA6C,aAAA,EAAQJ,MAAR,CAAP,eACE,gCAAC,OAAD;IAAA,oBAEoB,IAFpB;IAAA,eAGc,KAHd;IAAA,WAIWzC,OAJX;IAAA,QAKO,QALP;IAAA,cAMc,IANd;IAAA,YAOYD,QAPZ;IAAA,OAQO2C;EARP,0BAUE,gCAAC,sBAAD;IAAA,SAAuBA;EAAvB,IACGtC,QAAQ,iBAAI,gCAAC,KAAD,CAAO,KAAP,OADf,eAEE,gCAAC,QAAD,2BAFF,CAVF,CADF;AAiBD;;AAED,SAASiB,OAAT,CAAiBiB,KAAjB,EAAwB;EAAA;EAAA;;EACtB,IAAMQ,QAAQ,GAOMC,oBAPpB;EACA,IAAQ/B,QAAR,GAAsDsB,KAAtD,CAAQtB,QAAR;EAAA,IAAkByB,MAAlB,GAAsDH,KAAtD,CAAkBG,MAAlB;EAAA,IAA0BvC,cAA1B,GAAsDoC,KAAtD,CAA0BpC,cAA1B;EAAA,IAA0CF,OAA1C,GAAsDsC,KAAtD,CAA0CtC,OAA1C;EACA,IAAMgD,UAAU,GAAG,IAAAL,aAAA,EAAO,IAAP,CAAnB;EACA,IAAAM,4BAAA,EAAiBjD,OAAjB;EACA,IAAAkD,8BAAA,EAAgBF,UAAhB,EAA4BhD,OAA5B;EAEA,eAAO,IAAA6C,aAAA,EAAQJ,MAAR,CAAP,eACE,gCAAC,QAAD;IAAA,OAAkCO;EAAlC,0BACE,gCAAC,wBAAD;IAAA,QAAoBA,UAApB;IAAA,kBAAgD9C;EAAhD,iBACE,gCAAC,QAAD,2BADF,CADF,CADF;AAOD;;AAED,SAASiD,KAAT,CAAeb,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAMc,MAAM,GAGMC,YAHlB;EACA,IAAQrC,QAAR,GAAyDsB,KAAzD,CAAQtB,QAAR;EAAA,IAA4BsC,WAA5B,GAAyDhB,KAAzD,CAAkBiB,QAAlB;EAAA,IAAyClD,WAAzC,GAAyDiC,KAAzD,CAAyCjC,WAAzC;EACA,eAAO,IAAAwC,aAAA,EAAQP,KAAK,CAACG,MAAd,CAAP,eACE,gCAAC,MAAD;IAAA,OAAyB,QAAzB;IAAA,YAA4C,CAA5C;IAAA,cAA2DpC,WAAW,CAAC,OAAD;EAAtE,aACGiD,WAAW,gBAAG,gCAAC,QAAD,2BAAH,gBAAkB,gCAAC,aAAD;IAAA,SAAkBjD,WAAW,CAAC,OAAD;EAA7B,GADhC,CADF;AAKD;;AAED8C,KAAK,CAACK,OAAN,GAAgB,CAAC,IAAAC,gCAAA,GAAD,CAAhB;;AAEA,SAASC,KAAT,CAAepB,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAQzB,QAAR,GAA6ByB,KAA7B,CAAQzB,QAAR;EAAA,IAAkB4B,MAAlB,GAA6BH,KAA7B,CAAkBG,MAAlB;EACA,IAAMkB,MAAM,GAI2BC,gBAJvC;EAEA,IAAAC,gBAAA,EAAU;IAAA,OAAMhD,QAAQ,EAAd;EAAA,CAAV;EAEA,eAAO,IAAAgC,aAAA,EAAQJ,MAAR,CAAP,eAAuB,gCAAC,MAAD;IAAA,OAA0B;EAA1B,YAAvB;AACD;;AAED,IAAMrB,KAAK,GAAG,IAAA0C,gBAAA,EAAgBtE,SAAhB,EAA2B;EACvC+B,MAAM,EAANA,MADuC;EAEvCF,OAAO,EAAPA,OAFuC;EAGvC8B,KAAK,EAALA,KAHuC;EAIvCO,KAAK,EAALA;AAJuC,CAA3B,CAAd;eAOetC,K"}
package/lib/es6/Modal.js CHANGED
@@ -28,16 +28,16 @@ var style = (
28
28
  /*__reshadow_css_start__*/
29
29
  _sstyled.insert(
30
30
  /*__inner_css_start__*/
31
- ".___SWindow_1ha12_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_1ha12_gg_:focus{outline:0}.___SOverlay_1ha12_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_1ha12_gg_ .___SOverlay_1ha12_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_1ha12_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_1ha12_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_1ha12_gg_.__keyboardFocused_1ha12_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_1ha12_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_1ha12_gg_{min-width:60%}.___SOverlay_1ha12_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
31
+ ".___SWindow_6rh96_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_6rh96_gg_:focus{outline:0}.___SOverlay_6rh96_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_6rh96_gg_ .___SOverlay_6rh96_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}.___SClose_6rh96_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_6rh96_gg_:hover{color:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b)}}.___SClose_6rh96_gg_.__keyboardFocused_6rh96_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___STitle_6rh96_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_6rh96_gg_{min-width:60%}.___SOverlay_6rh96_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}"
32
32
  /*__inner_css_end__*/
33
- , "1ha12_gg_")
33
+ , "6rh96_gg_")
34
34
  /*__reshadow_css_end__*/
35
35
  , {
36
- "__SWindow": "___SWindow_1ha12_gg_",
37
- "__SOverlay": "___SOverlay_1ha12_gg_",
38
- "__SClose": "___SClose_1ha12_gg_",
39
- "_keyboardFocused": "__keyboardFocused_1ha12_gg_",
40
- "__STitle": "___STitle_1ha12_gg_"
36
+ "__SWindow": "___SWindow_6rh96_gg_",
37
+ "__SOverlay": "___SOverlay_6rh96_gg_",
38
+ "__SClose": "___SClose_6rh96_gg_",
39
+ "_keyboardFocused": "__keyboardFocused_6rh96_gg_",
40
+ "__STitle": "___STitle_6rh96_gg_"
41
41
  });
42
42
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
43
43
  import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
@@ -45,6 +45,7 @@ import { Text } from '@semcore/typography';
45
45
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
46
46
  import { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';
47
47
  import { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';
48
+ import { useContextTheme } from '@semcore/utils/lib/ThemeProvider';
48
49
 
49
50
  var ModalRoot = /*#__PURE__*/function (_Component) {
50
51
  _inherits(ModalRoot, _Component);
@@ -216,6 +217,7 @@ function Overlay(props) {
216
217
  visible = props.visible;
217
218
  var overlayRef = useRef(null);
218
219
  usePreventScroll(visible);
220
+ useContextTheme(overlayRef, visible);
219
221
  return _ref7 = sstyled(styles), /*#__PURE__*/React.createElement(SOverlay, _ref7.cn("SOverlay", _objectSpread({}, _assignProps3({
220
222
  "ref": overlayRef
221
223
  }, _ref3))), /*#__PURE__*/React.createElement(OutsideClick, _ref7.cn("OutsideClick", {
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["React","useRef","useEffect","FadeInOut","Slide","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","localizedMessages","i18nEnhance","Text","uniqueIDEnhancement","cssVariableEnhance","useFocusLock","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","props","SWindow","styles","windowRef","SOverlay","overlayRef","Close","SClose","hasChildren","children","enhance","Title","STitle"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\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';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\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\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\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 ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\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","FadeInOut","Slide","createComponent","Component","sstyled","Root","Portal","PortalProvider","Box","OutsideClick","CloseIcon","fire","usePreventScroll","isAdvanceMode","keyboardFocusEnhance","localizedMessages","i18nEnhance","Text","uniqueIDEnhancement","cssVariableEnhance","useFocusLock","useContextTheme","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","props","SWindow","styles","windowRef","SOverlay","overlayRef","Close","SClose","hasChildren","children","enhance","Title","STitle"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\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';\nimport { useFocusLock } from '@semcore/utils/lib/use/useFocusLock';\nimport { useContextTheme } from '@semcore/utils/lib/ThemeProvider';\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\nfunction Window(props) {\n const SWindow = Root;\n const { Children, styles, visible, closable, duration } = props;\n const windowRef = useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible);\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 ref={windowRef}\n >\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\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 useContextTheme(overlayRef, 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,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;AACA,SAASC,YAAT,QAA6B,qCAA7B;AACA,SAASC,eAAT,QAAgC,kCAAhC;;IAEMC,S;;;;;;;;;;;;;;;;4DAkBI;MAAEC,QAAQ,EAAE;IAAZ,C;;oEAEQ,UAACC,CAAD,EAAO;MACrB,IAAIA,CAAC,CAACC,GAAF,KAAU,QAAd,EAAwB;QACtBD,CAAC,CAACE,eAAF;QACAf,IAAI,gCAAO,SAAP,EAAkB,UAAlB,EAA8Ba,CAA9B,CAAJ;MACD;IACF,C;;2EAEsB,UAACA,CAAD,EAAO;MAC5Bb,IAAI,gCAAO,SAAP,EAAkB,cAAlB,EAAkCa,CAAlC,CAAJ;IACD,C;;yEAEoB,UAACA,CAAD,EAAO;MAC1Bb,IAAI,gCAAO,SAAP,EAAkB,gBAAlB,EAAoCa,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,GAAGlC,aAAa,CAACgC,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;;;;EAjGqBhD,S;;gBAAlBmB,S,iBACiB,O;;gBADjBA,S,WAEW8B,K;;gBAFX9B,S,aAGa,CACfN,WAAW,CAACD,iBAAD,CADI,EAEfG,mBAAmB,EAFJ,EAGfC,kBAAkB,CAAC;EACjBkC,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,EAAE5C,iBAFc;EAGpB6C,MAAM,EAAE;AAHY,C;;AAuFxB,SAAST,MAAT,CAAgBU,KAAhB,EAAuB;EAAA;EAAA;;EACrB,IAAMC,OAAO,GAQD7D,KARZ;EACA,IAAQ4C,QAAR,GAA0DgB,KAA1D,CAAQhB,QAAR;EAAA,IAAkBkB,MAAlB,GAA0DF,KAA1D,CAAkBE,MAAlB;EAAA,IAA0BlC,OAA1B,GAA0DgC,KAA1D,CAA0BhC,OAA1B;EAAA,IAAmCI,QAAnC,GAA0D4B,KAA1D,CAAmC5B,QAAnC;EAAA,IAA6CL,QAA7C,GAA0DiC,KAA1D,CAA6CjC,QAA7C;EACA,IAAMoC,SAAS,GAAGlE,MAAM,CAAC,IAAD,CAAxB;EAEAsB,YAAY,CAAC4C,SAAD,EAAY,IAAZ,EAAkB,MAAlB,EAA0B,CAACnC,OAA3B,CAAZ;EAEA,eAAOzB,OAAO,CAAC2D,MAAD,CAAd,eACE,oBAAC,OAAD;IAAA,oBAEoB,IAFpB;IAAA,eAGc,KAHd;IAAA,WAIWlC,OAJX;IAAA,QAKO,QALP;IAAA,cAMc,IANd;IAAA,YAOYD,QAPZ;IAAA,OAQOoC;EARP,0BAUE,oBAAC,cAAD;IAAA,SAAuBA;EAAvB,IACG/B,QAAQ,iBAAI,oBAAC,KAAD,CAAO,KAAP,OADf,eAEE,oBAAC,QAAD,2BAFF,CAVF,CADF;AAiBD;;AAED,SAASgB,OAAT,CAAiBY,KAAjB,EAAwB;EAAA;EAAA;;EACtB,IAAMI,QAAQ,GAOMjE,SAPpB;EACA,IAAQ6C,QAAR,GAAsDgB,KAAtD,CAAQhB,QAAR;EAAA,IAAkBkB,MAAlB,GAAsDF,KAAtD,CAAkBE,MAAlB;EAAA,IAA0BhC,cAA1B,GAAsD8B,KAAtD,CAA0B9B,cAA1B;EAAA,IAA0CF,OAA1C,GAAsDgC,KAAtD,CAA0ChC,OAA1C;EACA,IAAMqC,UAAU,GAAGpE,MAAM,CAAC,IAAD,CAAzB;EACAc,gBAAgB,CAACiB,OAAD,CAAhB;EACAR,eAAe,CAAC6C,UAAD,EAAarC,OAAb,CAAf;EAEA,eAAOzB,OAAO,CAAC2D,MAAD,CAAd,eACE,oBAAC,QAAD;IAAA,OAAkCG;EAAlC,0BACE,oBAAC,YAAD;IAAA,QAAoBA,UAApB;IAAA,kBAAgDnC;EAAhD,iBACE,oBAAC,QAAD,2BADF,CADF,CADF;AAOD;;AAED,SAASoC,KAAT,CAAeN,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAMO,MAAM,GAGM5D,GAHlB;EACA,IAAQqC,QAAR,GAAyDgB,KAAzD,CAAQhB,QAAR;EAAA,IAA4BwB,WAA5B,GAAyDR,KAAzD,CAAkBS,QAAlB;EAAA,IAAyCpC,WAAzC,GAAyD2B,KAAzD,CAAyC3B,WAAzC;EACA,eAAO9B,OAAO,CAACyD,KAAK,CAACE,MAAP,CAAd,eACE,oBAAC,MAAD;IAAA,OAAyB,QAAzB;IAAA,YAA4C,CAA5C;IAAA,cAA2D7B,WAAW,CAAC,OAAD;EAAtE,aACGmC,WAAW,gBAAG,oBAAC,QAAD,2BAAH,gBAAkB,oBAAC,SAAD;IAAA,SAAkBnC,WAAW,CAAC,OAAD;EAA7B,GADhC,CADF;AAKD;;AAEDiC,KAAK,CAACI,OAAN,GAAgB,CAACzD,oBAAoB,EAArB,CAAhB;;AAEA,SAAS0D,KAAT,CAAeX,KAAf,EAAsB;EAAA;EAAA;;EACpB,IAAQnB,QAAR,GAA6BmB,KAA7B,CAAQnB,QAAR;EAAA,IAAkBqB,MAAlB,GAA6BF,KAA7B,CAAkBE,MAAlB;EACA,IAAMU,MAAM,GAI2BxD,IAJvC;EAEAlB,SAAS,CAAC;IAAA,OAAM2C,QAAQ,EAAd;EAAA,CAAD,CAAT;EAEA,eAAOtC,OAAO,CAAC2D,MAAD,CAAd,eAAuB,oBAAC,MAAD;IAAA,OAA0B;EAA1B,YAAvB;AACD;;AAED,IAAMf,KAAK,GAAG9C,eAAe,CAACoB,SAAD,EAAY;EACvC6B,MAAM,EAANA,MADuC;EAEvCF,OAAO,EAAPA,OAFuC;EAGvCkB,KAAK,EAALA,KAHuC;EAIvCK,KAAK,EAALA;AAJuC,CAAZ,CAA7B;AAOA,eAAexB,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.13",
4
+ "version": "3.5.15",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",