@launchdarkly/toolbar 2.0.0-beta.1 → 2.1.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 (216) hide show
  1. package/README.md +7 -5
  2. package/cdn/toolbar.min.js +984 -10
  3. package/cdn/toolbar.min.js.LICENSE.txt +14 -0
  4. package/dist/core/services/DevServerClient.d.ts +10 -8
  5. package/dist/core/services/FlagStateManager.d.ts +2 -0
  6. package/dist/core/tests/mocks/providers.d.ts +132 -0
  7. package/dist/core/types/devServer.d.ts +2 -3
  8. package/dist/core/ui/{Toolbar/components → Buttons}/IconButton.d.ts +2 -1
  9. package/dist/core/ui/{Toolbar/components → Buttons}/StarButton.css.d.ts +1 -0
  10. package/dist/core/ui/JsonEditor/JsonEditor.d.ts +2 -1
  11. package/dist/core/ui/Toolbar/LaunchDarklyToolbar.d.ts +0 -1
  12. package/dist/core/ui/Toolbar/components/{AuthenticationModal.d.ts → AuthenticationModal/AuthenticationModal.d.ts} +1 -1
  13. package/dist/core/ui/Toolbar/components/CopyableText.css.d.ts +4 -0
  14. package/dist/core/ui/Toolbar/components/CopyableText.d.ts +18 -0
  15. package/dist/core/ui/Toolbar/components/FilterOptions/FilterOptions.css.d.ts +1 -0
  16. package/dist/core/ui/Toolbar/components/FilterOptions/FilterOptions.d.ts +1 -0
  17. package/dist/core/ui/Toolbar/components/FilterOptions/ShareUrlButton.css.d.ts +2 -0
  18. package/dist/core/ui/Toolbar/components/FilterOptions/ShareUrlButton.d.ts +7 -0
  19. package/dist/core/ui/Toolbar/components/LoadingScreen/LoadingScreen.css.d.ts +7 -0
  20. package/dist/core/ui/Toolbar/components/LoadingScreen/LoadingScreen.d.ts +5 -0
  21. package/dist/core/ui/Toolbar/components/LoadingScreen/index.d.ts +1 -0
  22. package/dist/core/ui/Toolbar/components/ShareStatePopover/ShareStatePopover.css.d.ts +10 -0
  23. package/dist/core/ui/Toolbar/components/ShareStatePopover/ShareStatePopover.d.ts +15 -0
  24. package/dist/core/ui/Toolbar/components/ShareStatePopover/index.d.ts +2 -0
  25. package/dist/core/ui/Toolbar/components/icons/ChartHistogram.d.ts +5 -0
  26. package/dist/core/ui/Toolbar/components/icons/ChipAiIcon.d.ts +5 -0
  27. package/dist/core/ui/Toolbar/components/icons/ClickIcon.d.ts +5 -0
  28. package/dist/core/ui/Toolbar/components/icons/CursorIcon.d.ts +7 -0
  29. package/dist/core/ui/Toolbar/components/icons/ExternalLinkIcon.d.ts +6 -0
  30. package/dist/core/ui/Toolbar/components/icons/FilterTuneIcon.d.ts +5 -0
  31. package/dist/core/ui/Toolbar/components/icons/FlaskIcon.d.ts +5 -0
  32. package/dist/core/ui/Toolbar/components/icons/Icon.css.d.ts +1 -0
  33. package/dist/core/ui/Toolbar/components/icons/InfoIcon.d.ts +5 -0
  34. package/dist/core/ui/Toolbar/components/icons/ShareIcon.d.ts +5 -0
  35. package/dist/core/ui/Toolbar/components/icons/index.d.ts +10 -0
  36. package/dist/core/ui/Toolbar/components/index.d.ts +3 -4
  37. package/dist/core/ui/Toolbar/components/{ExpandedToolbarContent.d.ts → legacy/ExpandedToolbarContentLegacy.d.ts} +4 -3
  38. package/dist/core/ui/Toolbar/components/{FlagControls.d.ts → legacy/FlagControls.d.ts} +1 -1
  39. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/Header.d.ts +1 -1
  40. package/dist/core/ui/Toolbar/components/{LocalFlagControls.d.ts → legacy/LocalFlagControls.d.ts} +2 -2
  41. package/dist/core/ui/Toolbar/components/{LocalObjectFlagControlListItem.d.ts → legacy/LocalObjectFlagControlListItem.d.ts} +2 -2
  42. package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/EventsTabContent.d.ts +1 -1
  43. package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/FlagSdkOverrideTabContent.d.ts +1 -1
  44. package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/SettingsTabContent.d.ts +1 -1
  45. package/dist/core/ui/Toolbar/components/{TabContentRenderer.d.ts → legacy/TabContentRenderer.d.ts} +2 -2
  46. package/dist/core/ui/Toolbar/components/legacy/index.d.ts +1 -0
  47. package/dist/core/ui/Toolbar/components/new/AnalyticsConsentToast/AnalyticsConsentToast.d.ts +5 -0
  48. package/dist/core/ui/Toolbar/components/new/AnalyticsConsentToast/AnalyticsConsentToast.module.css.d.ts +13 -0
  49. package/dist/core/ui/Toolbar/components/new/AnalyticsConsentToast/index.d.ts +1 -0
  50. package/dist/core/ui/Toolbar/components/new/ContentActions.d.ts +1 -0
  51. package/dist/core/ui/Toolbar/components/new/ContentActions.module.css.d.ts +8 -0
  52. package/dist/core/ui/Toolbar/components/new/ContentRenderer.d.ts +1 -0
  53. package/dist/core/ui/Toolbar/components/new/Contexts/AddContextForm.d.ts +6 -0
  54. package/dist/core/ui/Toolbar/components/new/Contexts/AddContextForm.module.css.d.ts +14 -0
  55. package/dist/core/ui/Toolbar/components/new/Contexts/ContextItem.d.ts +9 -0
  56. package/dist/core/ui/Toolbar/components/new/Contexts/ContextItem.module.css.d.ts +19 -0
  57. package/dist/core/ui/Toolbar/components/new/Contexts/ContextList.d.ts +1 -0
  58. package/dist/core/ui/Toolbar/components/new/Contexts/ContextList.module.css.d.ts +8 -0
  59. package/dist/core/ui/Toolbar/components/new/Contexts/ContextListContent.d.ts +1 -0
  60. package/dist/core/ui/Toolbar/components/new/Contexts/index.d.ts +4 -0
  61. package/dist/core/ui/Toolbar/components/new/ExpandedToolbarContent.d.ts +10 -0
  62. package/dist/core/ui/Toolbar/components/new/ExpandedToolbarContent.module.css.d.ts +2 -0
  63. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagControls.d.ts +37 -0
  64. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagControls.module.css.d.ts +9 -0
  65. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagItem.d.ts +12 -0
  66. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagItem.module.css.d.ts +18 -0
  67. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagList.d.ts +1 -0
  68. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagList.module.css.d.ts +5 -0
  69. package/dist/core/ui/Toolbar/components/new/FeatureFlags/FlagListContent.d.ts +1 -0
  70. package/dist/core/ui/Toolbar/components/new/FeatureFlags/types.d.ts +9 -0
  71. package/dist/core/ui/Toolbar/components/new/FilterOverlay/FilterOverlay.d.ts +11 -0
  72. package/dist/core/ui/Toolbar/components/new/FilterOverlay/FilterOverlay.module.css.d.ts +17 -0
  73. package/dist/core/ui/Toolbar/components/new/FilterOverlay/index.d.ts +1 -0
  74. package/dist/core/ui/Toolbar/components/new/Header/ToolbarHeader.d.ts +7 -0
  75. package/dist/core/ui/Toolbar/components/new/Header/ToolbarHeader.module.css.d.ts +6 -0
  76. package/dist/core/ui/Toolbar/components/new/IconBar/IconBar.d.ts +6 -0
  77. package/dist/core/ui/Toolbar/components/new/IconBar/IconBar.module.css.d.ts +6 -0
  78. package/dist/core/ui/Toolbar/components/new/Interactive/InteractiveContent.d.ts +1 -0
  79. package/dist/core/ui/Toolbar/components/new/Interactive/InteractiveContent.module.css.d.ts +4 -0
  80. package/dist/core/ui/Toolbar/components/new/Interactive/InteractiveWrapper.d.ts +10 -0
  81. package/dist/core/ui/Toolbar/components/new/Interactive/MCPSetupAlert.d.ts +10 -0
  82. package/dist/core/ui/Toolbar/components/new/Interactive/MCPSetupAlert.module.css.d.ts +12 -0
  83. package/dist/core/ui/Toolbar/components/new/Interactive/SelectedElementInfo.d.ts +1 -0
  84. package/dist/core/ui/Toolbar/components/new/Interactive/SelectedElementInfo.module.css.d.ts +21 -0
  85. package/dist/core/ui/Toolbar/components/new/Interactive/SelectionModeBar.d.ts +1 -0
  86. package/dist/core/ui/Toolbar/components/new/Interactive/SelectionOverlay.d.ts +2 -0
  87. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowCard.d.ts +13 -0
  88. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowCard.module.css.d.ts +27 -0
  89. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowSection.d.ts +6 -0
  90. package/dist/core/ui/Toolbar/components/new/Interactive/WorkflowSection.module.css.d.ts +5 -0
  91. package/dist/core/ui/Toolbar/components/new/Interactive/index.d.ts +9 -0
  92. package/dist/core/ui/Toolbar/components/new/Interactive/utils/elementUtils.d.ts +56 -0
  93. package/dist/core/ui/Toolbar/components/new/Interactive/utils/ideLinks.d.ts +58 -0
  94. package/dist/core/ui/Toolbar/components/new/Interactive/utils/promptBuilder.d.ts +26 -0
  95. package/dist/core/ui/Toolbar/components/new/Interactive/utils/throttle.d.ts +10 -0
  96. package/dist/core/ui/Toolbar/components/new/Interactive/workflowConfigs.d.ts +36 -0
  97. package/dist/core/ui/Toolbar/components/new/Monitoring/EventsContent.d.ts +1 -0
  98. package/dist/core/ui/Toolbar/components/new/Monitoring/EventsContent.module.css.d.ts +25 -0
  99. package/dist/core/ui/Toolbar/components/new/SearchSection.d.ts +8 -0
  100. package/dist/core/ui/Toolbar/components/new/SearchSection.module.css.d.ts +3 -0
  101. package/dist/core/ui/Toolbar/components/new/Settings/ConnectionStatus.d.ts +5 -0
  102. package/dist/core/ui/Toolbar/components/new/Settings/ConnectionStatus.module.css.d.ts +6 -0
  103. package/dist/core/ui/Toolbar/components/new/Settings/EnvironmentSelector.d.ts +1 -0
  104. package/dist/core/ui/Toolbar/components/new/Settings/GeneralSettings.d.ts +1 -0
  105. package/dist/core/ui/Toolbar/components/new/Settings/LogoutButton.d.ts +1 -0
  106. package/dist/core/ui/Toolbar/components/new/Settings/LogoutButton.module.css.d.ts +1 -0
  107. package/dist/core/ui/Toolbar/components/new/Settings/PositionSelector.d.ts +6 -0
  108. package/dist/core/ui/Toolbar/components/new/Settings/Privacy/PrivacySettings.d.ts +1 -0
  109. package/dist/core/ui/Toolbar/components/new/Settings/ProjectSelector.d.ts +1 -0
  110. package/dist/core/ui/Toolbar/components/new/Settings/SettingsContent.module.css.d.ts +5 -0
  111. package/dist/core/ui/Toolbar/components/new/Settings/SettingsItem.d.ts +8 -0
  112. package/dist/core/ui/Toolbar/components/new/Settings/SettingsItem.module.css.d.ts +6 -0
  113. package/dist/core/ui/Toolbar/components/new/Settings/SettingsSection.d.ts +7 -0
  114. package/dist/core/ui/Toolbar/components/new/Settings/SettingsSection.module.css.d.ts +3 -0
  115. package/dist/core/ui/Toolbar/components/new/Settings/ShareButton.d.ts +5 -0
  116. package/dist/core/ui/Toolbar/components/new/Settings/ShareButton.module.css.d.ts +1 -0
  117. package/dist/core/ui/Toolbar/components/new/Settings/index.d.ts +8 -0
  118. package/dist/core/ui/Toolbar/components/new/SubtabDropdown.d.ts +8 -0
  119. package/dist/core/ui/Toolbar/components/new/SubtabDropdown.module.css.d.ts +10 -0
  120. package/dist/core/ui/Toolbar/components/new/TabBar.d.ts +1 -0
  121. package/dist/core/ui/Toolbar/components/new/TabBar.module.css.d.ts +4 -0
  122. package/dist/core/ui/Toolbar/components/new/Tooltip.d.ts +9 -0
  123. package/dist/core/ui/Toolbar/components/new/Tooltip.module.css.d.ts +2 -0
  124. package/dist/core/ui/Toolbar/components/new/context/ActiveSubtabProvider.d.ts +12 -0
  125. package/dist/core/ui/Toolbar/components/new/context/FiltersProvider.d.ts +41 -0
  126. package/dist/core/ui/Toolbar/components/new/context/TabSearchProvider.d.ts +12 -0
  127. package/dist/core/ui/Toolbar/components/new/context/index.d.ts +3 -0
  128. package/dist/core/ui/Toolbar/components/new/index.d.ts +10 -0
  129. package/dist/core/ui/Toolbar/components/new/types.d.ts +16 -0
  130. package/dist/core/ui/Toolbar/constants/animations.d.ts +14 -0
  131. package/dist/core/ui/Toolbar/constants/virtualization.d.ts +1 -0
  132. package/dist/core/ui/Toolbar/context/DevServerProvider.d.ts +2 -0
  133. package/dist/core/ui/Toolbar/context/ElementSelectionProvider.d.ts +52 -0
  134. package/dist/core/ui/Toolbar/context/FlagSdkOverrideProvider.d.ts +5 -1
  135. package/dist/core/ui/Toolbar/context/api/ApiBundleProvider.d.ts +8 -0
  136. package/dist/core/ui/Toolbar/context/{ApiProvider.d.ts → api/ApiProvider.d.ts} +1 -2
  137. package/dist/core/ui/Toolbar/context/{AuthProvider.d.ts → api/AuthProvider.d.ts} +3 -3
  138. package/dist/core/ui/Toolbar/context/api/ContextsProvider.d.ts +19 -0
  139. package/dist/core/ui/Toolbar/context/api/EnvironmentProvider.d.ts +12 -0
  140. package/dist/core/ui/Toolbar/context/{FlagsProvider.d.ts → api/FlagsProvider.d.ts} +5 -4
  141. package/dist/core/ui/Toolbar/context/{ProjectProvider.d.ts → api/ProjectProvider.d.ts} +4 -3
  142. package/dist/core/ui/Toolbar/context/api/index.d.ts +8 -0
  143. package/dist/core/ui/Toolbar/context/index.d.ts +7 -7
  144. package/dist/core/ui/Toolbar/context/{ActiveTabProvider.d.ts → state/ActiveTabProvider.d.ts} +3 -3
  145. package/dist/core/ui/Toolbar/context/state/PluginsProvider.d.ts +16 -0
  146. package/dist/core/ui/Toolbar/context/{SearchProvider.d.ts → state/SearchProvider.d.ts} +2 -2
  147. package/dist/core/ui/Toolbar/context/state/ToolbarStateBundleProvider.d.ts +13 -0
  148. package/dist/core/ui/Toolbar/context/state/ToolbarStateProvider.d.ts +35 -0
  149. package/dist/core/ui/Toolbar/context/{ToolbarUIProvider.d.ts → state/ToolbarUIProvider.d.ts} +1 -1
  150. package/dist/core/ui/Toolbar/context/state/index.d.ts +6 -0
  151. package/dist/core/ui/Toolbar/context/telemetry/AnalyticsPreferencesProvider.d.ts +14 -0
  152. package/dist/core/ui/Toolbar/context/{AnalyticsProvider.d.ts → telemetry/AnalyticsProvider.d.ts} +2 -2
  153. package/dist/core/ui/Toolbar/context/{InternalClientProvider.d.ts → telemetry/InternalClientProvider.d.ts} +15 -1
  154. package/dist/core/ui/Toolbar/context/telemetry/TelemetryBundleProvider.d.ts +13 -0
  155. package/dist/core/ui/Toolbar/context/telemetry/index.d.ts +4 -0
  156. package/dist/core/ui/Toolbar/hooks/index.d.ts +2 -1
  157. package/dist/core/ui/Toolbar/hooks/useLocalStorage.d.ts +10 -0
  158. package/dist/core/ui/Toolbar/hooks/useReducedMotion.d.ts +5 -0
  159. package/dist/core/ui/Toolbar/hooks/useToolbarAnimations.d.ts +1 -1
  160. package/dist/core/ui/Toolbar/types/toolbar.d.ts +3 -2
  161. package/dist/core/ui/Toolbar/utils/clipboard.d.ts +6 -0
  162. package/dist/core/ui/Toolbar/utils/context.d.ts +33 -0
  163. package/dist/core/ui/Toolbar/utils/localStorage.d.ts +29 -1
  164. package/dist/core/utils/analytics.d.ts +56 -2
  165. package/dist/core/utils/feedback.d.ts +18 -0
  166. package/dist/core/utils/urlOverrides.d.ts +105 -0
  167. package/dist/flags/toolbarFlags.d.ts +7 -1
  168. package/dist/index.cjs +8 -6
  169. package/dist/index.cjs.map +1 -1
  170. package/dist/js/263.js +88 -0
  171. package/dist/js/263.js.map +1 -0
  172. package/dist/js/758.js +446 -0
  173. package/dist/js/758.js.map +1 -0
  174. package/dist/js/index.js +3 -527
  175. package/dist/js/index.js.map +1 -1
  176. package/dist/js/plugins.js +1 -0
  177. package/dist/js/react.js +1 -0
  178. package/dist/js/types-entry.js +0 -0
  179. package/dist/plugins.cjs +483 -0
  180. package/dist/plugins.cjs.map +1 -0
  181. package/dist/plugins.d.ts +21 -0
  182. package/dist/react/useLaunchDarklyToolbar.d.ts +1 -1
  183. package/dist/react.cjs +125 -0
  184. package/dist/react.cjs.map +1 -0
  185. package/dist/react.d.ts +25 -0
  186. package/dist/types-entry.cjs +20 -0
  187. package/dist/types-entry.cjs.map +1 -0
  188. package/dist/types-entry.d.ts +12 -0
  189. package/package.json +98 -50
  190. package/dist/core/ui/Toolbar/components/Popover.css.d.ts +0 -2
  191. package/dist/core/ui/Toolbar/hooks/useToolbarState.d.ts +0 -25
  192. package/dist/core/ui/{Toolbar/components → Buttons}/IconButton.css.d.ts +0 -0
  193. package/dist/core/ui/{Toolbar/components → Buttons}/IconLinkButton.d.ts +0 -0
  194. package/dist/core/ui/{Toolbar/components → Buttons}/StarButton.d.ts +0 -0
  195. package/dist/core/ui/{Toolbar/components → Select}/Select.css.d.ts +0 -0
  196. package/dist/core/ui/{Toolbar/components → Select}/Select.d.ts +0 -0
  197. package/dist/core/ui/Toolbar/components/{AuthenticationModal.css.d.ts → AuthenticationModal/AuthenticationModal.css.d.ts} +0 -0
  198. package/dist/core/ui/Toolbar/components/{LoginScreen.css.d.ts → LoginScreen/LoginScreen.css.d.ts} +0 -0
  199. package/dist/core/ui/Toolbar/components/{LoginScreen.d.ts → LoginScreen/LoginScreen.d.ts} +0 -0
  200. package/dist/core/ui/Toolbar/components/{ActionButtonsContainer.css.d.ts → legacy/ActionButtonsContainer.css.d.ts} +0 -0
  201. package/dist/core/ui/Toolbar/components/{ActionButtonsContainer.d.ts → legacy/ActionButtonsContainer.d.ts} +0 -0
  202. package/dist/core/ui/Toolbar/components/{FlagControls.css.d.ts → legacy/FlagControls.css.d.ts} +0 -0
  203. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/Header.css.d.ts +0 -0
  204. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/ActionButtons.d.ts +0 -0
  205. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/EnvironmentLabel.d.ts +0 -0
  206. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/LogoSection.d.ts +0 -0
  207. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/SearchSection.d.ts +0 -0
  208. package/dist/core/ui/Toolbar/{Header → components/legacy/Header}/components/index.d.ts +1 -1
  209. /package/dist/core/ui/Toolbar/components/{LocalFlagControls.css.d.ts → legacy/LocalFlagControls.css.d.ts} +0 -0
  210. /package/dist/core/ui/Toolbar/components/{LocalObjectFlagControlListItem.css.d.ts → legacy/LocalObjectFlagControlListItem.css.d.ts} +0 -0
  211. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/EventsTabContent.css.d.ts +0 -0
  212. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/FlagDevServerTabContent.css.d.ts +0 -0
  213. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/FlagDevServerTabContent.d.ts +0 -0
  214. /package/dist/core/ui/Toolbar/{TabContent → components/legacy/TabContent}/SettingsTab.css.d.ts +0 -0
  215. /package/dist/core/ui/Toolbar/components/{TabContentRenderer.css.d.ts → legacy/TabContentRenderer.css.d.ts} +0 -0
  216. /package/dist/core/ui/Toolbar/context/{IFrameProvider.d.ts → api/IFrameProvider.d.ts} +0 -0
