@griffel/react 1.7.3 → 1.7.4

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.
Files changed (112) hide show
  1. package/LICENSE.md +21 -0
  2. package/lib/RendererContext.cjs +46 -0
  3. package/lib/TextDirectionContext.cjs +33 -0
  4. package/lib/__css.cjs +22 -0
  5. package/lib/__resetCSS.cjs +22 -0
  6. package/lib/__resetStyles.cjs +26 -0
  7. package/lib/__staticCSS.cjs +18 -0
  8. package/lib/__staticStyles.cjs +23 -0
  9. package/lib/__styles.cjs +26 -0
  10. package/lib/index.cjs +78 -0
  11. package/lib/insertionFactory.cjs +33 -0
  12. package/lib/makeResetStyles.cjs +35 -0
  13. package/lib/makeStaticStyles.cjs +28 -0
  14. package/lib/makeStyles.cjs +35 -0
  15. package/lib/renderToStyleElements.cjs +50 -0
  16. package/lib/useInsertionEffect.cjs +20 -0
  17. package/lib/utils/canUseDOM.cjs +17 -0
  18. package/lib/utils/isInsideComponent.cjs +46 -0
  19. package/package.json +3 -3
  20. package/src/RendererContext.d.ts +24 -0
  21. package/src/RendererContext.js +32 -0
  22. package/src/RendererContext.js.map +1 -0
  23. package/src/TextDirectionContext.d.ts +19 -0
  24. package/src/TextDirectionContext.js +22 -0
  25. package/src/TextDirectionContext.js.map +1 -0
  26. package/src/__css.d.ts +7 -0
  27. package/src/__css.js +16 -0
  28. package/src/__css.js.map +1 -0
  29. package/src/__resetCSS.d.ts +6 -0
  30. package/src/{__resetCSS.ts → __resetCSS.js} +7 -10
  31. package/src/__resetCSS.js.map +1 -0
  32. package/src/__resetStyles.d.ts +7 -0
  33. package/src/__resetStyles.js +19 -0
  34. package/src/__resetStyles.js.map +1 -0
  35. package/src/__staticCSS.d.ts +6 -0
  36. package/src/{__staticCSS.ts → __staticCSS.js} +5 -7
  37. package/src/__staticCSS.js.map +1 -0
  38. package/src/__staticStyles.d.ts +7 -0
  39. package/src/{__staticStyles.ts → __staticStyles.js} +7 -12
  40. package/src/__staticStyles.js.map +1 -0
  41. package/src/__styles.d.ts +7 -0
  42. package/src/__styles.js +19 -0
  43. package/src/__styles.js.map +1 -0
  44. package/src/{index.ts → index.d.ts} +0 -6
  45. package/src/index.js +16 -0
  46. package/src/index.js.map +1 -0
  47. package/src/insertionFactory.d.ts +2 -0
  48. package/src/insertionFactory.js +21 -0
  49. package/src/insertionFactory.js.map +1 -0
  50. package/src/makeResetStyles.d.ts +2 -0
  51. package/src/makeResetStyles.js +23 -0
  52. package/src/makeResetStyles.js.map +1 -0
  53. package/src/makeStaticStyles.d.ts +2 -0
  54. package/src/makeStaticStyles.js +17 -0
  55. package/src/makeStaticStyles.js.map +1 -0
  56. package/src/makeStyles.d.ts +2 -0
  57. package/src/makeStyles.js +23 -0
  58. package/src/makeStyles.js.map +1 -0
  59. package/src/renderToStyleElements.d.ts +8 -0
  60. package/src/renderToStyleElements.js +51 -0
  61. package/src/renderToStyleElements.js.map +1 -0
  62. package/src/useInsertionEffect.d.ts +1 -0
  63. package/src/useInsertionEffect.js +10 -0
  64. package/src/useInsertionEffect.js.map +1 -0
  65. package/src/utils/canUseDOM.d.ts +1 -0
  66. package/src/utils/canUseDOM.js +9 -0
  67. package/src/utils/canUseDOM.js.map +1 -0
  68. package/src/utils/isInsideComponent.d.ts +1 -0
  69. package/src/utils/isInsideComponent.js +39 -0
  70. package/src/utils/isInsideComponent.js.map +1 -0
  71. package/.storybook/main.js +0 -20
  72. package/.storybook/preview.js +0 -1
  73. package/CHANGELOG.json +0 -1281
  74. package/CHANGELOG.md +0 -501
  75. package/bundle-size/__css.fixture.js +0 -7
  76. package/bundle-size/__styles.fixture.js +0 -7
  77. package/bundle-size/makeResetStyles.fixture.js +0 -7
  78. package/bundle-size/makeStaticStyles.fixture.js +0 -7
  79. package/bundle-size/makeStyles.fixture.js +0 -7
  80. package/eslint.config.mjs +0 -31
  81. package/project.json +0 -96
  82. package/src/RendererContext.tsx +0 -52
  83. package/src/TextDirectionContext.tsx +0 -34
  84. package/src/__css.ts +0 -21
  85. package/src/__resetStyles.ts +0 -28
  86. package/src/__styles.ts +0 -27
  87. package/src/createDOMRenderer.test.tsx +0 -133
  88. package/src/insertionFactory-node.test.ts +0 -31
  89. package/src/insertionFactory.test.ts +0 -29
  90. package/src/insertionFactory.ts +0 -27
  91. package/src/makeResetStyles.test.tsx +0 -27
  92. package/src/makeResetStyles.ts +0 -31
  93. package/src/makeStaticStyles.ts +0 -23
  94. package/src/makeStyles.test.tsx +0 -27
  95. package/src/makeStyles.ts +0 -31
  96. package/src/renderToStyleElements-node.test.tsx +0 -418
  97. package/src/renderToStyleElements.test.tsx +0 -103
  98. package/src/renderToStyleElements.ts +0 -61
  99. package/src/stories/ComponentStyles.stories.tsx +0 -55
  100. package/src/stories/DOMRendererFilter.stories.tsx +0 -76
  101. package/src/stories/FallbackValues.stories.tsx +0 -50
  102. package/src/stories/makeStyles.stories.tsx +0 -17
  103. package/src/useInsertionEffect.ts +0 -11
  104. package/src/utils/canUseDOM-node.test.ts +0 -14
  105. package/src/utils/canUseDOM.test.tsx +0 -8
  106. package/src/utils/canUseDOM.ts +0 -8
  107. package/src/utils/isInsideComponent.ts +0 -41
  108. package/tsconfig.json +0 -20
  109. package/tsconfig.lib.json +0 -28
  110. package/tsconfig.spec.json +0 -21
  111. package/tsconfig.storybook.json +0 -12
  112. package/vitest.config.ts +0 -21
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: Object.getOwnPropertyDescriptor(all, name).get
10
+ });
11
+ }
12
+ _export(exports, {
13
+ get RendererProvider () {
14
+ return RendererProvider;
15
+ },
16
+ get useRenderer () {
17
+ return useRenderer;
18
+ }
19
+ });
20
+ const _jsxruntime = require("react/jsx-runtime");
21
+ const _core = require("@griffel/core");
22
+ const _react = require("react");
23
+ const _canUseDOM = require("./utils/canUseDOM.cjs");
24
+ /**
25
+ * @private
26
+ */ const RendererContext = /*#__PURE__*/ (0, _react.createContext)(/*#__PURE__*/ (0, _core.createDOMRenderer)());
27
+ const RendererProvider = ({ children, renderer, targetDocument })=>{
28
+ // "rehydrateCache()" can't be called in effects as it needs to be called before any component will be rendered to
29
+ // avoid double insertion of classes — useMemo runs synchronously before render, useEffect would be too late.
30
+ // eslint-disable-next-line react-x/use-memo, react-hooks/void-use-memo
31
+ (0, _react.useMemo)(()=>{
32
+ if ((0, _canUseDOM.canUseDOM)()) {
33
+ (0, _core.rehydrateRendererCache)(renderer, targetDocument);
34
+ }
35
+ }, [
36
+ renderer,
37
+ targetDocument
38
+ ]);
39
+ return (0, _jsxruntime.jsx)(RendererContext.Provider, {
40
+ value: renderer,
41
+ children: children
42
+ });
43
+ };
44
+ function useRenderer() {
45
+ return (0, _react.useContext)(RendererContext);
46
+ } //# sourceMappingURL=RendererContext.js.map
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: Object.getOwnPropertyDescriptor(all, name).get
10
+ });
11
+ }
12
+ _export(exports, {
13
+ get TextDirectionProvider () {
14
+ return TextDirectionProvider;
15
+ },
16
+ get useTextDirection () {
17
+ return useTextDirection;
18
+ }
19
+ });
20
+ const _jsxruntime = require("react/jsx-runtime");
21
+ const _react = require("react");
22
+ /**
23
+ * @private
24
+ */ const TextDirectionContext = /*#__PURE__*/ (0, _react.createContext)('ltr');
25
+ const TextDirectionProvider = ({ children, dir })=>{
26
+ return (0, _jsxruntime.jsx)(TextDirectionContext.Provider, {
27
+ value: dir,
28
+ children: children
29
+ });
30
+ };
31
+ function useTextDirection() {
32
+ return (0, _react.useContext)(TextDirectionContext);
33
+ } //# sourceMappingURL=TextDirectionContext.js.map
package/lib/__css.cjs ADDED
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "__css", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return __css;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
14
+ function __css(classesMapBySlot) {
15
+ const getStyles = (0, _core.__css)(classesMapBySlot);
16
+ return function useClasses() {
17
+ const dir = (0, _TextDirectionContext.useTextDirection)();
18
+ return getStyles({
19
+ dir
20
+ });
21
+ };
22
+ } //# sourceMappingURL=__css.js.map
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "__resetCSS", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return __resetCSS;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
14
+ function __resetCSS(ltrClassName, rtlClassName) {
15
+ const getStyles = (0, _core.__resetCSS)(ltrClassName, rtlClassName);
16
+ return function useClasses() {
17
+ const dir = (0, _TextDirectionContext.useTextDirection)();
18
+ return getStyles({
19
+ dir
20
+ });
21
+ };
22
+ } //# sourceMappingURL=__resetCSS.js.map
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "__resetStyles", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return __resetStyles;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _insertionFactory = require("./insertionFactory.cjs");
14
+ const _RendererContext = require("./RendererContext.cjs");
15
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
16
+ function __resetStyles(ltrClassName, rtlClassName, cssRules) {
17
+ const getStyles = (0, _core.__resetStyles)(ltrClassName, rtlClassName, cssRules, _insertionFactory.insertionFactory);
18
+ return function useClasses() {
19
+ const dir = (0, _TextDirectionContext.useTextDirection)();
20
+ const renderer = (0, _RendererContext.useRenderer)();
21
+ return getStyles({
22
+ dir,
23
+ renderer
24
+ });
25
+ };
26
+ } //# sourceMappingURL=__resetStyles.js.map
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "__staticCSS", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return __staticCSS;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ function __staticCSS() {
14
+ const getStyles = (0, _core.__staticCSS)();
15
+ return function useStaticStyles() {
16
+ return getStyles();
17
+ };
18
+ } //# sourceMappingURL=__staticCSS.js.map
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "__staticStyles", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return __staticStyles;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _insertionFactory = require("./insertionFactory.cjs");
14
+ const _RendererContext = require("./RendererContext.cjs");
15
+ function __staticStyles(cssRules) {
16
+ const getStyles = (0, _core.__staticStyles)(cssRules, _insertionFactory.insertionFactory);
17
+ return function useStaticStyles() {
18
+ const renderer = (0, _RendererContext.useRenderer)();
19
+ return getStyles({
20
+ renderer
21
+ });
22
+ };
23
+ } //# sourceMappingURL=__staticStyles.js.map
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "__styles", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return __styles;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _insertionFactory = require("./insertionFactory.cjs");
14
+ const _RendererContext = require("./RendererContext.cjs");
15
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
16
+ function __styles(classesMapBySlot, cssRules) {
17
+ const getStyles = (0, _core.__styles)(classesMapBySlot, cssRules, _insertionFactory.insertionFactory);
18
+ return function useClasses() {
19
+ const dir = (0, _TextDirectionContext.useTextDirection)();
20
+ const renderer = (0, _RendererContext.useRenderer)();
21
+ return getStyles({
22
+ dir,
23
+ renderer
24
+ });
25
+ };
26
+ } //# sourceMappingURL=__styles.js.map
package/lib/index.cjs ADDED
@@ -0,0 +1,78 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: Object.getOwnPropertyDescriptor(all, name).get
10
+ });
11
+ }
12
+ _export(exports, {
13
+ get RESET () {
14
+ return _core.RESET;
15
+ },
16
+ get RendererProvider () {
17
+ return _RendererContext.RendererProvider;
18
+ },
19
+ get TextDirectionProvider () {
20
+ return _TextDirectionContext.TextDirectionProvider;
21
+ },
22
+ get __css () {
23
+ return __css.__css;
24
+ },
25
+ get __resetCSS () {
26
+ return __resetCSS.__resetCSS;
27
+ },
28
+ get __resetStyles () {
29
+ return __resetStyles.__resetStyles;
30
+ },
31
+ get __staticCSS () {
32
+ return __staticCSS.__staticCSS;
33
+ },
34
+ get __staticStyles () {
35
+ return __staticStyles.__staticStyles;
36
+ },
37
+ get __styles () {
38
+ return __styles.__styles;
39
+ },
40
+ get createDOMRenderer () {
41
+ return _core.createDOMRenderer;
42
+ },
43
+ get makeResetStyles () {
44
+ return _makeResetStyles.makeResetStyles;
45
+ },
46
+ get makeStaticStyles () {
47
+ return _makeStaticStyles.makeStaticStyles;
48
+ },
49
+ get makeStyles () {
50
+ return _makeStyles.makeStyles;
51
+ },
52
+ get mergeClasses () {
53
+ return _core.mergeClasses;
54
+ },
55
+ get renderToStyleElements () {
56
+ return _renderToStyleElements.renderToStyleElements;
57
+ },
58
+ get shorthands () {
59
+ return _core.shorthands;
60
+ },
61
+ get useRenderer_unstable () {
62
+ return _RendererContext.useRenderer;
63
+ }
64
+ });
65
+ const _core = require("@griffel/core");
66
+ const _makeStyles = require("./makeStyles.cjs");
67
+ const _makeResetStyles = require("./makeResetStyles.cjs");
68
+ const _makeStaticStyles = require("./makeStaticStyles.cjs");
69
+ const _renderToStyleElements = require("./renderToStyleElements.cjs");
70
+ const _RendererContext = require("./RendererContext.cjs");
71
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
72
+ const __css = require("./__css.cjs");
73
+ const __styles = require("./__styles.cjs");
74
+ const __resetCSS = require("./__resetCSS.cjs");
75
+ const __resetStyles = require("./__resetStyles.cjs");
76
+ const __staticCSS = require("./__staticCSS.cjs");
77
+ const __staticStyles = require("./__staticStyles.cjs");
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "insertionFactory", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return insertionFactory;
10
+ }
11
+ });
12
+ const _canUseDOM = require("./utils/canUseDOM.cjs");
13
+ const _useInsertionEffect = require("./useInsertionEffect.cjs");
14
+ const insertionFactory = ()=>{
15
+ const insertionCache = {};
16
+ return function insert(renderer, cssRules) {
17
+ // Even if `useInsertionEffect` is available, we can use it on a client only as it will not be executed in SSR
18
+ if (_useInsertionEffect.useInsertionEffect && (0, _canUseDOM.canUseDOM)()) {
19
+ // eslint-disable-next-line react-x/rules-of-hooks
20
+ (0, _useInsertionEffect.useInsertionEffect)(()=>{
21
+ renderer.insertCSSRules(cssRules);
22
+ }, [
23
+ renderer,
24
+ cssRules
25
+ ]);
26
+ return;
27
+ }
28
+ if (insertionCache[renderer.id] === undefined) {
29
+ renderer.insertCSSRules(cssRules);
30
+ insertionCache[renderer.id] = true;
31
+ }
32
+ };
33
+ }; //# sourceMappingURL=insertionFactory.js.map
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "makeResetStyles", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return makeResetStyles;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _insertionFactory = require("./insertionFactory.cjs");
14
+ const _RendererContext = require("./RendererContext.cjs");
15
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
16
+ const _isInsideComponent = require("./utils/isInsideComponent.cjs");
17
+ function makeResetStyles(styles) {
18
+ const getStyles = (0, _core.makeResetStyles)(styles, _insertionFactory.insertionFactory);
19
+ if (process.env.NODE_ENV !== 'production') {
20
+ if ((0, _isInsideComponent.isInsideComponent)()) {
21
+ throw new Error([
22
+ "makeResetStyles(): this function cannot be called in component's scope.",
23
+ 'All makeResetStyles() calls should be top level i.e. in a root scope of a file.'
24
+ ].join(' '));
25
+ }
26
+ }
27
+ return function useClassName() {
28
+ const dir = (0, _TextDirectionContext.useTextDirection)();
29
+ const renderer = (0, _RendererContext.useRenderer)();
30
+ return getStyles({
31
+ dir,
32
+ renderer
33
+ });
34
+ };
35
+ } //# sourceMappingURL=makeResetStyles.js.map
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "makeStaticStyles", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return makeStaticStyles;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _insertionFactory = require("./insertionFactory.cjs");
14
+ const _RendererContext = require("./RendererContext.cjs");
15
+ function makeStaticStyles(styles) {
16
+ const getStyles = (0, _core.makeStaticStyles)(styles, _insertionFactory.insertionFactory);
17
+ if (process.env.NODE_ENV === 'test') {
18
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
19
+ return ()=>{};
20
+ }
21
+ return function useStaticStyles() {
22
+ const renderer = (0, _RendererContext.useRenderer)();
23
+ const options = {
24
+ renderer
25
+ };
26
+ return getStyles(options);
27
+ };
28
+ } //# sourceMappingURL=makeStaticStyles.js.map
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "makeStyles", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return makeStyles;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _insertionFactory = require("./insertionFactory.cjs");
14
+ const _RendererContext = require("./RendererContext.cjs");
15
+ const _TextDirectionContext = require("./TextDirectionContext.cjs");
16
+ const _isInsideComponent = require("./utils/isInsideComponent.cjs");
17
+ function makeStyles(stylesBySlots) {
18
+ const getStyles = (0, _core.makeStyles)(stylesBySlots, _insertionFactory.insertionFactory);
19
+ if (process.env.NODE_ENV !== 'production') {
20
+ if ((0, _isInsideComponent.isInsideComponent)()) {
21
+ throw new Error([
22
+ "makeStyles(): this function cannot be called in component's scope.",
23
+ 'All makeStyles() calls should be top level i.e. in a root scope of a file.'
24
+ ].join(' '));
25
+ }
26
+ }
27
+ return function useClasses() {
28
+ const dir = (0, _TextDirectionContext.useTextDirection)();
29
+ const renderer = (0, _RendererContext.useRenderer)();
30
+ return getStyles({
31
+ dir,
32
+ renderer
33
+ });
34
+ };
35
+ } //# sourceMappingURL=makeStyles.js.map
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "renderToStyleElements", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return renderToStyleElements;
10
+ }
11
+ });
12
+ const _core = require("@griffel/core");
13
+ const _react = require("react");
14
+ function renderToStyleElements(renderer) {
15
+ const stylesheets = Object.values(renderer.stylesheets)// first sort: bucket by order [data-priority]
16
+ .sort((a, b)=>{
17
+ return Number(a.elementAttributes['data-priority']) - Number(b.elementAttributes['data-priority']);
18
+ })// second sort: bucket by bucket name
19
+ .sort((a, b)=>{
20
+ return _core.styleBucketOrdering.indexOf(a.bucketName) - _core.styleBucketOrdering.indexOf(b.bucketName);
21
+ })// third sort: media queries
22
+ .sort((a, b)=>{
23
+ const mediaA = a.elementAttributes['media'];
24
+ const mediaB = b.elementAttributes['media'];
25
+ if (mediaA && mediaB) {
26
+ return renderer.compareMediaQueries(mediaA, mediaB);
27
+ }
28
+ if (mediaA || mediaB) {
29
+ return mediaA ? 1 : -1;
30
+ }
31
+ return 0;
32
+ });
33
+ return stylesheets.map((stylesheet)=>{
34
+ const cssRules = stylesheet.cssRules();
35
+ // don't want to create any empty style elements
36
+ if (!cssRules.length) {
37
+ return null;
38
+ }
39
+ return (0, _react.createElement)('style', {
40
+ key: stylesheet.bucketName,
41
+ // TODO: support "nonce"
42
+ // ...renderer.styleNodeAttributes,
43
+ ...stylesheet.elementAttributes,
44
+ 'data-make-styles-rehydration': 'true',
45
+ dangerouslySetInnerHTML: {
46
+ __html: cssRules.join('')
47
+ }
48
+ });
49
+ }).filter(Boolean);
50
+ } //# sourceMappingURL=renderToStyleElements.js.map
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useInsertionEffect", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return useInsertionEffect;
10
+ }
11
+ });
12
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const useInsertionEffect = // @ts-expect-error Hack to make sure that `useInsertionEffect` will not cause bundling issues in older React versions
19
+ // eslint-disable-next-line no-useless-concat
20
+ _react.default['useInsertion' + 'Effect'] ? _react.default['useInsertion' + 'Effect'] : undefined; //# sourceMappingURL=useInsertionEffect.js.map
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Verifies if an application can use DOM.
3
+ *
4
+ * @internal
5
+ */ "use strict";
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ Object.defineProperty(exports, "canUseDOM", {
10
+ enumerable: true,
11
+ get: function() {
12
+ return canUseDOM;
13
+ }
14
+ });
15
+ function canUseDOM() {
16
+ return typeof window !== 'undefined' && !!(window.document && window.document.createElement);
17
+ } //# sourceMappingURL=canUseDOM.js.map
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "isInsideComponent", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return isInsideComponent;
10
+ }
11
+ });
12
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function getDispatcher() {
19
+ try {
20
+ return _react.default[''.concat('__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE')].H;
21
+ } catch {
22
+ // React 19+
23
+ }
24
+ try {
25
+ return _react.default[''.concat('__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED')].ReactCurrentDispatcher.current;
26
+ } catch {
27
+ // React 18 and below
28
+ }
29
+ }
30
+ function isInsideComponent() {
31
+ // React 18 always logs errors if a dispatcher is not present:
32
+ // https://github.com/facebook/react/blob/42f15b324f50d0fd98322c21646ac3013e30344a/packages/react/src/ReactHooks.js#L26-L36
33
+ try {
34
+ const dispatcher = getDispatcher();
35
+ // Before any React component was rendered "dispatcher" will be "null"
36
+ if (dispatcher === null || dispatcher === undefined) {
37
+ return false;
38
+ }
39
+ // A check with hooks call (i.e. call "React.useContext()" outside a component) will always produce errors, but
40
+ // a call on the dispatcher wont
41
+ dispatcher.useContext({});
42
+ return true;
43
+ } catch {
44
+ return false;
45
+ }
46
+ } //# sourceMappingURL=isInsideComponent.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@griffel/react",
3
- "version": "1.7.3",
3
+ "version": "1.7.4",
4
4
  "description": "React implementation of Atomic CSS-in-JS",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -27,10 +27,10 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@griffel/core": "^1.21.1",
30
+ "@griffel/core": "^1.21.2",
31
31
  "tslib": "^2.1.0"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "react": ">=16.14.0 <20.0.0"
35
35
  }
36
- }
36
+ }
@@ -0,0 +1,24 @@
1
+ import type { GriffelRenderer } from '@griffel/core';
2
+ import { type FC, type ReactNode } from 'react';
3
+ export interface RendererProviderProps {
4
+ /** An instance of Griffel renderer. */
5
+ renderer: GriffelRenderer;
6
+ /**
7
+ * Document used to insert CSS variables to head
8
+ */
9
+ targetDocument?: Document;
10
+ /**
11
+ * Content wrapped by the RendererProvider
12
+ */
13
+ children: ReactNode;
14
+ }
15
+ /**
16
+ * @public
17
+ */
18
+ export declare const RendererProvider: FC<RendererProviderProps>;
19
+ /**
20
+ * Returns an instance of current makeStyles() renderer.
21
+ *
22
+ * @private Exported as "useRenderer_unstable" use it on own risk. Can be changed or removed without a notice.
23
+ */
24
+ export declare function useRenderer(): GriffelRenderer;