@gooddata/sdk-ui-kit 10.23.0-alpha.3 → 10.23.0-alpha.31

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 (52) hide show
  1. package/esm/DescriptionPanel/DescriptionPanel.d.ts +4 -0
  2. package/esm/DescriptionPanel/DescriptionPanel.d.ts.map +1 -1
  3. package/esm/DescriptionPanel/DescriptionPanel.js +3 -3
  4. package/esm/DescriptionPanel/DescriptionPanel.js.map +1 -1
  5. package/esm/Header/HeaderAccount.d.ts.map +1 -1
  6. package/esm/Header/HeaderAccount.js +2 -1
  7. package/esm/Header/HeaderAccount.js.map +1 -1
  8. package/esm/List/InsightListItem.d.ts +5 -0
  9. package/esm/List/InsightListItem.d.ts.map +1 -1
  10. package/esm/List/InsightListItem.js +3 -3
  11. package/esm/List/InsightListItem.js.map +1 -1
  12. package/esm/RichText/RichText.d.ts +16 -0
  13. package/esm/RichText/RichText.d.ts.map +1 -1
  14. package/esm/RichText/RichText.js +27 -8
  15. package/esm/RichText/RichText.js.map +1 -1
  16. package/esm/RichText/RichTextWithTooltip.d.ts.map +1 -1
  17. package/esm/RichText/RichTextWithTooltip.js +18 -3
  18. package/esm/RichText/RichTextWithTooltip.js.map +1 -1
  19. package/esm/RichText/helpers/references.d.ts +11 -0
  20. package/esm/RichText/helpers/references.d.ts.map +1 -0
  21. package/esm/RichText/helpers/references.js +45 -0
  22. package/esm/RichText/helpers/references.js.map +1 -0
  23. package/esm/RichText/hooks/useEvaluatedMetrics.d.ts +15 -0
  24. package/esm/RichText/hooks/useEvaluatedMetrics.d.ts.map +1 -0
  25. package/esm/RichText/hooks/useEvaluatedMetrics.js +54 -0
  26. package/esm/RichText/hooks/useEvaluatedMetrics.js.map +1 -0
  27. package/esm/RichText/hooks/useEvaluatedReferences.d.ts +8 -0
  28. package/esm/RichText/hooks/useEvaluatedReferences.d.ts.map +1 -0
  29. package/esm/RichText/hooks/useEvaluatedReferences.js +16 -0
  30. package/esm/RichText/hooks/useEvaluatedReferences.js.map +1 -0
  31. package/esm/RichText/plugins/rehype-references.d.ts +5 -0
  32. package/esm/RichText/plugins/rehype-references.d.ts.map +1 -0
  33. package/esm/RichText/plugins/rehype-references.js +137 -0
  34. package/esm/RichText/plugins/rehype-references.js.map +1 -0
  35. package/esm/RichText/plugins/remark-references.d.ts +3 -0
  36. package/esm/RichText/plugins/remark-references.d.ts.map +1 -0
  37. package/esm/RichText/plugins/remark-references.js +48 -0
  38. package/esm/RichText/plugins/remark-references.js.map +1 -0
  39. package/esm/RichText/plugins/types.d.ts +14 -0
  40. package/esm/RichText/plugins/types.d.ts.map +1 -0
  41. package/esm/RichText/plugins/types.js +4 -0
  42. package/esm/RichText/plugins/types.js.map +1 -0
  43. package/esm/sdk-ui-kit.d.ts +24 -0
  44. package/package.json +11 -8
  45. package/styles/css/header.css +16 -0
  46. package/styles/css/header.css.map +1 -1
  47. package/styles/css/main.css +35 -2
  48. package/styles/css/main.css.map +1 -1
  49. package/styles/css/richText.css +19 -2
  50. package/styles/css/richText.css.map +1 -1
  51. package/styles/scss/header.scss +23 -0
  52. package/styles/scss/richText.scss +17 -2
