@atlaskit/tmp-editor-statsig 8.1.0 → 8.3.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/CHANGELOG.md +18 -0
- package/dist/cjs/exp-val-equals-no-exposure.js +5 -1
- package/dist/cjs/exp-val-equals.js +5 -1
- package/dist/cjs/experiments-config.js +8 -0
- package/dist/es2019/exp-val-equals-no-exposure.js +5 -2
- package/dist/es2019/exp-val-equals.js +5 -2
- package/dist/es2019/experiments-config.js +8 -0
- package/dist/esm/exp-val-equals-no-exposure.js +5 -1
- package/dist/esm/exp-val-equals.js +5 -1
- package/dist/esm/experiments-config.js +8 -0
- package/dist/types/editor-experiments-test-utils.d.ts +7 -1
- package/dist/types/exp-val-equals-no-exposure.d.ts +4 -1
- package/dist/types/exp-val-equals.d.ts +4 -1
- package/dist/types/experiments-config.d.ts +6 -0
- package/dist/types/setup.d.ts +1 -0
- package/dist/types-ts4.5/editor-experiments-test-utils.d.ts +7 -1
- package/dist/types-ts4.5/exp-val-equals-no-exposure.d.ts +4 -1
- package/dist/types-ts4.5/exp-val-equals.d.ts +4 -1
- package/dist/types-ts4.5/experiments-config.d.ts +6 -0
- package/dist/types-ts4.5/setup.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/editor-statsig-tmp
|
|
2
2
|
|
|
3
|
+
## 8.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#177692](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/177692)
|
|
8
|
+
[`19ab0513e027f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/19ab0513e027f) -
|
|
9
|
+
Add defaultValue parameter to expValEq and expValEqNoExposure to allow for checking default state
|
|
10
|
+
(e.g. false state) and avoid issue when experiment is not defined
|
|
11
|
+
|
|
12
|
+
## 8.2.0
|
|
13
|
+
|
|
14
|
+
### Minor Changes
|
|
15
|
+
|
|
16
|
+
- [#176094](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/176094)
|
|
17
|
+
[`09e338a3d7dab`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/09e338a3d7dab) -
|
|
18
|
+
[ED-28357] move find&replace work from behind feature gates to the new experiment
|
|
19
|
+
platform_editor_find_and_replace_improvements
|
|
20
|
+
|
|
3
21
|
## 8.1.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
|
@@ -10,6 +10,8 @@ var _expValEqualsInternal = require("./exp-val-equals-internal");
|
|
|
10
10
|
*
|
|
11
11
|
* !!! Note: This method never fires exposure. !!!
|
|
12
12
|
*
|
|
13
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
14
|
+
*
|
|
13
15
|
* @example Boolean experiment
|
|
14
16
|
* if (expValEqualsNoExposure('example-boolean', 'isEnabled', true)) {
|
|
15
17
|
* // Run code for on variant
|
|
@@ -27,9 +29,11 @@ var _expValEqualsInternal = require("./exp-val-equals-internal");
|
|
|
27
29
|
* @param experimentName - experiment key
|
|
28
30
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
29
31
|
* @param experimentExpectedValue - expected value to compare with
|
|
32
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
30
33
|
*
|
|
31
34
|
* @returns boolean
|
|
32
35
|
*/
|
|
33
36
|
function expValEqualsNoExposure(experimentName, experimentParam, experimentExpectedValue) {
|
|
34
|
-
|
|
37
|
+
var experimentDefaultValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
38
|
+
return (0, _expValEqualsInternal.expValEqualsInternal)(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue, false);
|
|
35
39
|
}
|
|
@@ -10,6 +10,8 @@ var _expValEqualsInternal = require("./exp-val-equals-internal");
|
|
|
10
10
|
*
|
|
11
11
|
* !!! Note: This method always fires exposure. !!!
|
|
12
12
|
*
|
|
13
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
14
|
+
*
|
|
13
15
|
* @example Boolean experiment
|
|
14
16
|
* if (expValEquals('example-boolean', 'isEnabled', true)) {
|
|
15
17
|
* // Run code for on variant
|
|
@@ -27,9 +29,11 @@ var _expValEqualsInternal = require("./exp-val-equals-internal");
|
|
|
27
29
|
* @param experimentName - experiment key
|
|
28
30
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
29
31
|
* @param experimentExpectedValue - expected value to compare with
|
|
32
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
30
33
|
*
|
|
31
34
|
* @returns boolean
|
|
32
35
|
*/
|
|
33
36
|
function expValEquals(experimentName, experimentParam, experimentExpectedValue) {
|
|
34
|
-
|
|
37
|
+
var experimentDefaultValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
38
|
+
return (0, _expValEqualsInternal.expValEqualsInternal)(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue, true);
|
|
35
39
|
}
|
|
@@ -470,5 +470,13 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
|
|
|
470
470
|
param: 'cohort',
|
|
471
471
|
values: ['control', 'test_blank', 'test_diagram'],
|
|
472
472
|
defaultValue: 'control'
|
|
473
|
+
}),
|
|
474
|
+
// Added 2025-06-24
|
|
475
|
+
platform_editor_find_and_replace_improvements: (0, _experimentBuilders.createBooleanExperiment)({
|
|
476
|
+
productKeys: {
|
|
477
|
+
confluence: 'platform_editor_find_and_replace_improvements'
|
|
478
|
+
},
|
|
479
|
+
param: 'isEnabled',
|
|
480
|
+
defaultValue: false
|
|
473
481
|
})
|
|
474
482
|
};
|
|
@@ -4,6 +4,8 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method never fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEqualsNoExposure('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,9 +23,10 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
|
-
export function expValEqualsNoExposure(experimentName, experimentParam, experimentExpectedValue) {
|
|
28
|
-
return expValEqualsInternal(experimentName, experimentParam, experimentExpectedValue,
|
|
30
|
+
export function expValEqualsNoExposure(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue = null) {
|
|
31
|
+
return expValEqualsInternal(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue, false);
|
|
29
32
|
}
|
|
@@ -4,6 +4,8 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method always fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEquals('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,9 +23,10 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
|
-
export function expValEquals(experimentName, experimentParam, experimentExpectedValue) {
|
|
28
|
-
return expValEqualsInternal(experimentName, experimentParam, experimentExpectedValue,
|
|
30
|
+
export function expValEquals(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue = null) {
|
|
31
|
+
return expValEqualsInternal(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue, true);
|
|
29
32
|
}
|
|
@@ -464,5 +464,13 @@ export const editorExperimentsConfig = {
|
|
|
464
464
|
param: 'cohort',
|
|
465
465
|
values: ['control', 'test_blank', 'test_diagram'],
|
|
466
466
|
defaultValue: 'control'
|
|
467
|
+
}),
|
|
468
|
+
// Added 2025-06-24
|
|
469
|
+
platform_editor_find_and_replace_improvements: createBooleanExperiment({
|
|
470
|
+
productKeys: {
|
|
471
|
+
confluence: 'platform_editor_find_and_replace_improvements'
|
|
472
|
+
},
|
|
473
|
+
param: 'isEnabled',
|
|
474
|
+
defaultValue: false
|
|
467
475
|
})
|
|
468
476
|
};
|
|
@@ -4,6 +4,8 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method never fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEqualsNoExposure('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,9 +23,11 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
30
|
export function expValEqualsNoExposure(experimentName, experimentParam, experimentExpectedValue) {
|
|
28
|
-
|
|
31
|
+
var experimentDefaultValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
32
|
+
return expValEqualsInternal(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue, false);
|
|
29
33
|
}
|
|
@@ -4,6 +4,8 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method always fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEquals('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,9 +23,11 @@ import { expValEqualsInternal } from './exp-val-equals-internal';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
30
|
export function expValEquals(experimentName, experimentParam, experimentExpectedValue) {
|
|
28
|
-
|
|
31
|
+
var experimentDefaultValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
32
|
+
return expValEqualsInternal(experimentName, experimentParam, experimentExpectedValue, experimentDefaultValue, true);
|
|
29
33
|
}
|
|
@@ -464,5 +464,13 @@ export var editorExperimentsConfig = {
|
|
|
464
464
|
param: 'cohort',
|
|
465
465
|
values: ['control', 'test_blank', 'test_diagram'],
|
|
466
466
|
defaultValue: 'control'
|
|
467
|
+
}),
|
|
468
|
+
// Added 2025-06-24
|
|
469
|
+
platform_editor_find_and_replace_improvements: createBooleanExperiment({
|
|
470
|
+
productKeys: {
|
|
471
|
+
confluence: 'platform_editor_find_and_replace_improvements'
|
|
472
|
+
},
|
|
473
|
+
param: 'isEnabled',
|
|
474
|
+
defaultValue: false
|
|
467
475
|
})
|
|
468
476
|
};
|
|
@@ -45,7 +45,7 @@ declare function eeTest<ExperimentName extends keyof EditorExperimentsConfig>(ex
|
|
|
45
45
|
false: DescribeBody;
|
|
46
46
|
}, otherExperiments?: EditorExperimentOverrides): void;
|
|
47
47
|
declare namespace eeTest {
|
|
48
|
-
var describe: <ExperimentName extends "platform_editor_reduce_noisy_steps_ncs" | "platform_editor_memoized_node_check" | "platform_editor_media_card_vc_wrapper_attribute" | "platform_editor_block_control_optimise_render" | "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "platform_editor_stable_editorview_classname" | "platform_editor_controls_performance_fixes" | "platform_editor_prevent_toolbar_layout_shifts" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_smart_link_cmd_ctrl_click" | "platform_editor_insertion" | "platform_editor_vanilla_dom" | "editor_text_highlight_orange_to_yellow" | "platform_editor_ai_proactive_ai_nudge_parameters" | "platform_editor_offline_editing_web" | "editor_ai_inline_suggestion_date_v2" | "platform_editor_tables_drag_and_drop" | "platform_editor_tables_table_selector" | "platform_editor_usesharedpluginstateselector" | "platform_renderer_fix_analytics_memo_callback" | "editor_ai_contextual_selection_toolbar_button" | "editor_ai_converge_free_gen_on_rovo" | "platform_editor_stop_width_reflows" | "platform_editor_core_static_emotion" | "platform_editor_core_static_emotion_non_central" | "editor_ai_comment_freegen_rovo" | "platform_editor_no_cursor_on_edit_page_init" | "confluence_p2m_style_recalc_and_expand_joint_exp" | "platform_editor_nodevisibility" | "platform_editor_breakout_resizing" | "platform_editor_ai_quickstart_command" | "platform_editor_hide_floating_toolbar_in_ssr" | "platform_editor_smart_card_open_overlay_perf" | "platform_editor_toolbar_rerender_optimization_exp" | "platform_editor_controls_toolbar_pinning_exp" | "platform_editor_block_controls_perf_optimization" | "platform_editor_defer_shadow_calculations" | "platform_editor_enable_single_player_step_merging" | "platform_editor_ai_iw_adf_streaming" | "confluence_whiteboards_quick_insert_aa">(experimentName: ExperimentName, describeName: string) => {
|
|
48
|
+
var describe: <ExperimentName extends "platform_editor_reduce_noisy_steps_ncs" | "platform_editor_memoized_node_check" | "platform_editor_media_card_vc_wrapper_attribute" | "platform_editor_block_control_optimise_render" | "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "platform_editor_stable_editorview_classname" | "platform_editor_controls_performance_fixes" | "platform_editor_prevent_toolbar_layout_shifts" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_smart_link_cmd_ctrl_click" | "platform_editor_insertion" | "platform_editor_vanilla_dom" | "editor_text_highlight_orange_to_yellow" | "platform_editor_ai_proactive_ai_nudge_parameters" | "platform_editor_offline_editing_web" | "editor_ai_inline_suggestion_date_v2" | "platform_editor_tables_drag_and_drop" | "platform_editor_tables_table_selector" | "platform_editor_usesharedpluginstateselector" | "platform_renderer_fix_analytics_memo_callback" | "editor_ai_contextual_selection_toolbar_button" | "editor_ai_converge_free_gen_on_rovo" | "platform_editor_stop_width_reflows" | "platform_editor_core_static_emotion" | "platform_editor_core_static_emotion_non_central" | "editor_ai_comment_freegen_rovo" | "platform_editor_no_cursor_on_edit_page_init" | "confluence_p2m_style_recalc_and_expand_joint_exp" | "platform_editor_nodevisibility" | "platform_editor_breakout_resizing" | "platform_editor_ai_quickstart_command" | "platform_editor_hide_floating_toolbar_in_ssr" | "platform_editor_smart_card_open_overlay_perf" | "platform_editor_toolbar_rerender_optimization_exp" | "platform_editor_controls_toolbar_pinning_exp" | "platform_editor_block_controls_perf_optimization" | "platform_editor_defer_shadow_calculations" | "platform_editor_enable_single_player_step_merging" | "platform_editor_ai_iw_adf_streaming" | "confluence_whiteboards_quick_insert_aa" | "platform_editor_find_and_replace_improvements">(experimentName: ExperimentName, describeName: string) => {
|
|
49
49
|
variant: (value: {
|
|
50
50
|
platform_editor_reduce_noisy_steps_ncs: {
|
|
51
51
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
@@ -392,6 +392,12 @@ declare namespace eeTest {
|
|
|
392
392
|
productKeys?: import("./types").ProductKeys | undefined;
|
|
393
393
|
param: string;
|
|
394
394
|
};
|
|
395
|
+
platform_editor_find_and_replace_improvements: {
|
|
396
|
+
typeGuard: typeof import("./type-guards").isBoolean;
|
|
397
|
+
defaultValue: boolean;
|
|
398
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
399
|
+
param: string;
|
|
400
|
+
};
|
|
395
401
|
}[ExperimentName]["defaultValue"], describeBody: jest.EmptyFunction) => void;
|
|
396
402
|
each: (describeBody: jest.EmptyFunction) => void;
|
|
397
403
|
};
|
|
@@ -4,6 +4,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method never fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEqualsNoExposure('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,7 +23,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
|
-
export declare function expValEqualsNoExposure<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue']): boolean;
|
|
30
|
+
export declare function expValEqualsNoExposure<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue'], experimentDefaultValue?: EditorExperimentsConfig[ExperimentName]['defaultValue'] | null): boolean;
|
|
@@ -4,6 +4,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method always fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEquals('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,7 +23,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
|
-
export declare function expValEquals<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue']): boolean;
|
|
30
|
+
export declare function expValEquals<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue'], experimentDefaultValue?: EditorExperimentsConfig[ExperimentName]['defaultValue'] | null): boolean;
|
|
@@ -350,4 +350,10 @@ export declare const editorExperimentsConfig: {
|
|
|
350
350
|
productKeys?: import("./types").ProductKeys | undefined;
|
|
351
351
|
param: string;
|
|
352
352
|
};
|
|
353
|
+
platform_editor_find_and_replace_improvements: {
|
|
354
|
+
typeGuard: typeof import("./type-guards").isBoolean;
|
|
355
|
+
defaultValue: boolean;
|
|
356
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
357
|
+
param: string;
|
|
358
|
+
};
|
|
353
359
|
};
|
package/dist/types/setup.d.ts
CHANGED
|
@@ -64,6 +64,7 @@ export declare let _overrides: Partial<{
|
|
|
64
64
|
platform_editor_enable_single_player_step_merging: boolean;
|
|
65
65
|
platform_editor_ai_iw_adf_streaming: boolean;
|
|
66
66
|
confluence_whiteboards_quick_insert_aa: "control" | "test_blank" | "test_diagram";
|
|
67
|
+
platform_editor_find_and_replace_improvements: boolean;
|
|
67
68
|
}>;
|
|
68
69
|
export declare let _paramOverrides: EditorExperimentParamOverrides;
|
|
69
70
|
export declare let _product: 'confluence' | 'jira' | 'test' | undefined;
|
|
@@ -45,7 +45,7 @@ declare function eeTest<ExperimentName extends keyof EditorExperimentsConfig>(ex
|
|
|
45
45
|
false: DescribeBody;
|
|
46
46
|
}, otherExperiments?: EditorExperimentOverrides): void;
|
|
47
47
|
declare namespace eeTest {
|
|
48
|
-
var describe: <ExperimentName extends "platform_editor_reduce_noisy_steps_ncs" | "platform_editor_memoized_node_check" | "platform_editor_media_card_vc_wrapper_attribute" | "platform_editor_block_control_optimise_render" | "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "platform_editor_stable_editorview_classname" | "platform_editor_controls_performance_fixes" | "platform_editor_prevent_toolbar_layout_shifts" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_smart_link_cmd_ctrl_click" | "platform_editor_insertion" | "platform_editor_vanilla_dom" | "editor_text_highlight_orange_to_yellow" | "platform_editor_ai_proactive_ai_nudge_parameters" | "platform_editor_offline_editing_web" | "editor_ai_inline_suggestion_date_v2" | "platform_editor_tables_drag_and_drop" | "platform_editor_tables_table_selector" | "platform_editor_usesharedpluginstateselector" | "platform_renderer_fix_analytics_memo_callback" | "editor_ai_contextual_selection_toolbar_button" | "editor_ai_converge_free_gen_on_rovo" | "platform_editor_stop_width_reflows" | "platform_editor_core_static_emotion" | "platform_editor_core_static_emotion_non_central" | "editor_ai_comment_freegen_rovo" | "platform_editor_no_cursor_on_edit_page_init" | "confluence_p2m_style_recalc_and_expand_joint_exp" | "platform_editor_nodevisibility" | "platform_editor_breakout_resizing" | "platform_editor_ai_quickstart_command" | "platform_editor_hide_floating_toolbar_in_ssr" | "platform_editor_smart_card_open_overlay_perf" | "platform_editor_toolbar_rerender_optimization_exp" | "platform_editor_controls_toolbar_pinning_exp" | "platform_editor_block_controls_perf_optimization" | "platform_editor_defer_shadow_calculations" | "platform_editor_enable_single_player_step_merging" | "platform_editor_ai_iw_adf_streaming" | "confluence_whiteboards_quick_insert_aa">(experimentName: ExperimentName, describeName: string) => {
|
|
48
|
+
var describe: <ExperimentName extends "platform_editor_reduce_noisy_steps_ncs" | "platform_editor_memoized_node_check" | "platform_editor_media_card_vc_wrapper_attribute" | "platform_editor_block_control_optimise_render" | "example-boolean" | "example-multivariate" | "test-new-experiments-package" | "support_table_in_comment" | "platform_editor_exp_lazy_node_views" | "platform_renderer_table_sticky_scrollbar" | "platform_editor_stable_editorview_classname" | "platform_editor_controls_performance_fixes" | "platform_editor_prevent_toolbar_layout_shifts" | "comment_on_bodied_extensions" | "advanced_layouts" | "single_column_layouts" | "support_table_in_comment_jira" | "platform_editor_ai-prompts-placeholder" | "nested-tables-in-tables" | "platform_editor_ai_unsplash_page_header" | "platform_editor_blockquote_in_text_formatting_menu" | "platform_editor_advanced_code_blocks" | "platform_editor_element_drag_and_drop_multiselect" | "platform_editor_ai_edit_response_in_preview" | "platform_editor_controls" | "platform_editor_smart_link_cmd_ctrl_click" | "platform_editor_insertion" | "platform_editor_vanilla_dom" | "editor_text_highlight_orange_to_yellow" | "platform_editor_ai_proactive_ai_nudge_parameters" | "platform_editor_offline_editing_web" | "editor_ai_inline_suggestion_date_v2" | "platform_editor_tables_drag_and_drop" | "platform_editor_tables_table_selector" | "platform_editor_usesharedpluginstateselector" | "platform_renderer_fix_analytics_memo_callback" | "editor_ai_contextual_selection_toolbar_button" | "editor_ai_converge_free_gen_on_rovo" | "platform_editor_stop_width_reflows" | "platform_editor_core_static_emotion" | "platform_editor_core_static_emotion_non_central" | "editor_ai_comment_freegen_rovo" | "platform_editor_no_cursor_on_edit_page_init" | "confluence_p2m_style_recalc_and_expand_joint_exp" | "platform_editor_nodevisibility" | "platform_editor_breakout_resizing" | "platform_editor_ai_quickstart_command" | "platform_editor_hide_floating_toolbar_in_ssr" | "platform_editor_smart_card_open_overlay_perf" | "platform_editor_toolbar_rerender_optimization_exp" | "platform_editor_controls_toolbar_pinning_exp" | "platform_editor_block_controls_perf_optimization" | "platform_editor_defer_shadow_calculations" | "platform_editor_enable_single_player_step_merging" | "platform_editor_ai_iw_adf_streaming" | "confluence_whiteboards_quick_insert_aa" | "platform_editor_find_and_replace_improvements">(experimentName: ExperimentName, describeName: string) => {
|
|
49
49
|
variant: (value: {
|
|
50
50
|
platform_editor_reduce_noisy_steps_ncs: {
|
|
51
51
|
typeGuard: typeof import("./type-guards").isBoolean;
|
|
@@ -392,6 +392,12 @@ declare namespace eeTest {
|
|
|
392
392
|
productKeys?: import("./types").ProductKeys | undefined;
|
|
393
393
|
param: string;
|
|
394
394
|
};
|
|
395
|
+
platform_editor_find_and_replace_improvements: {
|
|
396
|
+
typeGuard: typeof import("./type-guards").isBoolean;
|
|
397
|
+
defaultValue: boolean;
|
|
398
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
399
|
+
param: string;
|
|
400
|
+
};
|
|
395
401
|
}[ExperimentName]["defaultValue"], describeBody: jest.EmptyFunction) => void;
|
|
396
402
|
each: (describeBody: jest.EmptyFunction) => void;
|
|
397
403
|
};
|
|
@@ -4,6 +4,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method never fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEqualsNoExposure('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,7 +23,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
|
-
export declare function expValEqualsNoExposure<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue']): boolean;
|
|
30
|
+
export declare function expValEqualsNoExposure<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue'], experimentDefaultValue?: EditorExperimentsConfig[ExperimentName]['defaultValue'] | null): boolean;
|
|
@@ -4,6 +4,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
4
4
|
*
|
|
5
5
|
* !!! Note: This method always fires exposure. !!!
|
|
6
6
|
*
|
|
7
|
+
* IMPORTANT: If experiment is not defined default value will be null, unless provided otherwise.
|
|
8
|
+
*
|
|
7
9
|
* @example Boolean experiment
|
|
8
10
|
* if (expValEquals('example-boolean', 'isEnabled', true)) {
|
|
9
11
|
* // Run code for on variant
|
|
@@ -21,7 +23,8 @@ import { type EditorExperimentsConfig } from './experiments-config';
|
|
|
21
23
|
* @param experimentName - experiment key
|
|
22
24
|
* @param experimentParam - the name of the parameter to fetch from the experiment config
|
|
23
25
|
* @param experimentExpectedValue - expected value to compare with
|
|
26
|
+
* @param experimentDefaultValue - default value to use if the experiment is not defined.
|
|
24
27
|
*
|
|
25
28
|
* @returns boolean
|
|
26
29
|
*/
|
|
27
|
-
export declare function expValEquals<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue']): boolean;
|
|
30
|
+
export declare function expValEquals<ExperimentName extends keyof EditorExperimentsConfig>(experimentName: ExperimentName, experimentParam: EditorExperimentsConfig[ExperimentName]['param'], experimentExpectedValue: EditorExperimentsConfig[ExperimentName]['defaultValue'], experimentDefaultValue?: EditorExperimentsConfig[ExperimentName]['defaultValue'] | null): boolean;
|
|
@@ -350,4 +350,10 @@ export declare const editorExperimentsConfig: {
|
|
|
350
350
|
productKeys?: import("./types").ProductKeys | undefined;
|
|
351
351
|
param: string;
|
|
352
352
|
};
|
|
353
|
+
platform_editor_find_and_replace_improvements: {
|
|
354
|
+
typeGuard: typeof import("./type-guards").isBoolean;
|
|
355
|
+
defaultValue: boolean;
|
|
356
|
+
productKeys?: import("./types").ProductKeys | undefined;
|
|
357
|
+
param: string;
|
|
358
|
+
};
|
|
353
359
|
};
|
|
@@ -64,6 +64,7 @@ export declare let _overrides: Partial<{
|
|
|
64
64
|
platform_editor_enable_single_player_step_merging: boolean;
|
|
65
65
|
platform_editor_ai_iw_adf_streaming: boolean;
|
|
66
66
|
confluence_whiteboards_quick_insert_aa: "control" | "test_blank" | "test_diagram";
|
|
67
|
+
platform_editor_find_and_replace_improvements: boolean;
|
|
67
68
|
}>;
|
|
68
69
|
export declare let _paramOverrides: EditorExperimentParamOverrides;
|
|
69
70
|
export declare let _product: 'confluence' | 'jira' | 'test' | undefined;
|
package/package.json
CHANGED