@c15t/dev-tools 1.8.3 → 2.0.0-rc.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.
Files changed (153) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +155 -71
  3. package/dist/__tests__/components/ui.test.d.ts +2 -0
  4. package/dist/__tests__/components/ui.test.d.ts.map +1 -0
  5. package/dist/__tests__/core/renderer.test.d.ts +2 -0
  6. package/dist/__tests__/core/renderer.test.d.ts.map +1 -0
  7. package/dist/__tests__/core/reset-consents.test.d.ts +2 -0
  8. package/dist/__tests__/core/reset-consents.test.d.ts.map +1 -0
  9. package/dist/__tests__/core/state-manager.test.d.ts +2 -0
  10. package/dist/__tests__/core/state-manager.test.d.ts.map +1 -0
  11. package/dist/__tests__/panels/dom-scanner.test.d.ts +2 -0
  12. package/dist/__tests__/panels/dom-scanner.test.d.ts.map +1 -0
  13. package/dist/components/dropdown-menu.d.ts +46 -0
  14. package/dist/components/dropdown-menu.d.ts.map +1 -0
  15. package/dist/components/index.d.ts +7 -0
  16. package/dist/components/index.d.ts.map +1 -0
  17. package/dist/components/panel.d.ts +28 -0
  18. package/dist/components/panel.d.ts.map +1 -0
  19. package/dist/components/tabs.d.ts +21 -0
  20. package/dist/components/tabs.d.ts.map +1 -0
  21. package/dist/components/ui.d.ts +65 -0
  22. package/dist/components/ui.d.ts.map +1 -0
  23. package/dist/core/devtools.d.ts +60 -0
  24. package/dist/core/devtools.d.ts.map +1 -0
  25. package/dist/core/draggable.d.ts +81 -0
  26. package/dist/core/draggable.d.ts.map +1 -0
  27. package/dist/core/index.d.ts +10 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/panel-renderer.d.ts +41 -0
  30. package/dist/core/panel-renderer.d.ts.map +1 -0
  31. package/dist/core/renderer.d.ts +126 -0
  32. package/dist/core/renderer.d.ts.map +1 -0
  33. package/dist/core/reset-consents.d.ts +24 -0
  34. package/dist/core/reset-consents.d.ts.map +1 -0
  35. package/dist/core/state-manager.d.ts +73 -0
  36. package/dist/core/state-manager.d.ts.map +1 -0
  37. package/dist/core/store-connector.d.ts +69 -0
  38. package/dist/core/store-connector.d.ts.map +1 -0
  39. package/dist/index.cjs +4813 -10
  40. package/dist/index.d.ts +10 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +4803 -2
  43. package/dist/panels/actions.d.ts +18 -0
  44. package/dist/panels/actions.d.ts.map +1 -0
  45. package/dist/panels/consents.d.ts +18 -0
  46. package/dist/panels/consents.d.ts.map +1 -0
  47. package/dist/panels/dom-scanner.d.ts +29 -0
  48. package/dist/panels/dom-scanner.d.ts.map +1 -0
  49. package/dist/panels/events.d.ts +14 -0
  50. package/dist/panels/events.d.ts.map +1 -0
  51. package/dist/panels/iab.d.ts +14 -0
  52. package/dist/panels/iab.d.ts.map +1 -0
  53. package/dist/panels/index.d.ts +11 -0
  54. package/dist/panels/index.d.ts.map +1 -0
  55. package/dist/panels/location.d.ts +19 -0
  56. package/dist/panels/location.d.ts.map +1 -0
  57. package/dist/panels/scripts.d.ts +13 -0
  58. package/dist/panels/scripts.d.ts.map +1 -0
  59. package/dist/react.cjs +4696 -0
  60. package/dist/react.d.ts +76 -0
  61. package/dist/react.d.ts.map +1 -0
  62. package/dist/react.js +4672 -0
  63. package/dist/styles/index.d.ts +7 -0
  64. package/dist/styles/index.d.ts.map +1 -0
  65. package/dist/tanstack.cjs +3819 -0
  66. package/dist/tanstack.d.ts +46 -0
  67. package/dist/tanstack.d.ts.map +1 -0
  68. package/dist/tanstack.js +3795 -0
  69. package/dist/utils/index.d.ts +6 -0
  70. package/dist/utils/index.d.ts.map +1 -0
  71. package/dist/utils/preference-trigger.d.ts +27 -0
  72. package/dist/utils/preference-trigger.d.ts.map +1 -0
  73. package/package.json +74 -57
  74. package/tsconfig.json +1 -1
  75. package/LICENSE.md +0 -595
  76. package/dist/components/error-state.cjs +0 -98
  77. package/dist/components/error-state.css +0 -51
  78. package/dist/components/error-state.d.ts +0 -5
  79. package/dist/components/error-state.d.ts.map +0 -1
  80. package/dist/components/error-state.js +0 -64
  81. package/dist/components/header.cjs +0 -65
  82. package/dist/components/header.css +0 -29
  83. package/dist/components/header.d.ts +0 -7
  84. package/dist/components/header.d.ts.map +0 -1
  85. package/dist/components/header.js +0 -31
  86. package/dist/components/ui/accordion.cjs +0 -82
  87. package/dist/components/ui/accordion.css +0 -72
  88. package/dist/components/ui/accordion.d.ts +0 -8
  89. package/dist/components/ui/accordion.d.ts.map +0 -1
  90. package/dist/components/ui/accordion.js +0 -39
  91. package/dist/components/ui/alert.cjs +0 -77
  92. package/dist/components/ui/alert.css +0 -59
  93. package/dist/components/ui/alert.d.ts +0 -10
  94. package/dist/components/ui/alert.d.ts.map +0 -1
  95. package/dist/components/ui/alert.js +0 -37
  96. package/dist/components/ui/badge.cjs +0 -63
  97. package/dist/components/ui/badge.css +0 -52
  98. package/dist/components/ui/badge.d.ts +0 -11
  99. package/dist/components/ui/badge.d.ts.map +0 -1
  100. package/dist/components/ui/badge.js +0 -26
  101. package/dist/components/ui/button.cjs +0 -77
  102. package/dist/components/ui/button.css +0 -87
  103. package/dist/components/ui/button.d.ts +0 -13
  104. package/dist/components/ui/button.d.ts.map +0 -1
  105. package/dist/components/ui/button.js +0 -40
  106. package/dist/components/ui/card.cjs +0 -89
  107. package/dist/components/ui/card.css +0 -41
  108. package/dist/components/ui/card.d.ts +0 -10
  109. package/dist/components/ui/card.d.ts.map +0 -1
  110. package/dist/components/ui/card.js +0 -40
  111. package/dist/components/ui/error-state.css +0 -34
  112. package/dist/components/ui/expandable-tabs.cjs +0 -136
  113. package/dist/components/ui/expandable-tabs.css +0 -57
  114. package/dist/components/ui/expandable-tabs.d.ts +0 -23
  115. package/dist/components/ui/expandable-tabs.d.ts.map +0 -1
  116. package/dist/components/ui/expandable-tabs.js +0 -102
  117. package/dist/components/ui/logo.cjs +0 -101
  118. package/dist/components/ui/logo.d.ts +0 -8
  119. package/dist/components/ui/logo.d.ts.map +0 -1
  120. package/dist/components/ui/logo.js +0 -67
  121. package/dist/components/ui/scroll-area.cjs +0 -67
  122. package/dist/components/ui/scroll-area.css +0 -41
  123. package/dist/components/ui/scroll-area.d.ts +0 -6
  124. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  125. package/dist/components/ui/scroll-area.js +0 -30
  126. package/dist/components/ui/switch.cjs +0 -49
  127. package/dist/components/ui/switch.css +0 -49
  128. package/dist/components/ui/switch.d.ts +0 -5
  129. package/dist/components/ui/switch.d.ts.map +0 -1
  130. package/dist/components/ui/switch.js +0 -15
  131. package/dist/components/ui/tooltip.cjs +0 -61
  132. package/dist/components/ui/tooltip.css +0 -101
  133. package/dist/components/ui/tooltip.d.ts +0 -8
  134. package/dist/components/ui/tooltip.d.ts.map +0 -1
  135. package/dist/components/ui/tooltip.js +0 -18
  136. package/dist/components/wrapper.cjs +0 -158
  137. package/dist/components/wrapper.css +0 -90
  138. package/dist/components/wrapper.d.ts +0 -20
  139. package/dist/components/wrapper.d.ts.map +0 -1
  140. package/dist/components/wrapper.js +0 -121
  141. package/dist/dev-tool.cjs +0 -124
  142. package/dist/dev-tool.d.ts +0 -15
  143. package/dist/dev-tool.d.ts.map +0 -1
  144. package/dist/dev-tool.js +0 -74
  145. package/dist/libs/utils.cjs +0 -50
  146. package/dist/libs/utils.d.ts +0 -3
  147. package/dist/libs/utils.d.ts.map +0 -1
  148. package/dist/libs/utils.js +0 -6
  149. package/dist/router/router.cjs +0 -158
  150. package/dist/router/router.d.ts +0 -6
  151. package/dist/router/router.d.ts.map +0 -1
  152. package/dist/router/router.js +0 -124
  153. package/dist/styles/theme.css +0 -42
