@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 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 instance
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 plugin to the SDK
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 instance to the toolbar */}
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+ctk29/AY3VKH16CgAA\"}!../../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__) {
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/CCPcJ3YVb5mgQV2LCSNJIzdTv+9I4GBhDRNJn2yWXbvubqsdp062bwT7NeGscrowD39RMmyg70+30s9Ut0EyR6FiLXCKOMku4B74FxZnp557eDG90JsY0tJ3iq4SVYpTDqgqNacArZesgJ1QBfLNVjJTgOqJc17KkMjWcLEUcmy583vzW5wmSWX5oKuUqaXrKGyRB17A14Dn1+gUmQ9+fiqbygg9xYKlEyb3oFd0ybEPiFW9uMvL8lhEchoGSPoWj2d4B7W3fH6MC1c788FqOIhE+Ib4+yHsNftAv999R32g/Q7mR/GzNNUBS2p26JxUeWt0SYFkfr/R46T8UMy3oKrSXOFVZAsexqsf34XJtXHpNqM63cQYlCcDUIXTKz4whmlcnD8naBOQmxZcKC9BYc6vBwcv05oSC8dyCbSko8PQY4ryEJL8h7zMwU+SSXhET3egxyKc+1Mp0v5CSEemq7Nk9xS4G85JJBxJTruoKTOj0v8+uBfIx0/RnqL4aA4rxhvx/G0DDFerIi0xtNwVx0qCHTBxcQxTcwtkHujuoDpChg73tlhjdPfF+KzzGI5Zpv/WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA=\"}!../../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__) {
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: 85,
3878
+ ITEM_HEIGHT: 65,
3871
3879
  OVERSCAN: 5
3872
3880
  };
3873
- var WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_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/CCPcJ3YVb5mgQV2LCSNJIzdTv+9I4GBhDRNJn2yWXbvubqsdp062bwT7NeGscrowD39RMmyg70+30s9Ut0EyR6FiLXCKOMku4B74FxZnp557eDG90JsY0tJ3iq4SVYpTDqgqNacArZesgJ1QBfLNVjJTgOqJc17KkMjWcLEUcmy583vzW5wmSWX5oKuUqaXrKGyRB17A14Dn1+gUmQ9+fiqbygg9xYKlEyb3oFd0ybEPiFW9uMvL8lhEchoGSPoWj2d4B7W3fH6MC1c788FqOIhE+Ib4+yHsNftAv999R32g/Q7mR/GzNNUBS2p26JxUeWt0SYFkfr/R46T8UMy3oKrSXOFVZAsexqsf34XJtXHpNqM63cQYlCcDUIXTKz4whmlcnD8naBOQmxZcKC9BYc6vBwcv05oSC8dyCbSko8PQY4ryEJL8h7zMwU+SSXhET3egxyKc+1Mp0v5CSEemq7Nk9xS4G85JJBxJTruoKTOj0v8+uBfIx0/RnqL4aA4rxhvx/G0DDFerIi0xtNwVx0qCHTBxcQxTcwtkHujuoDpChg73tlhjdPfF+KzzGI5Zpv/WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA=\"}!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/extracted.js");
3874
- var WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options = {};
3875
- WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_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();
3876
- WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_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();
3877
- WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_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");
3878
- WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_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();
3879
- WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_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();
3880
- injectStylesIntoStyleTag_default()(WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A, WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options);
3881
- WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A && WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals && WsEEiQcZ4a8nmdjtPUPw0fEfr2SBGKAFAAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals;
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 AY3VKH16CgAA_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+ctk29/AY3VKH16CgAA\"}!../../node_modules/.pnpm/@vanilla-extract+webpack-plugin@2.3.22_webpack@5.101.3/node_modules/@vanilla-extract/webpack-plugin/extracted.js");
4528
- var AY3VKH16CgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options = {};
4529
- AY3VKH16CgAA_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();
4530
- AY3VKH16CgAA_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();
4531
- AY3VKH16CgAA_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");
4532
- AY3VKH16CgAA_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();
4533
- AY3VKH16CgAA_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();
4534
- injectStylesIntoStyleTag_default()(AY3VKH16CgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A, AY3VKH16CgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted_options);
4535
- AY3VKH16CgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A && AY3VKH16CgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals && AY3VKH16CgAA_node_modules_pnpm_vanilla_extract_webpack_plugin_2_3_22_webpack_5_101_3_node_modules_vanilla_extract_webpack_plugin_extracted.A.locals;
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 MAX_EVENTS = 100;
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 > MAX_EVENTS) this.events.splice(0, this.events.length - MAX_EVENTS);
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,
@@ -130,14 +130,18 @@ class FlagOverridePlugin {
130
130
  }
131
131
  }
132
132
  }
133
- const MAX_EVENTS = 100;
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 > MAX_EVENTS) this.events.splice(0, this.events.length - MAX_EVENTS);
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
@@ -19,3 +19,4 @@ export declare const liveTailIndicator: string;
19
19
  export declare const liveTailDot: string;
20
20
  export declare const liveTailText: string;
21
21
  export declare const liveTailSubtext: string;
22
+ export declare const eventListItem: string;
@@ -6,3 +6,4 @@ export declare const flagOptions: string;
6
6
  export declare const virtualContainer: string;
7
7
  export declare const virtualInner: string;
8
8
  export declare const virtualItem: string;
9
+ export declare const flagListItem: string;
@@ -1,4 +1,4 @@
1
1
  export declare const VIRTUALIZATION: {
2
- readonly ITEM_HEIGHT: 85;
2
+ readonly ITEM_HEIGHT: 65;
3
3
  readonly OVERSCAN: 5;
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchdarkly/toolbar",
3
- "version": "0.15.0-beta.1",
3
+ "version": "0.17.0-beta.1",
4
4
  "description": "A React component that provides a developer-friendly toolbar for interacting with LaunchDarkly during development",
5
5
  "keywords": [
6
6
  "launchdarkly",