@semcore/modal 4.56.2-prerelease.0 → 4.57.0-prerelease.0

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
+ ## [4.57.0] - 2026-05-06
6
+
7
+ ### Changed
8
+
9
+ - Version minor update due to children dependencies update (`@semcore/button` [5.43.3 ~> 5.44.0], `@semcore/animation` [2.41.4 ~> 2.42.0], `@semcore/flex-box` [5.41.4 ~> 5.42.0], `@semcore/icon` [4.62.1 ~> 4.63.0], `@semcore/utils` [4.48.5 ~> 4.49.0], `@semcore/core` [2.39.4 ~> 2.40.0]).
10
+
5
11
  ## [4.56.2] - 2025-05-13
6
12
 
7
13
  ### Changed
package/lib/cjs/Modal.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -9,71 +8,66 @@ exports["default"] = void 0;
9
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
13
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
15
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
- var _index = require("@semcore/utils/lib/core/index");
17
- var _core = _interopRequireWildcard(require("@semcore/core"));
18
- var _react = _interopRequireDefault(require("react"));
19
- var _animation = require("@semcore/animation");
20
- var _portal = _interopRequireWildcard(require("@semcore/portal"));
14
+ var _core = require("@semcore/core");
15
+ var _baseComponents = require("@semcore/base-components");
21
16
  var _button = _interopRequireDefault(require("@semcore/button"));
22
- var _outsideClick = _interopRequireDefault(require("@semcore/outside-click"));
17
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
18
+ var _findComponent = require("@semcore/core/lib/utils/findComponent");
19
+ var _fire = _interopRequireDefault(require("@semcore/core/lib/utils/fire"));
20
+ var _ThemeProvider = require("@semcore/core/lib/utils/ThemeProvider");
21
+ var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
22
+ var _useColorResolver = require("@semcore/core/lib/utils/use/useColorResolver");
23
+ var _useFocusLock = require("@semcore/core/lib/utils/use/useFocusLock");
24
+ var _usePreventScroll = _interopRequireDefault(require("@semcore/core/lib/utils/use/usePreventScroll"));
25
+ var _useCssVariable = require("@semcore/core/lib/utils/useCssVariable");
26
+ var _zIndexStacking = require("@semcore/core/lib/utils/zIndexStacking");
23
27
  var _l = _interopRequireDefault(require("@semcore/icon/Close/l"));
24
- var _fire = _interopRequireDefault(require("@semcore/utils/lib/fire"));
25
- var _usePreventScroll = _interopRequireDefault(require("@semcore/utils/lib/use/usePreventScroll"));
26
- var _findComponent = require("@semcore/utils/lib/findComponent");
27
- var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
28
- var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
29
- var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
30
28
  var _typography = require("@semcore/typography");
31
- var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
32
- var _useCssVariable = require("@semcore/utils/lib/useCssVariable");
33
- var _useFocusLock = require("@semcore/utils/lib/use/useFocusLock");
34
- var _ThemeProvider = require("@semcore/utils/lib/ThemeProvider");
35
- var _useColorResolver = require("@semcore/utils/lib/use/useColorResolver");
36
- var _zIndexStacking = require("@semcore/utils/lib/zIndexStacking");
29
+ var _react = _interopRequireDefault(require("react"));
30
+ var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
37
31
  /*!__reshadow-styles__:"./style/modal.shadow.css"*/
