@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
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Core exports
3
+ */
4
+ export * from './devtools';
5
+ export * from './panel-renderer';
6
+ export * from './renderer';
7
+ export * from './reset-consents';
8
+ export * from './state-manager';
9
+ export * from './store-connector';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Panel Renderer
3
+ * Shared logic for rendering DevTools panels
4
+ */
5
+ import type { ConsentStoreState } from 'c15t';
6
+ import type { DevToolsTab, StateManager } from './state-manager';
7
+ import type { StoreConnector } from './store-connector';
8
+ /**
9
+ * Configuration for the panel renderer
10
+ */
11
+ export interface PanelRendererConfig {
12
+ storeConnector: StoreConnector;
13
+ stateManager: StateManager;
14
+ /**
15
+ * Enable event logging for actions
16
+ * @default true
17
+ */
18
+ enableEventLogging?: boolean;
19
+ }
20
+ /**
21
+ * Panel renderer instance with methods for rendering panels
22
+ */
23
+ export interface PanelRenderer {
24
+ /**
25
+ * Renders the specified panel into the container
26
+ */
27
+ renderPanel(container: HTMLElement, tab: DevToolsTab): void;
28
+ /**
29
+ * Gets the current store state
30
+ */
31
+ getStoreState(): ConsentStoreState | null;
32
+ /**
33
+ * Resets all consents
34
+ */
35
+ resetConsents(): Promise<void>;
36
+ }
37
+ /**
38
+ * Creates a panel renderer with shared logic for rendering DevTools panels
39
+ */
40
+ export declare function createPanelRenderer(config: PanelRendererConfig): PanelRenderer;
41
+ //# sourceMappingURL=panel-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel-renderer.d.ts","sourceRoot":"","sources":["../../src/core/panel-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAQ9C,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAE5D;;OAEG;IACH,aAAa,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,mBAAmB,GACzB,aAAa,CAyKf"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * DOM Rendering Utilities
3
+ * Provides declarative element creation for vanilla JS components
4
+ */
5
+ /**
6
+ * Attributes that can be set on an element
7
+ */
8
+ export type ElementAttributes = {
9
+ className?: string;
10
+ id?: string;
11
+ style?: Partial<CSSStyleDeclaration>;
12
+ dataset?: Record<string, string>;
13
+ role?: string;
14
+ tabIndex?: number;
15
+ ariaLabel?: string;
16
+ ariaExpanded?: string;
17
+ ariaHidden?: string;
18
+ ariaSelected?: string;
19
+ ariaControls?: string;
20
+ ariaChecked?: string;
21
+ title?: string;
22
+ type?: string;
23
+ value?: string;
24
+ placeholder?: string;
25
+ disabled?: boolean;
26
+ checked?: boolean;
27
+ name?: string;
28
+ htmlFor?: string;
29
+ } & Record<string, unknown>;
30
+ /**
31
+ * Event handlers that can be attached to an element
32
+ */
33
+ export type ElementEvents = {
34
+ onClick?: EventListener;
35
+ onMouseEnter?: EventListener;
36
+ onMouseLeave?: EventListener;
37
+ onKeyDown?: EventListener;
38
+ onKeyUp?: EventListener;
39
+ onFocus?: EventListener;
40
+ onBlur?: EventListener;
41
+ onChange?: EventListener;
42
+ onInput?: EventListener;
43
+ onAnimationEnd?: EventListener;
44
+ onTransitionEnd?: EventListener;
45
+ };
46
+ /**
47
+ * Options for creating an element
48
+ */
49
+ export interface CreateElementOptions extends ElementAttributes, ElementEvents {
50
+ /** Tag name for the element */
51
+ tag?: keyof HTMLElementTagNameMap;
52
+ /** Text content */
53
+ text?: string;
54
+ /** HTML content (use with caution) */
55
+ html?: string;
56
+ /** Child elements */
57
+ children?: (HTMLElement | string | null | undefined)[];
58
+ }
59
+ /**
60
+ * Creates an HTML element with the given options
61
+ */
62
+ export declare function createElement(options?: CreateElementOptions): HTMLElement;
63
+ /**
64
+ * Shorthand for creating a div element
65
+ */
66
+ export declare function div(options?: Omit<CreateElementOptions, 'tag'>): HTMLDivElement;
67
+ /**
68
+ * Shorthand for creating a button element
69
+ */
70
+ export declare function button(options?: Omit<CreateElementOptions, 'tag'>): HTMLButtonElement;
71
+ /**
72
+ * Shorthand for creating a span element
73
+ */
74
+ export declare function span(options?: Omit<CreateElementOptions, 'tag'>): HTMLSpanElement;
75
+ /**
76
+ * Shorthand for creating a label element
77
+ */
78
+ export declare function label(options?: Omit<CreateElementOptions, 'tag'>): HTMLLabelElement;
79
+ /**
80
+ * Shorthand for creating an input element
81
+ */
82
+ export declare function input(options?: Omit<CreateElementOptions, 'tag'>): HTMLInputElement;
83
+ /**
84
+ * Options for creating a select element
85
+ */
86
+ export interface SelectOption {
87
+ value: string;
88
+ label: string;
89
+ }
90
+ /**
91
+ * Shorthand for creating a select element with options
92
+ */
93
+ export declare function select(options?: Omit<CreateElementOptions, 'tag'> & {
94
+ options?: SelectOption[];
95
+ selectedValue?: string;
96
+ }): HTMLSelectElement;
97
+ /**
98
+ * Creates an SVG element
99
+ */
100
+ export declare function createSvgElement(svgContent: string, options?: {
101
+ className?: string;
102
+ ariaHidden?: boolean;
103
+ width?: number;
104
+ height?: number;
105
+ }): SVGSVGElement;
106
+ /**
107
+ * Removes all children from an element
108
+ */
109
+ export declare function clearElement(element: HTMLElement): void;
110
+ /**
111
+ * Replaces all children of an element with new children
112
+ */
113
+ export declare function replaceChildren(element: HTMLElement, children: (HTMLElement | string | null | undefined)[]): void;
114
+ /**
115
+ * Adds or removes a class based on a condition
116
+ */
117
+ export declare function toggleClass(element: HTMLElement, className: string, condition: boolean): void;
118
+ /**
119
+ * Sets multiple classes at once
120
+ */
121
+ export declare function setClasses(element: HTMLElement, classes: Record<string, boolean>): void;
122
+ /**
123
+ * Creates a portal - appends element to document.body
124
+ */
125
+ export declare function createPortal(element: HTMLElement): () => void;
126
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/core/renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Reset Consents Utility
3
+ * Centralized logic for resetting all consent data
4
+ */
5
+ import type { ConsentStoreState } from 'c15t';
6
+ import type { StoreApi } from 'zustand/vanilla';
7
+ import type { StateManager } from './state-manager';
8
+ /**
9
+ * Resets all consent data including:
10
+ * - Store state via resetConsents()
11
+ * - Cookies (c15t, euconsent-v2)
12
+ * - localStorage entries
13
+ * - Re-initializes the consent manager to reset IAB state
14
+ *
15
+ * @param store - The c15t store instance
16
+ * @param stateManager - Optional state manager for event logging
17
+ */
18
+ export declare function resetAllConsents(store: StoreApi<ConsentStoreState>, stateManager?: StateManager): Promise<void>;
19
+ /**
20
+ * Creates a reset handler function bound to a store connector
21
+ * This is a convenience wrapper for use in panel callbacks
22
+ */
23
+ export declare function createResetHandler(getStore: () => StoreApi<ConsentStoreState> | null, stateManager?: StateManager): () => Promise<void>;
24
+ //# sourceMappingURL=reset-consents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-consents.d.ts","sourceRoot":"","sources":["../../src/core/reset-consents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAuDpD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAClC,YAAY,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAClD,YAAY,CAAC,EAAE,YAAY,GACzB,MAAM,OAAO,CAAC,IAAI,CAAC,CAOrB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * DevTools State Manager
3
+ * Manages internal state for the DevTools UI
4
+ */
5
+ /**
6
+ * Position options for the DevTools panel
7
+ */
8
+ export type DevToolsPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
9
+ /**
10
+ * Available tabs in the DevTools
11
+ */
12
+ export type DevToolsTab = 'consents' | 'location' | 'scripts' | 'iab' | 'events' | 'actions';
13
+ /**
14
+ * Event log entry for debugging
15
+ */
16
+ export interface EventLogEntry {
17
+ id: string;
18
+ type: 'consent_set' | 'consent_save' | 'consent_reset' | 'error' | 'info';
19
+ message: string;
20
+ timestamp: number;
21
+ data?: Record<string, unknown>;
22
+ }
23
+ /**
24
+ * Internal state for DevTools
25
+ */
26
+ export interface DevToolsState {
27
+ /** Whether the panel is open */
28
+ isOpen: boolean;
29
+ /** Current active tab */
30
+ activeTab: DevToolsTab;
31
+ /** Position of the floating button and panel */
32
+ position: DevToolsPosition;
33
+ /** Whether the store is connected */
34
+ isConnected: boolean;
35
+ /** Event log for debugging */
36
+ eventLog: EventLogEntry[];
37
+ /** Maximum number of events to keep */
38
+ maxEventLogSize: number;
39
+ }
40
+ /**
41
+ * State change listener
42
+ */
43
+ export type StateListener = (state: DevToolsState, prevState: DevToolsState) => void;
44
+ /**
45
+ * Creates a state manager for DevTools
46
+ */
47
+ export declare function createStateManager(initialState?: Partial<DevToolsState>): StateManager;
48
+ /**
49
+ * State manager interface
50
+ */
51
+ export interface StateManager {
52
+ /** Get current state */
53
+ getState: () => DevToolsState;
54
+ /** Subscribe to state changes */
55
+ subscribe: (listener: StateListener) => () => void;
56
+ /** Set open state */
57
+ setOpen: (isOpen: boolean) => void;
58
+ /** Toggle open state */
59
+ toggle: () => void;
60
+ /** Set active tab */
61
+ setActiveTab: (tab: DevToolsTab) => void;
62
+ /** Set position */
63
+ setPosition: (position: DevToolsPosition) => void;
64
+ /** Set connection state */
65
+ setConnected: (isConnected: boolean) => void;
66
+ /** Add an event to the log */
67
+ addEvent: (entry: Omit<EventLogEntry, 'id' | 'timestamp'>) => void;
68
+ /** Clear the event log */
69
+ clearEventLog: () => void;
70
+ /** Cleanup */
71
+ destroy: () => void;
72
+ }
73
+ //# sourceMappingURL=state-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/core/state-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACzB,cAAc,GACd,aAAa,GACb,WAAW,GACX,UAAU,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,WAAW,GACpB,UAAU,GACV,UAAU,GACV,SAAS,GACT,KAAK,GACL,QAAQ,GACR,SAAS,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,SAAS,EAAE,WAAW,CAAC;IACvB,gDAAgD;IAChD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qCAAqC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC3B,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,aAAa,KACpB,IAAI,CAAC;AAEV;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,YAAY,GAAE,OAAO,CAAC,aAAa,CAAM,GACvC,YAAY,CAoFd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,iCAAiC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,IAAI,CAAC;IACnD,qBAAqB;IACrB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,wBAAwB;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,qBAAqB;IACrB,YAAY,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,mBAAmB;IACnB,WAAW,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,2BAA2B;IAC3B,YAAY,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,8BAA8B;IAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC;IACnE,0BAA0B;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Store Connector
3
+ * Connects to the c15tStore exposed on the window object
4
+ */
5
+ import type { ConsentStoreState } from 'c15t';
6
+ import type { StoreApi } from 'zustand/vanilla';
7
+ /**
8
+ * Options for creating a store connector
9
+ */
10
+ export interface StoreConnectorOptions {
11
+ /**
12
+ * The namespace used to access the store on the window object
13
+ * @default 'c15tStore'
14
+ */
15
+ namespace?: string;
16
+ /**
17
+ * Callback when the store becomes available
18
+ */
19
+ onConnect?: (state: ConsentStoreState, store: StoreApi<ConsentStoreState>) => void;
20
+ /**
21
+ * Callback when store state changes
22
+ */
23
+ onStateChange?: (state: ConsentStoreState) => void;
24
+ /**
25
+ * Callback when the store connection is lost or not found
26
+ */
27
+ onDisconnect?: () => void;
28
+ }
29
+ /**
30
+ * Store connector instance interface
31
+ */
32
+ export interface StoreConnector {
33
+ /**
34
+ * Get the current store state
35
+ * Returns null if store is not connected
36
+ */
37
+ getState: () => ConsentStoreState | null;
38
+ /**
39
+ * Get the raw store API
40
+ * Returns null if store is not connected
41
+ */
42
+ getStore: () => StoreApi<ConsentStoreState> | null;
43
+ /**
44
+ * Check if the store is connected
45
+ */
46
+ isConnected: () => boolean;
47
+ /**
48
+ * Subscribe to store state changes
49
+ * Returns unsubscribe function
50
+ */
51
+ subscribe: (listener: (state: ConsentStoreState) => void) => () => void;
52
+ /**
53
+ * Disconnect from the store and cleanup
54
+ */
55
+ destroy: () => void;
56
+ }
57
+ /**
58
+ * Creates a connector to the c15tStore
59
+ */
60
+ export declare function createStoreConnector(options?: StoreConnectorOptions): StoreConnector;
61
+ /**
62
+ * Get the store directly from the window object (one-time access)
63
+ */
64
+ export declare function getC15tStore(namespace?: string): StoreApi<ConsentStoreState> | null;
65
+ /**
66
+ * Check if the c15t store is available
67
+ */
68
+ export declare function isC15tStoreAvailable(namespace?: string): boolean;
69
+ //# sourceMappingURL=store-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-connector.d.ts","sourceRoot":"","sources":["../../src/core/store-connector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,CACX,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,KAC9B,IAAI,CAAC;IAEV;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEnD;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,QAAQ,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IAEzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAExE;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,GAAE,qBAA0B,GACjC,cAAc,CA4HhB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,SAAS,SAAc,GACrB,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAcpC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,SAAc,GAAG,OAAO,CAErE"}