@@ -1,121 +0,0 @@
1
- 'use client';
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { AnimatePresence, motion } from "motion/react";
4
- import { useEffect, useState } from "react";
5
- import { createPortal } from "react-dom";
6
- import "./wrapper.css";
7
- import { cn } from "../libs/utils.js";
8
- import { Button } from "./ui/button.js";
9
- import { Card } from "./ui/card.js";
10
- function DevToolWrapper({ children, isOpen, toggleOpen, position = 'bottom-right' }) {
11
- const [isMounted, setIsMounted] = useState(false);
12
- useEffect(()=>{
13
- setIsMounted(true);
14
- return ()=>setIsMounted(false);
15
- }, []);
16
- const DevToolContent = /*#__PURE__*/ jsx(AnimatePresence, {
17
- children: isOpen && /*#__PURE__*/ jsxs(motion.div, {
18
- className: "c15t-devtool-wrapper-overlay",
19
- initial: {
20
- opacity: 0
21
- },
22
- animate: {
23
- opacity: 1
24
- },
25
- exit: {
26
- opacity: 0
27
- },
28
- transition: {
29
- type: 'spring',
30
- stiffness: 400,
31
- damping: 40
32
- },
33
- children: [
34
- /*#__PURE__*/ jsx(motion.div, {
35
- className: "c15t-devtool-wrapper-backdrop",
36
- initial: {
37
- opacity: 0
38
- },
39
- animate: {
40
- opacity: 1
41
- },
42
- exit: {
43
- opacity: 0
44
- },
45
- onClick: toggleOpen
46
- }),
47
- /*#__PURE__*/ jsx(motion.div, {
48
- className: cn('c15t-devtool-wrapper-content', position),
49
- initial: {
50
- opacity: 0,
51
- y: 20
52
- },
53
- animate: {
54
- opacity: 1,
55
- y: 0
56
- },
57
- exit: {
58
- opacity: 0,
59
- y: 20
60
- },
61
- children: /*#__PURE__*/ jsx(Card, {
62
- className: "c15t-devtool-wrapper-card",
63
- children: children
64
- })
65
- })
66
- ]
67
- })
68
- });
69
- return /*#__PURE__*/ jsxs(Fragment, {
70
- children: [
71
- /*#__PURE__*/ jsx(AnimatePresence, {
72
- children: !isOpen && /*#__PURE__*/ jsx(motion.div, {
73
- initial: {
74
- scale: 0.95,
75
- opacity: 0
76
- },
77
- animate: {
78
- scale: 1,
79
- opacity: 1
80
- },
81
- exit: {
82
- scale: 0.95,
83
- opacity: 0
84
- },
85
- transition: {
86
- type: 'spring',
87
- stiffness: 400,
88
- damping: 40
89
- },
90
- className: "c15t-devtool-wrapper-button-container",
91
- children: /*#__PURE__*/ jsx(Button, {
92
- variant: "outline",
93
- size: "icon",
94
- className: "c15t-devtool-wrapper-button",
95
- onClick: toggleOpen,
96
- children: /*#__PURE__*/ jsxs("svg", {
97
- viewBox: "0 0 149 149",
98
- fill: "none",
99
- xmlns: "http://www.w3.org/2000/svg",
100
- className: "c15t-devtool-wrapper-button-icon",
101
- children: [
102
- /*#__PURE__*/ jsx("title", {
103
- children: "c15t-devtool-icon"
104
- }),
105
- /*#__PURE__*/ jsx("path", {
106
- fillRule: "evenodd",
107
- clipRule: "evenodd",
108
- d: "M74.5436 14.2802C68.963 14.2802 64.4391 18.8042 64.4391 24.3848C64.4391 29.9654 68.963 34.4893 74.5436 34.4893C80.1243 34.4893 84.6482 29.9654 84.6482 24.3848C84.6482 18.8042 80.1243 14.2802 74.5436 14.2802ZM50.9663 24.3848C50.9663 11.3634 61.5222 0.807434 74.5436 0.807434C87.5651 0.807434 98.121 11.3634 98.121 24.3848C98.121 37.4062 87.5651 47.9621 74.5436 47.9621C70.4834 47.9621 66.6628 46.9358 63.3272 45.1283L44.7645 63.6911C45.5299 65.1037 46.1553 66.6033 46.6219 68.1713H102.466C105.364 58.4322 114.386 51.3303 125.067 51.3303C138.088 51.3303 148.644 61.8862 148.644 74.9076C148.644 87.929 138.088 98.4849 125.067 98.4849C114.386 98.4849 105.364 91.3831 102.466 81.644H46.6219C46.0071 83.7098 45.1168 85.657 43.9935 87.4429L62.0084 105.458C65.6396 103.174 69.9373 101.853 74.5436 101.853C87.5651 101.853 98.121 112.409 98.121 125.43C98.121 138.452 87.5651 149.008 74.5436 149.008C61.5222 149.008 50.9663 138.452 50.9663 125.43C50.9663 121.925 51.7315 118.597 53.104 115.607L33.8445 96.3472C30.854 97.7197 27.5268 98.4849 24.0209 98.4849C10.9995 98.4849 0.443604 87.929 0.443604 74.9076C0.443604 61.8862 10.9995 51.3303 24.0209 51.3303C28.0814 51.3303 31.9022 52.3567 35.2379 54.1643L53.8004 35.6018C51.9928 32.2661 50.9663 28.4453 50.9663 24.3848ZM114.962 74.9076L114.962 74.9578C114.989 80.5153 119.503 85.0122 125.067 85.0122C130.647 85.0122 135.171 80.4882 135.171 74.9076C135.171 69.327 130.647 64.803 125.067 64.803C119.503 64.803 114.989 69.2999 114.962 74.8574L114.962 74.9076ZM24.0209 64.803C18.4403 64.803 13.9164 69.327 13.9164 74.9076C13.9164 80.4882 18.4403 85.0122 24.0209 85.0122C29.6015 85.0122 34.1255 80.4882 34.1255 74.9076C34.1255 69.327 29.6015 64.803 24.0209 64.803ZM64.4391 125.43C64.4391 119.85 68.963 115.326 74.5436 115.326C80.1243 115.326 84.6482 119.85 84.6482 125.43C84.6482 131.011 80.1243 135.535 74.5436 135.535C68.963 135.535 64.4391 131.011 64.4391 125.43Z",
109
- fill: "currentColor"
110
- })
111
- ]
112
- })
113
- })
114
- })
115
- }),
116
- isMounted && /*#__PURE__*/ createPortal(DevToolContent, document.body)
117
- ]
118
- });
119
- }
120
- const wrapper = DevToolWrapper;
121
- export { DevToolWrapper, wrapper as default };
package/dist/dev-tool.cjs DELETED
@@ -1,124 +0,0 @@
1
- 'use client';
2
- "use strict";
3
- var __webpack_require__ = {};
4
- (()=>{
5
- __webpack_require__.n = (module)=>{
6
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
7
- __webpack_require__.d(getter, {
8
- a: getter
9
- });
10
- return getter;
11
- };
12
- })();
13
- (()=>{
14
- __webpack_require__.d = (exports1, definition)=>{
15
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
- enumerable: true,
17
- get: definition[key]
18
- });
19
- };
20
- })();
21
- (()=>{
22
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
23
- })();
24
- (()=>{
25
- __webpack_require__.r = (exports1)=>{
26
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
27
- value: 'Module'
28
- });
29
- Object.defineProperty(exports1, '__esModule', {
30
- value: true
31
- });
32
- };
33
- })();
34
- var __webpack_exports__ = {};
35
- __webpack_require__.r(__webpack_exports__);
36
- __webpack_require__.d(__webpack_exports__, {
37
- getStore: ()=>getStore,
38
- C15TDevTools: ()=>C15TDevTools,
39
- default: ()=>dev_tool
40
- });
41
- const jsx_runtime_namespaceObject = require("react/jsx-runtime");
42
- const external_react_namespaceObject = require("react");
43
- const error_state_cjs_namespaceObject = require("./components/error-state.cjs");
44
- const header_cjs_namespaceObject = require("./components/header.cjs");
45
- const wrapper_cjs_namespaceObject = require("./components/wrapper.cjs");
46
- var wrapper_cjs_default = /*#__PURE__*/ __webpack_require__.n(wrapper_cjs_namespaceObject);
47
- const router_cjs_namespaceObject = require("./router/router.cjs");
48
- require("./styles/theme.css");
49
- const PrivacyC15TContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(null);
50
- const getStore = ()=>{
51
- const context = (0, external_react_namespaceObject.useContext)(PrivacyC15TContext);
52
- if (null === context) throw new Error('useConsentManagerContext must be used within a ConsentManagerProvider');
53
- const [localState, setLocalState] = (0, external_react_namespaceObject.useState)(context.state);
54
- (0, external_react_namespaceObject.useEffect)(()=>{
55
- if (!context.store) return;
56
- setLocalState(context.state);
57
- const unsubscribe = context.store.subscribe((newState)=>{
58
- setLocalState(newState);
59
- });
60
- return ()=>{
61
- unsubscribe();
62
- };
63
- }, [
64
- context.store,
65
- context.state
66
- ]);
67
- return localState;
68
- };
69
- const dev_tool = PrivacyC15TContext;
70
- const C15TDevTools = ({ namespace = 'c15tStore', position = 'bottom-right' })=>{
71
- const [state, setState] = (0, external_react_namespaceObject.useState)(null);
72
- const [store, setStore] = (0, external_react_namespaceObject.useState)(null);
73
- const [isOpen, setIsOpen] = (0, external_react_namespaceObject.useState)(false);
74
- const toggleOpen = (0, external_react_namespaceObject.useCallback)(()=>setIsOpen((prev)=>!prev), []);
75
- (0, external_react_namespaceObject.useEffect)(()=>{
76
- const storeInstance = 'undefined' != typeof window && window[namespace] || null;
77
- if (storeInstance) {
78
- setStore(storeInstance);
79
- const currentState = storeInstance.getState();
80
- setState(currentState);
81
- const unsubscribe = storeInstance.subscribe((newState)=>{
82
- setState(newState);
83
- });
84
- return ()=>{
85
- unsubscribe();
86
- };
87
- }
88
- console.log(`${namespace} is not available on the window object.`);
89
- }, [
90
- namespace
91
- ]);
92
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PrivacyC15TContext.Provider, {
93
- value: {
94
- state,
95
- store
96
- },
97
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(wrapper_cjs_default(), {
98
- isOpen: isOpen,
99
- toggleOpen: toggleOpen,
100
- position: position,
101
- children: [
102
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(header_cjs_namespaceObject.Header, {
103
- onClose: ()=>setIsOpen(false)
104
- }),
105
- state ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(router_cjs_namespaceObject.Router, {
106
- onClose: ()=>setIsOpen(false)
107
- }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(error_state_cjs_namespaceObject.ErrorState, {
108
- namespace: namespace
109
- })
110
- ]
111
- })
112
- });
113
- };
114
- exports.C15TDevTools = __webpack_exports__.C15TDevTools;
115
- exports["default"] = __webpack_exports__["default"];
116
- exports.getStore = __webpack_exports__.getStore;
117
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
118
- "C15TDevTools",
119
- "default",
120
- "getStore"
121
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
122
- Object.defineProperty(exports, '__esModule', {
123
- value: true
124
- });
@@ -1,15 +0,0 @@
1
- import type { NamespaceProps, PrivacyConsentState } from 'c15t';
2
- import { type FC } from 'react';
3
- import type { StoreApi } from 'zustand/vanilla';
4
- import './styles/theme.css';
5
- declare const PrivacyC15TContext: import("react").Context<{
6
- state: PrivacyConsentState | null;
7
- store: StoreApi<PrivacyConsentState> | null;
8
- } | null>;
9
- export declare const getStore: () => PrivacyConsentState | null;
10
- export default PrivacyC15TContext;
11
- export interface ConsentManagerProviderProps extends NamespaceProps {
12
- position?: 'bottom-right' | 'top-right' | 'bottom-left' | 'top-left';
13
- }
14
- export declare const C15TDevTools: FC<ConsentManagerProviderProps>;
15
- //# sourceMappingURL=dev-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-tool.d.ts","sourceRoot":"","sources":["../src/dev-tool.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EAEN,KAAK,EAAE,EAKP,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,oBAAoB,CAAC;AAC5B,QAAA,MAAM,kBAAkB;WAChB,mBAAmB,GAAG,IAAI;WAC1B,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI;SAC7B,CAAC;AAEhB,eAAO,MAAM,QAAQ,kCAgCpB,CAAC;AAEF,eAAe,kBAAkB,CAAC;AAElC,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IAClE,QAAQ,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;CACrE;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,2BAA2B,CAoDxD,CAAC"}
package/dist/dev-tool.js DELETED
@@ -1,74 +0,0 @@
1
- 'use client';
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import { createContext, useCallback, useContext, useEffect, useState } from "react";
4
- import { ErrorState } from "./components/error-state.js";
5
- import { Header } from "./components/header.js";
6
- import wrapper from "./components/wrapper.js";
7
- import { Router } from "./router/router.js";
8
- import "./styles/theme.css";
9
- const PrivacyC15TContext = /*#__PURE__*/ createContext(null);
10
- const getStore = ()=>{
11
- const context = useContext(PrivacyC15TContext);
12
- if (null === context) throw new Error('useConsentManagerContext must be used within a ConsentManagerProvider');
13
- const [localState, setLocalState] = useState(context.state);
14
- useEffect(()=>{
15
- if (!context.store) return;
16
- setLocalState(context.state);
17
- const unsubscribe = context.store.subscribe((newState)=>{
18
- setLocalState(newState);
19
- });
20
- return ()=>{
21
- unsubscribe();
22
- };
23
- }, [
24
- context.store,
25
- context.state
26
- ]);
27
- return localState;
28
- };
29
- const dev_tool = PrivacyC15TContext;
30
- const C15TDevTools = ({ namespace = 'c15tStore', position = 'bottom-right' })=>{
31
- const [state, setState] = useState(null);
32
- const [store, setStore] = useState(null);
33
- const [isOpen, setIsOpen] = useState(false);
34
- const toggleOpen = useCallback(()=>setIsOpen((prev)=>!prev), []);
35
- useEffect(()=>{
36
- const storeInstance = 'undefined' != typeof window && window[namespace] || null;
37
- if (storeInstance) {
38
- setStore(storeInstance);
39
- const currentState = storeInstance.getState();
40
- setState(currentState);
41
- const unsubscribe = storeInstance.subscribe((newState)=>{
42
- setState(newState);
43
- });
44
- return ()=>{
45
- unsubscribe();
46
- };
47
- }
48
- console.log(`${namespace} is not available on the window object.`);
49
- }, [
50
- namespace
51
- ]);
52
- return /*#__PURE__*/ jsx(PrivacyC15TContext.Provider, {
53
- value: {
54
- state,
55
- store
56
- },
57
- children: /*#__PURE__*/ jsxs(wrapper, {
58
- isOpen: isOpen,
59
- toggleOpen: toggleOpen,
60
- position: position,
61
- children: [
62
- /*#__PURE__*/ jsx(Header, {
63
- onClose: ()=>setIsOpen(false)
64
- }),
65
- state ? /*#__PURE__*/ jsx(Router, {
66
- onClose: ()=>setIsOpen(false)
67
- }) : /*#__PURE__*/ jsx(ErrorState, {
68
- namespace: namespace
69
- })
70
- ]
71
- })
72
- });
73
- };
74
- export { C15TDevTools, dev_tool as default, getStore };
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
18
- };
19
- })();
20
- (()=>{
21
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
- })();
23
- (()=>{
24
- __webpack_require__.r = (exports1)=>{
25
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
- value: 'Module'
27
- });
28
- Object.defineProperty(exports1, '__esModule', {
29
- value: true
30
- });
31
- };
32
- })();
33
- var __webpack_exports__ = {};
34
- __webpack_require__.r(__webpack_exports__);
35
- __webpack_require__.d(__webpack_exports__, {
36
- cn: ()=>cn
37
- });
38
- const external_clsx_namespaceObject = require("clsx");
39
- var external_clsx_default = /*#__PURE__*/ __webpack_require__.n(external_clsx_namespaceObject);
40
- const external_tailwind_merge_namespaceObject = require("tailwind-merge");
41
- function cn(...inputs) {
42
- return (0, external_tailwind_merge_namespaceObject.twMerge)(external_clsx_default()(inputs));
43
- }
44
- exports.cn = __webpack_exports__.cn;
45
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
46
- "cn"
47
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
48
- Object.defineProperty(exports, '__esModule', {
49
- value: true
50
- });
@@ -1,3 +0,0 @@
1
- import { type ClassValue } from 'clsx';
2
- export declare function cn(...inputs: ClassValue[]): string;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/libs/utils.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -1,6 +0,0 @@
1
- import clsx from "clsx";
2
- import { twMerge } from "tailwind-merge";
3
- function cn(...inputs) {
4
- return twMerge(clsx(inputs));
5
- }
6
- export { cn };
@@ -1,158 +0,0 @@
1
- 'use client';
2
- "use strict";
3
- var __webpack_require__ = {};
4
- (()=>{
5
- __webpack_require__.d = (exports1, definition)=>{
6
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
- enumerable: true,
8
- get: definition[key]
9
- });
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
- })();
15
- (()=>{
16
- __webpack_require__.r = (exports1)=>{
17
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
- value: 'Module'
19
- });
20
- Object.defineProperty(exports1, '__esModule', {
21
- value: true
22
- });
23
- };
24
- })();
25
- var __webpack_exports__ = {};
26
- __webpack_require__.r(__webpack_exports__);
27
- __webpack_require__.d(__webpack_exports__, {
28
- Router: ()=>Router
29
- });
30
- const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
- const external_lucide_react_namespaceObject = require("lucide-react");
32
- const react_namespaceObject = require("motion/react");
33
- const external_react_namespaceObject = require("react");
34
- const badge_cjs_namespaceObject = require("../components/ui/badge.cjs");
35
- const expandable_tabs_cjs_namespaceObject = require("../components/ui/expandable-tabs.cjs");
36
- const scroll_area_cjs_namespaceObject = require("../components/ui/scroll-area.cjs");
37
- const external_dev_tool_cjs_namespaceObject = require("../dev-tool.cjs");
38
- const tabs = [
39
- {
40
- title: 'Consents',
41
- icon: external_lucide_react_namespaceObject.ToggleLeft
42
- },
43
- {
44
- title: 'Compliance',
45
- icon: external_lucide_react_namespaceObject.GanttChartSquare
46
- }
47
- ];
48
- function Router({ onClose: _onClose }) {
49
- const privacyConsent = (0, external_dev_tool_cjs_namespaceObject.getStore)();
50
- const [activeSection, setActiveSection] = (0, external_react_namespaceObject.useState)('Consents');
51
- const handleTabChange = (0, external_react_namespaceObject.useCallback)((index)=>{
52
- if (null !== index) setActiveSection(tabs[index].title);
53
- }, []);
54
- const renderingState = [
55
- {
56
- componentName: 'MarketingContent',
57
- consentType: 'marketing'
58
- },
59
- {
60
- componentName: 'AnalyticsContent',
61
- consentType: 'measurement'
62
- },
63
- {
64
- componentName: 'PersonalizationComponent',
65
- consentType: 'ad_personalization'
66
- }
67
- ];
68
- const contentItems = (()=>{
69
- switch(activeSection){
70
- case 'Consents':
71
- return Object.entries(privacyConsent.consents).map(([name, value])=>({
72
- title: name,
73
- status: value ? 'Enabled' : 'Disabled'
74
- }));
75
- case 'Compliance':
76
- return Object.entries(privacyConsent.complianceSettings).map(([region, settings])=>({
77
- title: region,
78
- status: settings.enabled ? 'Active' : 'Inactive'
79
- }));
80
- case 'Conditional':
81
- return renderingState.map((item)=>({
82
- title: item.componentName,
83
- status: 'Rendered',
84
- details: `Requires: ${item.consentType}`
85
- }));
86
- default:
87
- return [];
88
- }
89
- })();
90
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
91
- children: [
92
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
93
- className: "border-b p-4",
94
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(expandable_tabs_cjs_namespaceObject.ExpandableTabs, {
95
- tabs: Array.from(tabs),
96
- activeColor: "text-primary",
97
- className: "border-muted",
98
- onChange: handleTabChange
99
- })
100
- }),
101
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(scroll_area_cjs_namespaceObject.ScrollArea, {
102
- className: "h-[300px]",
103
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
104
- className: "space-y-2 p-4",
105
- initial: {
106
- opacity: 0
107
- },
108
- animate: {
109
- opacity: 1
110
- },
111
- exit: {
112
- opacity: 0
113
- },
114
- children: contentItems.map((item, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(react_namespaceObject.motion.div, {
115
- className: "flex items-center justify-between rounded-lg border bg-card p-3",
116
- initial: {
117
- opacity: 0,
118
- y: 20
119
- },
120
- animate: {
121
- opacity: 1,
122
- y: 0
123
- },
124
- transition: {
125
- delay: 0.05 * index
126
- },
127
- children: [
128
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
129
- className: "flex flex-col",
130
- children: [
131
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
132
- className: "font-medium text-sm",
133
- children: item.title
134
- }),
135
- item.details && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
136
- className: "text-muted-foreground text-xs",
137
- children: item.details
138
- })
139
- ]
140
- }),
141
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(badge_cjs_namespaceObject.Badge, {
142
- variant: 'Enabled' === item.status || 'Active' === item.status || 'active' === item.status || 'Rendered' === item.status ? 'default' : 'destructive',
143
- children: item.status
144
- })
145
- ]
146
- }, `${activeSection}-${item.title}`))
147
- })
148
- })
149
- ]
150
- });
151
- }
152
- exports.Router = __webpack_exports__.Router;
153
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
154
- "Router"
155
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
156
- Object.defineProperty(exports, '__esModule', {
157
- value: true
158
- });
@@ -1,6 +0,0 @@
1
- interface RouterProps {
2
- onClose: () => void;
3
- }
4
- export declare function Router({ onClose: _onClose }: RouterProps): import("react/jsx-runtime").JSX.Element;
5
- export {};
6
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.tsx"],"names":[],"mappings":"AAwBA,UAAU,WAAW;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAoHxD"}