@ringcentral/juno 2.4.0 → 2.4.1

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.
@@ -7,40 +7,42 @@ import { combineProps } from './utils/combineProps';
7
7
  * Remove this workaround once the Safari bug is fixed.
8
8
  */
9
9
  export var isSafari154 = typeof navigator !== 'undefined' &&
10
- /^((?!chrome|android).)*safari/i.test(navigator.userAgent) &&
11
- /version\/15\.[4-9]/i.test(navigator.userAgent);
10
+ (/^((?!chrome|android).)*safari/i.test(navigator.userAgent) ||
11
+ /(iPhone|iPad)/.test(navigator.userAgent)) &&
12
+ /15\.[4-9]/i.test(navigator.userAgent);
12
13
  var FixSafari154Classes = RcClasses(['paper'], 'RcFixSafari154');
13
14
  /**
14
15
  * Conditionally apply a workaround for the CSS transition bug in Safari 15.4.
15
16
  * Remove this workaround once the Safari bug is fixed.
16
17
  */
17
- export var getSafari154Theme = function (theme) {
18
- if (!isSafari154)
19
- return theme;
20
- return combineProps({
21
- props: {
22
- // * set all grow related to only have one transition to make animation not shake after safari 15.4
23
- MuiMenu: {
24
- PopoverClasses: { paper: FixSafari154Classes.paper },
25
- },
26
- RcVirtualizedMenu: {
27
- PopoverClasses: { paper: FixSafari154Classes.paper },
28
- },
29
- MuiPopover: {
30
- PaperProps: { className: FixSafari154Classes.paper },
31
- },
32
- // mui tooltip prop will cover all existing props
33
- RcTooltip: {
34
- classes: {
35
- tooltip: FixSafari154Classes.paper,
18
+ export var getSafari154Theme = function (theme, enable) {
19
+ if (enable !== null && enable !== void 0 ? enable : isSafari154) {
20
+ return combineProps({
21
+ props: {
22
+ // * set all grow related to only have one transition to make animation not shake after safari 15.4
23
+ MuiMenu: {
24
+ PopoverClasses: { paper: FixSafari154Classes.paper },
25
+ },
26
+ RcVirtualizedMenu: {
27
+ PopoverClasses: { paper: FixSafari154Classes.paper },
28
+ },
29
+ MuiPopover: {
30
+ PaperProps: { className: FixSafari154Classes.paper },
31
+ },
32
+ // mui tooltip prop will cover all existing props
33
+ RcTooltip: {
34
+ classes: {
35
+ tooltip: FixSafari154Classes.paper,
36
+ },
37
+ },
38
+ // mui grow not accept global prop
39
+ RcGrow: {
40
+ className: FixSafari154Classes.paper,
36
41
  },
37
42
  },
38
- // mui grow not accept global prop
39
- RcGrow: {
40
- className: FixSafari154Classes.paper,
41
- },
42
- },
43
- }, theme);
43
+ }, theme);
44
+ }
45
+ return theme;
44
46
  };
45
47
  export var fixSafariTransitionStyle = 'all 159ms cubic-bezier(0.4, 0, 0.2, 1) 0ms';
46
48
  /**
@@ -13,16 +13,16 @@ var NestedThemeContext = createContext(false);
13
13
  * that will user parent's theme when not set theme
14
14
  */
15
15
  var SubThemeProvider = function (_a) {
16
- var themeProp = _a.theme, children = _a.children;
16
+ var themeProp = _a.theme, children = _a.children, safari154Fix = _a.fixSafari154;
17
17
  var _b, _c;
18
18
  var parentTheme = useTheme();
19
19
  var isHaveParentRcTheme = (_c = (_b = parentTheme.palette) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.brand;
20
20
  // TODO: can be remove after safari fix that bug, maybe after v16
21
- var theme = getSafari154Theme(!themeProp && isHaveParentRcTheme ? parentTheme : createTheme(themeProp));
21
+ var theme = getSafari154Theme(!themeProp && isHaveParentRcTheme ? parentTheme : createTheme(themeProp), safari154Fix);
22
22
  return (React.createElement(MuiThemeProvider, { theme: theme },
23
23
  React.createElement(StyledThemeProvider, { theme: theme },
24
24
  React.createElement(React.Fragment, null,
25
- isSafari154 && React.createElement(GlobalFixSafariStyle, null),
25
+ (safari154Fix !== null && safari154Fix !== void 0 ? safari154Fix : isSafari154) && React.createElement(GlobalFixSafariStyle, null),
26
26
  children))));
27
27
  };
28
28
  /**
@@ -7,7 +7,7 @@ export declare const isSafari154: boolean;
7
7
  * Conditionally apply a workaround for the CSS transition bug in Safari 15.4.
8
8
  * Remove this workaround once the Safari bug is fixed.
9
9
  */
10
- export declare const getSafari154Theme: (theme: any) => any;
10
+ export declare const getSafari154Theme: (theme: any, enable?: boolean | undefined) => any;
11
11
  export declare const fixSafariTransitionStyle = "all 159ms cubic-bezier(0.4, 0, 0.2, 1) 0ms";
12
12
  /**
13
13
  * A global style that can be used to apply a workaround for the CSS transition bug in Safari 15.4.
@@ -9,40 +9,42 @@ var combineProps_1 = require("./utils/combineProps");
9
9
  * Remove this workaround once the Safari bug is fixed.
10
10
  */
11
11
  exports.isSafari154 = typeof navigator !== 'undefined' &&
12
- /^((?!chrome|android).)*safari/i.test(navigator.userAgent) &&
13
- /version\/15\.[4-9]/i.test(navigator.userAgent);
12
+ (/^((?!chrome|android).)*safari/i.test(navigator.userAgent) ||
13
+ /(iPhone|iPad)/.test(navigator.userAgent)) &&
14
+ /15\.[4-9]/i.test(navigator.userAgent);
14
15
  var FixSafari154Classes = classes_1.RcClasses(['paper'], 'RcFixSafari154');
15
16
  /**
16
17
  * Conditionally apply a workaround for the CSS transition bug in Safari 15.4.
17
18
  * Remove this workaround once the Safari bug is fixed.
18
19
  */
19
- exports.getSafari154Theme = function (theme) {
20
- if (!exports.isSafari154)
21
- return theme;
22
- return combineProps_1.combineProps({
23
- props: {
24
- // * set all grow related to only have one transition to make animation not shake after safari 15.4
25
- MuiMenu: {
26
- PopoverClasses: { paper: FixSafari154Classes.paper },
27
- },
28
- RcVirtualizedMenu: {
29
- PopoverClasses: { paper: FixSafari154Classes.paper },
30
- },
31
- MuiPopover: {
32
- PaperProps: { className: FixSafari154Classes.paper },
33
- },
34
- // mui tooltip prop will cover all existing props
35
- RcTooltip: {
36
- classes: {
37
- tooltip: FixSafari154Classes.paper,
20
+ exports.getSafari154Theme = function (theme, enable) {
21
+ if (enable !== null && enable !== void 0 ? enable : exports.isSafari154) {
22
+ return combineProps_1.combineProps({
23
+ props: {
24
+ // * set all grow related to only have one transition to make animation not shake after safari 15.4
25
+ MuiMenu: {
26
+ PopoverClasses: { paper: FixSafari154Classes.paper },
27
+ },
28
+ RcVirtualizedMenu: {
29
+ PopoverClasses: { paper: FixSafari154Classes.paper },
30
+ },
31
+ MuiPopover: {
32
+ PaperProps: { className: FixSafari154Classes.paper },
33
+ },
34
+ // mui tooltip prop will cover all existing props
35
+ RcTooltip: {
36
+ classes: {
37
+ tooltip: FixSafari154Classes.paper,
38
+ },
39
+ },
40
+ // mui grow not accept global prop
41
+ RcGrow: {
42
+ className: FixSafari154Classes.paper,
38
43
  },
39
44
  },
40
- // mui grow not accept global prop
41
- RcGrow: {
42
- className: FixSafari154Classes.paper,
43
- },
44
- },
45
- }, theme);
45
+ }, theme);
46
+ }
47
+ return theme;
46
48
  };
47
49
  exports.fixSafariTransitionStyle = 'all 159ms cubic-bezier(0.4, 0, 0.2, 1) 0ms';
48
50
  /**
@@ -4,6 +4,12 @@ import { RcThemeInput } from './theme.type';
4
4
  declare type SubThemeProviderProps = {
5
5
  /** custom theme */
6
6
  theme?: RcThemeInput;
7
+ /**
8
+ * workaround for fix safari 15.4~.9 bug
9
+ *
10
+ * use for when your environment need that fix but userAgent not have safari
11
+ */
12
+ fixSafari154?: boolean;
7
13
  children?: ReactNode;
8
14
  };
9
15
  declare type RootThemeProviderProps = {
@@ -15,16 +15,16 @@ var NestedThemeContext = react_1.createContext(false);
15
15
  * that will user parent's theme when not set theme
16
16
  */
17
17
  var SubThemeProvider = function (_a) {
18
- var themeProp = _a.theme, children = _a.children;
18
+ var themeProp = _a.theme, children = _a.children, safari154Fix = _a.fixSafari154;
19
19
  var _b, _c;
20
20
  var parentTheme = styled_components_1.useTheme();
21
21
  var isHaveParentRcTheme = (_c = (_b = parentTheme.palette) === null || _b === void 0 ? void 0 : _b.content) === null || _c === void 0 ? void 0 : _c.brand;
22
22
  // TODO: can be remove after safari fix that bug, maybe after v16
23
- var theme = isSafari154_1.getSafari154Theme(!themeProp && isHaveParentRcTheme ? parentTheme : createTheme_1.default(themeProp));
23
+ var theme = isSafari154_1.getSafari154Theme(!themeProp && isHaveParentRcTheme ? parentTheme : createTheme_1.default(themeProp), safari154Fix);
24
24
  return (react_1.default.createElement(styles_1.MuiThemeProvider, { theme: theme },
25
25
  react_1.default.createElement(styled_components_1.ThemeProvider, { theme: theme },
26
26
  react_1.default.createElement(react_1.default.Fragment, null,
27
- isSafari154_1.isSafari154 && react_1.default.createElement(isSafari154_1.GlobalFixSafariStyle, null),
27
+ (safari154Fix !== null && safari154Fix !== void 0 ? safari154Fix : isSafari154_1.isSafari154) && react_1.default.createElement(isSafari154_1.GlobalFixSafariStyle, null),
28
28
  children))));
29
29
  };
30
30
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ringcentral/juno",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "author": "RingCentral",
5
5
  "license": "MIT",
6
6
  "main": "./index.js",