package/dist/react.cjs ADDED
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ lazyLoadToolbar: ()=>lazyLoadToolbar,
28
+ useLaunchDarklyToolbar: ()=>useLaunchDarklyToolbar
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ function getWindow() {
32
+ return window;
33
+ }
34
+ async function lazyLoadToolbar(signal, url) {
35
+ const existing = getWindow().LaunchDarklyToolbar;
36
+ if (existing) return Promise.resolve(existing);
37
+ await lazyLoad(signal, url);
38
+ const toolbarModule = getWindow().LaunchDarklyToolbar;
39
+ if (!toolbarModule) throw new Error(`Unable to detect LaunchDarklyToolbar global from ${url}`);
40
+ return toolbarModule;
41
+ }
42
+ async function lazyLoad(signal, url) {
43
+ const existingScript = document.querySelector(`script[src="${url}"]`);
44
+ if (existingScript) {
45
+ if ('true' === existingScript.dataset.loaded) return Promise.resolve();
46
+ return new Promise((resolve, reject)=>{
47
+ existingScript.addEventListener('load', ()=>{
48
+ if (!signal.aborted) {
49
+ existingScript.dataset.loaded = 'true';
50
+ resolve();
51
+ }
52
+ });
53
+ existingScript.addEventListener('error', (error)=>{
54
+ if (!signal.aborted) reject(error);
55
+ });
56
+ });
57
+ }
58
+ const script = document.createElement("script");
59
+ script.src = url;
60
+ script.crossOrigin = 'anonymous';
61
+ script.referrerPolicy = 'origin';
62
+ const waitForLoad = new Promise((resolve, reject)=>{
63
+ script.addEventListener('load', ()=>{
64
+ if (!signal.aborted) {
65
+ script.dataset.loaded = 'true';
66
+ resolve();
67
+ }
68
+ });
69
+ script.addEventListener('error', (error)=>{
70
+ if (!signal.aborted) reject(error);
71
+ });
72
+ });
73
+ document.body.appendChild(script);
74
+ try {
75
+ await waitForLoad;
76
+ } catch (error) {
77
+ console.log(error);
78
+ throw new Error(`Could not load LaunchDarkly developer toolbar bundle from ${url}`);
79
+ }
80
+ }
81
+ var package_namespaceObject = {
82
+ rE: "2.1.0"
83
+ };
84
+ function useLaunchDarklyToolbar(args) {
85
+ const { toolbarBundleUrl, enabled, ...initConfig } = args;
86
+ const configRef = (0, external_react_namespaceObject.useRef)(null);
87
+ const url = toolbarBundleUrl ?? versionToCdn(package_namespaceObject.rE);
88
+ (0, external_react_namespaceObject.useEffect)(()=>{
89
+ if (false === enabled) return;
90
+ if (null === configRef.current) configRef.current = initConfig;
91
+ }, [
92
+ enabled,
93
+ initConfig
94
+ ]);
95
+ (0, external_react_namespaceObject.useEffect)(()=>{
96
+ if (false === enabled || null === configRef.current) return;
97
+ const controller = new AbortController();
98
+ let cleanup = ()=>{};
99
+ lazyLoadToolbar(controller.signal, url).then((importedToolbar)=>{
100
+ if (null === configRef.current) return;
101
+ cleanup = importedToolbar.init(configRef.current);
102
+ });
103
+ return ()=>{
104
+ controller.abort();
105
+ cleanup();
106
+ };
107
+ }, [
108
+ enabled,
109
+ url
110
+ ]);
111
+ }
112
+ function versionToCdn(version = 'latest') {
113
+ return `https://unpkg.com/@launchdarkly/toolbar@${version}/cdn/toolbar.min.js`;
114
+ }
115
+ exports.lazyLoadToolbar = __webpack_exports__.lazyLoadToolbar;
116
+ exports.useLaunchDarklyToolbar = __webpack_exports__.useLaunchDarklyToolbar;
117
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
118
+ "lazyLoadToolbar",
119
+ "useLaunchDarklyToolbar"
120
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
121
+ Object.defineProperty(exports, '__esModule', {
122
+ value: true
123
+ });
124
+
125
+ //# sourceMappingURL=react.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.cjs","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../src/react/lazyLoadToolbar.ts","../src/react/useLaunchDarklyToolbar.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { LaunchDarklyToolbar } from '../index';\n\ninterface WindowWithMaybeToolbar extends Window {\n LaunchDarklyToolbar?: LaunchDarklyToolbar;\n}\n\nfunction getWindow(): WindowWithMaybeToolbar {\n return window;\n}\n\nexport default async function lazyLoadToolbar(signal: AbortSignal, url: string): Promise<LaunchDarklyToolbar> {\n const existing = getWindow().LaunchDarklyToolbar;\n\n if (existing) {\n return Promise.resolve(existing);\n }\n\n await lazyLoad(signal, url);\n\n const toolbarModule = getWindow().LaunchDarklyToolbar;\n if (!toolbarModule) {\n throw new Error(`Unable to detect LaunchDarklyToolbar global from ${url}`);\n }\n\n return toolbarModule;\n}\n\nasync function lazyLoad(signal: AbortSignal, url: string): Promise<void> {\n // Check if a script with this URL already exists\n const existingScript = document.querySelector(`script[src=\"${url}\"]`) as HTMLScriptElement | null;\n\n if (existingScript) {\n // If script already exists and is loaded, return immediately\n if (existingScript.dataset.loaded === 'true') {\n return Promise.resolve();\n }\n\n // If script exists but is still loading, wait for it to complete\n return new Promise<void>((resolve, reject) => {\n existingScript.addEventListener('load', () => {\n if (!signal.aborted) {\n existingScript.dataset.loaded = 'true';\n resolve();\n }\n });\n existingScript.addEventListener('error', (error) => {\n if (!signal.aborted) {\n reject(error);\n }\n });\n });\n }\n\n // Create new script element\n const script = document.createElement('script');\n script.src = url;\n script.crossOrigin = 'anonymous';\n script.referrerPolicy = 'origin';\n\n const waitForLoad = new Promise<void>((resolve, reject) => {\n script.addEventListener('load', () => {\n if (!signal.aborted) {\n script.dataset.loaded = 'true';\n resolve();\n }\n });\n script.addEventListener('error', (error) => {\n if (!signal.aborted) {\n reject(error);\n }\n });\n });\n\n document.body.appendChild(script);\n\n try {\n await waitForLoad;\n } catch (error) {\n console.log(error);\n throw new Error(`Could not load LaunchDarkly developer toolbar bundle from ${url}`);\n }\n}\n","import { useEffect, useRef } from 'react';\n\nimport lazyLoadToolbar from './lazyLoadToolbar';\nimport type { InitializationConfig } from '../types';\nimport packageJson from '../../package.json';\n\ninterface UseLaunchDarklyToolbarConfig extends InitializationConfig {\n /**\n * URL to load the toolbar bundle from.\n * Use this when developing the toolbar itself locally.\n *\n * Example: `'http://localhost:5764/toolbar.min.js'`\n *\n * Default: CDN URL based on package version\n */\n toolbarBundleUrl?: string;\n\n /**\n * Whether the toolbar should be loaded and displayed.\n *\n * Default: `true`\n */\n enabled?: boolean;\n}\n\nexport default function useLaunchDarklyToolbar(args: UseLaunchDarklyToolbarConfig) {\n const { toolbarBundleUrl, enabled, ...initConfig } = args;\n const configRef = useRef<InitializationConfig | null>(null);\n const url = toolbarBundleUrl ?? versionToCdn(packageJson.version);\n\n useEffect(() => {\n if (enabled === false) {\n return;\n }\n\n if (configRef.current === null) {\n configRef.current = initConfig;\n }\n }, [enabled, initConfig]);\n\n useEffect(() => {\n if (enabled === false || configRef.current === null) {\n return;\n }\n\n const controller = new AbortController();\n\n let cleanup: () => void = () => {};\n lazyLoadToolbar(controller.signal, url).then((importedToolbar) => {\n if (configRef.current === null) {\n return;\n }\n\n cleanup = importedToolbar.init(configRef.current);\n });\n\n return () => {\n controller.abort();\n cleanup();\n };\n }, [enabled, url]);\n}\n\nfunction versionToCdn(version = 'latest'): string {\n return `https://unpkg.com/@launchdarkly/toolbar@${version}/cdn/toolbar.min.js`;\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","getWindow","window","lazyLoadToolbar","signal","url","existing","Promise","lazyLoad","toolbarModule","Error","existingScript","document","resolve","reject","error","script","waitForLoad","console","useLaunchDarklyToolbar","args","toolbarBundleUrl","enabled","initConfig","configRef","useRef","versionToCdn","packageJson","useEffect","controller","AbortController","cleanup","importedToolbar","version"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,MAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;ACAA,SAASI;IACP,OAAOC;AACT;AAEe,eAAeC,gBAAgBC,MAAmB,EAAEC,GAAW;IAC5E,MAAMC,WAAWL,YAAY,mBAAmB;IAEhD,IAAIK,UACF,OAAOC,QAAQ,OAAO,CAACD;IAGzB,MAAME,SAASJ,QAAQC;IAEvB,MAAMI,gBAAgBR,YAAY,mBAAmB;IACrD,IAAI,CAACQ,eACH,MAAM,IAAIC,MAAM,CAAC,iDAAiD,EAAEL,KAAK;IAG3E,OAAOI;AACT;AAEA,eAAeD,SAASJ,MAAmB,EAAEC,GAAW;IAEtD,MAAMM,iBAAiBC,SAAS,aAAa,CAAC,CAAC,YAAY,EAAEP,IAAI,EAAE,CAAC;IAEpE,IAAIM,gBAAgB;QAElB,IAAIA,AAAkC,WAAlCA,eAAe,OAAO,CAAC,MAAM,EAC/B,OAAOJ,QAAQ,OAAO;QAIxB,OAAO,IAAIA,QAAc,CAACM,SAASC;YACjCH,eAAe,gBAAgB,CAAC,QAAQ;gBACtC,IAAI,CAACP,OAAO,OAAO,EAAE;oBACnBO,eAAe,OAAO,CAAC,MAAM,GAAG;oBAChCE;gBACF;YACF;YACAF,eAAe,gBAAgB,CAAC,SAAS,CAACI;gBACxC,IAAI,CAACX,OAAO,OAAO,EACjBU,OAAOC;YAEX;QACF;IACF;IAGA,MAAMC,SAASJ,SAAS,aAAa,CAAC;IACtCI,OAAO,GAAG,GAAGX;IACbW,OAAO,WAAW,GAAG;IACrBA,OAAO,cAAc,GAAG;IAExB,MAAMC,cAAc,IAAIV,QAAc,CAACM,SAASC;QAC9CE,OAAO,gBAAgB,CAAC,QAAQ;YAC9B,IAAI,CAACZ,OAAO,OAAO,EAAE;gBACnBY,OAAO,OAAO,CAAC,MAAM,GAAG;gBACxBH;YACF;QACF;QACAG,OAAO,gBAAgB,CAAC,SAAS,CAACD;YAChC,IAAI,CAACX,OAAO,OAAO,EACjBU,OAAOC;QAEX;IACF;IAEAH,SAAS,IAAI,CAAC,WAAW,CAACI;IAE1B,IAAI;QACF,MAAMC;IACR,EAAE,OAAOF,OAAO;QACdG,QAAQ,GAAG,CAACH;QACZ,MAAM,IAAIL,MAAM,CAAC,0DAA0D,EAAEL,KAAK;IACpF;AACF;;;;ACxDe,SAASc,uBAAuBC,IAAkC;IAC/E,MAAM,EAAEC,gBAAgB,EAAEC,OAAO,EAAE,GAAGC,YAAY,GAAGH;IACrD,MAAMI,YAAYC,AAAAA,IAAAA,+BAAAA,MAAAA,AAAAA,EAAoC;IACtD,MAAMpB,MAAMgB,oBAAoBK,aAAaC,wBAAAA,EAAmB;IAEhEC,IAAAA,+BAAAA,SAAAA,AAAAA,EAAU;QACR,IAAIN,AAAY,UAAZA,SACF;QAGF,IAAIE,AAAsB,SAAtBA,UAAU,OAAO,EACnBA,UAAU,OAAO,GAAGD;IAExB,GAAG;QAACD;QAASC;KAAW;IAExBK,IAAAA,+BAAAA,SAAAA,AAAAA,EAAU;QACR,IAAIN,AAAY,UAAZA,WAAqBE,AAAsB,SAAtBA,UAAU,OAAO,EACxC;QAGF,MAAMK,aAAa,IAAIC;QAEvB,IAAIC,UAAsB,KAAO;QACjC5B,gBAAgB0B,WAAW,MAAM,EAAExB,KAAK,IAAI,CAAC,CAAC2B;YAC5C,IAAIR,AAAsB,SAAtBA,UAAU,OAAO,EACnB;YAGFO,UAAUC,gBAAgB,IAAI,CAACR,UAAU,OAAO;QAClD;QAEA,OAAO;YACLK,WAAW,KAAK;YAChBE;QACF;IACF,GAAG;QAACT;QAASjB;KAAI;AACnB;AAEA,SAASqB,aAAaO,UAAU,QAAQ;IACtC,OAAO,CAAC,wCAAwC,EAAEA,QAAQ,mBAAmB,CAAC;AAChF"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * React-specific exports for the LaunchDarkly Toolbar
3
+ *
4
+ * This entry point provides React hooks and utilities for integrating
5
+ * the toolbar with React applications.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * import { useLaunchDarklyToolbar } from '@launchdarkly/toolbar/react';
10
+ * import { FlagOverridePlugin } from '@launchdarkly/toolbar/plugins';
11
+ *
12
+ * // Create plugins outside the component (only once)
13
+ * const flagOverridePlugin = new FlagOverridePlugin();
14
+ *
15
+ * function App() {
16
+ * useLaunchDarklyToolbar({
17
+ * flagOverridePlugin,
18
+ * });
19
+ *
20
+ * return <YourApp />;
21
+ * }
22
+ * ```
23
+ */
24
+ export { default as useLaunchDarklyToolbar } from './react/useLaunchDarklyToolbar';
25
+ export { default as lazyLoadToolbar } from './react/lazyLoadToolbar';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.r = (exports1)=>{
5
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
+ value: 'Module'
7
+ });
8
+ Object.defineProperty(exports1, '__esModule', {
9
+ value: true
10
+ });
11
+ };
12
+ })();
13
+ var __webpack_exports__ = {};
14
+ __webpack_require__.r(__webpack_exports__);
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
+ Object.defineProperty(exports, '__esModule', {
17
+ value: true
18
+ });
19
+
20
+ //# sourceMappingURL=types-entry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-entry.cjs","sources":["webpack/runtime/make_namespace_object"],"sourcesContent":["// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","Symbol","Object"],"mappings":";;;IACAA,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,MAAlB,OAAOC,UAA0BA,OAAO,WAAW,EACrDC,OAAO,cAAc,CAAC,UAASD,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEC,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type-only exports for the LaunchDarkly Toolbar
3
+ *
4
+ * This entry point provides TypeScript types without any runtime code,
5
+ * useful for type-only imports in your application.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import type { InitializationConfig, ToolbarConfig } from '@launchdarkly/toolbar/types';
10
+ * ```
11
+ */
12
+ export type * from './types';
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.1.0",
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",
@@ -26,6 +28,19 @@
26
28
  "module": "./dist/js/index.js",
