@launchdarkly/toolbar 1.1.2 → 1.2.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.
- package/cdn/toolbar.min.js +7 -7
- package/dist/core/ui/Toolbar/components/FilterOptions/ClearButton.css.d.ts +2 -0
- package/dist/core/ui/Toolbar/components/FilterOptions/ClearButton.d.ts +8 -0
- package/dist/core/ui/Toolbar/components/FilterOptions/FilterOptions.css.d.ts +4 -0
- package/dist/core/ui/Toolbar/components/FilterOptions/FilterOptions.d.ts +10 -0
- package/dist/core/ui/Toolbar/components/FilterOptions/useFlagFilterOptions.d.ts +13 -0
- package/dist/core/ui/Toolbar/components/LocalObjectFlagControlListItem.d.ts +1 -0
- package/dist/core/ui/Toolbar/components/StarButton.css.d.ts +2 -0
- package/dist/core/ui/Toolbar/components/StarButton.d.ts +7 -0
- package/dist/core/ui/Toolbar/components/icons/CancelIcon.d.ts +5 -0
- package/dist/core/ui/Toolbar/components/icons/StarIcon.d.ts +5 -0
- package/dist/core/ui/Toolbar/components/icons/StarOutlineIcon.d.ts +5 -0
- package/dist/core/ui/Toolbar/components/icons/index.d.ts +3 -1
- package/dist/core/ui/Toolbar/components/index.d.ts +2 -0
- package/dist/core/ui/Toolbar/context/StarredFlagsProvider.d.ts +12 -0
- package/dist/core/ui/Toolbar/context/index.d.ts +1 -0
- package/dist/core/ui/Toolbar/utils/localStorage.d.ts +3 -0
- package/dist/core/utils/analytics.d.ts +8 -4
- package/dist/index.cjs +1 -1
- package/dist/js/index.js +1 -1
- package/package.json +14 -14
- package/dist/core/ui/Toolbar/components/icons/XIcon.d.ts +0 -5
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface FilterOptionsProps {
|
|
2
|
+
totalFlags: number;
|
|
3
|
+
filteredFlags: number;
|
|
4
|
+
totalOverriddenFlags: number;
|
|
5
|
+
starredCount: number;
|
|
6
|
+
onClearOverrides?: () => void;
|
|
7
|
+
onClearStarred?: () => void;
|
|
8
|
+
isLoading?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function FilterOptions(props: FilterOptionsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const FILTER_MODES: {
|
|
2
|
+
readonly ALL: "all";
|
|
3
|
+
readonly OVERRIDES: "overrides";
|
|
4
|
+
readonly STARRED: "starred";
|
|
5
|
+
};
|
|
6
|
+
export type FlagFilterMode = (typeof FILTER_MODES)[keyof typeof FILTER_MODES];
|
|
7
|
+
interface FlagFilterOptionsContextType {
|
|
8
|
+
activeFilters: Set<FlagFilterMode>;
|
|
9
|
+
onFilterToggle: (filter: FlagFilterMode) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const FlagFilterOptionsContext: import("react").Context<FlagFilterOptionsContextType | undefined>;
|
|
12
|
+
export declare const useFlagFilterOptions: () => FlagFilterOptionsContextType;
|
|
13
|
+
export {};
|
|
@@ -4,6 +4,7 @@ interface LocalObjectFlagControlListItemProps {
|
|
|
4
4
|
handleClearOverride: (key: string) => void;
|
|
5
5
|
handleOverride: (flagKey: string, value: any) => void;
|
|
6
6
|
handleHeightChange: (height: number) => void;
|
|
7
|
+
onToggleStarred?: (flagKey: string) => void;
|
|
7
8
|
flag: LocalFlag | EnhancedFlag;
|
|
8
9
|
size: number;
|
|
9
10
|
start: number;
|
|
@@ -9,4 +9,6 @@ export { ToggleOffIcon } from './ToggleOffIcon';
|
|
|
9
9
|
export { GearIcon } from './GearIcon';
|
|
10
10
|
export { DeleteIcon } from './DeleteIcon';
|
|
11
11
|
export { CancelCircleIcon } from './CancelCircleIcon';
|
|
12
|
-
export {
|
|
12
|
+
export { CancelIcon } from './CancelIcon';
|
|
13
|
+
export { StarIcon } from './StarIcon';
|
|
14
|
+
export { StarOutlineIcon } from './StarOutlineIcon';
|
|
@@ -7,3 +7,5 @@ export { LaunchDarklyIcon } from './icons/LaunchDarklyIcon';
|
|
|
7
7
|
export { StatusDot } from './StatusDot';
|
|
8
8
|
export { TabContentRenderer } from './TabContentRenderer';
|
|
9
9
|
export { ErrorMessage } from './ErrorMessage';
|
|
10
|
+
export { type FlagFilterMode, FlagFilterOptionsContext, useFlagFilterOptions, } from './FilterOptions/useFlagFilterOptions';
|
|
11
|
+
export { FilterOptions } from './FilterOptions/FilterOptions';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type StarredFlagsContextType = {
|
|
3
|
+
toggleStarred: (flagKey: string) => void;
|
|
4
|
+
isStarred: (flagKey: string) => boolean;
|
|
5
|
+
clearAllStarred: () => void;
|
|
6
|
+
starredCount: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function StarredFlagsProvider({ children }: {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function useStarredFlags(): StarredFlagsContextType;
|
|
12
|
+
export {};
|
|
@@ -3,3 +3,4 @@ export { SearchProvider, useSearchContext } from './SearchProvider';
|
|
|
3
3
|
export { ToolbarUIProvider, useToolbarUIContext } from './ToolbarUIProvider';
|
|
4
4
|
export { FlagSdkOverrideProvider, useFlagSdkOverrideContext, type LocalFlag, type FlagSdkOverrideContextType, } from './FlagSdkOverrideProvider';
|
|
5
5
|
export { AnalyticsProvider, useAnalytics } from './AnalyticsProvider';
|
|
6
|
+
export { StarredFlagsProvider, useStarredFlags } from './StarredFlagsProvider';
|
|
@@ -3,6 +3,7 @@ export declare const TOOLBAR_STORAGE_KEYS: {
|
|
|
3
3
|
readonly SETTINGS: "ld-toolbar-settings";
|
|
4
4
|
readonly DISABLED: "ld-toolbar-disabled";
|
|
5
5
|
readonly PROJECT: "ld-toolbar-project";
|
|
6
|
+
readonly STARRED_FLAGS: "ld-toolbar-starred-flags";
|
|
6
7
|
};
|
|
7
8
|
export interface ToolbarSettings {
|
|
8
9
|
position: ToolbarPosition;
|
|
@@ -16,3 +17,5 @@ export declare function saveToolbarAutoCollapse(autoCollapse: boolean): void;
|
|
|
16
17
|
export declare function loadToolbarAutoCollapse(): boolean;
|
|
17
18
|
export declare function saveReloadOnFlagChange(isReloadOnFlagChange: boolean): void;
|
|
18
19
|
export declare function loadReloadOnFlagChange(): boolean;
|
|
20
|
+
export declare function loadStarredFlags(): Set<string>;
|
|
21
|
+
export declare function saveStarredFlags(starredFlags: Set<string>): void;
|
|
@@ -40,13 +40,17 @@ export declare class ToolbarAnalytics {
|
|
|
40
40
|
*/
|
|
41
41
|
trackFlagOverride(flagKey: string, value: unknown, action: 'set' | 'remove' | 'clear_all'): void;
|
|
42
42
|
/**
|
|
43
|
-
* Track
|
|
43
|
+
* Track starred flag events
|
|
44
44
|
*/
|
|
45
|
-
|
|
45
|
+
trackStarredFlag(flagKey: string, action: 'star' | 'unstar' | 'clear_all'): void;
|
|
46
|
+
/**
|
|
47
|
+
* Track filter changes
|
|
48
|
+
*/
|
|
49
|
+
trackFilterChange(filter: 'all' | 'overrides' | 'starred', action: 'selected' | 'deselected'): void;
|
|
46
50
|
/**
|
|
47
|
-
* Track
|
|
51
|
+
* Track opening a flag deeplink
|
|
48
52
|
*/
|
|
49
|
-
|
|
53
|
+
trackOpenFlagDeeplink(flagKey: string, baseUrl: string): void;
|
|
50
54
|
/**
|
|
51
55
|
* Track Event clicks
|
|
52
56
|
*/
|
package/dist/index.cjs
CHANGED
package/dist/js/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"private": false,
|
|
3
3
|
"name": "@launchdarkly/toolbar",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"description": "A React component that provides a developer-friendly toolbar for interacting with LaunchDarkly during development",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"launchdarkly",
|
|
@@ -49,22 +49,22 @@
|
|
|
49
49
|
"@codemirror/commands": "^6.10.0",
|
|
50
50
|
"@codemirror/lang-json": "^6.0.2",
|
|
51
51
|
"@codemirror/language": "^6.11.3",
|
|
52
|
-
"@codemirror/lint": "^6.9.
|
|
52
|
+
"@codemirror/lint": "^6.9.2",
|
|
53
53
|
"@codemirror/state": "^6.5.2",
|
|
54
|
-
"@codemirror/view": "^6.38.
|
|
55
|
-
"@launchpad-ui/components": "^0.
|
|
54
|
+
"@codemirror/view": "^6.38.6",
|
|
55
|
+
"@launchpad-ui/components": "^0.17.5",
|
|
56
56
|
"@launchpad-ui/tokens": "^0.15.1",
|
|
57
|
-
"@lezer/highlight": "^1.2.
|
|
57
|
+
"@lezer/highlight": "^1.2.3",
|
|
58
58
|
"@react-aria/focus": "^3.21.2",
|
|
59
59
|
"@react-stately/flags": "^3.1.2",
|
|
60
|
-
"@rsbuild/core": "^1.6.
|
|
61
|
-
"@rsbuild/plugin-react": "^1.4.
|
|
60
|
+
"@rsbuild/core": "^1.6.3",
|
|
61
|
+
"@rsbuild/plugin-react": "^1.4.2",
|
|
62
62
|
"@rslib/core": "^0.17.0",
|
|
63
|
-
"@storybook/addon-docs": "^10.0.
|
|
63
|
+
"@storybook/addon-docs": "^10.0.7",
|
|
64
64
|
"@storybook/addon-essentials": "^9.0.0-alpha.12",
|
|
65
65
|
"@storybook/addon-interactions": "^9.0.0-alpha.10",
|
|
66
66
|
"@storybook/addon-links": "^10.0.2",
|
|
67
|
-
"@storybook/addon-onboarding": "^10.0.
|
|
67
|
+
"@storybook/addon-onboarding": "^10.0.6",
|
|
68
68
|
"@storybook/blocks": "^9.0.0-alpha.17",
|
|
69
69
|
"@storybook/react": "^10.0.4",
|
|
70
70
|
"@storybook/react-vite": "^9.0.5",
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
"@vanilla-extract/webpack-plugin": "^2.3.22",
|
|
81
81
|
"@vitest/coverage-v8": "4.0.5",
|
|
82
82
|
"css-loader": "^7.1.2",
|
|
83
|
-
"jsdom": "^27.0
|
|
83
|
+
"jsdom": "^27.2.0",
|
|
84
84
|
"launchdarkly-js-client-sdk": "^3.9.0",
|
|
85
85
|
"motion": "^12.19.2",
|
|
86
86
|
"oxlint": "^1.24.0",
|
|
87
|
-
"react": "^19.
|
|
88
|
-
"react-dom": "^19.
|
|
87
|
+
"react": "^19.2.0",
|
|
88
|
+
"react-dom": "^19.2.0",
|
|
89
89
|
"storybook": "^9.1.16",
|
|
90
|
-
"storybook-addon-rslib": "^2.1.
|
|
90
|
+
"storybook-addon-rslib": "^2.1.4",
|
|
91
91
|
"storybook-react-rsbuild": "^2.1.2",
|
|
92
92
|
"typescript": "^5.9.3",
|
|
93
|
-
"vitest": "^4.0.
|
|
93
|
+
"vitest": "^4.0.8"
|
|
94
94
|
},
|
|
95
95
|
"peerDependencies": {
|
|
96
96
|
"launchdarkly-js-client-sdk": ">=3.9.0 <4.0.0",
|