@launchdarkly/toolbar 2.0.0-beta.1 → 2.3.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.
Files changed (158) hide show
  1. package/README.md +6 -4
  2. package/cdn/toolbar.min.js +339 -9
  3. package/dist/core/services/DevServerClient.d.ts +2 -6
  4. package/dist/core/types/devServer.d.ts +2 -3
  5. package/dist/core/ui/{Toolbar/components → Buttons}/StarButton.css.d.ts +1 -0
  6. package/dist/core/ui/Toolbar/LaunchDarklyToolbar.d.ts +0 -1
  7. package/dist/core/ui/Toolbar/components/FlagKeyWithCopy.css.d.ts +4 -0
  8. package/dist/core/ui/Toolbar/components/FlagKeyWithCopy.d.ts +6 -0
  9. package/dist/core/ui/Toolbar/components/icons/ChartHistogram.d.ts +5 -0
  10. package/dist/core/ui/Toolbar/components/icons/ChipAiIcon.d.ts +5 -0
  11. package/dist/core/ui/Toolbar/components/icons/ClickIcon.d.ts +5 -0
  12. package/dist/core/ui/Toolbar/components/icons/CursorIcon.d.ts +7 -0
  13. package/dist/core/ui/Toolbar/components/icons/ExternalLinkIcon.d.ts +6 -0
  14. package/dist/core/ui/Toolbar/components/icons/FilterTuneIcon.d.ts +5 -0
  15. package/dist/core/ui/Toolbar/components/icons/FlaskIcon.d.ts +5 -0
  16. package/dist/core/ui/Toolbar/components/icons/Icon.css.d.ts +1 -0
  17. package/dist/core/ui/Toolbar/components/icons/InfoIcon.d.ts +5 -0
  18. package/dist/core/ui/Toolbar/components/icons/index.d.ts +8 -0
  19. package/dist/core/ui/Toolbar/components/index.d.ts +2 -4
  20. package/dist/core/ui/Toolbar/components/{ExpandedToolbarContent.d.ts → legacy/ExpandedToolbarContentLegacy.d.ts} +3 -3
  21. package/dist/core/ui/Toolbar/components/{FlagControls.d.ts → legacy/FlagControls.d.ts} +1 -1
  22. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/Header.d.ts +1 -1
  23. package/dist/core/ui/Toolbar/components/{LocalFlagControls.d.ts → legacy/LocalFlagControls.d.ts} +2 -2
  24. package/dist/core/ui/Toolbar/components/{LocalObjectFlagControlListItem.d.ts → legacy/LocalObjectFlagControlListItem.d.ts} +2 -2
  25. package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/EventsTabContent.d.ts +1 -1
  26. package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/FlagSdkOverrideTabContent.d.ts +1 -1
  27. package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/SettingsTabContent.d.ts +1 -1
  28. package/dist/core/ui/Toolbar/components/{TabContentRenderer.d.ts → legacy/TabContentRenderer.d.ts} +2 -2
  29. package/dist/core/ui/Toolbar/components/legacy/index.d.ts +1 -0
  30. package/dist/core/ui/Toolbar/components/new/ContentActions.d.ts +1 -0
  31. package/dist/core/ui/Toolbar/components/new/ContentActions.module.css.d.ts +4 -0
  32. package/dist/core/ui/Toolbar/components/new/ContentRenderer.d.ts +1 -0
  33. package/dist/core/ui/Toolbar/components/new/ExpandedToolbarContent.d.ts +9 -0
  34. package/dist/core/ui/Toolbar/components/new/ExpandedToolbarContent.module.css.d.ts +2 -0
  35. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagControls.d.ts +37 -0
  36. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagControls.module.css.d.ts +9 -0
  37. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagItem.d.ts +11 -0
  38. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagItem.module.css.d.ts +18 -0
  39. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagList.d.ts +1 -0
  40. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagList.module.css.d.ts +5 -0
  41. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagListContent.d.ts +1 -0
  42. package/dist/core/ui/Toolbar/components/new/FeatureFlags/types.d.ts +9 -0
  43. package/dist/core/ui/Toolbar/components/new/FilterOverlay/FilterOverlay.d.ts +11 -0
  44. package/dist/core/ui/Toolbar/components/new/FilterOverlay/FilterOverlay.module.css.d.ts +16 -0
  45. package/dist/core/ui/Toolbar/components/new/FilterOverlay/index.d.ts +1 -0
  46. package/dist/core/ui/Toolbar/components/new/Header/ToolbarHeader.d.ts +7 -0
  47. package/dist/core/ui/Toolbar/components/new/Header/ToolbarHeader.module.css.d.ts +6 -0
  48. package/dist/core/ui/Toolbar/components/new/IconBar/IconBar.d.ts +6 -0
  49. package/dist/core/ui/Toolbar/components/new/IconBar/IconBar.module.css.d.ts +6 -0
  50. package/dist/core/ui/Toolbar/components/new/Interactive/InteractiveContent.d.ts +1 -0
  51. package/dist/core/ui/Toolbar/components/new/Interactive/InteractiveContent.module.css.d.ts +4 -0
  52. package/dist/core/ui/Toolbar/components/new/Interactive/InteractiveWrapper.d.ts +10 -0
  53. package/dist/core/ui/Toolbar/components/new/Interactive/MCPSetupAlert.d.ts +10 -0
  54. package/dist/core/ui/Toolbar/components/new/Interactive/MCPSetupAlert.module.css.d.ts +12 -0
  55. package/dist/core/ui/Toolbar/components/new/Interactive/SelectedElementInfo.d.ts +1 -0
  56. package/dist/core/ui/Toolbar/components/new/Interactive/SelectedElementInfo.module.css.d.ts +21 -0
  57. package/dist/core/ui/Toolbar/components/new/Interactive/SelectionModeBar.d.ts +1 -0
  58. package/dist/core/ui/Toolbar/components/new/Interactive/SelectionOverlay.d.ts +2 -0
  59. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowCard.d.ts +13 -0
  60. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowCard.module.css.d.ts +27 -0
  61. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowSection.d.ts +6 -0
  62. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowSection.module.css.d.ts +5 -0
  63. package/dist/core/ui/Toolbar/components/new/Interactive/index.d.ts +9 -0
  64. package/dist/core/ui/Toolbar/components/new/Interactive/utils/elementUtils.d.ts +56 -0
  65. package/dist/core/ui/Toolbar/components/new/Interactive/utils/ideLinks.d.ts +58 -0
  66. package/dist/core/ui/Toolbar/components/new/Interactive/utils/promptBuilder.d.ts +26 -0
  67. package/dist/core/ui/Toolbar/components/new/Interactive/utils/throttle.d.ts +10 -0
  68. package/dist/core/ui/Toolbar/components/new/Interactive/workflowConfigs.d.ts +36 -0
  69. package/dist/core/ui/Toolbar/components/new/Monitoring/EventsContent.d.ts +1 -0
  70. package/dist/core/ui/Toolbar/components/new/Monitoring/EventsContent.module.css.d.ts +25 -0
  71. package/dist/core/ui/Toolbar/components/new/SearchSection.d.ts +8 -0
  72. package/dist/core/ui/Toolbar/components/new/SearchSection.module.css.d.ts +3 -0
  73. package/dist/core/ui/Toolbar/components/new/Settings/ConnectionStatus.d.ts +5 -0
  74. package/dist/core/ui/Toolbar/components/new/Settings/ConnectionStatus.module.css.d.ts +6 -0
  75. package/dist/core/ui/Toolbar/components/new/Settings/EnvironmentSelector.d.ts +1 -0
  76. package/dist/core/ui/Toolbar/components/new/Settings/GeneralSettings.d.ts +1 -0
  77. package/dist/core/ui/Toolbar/components/new/Settings/LogoutButton.d.ts +1 -0
  78. package/dist/core/ui/Toolbar/components/new/Settings/LogoutButton.module.css.d.ts +1 -0
  79. package/dist/core/ui/Toolbar/components/new/Settings/PositionSelector.d.ts +6 -0
  80. package/dist/core/ui/Toolbar/components/new/Settings/ProjectSelector.d.ts +1 -0
  81. package/dist/core/ui/Toolbar/components/new/Settings/SettingsContent.d.ts +1 -0
  82. package/dist/core/ui/Toolbar/components/new/Settings/SettingsContent.module.css.d.ts +3 -0
  83. package/dist/core/ui/Toolbar/components/new/Settings/SettingsItem.d.ts +8 -0
  84. package/dist/core/ui/Toolbar/components/new/Settings/SettingsItem.module.css.d.ts +6 -0
  85. package/dist/core/ui/Toolbar/components/new/Settings/SettingsSection.d.ts +7 -0
  86. package/dist/core/ui/Toolbar/components/new/Settings/SettingsSection.module.css.d.ts +3 -0
  87. package/dist/core/ui/Toolbar/components/new/Settings/index.d.ts +8 -0
  88. package/dist/core/ui/Toolbar/components/new/SubtabDropdown.d.ts +8 -0
  89. package/dist/core/ui/Toolbar/components/new/SubtabDropdown.module.css.d.ts +10 -0
  90. package/dist/core/ui/Toolbar/components/new/TabBar.d.ts +1 -0
  91. package/dist/core/ui/Toolbar/components/new/TabBar.module.css.d.ts +4 -0
  92. package/dist/core/ui/Toolbar/components/new/Tooltip.d.ts +7 -0
  93. package/dist/core/ui/Toolbar/components/new/Tooltip.module.css.d.ts +2 -0
  94. package/dist/core/ui/Toolbar/components/new/context/ActiveSubtabProvider.d.ts +12 -0
  95. package/dist/core/ui/Toolbar/components/new/context/FiltersProvider.d.ts +41 -0
  96. package/dist/core/ui/Toolbar/components/new/context/TabSearchProvider.d.ts +10 -0
  97. package/dist/core/ui/Toolbar/components/new/context/index.d.ts +3 -0
  98. package/dist/core/ui/Toolbar/components/new/index.d.ts +10 -0
  99. package/dist/core/ui/Toolbar/components/new/types.d.ts +16 -0
  100. package/dist/core/ui/Toolbar/constants/virtualization.d.ts +1 -0
  101. package/dist/core/ui/Toolbar/context/ElementSelectionProvider.d.ts +52 -0
  102. package/dist/core/ui/Toolbar/context/FlagSdkOverrideProvider.d.ts +5 -1
  103. package/dist/core/ui/Toolbar/context/api/ApiBundleProvider.d.ts +8 -0
  104. package/dist/core/ui/Toolbar/context/{ApiProvider.d.ts → api/ApiProvider.d.ts} +1 -2
  105. package/dist/core/ui/Toolbar/context/{AuthProvider.d.ts → api/AuthProvider.d.ts} +3 -3
  106. package/dist/core/ui/Toolbar/context/api/EnvironmentProvider.d.ts +12 -0
  107. package/dist/core/ui/Toolbar/context/{FlagsProvider.d.ts → api/FlagsProvider.d.ts} +4 -4
  108. package/dist/core/ui/Toolbar/context/{ProjectProvider.d.ts → api/ProjectProvider.d.ts} +4 -3
  109. package/dist/core/ui/Toolbar/context/api/index.d.ts +7 -0
  110. package/dist/core/ui/Toolbar/context/index.d.ts +7 -7
  111. package/dist/core/ui/Toolbar/context/{ActiveTabProvider.d.ts → state/ActiveTabProvider.d.ts} +3 -3
  112. package/dist/core/ui/Toolbar/context/state/PluginsProvider.d.ts +16 -0
  113. package/dist/core/ui/Toolbar/context/{SearchProvider.d.ts → state/SearchProvider.d.ts} +2 -2
  114. package/dist/core/ui/Toolbar/context/state/ToolbarStateBundleProvider.d.ts +13 -0
  115. package/dist/core/ui/Toolbar/{hooks/useToolbarState.d.ts → context/state/ToolbarStateProvider.d.ts} +11 -7
  116. package/dist/core/ui/Toolbar/context/{ToolbarUIProvider.d.ts → state/ToolbarUIProvider.d.ts} +1 -1
  117. package/dist/core/ui/Toolbar/context/state/index.d.ts +6 -0
  118. package/dist/core/ui/Toolbar/context/{AnalyticsProvider.d.ts → telemetry/AnalyticsProvider.d.ts} +2 -2
  119. package/dist/core/ui/Toolbar/context/{InternalClientProvider.d.ts → telemetry/InternalClientProvider.d.ts} +4 -0
  120. package/dist/core/ui/Toolbar/context/telemetry/TelemetryBundleProvider.d.ts +11 -0
  121. package/dist/core/ui/Toolbar/context/telemetry/index.d.ts +3 -0
  122. package/dist/core/ui/Toolbar/hooks/index.d.ts +0 -1
  123. package/dist/core/ui/Toolbar/types/toolbar.d.ts +3 -2
  124. package/dist/core/ui/Toolbar/utils/clipboard.d.ts +6 -0
  125. package/dist/core/ui/Toolbar/utils/localStorage.d.ts +9 -0
  126. package/dist/core/utils/analytics.d.ts +8 -0
  127. package/dist/flags/toolbarFlags.d.ts +4 -1
  128. package/dist/index.cjs +3 -3
  129. package/dist/js/index.js +1 -1
  130. package/package.json +26 -23
  131. package/dist/core/ui/Toolbar/components/Popover.css.d.ts +0 -2
  132. package/dist/core/ui/{Toolbar/components → Buttons}/IconButton.css.d.ts +0 -0
  133. package/dist/core/ui/{Toolbar/components → Buttons}/IconButton.d.ts +0 -0
  134. package/dist/core/ui/{Toolbar/components → Buttons}/IconLinkButton.d.ts +0 -0
  135. package/dist/core/ui/{Toolbar/components → Buttons}/StarButton.d.ts +0 -0
  136. package/dist/core/ui/{Toolbar/components → Select}/Select.css.d.ts +0 -0
  137. package/dist/core/ui/{Toolbar/components → Select}/Select.d.ts +0 -0
  138. package/dist/core/ui/Toolbar/components/{AuthenticationModal.css.d.ts → AuthenticationModal/AuthenticationModal.css.d.ts} +0 -0
  139. package/dist/core/ui/Toolbar/components/{AuthenticationModal.d.ts → AuthenticationModal/AuthenticationModal.d.ts} +0 -0
  140. package/dist/core/ui/Toolbar/components/{LoginScreen.css.d.ts → LoginScreen/LoginScreen.css.d.ts} +0 -0
  141. package/dist/core/ui/Toolbar/components/{LoginScreen.d.ts → LoginScreen/LoginScreen.d.ts} +0 -0
  142. package/dist/core/ui/Toolbar/components/{ActionButtonsContainer.css.d.ts → legacy/ActionButtonsContainer.css.d.ts} +0 -0
  143. package/dist/core/ui/Toolbar/components/{ActionButtonsContainer.d.ts → legacy/ActionButtonsContainer.d.ts} +0 -0
  144. package/dist/core/ui/Toolbar/components/{FlagControls.css.d.ts → legacy/FlagControls.css.d.ts} +0 -0
  145. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/Header.css.d.ts +0 -0
  146. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/ActionButtons.d.ts +0 -0
  147. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/EnvironmentLabel.d.ts +0 -0
  148. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/LogoSection.d.ts +0 -0
  149. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/SearchSection.d.ts +0 -0
  150. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/index.d.ts +1 -1
  151. /package/dist/core/ui/Toolbar/components/{LocalFlagControls.css.d.ts → legacy/LocalFlagControls.css.d.ts} +0 -0
  152. /package/dist/core/ui/Toolbar/components/{LocalObjectFlagControlListItem.css.d.ts → legacy/LocalObjectFlagControlListItem.css.d.ts} +0 -0
  153. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/EventsTabContent.css.d.ts +0 -0
  154. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/FlagDevServerTabContent.css.d.ts +0 -0
  155. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/FlagDevServerTabContent.d.ts +0 -0
  156. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/SettingsTab.css.d.ts +0 -0
  157. /package/dist/core/ui/Toolbar/components/{TabContentRenderer.css.d.ts → legacy/TabContentRenderer.css.d.ts} +0 -0
  158. /package/dist/core/ui/Toolbar/context/{IFrameProvider.d.ts → api/IFrameProvider.d.ts} +0 -0