27
29
  "types": "./dist/index.d.ts",
28
30
  "typings": "./dist/index.d.ts",
31
+ "typesVersions": {
32
+ "*": {
33
+ "plugins": [
34
+ "./dist/plugins.d.ts"
35
+ ],
36
+ "react": [
37
+ "./dist/react.d.ts"
38
+ ],
39
+ "types": [
40
+ "./dist/types-entry.d.ts"
41
+ ]
42
+ }
43
+ },
29
44
  "sideEffects": false,
30
45
  "files": [
31
46
  "dist",
@@ -43,54 +58,97 @@
43
58
  "types": "./dist/index.d.ts",
44
59
  "default": "./dist/index.cjs"
45
60
  }
61
+ },
62
+ "./plugins": {
63
+ "import": {
64
+ "types": "./dist/plugins.d.ts",
65
+ "default": "./dist/js/plugins.js"
66
+ },
67
+ "require": {
68
+ "types": "./dist/plugins.d.ts",
69
+ "default": "./dist/plugins.cjs"
70
+ }
71
+ },
72
+ "./react": {
73
+ "import": {
74
+ "types": "./dist/react.d.ts",
75
+ "default": "./dist/js/react.js"
76
+ },
77
+ "require": {
78
+ "types": "./dist/react.d.ts",
79
+ "default": "./dist/react.cjs"
80
+ }
81
+ },
82
+ "./types": {
83
+ "import": {
84
+ "types": "./dist/types-entry.d.ts",
85
+ "default": "./dist/js/types-entry.js"
86
+ },
87
+ "require": {
88
+ "types": "./dist/types-entry.d.ts",
89
+ "default": "./dist/types-entry.cjs"
90
+ }
46
91
  }
