@launchdarkly/toolbar 0.15.0-beta.1 → 0.17.0-beta.1
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/README.md +31 -5
- package/dist/hooks/EventStore.d.ts +6 -0
- package/dist/js/index.js +45 -26
- package/dist/js/plugins/index.js +10 -3
- package/dist/plugins/EventInterceptionPlugin.d.ts +2 -0
- package/dist/ui/Toolbar/TabContent/EventsTabContent.css.d.ts +1 -0
- package/dist/ui/Toolbar/TabContent/FlagDevServerTabContent.css.d.ts +1 -0
- package/dist/ui/Toolbar/constants/virtualization.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,10 +27,11 @@ pnpm add @launchdarkly/toolbar@next
|
|
|
27
27
|
```tsx
|
|
28
28
|
import { useEffect, useState } from 'react';
|
|
29
29
|
import { asyncWithLDProvider } from 'launchdarkly-react-client-sdk';
|
|
30
|
-
import { LaunchDarklyToolbar, FlagOverridePlugin } from '@launchdarkly/toolbar';
|
|
30
|
+
import { LaunchDarklyToolbar, FlagOverridePlugin, EventInterceptionPlugin } from '@launchdarkly/toolbar';
|
|
31
31
|
|
|
32
|
-
// Create the plugin
|
|
32
|
+
// Create the plugin instances
|
|
33
33
|
const flagOverridePlugin = new FlagOverridePlugin();
|
|
34
|
+
const eventInterceptionPlugin = new EventInterceptionPlugin();
|
|
34
35
|
|
|
35
36
|
function App() {
|
|
36
37
|
const [LDProvider, setLDProvider] = useState(null);
|
|
@@ -41,8 +42,8 @@ function App() {
|
|
|
41
42
|
clientSideID: 'your-client-side-id',
|
|
42
43
|
context: { key: 'user-key', name: 'User Name' },
|
|
43
44
|
options: {
|
|
44
|
-
// Pass the
|
|
45
|
-
plugins: [flagOverridePlugin],
|
|
45
|
+
// Pass the plugins to the SDK
|
|
46
|
+
plugins: [flagOverridePlugin, eventInterceptionPlugin],
|
|
46
47
|
},
|
|
47
48
|
});
|
|
48
49
|
setLDProvider(() => Provider);
|
|
@@ -59,7 +60,7 @@ function App() {
|
|
|
59
60
|
<LDProvider>
|
|
60
61
|
<div>
|
|
61
62
|
<h1>My App</h1>
|
|
62
|
-
{/* Pass the same plugin
|
|
63
|
+
{/* Pass the same plugin instances to the toolbar */}
|
|
63
64
|
<LaunchDarklyToolbar
|
|
64
65
|
flagOverridePlugin={flagOverridePlugin}
|
|
65
66
|
eventInterceptionPlugin={eventInterceptionPlugin}
|
|
@@ -169,6 +170,31 @@ function App() {
|
|
|
169
170
|
}
|
|
170
171
|
```
|
|
171
172
|
|
|
173
|
+
#### Event Interception Plugin
|
|
174
|
+
|
|
175
|
+
To track and display LaunchDarkly events (flag evaluations, custom events, etc.), add the `EventInterceptionPlugin`:
|
|
176
|
+
|
|
177
|
+
```tsx
|
|
178
|
+
import { EventInterceptionPlugin } from '@launchdarkly/toolbar';
|
|
179
|
+
|
|
180
|
+
// Create plugin with optional configuration
|
|
181
|
+
const eventInterceptionPlugin = new EventInterceptionPlugin({
|
|
182
|
+
eventCapacity: 250, // Maximum events to store (default: 100)
|
|
183
|
+
enableLogging: true, // Console logging for debugging (default: false)
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// Add to both SDK and toolbar
|
|
187
|
+
const Provider = await asyncWithLDProvider({
|
|
188
|
+
// ... other config
|
|
189
|
+
options: {
|
|
190
|
+
plugins: [flagOverridePlugin, eventInterceptionPlugin],
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
// Pass to toolbar
|
|
195
|
+
<LaunchDarklyToolbar flagOverridePlugin={flagOverridePlugin} eventInterceptionPlugin={eventInterceptionPlugin} />;
|
|
196
|
+
```
|
|
197
|
+
|
|
172
198
|
### Dev Server Mode
|
|
173
199
|
|
|
174
200
|
For teams using the LaunchDarkly CLI dev server, start it with CORS enabled:
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { ProcessedEvent } from '../types/events';
|
|
2
|
+
export interface EventStoreConfig {
|
|
3
|
+
/** Maximum number of events to store */
|
|
4
|
+
maxEvents?: number;
|
|
5
|
+
}
|
|
2
6
|
export declare class EventStore {
|
|
3
7
|
private events;
|
|
4
8
|
private listeners;
|
|
9
|
+
private maxEvents;
|
|
10
|
+
constructor(config?: EventStoreConfig);
|
|
5
11
|
addEvent(event: ProcessedEvent): void;
|
|
6
12
|
getEvents(): ProcessedEvent[];
|
|
7
13
|
subscribe(listener: () => void): () => void;
|
package/dist/js/index.js
CHANGED
|
@@ -874,7 +874,7 @@ var __webpack_modules__ = {
|
|
|
874
874
|
]);
|
|
875
875
|
const __WEBPACK_DEFAULT_EXPORT__ = ___CSS_LOADER_EXPORT___;
|
|
876
876
|
},
|
|
877
|
-
"../../node_modules/.pnpm/@rsbuild+core@1.5.6/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{\"fileName\":\"src/ui/Toolbar/TabContent/EventsTabContent.css.ts.vanilla.css\",\"source\":\"#H4sIAAAAAAAAA6VWX3OjIBB/76dgpnMzvQcyYjQx9OW+CuoSaRAcwCa5m373G9EarNo2d0+Jwu/PLsuuv05w5YbVYBGPVfxyFejPA0LRD/+DkG5YIdyVIvLsn51hynJtaopswSQ8kZ/dwtsDQukcFG22a7BNPAJJdL/c28Om9xt5ZMPKUqgjRVlzQXHUXLpduTYlGJxr53RNEWkuyGopSvTKzBPGssGFltrgo2FXvI8iT52z4nQ0ulVlv0oXd2d+92iCeBNcK4et+A0Ukbi38AlFMgh61BnEsXIUpVEU0MY9rYTLkJBS2EayK/Xvnoc1XAoDhRNa0U6vrVW3cmQNRUnvohYKn0XpKoqi7lm/guFSnymqRFmC318zcxQKm94H2XXI0ch2Ft/APDGfRNEXMcdDzEsGHFwcvi2AlKKxwnZL50o4wLZhBVCk9NmwZh7WaDb558MYKdIZBVmIN+3jHWsvbi5oNyk9w0rR2vEcfIhBSbdNA6ZgFrpFCc6B8VF6tmiTTs5g5z3Ny/Mx2qU82QUBPpaEM0gD7H4NS2DLMjbB5sA4BNhsDZvkabrbhli+5QnfBdjDGvZwIDnJJ1goWMECLFvDphkpsn2IhUOZch5g81Vdtk1IPNUt9yzULdaw231CUjLRTWEPeYAtPba63Yf+3G9VzVqnuze2MFrKnJmvmkzfARtmQLkpcKh8VwkVOqBVp+Z9fEtkPxMJuCg+Q34SDo9UnniQzoZaH1NF7yDCrmrrj+f0WbNdvlQfA/8/pf33lJY0DCtOM43ldECYxG74+S6ireh7uAHJnHgN7yDvh9y4heVWy9b5vuF0M7R1CdwNfyfkN5qgOO6Zc8McHsQ/IlG0iS0C38ZGqaMXuWNeMSmOCgsHtaWoAOXAdK9fWusEv+JCKwfKhUuza+ZH3v3Nvlq2umIoEBkZXhZuxbu7bHEgpP2hL3XkKD9kvsswJWrWp+n904xs0j7TWCisW4eE4kIJF2b+NJtdu/XZ9UmWttMsybVPgE8o0vfq6eaez+
|
|
877
|
+
"../../node_modules/.pnpm/@rsbuild+core@1.5.6/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{\"fileName\":\"src/ui/Toolbar/TabContent/EventsTabContent.css.ts.vanilla.css\",\"source\":\"#H4sIAAAAAAAAA6VWX3OjIBB/76dgpnMzvQcyYjQx9OW+CuoSaRAcwCa5m373G9EarNo2d0+Jwu/PLsuuv05w5YbVYBGPVfxyFejPA0LRD/+DkG5YIdyVIvLsn51hynJtaopswSQ8kZ/dwtsDQukcFG22a7BNPAJJdL/c28Om9xt5ZMPKUqgjRVlzQXHUXLpduTYlGJxr53RNEWkuyGopSvTKzBPGssGFltrgo2FXvI8iT52z4nQ0ulVlv0oXd2d+92iCeBNcK4et+A0Ukbi38AlFMgh61BnEsXIUpVEU0MY9rYTLkJBS2EayK/Xvnoc1XAoDhRNa0U6vrVW3cmQNRUnvohYKn0XpKoqi7lm/guFSnymqRFmC318zcxQKm94H2XXI0ch2Ft/APDGfRNEXMcdDzEsGHFwcvi2AlKKxwnZL50o4wLZhBVCk9NmwZh7WaDb558MYKdIZBVmIN+3jHWsvbi5oNyk9w0rR2vEcfIhBSbdNA6ZgFrpFCc6B8VF6tmiTTs5g5z3Ny/Mx2qU82QUBPpaEM0gD7H4NS2DLMjbB5sA4BNhsDZvkabrbhli+5QnfBdjDGvZwIDnJJ1goWMECLFvDphkpsn2IhUOZch5g81Vdtk1IPNUt9yzULdaw231CUjLRTWEPeYAtPba63Yf+3G9VzVqnuze2MFrKnJmvmkzfARtmQLkpcKh8VwkVOqBVp+Z9fEtkPxMJuCg+Q34SDo9UnniQzoZaH1NF7yDCrmrrj+f0WbNdvlQfA/8/pf33lJY0DCtOM43ldECYxG74+S6ireh7uAHJnHgN7yDvh9y4heVWy9b5vuF0M7R1CdwNfyfkN5qgOO6Zc8McHsQ/IlG0iS0C38ZGqaMXuWNeMSmOCgsHtaWoAOXAdK9fWusEv+JCKwfKhUuza+ZH3v3Nvlq2umIoEBkZXhZuxbu7bHEgpP2hL3XkKD9kvsswJWrWp+n904xs0j7TWCisW4eE4kIJF2b+NJtdu/XZ9UmWttMsybVPgE8o0vfq6eaez+ctkyNxPemZQ8X+BXlJS0CXCgAA\"}!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/extracted.js": function(module, __webpack_exports__, __webpack_require__) {
|
|
878
878
|
__webpack_require__.d(__webpack_exports__, {
|
|
879
879
|
A: ()=>__WEBPACK_DEFAULT_EXPORT__
|
|
880
880
|
});
|
|
@@ -1065,12 +1065,16 @@ var __webpack_modules__ = {
|
|
|
1065
1065
|
text-align: center;
|
|
1066
1066
|
font-size: 14px;
|
|
1067
1067
|
}
|
|
1068
|
+
|
|
1069
|
+
.f2n2jym {
|
|
1070
|
+
height: 100%;
|
|
1071
|
+
}
|
|
1068
1072
|
`,
|
|
1069
1073
|
""
|
|
1070
1074
|
]);
|
|
1071
1075
|
const __WEBPACK_DEFAULT_EXPORT__ = ___CSS_LOADER_EXPORT___;
|
|
1072
1076
|
},
|
|
1073
|
-
"../../node_modules/.pnpm/@rsbuild+core@1.5.6/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{\"fileName\":\"src/ui/Toolbar/TabContent/FlagDevServerTabContent.css.ts.vanilla.css\",\"source\":\"#H4sIAAAAAAAAA62T0XKbMBBF3/0VeulM/
|
|
1077
|
+
"../../node_modules/.pnpm/@rsbuild+core@1.5.6/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{\"fileName\":\"src/ui/Toolbar/TabContent/FlagDevServerTabContent.css.ts.vanilla.css\",\"source\":\"#H4sIAAAAAAAAA62T0XKbMBBF3/0VeulM/CCPcJ3YVb5mgQV2LCSNJIydTP+9I4ENDmmaTPpks2jvubrsbjp1sHkn2OuKscrowD29oGTZzp6fr6UeqW6CZI9CxFphlHGSncA9cK4sT8+8dnDhWyHW8UhJ3iq4SFYpTDqgqNacArZesgJ1QBfLNVjJDgOqJc17KkMjWcLEVsmy59Xv1WZwmSWX5oSuUqaXrKGyRB3PBjwHPr1Apch68vFV31BA7i0UKJk2vQO7pN0Q24RY2I+/vCSHRSCjZYyga/XtBtewro6Xl2nhfH0uQBUPmRA/GGe/hD2vZ/ifi++wHaQ/yHw3Zp66KmhJXWYHZ1XeGm1SEOn8/8jxZnyXjLfgatJcYRUky54G61+fhZvqY1JtxvHbCTEoTgahCyZWfOGMUjk4/kFQByHWLDjQ3oJDHe4bx68TGtJzB7KJtOTjU5D9AjLTkrzH/EiB36SS8Ige9yCH4lg70+lSfkGIh6Zr8yQ3F/hbDglkXImOOyip8+MQv73490j7z5HeYzgojgvG+3E8zUOMixWR1ngadtWhgkAnnHXsU8d0BHJvVBcwrYCx484OY5z+3olPMrPhmGz+awQTJF5khL/tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA=\"}!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/extracted.js": function(module, __webpack_exports__, __webpack_require__) {
|
|
1074
1078
|
__webpack_require__.d(__webpack_exports__, {
|
|
1075
1079
|
A: ()=>__WEBPACK_DEFAULT_EXPORT__
|
|
1076
1080
|
});
|
|
@@ -1170,6 +1174,10 @@ var __webpack_modules__ = {
|
|
|
1170
1174
|
background-color: var(--lp-color-gray-800);
|
|
1171
1175
|
transition: background-color .2s;
|
|
1172
1176
|
}
|
|
1177
|
+
|
|
1178
|
+
.ul8pbu8 {
|
|
1179
|
+
height: 100%;
|
|
1180
|
+
}
|
|
1173
1181
|
`,
|
|
1174
1182
|
""
|
|
1175
1183
|
]);
|
|
@@ -3867,18 +3875,18 @@ const ActionButtonsContainer = ({ children })=>/*#__PURE__*/ jsx("div", {
|
|
|
3867
3875
|
children: children
|
|
3868
3876
|
});
|
|
3869
3877
|
const VIRTUALIZATION = {
|
|
3870
|
-
ITEM_HEIGHT:
|
|
3878
|
+
ITEM_HEIGHT: 65,
|
|
3871
3879
|
OVERSCAN: 5
|
|
3872
3880
|
};
|
|
3873
|
-
var
|
|
3874
|
-
var
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
injectStylesIntoStyleTag_default()(
|
|
3881
|
-
|
|
3881
|
+
var tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted = __webpack_require__("../../node_modules/.pnpm/@rsbuild+core@1.5.6/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{\"fileName\":\"src/ui/Toolbar/TabContent/FlagDevServerTabContent.css.ts.vanilla.css\",\"source\":\"#H4sIAAAAAAAAA62T0XKbMBBF3/0VeulM/CCPcJ3YVb5mgQV2LCSNJIydTP+9I4ENDmmaTPpks2jvubrsbjp1sHkn2OuKscrowD29oGTZzp6fr6UeqW6CZI9CxFphlHGSncA9cK4sT8+8dnDhWyHW8UhJ3iq4SFYpTDqgqNacArZesgJ1QBfLNVjJDgOqJc17KkMjWcLEVsmy59Xv1WZwmSWX5oSuUqaXrKGyRB3PBjwHPr1Apch68vFV31BA7i0UKJk2vQO7pN0Q24RY2I+/vCSHRSCjZYyga/XtBtewro6Xl2nhfH0uQBUPmRA/GGe/hD2vZ/ifi++wHaQ/yHw3Zp66KmhJXWYHZ1XeGm1SEOn8/8jxZnyXjLfgatJcYRUky54G61+fhZvqY1JtxvHbCTEoTgahCyZWfOGMUjk4/kFQByHWLDjQ3oJDHe4bx68TGtJzB7KJtOTjU5D9AjLTkrzH/EiB36SS8Ige9yCH4lg70+lSfkGIh6Zr8yQ3F/hbDglkXImOOyip8+MQv73490j7z5HeYzgojgvG+3E8zUOMixWR1ngadtWhgkAnnHXsU8d0BHJvVBcwrYCx484OY5z+3olPMrPhmGz+awQTJF5khL/tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA=\"}!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/extracted.js");
|
|
3882
|
+
var tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options = {};
|
|
3883
|
+
tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.styleTagTransform = styleTagTransform_default();
|
|
3884
|
+
tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.setAttributes = setAttributesWithoutAttributes_default();
|
|
3885
|
+
tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.insert = insertBySelector_default().bind(null, "head");
|
|
3886
|
+
tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.domAPI = styleDomAPI_default();
|
|
3887
|
+
tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.insertStyleElement = insertStyleElement_default();
|
|
3888
|
+
injectStylesIntoStyleTag_default()(tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A, tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options);
|
|
3889
|
+
tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A && tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals && tZGKz9QzBzx0f7jZh9PEHE0i8570FAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals;
|
|
3882
3890
|
var flagName = 'ul8pbu0';
|
|
3883
3891
|
var virtualContainer = 'ul8pbu5';
|
|
3884
3892
|
var flagHeader = 'ul8pbu2';
|
|
@@ -3886,6 +3894,7 @@ var FlagDevServerTabContent_css_flagKey = 'ul8pbu3';
|
|
|
3886
3894
|
var flagOptions = 'ul8pbu4';
|
|
3887
3895
|
var virtualInner = 'ul8pbu6';
|
|
3888
3896
|
var FlagDevServerTabContent_css_virtualItem = 'ul8pbu7';
|
|
3897
|
+
var flagListItem = 'ul8pbu8';
|
|
3889
3898
|
var flagNameText = 'ul8pbu1';
|
|
3890
3899
|
function FlagDevServerTabContent() {
|
|
3891
3900
|
const { searchTerm } = useSearchContext();
|
|
@@ -4432,6 +4441,7 @@ function FlagSdkOverrideTabContentInner(props) {
|
|
|
4432
4441
|
},
|
|
4433
4442
|
"data-testid": `flag-row-${flagKey}`,
|
|
4434
4443
|
children: /*#__PURE__*/ jsxs(ListItem, {
|
|
4444
|
+
className: flagListItem,
|
|
4435
4445
|
children: [
|
|
4436
4446
|
/*#__PURE__*/ jsxs("div", {
|
|
4437
4447
|
className: flagHeader,
|
|
@@ -4524,24 +4534,25 @@ function isDoNotTrackEnabled() {
|
|
|
4524
4534
|
if ('undefined' != typeof window && window.navigator) flag = void 0 !== window.navigator.doNotTrack ? window.navigator.doNotTrack : void 0 !== window.navigator.msDoNotTrack ? window.navigator.msDoNotTrack : window.doNotTrack;
|
|
4525
4535
|
return 1 === flag || true === flag || '1' === flag || 'yes' === flag;
|
|
4526
4536
|
}
|
|
4527
|
-
var
|
|
4528
|
-
var
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
injectStylesIntoStyleTag_default()(
|
|
4535
|
-
|
|
4537
|
+
var XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted = __webpack_require__("../../node_modules/.pnpm/@rsbuild+core@1.5.6/node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[2].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{\"fileName\":\"src/ui/Toolbar/TabContent/EventsTabContent.css.ts.vanilla.css\",\"source\":\"#H4sIAAAAAAAAA6VWX3OjIBB/76dgpnMzvQcyYjQx9OW+CuoSaRAcwCa5m373G9EarNo2d0+Jwu/PLsuuv05w5YbVYBGPVfxyFejPA0LRD/+DkG5YIdyVIvLsn51hynJtaopswSQ8kZ/dwtsDQukcFG22a7BNPAJJdL/c28Om9xt5ZMPKUqgjRVlzQXHUXLpduTYlGJxr53RNEWkuyGopSvTKzBPGssGFltrgo2FXvI8iT52z4nQ0ulVlv0oXd2d+92iCeBNcK4et+A0Ukbi38AlFMgh61BnEsXIUpVEU0MY9rYTLkJBS2EayK/Xvnoc1XAoDhRNa0U6vrVW3cmQNRUnvohYKn0XpKoqi7lm/guFSnymqRFmC318zcxQKm94H2XXI0ch2Ft/APDGfRNEXMcdDzEsGHFwcvi2AlKKxwnZL50o4wLZhBVCk9NmwZh7WaDb558MYKdIZBVmIN+3jHWsvbi5oNyk9w0rR2vEcfIhBSbdNA6ZgFrpFCc6B8VF6tmiTTs5g5z3Ny/Mx2qU82QUBPpaEM0gD7H4NS2DLMjbB5sA4BNhsDZvkabrbhli+5QnfBdjDGvZwIDnJJ1goWMECLFvDphkpsn2IhUOZch5g81Vdtk1IPNUt9yzULdaw231CUjLRTWEPeYAtPba63Yf+3G9VzVqnuze2MFrKnJmvmkzfARtmQLkpcKh8VwkVOqBVp+Z9fEtkPxMJuCg+Q34SDo9UnniQzoZaH1NF7yDCrmrrj+f0WbNdvlQfA/8/pf33lJY0DCtOM43ldECYxG74+S6ireh7uAHJnHgN7yDvh9y4heVWy9b5vuF0M7R1CdwNfyfkN5qgOO6Zc8McHsQ/IlG0iS0C38ZGqaMXuWNeMSmOCgsHtaWoAOXAdK9fWusEv+JCKwfKhUuza+ZH3v3Nvlq2umIoEBkZXhZuxbu7bHEgpP2hL3XkKD9kvsswJWrWp+n904xs0j7TWCisW4eE4kIJF2b+NJtdu/XZ9UmWttMsybVPgE8o0vfq6eaez+ctkyNxPemZQ8X+BXlJS0CXCgAA\"}!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/extracted.js");
|
|
4538
|
+
var XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options = {};
|
|
4539
|
+
XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.styleTagTransform = styleTagTransform_default();
|
|
4540
|
+
XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.setAttributes = setAttributesWithoutAttributes_default();
|
|
4541
|
+
XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.insert = insertBySelector_default().bind(null, "head");
|
|
4542
|
+
XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.domAPI = styleDomAPI_default();
|
|
4543
|
+
XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options.insertStyleElement = insertStyleElement_default();
|
|
4544
|
+
injectStylesIntoStyleTag_default()(XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A, XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options);
|
|
4545
|
+
XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A && XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals && XZ9UmWttMsybVPgE8o0vfq6eaez_ctkyNxPemZQ8X_BXlJS0CXCgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals;
|
|
4536
4546
|
var EventsTabContent_css_virtualContainer = 'f2n2jyd';
|
|
4547
|
+
var eventListItem = 'f2n2jym';
|
|
4537
4548
|
var eventName = 'f2n2jy3';
|
|
4538
4549
|
var eventBadgeIdentify = 'f2n2jy7 f2n2jy5';
|
|
4539
4550
|
var eventMeta = 'f2n2jy4';
|
|
4540
4551
|
var liveTailText = 'f2n2jyk';
|
|
4541
|
-
var liveTailIndicator = 'f2n2jyh';
|
|
4542
|
-
var eventBadgeCustom = 'f2n2jy8 f2n2jy5';
|
|
4543
4552
|
var eventBadgeFeature = 'f2n2jy6 f2n2jy5';
|
|
4553
|
+
var eventBadgeCustom = 'f2n2jy8 f2n2jy5';
|
|
4544
4554
|
var eventBadgeSummary = 'f2n2jya f2n2jy5';
|
|
4555
|
+
var liveTailIndicator = 'f2n2jyh';
|
|
4545
4556
|
var liveTailSubtext = 'f2n2jyl';
|
|
4546
4557
|
var statsText = 'f2n2jy1';
|
|
4547
4558
|
var liveTailContainer = 'f2n2jyg';
|
|
@@ -4734,6 +4745,7 @@ function EventsTabContent(props) {
|
|
|
4734
4745
|
cursor: 'pointer'
|
|
4735
4746
|
},
|
|
4736
4747
|
children: /*#__PURE__*/ jsxs(ListItem, {
|
|
4748
|
+
className: eventListItem,
|
|
4737
4749
|
onClick: ()=>{
|
|
4738
4750
|
console.group(`📝 Event Details: [kind: ${event.kind}, displayName: ${event.displayName}]`);
|
|
4739
4751
|
console.table(event);
|
|
@@ -5722,14 +5734,18 @@ class FlagOverridePlugin {
|
|
|
5722
5734
|
}
|
|
5723
5735
|
}
|
|
5724
5736
|
}
|
|
5725
|
-
const
|
|
5737
|
+
const DEFAULT_MAX_EVENTS = 100;
|
|
5726
5738
|
class EventStore {
|
|
5727
5739
|
events = [];
|
|
5728
5740
|
listeners = new Set();
|
|
5741
|
+
maxEvents;
|
|
5742
|
+
constructor(config = {}){
|
|
5743
|
+
this.maxEvents = config.maxEvents ?? DEFAULT_MAX_EVENTS;
|
|
5744
|
+
}
|
|
5729
5745
|
addEvent(event) {
|
|
5730
5746
|
try {
|
|
5731
5747
|
this.events.push(event);
|
|
5732
|
-
if (this.events.length >
|
|
5748
|
+
if (this.events.length > this.maxEvents) this.events.splice(0, this.events.length - this.maxEvents);
|
|
5733
5749
|
this.notifyListeners();
|
|
5734
5750
|
} catch (error) {
|
|
5735
5751
|
console.warn('Event store error:', error);
|
|
@@ -5963,9 +5979,12 @@ class EventInterceptionPlugin {
|
|
|
5963
5979
|
constructor(config = {}){
|
|
5964
5980
|
this.config = {
|
|
5965
5981
|
enableLogging: false,
|
|
5982
|
+
eventCapacity: 100,
|
|
5966
5983
|
...config
|
|
5967
5984
|
};
|
|
5968
|
-
this.eventStore = new EventStore(
|
|
5985
|
+
this.eventStore = new EventStore({
|
|
5986
|
+
maxEvents: this.config.eventCapacity
|
|
5987
|
+
});
|
|
5969
5988
|
const onNewEvent = (event)=>{
|
|
5970
5989
|
if (this.config.enableLogging) console.log('🎯 Event intercepted:', {
|
|
5971
5990
|
kind: event.kind,
|
package/dist/js/plugins/index.js
CHANGED
|
@@ -130,14 +130,18 @@ class FlagOverridePlugin {
|
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
const
|
|
133
|
+
const DEFAULT_MAX_EVENTS = 100;
|
|
134
134
|
class EventStore {
|
|
135
135
|
events = [];
|
|
136
136
|
listeners = new Set();
|
|
137
|
+
maxEvents;
|
|
138
|
+
constructor(config = {}){
|
|
139
|
+
this.maxEvents = config.maxEvents ?? DEFAULT_MAX_EVENTS;
|
|
140
|
+
}
|
|
137
141
|
addEvent(event) {
|
|
138
142
|
try {
|
|
139
143
|
this.events.push(event);
|
|
140
|
-
if (this.events.length >
|
|
144
|
+
if (this.events.length > this.maxEvents) this.events.splice(0, this.events.length - this.maxEvents);
|
|
141
145
|
this.notifyListeners();
|
|
142
146
|
} catch (error) {
|
|
143
147
|
console.warn('Event store error:', error);
|
|
@@ -371,9 +375,12 @@ class EventInterceptionPlugin {
|
|
|
371
375
|
constructor(config = {}){
|
|
372
376
|
this.config = {
|
|
373
377
|
enableLogging: false,
|
|
378
|
+
eventCapacity: 100,
|
|
374
379
|
...config
|
|
375
380
|
};
|
|
376
|
-
this.eventStore = new EventStore(
|
|
381
|
+
this.eventStore = new EventStore({
|
|
382
|
+
maxEvents: this.config.eventCapacity
|
|
383
|
+
});
|
|
377
384
|
const onNewEvent = (event)=>{
|
|
378
385
|
if (this.config.enableLogging) console.log('🎯 Event intercepted:', {
|
|
379
386
|
kind: event.kind,
|
|
@@ -9,6 +9,8 @@ export interface EventInterceptionPluginConfig {
|
|
|
9
9
|
filter?: EventFilter;
|
|
10
10
|
/** Enable console logging for debugging */
|
|
11
11
|
enableLogging?: boolean;
|
|
12
|
+
/** Maximum number of events to store. The default value is 100. */
|
|
13
|
+
eventCapacity?: number;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Plugin dedicated to intercepting and processing LaunchDarkly events
|
package/package.json
CHANGED