@semcore/spin-container 6.0.10 → 6.0.12
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 +12 -0
- package/lib/cjs/SpinContainer.js +14 -11
- package/lib/cjs/SpinContainer.js.map +1 -1
- package/lib/cjs/index.d.js +2 -0
- package/lib/cjs/index.d.js.map +1 -0
- package/lib/es6/SpinContainer.js +14 -11
- package/lib/es6/SpinContainer.js.map +1 -1
- package/lib/es6/index.d.js +2 -0
- package/lib/es6/index.d.js.map +1 -0
- package/package.json +3 -2
- package/lib/cjs/index.d.ts +0 -38
- package/lib/es6/index.d.ts +0 -38
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
|
+
## [6.0.12] - 2022-10-04
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.37.1 ~> 3.37.2], `@semcore/spin` [4.0.10 ~> 4.0.11], `@semcore/flex-box` [4.5.11 ~> 4.5.12], `@semcore/animation` [1.5.10 ~> 1.5.11]).
|
|
10
|
+
|
|
11
|
+
## [6.0.11] - 2022-09-20
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Added essential accessibility attributes.
|
|
16
|
+
|
|
5
17
|
## [6.0.10] - 2022-08-30
|
|
6
18
|
|
|
7
19
|
### Changed
|
package/lib/cjs/SpinContainer.js
CHANGED
|
@@ -52,18 +52,18 @@ var style = (
|
|
|
52
52
|
/*__reshadow_css_start__*/
|
|
53
53
|
_core.sstyled.insert(
|
|
54
54
|
/*__inner_css_start__*/
|
|
55
|
-
".
|
|
55
|
+
".___SSpinContainer_1udbd_gg_{z-index:0;position:relative;display:block;overflow:hidden}.___SContent_1udbd_gg_{z-index:0;position:relative}.___SOverlay_1udbd_gg_{z-index:1;display:flex;width:100%;height:100%;justify-content:center;align-items:center;position:absolute;top:0;left:0}.___SOverlay_1udbd_gg_._theme_invert_1udbd_gg_{background-color:rgba(25,27,35,.4)}.___SOverlay_1udbd_gg_._theme_dark_1udbd_gg_{background-color:hsla(0,0%,100%,.85)}.___SOverlay_1udbd_gg_._theme_custom_1udbd_gg_{background-color:var(--background_1udbd)}"
|
|
56
56
|
/*__inner_css_end__*/
|
|
57
|
-
, "
|
|
57
|
+
, "1udbd_gg_")
|
|
58
58
|
/*__reshadow_css_end__*/
|
|
59
59
|
, {
|
|
60
|
-
"__SSpinContainer": "
|
|
61
|
-
"__SContent": "
|
|
62
|
-
"__SOverlay": "
|
|
63
|
-
"_theme_invert": "
|
|
64
|
-
"_theme_dark": "
|
|
65
|
-
"_theme_custom": "
|
|
66
|
-
"--background": "--
|
|
60
|
+
"__SSpinContainer": "___SSpinContainer_1udbd_gg_",
|
|
61
|
+
"__SContent": "___SContent_1udbd_gg_",
|
|
62
|
+
"__SOverlay": "___SOverlay_1udbd_gg_",
|
|
63
|
+
"_theme_invert": "_theme_invert_1udbd_gg_",
|
|
64
|
+
"_theme_dark": "_theme_dark_1udbd_gg_",
|
|
65
|
+
"_theme_custom": "_theme_custom_1udbd_gg_",
|
|
66
|
+
"--background": "--background_1udbd"
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
var SpinContainerRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -104,9 +104,12 @@ var SpinContainerRoot = /*#__PURE__*/function (_Component) {
|
|
|
104
104
|
var SSpinContainer = _flexBox.Box;
|
|
105
105
|
var _this$asProps2 = this.asProps,
|
|
106
106
|
styles = _this$asProps2.styles,
|
|
107
|
-
Children = _this$asProps2.Children
|
|
107
|
+
Children = _this$asProps2.Children,
|
|
108
|
+
loading = _this$asProps2.loading;
|
|
108
109
|
var advanceMode = (0, _findComponent.isAdvanceMode)(Children, [SpinContainer.Content.displayName, SpinContainer.Overlay.displayName]);
|
|
109
|
-
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSpinContainer, _ref4.cn("SSpinContainer", _objectSpread({}, (0, _core.assignProps)({
|
|
110
|
+
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSpinContainer, _ref4.cn("SSpinContainer", _objectSpread({}, (0, _core.assignProps)({
|
|
111
|
+
"aria-busy": loading
|
|
112
|
+
}, _ref))), advanceMode ? /*#__PURE__*/_react["default"].createElement(Children, _ref4.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SpinContainer.Content, null, /*#__PURE__*/_react["default"].createElement(Children, _ref4.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(SpinContainer.Overlay, null)));
|
|
110
113
|
}
|
|
111
114
|
}]);
|
|
112
115
|
return SpinContainerRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinContainer.js","names":["SpinContainerRoot","asProps","loading","background","duration","size","theme","SSpinContainer","Box","styles","Children","advanceMode","isAdvanceMode","SpinContainer","Content","displayName","Overlay","sstyled","Component","style","SOverlay","useTheme","resolveColor","children","props","SContent","createComponent"],"sources":["../../src/SpinContainer.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { FadeInOut } from '@semcore/animation';\nimport Spin from '@semcore/spin';\nimport { Box } from '@semcore/flex-box';\nimport resolveColor from '@semcore/utils/lib/color';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/spin-container.shadow.css';\n\nclass SpinContainerRoot extends Component {\n static displayName = 'SpinContainer';\n static style = style;\n static defaultProps = {\n size: 'xxl',\n theme: 'dark',\n duration: 200,\n };\n\n getOverlayProps() {\n const { loading, background, duration, size, theme } = this.asProps;\n return {\n background,\n // for Animated\n loading,\n duration,\n // for Spin\n size,\n theme,\n };\n }\n\n render() {\n const SSpinContainer = Root;\n const { styles, Children } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n SpinContainer.Content.displayName,\n SpinContainer.Overlay.displayName,\n ]);\n\n return sstyled(styles)(\n <SSpinContainer render={Box}>\n {advanceMode ? (\n <Children />\n ) : (\n <>\n <SpinContainer.Content>\n <Children />\n </SpinContainer.Content>\n <SpinContainer.Overlay />\n </>\n )}\n </SSpinContainer>,\n );\n }\n}\n\nclass Overlay extends Component {\n static defaultProps = ({ size, theme }) => ({\n children: <Spin size={size} theme={theme} />,\n });\n\n render() {\n const SOverlay = Root;\n const { styles, theme, background, loading, duration } = this.asProps;\n const useTheme = background ? 'custom' : theme;\n\n return sstyled(styles)(\n <FadeInOut visible={loading} duration={duration}>\n <SOverlay render={Box} use:theme={useTheme} use:background={resolveColor(background)} />\n </FadeInOut>,\n );\n }\n}\n\nfunction Content(props) {\n const SContent = Root;\n const { styles } = props;\n return sstyled(styles)(<SContent render={Box} />);\n}\n\nconst SpinContainer = createComponent(SpinContainerRoot, {\n Overlay,\n Content,\n});\n\nexport default SpinContainer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,iB;;;;;;;;;;;;WASJ,2BAAkB;MAChB,oBAAuD,KAAKC,OAA5D;MAAA,IAAQC,OAAR,iBAAQA,OAAR;MAAA,IAAiBC,UAAjB,iBAAiBA,UAAjB;MAAA,IAA6BC,QAA7B,iBAA6BA,QAA7B;MAAA,IAAuCC,IAAvC,iBAAuCA,IAAvC;MAAA,IAA6CC,KAA7C,iBAA6CA,KAA7C;MACA,OAAO;QACLH,UAAU,EAAVA,UADK;QAEL;QACAD,OAAO,EAAPA,OAHK;QAILE,QAAQ,EAARA,QAJK;QAKL;QACAC,IAAI,EAAJA,IANK;QAOLC,KAAK,EAALA;MAPK,CAAP;IASD;;;WAED,kBAAS;MAAA;MAAA;;MACP,IAAMC,cAAc,GASMC,YAT1B;MACA,
|
|
1
|
+
{"version":3,"file":"SpinContainer.js","names":["SpinContainerRoot","asProps","loading","background","duration","size","theme","SSpinContainer","Box","styles","Children","advanceMode","isAdvanceMode","SpinContainer","Content","displayName","Overlay","sstyled","Component","style","SOverlay","useTheme","resolveColor","children","props","SContent","createComponent"],"sources":["../../src/SpinContainer.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { FadeInOut } from '@semcore/animation';\nimport Spin from '@semcore/spin';\nimport { Box } from '@semcore/flex-box';\nimport resolveColor from '@semcore/utils/lib/color';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/spin-container.shadow.css';\n\nclass SpinContainerRoot extends Component {\n static displayName = 'SpinContainer';\n static style = style;\n static defaultProps = {\n size: 'xxl',\n theme: 'dark',\n duration: 200,\n };\n\n getOverlayProps() {\n const { loading, background, duration, size, theme } = this.asProps;\n return {\n background,\n // for Animated\n loading,\n duration,\n // for Spin\n size,\n theme,\n };\n }\n\n render() {\n const SSpinContainer = Root;\n const { styles, Children, loading } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n SpinContainer.Content.displayName,\n SpinContainer.Overlay.displayName,\n ]);\n\n return sstyled(styles)(\n <SSpinContainer render={Box} aria-busy={loading}>\n {advanceMode ? (\n <Children />\n ) : (\n <>\n <SpinContainer.Content>\n <Children />\n </SpinContainer.Content>\n <SpinContainer.Overlay />\n </>\n )}\n </SSpinContainer>,\n );\n }\n}\n\nclass Overlay extends Component {\n static defaultProps = ({ size, theme }) => ({\n children: <Spin size={size} theme={theme} />,\n });\n\n render() {\n const SOverlay = Root;\n const { styles, theme, background, loading, duration } = this.asProps;\n const useTheme = background ? 'custom' : theme;\n\n return sstyled(styles)(\n <FadeInOut visible={loading} duration={duration}>\n <SOverlay render={Box} use:theme={useTheme} use:background={resolveColor(background)} />\n </FadeInOut>,\n );\n }\n}\n\nfunction Content(props) {\n const SContent = Root;\n const { styles } = props;\n return sstyled(styles)(<SContent render={Box} />);\n}\n\nconst SpinContainer = createComponent(SpinContainerRoot, {\n Overlay,\n Content,\n});\n\nexport default SpinContainer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,iB;;;;;;;;;;;;WASJ,2BAAkB;MAChB,oBAAuD,KAAKC,OAA5D;MAAA,IAAQC,OAAR,iBAAQA,OAAR;MAAA,IAAiBC,UAAjB,iBAAiBA,UAAjB;MAAA,IAA6BC,QAA7B,iBAA6BA,QAA7B;MAAA,IAAuCC,IAAvC,iBAAuCA,IAAvC;MAAA,IAA6CC,KAA7C,iBAA6CA,KAA7C;MACA,OAAO;QACLH,UAAU,EAAVA,UADK;QAEL;QACAD,OAAO,EAAPA,OAHK;QAILE,QAAQ,EAARA,QAJK;QAKL;QACAC,IAAI,EAAJA,IANK;QAOLC,KAAK,EAALA;MAPK,CAAP;IASD;;;WAED,kBAAS;MAAA;MAAA;;MACP,IAAMC,cAAc,GASMC,YAT1B;MACA,qBAAsC,KAAKP,OAA3C;MAAA,IAAQQ,MAAR,kBAAQA,MAAR;MAAA,IAAgBC,QAAhB,kBAAgBA,QAAhB;MAAA,IAA0BR,OAA1B,kBAA0BA,OAA1B;MAEA,IAAMS,WAAW,GAAG,IAAAC,4BAAA,EAAcF,QAAd,EAAwB,CAC1CG,aAAa,CAACC,OAAd,CAAsBC,WADoB,EAE1CF,aAAa,CAACG,OAAd,CAAsBD,WAFoB,CAAxB,CAApB;MAKA,eAAO,IAAAE,aAAA,EAAQR,MAAR,CAAP,eACE,gCAAC,cAAD;QAAA,aAAwCP;MAAxC,YACGS,WAAW,gBACV,gCAAC,QAAD,2BADU,gBAGV,+EACE,gCAAC,aAAD,CAAe,OAAf,qBACE,gCAAC,QAAD,2BADF,CADF,eAIE,gCAAC,aAAD,CAAe,OAAf,OAJF,CAJJ,CADF;IAcD;;;EA7C6BO,e;;iCAA1BlB,iB,iBACiB,e;iCADjBA,iB,WAEWmB,K;iCAFXnB,iB,kBAGkB;EACpBK,IAAI,EAAE,KADc;EAEpBC,KAAK,EAAE,MAFa;EAGpBF,QAAQ,EAAE;AAHU,C;;IA6ClBY,O;;;;;;;;;;;;WAKJ,kBAAS;MAAA;MAAA;;MACP,IAAMI,QAAQ,GAMQZ,YANtB;MACA,qBAAyD,KAAKP,OAA9D;MAAA,IAAQQ,MAAR,kBAAQA,MAAR;MAAA,IAAgBH,KAAhB,kBAAgBA,KAAhB;MAAA,IAAuBH,UAAvB,kBAAuBA,UAAvB;MAAA,IAAmCD,OAAnC,kBAAmCA,OAAnC;MAAA,IAA4CE,QAA5C,kBAA4CA,QAA5C;MACA,IAAMiB,QAAQ,GAAGlB,UAAU,GAAG,QAAH,GAAcG,KAAzC;MAEA,eAAO,IAAAW,aAAA,EAAQR,MAAR,CAAP,eACE,gCAAC,oBAAD;QAAA,WAAoBP,OAApB;QAAA,YAAuCE;MAAvC,iBACE,gCAAC,QAAD;QAAA,aAAkCiB,QAAlC;QAAA,kBAA4D,IAAAC,iBAAA,EAAanB,UAAb;MAA5D,YADF,CADF;IAKD;;;EAfmBe,e;;iCAAhBF,O,kBACkB;EAAA,IAAGX,IAAH,SAAGA,IAAH;EAAA,IAASC,KAAT,SAASA,KAAT;EAAA,OAAsB;IAC1CiB,QAAQ,eAAE,gCAAC,gBAAD;MAAM,IAAI,EAAElB,IAAZ;MAAkB,KAAK,EAAEC;IAAzB;EADgC,CAAtB;AAAA,C;;AAiBxB,SAASQ,OAAT,CAAiBU,KAAjB,EAAwB;EAAA;EAAA;;EACtB,IAAMC,QAAQ,GAE2BjB,YAFzC;EACA,IAAQC,MAAR,GAAmBe,KAAnB,CAAQf,MAAR;EACA,eAAO,IAAAQ,aAAA,EAAQR,MAAR,CAAP,eAAuB,gCAAC,QAAD,6EAAvB;AACD;;AAED,IAAMI,aAAa,GAAG,IAAAa,gBAAA,EAAgB1B,iBAAhB,EAAmC;EACvDgB,OAAO,EAAPA,OADuD;EAEvDF,OAAO,EAAPA;AAFuD,CAAnC,CAAtB;eAKeD,a"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, ReturnEl, CProps } from '@semcore/core';\nimport { ISpinProps } from '@semcore/spin';\nimport { Box, IBoxProps } from '@semcore/flex-box';\n\nexport interface ISpinContainerProps extends IBoxProps, ISpinProps {\n /**\n * Color of container spinner; you can use your own color\n */\n background?: string;\n /** Duration of animation displaying in ms\n * @default 200\n */\n duration?: number;\n /**\n * Property responsible for displaying the spinner\n * */\n loading?: boolean;\n}\n\nexport interface ISpinContainerContext {\n getOverlayProps: PropGetterFn;\n}\n\nexport interface ISpinContainerOverlayProps extends IBoxProps {\n /**\n * Css background; you can use your own color\n */\n background?: string;\n}\n\ndeclare const SpinContainer: (<T>(\n props: CProps<ISpinContainerProps & T, ISpinContainerContext>,\n) => ReturnEl) & {\n Content: typeof Box;\n Overlay: <T>(props: ISpinContainerOverlayProps & T) => ReturnEl;\n};\n\nexport default SpinContainer;\n"],"mappings":""}
|
package/lib/es6/SpinContainer.js
CHANGED
|
@@ -30,18 +30,18 @@ var style = (
|
|
|
30
30
|
/*__reshadow_css_start__*/
|
|
31
31
|
_sstyled.insert(
|
|
32
32
|
/*__inner_css_start__*/
|
|
33
|
-
".
|
|
33
|
+
".___SSpinContainer_1udbd_gg_{z-index:0;position:relative;display:block;overflow:hidden}.___SContent_1udbd_gg_{z-index:0;position:relative}.___SOverlay_1udbd_gg_{z-index:1;display:flex;width:100%;height:100%;justify-content:center;align-items:center;position:absolute;top:0;left:0}.___SOverlay_1udbd_gg_._theme_invert_1udbd_gg_{background-color:rgba(25,27,35,.4)}.___SOverlay_1udbd_gg_._theme_dark_1udbd_gg_{background-color:hsla(0,0%,100%,.85)}.___SOverlay_1udbd_gg_._theme_custom_1udbd_gg_{background-color:var(--background_1udbd)}"
|
|
34
34
|
/*__inner_css_end__*/
|
|
35
|
-
, "
|
|
35
|
+
, "1udbd_gg_")
|
|
36
36
|
/*__reshadow_css_end__*/
|
|
37
37
|
, {
|
|
38
|
-
"__SSpinContainer": "
|
|
39
|
-
"__SContent": "
|
|
40
|
-
"__SOverlay": "
|
|
41
|
-
"_theme_invert": "
|
|
42
|
-
"_theme_dark": "
|
|
43
|
-
"_theme_custom": "
|
|
44
|
-
"--background": "--
|
|
38
|
+
"__SSpinContainer": "___SSpinContainer_1udbd_gg_",
|
|
39
|
+
"__SContent": "___SContent_1udbd_gg_",
|
|
40
|
+
"__SOverlay": "___SOverlay_1udbd_gg_",
|
|
41
|
+
"_theme_invert": "_theme_invert_1udbd_gg_",
|
|
42
|
+
"_theme_dark": "_theme_dark_1udbd_gg_",
|
|
43
|
+
"_theme_custom": "_theme_custom_1udbd_gg_",
|
|
44
|
+
"--background": "--background_1udbd"
|
|
45
45
|
});
|
|
46
46
|
|
|
47
47
|
var SpinContainerRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -83,9 +83,12 @@ var SpinContainerRoot = /*#__PURE__*/function (_Component) {
|
|
|
83
83
|
var SSpinContainer = Box;
|
|
84
84
|
var _this$asProps2 = this.asProps,
|
|
85
85
|
styles = _this$asProps2.styles,
|
|
86
|
-
Children = _this$asProps2.Children
|
|
86
|
+
Children = _this$asProps2.Children,
|
|
87
|
+
loading = _this$asProps2.loading;
|
|
87
88
|
var advanceMode = isAdvanceMode(Children, [SpinContainer.Content.displayName, SpinContainer.Overlay.displayName]);
|
|
88
|
-
return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SSpinContainer, _ref4.cn("SSpinContainer", _objectSpread({}, _assignProps({
|
|
89
|
+
return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SSpinContainer, _ref4.cn("SSpinContainer", _objectSpread({}, _assignProps({
|
|
90
|
+
"aria-busy": loading
|
|
91
|
+
}, _ref))), advanceMode ? /*#__PURE__*/React.createElement(Children, _ref4.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SpinContainer.Content, null, /*#__PURE__*/React.createElement(Children, _ref4.cn("Children", {}))), /*#__PURE__*/React.createElement(SpinContainer.Overlay, null)));
|
|
89
92
|
}
|
|
90
93
|
}]);
|
|
91
94
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinContainer.js","names":["React","createComponent","Component","sstyled","Root","FadeInOut","Spin","Box","resolveColor","isAdvanceMode","SpinContainerRoot","asProps","loading","background","duration","size","theme","SSpinContainer","styles","Children","advanceMode","SpinContainer","Content","displayName","Overlay","style","SOverlay","useTheme","children","props","SContent"],"sources":["../../src/SpinContainer.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { FadeInOut } from '@semcore/animation';\nimport Spin from '@semcore/spin';\nimport { Box } from '@semcore/flex-box';\nimport resolveColor from '@semcore/utils/lib/color';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/spin-container.shadow.css';\n\nclass SpinContainerRoot extends Component {\n static displayName = 'SpinContainer';\n static style = style;\n static defaultProps = {\n size: 'xxl',\n theme: 'dark',\n duration: 200,\n };\n\n getOverlayProps() {\n const { loading, background, duration, size, theme } = this.asProps;\n return {\n background,\n // for Animated\n loading,\n duration,\n // for Spin\n size,\n theme,\n };\n }\n\n render() {\n const SSpinContainer = Root;\n const { styles, Children } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n SpinContainer.Content.displayName,\n SpinContainer.Overlay.displayName,\n ]);\n\n return sstyled(styles)(\n <SSpinContainer render={Box}>\n {advanceMode ? (\n <Children />\n ) : (\n <>\n <SpinContainer.Content>\n <Children />\n </SpinContainer.Content>\n <SpinContainer.Overlay />\n </>\n )}\n </SSpinContainer>,\n );\n }\n}\n\nclass Overlay extends Component {\n static defaultProps = ({ size, theme }) => ({\n children: <Spin size={size} theme={theme} />,\n });\n\n render() {\n const SOverlay = Root;\n const { styles, theme, background, loading, duration } = this.asProps;\n const useTheme = background ? 'custom' : theme;\n\n return sstyled(styles)(\n <FadeInOut visible={loading} duration={duration}>\n <SOverlay render={Box} use:theme={useTheme} use:background={resolveColor(background)} />\n </FadeInOut>,\n );\n }\n}\n\nfunction Content(props) {\n const SContent = Root;\n const { styles } = props;\n return sstyled(styles)(<SContent render={Box} />);\n}\n\nconst SpinContainer = createComponent(SpinContainerRoot, {\n Overlay,\n Content,\n});\n\nexport default SpinContainer;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,OAArC,EAA8CC,IAA9C,QAA0D,eAA1D;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,OAAOC,IAAP,MAAiB,eAAjB;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AACA,SAASC,aAAT,QAA8B,kCAA9B;;;;;;;;;;;;;;;;;;;;;IAIMC,iB;;;;;;;;;;;;;WASJ,2BAAkB;MAChB,oBAAuD,KAAKC,OAA5D;MAAA,IAAQC,OAAR,iBAAQA,OAAR;MAAA,IAAiBC,UAAjB,iBAAiBA,UAAjB;MAAA,IAA6BC,QAA7B,iBAA6BA,QAA7B;MAAA,IAAuCC,IAAvC,iBAAuCA,IAAvC;MAAA,IAA6CC,KAA7C,iBAA6CA,KAA7C;MACA,OAAO;QACLH,UAAU,EAAVA,UADK;QAEL;QACAD,OAAO,EAAPA,OAHK;QAILE,QAAQ,EAARA,QAJK;QAKL;QACAC,IAAI,EAAJA,IANK;QAOLC,KAAK,EAALA;MAPK,CAAP;IASD;;;WAED,kBAAS;MAAA;MAAA;;MACP,IAAMC,cAAc,GASMV,GAT1B;MACA,
|
|
1
|
+
{"version":3,"file":"SpinContainer.js","names":["React","createComponent","Component","sstyled","Root","FadeInOut","Spin","Box","resolveColor","isAdvanceMode","SpinContainerRoot","asProps","loading","background","duration","size","theme","SSpinContainer","styles","Children","advanceMode","SpinContainer","Content","displayName","Overlay","style","SOverlay","useTheme","children","props","SContent"],"sources":["../../src/SpinContainer.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { FadeInOut } from '@semcore/animation';\nimport Spin from '@semcore/spin';\nimport { Box } from '@semcore/flex-box';\nimport resolveColor from '@semcore/utils/lib/color';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/spin-container.shadow.css';\n\nclass SpinContainerRoot extends Component {\n static displayName = 'SpinContainer';\n static style = style;\n static defaultProps = {\n size: 'xxl',\n theme: 'dark',\n duration: 200,\n };\n\n getOverlayProps() {\n const { loading, background, duration, size, theme } = this.asProps;\n return {\n background,\n // for Animated\n loading,\n duration,\n // for Spin\n size,\n theme,\n };\n }\n\n render() {\n const SSpinContainer = Root;\n const { styles, Children, loading } = this.asProps;\n\n const advanceMode = isAdvanceMode(Children, [\n SpinContainer.Content.displayName,\n SpinContainer.Overlay.displayName,\n ]);\n\n return sstyled(styles)(\n <SSpinContainer render={Box} aria-busy={loading}>\n {advanceMode ? (\n <Children />\n ) : (\n <>\n <SpinContainer.Content>\n <Children />\n </SpinContainer.Content>\n <SpinContainer.Overlay />\n </>\n )}\n </SSpinContainer>,\n );\n }\n}\n\nclass Overlay extends Component {\n static defaultProps = ({ size, theme }) => ({\n children: <Spin size={size} theme={theme} />,\n });\n\n render() {\n const SOverlay = Root;\n const { styles, theme, background, loading, duration } = this.asProps;\n const useTheme = background ? 'custom' : theme;\n\n return sstyled(styles)(\n <FadeInOut visible={loading} duration={duration}>\n <SOverlay render={Box} use:theme={useTheme} use:background={resolveColor(background)} />\n </FadeInOut>,\n );\n }\n}\n\nfunction Content(props) {\n const SContent = Root;\n const { styles } = props;\n return sstyled(styles)(<SContent render={Box} />);\n}\n\nconst SpinContainer = createComponent(SpinContainerRoot, {\n Overlay,\n Content,\n});\n\nexport default SpinContainer;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, ReturnEl, CProps } from '@semcore/core';\nimport { ISpinProps } from '@semcore/spin';\nimport { Box, IBoxProps } from '@semcore/flex-box';\n\nexport interface ISpinContainerProps extends IBoxProps, ISpinProps {\n /**\n * Color of container spinner; you can use your own color\n */\n background?: string;\n /** Duration of animation displaying in ms\n * @default 200\n */\n duration?: number;\n /**\n * Property responsible for displaying the spinner\n * */\n loading?: boolean;\n}\n\nexport interface ISpinContainerContext {\n getOverlayProps: PropGetterFn;\n}\n\nexport interface ISpinContainerOverlayProps extends IBoxProps {\n /**\n * Css background; you can use your own color\n */\n background?: string;\n}\n\ndeclare const SpinContainer: (<T>(\n props: CProps<ISpinContainerProps & T, ISpinContainerContext>,\n) => ReturnEl) & {\n Content: typeof Box;\n Overlay: <T>(props: ISpinContainerOverlayProps & T) => ReturnEl;\n};\n\nexport default SpinContainer;\n"],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/spin-container",
|
|
3
3
|
"description": "Semrush SpinContainer Component",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.12",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"types": "lib/types/index.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"author": "UI-kit team <ui-kit-team@semrush.com>",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "
|
|
12
|
+
"build": "pnpm semcore-builder --source=js",
|
|
13
13
|
"test": "jest"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"directory": "semcore/spin-container"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
+
"@types/react": "16.8 - 17",
|
|
34
35
|
"@semcore/jest-preset-ui": "1.0.0"
|
|
35
36
|
}
|
|
36
37
|
}
|
package/lib/cjs/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { PropGetterFn, ReturnEl, CProps } from '@semcore/core';
|
|
2
|
-
import { ISpinProps } from '@semcore/spin';
|
|
3
|
-
import { Box, IBoxProps } from '@semcore/flex-box';
|
|
4
|
-
|
|
5
|
-
export interface ISpinContainerProps extends IBoxProps, ISpinProps {
|
|
6
|
-
/**
|
|
7
|
-
* Color of container spinner; you can use your own color
|
|
8
|
-
*/
|
|
9
|
-
background?: string;
|
|
10
|
-
/** Duration of animation displaying in ms
|
|
11
|
-
* @default 200
|
|
12
|
-
*/
|
|
13
|
-
duration?: number;
|
|
14
|
-
/**
|
|
15
|
-
* Property responsible for displaying the spinner
|
|
16
|
-
* */
|
|
17
|
-
loading?: boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface ISpinContainerContext {
|
|
21
|
-
getOverlayProps: PropGetterFn;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface ISpinContainerOverlayProps extends IBoxProps {
|
|
25
|
-
/**
|
|
26
|
-
* Css background; you can use your own color
|
|
27
|
-
*/
|
|
28
|
-
background?: string;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
declare const SpinContainer: (<T>(
|
|
32
|
-
props: CProps<ISpinContainerProps & T, ISpinContainerContext>,
|
|
33
|
-
) => ReturnEl) & {
|
|
34
|
-
Content: typeof Box;
|
|
35
|
-
Overlay: <T>(props: ISpinContainerOverlayProps & T) => ReturnEl;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export default SpinContainer;
|
package/lib/es6/index.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { PropGetterFn, ReturnEl, CProps } from '@semcore/core';
|
|
2
|
-
import { ISpinProps } from '@semcore/spin';
|
|
3
|
-
import { Box, IBoxProps } from '@semcore/flex-box';
|
|
4
|
-
|
|
5
|
-
export interface ISpinContainerProps extends IBoxProps, ISpinProps {
|
|
6
|
-
/**
|
|
7
|
-
* Color of container spinner; you can use your own color
|
|
8
|
-
*/
|
|
9
|
-
background?: string;
|
|
10
|
-
/** Duration of animation displaying in ms
|
|
11
|
-
* @default 200
|
|
12
|
-
*/
|
|
13
|
-
duration?: number;
|
|
14
|
-
/**
|
|
15
|
-
* Property responsible for displaying the spinner
|
|
16
|
-
* */
|
|
17
|
-
loading?: boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface ISpinContainerContext {
|
|
21
|
-
getOverlayProps: PropGetterFn;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface ISpinContainerOverlayProps extends IBoxProps {
|
|
25
|
-
/**
|
|
26
|
-
* Css background; you can use your own color
|
|
27
|
-
*/
|
|
28
|
-
background?: string;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
declare const SpinContainer: (<T>(
|
|
32
|
-
props: CProps<ISpinContainerProps & T, ISpinContainerContext>,
|
|
33
|
-
) => ReturnEl) & {
|
|
34
|
-
Content: typeof Box;
|
|
35
|
-
Overlay: <T>(props: ISpinContainerOverlayProps & T) => ReturnEl;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export default SpinContainer;
|