47
92
  },
93
+ "scripts": {
94
+ "build": "pnpm run build:lib && pnpm run build:cdn",
95
+ "build:lib": "rslib build",
96
+ "build:cdn": "rslib build --config rslib.config.cdn.ts",
97
+ "dev": "rslib build --watch",
98
+ "dev:cdn": "rslib build --config rslib.config.cdn.ts --watch",
99
+ "test": "vitest run",
100
+ "lint": "oxlint",
101
+ "storybook": "storybook dev -p 6006",
102
+ "build:storybook": "storybook build"
103
+ },
48
104
  "devDependencies": {
49
- "@codemirror/commands": "^6.10.0",
105
+ "@codemirror/commands": "^6.10.1",
50
106
  "@codemirror/lang-json": "^6.0.2",
51
- "@codemirror/language": "^6.11.3",
52
- "@codemirror/lint": "^6.9.2",
53
- "@codemirror/state": "^6.5.2",
54
- "@codemirror/view": "^6.38.8",
55
- "@launchpad-ui/components": "^0.17.5",
107
+ "@codemirror/language": "^6.12.1",
108
+ "@codemirror/lint": "^6.9.3",
109
+ "@codemirror/state": "^6.5.4",
110
+ "@codemirror/view": "^6.39.11",
111
+ "@launchdarkly/observability": "^0.5.0",
112
+ "@launchdarkly/session-replay": "^0.5.1",
113
+ "@launchpad-ui/components": "^0.17.9",
56
114
  "@launchpad-ui/tokens": "^0.15.1",
57
- "@lezer/highlight": "^1.2.3",
58
- "@react-aria/focus": "^3.21.2",
115
+ "@lezer/highlight": "1.2.1",
116
+ "@react-aria/focus": "^3.21.3",
59
117
  "@react-stately/flags": "^3.1.2",
60
- "@rsbuild/core": "^1.6.7",
61
- "@rsbuild/plugin-react": "^1.4.2",
62
- "@rslib/core": "^0.18.0",
63
- "@storybook/addon-docs": "^10.0.8",
118
+ "@rsbuild/core": "^1.7.2",
119
+ "@rsbuild/plugin-react": "^1.4.3",
120
+ "@rslib/core": "^0.19.3",
121
+ "@storybook/addon-docs": "^10.1.11",
64
122
  "@storybook/addon-essentials": "^9.0.0-alpha.12",
65
123
  "@storybook/addon-interactions": "^9.0.0-alpha.10",
66
- "@storybook/addon-links": "^10.0.8",
67
- "@storybook/addon-onboarding": "^10.0.8",
124
+ "@storybook/addon-links": "^10.2.0",
125
+ "@storybook/addon-onboarding": "^10.1.10",
68
126
  "@storybook/blocks": "^9.0.0-alpha.17",
69
- "@storybook/react": "^10.0.8",
70
- "@storybook/react-vite": "^10.0.8",
127
+ "@storybook/react": "^10.2.0",
128
+ "@storybook/react-vite": "^10.1.11",
71
129
  "@storybook/test": "^9.0.0-alpha.2",
72
- "@tanstack/react-virtual": "^3.13.12",
130
+ "@tanstack/react-virtual": "^3.13.18",
73
131
  "@testing-library/jest-dom": "^6.9.1",
74
- "@testing-library/react": "^16.3.0",
75
- "@types/node": "^24.10.1",
76
- "@types/react": "19.2.6",
132
+ "@testing-library/react": "^16.3.2",
133
+ "@types/node": "^25.0.9",
134
+ "@types/react": "19.2.7",
77
135
  "@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",
136
+ "@vanilla-extract/css": "^1.18.0",
137
+ "@vanilla-extract/vite-plugin": "^5.1.4",
138
+ "@vanilla-extract/webpack-plugin": "^2.3.25",
139
+ "@vitest/coverage-v8": "4.0.16",
82
140
  "css-loader": "^7.1.2",
83
- "jsdom": "^27.2.0",
141
+ "jsdom": "^27.4.0",
84
142
  "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",
143
+ "motion": "^12.26.2",
144
+ "oxlint": "^1.41.0",
145
+ "react": "^19.2.3",
146
+ "react-dom": "^19.2.3",
147
+ "storybook": "^10.2.0",
148
+ "storybook-addon-rslib": "^3.2.2",
149
+ "storybook-react-rsbuild": "^3.2.2",
92
150
  "typescript": "^5.9.3",
93
- "vitest": "^4.0.13"
151
+ "vitest": "^4.0.18"
94
152
  },
