@genesislcap/foundation-header 14.497.0 → 14.498.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.
@@ -359,7 +359,7 @@
359
359
  "type": {
360
360
  "text": "Record<string, TemplateComponents>"
361
361
  },
362
- "default": "{\n zero: {\n icon: 'zero-icon',\n button: 'zero-button',\n connectionIndicator: 'zero-connection-indicator',\n aiIndicator: 'zero-ai-indicator',\n environmentIndicator: 'zero-environment-indicator',\n select: 'zero-select',\n option: 'zero-option',\n flyout: 'zero-flyout',\n provider: 'zero-design-system-provider',\n },\n rapid: {\n icon: 'rapid-icon',\n button: 'rapid-button',\n connectionIndicator: 'rapid-connection-indicator',\n aiIndicator: 'rapid-ai-indicator',\n environmentIndicator: 'rapid-environment-indicator',\n select: 'rapid-select',\n option: 'rapid-option',\n flyout: 'rapid-flyout',\n provider: 'rapid-design-system-provider',\n },\n}",
362
+ "default": "{\n zero: {\n icon: 'zero-icon',\n button: 'zero-button',\n connectionIndicator: 'zero-connection-indicator',\n aiIndicator: 'zero-ai-indicator',\n environmentIndicator: 'zero-environment-indicator',\n select: 'zero-select',\n option: 'zero-option',\n multiselect: 'zero-multiselect',\n flyout: 'zero-flyout',\n provider: 'zero-design-system-provider',\n },\n rapid: {\n icon: 'rapid-icon',\n button: 'rapid-button',\n connectionIndicator: 'rapid-connection-indicator',\n aiIndicator: 'rapid-ai-indicator',\n environmentIndicator: 'rapid-environment-indicator',\n select: 'rapid-select',\n option: 'rapid-option',\n multiselect: 'rapid-multiselect',\n flyout: 'rapid-flyout',\n provider: 'rapid-design-system-provider',\n },\n}",
363
363
  "description": "templateOptionsByDesiginSystemPrefix.",
364
364
  "privacy": "public"
365
365
  },
@@ -410,6 +410,12 @@
410
410
  }
411
411
  ]
412
412
  },