38
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SWindow_jrdg9_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));color:var(--intergalactic-text-primary, #191b23)}.___SWindow_jrdg9_gg_:focus{outline:0}.___SWindow_jrdg9_gg_ .___STitle_jrdg9_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);margin-right:var(--intergalactic-spacing-4x, 16px)}.___SWindow_jrdg9_gg_ .___STitle_jrdg9_gg_.__color_jrdg9_gg_{color:var(--color_jrdg9)}.___SWindow_jrdg9_gg_ .___SClose_jrdg9_gg_{display:inline-flex;position:absolute;right:var(--intergalactic-spacing-2x, 8px);top:var(--intergalactic-spacing-2x, 8px)}.___SWindow_jrdg9_gg_ .___SClose_jrdg9_gg_.__ghost_jrdg9_gg_{right:0;top:0}.___SWindow_jrdg9_gg_.__ghost_jrdg9_gg_{background:0 0;padding:0;box-shadow:none}.___SOverlay_jrdg9_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;-webkit-overflow-scrolling:touch}.___SOverlay_jrdg9_gg_ .___SOverlay_jrdg9_gg_{background:var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4))}@media (max-width:767px){.___SWindow_jrdg9_gg_{min-width:60%}.___SOverlay_jrdg9_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}", /*__inner_css_end__*/"jrdg9_gg_"),
32
+ var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SWindow_ryb06_gg_{position:relative;border-radius:var(--intergalactic-modal-rounded, calc(12px + 2px));background:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255));box-sizing:border-box;margin:auto;padding:var(--intergalactic-spacing-10x, 40px);box-shadow:var(--intergalactic-box-shadow-modal, 0px 1px 5px 0px rgba(0, 21, 16, 0.07));color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}@supports (color:color(display-p3 0 0 0%)){.___SWindow_ryb06_gg_{box-shadow:var(--intergalactic-box-shadow-modal, 0px 1px 5px 0px rgba(0, 21, 16, 0.07))}@media (color-gamut:p3){.___SWindow_ryb06_gg_{box-shadow:var(--intergalactic-box-shadow-modal, 0px 1px 5px 0px color(display-p3 0.01753 0.08157 0.06372 / 0.07))}}}.___SWindow_ryb06_gg_:focus{outline:0}.___SWindow_ryb06_gg_ .___STitle_ryb06_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));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);margin-right:var(--intergalactic-spacing-4x, 16px)}.___SWindow_ryb06_gg_ .___STitle_ryb06_gg_.__color_ryb06_gg_{color:var(--color_ryb06)}.___SWindow_ryb06_gg_ .___SClose_ryb06_gg_{display:inline-flex;position:absolute;right:var(--intergalactic-spacing-2x, 8px);top:var(--intergalactic-spacing-2x, 8px)}.___SWindow_ryb06_gg_ .___SClose_ryb06_gg_.__ghost_ryb06_gg_{right:0;top:0}.___SWindow_ryb06_gg_.__ghost_ryb06_gg_{background:0 0;padding:0;box-shadow:none}.___SOverlayContentWrapper_ryb06_gg_{flex:1;max-width:100%;box-sizing:border-box;padding:var(--intergalactic-spacing-10x, 40px)}.___SOverlay_ryb06_gg_{display:flex;justify-content:center;flex-wrap:wrap;position:fixed;top:0;bottom:0;left:0;right:0;margin:0;background:var(--intergalactic-overlay-primary, rgba(0, 6, 3, 0.337));overflow:auto;-webkit-overflow-scrolling:touch}@supports (color:color(display-p3 0 0 0%)){.___SOverlay_ryb06_gg_{background:var(--intergalactic-overlay-primary, rgba(0, 6, 3, 0.337))}@media (color-gamut:p3){.___SOverlay_ryb06_gg_{background:var(--intergalactic-overlay-primary, color(display-p3 0.00414 0.0233 0.01269 / 0.337))}}}.___SOverlay_ryb06_gg_ .___SOverlay_ryb06_gg_{background:var(--intergalactic-overlay-secondary, rgba(0, 8, 5, 0.262))}@media (max-width:767px){.___SWindow_ryb06_gg_{min-width:60%}.___SOverlayContentWrapper_ryb06_gg_{padding:var(--intergalactic-spacing-3x, 12px)}}", /*__inner_css_end__*/"ryb06_gg_"),
39
33
  /*__reshadow_css_end__*/
40
34
  {
41
- "__SWindow": "___SWindow_jrdg9_gg_",
42
- "_ghost": "__ghost_jrdg9_gg_",
43
- "__SOverlay": "___SOverlay_jrdg9_gg_",
44
- "__STitle": "___STitle_jrdg9_gg_",
45
- "_color": "__color_jrdg9_gg_",
46
- "--color": "--color_jrdg9",
47
- "__SClose": "___SClose_jrdg9_gg_"
35
+ "__SWindow": "___SWindow_ryb06_gg_",
36
+ "_ghost": "__ghost_ryb06_gg_",
37
+ "__SOverlayContentWrapper": "___SOverlayContentWrapper_ryb06_gg_",
38
+ "__STitle": "___STitle_ryb06_gg_",
39
+ "_color": "__color_ryb06_gg_",
40
+ "--color": "--color_ryb06",
41
+ "__SClose": "___SClose_ryb06_gg_",
42
+ "__SOverlay": "___SOverlay_ryb06_gg_"
48
43
  });