@@ -0,0 +1,137 @@
1
+ // (C) 2022-2025 GoodData Corporation
2
+ import { areObjRefsEqual } from "@gooddata/sdk-model";
3
+ import { createReference } from "../helpers/references.js";
4
+ import { REFERENCE_REGEX_MATCH, REFERENCE_REGEX_SPLIT } from "./types.js";
5
+ export function rehypeReferences(intl, metrics) {
6
+ return function () {
7
+ return function (tree) {
8
+ iterateTree(tree, {
9
+ onTextNodeReference: (text, ref) => {
10
+ const metric = metrics?.find((m) => areObjRefsEqual(m.ref, ref));
11
+ return [createMetricValue(intl, text, metric)];
12
+ },
13
+ onTextRawReference: (ref) => {
14
+ const metric = metrics?.find((m) => areObjRefsEqual(m.ref, ref));
15
+ return metric.data.formattedValue();
16
+ },
17
+ });
18
+ return tree;
19
+ };
20
+ };
21
+ }
22
+ function iterateTree(node, callbacks) {
23
+ //Text type
24
+ if (node.type === "text") {
25
+ const res = iterateReferenceMatch(node.value, (ref, id) => {
26
+ return callbacks.onTextNodeReference(node, ref, id);
27
+ });
28
+ return res.length ? res : [node];
29
+ }
30
+ //Image type
31
+ if (node.type === "element" && node.tagName === "img") {
32
+ if (node.properties.alt) {
33
+ node.properties.alt = iterateReferenceRawTextMatch(String(node.properties.alt), (ref, id) => {
34
+ return callbacks.onTextRawReference(ref, id);
35
+ });
36
+ }
37
+ if (node.properties.title) {
38
+ node.properties.title = iterateReferenceRawTextMatch(String(node.properties.title), (ref, id) => {
39
+ return callbacks.onTextRawReference(ref, id);
40
+ });
41
+ }
42
+ if (node.properties.src) {
43
+ const src = decodeURI(node.properties.src);
44
+ const update = iterateReferenceRawTextMatch(String(src), (ref, id) => {
45
+ return callbacks.onTextRawReference(ref, id);
46
+ });
47
+ node.properties.src = encodeURI(update);
48
+ }
49
+ }
50
+ //Anchor type
51
+ if (node.type === "element" && node.tagName === "a") {
52
+ if (node.properties.title) {
53
+ node.properties.title = iterateReferenceRawTextMatch(String(node.properties.title), (ref, id) => {
54
+ return callbacks.onTextRawReference(ref, id);
55
+ });
56
+ }
57
+ if (node.properties.href) {
58
+ const url = decodeURI(node.properties.href);
59
+ const updated = iterateReferenceRawTextMatch(String(url), (ref, id) => {
60
+ return callbacks.onTextRawReference(ref, id);
61
+ });
62
+ node.properties.href = encodeURI(updated);
63
+ }
64
+ }
65
+ if (node.children) {
66
+ // has children
67
+ node.children = node.children.reduce((acc, child) => {
68
+ return [...acc, ...iterateTree(child, callbacks)];
69
+ }, []);
70
+ return [node];
71
+ }
72
+ // no children
73
+ return [node];
74
+ }
75
+ function iterateReferenceRawTextMatch(value, onMatch) {
76
+ const items = value.split(REFERENCE_REGEX_SPLIT);
77
+ return items
78
+ .map((item) => {
79
+ const match = REFERENCE_REGEX_MATCH.exec(item);
80
+ if (match) {
81
+ const { ref } = createReference(match);
82
+ if (ref) {
83
+ return onMatch(ref, match[2]);
84
+ }
85
+ }
86
+ return item;
87
+ })
88
+ .join("");
89
+ }
90
+ function iterateReferenceMatch(value, onMatch) {
91
+ const items = [];
92
+ REFERENCE_REGEX_MATCH.lastIndex = -1;
93
+ let match = REFERENCE_REGEX_MATCH.exec(value);
94
+ while (match) {
95
+ const { ref } = createReference(match);
96
+ if (ref) {
97
+ items.push(...onMatch(ref, match[2]));
98
+ }
99
+ match = REFERENCE_REGEX_MATCH.exec(value);
100
+ }
101
+ return items;
102
+ }
103
+ function createMetricValue(intl, text, metric) {
104
+ if (!metric) {
105
+ return {
106
+ type: "element",
107
+ tagName: "span",
108
+ properties: {
109
+ className: ["gd-rich-text-metric-error"],
110
+ },
111
+ position: text.position,
112
+ children: [{ type: "text", value: `(${intl.formatMessage({ id: "richText.no_fetch" })})` }],
113
+ };
114
+ }
115
+ const value = metric.data.rawValue;
116
+ if (value === null || value === undefined) {
117
+ return {
118
+ type: "element",
119
+ tagName: "span",
120
+ properties: {
121
+ className: ["gd-rich-text-metric-empty"],
122
+ },
123
+ position: text.position,
124
+ children: [{ type: "text", value: `(${intl.formatMessage({ id: "richText.no_data" })})` }],
125
+ };
126
+ }
127
+ return {
128
+ type: "element",
129
+ tagName: "span",
130
+ properties: {
131
+ className: ["gd-rich-text-metric-value"],
132
+ },
133
+ position: text.position,
134
+ children: [{ type: "text", value: metric.data.formattedValue() }],
135
+ };
136
+ }
137
+ //# sourceMappingURL=rehype-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-references.js","sourceRoot":"","sources":["../../../src/RichText/plugins/rehype-references.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Parent } from "unist";
2
+ export declare function remarkReferences(): () => (tree: Parent) => Parent;
3
+ //# sourceMappingURL=remark-references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-references.d.ts","sourceRoot":"","sources":["../../../src/RichText/plugins/remark-references.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAS,MAAM,OAAO,CAAC;AAItC,wBAAgB,gBAAgB,iBAED,MAAM,YA+BpC"}
@@ -0,0 +1,48 @@
1
+ import { REFERENCE_REGEX_SPLIT } from "./types.js";
2
+ export function remarkReferences() {
3
+ return function () {
4
+ return function (tree) {
5
+ iterateTree(tree, {
6
+ onText: (text) => {
7
+ const nodes = [];
8
+ const parts = text.value.split(REFERENCE_REGEX_SPLIT);
9
+ let start = text.position?.start ?? { line: 0, column: 0, offset: 0 };
10
+ parts.forEach((part) => {
11
+ const end = {
12
+ line: start.line,
13
+ column: start.column + part.length,
14
+ offset: start.offset + part.length,
15
+ };
16
+ nodes.push({
17
+ ...text,
18
+ value: part,
19
+ position: {
20
+ start,
21
+ end,
22
+ },
23
+ });
24
+ start = end;
25
+ });
26
+ return nodes;
27
+ },
28
+ });
29
+ return tree;
30
+ };
31
+ };
32
+ }
33
+ function iterateTree(node, callbacks) {
34
+ //Text type
35
+ if (node.type === "text") {
36
+ return callbacks.onText(node);
37
+ }
38
+ // has children
39
+ if (node.children) {
40
+ node.children = node.children.reduce((acc, child) => {
41
+ return [...acc, ...iterateTree(child, callbacks)];
42
+ }, []);
43
+ return [node];
44
+ }
45
+ // no children
46
+ return [node];
47
+ }
48
+ //# sourceMappingURL=remark-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remark-references.js","sourceRoot":"","sources":["../../../src/RichText/plugins/remark-references.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAY,MAAM,YAAY,CAAC;AAE7D,MAAM,UAAU,gBAAgB;IAC5B,OAAO;QACH,OAAO,UAAU,IAAY;YACzB,WAAW,CAAC,IAAI,EAAE;gBACd,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACb,MAAM,KAAK,GAAe,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBAEtD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;oBACtE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACnB,MAAM,GAAG,GAAU;4BACf,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;4BAClC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;yBACrC,CAAC;wBAEF,KAAK,CAAC,IAAI,CAAC;4BACP,GAAG,IAAI;4BACP,KAAK,EAAE,IAAI;4BACX,QAAQ,EAAE;gCACN,KAAK;gCACL,GAAG;6BACN;yBACJ,CAAC,CAAC;wBAEH,KAAK,GAAG,GAAG,CAAC;oBAChB,CAAC,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;gBACjB,CAAC;aACJ,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,SAAmD;IAClF,WAAW;IACX,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC,MAAM,CAAC,IAAgB,CAAC,CAAC;IAC9C,CAAC;IAED,eAAe;IACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAChD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,CAAC,KAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Parent } from "unist";
2
+ import { Options } from "react-markdown";
3
+ export type HtmlNode = Parent & {
4
+ type: string;
5
+ tagName: string;
6
+ properties: Record<string, string>;
7
+ };
8
+ export type TextNode = HtmlNode & {
9
+ value: string;
10
+ };
11
+ export declare const EMPTY_OPTIONS: Readonly<Options>;
12
+ export declare const REFERENCE_REGEX_SPLIT: RegExp;
13
+ export declare const REFERENCE_REGEX_MATCH: RegExp;
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/RichText/plugins/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AACtG,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAM,CAAC;AAEnD,eAAO,MAAM,qBAAqB,QAA2C,CAAC;AAC9E,eAAO,MAAM,qBAAqB,QAA6C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const EMPTY_OPTIONS = {};
2
+ export const REFERENCE_REGEX_SPLIT = /(\{(?:label|metric)\/[a-z0-9._-]*\})/gi;
3
+ export const REFERENCE_REGEX_MATCH = /(\{((label|metric)\/([a-z0-9._-]*))\})/gi;
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/RichText/plugins/types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAsB,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,wCAAwC,CAAC;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAA0C,CAAC"}
@@ -23,6 +23,7 @@ import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi';
23
23
  import { IAuditableUsers } from '@gooddata/sdk-model';
