@c15t/dev-tools 0.0.1-rc.10

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 (87) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE.md +595 -0
  3. package/README.md +47 -0
  4. package/dist/components/error-state.cjs +98 -0
  5. package/dist/components/error-state.css +51 -0
  6. package/dist/components/error-state.d.ts +5 -0
  7. package/dist/components/error-state.d.ts.map +1 -0
  8. package/dist/components/error-state.js +64 -0
  9. package/dist/components/header.cjs +65 -0
  10. package/dist/components/header.css +29 -0
  11. package/dist/components/header.d.ts +7 -0
  12. package/dist/components/header.d.ts.map +1 -0
  13. package/dist/components/header.js +31 -0
  14. package/dist/components/ui/accordion.cjs +76 -0
  15. package/dist/components/ui/accordion.css +72 -0
  16. package/dist/components/ui/accordion.d.ts +8 -0
  17. package/dist/components/ui/accordion.d.ts.map +1 -0
  18. package/dist/components/ui/accordion.js +39 -0
  19. package/dist/components/ui/alert.cjs +73 -0
  20. package/dist/components/ui/alert.css +59 -0
  21. package/dist/components/ui/alert.d.ts +10 -0
  22. package/dist/components/ui/alert.d.ts.map +1 -0
  23. package/dist/components/ui/alert.js +37 -0
  24. package/dist/components/ui/badge.cjs +61 -0
  25. package/dist/components/ui/badge.css +52 -0
  26. package/dist/components/ui/badge.d.ts +11 -0
  27. package/dist/components/ui/badge.d.ts.map +1 -0
  28. package/dist/components/ui/badge.js +26 -0
  29. package/dist/components/ui/button.cjs +75 -0
  30. package/dist/components/ui/button.css +87 -0
  31. package/dist/components/ui/button.d.ts +13 -0
  32. package/dist/components/ui/button.d.ts.map +1 -0
  33. package/dist/components/ui/button.js +40 -0
  34. package/dist/components/ui/card.cjs +79 -0
  35. package/dist/components/ui/card.css +41 -0
  36. package/dist/components/ui/card.d.ts +10 -0
  37. package/dist/components/ui/card.d.ts.map +1 -0
  38. package/dist/components/ui/card.js +40 -0
  39. package/dist/components/ui/error-state.css +34 -0
  40. package/dist/components/ui/expandable-tabs.cjs +136 -0
  41. package/dist/components/ui/expandable-tabs.css +57 -0
  42. package/dist/components/ui/expandable-tabs.d.ts +23 -0
  43. package/dist/components/ui/expandable-tabs.d.ts.map +1 -0
  44. package/dist/components/ui/expandable-tabs.js +102 -0
  45. package/dist/components/ui/logo.cjs +101 -0
  46. package/dist/components/ui/logo.d.ts +8 -0
  47. package/dist/components/ui/logo.d.ts.map +1 -0
  48. package/dist/components/ui/logo.js +67 -0
  49. package/dist/components/ui/scroll-area.cjs +65 -0
  50. package/dist/components/ui/scroll-area.css +42 -0
  51. package/dist/components/ui/scroll-area.d.ts +6 -0
  52. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  53. package/dist/components/ui/scroll-area.js +30 -0
  54. package/dist/components/ui/switch.cjs +49 -0
  55. package/dist/components/ui/switch.css +49 -0
  56. package/dist/components/ui/switch.d.ts +5 -0
  57. package/dist/components/ui/switch.d.ts.map +1 -0
  58. package/dist/components/ui/switch.js +15 -0
  59. package/dist/components/ui/tooltip.cjs +55 -0
  60. package/dist/components/ui/tooltip.css +101 -0
  61. package/dist/components/ui/tooltip.d.ts +8 -0
  62. package/dist/components/ui/tooltip.d.ts.map +1 -0
  63. package/dist/components/ui/tooltip.js +18 -0
  64. package/dist/components/wrapper.cjs +156 -0
  65. package/dist/components/wrapper.css +90 -0
  66. package/dist/components/wrapper.d.ts +20 -0
  67. package/dist/components/wrapper.d.ts.map +1 -0
  68. package/dist/components/wrapper.js +121 -0
  69. package/dist/dev-tool.cjs +124 -0
  70. package/dist/dev-tool.d.ts +15 -0
  71. package/dist/dev-tool.d.ts.map +1 -0
  72. package/dist/dev-tool.js +74 -0
  73. package/dist/index.cjs +36 -0
  74. package/dist/index.d.ts +2 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +3 -0
  77. package/dist/libs/utils.cjs +54 -0
  78. package/dist/libs/utils.d.ts +3 -0
  79. package/dist/libs/utils.d.ts.map +1 -0
  80. package/dist/libs/utils.js +6 -0
  81. package/dist/router/router.cjs +158 -0
  82. package/dist/router/router.d.ts +6 -0
  83. package/dist/router/router.d.ts.map +1 -0
  84. package/dist/router/router.js +124 -0
  85. package/dist/styles/theme.css +42 -0
  86. package/package.json +49 -0
  87. package/tsconfig.json +12 -0