49
44
  var ModalRoot = /*#__PURE__*/function (_Component) {
50
- (0, _inherits2["default"])(ModalRoot, _Component);
51
- var _super = (0, _createSuper2["default"])(ModalRoot);
52
45
  function ModalRoot() {
53
46
  var _this;
54
47
  (0, _classCallCheck2["default"])(this, ModalRoot);
55
48
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56
49
  args[_key] = arguments[_key];
57
50
  }
58
- _this = _super.call.apply(_super, [this].concat(args));
59
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
51
+ _this = (0, _callSuper2["default"])(this, ModalRoot, [].concat(args));
52
+ (0, _defineProperty2["default"])(_this, "state", {
60
53
  hasTitle: false
61
54
  });
62
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function (e) {
55
+ (0, _defineProperty2["default"])(_this, "handleKeyDown", function (e) {
63
56
  if (e.key === 'Escape') {
64
57
  e.stopPropagation();
65
- (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onClose', 'onEscape', e);
58
+ (0, _fire["default"])(_this, 'onClose', 'onEscape', e);
66
59
  }
67
60
  });
68
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleIconCloseClick", function (e) {
69
- (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onClose', 'onCloseClick', e);
61
+ (0, _defineProperty2["default"])(_this, "handleIconCloseClick", function (e) {
62
+ (0, _fire["default"])(_this, 'onClose', 'onCloseClick', e);
70
63
  });
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOutsideClick", function (e) {
72
- (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onClose', 'onOutsideClick', e);
64
+ (0, _defineProperty2["default"])(_this, "handleOutsideClick", function (e) {
65
+ (0, _fire["default"])(_this, 'onClose', 'onOutsideClick', e);
73
66
  });
74
67
  return _this;
75
68
  }
76
- (0, _createClass2["default"])(ModalRoot, [{
69
+ (0, _inherits2["default"])(ModalRoot, _Component);
70
+ return (0, _createClass2["default"])(ModalRoot, [{
77
71
  key: "getOverlayProps",
78
72
  value: function getOverlayProps() {
79
73
  var _this$asProps = this.asProps,
@@ -103,7 +97,7 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
103
97
  return {
104
98
  visible: visible,
105
99
  closable: closable,
106
- onKeyDown: this.handleKeyDown,
100
+ 'onKeyDown': this.handleKeyDown,
107
101
  'aria-label': hasTitle ? undefined : getI18nText('title'),
108
102
  'aria-labelledby': hasTitle ? "igc-".concat(uid, "-title") : undefined,
109
103
  duration: duration,
@@ -147,13 +141,12 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
147
141
  forcedAdvancedMode = _this$asProps4.forcedAdvancedMode,
148
142
  ignorePortalsStacking = _this$asProps4.ignorePortalsStacking;
149
143
  var advancedMode = forcedAdvancedMode || (0, _findComponent.isAdvanceMode)(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);
150
- return /*#__PURE__*/_react["default"].createElement(_portal["default"], {
144
+ return /*#__PURE__*/_react["default"].createElement(_baseComponents.Portal, {
151
145
  disablePortal: disablePortal,
152
146
  ignorePortalsStacking: ignorePortalsStacking
153
147
  }, advancedMode ? /*#__PURE__*/_react["default"].createElement(Children, null) : /*#__PURE__*/_react["default"].createElement(Modal.Overlay, null, /*#__PURE__*/_react["default"].createElement(Modal.Window, (0, _core.assignProps)({}, _ref))));
154
148
  }
155
149
  }]);
156
- return ModalRoot;
157
150
  }(_core.Component);
158
151
  (0, _defineProperty2["default"])(ModalRoot, "displayName", 'Modal');
159
152
  (0, _defineProperty2["default"])(ModalRoot, "style", style);
@@ -172,14 +165,14 @@ var ModalRoot = /*#__PURE__*/function (_Component) {
172
165
  function Window(props) {
173
166
  var _ref2 = arguments[0],
174
167
  _ref6;
175
- var SWindow = _animation.Slide;
168
+ var SWindow = _baseComponents.Slide;
176
169
  var Children = props.Children,
177
170
  styles = props.styles,
178
171
  visible = props.visible,
179
172
  closable = props.closable,
180
173
  duration = props.duration;
181
174
  var windowRef = _react["default"].useRef(null);
182
- (0, _useFocusLock.useFocusLock)(windowRef, true, 'auto', !visible, true);
175
+ (0, _useFocusLock.useFocusLock)(windowRef, 'enforced', 'auto', !visible, true);
183
176
  return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SWindow, _ref6.cn("SWindow", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
184
177
  "initialAnimation": true,
185
178
  "slideOrigin": 'top',
@@ -187,32 +180,36 @@ function Window(props) {
187
180
  "role": 'dialog',
188
181
  "aria-modal": true,
189
182
  "duration": duration,
190
- "ref": windowRef
183
+ "ref": windowRef,
184
+ "tabIndex": -1
191
185
  }, _ref2))), /*#__PURE__*/_react["default"].createElement(_zIndexStacking.ZIndexStackingContextProvider, _ref6.cn("ZIndexStackingContextProvider", {
192
186
  "designToken": 'z-index-modal'
193
- }), /*#__PURE__*/_react["default"].createElement(_portal.PortalProvider, _ref6.cn("PortalProvider", {
187
+ }), /*#__PURE__*/_react["default"].createElement(_baseComponents.PortalProvider, _ref6.cn("PortalProvider", {
194
188
  "value": windowRef
195
189
  }), closable && /*#__PURE__*/_react["default"].createElement(Modal.Close, null), /*#__PURE__*/_react["default"].createElement(Children, _ref6.cn("Children", {})))));
196
190
  }
197
191
  function Overlay(props) {
198
192
  var _ref3 = arguments[0],
199
193
  _ref7;
200
- var SOverlay = _animation.FadeInOut;
194
+ var SOverlay = _baseComponents.FadeInOut;
195
+ var SOverlayContentWrapper = _baseComponents.Flex;
201
196
  var Children = props.Children,
202
197
  styles = props.styles,
203
198
  onOutsideClick = props.onOutsideClick,
204
199
  visible = props.visible;
205
- var overlayRef = _react["default"].useRef(null);
200
+ var overlayContentWrapperRef = _react["default"].useRef(null);
206
201
  (0, _usePreventScroll["default"])(visible, props.disablePreventScroll);
207
- (0, _ThemeProvider.useContextTheme)(overlayRef, visible);
202
+ (0, _ThemeProvider.useContextTheme)(overlayContentWrapperRef, visible);
208
203
  var zIndex = (0, _zIndexStacking.useZIndexStacking)('z-index-modal');
209
204
  return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SOverlay, _ref7.cn("SOverlay", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
210
- "ref": overlayRef,
211
205
  "zIndex": zIndex
212
- }, _ref3))), /*#__PURE__*/_react["default"].createElement(_outsideClick["default"], _ref7.cn("OutsideClick", {
213
- "root": overlayRef,
206
+ }, _ref3))), /*#__PURE__*/_react["default"].createElement(SOverlayContentWrapper, _ref7.cn("SOverlayContentWrapper", {
207
+ "data-ui-name": 'Modal.Overlay.ContentWrapper',
208
+ "ref": overlayContentWrapperRef
209
+ }), /*#__PURE__*/_react["default"].createElement(_baseComponents.OutsideClick, _ref7.cn("OutsideClick", {
210
+ "root": overlayContentWrapperRef,
214
211
  "onOutsideClick": onOutsideClick
215
- }), /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))));
212
+ }), /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {})))));
216
213
  }