413
+ {
414
+ "kind": "javascript-module",
415
+ "path": "src/main/feature-flags-nav.ts",
416
+ "declarations": [],
417
+ "exports": []
418
+ },
413
419
  {
414
420
  "kind": "javascript-module",
415
421
  "path": "src/main/index.ts",
@@ -475,7 +481,7 @@
475
481
  {
476
482
  "kind": "variable",
477
483
  "name": "navTemplate",
478
- "default": "html<Navigation>`\n ${when((x) => !x.hideSideBar, sideNavTemplate)}\n <div\n class=\"nav-listbox\"\n data-test-id=\"nav-bar\"\n part=\"root\"\n role=\"navigation\"\n aria-label=\"Main menu\"\n >\n ${app.registerElementsTarget<HeaderTargetId>('header-start')}\n <div class=\"nav-leftside\">\n ${app.registerElementsTarget<NavTargetId>('nav-start')}\n ${when(\n (x) => !x.hideSideBar,\n html<Navigation>`\n <${buttonTag}\n class=\"bars-container\"\n @click=${(x) => x.toggleNavVisibility()}\n data-test-id=\"hamburger-menu\"\n aria-label=\"Toggle side menu\"\n aria-controls=\"side-nav\"\n aria-expanded=${(x) => x.sideNavOpen}\n appearance=\"stealth\"\n @focusin=${(x) => x.closeNav()}\n >\n <${iconTag}\n name=\"bars\"\n part=\"nav-visibility-icon\"\n class=\"nav-visibility-icon\"\n >\n </${iconTag}>\n </${buttonTag}>\n `,\n )}\n <div class=\"logo-container\" data-test-id=\"nav-bar-logo\">\n <img\n src=${(x) => x.logoSrc}\n class=\"logo\"\n part=\"logo\"\n data-test-id=\"logo\"\n alt=\"${(x) => x.logoAltText}\"\n />\n </div>\n <slot name=\"routes\" data-test-id=\"route-buttons\">\n ${(x) => (x.routeNavItems ? routeNavItemsTemplate('header') : defaultRouteNavItemsTemplate)}\n </slot>\n ${app.registerElementsTarget<NavTargetId>('nav')}\n </div>\n <div class=\"nav-rightside\">\n <slot name=\"routes-end\" data-test-id=\"route-end-buttons\"></slot>\n ${when(\n (x) => x.showEnvironmentIndicator,\n html<Navigation>`\n <${environmentIndicatorTag} class=\"environment-indicator\"></${environmentIndicatorTag}>\n `,\n )}\n ${when(\n (x) => x.showControlPanel,\n html<Navigation>`\n <div\n class=\"icon-container\"\n part=\"control-panel-button\"\n aria-label=\"Control Panel toggle\"\n >\n <${iconTag}\n name=\"cog\"\n data-test-id=\"control-panel-icon\"\n @click=${(x) => x.toggleControlPanel()}>\n </${iconTag}>\n </div>\n `,\n )}\n ${app.registerElementsTarget<NavTargetId>('nav-end')}\n ${when(\n (x) => x.showLuminanceToggleButton,\n html<Navigation>`\n <div\n class=\"icon-container\"\n data-test-id=\"luminance-toggle-button\"\n part=\"luminance-button\"\n aria-label=\"Luminance toggle\"\n >\n <${iconTag}\n @click=${(x) => x.luminanceIconEvent()}\n variant=\"regular\"\n name=\"moon\"\n part=\"luminance-icon\"\n ></${iconTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showMiscToggleButton,\n html<Navigation>`\n <div class=\"icon-container\" data-test-id=\"misc-toggle-button\" part=\"misc-button\" aria-label=\"Misc icon\">\n <${iconTag} @click=${(x) => x.miscIconEvent()} name=\"th\" part=\"misc-icon\">\n </${iconTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showConnectionIndicator,\n html<Navigation>`\n <div class=\"connection-indicator-container\" data-test-id=\"connection-indicator\">\n <${connectionIndicatorTag} show-label=\"false\">\n </${connectionIndicatorTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showAiIndicator && isAIFeatureEnabled(),\n html<Navigation>`\n <div class=\"ai-indicator-container\" data-test-id=\"ai-indicator\">\n <${aiIndicatorTag}>\n </${aiIndicatorTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showLanguageSelector && x.languageOptions,\n html<Navigation>`\n <${selectTag}\n class=\"language-selector\"\n position=\"below\"\n data-test-id=\"language-selector\"\n part=\"language-selector\"\n @change=\"${(x, c) => x.changeLanguage(c.event as CustomEvent)}\"\n aria-label=\"Language selector\"\n >\n ${repeat(\n (x) => x.languageOptions.availableLanguages,\n html`\n <${optionTag}\n value=\"${(x) => x}\"\n ?selected=\"${(x, c) => x === c.parent.languageOptions.selectedLanguage}\"\n >\n ${(x) => x.toUpperCase()}\n </${optionTag}>\n `,\n )}\n </${selectTag}>\n `,\n )}\n ${() => accountMenuTemplate}\n </div>\n ${when(\n (x) => x.showControlPanel,\n html<Navigation>`\n <control-panel ${ref('controlPanel')}></control-panel>\n `,\n )}\n ${app.registerElementsTarget<HeaderTargetId>(['header', 'header-end'])}\n </div>\n`",
484
+ "default": "html<Navigation>`\n ${when((x) => !x.hideSideBar, sideNavTemplate)}\n <div\n class=\"nav-listbox\"\n data-test-id=\"nav-bar\"\n part=\"root\"\n role=\"navigation\"\n aria-label=\"Main menu\"\n >\n ${app.registerElementsTarget<HeaderTargetId>('header-start')}\n <div class=\"nav-leftside\">\n ${app.registerElementsTarget<NavTargetId>('nav-start')}\n ${when(\n (x) => !x.hideSideBar,\n html<Navigation>`\n <${buttonTag}\n class=\"bars-container\"\n @click=${(x) => x.toggleNavVisibility()}\n data-test-id=\"hamburger-menu\"\n aria-label=\"Toggle side menu\"\n aria-controls=\"side-nav\"\n aria-expanded=${(x) => x.sideNavOpen}\n appearance=\"stealth\"\n @focusin=${(x) => x.closeNav()}\n >\n <${iconTag}\n name=\"bars\"\n part=\"nav-visibility-icon\"\n class=\"nav-visibility-icon\"\n >\n </${iconTag}>\n </${buttonTag}>\n `,\n )}\n <div class=\"logo-container\" data-test-id=\"nav-bar-logo\">\n <img\n src=${(x) => x.logoSrc}\n class=\"logo\"\n part=\"logo\"\n data-test-id=\"logo\"\n alt=\"${(x) => x.logoAltText}\"\n />\n </div>\n <slot name=\"routes\" data-test-id=\"route-buttons\">\n ${(x) => (x.routeNavItems ? routeNavItemsTemplate('header') : defaultRouteNavItemsTemplate)}\n </slot>\n ${app.registerElementsTarget<NavTargetId>('nav')}\n </div>\n <div class=\"nav-rightside\">\n <slot name=\"routes-end\" data-test-id=\"route-end-buttons\"></slot>\n ${when(\n (x) => x.showEnvironmentIndicator,\n html<Navigation>`\n <${environmentIndicatorTag} class=\"environment-indicator\"></${environmentIndicatorTag}>\n `,\n )}\n ${when(\n (x) => x.showControlPanel,\n html<Navigation>`\n <div\n class=\"icon-container\"\n part=\"control-panel-button\"\n aria-label=\"Control Panel toggle\"\n >\n <${iconTag}\n name=\"cog\"\n data-test-id=\"control-panel-icon\"\n @click=${(x) => x.toggleControlPanel()}>\n </${iconTag}>\n </div>\n `,\n )}\n ${app.registerElementsTarget<NavTargetId>('nav-end')}\n ${when(\n (x) => x.showLuminanceToggleButton,\n html<Navigation>`\n <div\n class=\"icon-container\"\n data-test-id=\"luminance-toggle-button\"\n part=\"luminance-button\"\n aria-label=\"Luminance toggle\"\n >\n <${iconTag}\n @click=${(x) => x.luminanceIconEvent()}\n variant=\"regular\"\n name=\"moon\"\n part=\"luminance-icon\"\n ></${iconTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showMiscToggleButton,\n html<Navigation>`\n <div class=\"icon-container\" data-test-id=\"misc-toggle-button\" part=\"misc-button\" aria-label=\"Misc icon\">\n <${iconTag} @click=${(x) => x.miscIconEvent()} name=\"th\" part=\"misc-icon\">\n </${iconTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showConnectionIndicator,\n html<Navigation>`\n <div class=\"connection-indicator-container\" data-test-id=\"connection-indicator\">\n <${connectionIndicatorTag} show-label=\"false\">\n </${connectionIndicatorTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showAiIndicator && isAIFeatureEnabled(),\n html<Navigation>`\n <div class=\"ai-indicator-container\" data-test-id=\"ai-indicator\">\n <${aiIndicatorTag}>\n </${aiIndicatorTag}>\n </div>\n `,\n )}\n ${when(\n (x) => x.showLanguageSelector && x.languageOptions,\n html<Navigation>`\n <${selectTag}\n class=\"language-selector\"\n position=\"below\"\n data-test-id=\"language-selector\"\n part=\"language-selector\"\n @change=\"${(x, c) => x.changeLanguage(c.event as CustomEvent)}\"\n aria-label=\"Language selector\"\n >\n ${repeat(\n (x) => x.languageOptions.availableLanguages,\n html`\n <${optionTag}\n value=\"${(x) => x}\"\n ?selected=\"${(x, c) => x === c.parent.languageOptions.selectedLanguage}\"\n >\n ${(x) => x.toUpperCase()}\n </${optionTag}>\n `,\n )}\n </${selectTag}>\n `,\n )}\n <div\n class=\"feature-flags-wrapper\"\n part=\"feature-flags-wrapper\"\n ?hidden=${(x) => !isFeatureFlagsNavVisible(x)}\n >\n <${buttonTag}\n appearance=\"neutral-grey\"\n class=\"nav-button feature-flags-button\"\n data-test-id=\"feature-flags-button\"\n part=\"feature-flags-button\"\n aria-label=\"Feature flags\"\n aria-haspopup=\"true\"\n ?aria-expanded=${(x) => x.featureFlagsPanelOpen}\n @click=${(x) => x.toggleFeatureFlagsPanel()}\n >\n Feature Flags\n </${buttonTag}>\n ${when(\n (x) => x.featureFlagsPanelOpen,\n html<Navigation>`\n <div\n class=\"feature-flags-panel\"\n data-test-id=\"feature-flags-selector\"\n part=\"feature-flags-panel\"\n >\n <${multiselectTag}\n class=\"feature-flags-selector\"\n name=\"Features\"\n ?search=\"${() => false}\"\n ?all=\"${() => false}\"\n ?creatable=\"${() => false}\"\n :options=${(x) => x.getFeatureFlagMultiselectOptions()}\n :selectedOptions=${(x) => x.getSelectedFeatureFlagValues()}\n @selectionChange=\"${(x, c) =>\n x.changeFeatureFlags(c.event as CustomEvent<string[]>)}\"\n aria-label=\"Select Features\"\n >\n <span slot=\"label\">Select Features</span>\n </${multiselectTag}>\n </div>\n `,\n )}\n </div>\n ${() => accountMenuTemplate}\n </div>\n ${when(\n (x) => x.showControlPanel,\n html<Navigation>`\n <control-panel ${ref('controlPanel')}></control-panel>\n `,\n )}\n ${app.registerElementsTarget<HeaderTargetId>(['header', 'header-end'])}\n </div>\n`",
479
485
  "description": "Template for Navigation class",
480
486
  "return": {
481
487
  "type": {
@@ -714,6 +720,23 @@
714
720
  "default": "{\n availableLanguages: Object.keys(this.i18next.config.resources ?? {}),\n selectedLanguage: this.i18next.config.lng,\n }",
715
721
  "description": "Object which defines the language options to be displayed in the language selector"
716
722
  },
723
+ {
724
+ "kind": "field",
725
+ "name": "showFeatureFlagsSelector",
726
+ "type": {
727
+ "text": "boolean"
728
+ },
729
+ "default": "false",
730
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`"
731
+ },
732
+ {
733
+ "kind": "field",
734
+ "name": "featureFlagOptions",
735
+ "type": {
736
+ "text": "FeatureFlagOptions"
737
+ },
738
+ "description": "Feature flags available in the header selector."
739
+ },
717
740
  {
718
741
  "kind": "field",
719
742
  "name": "hideSideBar",
@@ -862,6 +885,54 @@
862
885
  ],
863
886
  "description": "Changes the language of the application"
864
887
  },
888
+ {
889
+ "kind": "method",
890
+ "name": "toggleFeatureFlagsPanel",
891
+ "return": {
892
+ "type": {
893
+ "text": "void"
894
+ }
895
+ },
896
+ "description": "Toggles the feature flags panel open/closed."
897
+ },
898
+ {
899
+ "kind": "method",
900
+ "name": "changeFeatureFlags",
901
+ "return": {
902
+ "type": {
903
+ "text": "void"
904
+ }
905
+ },
906
+ "parameters": [
907
+ {
908
+ "name": "e",
909
+ "type": {
910
+ "text": "CustomEvent<string[]>"
911
+ }
912
+ }
913
+ ],
914
+ "description": "Changes the active URL feature flags and reloads the page."
915
+ },
916
+ {
917
+ "kind": "method",
918
+ "name": "getFeatureFlagMultiselectOptions",
919
+ "return": {
920
+ "type": {
921
+ "text": "{ value: string; label: string }[]"
922
+ }
923
+ },
924
+ "description": "Multiselect options derived from Navigation.featureFlagOptions."
925
+ },
926
+ {
927
+ "kind": "method",
928
+ "name": "getSelectedFeatureFlagValues",
929
+ "return": {
930
+ "type": {
931
+ "text": "string[]"
932
+ }
933
+ },
934
+ "description": "Currently selected feature flag names based on URL `feature.*` params.\nMultiselect expects selected option *values* (strings), not full option objects."
935
+ },
865
936
  {
866
937
  "kind": "method",
867
938
  "name": "toLocalisedText",
@@ -947,6 +1018,10 @@
947
1018
  "description": "Dispatched when the user changes the language in the language selector.",
948
1019
  "name": "language-changed"
949
1020
  },
1021
+ {
1022
+ "description": "Dispatched when the user changes the selected feature flags. detail: `string[]`",
1023
+ "name": "feature-flags-changed"
1024
+ },
950
1025
  {
951
1026
  "description": "Dispatched when the user clicks logout button.",
952
1027
  "name": "logout-clicked"
@@ -1089,6 +1164,15 @@
1089
1164
  "description": "Boolean attribute which controls whether to show the language selector on the navigation bar\nControl via `show-language-selector`",
1090
1165
  "fieldName": "showLanguageSelector"
1091
1166
  },
1167
+ {
1168
+ "name": "show-feature-flags-selector",
1169
+ "type": {
1170
+ "text": "boolean"
1171
+ },
1172
+ "default": "false",
1173
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
1174
+ "fieldName": "showFeatureFlagsSelector"
1175
+ },
1092
1176
  {
1093
1177
  "name": "hide-side-bar",
1094
1178
  "type": {
@@ -1452,6 +1536,31 @@
1452
1536
  "module": "src/main/main.ts"
1453
1537
  }
1454
1538
  },
1539
+ {
1540
+ "kind": "field",
1541
+ "name": "showFeatureFlagsSelector",
1542
+ "type": {
1543
+ "text": "boolean"
1544
+ },
1545
+ "default": "false",
1546
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
1547
+ "inheritedFrom": {
1548
+ "name": "Navigation",
1549
+ "module": "src/main/main.ts"
1550
+ }
1551
+ },
1552
+ {
1553
+ "kind": "field",
1554
+ "name": "featureFlagOptions",
1555
+ "type": {
1556
+ "text": "FeatureFlagOptions"
1557
+ },
1558
+ "description": "Feature flags available in the header selector.",
1559
+ "inheritedFrom": {
1560
+ "name": "Navigation",
1561
+ "module": "src/main/main.ts"
1562
+ }
1563
+ },
1455
1564
  {
1456
1565
  "kind": "field",
1457
1566
  "name": "hideSideBar",
@@ -1652,6 +1761,70 @@
1652
1761
  "module": "src/main/main.ts"
1653
1762
  }
1654
1763
  },
1764
+ {
1765
+ "kind": "method",
1766
+ "name": "toggleFeatureFlagsPanel",
1767
+ "return": {
1768
+ "type": {
1769
+ "text": "void"
1770
+ }
1771
+ },
1772
+ "description": "Toggles the feature flags panel open/closed.",
1773
+ "inheritedFrom": {
1774
+ "name": "Navigation",
1775
+ "module": "src/main/main.ts"
1776
+ }
1777
+ },
1778
+ {
1779
+ "kind": "method",
1780
+ "name": "changeFeatureFlags",
1781
+ "return": {
1782
+ "type": {
1783
+ "text": "void"
1784
+ }
1785
+ },
1786
+ "parameters": [
1787
+ {
1788
+ "name": "e",
1789
+ "type": {
1790
+ "text": "CustomEvent<string[]>"
1791
+ }
1792
+ }
1793
+ ],
1794
+ "description": "Changes the active URL feature flags and reloads the page.",
1795
+ "inheritedFrom": {
1796
+ "name": "Navigation",
1797
+ "module": "src/main/main.ts"
1798
+ }
1799
+ },
1800
+ {
1801
+ "kind": "method",
1802
+ "name": "getFeatureFlagMultiselectOptions",
1803
+ "return": {
1804
+ "type": {
1805
+ "text": "{ value: string; label: string }[]"
1806
+ }
1807
+ },
1808
+ "description": "Multiselect options derived from Navigation.featureFlagOptions.",
1809
+ "inheritedFrom": {
1810
+ "name": "Navigation",
1811
+ "module": "src/main/main.ts"
1812
+ }
1813
+ },
1814
+ {
1815
+ "kind": "method",
1816
+ "name": "getSelectedFeatureFlagValues",
1817
+ "return": {
1818
+ "type": {
1819
+ "text": "string[]"
1820
+ }
1821
+ },
1822
+ "description": "Currently selected feature flag names based on URL `feature.*` params.\nMultiselect expects selected option *values* (strings), not full option objects.",
1823
+ "inheritedFrom": {
1824
+ "name": "Navigation",
1825
+ "module": "src/main/main.ts"
1826
+ }
1827
+ },
1655
1828
  {
1656
1829
  "kind": "method",
1657
1830
  "name": "toLocalisedText",
@@ -1929,6 +2102,19 @@
1929
2102
  "module": "src/main/main.ts"
1930
2103
  }
1931
2104
  },
2105
+ {
2106
+ "name": "show-feature-flags-selector",
2107
+ "type": {
2108
+ "text": "boolean"
2109
+ },
2110
+ "default": "false",
2111
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
2112
+ "fieldName": "showFeatureFlagsSelector",
2113
+ "inheritedFrom": {
2114
+ "name": "Navigation",
2115
+ "module": "src/main/main.ts"
2116
+ }
2117
+ },
1932
2118
  {
1933
2119
  "name": "hide-side-bar",
1934
2120
  "type": {
@@ -2001,6 +2187,14 @@
2001
2187
  "module": "src/main/main.ts"
2002
2188
  }
2003
2189
  },
2190
+ {
2191
+ "description": "Dispatched when the user changes the selected feature flags. detail: `string[]`",
2192
+ "name": "feature-flags-changed",
2193
+ "inheritedFrom": {
2194
+ "name": "Navigation",
2195
+ "module": "src/main/main.ts"
2196
+ }
2197
+ },
2004
2198
  {
2005
2199
  "description": "Dispatched when the user clicks logout button.",
2006
2200
  "name": "logout-clicked",
@@ -2219,6 +2413,19 @@
2219
2413
  "module": "src/main/main.ts"
2220
2414
  }
2221
2415
  },
2416
+ {
2417
+ "name": "show-feature-flags-selector",
2418
+ "type": {
2419
+ "text": "boolean"
2420
+ },
2421
+ "default": "false",
2422
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
2423
+ "fieldName": "showFeatureFlagsSelector",
2424
+ "inheritedFrom": {
2425
+ "name": "Navigation",
2426
+ "module": "src/main/main.ts"
2427
+ }
2428
+ },
2222
2429
  {
2223
2430
  "name": "hide-side-bar",
2224
2431
  "type": {
@@ -2568,6 +2775,31 @@
2568
2775
  "module": "src/main/main.ts"
2569
2776
  }
2570
2777
  },
2778
+ {
2779
+ "kind": "field",
2780
+ "name": "showFeatureFlagsSelector",
2781
+ "type": {
2782
+ "text": "boolean"
2783
+ },
2784
+ "default": "false",
2785
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
2786
+ "inheritedFrom": {
2787
+ "name": "Navigation",
2788
+ "module": "src/main/main.ts"
2789
+ }
2790
+ },
2791
+ {
2792
+ "kind": "field",
2793
+ "name": "featureFlagOptions",
2794
+ "type": {
2795
+ "text": "FeatureFlagOptions"
2796
+ },
2797
+ "description": "Feature flags available in the header selector.",
2798
+ "inheritedFrom": {
2799
+ "name": "Navigation",
2800
+ "module": "src/main/main.ts"
2801
+ }
2802
+ },
2571
2803
  {
2572
2804
  "kind": "field",
2573
2805
  "name": "hideSideBar",
@@ -2768,6 +3000,70 @@
2768
3000
  "module": "src/main/main.ts"
2769
3001
  }
2770
3002
  },
3003
+ {
3004
+ "kind": "method",
3005
+ "name": "toggleFeatureFlagsPanel",
3006
+ "return": {
3007
+ "type": {
3008
+ "text": "void"
3009
+ }
3010
+ },
3011
+ "description": "Toggles the feature flags panel open/closed.",
3012
+ "inheritedFrom": {
3013
+ "name": "Navigation",
3014
+ "module": "src/main/main.ts"
3015
+ }
3016
+ },
3017
+ {
3018
+ "kind": "method",
3019
+ "name": "changeFeatureFlags",
3020
+ "return": {
3021
+ "type": {
3022
+ "text": "void"
3023
+ }
3024
+ },
3025
+ "parameters": [
3026
+ {
3027
+ "name": "e",
3028
+ "type": {
3029
+ "text": "CustomEvent<string[]>"
3030
+ }
3031
+ }
3032
+ ],
3033
+ "description": "Changes the active URL feature flags and reloads the page.",
3034
+ "inheritedFrom": {
3035
+ "name": "Navigation",
3036
+ "module": "src/main/main.ts"
3037
+ }
3038
+ },
3039
+ {
3040
+ "kind": "method",
3041
+ "name": "getFeatureFlagMultiselectOptions",
3042
+ "return": {
3043
+ "type": {
3044
+ "text": "{ value: string; label: string }[]"
3045
+ }
3046
+ },
3047
+ "description": "Multiselect options derived from Navigation.featureFlagOptions.",
3048
+ "inheritedFrom": {
3049
+ "name": "Navigation",
3050
+ "module": "src/main/main.ts"
3051
+ }
3052
+ },
3053
+ {
3054
+ "kind": "method",
3055
+ "name": "getSelectedFeatureFlagValues",
3056
+ "return": {
3057
+ "type": {
3058
+ "text": "string[]"
3059
+ }
3060
+ },
3061
+ "description": "Currently selected feature flag names based on URL `feature.*` params.\nMultiselect expects selected option *values* (strings), not full option objects.",
3062
+ "inheritedFrom": {
3063
+ "name": "Navigation",
3064
+ "module": "src/main/main.ts"
3065
+ }
3066
+ },
2771
3067
  {
2772
3068
  "kind": "method",
2773
3069
  "name": "toLocalisedText",
@@ -2885,6 +3181,14 @@
2885
3181
  "module": "src/main/main.ts"
2886
3182
  }
2887
3183
  },
3184
+ {
3185
+ "description": "Dispatched when the user changes the selected feature flags. detail: `string[]`",
3186
+ "name": "feature-flags-changed",
3187
+ "inheritedFrom": {
3188
+ "name": "Navigation",
3189
+ "module": "src/main/main.ts"
3190
+ }
3191
+ },
2888
3192
  {
2889
3193
  "description": "Dispatched when the user clicks logout button.",
2890
3194
  "name": "logout-clicked",
@@ -3231,6 +3535,31 @@
3231
3535
  "module": "src/main/main.ts"
3232
3536
  }
3233
3537
  },
3538
+ {
3539
+ "kind": "field",
3540
+ "name": "showFeatureFlagsSelector",
3541
+ "type": {
3542
+ "text": "boolean"
3543
+ },
3544
+ "default": "false",
3545
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
3546
+ "inheritedFrom": {
3547
+ "name": "Navigation",
3548
+ "module": "src/main/main.ts"
3549
+ }
3550
+ },
3551
+ {
3552
+ "kind": "field",
3553
+ "name": "featureFlagOptions",
3554
+ "type": {
3555
+ "text": "FeatureFlagOptions"
3556
+ },
3557
+ "description": "Feature flags available in the header selector.",
3558
+ "inheritedFrom": {
3559
+ "name": "Navigation",
3560
+ "module": "src/main/main.ts"
3561
+ }
3562
+ },
3234
3563
  {
3235
3564
  "kind": "field",
3236
3565
  "name": "hideSideBar",
@@ -3417,6 +3746,70 @@
3417
3746
  "module": "src/main/main.ts"
3418
3747
  }
3419
3748
  },
3749
+ {
3750
+ "kind": "method",
3751
+ "name": "toggleFeatureFlagsPanel",
3752
+ "return": {
3753
+ "type": {
3754
+ "text": "void"
3755
+ }
3756
+ },
3757
+ "description": "Toggles the feature flags panel open/closed.",
3758
+ "inheritedFrom": {
3759
+ "name": "Navigation",
3760
+ "module": "src/main/main.ts"
3761
+ }
3762
+ },
3763
+ {
3764
+ "kind": "method",
3765
+ "name": "changeFeatureFlags",
3766
+ "return": {
3767
+ "type": {
3768
+ "text": "void"
3769
+ }
3770
+ },
3771
+ "parameters": [
3772
+ {
3773
+ "name": "e",
3774
+ "type": {
3775
+ "text": "CustomEvent<string[]>"
3776
+ }
3777
+ }
3778
+ ],
3779
+ "description": "Changes the active URL feature flags and reloads the page.",
3780
+ "inheritedFrom": {
3781
+ "name": "Navigation",
3782
+ "module": "src/main/main.ts"
3783
+ }
3784
+ },
3785
+ {
3786
+ "kind": "method",
3787
+ "name": "getFeatureFlagMultiselectOptions",
3788
+ "return": {
3789
+ "type": {
3790
+ "text": "{ value: string; label: string }[]"
3791
+ }
3792
+ },
3793
+ "description": "Multiselect options derived from Navigation.featureFlagOptions.",
3794
+ "inheritedFrom": {
3795
+ "name": "Navigation",
3796
+ "module": "src/main/main.ts"
3797
+ }
3798
+ },
3799
+ {
3800
+ "kind": "method",
3801
+ "name": "getSelectedFeatureFlagValues",
3802
+ "return": {
3803
+ "type": {
3804
+ "text": "string[]"
3805
+ }
3806
+ },
3807
+ "description": "Currently selected feature flag names based on URL `feature.*` params.\nMultiselect expects selected option *values* (strings), not full option objects.",
3808
+ "inheritedFrom": {
3809
+ "name": "Navigation",
3810
+ "module": "src/main/main.ts"
3811
+ }
3812
+ },
3420
3813
  {
3421
3814
  "kind": "method",
3422
3815
  "name": "toLocalisedText",
@@ -3696,6 +4089,19 @@
3696
4089
  "module": "src/main/main.ts"
3697
4090
  }
3698
4091
  },
4092
+ {
4093
+ "name": "show-feature-flags-selector",
4094
+ "type": {
4095
+ "text": "boolean"
4096
+ },
4097
+ "default": "false",
4098
+ "description": "Optional boolean attribute to force-show the Feature Flags button.\nControl via `show-feature-flags-selector`",
4099
+ "fieldName": "showFeatureFlagsSelector",
4100
+ "inheritedFrom": {
4101
+ "name": "Navigation",
4102
+ "module": "src/main/main.ts"
4103
+ }
4104
+ },
3699
4105
  {
3700
4106
  "name": "hide-side-bar",
3701
4107
  "type": {
@@ -3768,6 +4174,14 @@
3768
4174
  "module": "src/main/main.ts"
3769
4175
  }
3770
4176
  },
4177
+ {
4178
+ "description": "Dispatched when the user changes the selected feature flags. detail: `string[]`",
4179
+ "name": "feature-flags-changed",
4180
+ "inheritedFrom": {
4181
+ "name": "Navigation",
4182
+ "module": "src/main/main.ts"
4183
+ }
4184
+ },
3771
4185
  {
3772
4186
  "description": "Dispatched when the user clicks logout button.",
3773
4187
  "name": "logout-clicked",
@@ -1 +1 @@
1
- {"version":3,"file":"rapid-components.d.ts","sourceRoot":"","sources":["../../../src/components/rapid-components.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,eAAO,MAAM,6BAA6B,qBA8BzC,CAAC"}
1
+ {"version":3,"file":"rapid-components.d.ts","sourceRoot":"","sources":["../../../src/components/rapid-components.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,eAAO,MAAM,6BAA6B,qBAgCzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zero-components.d.ts","sourceRoot":"","sources":["../../../src/components/zero-components.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,4BAA4B,qBA+BxC,CAAC"}
1
+ {"version":3,"file":"zero-components.d.ts","sourceRoot":"","sources":["../../../src/components/zero-components.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,4BAA4B,qBAiCxC,CAAC"}
@@ -12,6 +12,7 @@ export type TemplateComponents = {
12
12
  environmentIndicator: TemplateElementDependency;
13
13
  select: TemplateElementDependency;
14
14
  option: TemplateElementDependency;
15
+ multiselect: TemplateElementDependency;
15
16
  flyout: TemplateElementDependency;
16
17
  provider: TemplateElementDependency;
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/config/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,WAAW,EAAE,yBAAyB,CAAC;IACvC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAuBnF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAA2D,CAAC;AAEjG;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAA4D,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/config/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,WAAW,EAAE,yBAAyB,CAAC;IACvC,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAyBnF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAA2D,CAAC;AAEjG;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAA4D,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Host surface used to decide whether the Feature Flags nav control is shown.
3
+ * @internal
4
+ */
5
+ export type FeatureFlagsNavHost = {
6
+ showFeatureFlagsSelector?: boolean;
7
+ featureFlagOptions?: {
8
+ availableFlags?: {
9
+ name: string;
10
+ label: string;
11
+ }[];
12
+ };
13
+ };
14
+ /**
15
+ * True when the Feature Flags button should be visible in the header nav.
16
+ * @internal
17
+ */
18
+ export declare const isFeatureFlagsNavVisible: (host: FeatureFlagsNavHost) => boolean;
19
+ //# sourceMappingURL=feature-flags-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flags-nav.d.ts","sourceRoot":"","sources":["../../../src/main/feature-flags-nav.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,kBAAkB,CAAC,EAAE;QACnB,cAAc,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACpD,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,mBAAmB,KAAG,OAC0B,CAAC"}