@@ -0,0 +1,7 @@
1
+ export * from './ApiBundleProvider';
2
+ export * from './ApiProvider';
3
+ export * from './AuthProvider';
4
+ export * from './EnvironmentProvider';
5
+ export * from './FlagsProvider';
6
+ export * from './IFrameProvider';
7
+ export * from './ProjectProvider';
@@ -1,7 +1,7 @@
1
- export { DevServerProvider, useDevServerContext } from './DevServerProvider';
2
- export { SearchProvider, useSearchContext } from './SearchProvider';
3
- export { ActiveTabProvider, useActiveTabContext } from './ActiveTabProvider';
4
- export { ToolbarUIProvider, useToolbarUIContext } from './ToolbarUIProvider';
5
- export { FlagSdkOverrideProvider, useFlagSdkOverrideContext, type LocalFlag, type FlagSdkOverrideContextType, } from './FlagSdkOverrideProvider';
6
- export { AnalyticsProvider, useAnalytics } from './AnalyticsProvider';
7
- export { StarredFlagsProvider, useStarredFlags } from './StarredFlagsProvider';
1
+ export * from './api';
2
+ export * from './state';
3
+ export * from './telemetry';
4
+ export * from './DevServerProvider';
5
+ export * from './FlagSdkOverrideProvider';
6
+ export * from './StarredFlagsProvider';
7
+ export * from './ElementSelectionProvider';
@@ -1,8 +1,8 @@
1
- import type { ActiveTabId } from '../types/toolbar';
2
- type ActiveTabContextType = {
1
+ import type { ActiveTabId } from '../../types';
2
+ interface ActiveTabContextType {
3
3
  activeTab: ActiveTabId;
4
4
  setActiveTab: (tab: ActiveTabId) => void;
5
- };
5
+ }
6
6
  export declare function ActiveTabProvider({ children }: {
7
7
  children: React.ReactNode;
8
8
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ import { IEventInterceptionPlugin, IFlagOverridePlugin } from '../../../../../types';
3
+ interface PluginsContextValue {
4
+ baseUrl: string;
5
+ flagOverridePlugin?: IFlagOverridePlugin;
6
+ eventInterceptionPlugin?: IEventInterceptionPlugin;
7
+ }
8
+ export interface PluginsProviderProps {
9
+ children: ReactNode;
10
+ baseUrl: string;
11
+ flagOverridePlugin?: IFlagOverridePlugin;
12
+ eventInterceptionPlugin?: IEventInterceptionPlugin;
13
+ }
14
+ export declare function PluginsProvider({ children, baseUrl, flagOverridePlugin, eventInterceptionPlugin, }: PluginsProviderProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function usePlugins(): PluginsContextValue;
16
+ export {};
@@ -1,8 +1,8 @@
1
1
  import React, { Dispatch, type SetStateAction } from 'react';
2
- type SearchContextType = {
2
+ interface SearchContextType {
3
3
  searchTerm: string;
4
4
  setSearchTerm: Dispatch<SetStateAction<string>>;
5
- };
5
+ }
6
6
  export declare function SearchProvider({ children }: {
7
7
  children: React.ReactNode;
8
8
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { IEventInterceptionPlugin, IFlagOverridePlugin } from '../../../../../types';
2
+ import { ToolbarPosition } from '../../types';
3
+ interface ToolbarStateBundleProviderProps {
4
+ initialPosition?: ToolbarPosition;
5
+ domId: string;
6
+ devServerUrl?: string;
7
+ baseUrl: string;
8
+ flagOverridePlugin?: IFlagOverridePlugin;
9
+ eventInterceptionPlugin?: IEventInterceptionPlugin;
10
+ children: React.ReactNode;
11
+ }
12
+ export declare function ToolbarStateBundleProvider(props: ToolbarStateBundleProviderProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -1,9 +1,6 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
- import { ActiveTabId } from '../types';
3
- export interface UseToolbarStateProps {
4
- domId: string;
5
- }
6
- export interface UseToolbarStateReturn {
1
+ import React, { Dispatch, SetStateAction, ReactNode } from 'react';
2
+ import { ActiveTabId, ToolbarMode } from '../../types';
3
+ export interface ToolbarStateContextValue {
7
4
  isExpanded: boolean;
8
5
  previousTab: ActiveTabId;
9
6
  isAnimating: boolean;
@@ -12,6 +9,7 @@ export interface UseToolbarStateReturn {
12
9
  hasBeenExpanded: boolean;
13
10
  reloadOnFlagChangeIsEnabled: boolean;
14
11
  isAutoCollapseEnabled: boolean;
12
+ mode: ToolbarMode;
15
13
  toolbarRef: React.RefObject<HTMLDivElement | null>;
16
14
  handleTabChange: (tabId: string) => void;
17
15
  handleClose: () => void;
@@ -22,4 +20,10 @@ export interface UseToolbarStateReturn {
22
20
  setIsAnimating: Dispatch<SetStateAction<boolean>>;
23
21
  setSearchIsExpanded: Dispatch<SetStateAction<boolean>>;
24
22
  }
25
- export declare function useToolbarState(props: UseToolbarStateProps): UseToolbarStateReturn;
23
+ export interface ToolbarStateProviderProps {
24
+ children: ReactNode;
25
+ domId: string;
26
+ devServerUrl?: string;
27
+ }
28
+ export declare function ToolbarStateProvider({ children, domId, devServerUrl }: ToolbarStateProviderProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function useToolbarState(): ToolbarStateContextValue;
@@ -1,5 +1,5 @@
1
1
  import type { FC, ReactNode } from 'react';
2
- import type { ToolbarPosition } from '../types/toolbar';
2
+ import { ToolbarPosition } from '../../types';
3
3
  interface ToolbarUIContextValue {
4
4
  position: ToolbarPosition;
5
5
  handlePositionChange: (position: ToolbarPosition) => void;
@@ -0,0 +1,6 @@
1
+ export * from './ActiveTabProvider';
2
+ export * from './PluginsProvider';
3
+ export * from './SearchProvider';
4
+ export * from './ToolbarStateBundleProvider';
5
+ export * from './ToolbarStateProvider';
6
+ export * from './ToolbarUIProvider';
@@ -1,5 +1,5 @@
1
- import { ToolbarAnalytics } from '../../../utils/analytics';
2
- import { ToolbarMode } from '../types';
1
+ import { ToolbarAnalytics } from '../../../../utils/analytics';
2
+ import { ToolbarMode } from '../../types';
3
3
  interface AnalyticsProviderProps {
4
4
  children: React.ReactNode;
5
5
  mode?: ToolbarMode;
@@ -20,6 +20,10 @@ export interface InternalClientContextValue {
20
20
  * Error during initialization, if any.
21
21
  */
22
22
  error: Error | null;
23
+ /**
24
+ * Update the client context with new member/account information.
25
+ */
26
+ updateContext: (accountId: string, memberId: string) => Promise<void>;
23
27
  }
24
28
  export interface InternalClientProviderProps {
25
29
  children: ReactNode;
@@ -0,0 +1,11 @@
1
+ import { ToolbarMode } from '../../types';
2
+ interface TelemetryBundleProviderProps {
3
+ mode: ToolbarMode;
4
+ baseUrl?: string;
5
+ clientSideId?: string;
6
+ streamUrl?: string;
7
+ eventsUrl?: string;
8
+ children: React.ReactNode;
9
+ }
10
+ export declare function TelemetryBundleProvider(props: TelemetryBundleProviderProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './TelemetryBundleProvider';
2
+ export * from './AnalyticsProvider';
3
+ export * from './InternalClientProvider';
@@ -1,4 +1,3 @@
1
- export { useToolbarState } from './useToolbarState';
2
1
  export { useToolbarAnimations } from './useToolbarAnimations';
3
2
  export { useToolbarVisibility } from './useToolbarVisibility';
4
3
  export { useToolbarDrag } from './useToolbarDrag';
@@ -1,12 +1,13 @@
1
- export type TabId = 'flag-sdk' | 'flag-dev-server' | 'events' | 'settings';
1
+ export type TabId = 'flag-sdk' | 'flag-dev-server' | 'events' | 'settings' | 'flags' | 'monitoring' | 'interactive' | 'ai' | 'optimize';
2
2
  export type ActiveTabId = TabId | undefined;
3
3
  export declare const TAB_ORDER: readonly TabId[];
4
4
  export type ToolbarMode = 'dev-server' | 'sdk';
5
5
  export declare const DEV_SERVER_TABS: readonly TabId[];
6
6
  export declare const SDK_MODE_TABS: readonly TabId[];
7
+ export declare const NEW_TOOLBAR_TABS: readonly TabId[];
7
8
  export declare function getToolbarMode(devServerUrl?: string): ToolbarMode;
8
9
  export declare function getTabsForMode(mode: ToolbarMode, hasFlagOverridePlugin: boolean, hasEventInterceptionPlugin: boolean): readonly TabId[];
9
- export declare function getDefaultActiveTab(mode: ToolbarMode, hasFlagOverridePlugin?: boolean, hasEventInterceptionPlugin?: boolean): TabId;
10
+ export declare function getDefaultActiveTab(mode: ToolbarMode, hasFlagOverridePlugin?: boolean, hasEventInterceptionPlugin?: boolean, useNewToolbarDesign?: boolean): TabId;
10
11
  export interface FeatureFlag {
11
12
  id: string;
12
13
  name: string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copy text to clipboard with fallback for older browsers
3
+ * @param text - The text to copy to clipboard
4
+ * @returns Promise that resolves to true if copy was successful, false otherwise
5
+ */
6
+ export declare function copyToClipboard(text: string): Promise<boolean>;
@@ -1,14 +1,19 @@
1
1
  import { ToolbarPosition } from '../types/toolbar';
2
2
  export declare const TOOLBAR_STORAGE_KEYS: {
3
+ readonly ENVIRONMENT: "ld-toolbar-environment";
3
4
  readonly SETTINGS: "ld-toolbar-settings";
4
5
  readonly DISABLED: "ld-toolbar-disabled";
5
6
  readonly PROJECT: "ld-toolbar-project";
6
7
  readonly STARRED_FLAGS: "ld-toolbar-starred-flags";
8
+ readonly MCP_ALERT_DISMISSED: "ld-toolbar-mcp-alert-dismissed";
7
9
  };
10
+ export type PreferredIde = 'cursor' | 'windsurf' | 'vscode' | 'github-copilot';
11
+ export declare const PREFERRED_IDES: PreferredIde[];
8
12
  export interface ToolbarSettings {
9
13
  position: ToolbarPosition;
10
14
  reloadOnFlagChange: boolean;
11
15
  autoCollapse: boolean;
16
+ preferredIde: PreferredIde;
12
17
  }
13
18
  export declare const DEFAULT_SETTINGS: ToolbarSettings;
14
19
  export declare function saveToolbarPosition(position: ToolbarPosition): void;
@@ -19,3 +24,7 @@ export declare function saveReloadOnFlagChange(isReloadOnFlagChange: boolean): v
19
24
  export declare function loadReloadOnFlagChange(): boolean;
20
25
  export declare function loadStarredFlags(): Set<string>;
21
26
  export declare function saveStarredFlags(starredFlags: Set<string>): void;
27
+ export declare function savePreferredIde(ide: PreferredIde): void;
28
+ export declare function loadPreferredIde(): PreferredIde;
29
+ export declare function saveMCPAlertDismissed(dismissed: boolean): void;
30
+ export declare function loadMCPAlertDismissed(): boolean;
@@ -54,6 +54,10 @@ export declare class ToolbarAnalytics {
54
54
  * Track opening a flag deeplink
55
55
  */
56
56
  trackOpenFlagDeeplink(flagKey: string, baseUrl: string): void;
57
+ /**
58
+ * Track clearing events
59
+ */
60
+ trackClearEvents(): void;
57
61
  /**
58
62
  * Track Event clicks
59
63
  */
@@ -94,4 +98,8 @@ export declare class ToolbarAnalytics {
94
98
  * Track user feedback
95
99
  */
96
100
  trackFeedback(feedback: string, sentiment: FeedbackSentiment): void;
101
+ /**
102
+ * Track flag key copy
103
+ */
104
+ trackFlagKeyCopy(flagKey: string): void;
97
105
  }
@@ -7,4 +7,7 @@
7
7
  * To add a toolbar feature flag, export it here like:
8
8
  * export const myFeature = createToolbarFlagFunction('my-feature-key', defaultValue);
9
9
  */
10
- export declare const __placeholder: () => boolean;
10
+ export declare const useNewToolbarDesign: () => boolean;
11
+ export declare const enableInteractiveIcon: () => boolean;
12
+ export declare const enableAiIcon: () => boolean;
13
+ export declare const enableOptimizeIcon: () => boolean;
package/dist/index.cjs CHANGED
@@ -552,7 +552,7 @@ async function lazyLoad(signal, url) {
552
552
  throw new Error(`Could not load LaunchDarkly developer toolbar bundle from ${url}`);
553
553
  }
554
554
  }
555
- var package_namespaceObject = JSON.parse('{"rE":"2.0.0-beta.1"}');
555
+ var package_namespaceObject = JSON.parse('{"rE":"2.3.0-beta.1"}');
556
556
  function useLaunchDarklyToolbar(args) {
557
557
  const { toolbarBundleUrl, enabled, ...initConfig } = args;
558
558
  const configRef = (0, external_react_namespaceObject.useRef)(null);
@@ -591,7 +591,7 @@ exports.TOOLBAR_POSITIONS = __webpack_exports__.TOOLBAR_POSITIONS;
591
591
  exports.isValidEventCategory = __webpack_exports__.isValidEventCategory;
592
592
  exports.isValidEventKind = __webpack_exports__.isValidEventKind;
593
593
  exports.useLaunchDarklyToolbar = __webpack_exports__.useLaunchDarklyToolbar;
594
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
594
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
595
595
  "ANALYTICS_EVENT_PREFIX",
596
596
  "EventInterceptionPlugin",
597
597
  "FlagOverridePlugin",
@@ -599,7 +599,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
599
599
  "isValidEventCategory",
600
600
  "isValidEventKind",
601
601
  "useLaunchDarklyToolbar"
602
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
602
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
603
603
  Object.defineProperty(exports, '__esModule', {
604
604
  value: true
605
605
  });
package/dist/js/index.js CHANGED
@@ -518,7 +518,7 @@ async function lazyLoad(signal, url) {
518
518
  throw new Error(`Could not load LaunchDarkly developer toolbar bundle from ${url}`);
519
519
  }
520
520
  }
521
- var package_namespaceObject = JSON.parse('{"rE":"2.0.0-beta.1"}');
521
+ var package_namespaceObject = JSON.parse('{"rE":"2.3.0-beta.1"}');
522
522
  function useLaunchDarklyToolbar(args) {
523
523
  const { toolbarBundleUrl, enabled, ...initConfig } = args;
524
524
  const configRef = useRef(null);
package/package.json CHANGED
@@ -1,15 +1,17 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@launchdarkly/toolbar",
4
- "version": "2.0.0-beta.1",
5
- "description": "A React component that provides a developer-friendly toolbar for interacting with LaunchDarkly during development",
4
+ "version": "2.3.0-beta.1",
5
+ "description": "A framework-agnostic developer toolbar for interacting with LaunchDarkly during development",
6
6
  "keywords": [
7
7
  "launchdarkly",
8
8
  "feature-flags",
9
- "react",
10
9
  "toolbar",
10
+ "react",
11
11
  "development",
12
- "typescript"
12
+ "typescript",
13
+ "javascript",
14
+ "vanilla-js"
13
15
  ],
14
16
  "type": "module",
15
17
  "license": "Apache-2.0",
@@ -52,22 +54,22 @@
52
54
  "@codemirror/lint": "^6.9.2",
53
55
  "@codemirror/state": "^6.5.2",
54
56
  "@codemirror/view": "^6.38.8",
55
- "@launchpad-ui/components": "^0.17.5",
57
+ "@launchpad-ui/components": "^0.17.7",
56
58
  "@launchpad-ui/tokens": "^0.15.1",
57
59
  "@lezer/highlight": "^1.2.3",
58
60
  "@react-aria/focus": "^3.21.2",
59
61
  "@react-stately/flags": "^3.1.2",
60
- "@rsbuild/core": "^1.6.7",
62
+ "@rsbuild/core": "^1.6.9",
61
63
  "@rsbuild/plugin-react": "^1.4.2",
62
- "@rslib/core": "^0.18.0",
63
- "@storybook/addon-docs": "^10.0.8",
64
+ "@rslib/core": "^0.18.3",
65
+ "@storybook/addon-docs": "^10.1.5",
64
66
  "@storybook/addon-essentials": "^9.0.0-alpha.12",
65
67
  "@storybook/addon-interactions": "^9.0.0-alpha.10",
66
68
  "@storybook/addon-links": "^10.0.8",
67
- "@storybook/addon-onboarding": "^10.0.8",
69
+ "@storybook/addon-onboarding": "^10.1.5",
68
70
  "@storybook/blocks": "^9.0.0-alpha.17",
69
71
  "@storybook/react": "^10.0.8",
70
- "@storybook/react-vite": "^10.0.8",
72
+ "@storybook/react-vite": "^10.1.4",
71
73
  "@storybook/test": "^9.0.0-alpha.2",
72
74
  "@tanstack/react-virtual": "^3.13.12",
73
75
  "@testing-library/jest-dom": "^6.9.1",
@@ -75,22 +77,22 @@
75
77
  "@types/node": "^24.10.1",
76
78
  "@types/react": "19.2.6",
77
79
  "@types/react-dom": "19.2.3",
78
- "@vanilla-extract/css": "^1.17.4",
79
- "@vanilla-extract/vite-plugin": "^5.1.1",
80
- "@vanilla-extract/webpack-plugin": "^2.3.22",
81
- "@vitest/coverage-v8": "4.0.13",
80
+ "@vanilla-extract/css": "^1.17.5",
81
+ "@vanilla-extract/vite-plugin": "^5.1.3",
82
+ "@vanilla-extract/webpack-plugin": "^2.3.24",
83
+ "@vitest/coverage-v8": "4.0.15",
82
84
  "css-loader": "^7.1.2",
83
85
  "jsdom": "^27.2.0",
84
86
  "launchdarkly-js-client-sdk": "^3.9.0",
85
- "motion": "^12.19.2",
86
- "oxlint": "^1.29.0",
87
- "react": "^19.2.0",
88
- "react-dom": "^19.2.0",
89
- "storybook": "^10.0.8",
90
- "storybook-addon-rslib": "^2.1.6",
91
- "storybook-react-rsbuild": "^2.1.6",
87
+ "motion": "^12.23.25",
88
+ "oxlint": "^1.32.0",
89
+ "react": "^19.2.1",
90
+ "react-dom": "^19.2.1",
91
+ "storybook": "^10.1.4",
92
+ "storybook-addon-rslib": "^3.1.0",
93
+ "storybook-react-rsbuild": "^3.1.0",
92
94
  "typescript": "^5.9.3",
93
- "vitest": "^4.0.13"
95
+ "vitest": "^4.0.15"
94
96
  },
95
97
  "peerDependencies": {
96
98
  "launchdarkly-js-client-sdk": ">=3.9.0 <4.0.0",
@@ -98,7 +100,8 @@
98
100
  "react-dom": "^18.0.0 || ^19.0.0"
99
101
  },
100
102
  "publishConfig": {
101
- "access": "public"
103
+ "access": "public",
104
+ "provenance": true
102
105
  },
103
106
  "scripts": {
104
107
  "build": "pnpm run build:lib && pnpm run build:cdn",
@@ -1,2 +0,0 @@
1
- export declare const basePopover: string;
2
- export declare const popover: string;
@@ -1,4 +1,4 @@
1
1
  export { LogoSection } from './LogoSection';
2
2
  export { EnvironmentLabel } from './EnvironmentLabel';
3
- export { SearchSection } from './SearchSection';
4
3
  export { ActionButtons } from './ActionButtons';
4
+ export { SearchSection } from './SearchSection';