24
24
  import { IColorPalette } from '@gooddata/sdk-model';
25
25
  import { IColorPaletteDefinition } from '@gooddata/sdk-model';
26
+ import { IFilter } from '@gooddata/sdk-model';
26
27
  import { ILocale } from '@gooddata/sdk-ui';
27
28
  import { IMeasureSortTarget } from '@gooddata/sdk-model';
28
29
  import { IMetadataObjectBase } from '@gooddata/sdk-model';
@@ -39,6 +40,8 @@ import { LocalIdRef } from '@gooddata/sdk-model';
39
40
  import { MessageDescriptor } from 'react-intl';
40
41
  import { MutableRefObject } from 'react';
41
42
  import { ObjRef } from '@gooddata/sdk-model';
43
+ import { OnError } from '@gooddata/sdk-ui';
44
+ import { OnLoadingChanged } from '@gooddata/sdk-ui';
42
45
  import { OverlayController as OverlayController_2 } from './OverlayController.js';
43
46
  import { PureComponent } from 'react';
44
47
  import { default as React_2 } from 'react';
@@ -1598,6 +1601,9 @@ export declare interface IDescriptionPanelProps {
1598
1601
  onBubbleOpen?: () => void;
1599
1602
  arrowOffsets?: ArrowOffsets;
1600
1603
  useRichText?: boolean;
1604
+ useReferences?: boolean;
1605
+ LoadingComponent?: React_2.ComponentType;
1606
+ filters?: IFilter[];
1601
1607
  }