@@ -0,0 +1,121 @@
1
+ 'use client';
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__ from "motion/react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__ from "react-dom";
6
+ import "./wrapper.css";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__libs_utils_js_d86a90fb__ from "../libs/utils.js";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__ui_button_js_a32db0cf__ from "./ui/button.js";
9
+ import * as __WEBPACK_EXTERNAL_MODULE__ui_card_js_65350278__ from "./ui/card.js";
10
+ function DevToolWrapper({ children, isOpen, toggleOpen, position = 'bottom-right' }) {
11
+ const [isMounted, setIsMounted] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
12
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
13
+ setIsMounted(true);
14
+ return ()=>setIsMounted(false);
15
+ }, []);
16
+ const DevToolContent = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.AnimatePresence, {
17
+ children: isOpen && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.motion.div, {
48
+ className: (0, __WEBPACK_EXTERNAL_MODULE__libs_utils_js_d86a90fb__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__ui_card_js_65350278__.Card, {
62
+ className: "c15t-devtool-wrapper-card",
63
+ children: children
64
+ })
65
+ })
66
+ ]
67
+ })
68
+ });
69
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
70
+ children: [
71
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.AnimatePresence, {
72
+ children: !isOpen && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_motion_react_9decfa63__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__ui_button_js_a32db0cf__.Button, {
92
+ variant: "outline",
93
+ size: "icon",
94
+ className: "c15t-devtool-wrapper-button",
95
+ onClick: toggleOpen,
96
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("title", {
103
+ children: "c15t-devtool-icon"
104
+ }),
105
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__.createPortal)(DevToolContent, document.body)
117
+ ]
118
+ });
119
+ }
120
+ const wrapper_rslib_entry_ = DevToolWrapper;
121
+ export { DevToolWrapper, wrapper_rslib_entry_ as default };
@@ -0,0 +1,124 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.n = function(module) {
6
+ var getter = module && module.__esModule ? function() {
7
+ return module['default'];
8
+ } : function() {
9
+ return module;
10
+ };
11
+ __webpack_require__.d(getter, {
12
+ a: getter
13
+ });
14
+ return getter;
15
+ };
16
+ })();
17
+ (()=>{
18
+ __webpack_require__.d = function(exports1, definition) {
19
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
20
+ enumerable: true,
21
+ get: definition[key]
22
+ });
23
+ };
24
+ })();
25
+ (()=>{
26
+ __webpack_require__.o = function(obj, prop) {
27
+ return Object.prototype.hasOwnProperty.call(obj, prop);
28
+ };
29
+ })();
30
+ (()=>{
31
+ __webpack_require__.r = function(exports1) {
32
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
33
+ value: 'Module'
34
+ });
35
+ Object.defineProperty(exports1, '__esModule', {
36
+ value: true
37
+ });
38
+ };
39
+ })();
40
+ var __webpack_exports__ = {};
41
+ __webpack_require__.r(__webpack_exports__);
42
+ __webpack_require__.d(__webpack_exports__, {
43
+ C15TDevTools: ()=>C15TDevTools,
44
+ getStore: ()=>getStore,
45
+ default: ()=>dev_tool_rslib_entry_
46
+ });
47
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
48
+ const external_react_namespaceObject = require("react");
49
+ const error_state_cjs_namespaceObject = require("./components/error-state.cjs");
50
+ const header_cjs_namespaceObject = require("./components/header.cjs");
51
+ const wrapper_cjs_namespaceObject = require("./components/wrapper.cjs");
52
+ var wrapper_cjs_default = /*#__PURE__*/ __webpack_require__.n(wrapper_cjs_namespaceObject);
53
+ const router_cjs_namespaceObject = require("./router/router.cjs");
54
+ require("./styles/theme.css");
55
+ const PrivacyConsentContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(null);
56
+ const getStore = ()=>{
57
+ const context = (0, external_react_namespaceObject.useContext)(PrivacyConsentContext);
58
+ if (null === context) throw new Error('useConsentManagerContext must be used within a ConsentManagerProvider');
59
+ const [localState, setLocalState] = (0, external_react_namespaceObject.useState)(context.state);
60
+ (0, external_react_namespaceObject.useEffect)(()=>{
61
+ if (!context.store) return;
62
+ setLocalState(context.state);
63
+ const unsubscribe = context.store.subscribe((newState)=>{
64
+ setLocalState(newState);
65
+ });
66
+ return ()=>{
67
+ unsubscribe();
68
+ };
69
+ }, [
70
+ context.store,
71
+ context.state
72
+ ]);
73
+ return localState;
74
+ };
75
+ const dev_tool_rslib_entry_ = PrivacyConsentContext;
76
+ const C15TDevTools = ({ namespace = 'c15tStore', position = 'bottom-right' })=>{
77
+ const [state, setState] = (0, external_react_namespaceObject.useState)(null);
78
+ const [store, setStore] = (0, external_react_namespaceObject.useState)(null);
79
+ const [isOpen, setIsOpen] = (0, external_react_namespaceObject.useState)(false);
80
+ const toggleOpen = (0, external_react_namespaceObject.useCallback)(()=>setIsOpen((prev)=>!prev), []);
81
+ (0, external_react_namespaceObject.useEffect)(()=>{
82
+ const storeInstance = 'undefined' != typeof window && window[namespace] || null;
83
+ if (storeInstance) {
84
+ setStore(storeInstance);
85
+ const currentState = storeInstance.getState();
86
+ setState(currentState);
87
+ const unsubscribe = storeInstance.subscribe((newState)=>{
88
+ setState(newState);
89
+ });
90
+ return ()=>{
91
+ unsubscribe();
92
+ };
93
+ }
94
+ console.log(`${namespace} is not available on the window object.`);
95
+ }, [
96
+ namespace
97
+ ]);
98
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PrivacyConsentContext.Provider, {
99
+ value: {
100
+ state,
101
+ store
102
+ },
103
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(wrapper_cjs_default(), {
104
+ isOpen: isOpen,
105
+ toggleOpen: toggleOpen,
106
+ position: position,
107
+ children: [
108
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(header_cjs_namespaceObject.Header, {
109
+ onClose: ()=>setIsOpen(false)
110
+ }),
111
+ state ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(router_cjs_namespaceObject.Router, {
112
+ onClose: ()=>setIsOpen(false)
113
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(error_state_cjs_namespaceObject.ErrorState, {
114
+ namespace: namespace
115
+ })
116
+ ]
117
+ })
118
+ });
119
+ };
120
+ var __webpack_export_target__ = exports;
121
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
122
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
123
+ value: true
124
+ });
@@ -0,0 +1,15 @@
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 PrivacyConsentContext: import("react").Context<{
6
+ state: PrivacyConsentState | null;
7
+ store: StoreApi<PrivacyConsentState> | null;
8
+ } | null>;
9
+ export declare const getStore: () => PrivacyConsentState | null;
10
+ export default PrivacyConsentContext;
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
@@ -0,0 +1 @@
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,EACN,KAAK,EAAE,EAMP,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,oBAAoB,CAAC;AAC5B,QAAA,MAAM,qBAAqB;WACnB,mBAAmB,GAAG,IAAI;WAC1B,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI;SAC7B,CAAC;AAEhB,eAAO,MAAM,QAAQ,kCAgCpB,CAAC;AAEF,eAAe,qBAAqB,CAAC;AAErC,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,CAsDxD,CAAC"}
@@ -0,0 +1,74 @@
1
+ 'use client';
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__components_error_state_js_b2afe07e__ from "./components/error-state.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__components_header_js_f6efece6__ from "./components/header.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__components_wrapper_js_57ff3aa7__ from "./components/wrapper.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__router_router_js_6b417f36__ from "./router/router.js";
8
+ import "./styles/theme.css";
9
+ const PrivacyConsentContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createContext)(null);
10
+ const getStore = ()=>{
11
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(PrivacyConsentContext);
12
+ if (null === context) throw new Error('useConsentManagerContext must be used within a ConsentManagerProvider');
13
+ const [localState, setLocalState] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(context.state);
14
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.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_rslib_entry_ = PrivacyConsentContext;
30
+ const C15TDevTools = ({ namespace = 'c15tStore', position = 'bottom-right' })=>{
31
+ const [state, setState] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(null);
32
+ const [store, setStore] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(null);
33
+ const [isOpen, setIsOpen] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
34
+ const toggleOpen = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>setIsOpen((prev)=>!prev), []);
35
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.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__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(PrivacyConsentContext.Provider, {
53
+ value: {
54
+ state,
55
+ store
56
+ },
57
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__components_wrapper_js_57ff3aa7__["default"], {
58
+ isOpen: isOpen,
59
+ toggleOpen: toggleOpen,
60
+ position: position,
61
+ children: [
62
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__components_header_js_f6efece6__.Header, {
63
+ onClose: ()=>setIsOpen(false)
64
+ }),
65
+ state ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__router_router_js_6b417f36__.Router, {
66
+ onClose: ()=>setIsOpen(false)
67
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__components_error_state_js_b2afe07e__.ErrorState, {
68
+ namespace: namespace
69
+ })
70
+ ]
71
+ })
72
+ });
73
+ };
74
+ export { C15TDevTools, dev_tool_rslib_entry_ as default, getStore };
package/dist/index.cjs ADDED
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = function(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 = function(obj, prop) {
13
+ return Object.prototype.hasOwnProperty.call(obj, prop);
14
+ };
15
+ })();
16
+ (()=>{
17
+ __webpack_require__.r = function(exports1) {
18
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
19
+ value: 'Module'
20
+ });
21
+ Object.defineProperty(exports1, '__esModule', {
22
+ value: true
23
+ });
24
+ };
25
+ })();
26
+ var __webpack_exports__ = {};
27
+ __webpack_require__.r(__webpack_exports__);
28
+ __webpack_require__.d(__webpack_exports__, {
29
+ C15TDevTools: ()=>external_dev_tool_cjs_namespaceObject.C15TDevTools
30
+ });
31
+ const external_dev_tool_cjs_namespaceObject = require("./dev-tool.cjs");
32
+ var __webpack_export_target__ = exports;
33
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
34
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
35
+ value: true
36
+ });
@@ -0,0 +1,2 @@
1
+ export { C15TDevTools } from './dev-tool';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__dev_tool_js_fecdc1b9__ from "./dev-tool.js";
2
+ var __webpack_exports__C15TDevTools = __WEBPACK_EXTERNAL_MODULE__dev_tool_js_fecdc1b9__.C15TDevTools;
3
+ export { __webpack_exports__C15TDevTools as C15TDevTools };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = function(module) {
5
+ var getter = module && module.__esModule ? function() {
6
+ return module['default'];
7
+ } : function() {
8
+ return module;
9
+ };
10
+ __webpack_require__.d(getter, {
11
+ a: getter
12
+ });
13
+ return getter;
14
+ };
15
+ })();
16
+ (()=>{
17
+ __webpack_require__.d = function(exports1, definition) {
18
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
19
+ enumerable: true,
20
+ get: definition[key]
21
+ });
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = function(obj, prop) {
26
+ return Object.prototype.hasOwnProperty.call(obj, prop);
27
+ };
28
+ })();
29
+ (()=>{
30
+ __webpack_require__.r = function(exports1) {
31
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
32
+ value: 'Module'
33
+ });
34
+ Object.defineProperty(exports1, '__esModule', {
35
+ value: true
36
+ });
37
+ };
38
+ })();
39
+ var __webpack_exports__ = {};
40
+ __webpack_require__.r(__webpack_exports__);
41
+ __webpack_require__.d(__webpack_exports__, {
42
+ cn: ()=>cn
43
+ });
44
+ const external_clsx_namespaceObject = require("clsx");
45
+ var external_clsx_default = /*#__PURE__*/ __webpack_require__.n(external_clsx_namespaceObject);
46
+ const external_tailwind_merge_namespaceObject = require("tailwind-merge");
47
+ function cn(...inputs) {
48
+ return (0, external_tailwind_merge_namespaceObject.twMerge)(external_clsx_default()(inputs));
49
+ }
50
+ var __webpack_export_target__ = exports;
51
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
52
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
53
+ value: true
54
+ });
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_clsx__ from "clsx";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
3
+ function cn(...inputs) {
4
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)((0, __WEBPACK_EXTERNAL_MODULE_clsx__["default"])(inputs));
5
+ }
6
+ export { cn };
@@ -0,0 +1,158 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = function(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 = function(obj, prop) {
14
+ return Object.prototype.hasOwnProperty.call(obj, prop);
15
+ };
16
+ })();
17
+ (()=>{
18
+ __webpack_require__.r = function(exports1) {
19
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
20
+ value: 'Module'
21
+ });
22
+ Object.defineProperty(exports1, '__esModule', {
23
+ value: true
24
+ });
25
+ };
26
+ })();
27
+ var __webpack_exports__ = {};
28
+ __webpack_require__.r(__webpack_exports__);
29
+ __webpack_require__.d(__webpack_exports__, {
30
+ Router: ()=>Router
31
+ });
32
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
33
+ const external_lucide_react_namespaceObject = require("lucide-react");
34
+ const react_namespaceObject = require("motion/react");
35
+ const external_react_namespaceObject = require("react");
36
+ const expandable_tabs_cjs_namespaceObject = require("../components/ui/expandable-tabs.cjs");
37
+ const scroll_area_cjs_namespaceObject = require("../components/ui/scroll-area.cjs");
38
+ const external_dev_tool_cjs_namespaceObject = require("../dev-tool.cjs");
39
+ const badge_cjs_namespaceObject = require("../components/ui/badge.cjs");
40
+ const tabs = [
41
+ {
42
+ title: 'Consents',
43
+ icon: external_lucide_react_namespaceObject.ToggleLeft
44
+ },
45
+ {
46
+ title: 'Compliance',
47
+ icon: external_lucide_react_namespaceObject.GanttChartSquare
48
+ }
49
+ ];
50
+ function Router({ onClose: _onClose }) {
51
+ const privacyConsent = (0, external_dev_tool_cjs_namespaceObject.getStore)();
52
+ const [activeSection, setActiveSection] = (0, external_react_namespaceObject.useState)('Consents');
53
+ const handleTabChange = (0, external_react_namespaceObject.useCallback)((index)=>{
54
+ if (null !== index) setActiveSection(tabs[index].title);
55
+ }, []);
56
+ const renderingState = [
57
+ {
58
+ componentName: 'MarketingContent',
59
+ consentType: 'marketing'
60
+ },
61
+ {
62
+ componentName: 'AnalyticsContent',
63
+ consentType: 'measurement'
64
+ },
65
+ {
66
+ componentName: 'PersonalizationComponent',
67
+ consentType: 'ad_personalization'
68
+ }
69
+ ];
70
+ const contentItems = (()=>{
71
+ switch(activeSection){
72
+ case 'Consents':
73
+ return Object.entries(privacyConsent.consents).map(([name, value])=>({
74
+ title: name,
75
+ status: value ? 'Enabled' : 'Disabled'
76
+ }));
77
+ case 'Compliance':
78
+ return Object.entries(privacyConsent.complianceSettings).map(([region, settings])=>({
79
+ title: region,
80
+ status: settings.enabled ? 'Active' : 'Inactive'
81
+ }));
82
+ case 'Conditional':
83
+ return renderingState.map((item)=>({
84
+ title: item.componentName,
85
+ status: 'Rendered',
86
+ details: `Requires: ${item.consentType}`
87
+ }));
88
+ default:
89
+ return [];
90
+ }
91
+ })();
92
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
93
+ children: [
94
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
95
+ className: "border-b p-4",
96
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(expandable_tabs_cjs_namespaceObject.ExpandableTabs, {
97
+ tabs: Array.from(tabs),
98
+ activeColor: "text-primary",
99
+ className: "border-muted",
100
+ onChange: handleTabChange
101
+ })
102
+ }),
103
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(scroll_area_cjs_namespaceObject.ScrollArea, {
104
+ className: "h-[300px]",
105
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
106
+ className: "space-y-2 p-4",
107
+ initial: {
108
+ opacity: 0
109
+ },
110
+ animate: {
111
+ opacity: 1
112
+ },
113
+ exit: {
114
+ opacity: 0
115
+ },
116
+ children: contentItems.map((item, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(react_namespaceObject.motion.div, {
117
+ className: "flex items-center justify-between rounded-lg border bg-card p-3",
118
+ initial: {
119
+ opacity: 0,
120
+ y: 20
121
+ },
122
+ animate: {
123
+ opacity: 1,
124
+ y: 0
125
+ },
126
+ transition: {
127
+ delay: 0.05 * index
128
+ },
129
+ children: [
130
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
131
+ className: "flex flex-col",
132
+ children: [
133
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
134
+ className: "font-medium text-sm",
135
+ children: item.title
136
+ }),
137
+ item.details && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
138
+ className: "text-muted-foreground text-xs",
139
+ children: item.details
140
+ })
141
+ ]
142
+ }),
143
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(badge_cjs_namespaceObject.Badge, {
144
+ variant: 'Enabled' === item.status || 'Active' === item.status || 'active' === item.status || 'Rendered' === item.status ? 'default' : 'destructive',
145
+ children: item.status
146
+ })
147
+ ]
148
+ }, `${activeSection}-${item.title}`))
149
+ })
150
+ })
151
+ ]
152
+ });
153
+ }
154
+ var __webpack_export_target__ = exports;
155
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
156
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
157
+ value: true
158
+ });
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.tsx"],"names":[],"mappings":"AAyBA,UAAU,WAAW;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAkIxD"}