217
214
  function Close(props) {
218
215
  var _ref4 = arguments[0],
@@ -228,13 +225,12 @@ function Close(props) {
228
225
  "theme": ghost ? 'invert' : 'muted',
229
226
  "aria-label": getI18nText('close')
230
227
  }, _ref4))), hasChildren ? /*#__PURE__*/_react["default"].createElement(Children, _ref8.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(_button["default"].Addon, {
231
- ml: '7px',
232
- mr: '7px'
228
+ ml: "7px",
229
+ mr: "7px"
233
230
  }, /*#__PURE__*/_react["default"].createElement(_l["default"], _ref8.cn("CloseIcon", {
234
231
  "title": getI18nText('close')
235
232
  }))));
236
233
  }
237
- Close.enhance = [(0, _keyboardFocusEnhance["default"])()];
238
234
  function Title(props) {
239
235
  var _ref5 = arguments[0],
240
236
  _ref9;
@@ -251,12 +247,11 @@ function Title(props) {
251
247
  "use:color": resolveColor(color)
252
248
  }, _ref5))));
253
249
  }
254
- var Modal = (0, _core["default"])(ModalRoot, {
250
+ var Modal = (0, _core.createComponent)(ModalRoot, {
255
251
  Window: Window,
256
252
  Overlay: Overlay,
257
253
  Close: Close,
258
254
  Title: Title
259
255
  });
260
- var _default = Modal;
261
- exports["default"] = _default;
256
+ var _default = exports["default"] = Modal;
262
257
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_animation","_portal","_button","_outsideClick","_l","_fire","_usePreventScroll","_findComponent","_keyboardFocusEnhance","_intergalacticDynamicLocales","_i18nEnhance","_typography","_uniqueID","_useCssVariable","_useFocusLock","_ThemeProvider","_useColorResolver","_zIndexStacking","style","_index","sstyled","insert","ModalRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","hasTitle","e","key","stopPropagation","fire","_createClass2","value","getOverlayProps","_this$asProps","asProps","duration","visible","animationsDisabled","disablePreventScroll","onOutsideClick","handleOutsideClick","getWindowProps","_this$asProps2","closable","getI18nText","uid","state","onKeyDown","handleKeyDown","undefined","getCloseProps","_this$asProps3","ghost","onClick","handleIconCloseClick","getTitleProps","_this2","setHasTitle","setState","id","render","_ref","_this$asProps4","Children","disablePortal","forcedAdvancedMode","ignorePortalsStacking","advancedMode","isAdvanceMode","Modal","Overlay","displayName","Window","createElement","assignProps","Component","i18nEnhance","localizedMessages","uniqueIDEnhancement","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","i18n","locale","props","_ref2","arguments[0]","_ref6","SWindow","Slide","styles","windowRef","React","useRef","useFocusLock","cn","_objectSpread2","ZIndexStackingContextProvider","PortalProvider","Close","_ref3","_ref7","SOverlay","FadeInOut","overlayRef","usePreventScroll","useContextTheme","zIndex","useZIndexStacking","_ref4","_ref8","SClose","Button","hasChildren","children","Addon","ml","mr","enhance","keyboardFocusEnhance","Title","_ref5","_ref9","color","STitle","Text","resolveColor","useColorResolver","useEffect","createComponent","_default","exports"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import React from 'react';\nimport { FadeInOut, Slide } from '@semcore/animation';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Portal, { PortalProvider } from '@semcore/portal';\nimport Button from '@semcore/button';\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';\nimport { useColorResolver } from '@semcore/utils/lib/use/useColorResolver';\nimport {\n ZIndexStackingContextProvider,\n useZIndexStacking,\n} from '@semcore/utils/lib/zIndexStacking';\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 disablePreventScroll: false,\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, disablePreventScroll } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n disablePreventScroll,\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, ghost } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n ghost,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setHasTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setHasTitle,\n };\n }\n\n render() {\n const { Children, disablePortal, forcedAdvancedMode, ignorePortalsStacking } = this.asProps;\n\n const advancedMode =\n forcedAdvancedMode ||\n isAdvanceMode(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);\n\n return (\n <Portal disablePortal={disablePortal} ignorePortalsStacking={ignorePortalsStacking}>\n {advancedMode ? (\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 = React.useRef(null);\n\n useFocusLock(windowRef, true, 'auto', !visible, true);\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 <ZIndexStackingContextProvider designToken='z-index-modal'>\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </ZIndexStackingContextProvider>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayRef = React.useRef(null);\n usePreventScroll(visible, props.disablePreventScroll);\n useContextTheme(overlayRef, visible);\n const zIndex = useZIndexStacking('z-index-modal');\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} ref={overlayRef} zIndex={zIndex}>\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, ghost } = props;\n return sstyled(props.styles)(\n <SClose\n render={Button}\n use='tertiary'\n size='l'\n theme={ghost ? 'invert' : 'muted'}\n aria-label={getI18nText('close')}\n >\n {hasChildren ? (\n <Children />\n ) : (\n <Button.Addon ml={'7px'} mr={'7px'}>\n <CloseIcon title={getI18nText('close')} />\n </Button.Addon>\n )}\n </SClose>,\n );\n}\n\nClose.enhance = [keyboardFocusEnhance()];\n\nfunction Title(props) {\n const { setHasTitle, styles, color } = props;\n const STitle = Root;\n\n const resolveColor = useColorResolver();\n React.useEffect(() => setHasTitle());\n\n return sstyled(styles)(<STitle render={Text} tag='h2' use:color={resolveColor(color)} />);\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":["_core","require","_baseComponents","_button","_interopRequireDefault","_i18nEnhance","_findComponent","_fire","_ThemeProvider","_uniqueID","_useColorResolver","_useFocusLock","_usePreventScroll","_useCssVariable","_zIndexStacking","_l","_typography","_react","_intergalacticDynamicLocales","style","sstyled","insert","ModalRoot","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","hasTitle","e","key","stopPropagation","fire","_inherits2","_createClass2","value","getOverlayProps","_this$asProps","asProps","duration","visible","animationsDisabled","disablePreventScroll","onOutsideClick","handleOutsideClick","getWindowProps","_this$asProps2","closable","getI18nText","uid","state","handleKeyDown","undefined","getCloseProps","_this$asProps3","ghost","onClick","handleIconCloseClick","getTitleProps","_this2","setHasTitle","setState","id","render","_ref","_this$asProps4","Children","disablePortal","forcedAdvancedMode","ignorePortalsStacking","advancedMode","isAdvanceMode","Modal","Overlay","displayName","Window","createElement","Portal","assignProps","Component","i18nEnhance","localizedMessages","uniqueIDEnhancement","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","i18n","locale","props","_ref2","arguments[0]","_ref6","SWindow","Slide","styles","windowRef","React","useRef","useFocusLock","cn","_objectSpread2","ZIndexStackingContextProvider","PortalProvider","Close","_ref3","_ref7","SOverlay","FadeInOut","SOverlayContentWrapper","Flex","overlayContentWrapperRef","usePreventScroll","useContextTheme","zIndex","useZIndexStacking","OutsideClick","_ref4","_ref8","SClose","Button","hasChildren","children","Addon","ml","mr","Title","_ref5","_ref9","color","STitle","Text","resolveColor","useColorResolver","useEffect","createComponent","_default","exports"],"sources":["../../src/Modal.jsx"],"sourcesContent":["import { FadeInOut, Slide, Flex, OutsideClick, Portal, PortalProvider } from '@semcore/base-components';\nimport Button from '@semcore/button';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport fire from '@semcore/core/lib/utils/fire';\nimport { useContextTheme } from '@semcore/core/lib/utils/ThemeProvider';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';\nimport { useFocusLock } from '@semcore/core/lib/utils/use/useFocusLock';\nimport usePreventScroll from '@semcore/core/lib/utils/use/usePreventScroll';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport {\n ZIndexStackingContextProvider,\n useZIndexStacking,\n} from '@semcore/core/lib/utils/zIndexStacking';\nimport CloseIcon from '@semcore/icon/Close/l';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport style from './style/modal.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\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\n static defaultProps = {\n closable: true,\n i18n: localizedMessages,\n locale: 'en',\n disablePreventScroll: false,\n };\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, disablePreventScroll } = this.asProps;\n return {\n duration,\n visible,\n onOutsideClick: this.handleOutsideClick,\n animationsDisabled,\n disablePreventScroll,\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, ghost } = this.asProps;\n\n return {\n onClick: this.handleIconCloseClick,\n getI18nText,\n ghost,\n };\n }\n\n getTitleProps() {\n const { uid } = this.asProps;\n const setHasTitle = () => this.setState({ hasTitle: true });\n\n return {\n id: `igc-${uid}-title`,\n setHasTitle,\n };\n }\n\n render() {\n const { Children, disablePortal, forcedAdvancedMode, ignorePortalsStacking } = this.asProps;\n\n const advancedMode =\n forcedAdvancedMode ||\n isAdvanceMode(Children, [Modal.Overlay.displayName, Modal.Window.displayName]);\n\n return (\n <Portal disablePortal={disablePortal} ignorePortalsStacking={ignorePortalsStacking}>\n {advancedMode\n ? (\n <Children />\n )\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 = React.useRef(null);\n\n useFocusLock(windowRef, 'enforced', 'auto', !visible, true);\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 tabIndex={-1}\n >\n <ZIndexStackingContextProvider designToken='z-index-modal'>\n <PortalProvider value={windowRef}>\n {closable && <Modal.Close />}\n <Children />\n </PortalProvider>\n </ZIndexStackingContextProvider>\n </SWindow>,\n );\n}\n\nfunction Overlay(props) {\n const SOverlay = Root;\n const SOverlayContentWrapper = Flex;\n const { Children, styles, onOutsideClick, visible } = props;\n const overlayContentWrapperRef = React.useRef(null);\n usePreventScroll(visible, props.disablePreventScroll);\n useContextTheme(overlayContentWrapperRef, visible);\n const zIndex = useZIndexStacking('z-index-modal');\n\n return sstyled(styles)(\n <SOverlay render={FadeInOut} zIndex={zIndex}>\n {/* This child component is intended to be private. Since true encapsulation isn't possible in this context, we’re applying the data-ui-name attribute directly as a workaround. */}\n <SOverlayContentWrapper data-ui-name='Modal.Overlay.ContentWrapper' ref={overlayContentWrapperRef}>\n <OutsideClick root={overlayContentWrapperRef} onOutsideClick={onOutsideClick}>\n <Children />\n </OutsideClick>\n </SOverlayContentWrapper>\n </SOverlay>,\n );\n}\n\nfunction Close(props) {\n const SClose = Root;\n const { Children, children: hasChildren, getI18nText, ghost } = props;\n return sstyled(props.styles)(\n <SClose\n render={Button}\n use='tertiary'\n size='l'\n theme={ghost ? 'invert' : 'muted'}\n aria-label={getI18nText('close')}\n >\n {hasChildren\n ? (\n <Children />\n )\n : (\n <Button.Addon ml='7px' mr='7px'>\n <CloseIcon title={getI18nText('close')} />\n </Button.Addon>\n )}\n </SClose>,\n );\n}\n\nfunction Title(props) {\n const { setHasTitle, styles, color } = props;\n const STitle = Root;\n\n const resolveColor = useColorResolver();\n React.useEffect(() => setHasTitle());\n\n return sstyled(styles)(<STitle render={Text} tag='h2' use:color={resolveColor(color)} />);\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { FadeInOutProps, SlideProps } from '@semcore/animation';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { PortalProps } from '@semcore/portal';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { TextProps } from '@semcore/typography';\nimport Button from '@semcore/button';\n\n/** @deprecated */\nexport interface IModalProps extends ModalProps, UnknownProperties {}\nexport type ModalProps = PortalProps &\n BoxProps &\n FadeInOutProps & {\n /** Duration of animation, ms\n * @default 200\n */\n duration?: number;\n /** This property is responsible for the visibility of the modal window */\n visible?: boolean;\n /** Function called when the component is hidden */\n onClose?: (\n trigger: 'onOutsideClick' | 'onCloseClick' | 'onEscape',\n e?: React.MouseEvent | React.KeyboardEvent,\n ) => void;\n /** Displaying the close button(x) in the upper-right corner of the modal dialog\n * @default true\n * */\n closable?: boolean;\n /**\n * Setting `true` disables mechanism that hides document body scrollbar when Modal is visible\n * @default false\n */\n disablePreventScroll?: boolean;\n\n locale?: string;\n\n /**\n * Props for render modal without background and paddings. Useful in carousel for example\n */\n ghost?: boolean;\n };\n\n/** @deprecated */\nexport interface IWindowProps extends WindowProps, UnknownProperties {}\nexport type WindowProps = BoxProps & SlideProps & {};\n\n/** @deprecated */\nexport interface IModalContext extends ModalContext, UnknownProperties {}\nexport type ModalContext = {\n getOverlayProps: PropGetterFn;\n getWindowProps: PropGetterFn;\n getCloseProps: PropGetterFn;\n};\n\ndeclare const Modal: Intergalactic.Component<'div', ModalProps, ModalContext> & {\n Window: Intergalactic.Component<'div', WindowProps>;\n Overlay: typeof Box;\n Close: typeof Button;\n Title: Intergalactic.Component<'div', TextProps>;\n};\n\nexport default Modal;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { FadeInOutProps, SlideProps, Box, BoxProps, PortalProps } from '@semcore/base-components';\nimport type Button from '@semcore/button';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { NSText } from '@semcore/typography';\nimport type React from 'react';\n\nexport type ModalProps = PortalProps &\n BoxProps &\n FadeInOutProps & {\n /** Duration of animation, ms\n * @default 200\n */\n duration?: number;\n /** This property is responsible for the visibility of the modal window */\n visible?: boolean;\n /** Function called when the component is hidden */\n onClose?: (\n trigger: 'onOutsideClick' | 'onCloseClick' | 'onEscape',\n e?: React.MouseEvent | React.KeyboardEvent,\n ) => void;\n /** Displaying the close button(x) in the upper-right corner of the modal dialog\n * @default true\n * */\n closable?: boolean;\n /**\n * Setting `true` disables mechanism that hides document body scrollbar when Modal is visible\n * @default false\n */\n disablePreventScroll?: boolean;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * Props for render modal without background and paddings. Useful in carousel for example\n */\n ghost?: boolean;\n };\n\nexport type WindowProps = BoxProps & SlideProps & {};\n\nexport type ModalContext = {\n getOverlayProps: PropGetterFn;\n getWindowProps: PropGetterFn;\n getCloseProps: PropGetterFn;\n};\n\ndeclare const Modal: Intergalactic.Component<'div', ModalProps, ModalContext> & {\n Window: Intergalactic.Component<'div', WindowProps>;\n Overlay: typeof Box;\n Close: typeof Button;\n Title: Intergalactic.Component<'div', NSText.Props>;\n};\n\nexport default Modal;\n"],"mappings":"","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Modal","_interopRequireDefault","require"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Modal';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_Modal","_interopRequireDefault","require"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './Modal';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -1,19 +1,19 @@
1
1
  SWindow {
2
2
  position: relative;
3
- border-radius: var(--intergalactic-modal-rounded, 12px);
4
- background: var(--intergalactic-bg-primary-neutral, #ffffff);
3
+ border-radius: var(--intergalactic-modal-rounded, calc(12px + 2px));
4
+ background: var(--intergalactic-bg-primary-neutral, oklch(1 0 0));
5
5
  box-sizing: border-box;
6
6
  margin: auto;
7
7
  padding: var(--intergalactic-spacing-10x, 40px);
8
- box-shadow: var(--intergalactic-box-shadow-modal, 0px 3px 8px 0px rgba(25, 27, 35, 0.2));
9
- color: var(--intergalactic-text-primary, #191b23);
8
+ box-shadow: var(--intergalactic-box-shadow-modal, 0px 1px 5px 0px oklch(0.176 0.033 175.7 / 0.07));
9
+ color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
10
10
 
11
11
  &:focus {
12
12
  outline: none;
13
13
  }
14
14
 
15
15
  STitle {
16
- color: var(--intergalactic-text-primary, #191b23);
16
+ color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
17
17
  font-size: var(--intergalactic-fs-500, 24px);
18
18
  line-height: var(--intergalactic-lh-500, 117%);
19
19
  font-weight: var(--intergalactic-semi-bold, 600);
@@ -43,24 +43,31 @@ SWindow[ghost] {
43
43
  box-shadow: none;
44
44
  }
45
45
 
46
+ SOverlayContentWrapper {
47
+ flex: 1;
48
+ max-width: 100%;
49
+ box-sizing: border-box;
50
+ padding: var(--intergalactic-spacing-10x, 40px);
51
+ }
52
+
46
53
  SOverlay {
54
+ display: flex;
55
+ justify-content: center;
56
+ flex-wrap: wrap;
47
57
  position: fixed;
48
58
  top: 0;
49
59
  bottom: 0;
50
60
  left: 0;
51
61
  right: 0;
52
62
  margin: 0;
53
- display: flex;
54
- justify-content: center;
55
- align-items: center;
56
- padding: var(--intergalactic-spacing-10x, 40px);
57
- background: var(--intergalactic-overlay-primary, rgba(25, 27, 35, 0.7));
63
+ background: var(--intergalactic-overlay-primary, oklch(0.109 0.023 165.5 / 0.337));
58
64
  overflow: auto;
59
65
  -webkit-overflow-scrolling: touch;
60
66
 
61
67
  & SOverlay {
62
- background: var(--intergalactic-overlay-secondary, rgba(25, 27, 35, 0.4));
68
+ background: var(--intergalactic-overlay-secondary, oklch(0.118 0.023 170.1 / 0.262));
63
69
  }
70
+
64
71
  }
65
72
 
66
73
  @media (max-width: 767px) {
@@ -68,7 +75,7 @@ SOverlay {
68
75
  min-width: 60%;
69
76
  }
70
77
 
71
- SOverlay {
78
+ SOverlayContentWrapper {
72
79
  padding: var(--intergalactic-spacing-3x, 12px);
73
80
  }
74
81
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -13,13 +13,13 @@ var _it = _interopRequireDefault(require("./it.json"));
13
13
  var _ja = _interopRequireDefault(require("./ja.json"));
14
14
  var _ko = _interopRequireDefault(require("./ko.json"));
15
15
  var _nl = _interopRequireDefault(require("./nl.json"));
16
+ var _pl = _interopRequireDefault(require("./pl.json"));
16
17
  var _pt = _interopRequireDefault(require("./pt.json"));
18
+ var _sv = _interopRequireDefault(require("./sv.json"));
17
19
  var _tr = _interopRequireDefault(require("./tr.json"));
18
20
  var _vi = _interopRequireDefault(require("./vi.json"));
19
21
  var _zh = _interopRequireDefault(require("./zh.json"));
20
- var _pl = _interopRequireDefault(require("./pl.json"));
21
- var _sv = _interopRequireDefault(require("./sv.json"));
22
- var localizedMessages = {
22
+ var localizedMessages = exports.localizedMessages = {
23
23
  de: _de["default"],
24
24
  en: _en["default"],
25
25
  es: _es["default"],
@@ -35,5 +35,4 @@ var localizedMessages = {
35
35
  pl: _pl["default"],
36
36
  sv: _sv["default"]
37
37
  };
38
- exports.localizedMessages = localizedMessages;
39
38
  //# sourceMappingURL=__intergalactic-dynamic-locales.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"__intergalactic-dynamic-locales.js","names":["_de","_interopRequireDefault","require","_en","_es","_fr","_it","_ja","_ko","_nl","_pt","_tr","_vi","_zh","_pl","_sv","localizedMessages","de","en","es","fr","it","ja","ko","nl","pt","tr","vi","zh","pl","sv","exports"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\nimport pl from './pl.json';\nimport sv from './sv.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,GAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,GAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,GAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,GAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEO,IAAMc,iBAAiB,GAAG;EAC/BC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA;AACF,CAAC;AAACC,OAAA,CAAAf,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"file":"__intergalactic-dynamic-locales.js","names":["_de","_interopRequireDefault","require","_en","_es","_fr","_it","_ja","_ko","_nl","_pl","_pt","_sv","_tr","_vi","_zh","localizedMessages","exports","de","en","es","fr","it","ja","ko","nl","pt","tr","vi","zh","pl","sv"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pl from './pl.json';\nimport pt from './pt.json';\nimport sv from './sv.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,GAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,GAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,GAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,GAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEO,IAAMc,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC/BE,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA;AACF,CAAC","ignoreList":[]}