@c15t/react 0.0.1-rc.9 → 1.0.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/dist/components/consent-manager-dialog/__tests__/styles.spec.cjs +41 -20
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.js +34 -6
- package/dist/components/consent-manager-dialog/atoms/dialog-card.cjs +67 -32
- package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts +9 -3
- package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/atoms/dialog-card.js +26 -12
- package/dist/components/consent-manager-dialog/atoms/overlay.cjs +20 -19
- package/dist/components/consent-manager-dialog/atoms/overlay.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/atoms/overlay.js +7 -4
- package/dist/components/consent-manager-dialog/consent-manager-dialog.cjs +20 -16
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts +0 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/consent-manager-dialog.js +10 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.cjs +12 -10
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.js +4 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog_module.css +29 -15
- package/dist/components/consent-manager-dialog/index.cjs +43 -17
- package/dist/components/consent-manager-dialog/theme.cjs +3 -4
- package/dist/components/consent-manager-widget/__tests__/styles.spec.cjs +41 -20
- package/dist/components/consent-manager-widget/__tests__/styles.spec.js +34 -6
- package/dist/components/consent-manager-widget/atoms/accordion.cjs +50 -24
- package/dist/components/consent-manager-widget/atoms/accordion.d.ts.map +1 -1
- package/dist/components/consent-manager-widget/atoms/button.cjs +27 -13
- package/dist/components/consent-manager-widget/atoms/footer.cjs +19 -17
- package/dist/components/consent-manager-widget/atoms/root.cjs +10 -8
- package/dist/components/consent-manager-widget/consent-manager-widget.cjs +11 -22
- package/dist/components/consent-manager-widget/consent-manager-widget.d.ts.map +1 -1
- package/dist/components/consent-manager-widget/consent-manager-widget.js +3 -14
- package/dist/components/consent-manager-widget/consent-manager-widget.module.cjs +12 -13
- package/dist/components/consent-manager-widget/consent-manager-widget.module.js +4 -5
- package/dist/components/consent-manager-widget/consent-manager-widget_module.css +24 -29
- package/dist/components/consent-manager-widget/index.cjs +87 -29
- package/dist/components/consent-manager-widget/theme.cjs +3 -4
- package/dist/components/consent-manager-widget/types.cjs +3 -4
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.cjs +189 -0
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.d.ts +2 -0
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.d.ts.map +1 -0
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.js +183 -0
- package/dist/components/cookie-banner/__tests__/styles.spec.cjs +35 -20
- package/dist/components/cookie-banner/__tests__/styles.spec.js +28 -6
- package/dist/components/cookie-banner/atoms/overlay.cjs +18 -18
- package/dist/components/cookie-banner/atoms/overlay.d.ts.map +1 -1
- package/dist/components/cookie-banner/atoms/overlay.js +7 -5
- package/dist/components/cookie-banner/atoms/root.cjs +17 -17
- package/dist/components/cookie-banner/atoms/root.d.ts +14 -0
- package/dist/components/cookie-banner/atoms/root.d.ts.map +1 -1
- package/dist/components/cookie-banner/atoms/root.js +6 -4
- package/dist/components/cookie-banner/components.cjs +69 -28
- package/dist/components/cookie-banner/components.d.ts.map +1 -1
- package/dist/components/cookie-banner/components.js +14 -3
- package/dist/components/cookie-banner/cookie-banner.cjs +11 -9
- package/dist/components/cookie-banner/cookie-banner.d.ts +12 -0
- package/dist/components/cookie-banner/cookie-banner.d.ts.map +1 -1
- package/dist/components/cookie-banner/cookie-banner.js +3 -1
- package/dist/components/cookie-banner/cookie-banner.module.cjs +10 -10
- package/dist/components/cookie-banner/cookie-banner.module.js +2 -2
- package/dist/components/cookie-banner/cookie-banner_module.css +7 -7
- package/dist/components/cookie-banner/error-boundary.cjs +8 -9
- package/dist/components/cookie-banner/error-boundary.d.ts +1 -1
- package/dist/components/cookie-banner/error-boundary.js +0 -1
- package/dist/components/cookie-banner/index.cjs +65 -23
- package/dist/components/cookie-banner/theme.cjs +3 -4
- package/dist/components/shared/libs/polymorphic.cjs +3 -4
- package/dist/components/shared/libs/polymorphic.d.ts +1 -7
- package/dist/components/shared/libs/polymorphic.d.ts.map +1 -1
- package/dist/components/shared/libs/recursive-clone-children.cjs +8 -8
- package/dist/components/shared/primitives/box.cjs +10 -10
- package/dist/components/shared/primitives/box.d.ts.map +1 -1
- package/dist/components/shared/primitives/box.js +3 -3
- package/dist/components/shared/primitives/button.cjs +9 -9
- package/dist/components/shared/primitives/button.d.ts +2 -102
- package/dist/components/shared/primitives/button.d.ts.map +1 -1
- package/dist/components/shared/primitives/button.js +2 -2
- package/dist/components/shared/primitives/button.types.cjs +3 -4
- package/dist/components/shared/primitives/button.types.d.ts +1 -8
- package/dist/components/shared/primitives/button.types.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion.cjs +25 -17
- package/dist/components/shared/ui/accordion/accordion.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion.js +8 -8
- package/dist/components/shared/ui/accordion/accordion.module.cjs +11 -11
- package/dist/components/shared/ui/accordion/accordion.module.js +3 -3
- package/dist/components/shared/ui/accordion/accordion.types.cjs +3 -4
- package/dist/components/shared/ui/accordion/accordion.types.d.ts +0 -10
- package/dist/components/shared/ui/accordion/accordion.types.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion_module.css +39 -19
- package/dist/components/shared/ui/accordion/index.cjs +7 -14
- package/dist/components/shared/ui/button/button.cjs +16 -16
- package/dist/components/shared/ui/button/button.d.ts +4 -204
- package/dist/components/shared/ui/button/button.d.ts.map +1 -1
- package/dist/components/shared/ui/button/button.module.cjs +10 -10
- package/dist/components/shared/ui/button/button.module.js +2 -2
- package/dist/components/shared/ui/button/button.types.cjs +3 -4
- package/dist/components/shared/ui/button/button_module.css +40 -19
- package/dist/components/shared/ui/button/index.cjs +7 -14
- package/dist/components/shared/ui/icon.cjs +8 -8
- package/dist/components/shared/ui/icon.d.ts.map +1 -1
- package/dist/components/shared/ui/logo.cjs +43 -54
- package/dist/components/shared/ui/logo.d.ts +3 -2
- package/dist/components/shared/ui/logo.d.ts.map +1 -1
- package/dist/components/shared/ui/logo.js +32 -46
- package/dist/components/shared/ui/switch/index.cjs +7 -14
- package/dist/components/shared/ui/switch/switch.cjs +11 -15
- package/dist/components/shared/ui/switch/switch.d.ts.map +1 -1
- package/dist/components/shared/ui/switch/switch.js +3 -3
- package/dist/components/shared/ui/switch/switch.module.cjs +10 -10
- package/dist/components/shared/ui/switch/switch.module.js +2 -2
- package/dist/components/shared/ui/switch/switch.types.cjs +3 -4
- package/dist/components/shared/ui/switch/switch_module.css +32 -10
- package/dist/context/consent-manager-context.cjs +9 -9
- package/dist/context/consent-manager-context.d.ts +29 -10
- package/dist/context/consent-manager-context.d.ts.map +1 -1
- package/dist/context/consent-manager-context.js +1 -1
- package/dist/context/theme-context.cjs +17 -9
- package/dist/context/theme-context.d.ts +16 -1
- package/dist/context/theme-context.d.ts.map +1 -1
- package/dist/context/theme-context.js +7 -1
- package/dist/hooks/__tests__/use-consent-manager.test.cjs +76 -0
- package/dist/hooks/__tests__/use-consent-manager.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-consent-manager.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-consent-manager.test.js +70 -0
- package/dist/hooks/__tests__/use-styles.test.cjs +76 -0
- package/dist/hooks/__tests__/use-styles.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-styles.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-styles.test.js +70 -0
- package/dist/hooks/__tests__/use-theme.test.cjs +86 -0
- package/dist/hooks/__tests__/use-theme.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-theme.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-theme.test.js +80 -0
- package/dist/hooks/index.cjs +23 -21
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +18 -1
- package/dist/hooks/use-color-scheme.cjs +66 -0
- package/dist/hooks/use-color-scheme.d.ts +16 -0
- package/dist/hooks/use-color-scheme.d.ts.map +1 -0
- package/dist/hooks/use-color-scheme.js +32 -0
- package/dist/hooks/use-consent-manager.cjs +13 -9
- package/dist/hooks/use-consent-manager.d.ts +13 -5
- package/dist/hooks/use-consent-manager.d.ts.map +1 -1
- package/dist/hooks/use-consent-manager.js +5 -1
- package/dist/hooks/use-focus-trap.cjs +76 -0
- package/dist/hooks/use-focus-trap.d.ts +15 -0
- package/dist/hooks/use-focus-trap.d.ts.map +1 -0
- package/dist/hooks/use-focus-trap.js +42 -0
- package/dist/hooks/use-scroll-lock.cjs +55 -0
- package/dist/hooks/use-scroll-lock.d.ts +26 -0
- package/dist/hooks/use-scroll-lock.d.ts.map +1 -0
- package/dist/hooks/use-scroll-lock.js +21 -0
- package/dist/{utils → hooks}/use-styles.cjs +13 -13
- package/dist/{utils → hooks}/use-styles.d.ts.map +1 -1
- package/dist/{utils → hooks}/use-styles.js +5 -5
- package/dist/hooks/use-theme.cjs +10 -12
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/hooks/use-theme.js +2 -4
- package/dist/hooks/use-translations.cjs +8 -8
- package/dist/index.cjs +66 -30
- package/dist/index.d.ts +9 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/providers/__tests__/provider-basic.test.cjs +127 -0
- package/dist/providers/__tests__/provider-basic.test.d.ts +2 -0
- package/dist/providers/__tests__/provider-basic.test.d.ts.map +1 -0
- package/dist/providers/__tests__/provider-basic.test.js +121 -0
- package/dist/providers/__tests__/provider-context.test.cjs +139 -0
- package/dist/providers/__tests__/provider-context.test.d.ts +2 -0
- package/dist/providers/__tests__/provider-context.test.d.ts.map +1 -0
- package/dist/providers/__tests__/provider-context.test.js +133 -0
- package/dist/providers/__tests__/provider-errors.test.cjs +98 -0
- package/dist/providers/__tests__/provider-errors.test.d.ts +2 -0
- package/dist/providers/__tests__/provider-errors.test.d.ts.map +1 -0
- package/dist/providers/__tests__/provider-errors.test.js +92 -0
- package/dist/providers/__tests__/test-helpers.cjs +171 -0
- package/dist/providers/__tests__/test-helpers.d.ts +6 -0
- package/dist/providers/__tests__/test-helpers.d.ts.map +1 -0
- package/dist/providers/__tests__/test-helpers.js +134 -0
- package/dist/providers/consent-manager-provider.cjs +95 -38
- package/dist/providers/consent-manager-provider.d.ts +16 -2
- package/dist/providers/consent-manager-provider.d.ts.map +1 -1
- package/dist/providers/consent-manager-provider.js +87 -30
- package/dist/types/consent-manager.cjs +3 -4
- package/dist/types/consent-manager.d.ts +47 -72
- package/dist/types/consent-manager.d.ts.map +1 -1
- package/dist/types/theme/index.cjs +7 -14
- package/dist/types/theme/style-keys.cjs +3 -4
- package/dist/types/theme/style-types.cjs +3 -4
- package/dist/utils/cn.cjs +10 -16
- package/dist/utils/cn.d.ts +1 -5
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/cn.js +1 -2
- package/dist/utils/merge-styles.cjs +8 -8
- package/dist/utils/test-helpers.cjs +70 -0
- package/dist/utils/test-helpers.d.ts +30 -0
- package/dist/utils/test-helpers.d.ts.map +1 -0
- package/dist/utils/test-helpers.js +33 -0
- package/dist/utils/translations.cjs +12 -8
- package/package.json +12 -11
- package/dist/components/consent-manager-dialog/__tests__/utils.cjs +0 -68
- package/dist/components/consent-manager-dialog/__tests__/utils.d.ts +0 -13
- package/dist/components/consent-manager-dialog/__tests__/utils.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/__tests__/utils.js +0 -34
- package/dist/components/consent-manager-widget/__tests__/utils.cjs +0 -68
- package/dist/components/consent-manager-widget/__tests__/utils.d.ts +0 -13
- package/dist/components/consent-manager-widget/__tests__/utils.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/__tests__/utils.js +0 -34
- package/dist/components/consent-manager-widget/atoms/logo.cjs +0 -101
- package/dist/components/consent-manager-widget/atoms/logo.d.ts +0 -8
- package/dist/components/consent-manager-widget/atoms/logo.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/atoms/logo.js +0 -67
- package/dist/components/cookie-banner/__tests__/utils.cjs +0 -67
- package/dist/components/cookie-banner/__tests__/utils.d.ts +0 -13
- package/dist/components/cookie-banner/__tests__/utils.d.ts.map +0 -1
- package/dist/components/cookie-banner/__tests__/utils.js +0 -33
- /package/dist/{utils → hooks}/use-styles.d.ts +0 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest__ from "vitest";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__ from "vitest-browser-react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__providers_consent_manager_provider_js_f2c81711__ from "../../providers/consent-manager-provider.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__use_consent_manager_js_56ece2ee__ from "../use-consent-manager.js";
|
|
6
|
+
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.mock('c15t', async ()=>{
|
|
7
|
+
const originalModule = await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.importActual('c15t');
|
|
8
|
+
return {
|
|
9
|
+
...originalModule,
|
|
10
|
+
configureConsentManager: ()=>({
|
|
11
|
+
getCallbacks: ()=>({}),
|
|
12
|
+
setCallbacks: ()=>({}),
|
|
13
|
+
showConsentBanner: async ()=>({
|
|
14
|
+
ok: true,
|
|
15
|
+
data: {
|
|
16
|
+
showConsentBanner: true
|
|
17
|
+
},
|
|
18
|
+
error: null,
|
|
19
|
+
response: null
|
|
20
|
+
}),
|
|
21
|
+
setConsent: async ()=>({
|
|
22
|
+
ok: true,
|
|
23
|
+
data: {
|
|
24
|
+
success: true
|
|
25
|
+
},
|
|
26
|
+
error: null,
|
|
27
|
+
response: null
|
|
28
|
+
}),
|
|
29
|
+
verifyConsent: async ()=>({
|
|
30
|
+
ok: true,
|
|
31
|
+
data: {
|
|
32
|
+
valid: true
|
|
33
|
+
},
|
|
34
|
+
error: null,
|
|
35
|
+
response: null
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.describe)('useConsentManager', ()=>{
|
|
41
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('returns consent state and methods when used within provider', ()=>{
|
|
42
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_consent_manager_js_56ece2ee__.useConsentManager)(), {
|
|
43
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__providers_consent_manager_provider_js_f2c81711__.ConsentManagerProvider, {
|
|
44
|
+
options: {
|
|
45
|
+
mode: 'offline',
|
|
46
|
+
react: {
|
|
47
|
+
noStyle: false
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
children: children
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current).toBeDefined();
|
|
54
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(typeof result.current.showPopup).toBe('boolean');
|
|
55
|
+
});
|
|
56
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('provides manager object when configured', ()=>{
|
|
57
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_consent_manager_js_56ece2ee__.useConsentManager)(), {
|
|
58
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__providers_consent_manager_provider_js_f2c81711__.ConsentManagerProvider, {
|
|
59
|
+
options: {
|
|
60
|
+
mode: 'offline',
|
|
61
|
+
react: {
|
|
62
|
+
noStyle: false
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
children: children
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.manager).toBeDefined();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_exports__ = {};
|
|
3
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
4
|
+
const external_vitest_namespaceObject = require("vitest");
|
|
5
|
+
const external_vitest_browser_react_namespaceObject = require("vitest-browser-react");
|
|
6
|
+
const theme_context_cjs_namespaceObject = require("../../context/theme-context.cjs");
|
|
7
|
+
const external_use_styles_cjs_namespaceObject = require("../use-styles.cjs");
|
|
8
|
+
(0, external_vitest_namespaceObject.describe)('useStyles', ()=>{
|
|
9
|
+
const mockTheme = {
|
|
10
|
+
noStyle: false,
|
|
11
|
+
theme: {
|
|
12
|
+
'dialog.root': {
|
|
13
|
+
className: 'theme-class',
|
|
14
|
+
style: {
|
|
15
|
+
color: 'blue'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
(0, external_vitest_namespaceObject.test)('returns component styles when no theme is provided', ()=>{
|
|
21
|
+
const componentStyle = {
|
|
22
|
+
className: 'component-class',
|
|
23
|
+
style: {
|
|
24
|
+
backgroundColor: 'red'
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const { result } = (0, external_vitest_browser_react_namespaceObject.renderHook)(()=>(0, external_use_styles_cjs_namespaceObject.useStyles)('dialog.root', componentStyle), {
|
|
28
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider, {
|
|
29
|
+
value: {
|
|
30
|
+
noStyle: false,
|
|
31
|
+
theme: {}
|
|
32
|
+
},
|
|
33
|
+
children: children
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
(0, external_vitest_namespaceObject.expect)(result.current.className).toContain('component-class');
|
|
37
|
+
(0, external_vitest_namespaceObject.expect)(result.current.style).toEqual({
|
|
38
|
+
backgroundColor: 'red'
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
(0, external_vitest_namespaceObject.test)('merges theme and component styles correctly', ()=>{
|
|
42
|
+
const componentStyle = {
|
|
43
|
+
className: 'component-class',
|
|
44
|
+
style: {
|
|
45
|
+
backgroundColor: 'red'
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const { result } = (0, external_vitest_browser_react_namespaceObject.renderHook)(()=>(0, external_use_styles_cjs_namespaceObject.useStyles)('dialog.root', componentStyle), {
|
|
49
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider, {
|
|
50
|
+
value: mockTheme,
|
|
51
|
+
children: children
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
(0, external_vitest_namespaceObject.expect)(result.current.className).toContain('theme-class');
|
|
55
|
+
(0, external_vitest_namespaceObject.expect)(result.current.className).toContain('component-class');
|
|
56
|
+
(0, external_vitest_namespaceObject.expect)(result.current.style).toEqual({
|
|
57
|
+
color: 'blue',
|
|
58
|
+
backgroundColor: 'red'
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
(0, external_vitest_namespaceObject.test)('handles string className correctly', ()=>{
|
|
62
|
+
const componentStyle = 'component-class';
|
|
63
|
+
const { result } = (0, external_vitest_browser_react_namespaceObject.renderHook)(()=>(0, external_use_styles_cjs_namespaceObject.useStyles)('dialog.root', componentStyle), {
|
|
64
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider, {
|
|
65
|
+
value: mockTheme,
|
|
66
|
+
children: children
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
(0, external_vitest_namespaceObject.expect)(result.current.className).toContain('theme-class');
|
|
70
|
+
(0, external_vitest_namespaceObject.expect)(result.current.className).toContain('component-class');
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
74
|
+
Object.defineProperty(exports, '__esModule', {
|
|
75
|
+
value: true
|
|
76
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-styles.test.d.ts","sourceRoot":"","sources":["../../../src/hooks/__tests__/use-styles.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest__ from "vitest";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__ from "vitest-browser-react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__ from "../../context/theme-context.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__use_styles_js_020efb58__ from "../use-styles.js";
|
|
6
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.describe)('useStyles', ()=>{
|
|
7
|
+
const mockTheme = {
|
|
8
|
+
noStyle: false,
|
|
9
|
+
theme: {
|
|
10
|
+
'dialog.root': {
|
|
11
|
+
className: 'theme-class',
|
|
12
|
+
style: {
|
|
13
|
+
color: 'blue'
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('returns component styles when no theme is provided', ()=>{
|
|
19
|
+
const componentStyle = {
|
|
20
|
+
className: 'component-class',
|
|
21
|
+
style: {
|
|
22
|
+
backgroundColor: 'red'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_styles_js_020efb58__.useStyles)('dialog.root', componentStyle), {
|
|
26
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.GlobalThemeContext.Provider, {
|
|
27
|
+
value: {
|
|
28
|
+
noStyle: false,
|
|
29
|
+
theme: {}
|
|
30
|
+
},
|
|
31
|
+
children: children
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.className).toContain('component-class');
|
|
35
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.style).toEqual({
|
|
36
|
+
backgroundColor: 'red'
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('merges theme and component styles correctly', ()=>{
|
|
40
|
+
const componentStyle = {
|
|
41
|
+
className: 'component-class',
|
|
42
|
+
style: {
|
|
43
|
+
backgroundColor: 'red'
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_styles_js_020efb58__.useStyles)('dialog.root', componentStyle), {
|
|
47
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.GlobalThemeContext.Provider, {
|
|
48
|
+
value: mockTheme,
|
|
49
|
+
children: children
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.className).toContain('theme-class');
|
|
53
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.className).toContain('component-class');
|
|
54
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.style).toEqual({
|
|
55
|
+
color: 'blue',
|
|
56
|
+
backgroundColor: 'red'
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('handles string className correctly', ()=>{
|
|
60
|
+
const componentStyle = 'component-class';
|
|
61
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_styles_js_020efb58__.useStyles)('dialog.root', componentStyle), {
|
|
62
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.GlobalThemeContext.Provider, {
|
|
63
|
+
value: mockTheme,
|
|
64
|
+
children: children
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.className).toContain('theme-class');
|
|
68
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current.className).toContain('component-class');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_exports__ = {};
|
|
3
|
+
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
4
|
+
const external_vitest_namespaceObject = require("vitest");
|
|
5
|
+
const external_vitest_browser_react_namespaceObject = require("vitest-browser-react");
|
|
6
|
+
const theme_context_cjs_namespaceObject = require("../../context/theme-context.cjs");
|
|
7
|
+
const external_use_theme_cjs_namespaceObject = require("../use-theme.cjs");
|
|
8
|
+
(0, external_vitest_namespaceObject.describe)('useTheme', ()=>{
|
|
9
|
+
(0, external_vitest_namespaceObject.test)('returns global theme when no local theme is provided', ()=>{
|
|
10
|
+
const globalTheme = {
|
|
11
|
+
noStyle: false,
|
|
12
|
+
theme: {
|
|
13
|
+
'dialog.root': 'global-style'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const { result } = (0, external_vitest_browser_react_namespaceObject.renderHook)(()=>(0, external_use_theme_cjs_namespaceObject.useTheme)(), {
|
|
17
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider, {
|
|
18
|
+
value: globalTheme,
|
|
19
|
+
children: children
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
(0, external_vitest_namespaceObject.expect)(result.current).toEqual(globalTheme);
|
|
23
|
+
});
|
|
24
|
+
(0, external_vitest_namespaceObject.test)('merges global and local themes correctly', ()=>{
|
|
25
|
+
const globalTheme = {
|
|
26
|
+
noStyle: false,
|
|
27
|
+
theme: {
|
|
28
|
+
'dialog.root': 'global-style',
|
|
29
|
+
'dialog.title': 'global-title'
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const localTheme = {
|
|
33
|
+
theme: {
|
|
34
|
+
'dialog.root': 'local-style',
|
|
35
|
+
'dialog.content': 'local-content'
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const { result } = (0, external_vitest_browser_react_namespaceObject.renderHook)(()=>(0, external_use_theme_cjs_namespaceObject.useTheme)(), {
|
|
39
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider, {
|
|
40
|
+
value: globalTheme,
|
|
41
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.LocalThemeContext.Provider, {
|
|
42
|
+
value: localTheme,
|
|
43
|
+
children: children
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
(0, external_vitest_namespaceObject.expect)(result.current).toEqual({
|
|
48
|
+
noStyle: false,
|
|
49
|
+
theme: {
|
|
50
|
+
'dialog.root': 'local-style',
|
|
51
|
+
'dialog.title': 'global-title',
|
|
52
|
+
'dialog.content': 'local-content'
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
(0, external_vitest_namespaceObject.test)('local theme takes precedence over global theme', ()=>{
|
|
57
|
+
const globalTheme = {
|
|
58
|
+
noStyle: false,
|
|
59
|
+
theme: {
|
|
60
|
+
'dialog.root': 'global-style'
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const localTheme = {
|
|
64
|
+
noStyle: true,
|
|
65
|
+
theme: {
|
|
66
|
+
'dialog.root': 'local-style'
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const { result } = (0, external_vitest_browser_react_namespaceObject.renderHook)(()=>(0, external_use_theme_cjs_namespaceObject.useTheme)(), {
|
|
70
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider, {
|
|
71
|
+
value: globalTheme,
|
|
72
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.LocalThemeContext.Provider, {
|
|
73
|
+
value: localTheme,
|
|
74
|
+
children: children
|
|
75
|
+
})
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
const theme = result.current;
|
|
79
|
+
(0, external_vitest_namespaceObject.expect)(theme.theme['dialog.root']).toBe('local-style');
|
|
80
|
+
(0, external_vitest_namespaceObject.expect)(theme.noStyle).toBe(true);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
84
|
+
Object.defineProperty(exports, '__esModule', {
|
|
85
|
+
value: true
|
|
86
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-theme.test.d.ts","sourceRoot":"","sources":["../../../src/hooks/__tests__/use-theme.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest__ from "vitest";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__ from "vitest-browser-react";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__ from "../../context/theme-context.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__use_theme_js_0009fd1b__ from "../use-theme.js";
|
|
6
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.describe)('useTheme', ()=>{
|
|
7
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('returns global theme when no local theme is provided', ()=>{
|
|
8
|
+
const globalTheme = {
|
|
9
|
+
noStyle: false,
|
|
10
|
+
theme: {
|
|
11
|
+
'dialog.root': 'global-style'
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_theme_js_0009fd1b__.useTheme)(), {
|
|
15
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.GlobalThemeContext.Provider, {
|
|
16
|
+
value: globalTheme,
|
|
17
|
+
children: children
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current).toEqual(globalTheme);
|
|
21
|
+
});
|
|
22
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('merges global and local themes correctly', ()=>{
|
|
23
|
+
const globalTheme = {
|
|
24
|
+
noStyle: false,
|
|
25
|
+
theme: {
|
|
26
|
+
'dialog.root': 'global-style',
|
|
27
|
+
'dialog.title': 'global-title'
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const localTheme = {
|
|
31
|
+
theme: {
|
|
32
|
+
'dialog.root': 'local-style',
|
|
33
|
+
'dialog.content': 'local-content'
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_theme_js_0009fd1b__.useTheme)(), {
|
|
37
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.GlobalThemeContext.Provider, {
|
|
38
|
+
value: globalTheme,
|
|
39
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.LocalThemeContext.Provider, {
|
|
40
|
+
value: localTheme,
|
|
41
|
+
children: children
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(result.current).toEqual({
|
|
46
|
+
noStyle: false,
|
|
47
|
+
theme: {
|
|
48
|
+
'dialog.root': 'local-style',
|
|
49
|
+
'dialog.title': 'global-title',
|
|
50
|
+
'dialog.content': 'local-content'
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.test)('local theme takes precedence over global theme', ()=>{
|
|
55
|
+
const globalTheme = {
|
|
56
|
+
noStyle: false,
|
|
57
|
+
theme: {
|
|
58
|
+
'dialog.root': 'global-style'
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const localTheme = {
|
|
62
|
+
noStyle: true,
|
|
63
|
+
theme: {
|
|
64
|
+
'dialog.root': 'local-style'
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const { result } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.renderHook)(()=>(0, __WEBPACK_EXTERNAL_MODULE__use_theme_js_0009fd1b__.useTheme)(), {
|
|
68
|
+
wrapper: ({ children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.GlobalThemeContext.Provider, {
|
|
69
|
+
value: globalTheme,
|
|
70
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__context_theme_context_js_ba151654__.LocalThemeContext.Provider, {
|
|
71
|
+
value: localTheme,
|
|
72
|
+
children: children
|
|
73
|
+
})
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
const theme = result.current;
|
|
77
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(theme.theme['dialog.root']).toBe('local-style');
|
|
78
|
+
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(theme.noStyle).toBe(true);
|
|
79
|
+
});
|
|
80
|
+
});
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -3,7 +3,10 @@ var __webpack_modules__ = {
|
|
|
3
3
|
"./use-consent-manager": function(module) {
|
|
4
4
|
module.exports = require("./use-consent-manager.cjs");
|
|
5
5
|
},
|
|
6
|
-
"./use-
|
|
6
|
+
"./use-focus-trap": function(module) {
|
|
7
|
+
module.exports = require("./use-focus-trap.cjs");
|
|
8
|
+
},
|
|
9
|
+
"~/hooks/use-theme": function(module) {
|
|
7
10
|
module.exports = require("./use-theme.cjs");
|
|
8
11
|
},
|
|
9
12
|
"./use-translations": function(module) {
|
|
@@ -21,12 +24,8 @@ function __webpack_require__(moduleId) {
|
|
|
21
24
|
return module.exports;
|
|
22
25
|
}
|
|
23
26
|
(()=>{
|
|
24
|
-
__webpack_require__.n =
|
|
25
|
-
var getter = module && module.__esModule ?
|
|
26
|
-
return module['default'];
|
|
27
|
-
} : function() {
|
|
28
|
-
return module;
|
|
29
|
-
};
|
|
27
|
+
__webpack_require__.n = (module)=>{
|
|
28
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
30
29
|
__webpack_require__.d(getter, {
|
|
31
30
|
a: getter
|
|
32
31
|
});
|
|
@@ -34,7 +33,7 @@ function __webpack_require__(moduleId) {
|
|
|
34
33
|
};
|
|
35
34
|
})();
|
|
36
35
|
(()=>{
|
|
37
|
-
__webpack_require__.d =
|
|
36
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
38
37
|
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
39
38
|
enumerable: true,
|
|
40
39
|
get: definition[key]
|
|
@@ -42,12 +41,10 @@ function __webpack_require__(moduleId) {
|
|
|
42
41
|
};
|
|
43
42
|
})();
|
|
44
43
|
(()=>{
|
|
45
|
-
__webpack_require__.o =
|
|
46
|
-
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
47
|
-
};
|
|
44
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
48
45
|
})();
|
|
49
46
|
(()=>{
|
|
50
|
-
__webpack_require__.r =
|
|
47
|
+
__webpack_require__.r = (exports1)=>{
|
|
51
48
|
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
52
49
|
value: 'Module'
|
|
53
50
|
});
|
|
@@ -65,21 +62,26 @@ var __webpack_exports__ = {};
|
|
|
65
62
|
return _use_consent_manager__WEBPACK_IMPORTED_MODULE_0__[key];
|
|
66
63
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
67
64
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
68
|
-
var
|
|
65
|
+
var _use_focus_trap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./use-focus-trap");
|
|
66
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
67
|
+
for(var __WEBPACK_IMPORT_KEY__ in _use_focus_trap__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
68
|
+
return _use_focus_trap__WEBPACK_IMPORTED_MODULE_1__[key];
|
|
69
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
70
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
71
|
+
var _use_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("~/hooks/use-theme");
|
|
69
72
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
70
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
71
|
-
return
|
|
73
|
+
for(var __WEBPACK_IMPORT_KEY__ in _use_theme__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
74
|
+
return _use_theme__WEBPACK_IMPORTED_MODULE_2__[key];
|
|
72
75
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
73
76
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
74
|
-
var
|
|
77
|
+
var _use_translations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./use-translations");
|
|
75
78
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
76
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
77
|
-
return
|
|
79
|
+
for(var __WEBPACK_IMPORT_KEY__ in _use_translations__WEBPACK_IMPORTED_MODULE_3__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
80
|
+
return _use_translations__WEBPACK_IMPORTED_MODULE_3__[key];
|
|
78
81
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
79
82
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
80
83
|
})();
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
|
|
84
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
85
|
+
Object.defineProperty(exports, '__esModule', {
|
|
84
86
|
value: true
|
|
85
87
|
});
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__use_theme_js_d12716c7__ from "./use-theme.js";
|
|
1
2
|
export * from "./use-consent-manager.js";
|
|
2
|
-
export * from "./use-
|
|
3
|
+
export * from "./use-focus-trap.js";
|
|
3
4
|
export * from "./use-translations.js";
|
|
5
|
+
var __webpack_modules__ = {
|
|
6
|
+
"~/hooks/use-theme": function(module) {
|
|
7
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__use_theme_js_d12716c7__;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var __webpack_module_cache__ = {};
|
|
11
|
+
function __webpack_require__(moduleId) {
|
|
12
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
13
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
14
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
15
|
+
exports: {}
|
|
16
|
+
};
|
|
17
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
18
|
+
return module.exports;
|
|
19
|
+
}
|
|
20
|
+
__webpack_require__("~/hooks/use-theme");
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
useColorScheme: ()=>useColorScheme
|
|
28
|
+
});
|
|
29
|
+
const external_react_namespaceObject = require("react");
|
|
30
|
+
function useColorScheme(colorScheme) {
|
|
31
|
+
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
32
|
+
const updateSystemTheme = ()=>{
|
|
33
|
+
const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
34
|
+
document.documentElement.classList.toggle('c15t-dark', isDark);
|
|
35
|
+
};
|
|
36
|
+
switch(colorScheme){
|
|
37
|
+
case 'light':
|
|
38
|
+
localStorage.setItem('c15tTheme', 'light');
|
|
39
|
+
document.documentElement.classList.remove('c15t-dark');
|
|
40
|
+
break;
|
|
41
|
+
case 'dark':
|
|
42
|
+
localStorage.setItem('c15tTheme', 'dark');
|
|
43
|
+
document.documentElement.classList.add('c15t-dark');
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
localStorage.removeItem('c15tTheme');
|
|
47
|
+
updateSystemTheme();
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
51
|
+
const handleChange = ()=>{
|
|
52
|
+
if ('system' === colorScheme) updateSystemTheme();
|
|
53
|
+
};
|
|
54
|
+
mediaQuery.addEventListener('change', handleChange);
|
|
55
|
+
return ()=>mediaQuery.removeEventListener('change', handleChange);
|
|
56
|
+
}, [
|
|
57
|
+
colorScheme
|
|
58
|
+
]);
|
|
59
|
+
}
|
|
60
|
+
exports.useColorScheme = __webpack_exports__.useColorScheme;
|
|
61
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
62
|
+
"useColorScheme"
|
|
63
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
64
|
+
Object.defineProperty(exports, '__esModule', {
|
|
65
|
+
value: true
|
|
66
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ColorScheme = 'light' | 'dark' | 'system';
|
|
2
|
+
/**
|
|
3
|
+
* Manage color scheme preferences for components
|
|
4
|
+
*
|
|
5
|
+
* @param colorScheme - 'light' | 'dark' | 'system'
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* function App() {
|
|
10
|
+
* useColorScheme('system');
|
|
11
|
+
* return <div>Content</div>;
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function useColorScheme(colorScheme: ColorScheme): void;
|
|
16
|
+
//# sourceMappingURL=use-color-scheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-color-scheme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-color-scheme.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,QAsCtD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
2
|
+
function useColorScheme(colorScheme) {
|
|
3
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
4
|
+
const updateSystemTheme = ()=>{
|
|
5
|
+
const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
6
|
+
document.documentElement.classList.toggle('c15t-dark', isDark);
|
|
7
|
+
};
|
|
8
|
+
switch(colorScheme){
|
|
9
|
+
case 'light':
|
|
10
|
+
localStorage.setItem('c15tTheme', 'light');
|
|
11
|
+
document.documentElement.classList.remove('c15t-dark');
|
|
12
|
+
break;
|
|
13
|
+
case 'dark':
|
|
14
|
+
localStorage.setItem('c15tTheme', 'dark');
|
|
15
|
+
document.documentElement.classList.add('c15t-dark');
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
localStorage.removeItem('c15tTheme');
|
|
19
|
+
updateSystemTheme();
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
23
|
+
const handleChange = ()=>{
|
|
24
|
+
if ('system' === colorScheme) updateSystemTheme();
|
|
25
|
+
};
|
|
26
|
+
mediaQuery.addEventListener('change', handleChange);
|
|
27
|
+
return ()=>mediaQuery.removeEventListener('change', handleChange);
|
|
28
|
+
}, [
|
|
29
|
+
colorScheme
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
export { useColorScheme };
|