95
153
  "peerDependencies": {
96
154
  "launchdarkly-js-client-sdk": ">=3.9.0 <4.0.0",
@@ -98,17 +156,7 @@
98
156
  "react-dom": "^18.0.0 || ^19.0.0"
99
157
  },
100
158
  "publishConfig": {
101
- "access": "public"
102
- },
103
- "scripts": {
104
- "build": "pnpm run build:lib && pnpm run build:cdn",
105
- "build:lib": "rslib build",
106
- "build:cdn": "rslib build --config rslib.config.cdn.ts",
107
- "dev": "rslib build --watch",
108
- "dev:cdn": "rslib build --config rslib.config.cdn.ts --watch",
109
- "test": "vitest run",
110
- "lint": "oxlint",
111
- "storybook": "storybook dev -p 6006",
112
- "build:storybook": "storybook build"
159
+ "access": "public",
160
+ "provenance": true
113
161
  }
114
- }
162
+ }
@@ -1,2 +0,0 @@
1
- export declare const basePopover: string;
2
- export declare const popover: string;
@@ -1,25 +0,0 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
- import { ActiveTabId } from '../types';
3
- export interface UseToolbarStateProps {
4
- domId: string;
5
- }
6
- export interface UseToolbarStateReturn {
7
- isExpanded: boolean;
8
- previousTab: ActiveTabId;
9
- isAnimating: boolean;
10
- searchIsExpanded: boolean;
11
- slideDirection: number;
12
- hasBeenExpanded: boolean;
13
- reloadOnFlagChangeIsEnabled: boolean;
14
- isAutoCollapseEnabled: boolean;
15
- toolbarRef: React.RefObject<HTMLDivElement | null>;
16
- handleTabChange: (tabId: string) => void;
17
- handleClose: () => void;
18
- handleSearch: (newSearchTerm: string) => void;
19
- handleToggleReloadOnFlagChange: () => void;
20
- handleToggleAutoCollapse: () => void;
21
- handleCircleClick: () => void;
22
- setIsAnimating: Dispatch<SetStateAction<boolean>>;
23
- setSearchIsExpanded: Dispatch<SetStateAction<boolean>>;
24
- }
25
- export declare function useToolbarState(props: UseToolbarStateProps): UseToolbarStateReturn;
@@ -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';