1602
1608
 
1603
1609
  /**
@@ -2384,11 +2390,15 @@ export declare interface IInsightListItemProps {
2384
2390
  updated?: string;
2385
2391
  type?: string;
2386
2392
  width?: number;
2393
+ filters?: IFilter[];
2387
2394
  onClick?: () => void;
2388
2395
  onDelete?: () => void;
2389
2396
  onDescriptionPanelOpen?: () => void;
2390
2397
  showDescriptionPanel?: boolean;
2398
+ useRichText?: boolean;
2399
+ useReferences?: boolean;
2391
2400
  metadataTimeZone?: string;
2401
+ LoadingComponent?: React_2.ComponentType;
2392
2402
  }
2393
2403
 
2394
2404
  /**
@@ -3563,6 +3573,7 @@ export declare interface IRichTextProps {
3563
3573
  editRows?: number;
3564
3574
  emptyElement?: JSX.Element;
3565
3575
  className?: string;
3576
+ referencesEnabled?: boolean;
3566
3577
  /**
3567
3578
  * If provided, the textarea starts at just 1 row,
3568
3579
  * resizing dynamically up to editRows value.
@@ -3576,6 +3587,19 @@ export declare interface IRichTextProps {
3576
3587
  show: boolean;
3577
3588
  dataAttributes?: Record<string, string>;
3578
3589
  };
3590
+ /**
3591
+ * Filters to be used for rendering references.
3592
+ */
3593
+ filters?: IFilter[];
3594
+ /**
3595
+ * @alpha
3596
+ */
3597
+ onLoadingChanged?: OnLoadingChanged;
3598
+ /**
3599
+ * @alpha
3600
+ */
3601
+ onError?: OnError;
3602
+ LoadingComponent?: React_2.ComponentType;
3579
3603
  }
3580
3604
 
3581
3605
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-kit",
3
- "version": "10.23.0-alpha.3",
3
+ "version": "10.23.0-alpha.31",
4
4
  "description": "GoodData SDK - UI Building Components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,6 +34,8 @@
34
34
  "styles"
35
35
  ],
36
36
  "dependencies": {
37
+ "@types/mdast": "^4.0.4",
38
+ "@types/unist": "^3.0.3",
37
39
  "@aaronhayes/react-use-hubspot-form": "^2.0.1",
38
40
  "@gooddata/number-formatter": "^1.0.6",
39
41
  "@tanstack/react-virtual": "^3.11.1",
@@ -65,11 +67,12 @@
65
67
  "ts-invariant": "^0.7.5",
66
68
  "tslib": "^2.5.0",
67
69
  "uuid": "^8.3.2",
68
- "@gooddata/sdk-backend-spi": "10.23.0-alpha.3",
69
- "@gooddata/sdk-model": "10.23.0-alpha.3",
70
- "@gooddata/sdk-ui": "10.23.0-alpha.3",
71
- "@gooddata/sdk-ui-theme-provider": "10.23.0-alpha.3",
72
- "@gooddata/util": "10.23.0-alpha.3"
70
+ "unified": "^11.0.5",
71
+ "@gooddata/sdk-backend-spi": "10.23.0-alpha.31",
72
+ "@gooddata/sdk-model": "10.23.0-alpha.31",
73
+ "@gooddata/sdk-ui": "10.23.0-alpha.31",
74
+ "@gooddata/sdk-ui-theme-provider": "10.23.0-alpha.31",
75
+ "@gooddata/util": "10.23.0-alpha.31"
73
76
  },
74
77
  "peerDependencies": {
75
78
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -128,8 +131,8 @@
128
131
  "typescript": "5.3.3",
129
132
  "vitest": "1.0.4",
130
133
  "vitest-dom": "0.1.1",
131
- "@gooddata/reference-workspace": "10.23.0-alpha.3",
132
- "@gooddata/sdk-backend-mockingbird": "10.23.0-alpha.3"
134
+ "@gooddata/reference-workspace": "10.23.0-alpha.31",
135
+ "@gooddata/sdk-backend-mockingbird": "10.23.0-alpha.31"
133
136
  },
134
137
  "scripts": {
135
138
  "clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
@@ -277,6 +277,15 @@
277
277
  background-color: #dde4eb;
278
278
  }
279
279
 
280
+ a.gd-list-help-menu-item.gd-list-item:focus-visible {
281
+ outline: none;
282
+ box-shadow: 0 0 0 2px black;
283
+ text-decoration: none;
284
+ }
285
+ a.gd-list-help-menu-item.gd-list-item:focus {
286
+ text-decoration: none;
287
+ }
288
+
280
289
  .gd-header-menu-item {
281
290
  box-sizing: border-box;
282
291
  display: inline-block;
@@ -814,6 +823,13 @@
814
823
  font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
815
824
  font-weight: 400;
816
825
  }
826
+ .gd-header-account-dropdown .gd-list a.gd-list-item:focus-visible {
827
+ outline: auto;
828
+ text-decoration: none;
829
+ }
830
+ .gd-header-account-dropdown .gd-list a.gd-list-item:focus {
831
+ text-decoration: none;
832
+ }
817
833
 
818
834
  .gd-header-help-dropdown {
819
835
  overflow: hidden;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../scss/mixins.scss","../scss/header.scss","../scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACxKA;EACI;EACA;EACA;EACA;EACA;EACA,QAfe;EAgBf;EACA;EACA;EACA,aCsEc;EDrEd;;AAEA;EAGI;;AAGJ;EACI;;;AAIR;EACI;EACA,QAnCe;EAoCf;EACA;EACA;EACA;EACA;EDsBA,0BCpB2B;EDqB3B,6BCrB2B;EDsB3B,qBCtB2B;ED0B3B,0BC1BgC;ED2BhC,6BC3BgC;ED4BhC,qBC5BgC;;AAEhC;EACI;;ADoHJ;EC/GQ;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;AAAA;AAAA;EAGI;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;;AAEA;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OCrFmB;EDsFnB;;AAEA;EACI;;;AAIR;AAAA;EAEI;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OCjHmB;EDkHnB;EACA;;;AAIA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAOJ;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI,kBCnKU;;ADwKtB;EACI;EACA;EACA;;;AAIR;EACI;EACA,QArNe;EAsNf,aAtNe;EAuNf;EACA,cAxNe;EAyNf;EACA;EACA;EACA;;;AAGJ;EACI;EACA,KAjOe;EAkOf;EACA;EACA;EACA;EACA;EACA;;AAMA;EACI;;AAGJ;EACI;;AAMA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAOJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAIR;AAAA;EAEI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAQA;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA,kBClTc;;;ADuT1B;EACI;EACA;EACA,QA3Ve;EA4Vf;EACA;EACA;EACA;EDjSA,0BCmS2B;EDlS3B,6BCkS2B;EDjS3B,qBCiS2B;ED7R3B,0BC6RkC;ED5RlC,6BC4RkC;ED3RlC,qBC2RkC;;ADxLlC;EC2LI;EACA;EACA;;AAGJ;EAII;EACA;;AAGJ;EAEI;;AAGJ;EACI;EACA,cCpVkB;EDqVlB;;AAGJ;EACI;;;AAIR;EACI;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA,kBC9Xa;ED+Xb;EACA;;AAEA;AAAA;EACI;EACA;EACA,kBCrYS;EDuYT;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDpTA;EACA;EACA,eAHwB;;ACyTxB;EAEI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aC5VS;ED6VT;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;;AAEA;EACI,aCrXE;EDsXF;;;AAMhB;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDpXA;EACA;EACA,eAHwB;;ACyXxB;EAEI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aC5ZS;ED6ZT;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;;AAEA;EACI,aCrbE;EDsbF;;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,WA/jBsB;;AAikBtB;AAAA;EAEI;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,aAplBe;EAqlBf;EACA;EACA;EDveA;EACA;EACA,eAHwB;;AC4exB;EAEI;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA,aC/gBK;EDghBL;;AAIR;EACI;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,aCpjBU;;ADujBd;EACI;EACA;;;AAIR;AAAA;AAAA;EAGI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDljBA;EACA;EACA,eAHwB;;ACujBxB;AAAA;AAAA;AAAA;AAAA;EAEI;;AAGJ;AAAA;AAAA;EACI;;;AAIR;AAAA;AAAA;EAGI;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAEA;AAAA;AAAA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EAKA;;AAJA;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aC5nBS;ED6nBT;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;;AAKA;AAAA;EACI;EACA;EACA;;;AAKJ;EACI;;;AAIR;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAIA;EACI;EACA;;;AAIR;EACI;EACA;;;AAGJ;EACI;EACA;EACA,OApxBe;EAqxBf,QArxBe;EAsxBf;EACA;;AAEA;AAAA;EAGI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EAEI,OC1zBQ;;;AD8zBhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OCl0BkB;EDm0BlB;EACA;EACA;EACA;EACA;EACA,kBCn1BmB;;ADq1BnB;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA,kBCh2BQ;;;ADo2BhB;EACI;EACA;EACA;EACA;EACA;EACA,aCtyBc;EDuyBd;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;;AAEA;EACI;;AAEA;EACI,aCh1BM;EDi1BN;;;AAKZ;EACI;;AAEA;EACI;EACA;;AAEA;EACI;EACA;EACA,aCh2BM;EDi2BN;EACA;;AAGJ;EACI;;;AAKZ;EACI;EACA;;AAEA;EACI,OCh7BQ;EDi7BR;EACA;;AAEA;EACI,OC/6BI;EDg7BJ;;AAGJ;EACI;EACA;;;AAKZ;EACI;EACA;;AAqBA;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AApCJ;EACI,OC/8BQ;;ADk9BZ;EACI,OC98BI;;ADm9BR;EACI;EACA;;AAZJ;EACI,OC/8BQ;;ADk9BZ;EACI,OC98BI;;ADq/BZ;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;AArDJ;EACI,OC/8BQ;;ADk9BZ;EACI,OC98BI;;ADm9BR;EACI;EACA;;AAZJ;EACI,OC/8BQ;;ADk9BZ;EACI,OC98BI;;ADsgCZ;EACI;EACA;;AAEA;EACI;;AACA;EACI,OClhCI;;AD88BZ;EACI,OC/8BQ;;ADk9BZ;EACI,OC98BI;;ADm9BR;EACI;EACA;;AAZJ;EACI,OC/8BQ;;ADk9BZ;EACI,OC98BI;;ADqhCR;EACI,OCthCI;;AD0hCZ;AAAA;EAEI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA,OCriCQ;EDsiCR,cAzjC4B;ED2MhC,YC5MmC,SD4MT;EAC1B;EACA;EACA;EACA;;ACi3BI;EAEI;EACA,OCrkCS;;ADwkCb;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAKJ;EACI,OCtkCI;;AD0kCZ;EACI;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;;AAOA;EACI;;AAIJ;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aChjCc;;ADkjCd;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA,aCroCc;EDsoCd;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;;AAEA;EACI","file":"header.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../scss/mixins.scss","../scss/header.scss","../scss/variables.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACxKA;EACI;EACA;EACA;EACA;EACA;EACA,QAfe;EAgBf;EACA;EACA;EACA,aCsEc;EDrEd;;AAEA;EAGI;;AAGJ;EACI;;;AAIR;EACI;EACA,QAnCe;EAoCf;EACA;EACA;EACA;EACA;EDsBA,0BCpB2B;EDqB3B,6BCrB2B;EDsB3B,qBCtB2B;ED0B3B,0BC1BgC;ED2BhC,6BC3BgC;ED4BhC,qBC5BgC;;AAEhC;EACI;;ADoHJ;EC/GQ;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIR;AAAA;AAAA;EAGI;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;;AAEA;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OCrFmB;EDsFnB;;AAEA;EACI;;;AAIR;AAAA;EAEI;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OCjHmB;EDkHnB;EACA;;;AAIA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAOJ;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI,kBCnKU;;ADwKtB;EACI;EACA;EACA;;;AAIR;EACI;EACA,QArNe;EAsNf,aAtNe;EAuNf;EACA,cAxNe;EAyNf;EACA;EACA;EACA;;;AAGJ;EACI;EACA,KAjOe;EAkOf;EACA;EACA;EACA;EACA;EACA;;AAMA;EACI;;AAGJ;EACI;;AAMA;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAOJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAIR;AAAA;EAEI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAQA;EACI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA,kBClTc;;;ADuTtB;EAII;EACA;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA,QAzWe;EA0Wf;EACA;EACA;EACA;ED/SA,0BCiT2B;EDhT3B,6BCgT2B;ED/S3B,qBC+S2B;ED3S3B,0BC2SkC;ED1SlC,6BC0SkC;EDzSlC,qBCySkC;;ADtMlC;ECyMI;EACA;EACA;;AAGJ;EAII;EACA;;AAGJ;EAEI;;AAGJ;EACI;EACA,cClWkB;EDmWlB;;AAGJ;EACI;;;AAIR;EACI;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA,kBC5Ya;ED6Yb;EACA;;AAEA;AAAA;EACI;EACA;EACA,kBCnZS;EDqZT;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDlUA;EACA;EACA,eAHwB;;ACuUxB;EAEI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aC1WS;ED2WT;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;;AAEA;EACI,aCnYE;EDoYF;;;AAMhB;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDlYA;EACA;EACA,eAHwB;;ACuYxB;EAEI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aC1aS;ED2aT;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAEA;EACI;;AAEA;EACI,aCncE;EDocF;;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA,WA7kBsB;;AA+kBtB;AAAA;EAEI;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,aAlmBe;EAmmBf;EACA;EACA;EDrfA;EACA;EACA,eAHwB;;AC0fxB;EAEI;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA,aC7hBK;ED8hBL;;AAIR;EACI;;AAGJ;EACI;;;AAIR;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;;;AAIR;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,aClkBU;;ADqkBd;EACI;EACA;;;AAIR;AAAA;AAAA;EAGI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDhkBA;EACA;EACA,eAHwB;;ACqkBxB;AAAA;AAAA;AAAA;AAAA;EAEI;;AAGJ;AAAA;AAAA;EACI;;;AAIR;AAAA;AAAA;EAGI;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAEA;AAAA;AAAA;EACI;EACA;EACA;;;AAIR;EACI;EACA;EACA;EAKA;;AAJA;EACI;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aC1oBS;ED2oBT;EACA;;AAGJ;EACI;;;AAIR;EACI;EACA;EACA;;;AAKA;AAAA;EACI;EACA;EACA;;;AAKJ;EACI;;;AAIR;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAIA;EACI;EACA;;;AAIR;EACI;EACA;;;AAGJ;EACI;EACA;EACA,OAlyBe;EAmyBf,QAnyBe;EAoyBf;EACA;;AAEA;AAAA;EAGI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EAEI,OCx0BQ;;;AD40BhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OCh1BkB;EDi1BlB;EACA;EACA;EACA;EACA;EACA,kBCj2BmB;;ADm2BnB;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA,kBC92BQ;;;ADk3BhB;EACI;EACA;EACA;EACA;EACA;EACA,aCpzBc;EDqzBd;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;;AAEA;EACI;;AAEA;EACI,aC91BM;ED+1BN;;AAGA;EACI;EACA;;AAEJ;EACI;;;AAMhB;EACI;;AAEA;EACI;EACA;;AAEA;EACI;EACA;EACA,aCv3BM;EDw3BN;EACA;;AAGJ;EACI;;;AAKZ;EACI;EACA;;AAEA;EACI,OCv8BQ;EDw8BR;EACA;;AAEA;EACI,OCt8BI;EDu8BJ;;AAGJ;EACI;EACA;;;AAKZ;EACI;EACA;;AAqBA;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AApCJ;EACI,OCt+BQ;;ADy+BZ;EACI,OCr+BI;;AD0+BR;EACI;EACA;;AAZJ;EACI,OCt+BQ;;ADy+BZ;EACI,OCr+BI;;AD4gCZ;EACI;;AAEA;EACI;;AAGJ;EACI;EACA;;AArDJ;EACI,OCt+BQ;;ADy+BZ;EACI,OCr+BI;;AD0+BR;EACI;EACA;;AAZJ;EACI,OCt+BQ;;ADy+BZ;EACI,OCr+BI;;AD6hCZ;EACI;EACA;;AAEA;EACI;;AACA;EACI,OCziCI;;ADq+BZ;EACI,OCt+BQ;;ADy+BZ;EACI,OCr+BI;;AD0+BR;EACI;EACA;;AAZJ;EACI,OCt+BQ;;ADy+BZ;EACI,OCr+BI;;AD4iCR;EACI,OC7iCI;;ADijCZ;AAAA;EAEI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA,OC5jCQ;ED6jCR,cAhlC4B;ED2MhC,YC5MmC,SD4MT;EAC1B;EACA;EACA;EACA;;ACw4BI;EAEI;EACA,OC5lCS;;AD+lCb;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAKJ;EACI,OC7lCI;;ADimCZ;EACI;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;;AAOA;EACI;;AAIJ;EACI;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aCvkCc;;ADykCd;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA,aC5pCc;ED6pCd;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;;AAEA;EACI","file":"header.css"}
@@ -6446,6 +6446,15 @@ span.CodeMirror-selectedtext {
6446
6446
  background-color: #dde4eb;
6447
6447
  }
6448
6448
 
6449
+ a.gd-list-help-menu-item.gd-list-item:focus-visible {
6450
+ outline: none;
6451
+ box-shadow: 0 0 0 2px black;
6452
+ text-decoration: none;
6453
+ }
6454
+ a.gd-list-help-menu-item.gd-list-item:focus {
6455
+ text-decoration: none;
6456
+ }
6457
+
6449
6458
  .gd-header-menu-item {
6450
6459
  box-sizing: border-box;
6451
6460
  display: inline-block;
@@ -6983,6 +6992,13 @@ span.CodeMirror-selectedtext {
6983
6992
  font-family: gdcustomfont, avenir, "Helvetica Neue", arial, sans-serif;
6984
6993
  font-weight: 400;
6985
6994
  }
6995
+ .gd-header-account-dropdown .gd-list a.gd-list-item:focus-visible {
6996
+ outline: auto;
6997
+ text-decoration: none;
6998
+ }
6999
+ .gd-header-account-dropdown .gd-list a.gd-list-item:focus {
7000
+ text-decoration: none;
7001
+ }
6986
7002
 
6987
7003
  .gd-header-help-dropdown {
6988
7004
  overflow: hidden;
@@ -10573,20 +10589,37 @@ input[type=search]::-webkit-search-cancel-button {
10573
10589
  .gd-rich-text-content textarea::placeholder {
10574
10590
  color: var(--gd-palette-complementary-6, #94a1ad);
10575
10591
  }
10592
+ .gd-rich-text-content .gd-rich-text-metric-value {
10593
+ font-weight: bold;
10594
+ }
10595
+ .gd-rich-text-content .gd-rich-text-metric-empty {
10596
+ color: var(--gd-palette-complementary-8, #464e56);
10597
+ }
10598
+ .gd-rich-text-content .gd-rich-text-metric-error {
10599
+ color: var(--gd-palette-error-base, #e54d42);
10600
+ }
10576
10601
 
10577
10602
  .gd-rich-text-content-view * {
10578
10603
  margin-top: 0;
10579
10604
  color: var(--gd-palette-complementary-7, #6d7680);
10580
10605
  }
10581
- .gd-rich-text-content-view a {
10606
+ .gd-rich-text-content-view a,
10607
+ .gd-rich-text-content-view a * {
10582
10608
  cursor: pointer;
10583
10609
  color: var(--gd-palette-primary-base, #14b2e2);
10584
10610
  text-decoration: underline;
10585
10611
  }
10586
- .gd-rich-text-content-view a:hover, .gd-rich-text-content-view a:focus, .gd-rich-text-content-view a:active {
10612
+ .gd-rich-text-content-view a:hover, .gd-rich-text-content-view a:focus, .gd-rich-text-content-view a:active,
10613
+ .gd-rich-text-content-view a *:hover,
10614
+ .gd-rich-text-content-view a *:focus,
10615
+ .gd-rich-text-content-view a *:active {
10587
10616
  color: var(--gd-palette-complementary-8, #464e56);
10588
10617
  text-decoration: underline;
10589
10618
  }
10619
+ .gd-rich-text-content-view a:hover,
10620
+ .gd-rich-text-content-view a:hover * {
10621
+ color: var(--gd-palette-complementary-8, #464e56);
10622
+ }
10590
10623
  .gd-rich-text-content-view h1,
10591
10624
  .gd-rich-text-content-view h2,
10592
10625
  .gd-rich-text-content-view h3,