@salesforcedevs/dx-components 1.40.5-topic-alpha.7 → 1.40.5

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 (30) hide show
  1. package/LICENSE +12 -0
  2. package/lwc.config.json +0 -1
  3. package/package.json +3 -2
  4. package/src/modules/dx/button/button.css +4 -40
  5. package/src/modules/dx/checkboxGroup/checkboxGroup.css +0 -5
  6. package/src/modules/dx/dropdown/dropdown.css +16 -27
  7. package/src/modules/dx/dropdown/dropdown.html +1 -1
  8. package/src/modules/dx/dropdown/dropdown.ts +2 -18
  9. package/src/modules/dx/dropdownOption/dropdownOption.css +40 -59
  10. package/src/modules/dx/dropdownOption/dropdownOption.html +6 -23
  11. package/src/modules/dx/dropdownOption/dropdownOption.ts +6 -1
  12. package/src/modules/dx/popover/popover.css +1 -3
  13. package/src/modules/dx/popover/popover.ts +3 -25
  14. package/src/modules/dx/sidebarFooterNav/sidebarFooterNav.css +2 -0
  15. package/src/modules/dx/tabPanelList/tabPanelList.css +14 -0
  16. package/src/modules/dx/tabPanelList/tabPanelList.html +19 -10
  17. package/src/modules/dx/tabPanelList/tabPanelList.ts +4 -24
  18. package/src/modules/dx/tree/treeHandler.ts +10 -77
  19. package/src/modules/dx/treeItem/treeItem.css +0 -36
  20. package/src/modules/dx/treeItem/treeItem.html +2 -16
  21. package/src/modules/dx/treeItem/treeItem.ts +6 -91
  22. package/src/modules/dx/treeTile/treeTile.css +0 -52
  23. package/src/modules/dx/treeTile/treeTile.ts +1 -7
  24. package/src/modules/dx/typeBadge/typeBadge.ts +2 -23
  25. package/src/modules/dxBaseElements/headerBase/headerBase.ts +2 -1
  26. package/src/modules/dxConstants/brands/brands.ts +2 -1
  27. package/src/modules/dxHelpers/commonSidebar/commonSidebar.css +16 -18
  28. package/src/modules/dxHelpers/commonTreeItem/commonTreeItem.css +0 -4
  29. package/src/modules/dxHelpers/typeBadge/typeBadge.css +0 -22
  30. package/src/modules/dxUtils/topicVersion/topicVersion.ts +0 -467
@@ -15,18 +15,11 @@
15
15
  </dx-tab-panel-item>
16
16
  </template>
17
17
  </div>
18
- <dx-dropdown
19
- class="more-dropdown"
20
- offset="medium"
21
- placement="bottom-end"
22
- width-mode="fit-content"
23
- options={dropdownOptions}
24
- value={activeOptionId}
25
- onchange={onDropdownChange}
26
- >
18
+ <dx-popover offset="medium" placement="bottom-center">
27
19
  <dx-tab-panel-item
28
20
  role="button"
29
21
  class="more-btn-container"
22
+ slot="control"
30
23
  tab-label="More"
31
24
  >
32
25
  <div class="more-btn">
@@ -38,7 +31,23 @@
38
31
  ></dx-icon>
39
32
  </div>
40
33
  </dx-tab-panel-item>
41
- </dx-dropdown>
34
+ <div slot="content">
35
+ <template for:each={dropdownItems} for:item="dropdownItem">
36
+ <div
37
+ role="button"
38
+ onclick={onDropdownItemClick}
39
+ onkeydown={onDropdownItemClick}
40
+ data-value={dropdownItem.index}
41
+ key={dropdownItem.label}
42
+ class="dropdown-item"
43
+ tabindex="0"
44
+ tab-label={dropdownItem.label}
45
+ >
46
+ {dropdownItem.label}
47
+ </div>
48
+ </template>
49
+ </div>
50
+ </dx-popover>
42
51
  </div>
43
52
  <div part="tabpanels">
44
53
  <slot onslotchange={onSlotChange}></slot>
@@ -1,5 +1,5 @@
1
1
  import { LightningElement, api } from "lwc";
2
- import { LightningSlotElement, Option, Tab } from "typings/custom";
2
+ import { LightningSlotElement, Tab } from "typings/custom";
3
3
  import { toJson } from "dxUtils/normalizers";
4
4
  import { uniqueId } from "./uniqueId";
5
5
  export default class TabPanelList extends LightningElement {
@@ -33,6 +33,7 @@ export default class TabPanelList extends LightningElement {
33
33
  private _activeIndex?: number;
34
34
  private groupId: string = uniqueId();
35
35
  private tabSlotPanels?: LightningSlotElement;
36
+ private showPopover: boolean = true;
36
37
  private dropdownItems: Tab[] = [];
37
38
  private hasRendered: boolean = false;
38
39
 
@@ -73,25 +74,8 @@ export default class TabPanelList extends LightningElement {
73
74
  this.activeIndex = e.detail;
74
75
  }
75
76
 
76
- // Tabs that don't fit are listed in the "More" dropdown. Option ids are the
77
- // tab index as a string.
78
- private get dropdownOptions(): Option[] {
79
- return this.dropdownItems.map((item) => ({
80
- id: String(item.index),
81
- label: item.label || ""
82
- }));
83
- }
84
-
85
- private get activeOptionId(): string {
86
- return String(this.activeIndex);
87
- }
88
-
89
- private onDropdownChange(e: CustomEvent<string>) {
90
- this.onTabClick({ detail: +e.detail });
91
- // The menu closes after a pick; keep keyboard focus on its trigger.
92
- (
93
- this.template.querySelector(".more-btn-container") as HTMLElement
94
- )?.focus();
77
+ private onDropdownItemClick(e: any) {
78
+ this.onTabClick({ detail: +e.currentTarget.dataset.value });
95
79
  }
96
80
 
97
81
  private onSlotChange(e: Event) {
@@ -127,10 +111,6 @@ export default class TabPanelList extends LightningElement {
127
111
  }
128
112
 
129
113
  private onKeydown = (e: KeyboardEvent) => {
130
- // Arrow keys inside the open "More" menu belong to the dropdown.
131
- if ((e.target as HTMLElement).tagName === "DX-DROPDOWN") {
132
- return;
133
- }
134
114
  switch (e.key) {
135
115
  case "ArrowLeft": {
136
116
  e.preventDefault();
@@ -1,18 +1,6 @@
1
1
  import type { InternalTreeNode, TreeNode } from "typings/custom";
2
- import type { TopicVersionOption } from "dxUtils/topicVersion";
3
- import {
4
- applyVersionToHref,
5
- normalizePath,
6
- resolveSelectedVersion
7
- } from "dxUtils/topicVersion";
8
-
9
- type VersionedTreeNode = TreeNode & { versions?: TopicVersionOption[] };
10
- type VersionedInternalTreeNode = InternalTreeNode & {
11
- versions?: TopicVersionOption[];
12
- };
13
-
14
2
  type MapItem = {
15
- node: VersionedInternalTreeNode;
3
+ node: InternalTreeNode;
16
4
  parent?: MapItem;
17
5
  setExpanded?: Function;
18
6
  };
@@ -33,10 +21,7 @@ export class TreeHandler {
33
21
  }
34
22
 
35
23
  getKeyByName(name: string): string | undefined {
36
- if (!name) {
37
- return undefined;
38
- }
39
- return this._nameKeyMap[name] || this._nameKeyMap[normalizePath(name)];
24
+ return name && this._nameKeyMap[name];
40
25
  }
41
26
 
42
27
  initialize(treeRoot: TreeNode): InternalTreeNode {
@@ -63,41 +48,12 @@ export class TreeHandler {
63
48
  }
64
49
 
65
50
  private convert(
66
- node: VersionedTreeNode,
51
+ node: TreeNode,
67
52
  level: number = 0,
68
53
  parent?: MapItem,
69
- position?: number,
70
- ancestorVersion?: {
71
- selected: TopicVersionOption;
72
- versions: TopicVersionOption[];
73
- }
74
- ): VersionedInternalTreeNode {
75
- const ownSelected = node.versions?.length
76
- ? resolveSelectedVersion(node)
77
- : undefined;
78
- const versionContext =
79
- ownSelected && node.versions
80
- ? { selected: ownSelected, versions: node.versions }
81
- : ancestorVersion;
82
-
83
- let link = node.link;
84
- if (
85
- versionContext &&
86
- !node.versions?.length &&
87
- link?.href &&
88
- link.target !== "_blank"
89
- ) {
90
- const rewritten = applyVersionToHref(
91
- link.href,
92
- versionContext.selected,
93
- versionContext.versions
94
- );
95
- if (rewritten && rewritten !== link.href) {
96
- link = { ...link, href: rewritten };
97
- }
98
- }
99
-
100
- const convertedNode: VersionedInternalTreeNode = {
54
+ position?: number
55
+ ): InternalTreeNode {
56
+ const convertedNode: InternalTreeNode = {
101
57
  label: node.label,
102
58
  name: node.name,
103
59
  key: this.calculateKey(
@@ -107,47 +63,24 @@ export class TreeHandler {
107
63
  level: level,
108
64
  isExpanded: node.isExpanded || false,
109
65
  isChildrenLoading: node.isChildrenLoading || false,
110
- link,
66
+ link: node.link,
111
67
  method: node.method,
112
68
  showForwardArrow: node.showForwardArrow,
113
- versions: node.versions
69
+ redirectToChild: node.redirectToChild
114
70
  };
115
71
 
116
72
  const mapItem = { node: convertedNode, parent };
117
73
  if (node.children && node.children.length > 0) {
118
74
  convertedNode.children = node.children.map((child, index) =>
119
- this.convert(child, level + 1, mapItem, index, versionContext)
75
+ this.convert(child, level + 1, mapItem, index)
120
76
  );
121
77
  }
122
78
 
123
79
  this._nodeMap[convertedNode.key] = mapItem;
124
- this.indexName(convertedNode.name, convertedNode.key);
125
- this.indexName(convertedNode.link?.href, convertedNode.key);
126
- // Index this topic's own versioned URLs only. Parent-only switching
127
- // URLs point at a child with content and must not steal that child's
128
- // selection.
129
- if (node.name && node.versions) {
130
- for (const version of node.versions) {
131
- this.indexName(
132
- applyVersionToHref(node.name, version, node.versions),
133
- convertedNode.key
134
- );
135
- }
136
- }
80
+ this._nameKeyMap[convertedNode.name] = convertedNode.key;
137
81
  return convertedNode;
138
82
  }
139
83
 
140
- private indexName(name: string | undefined, key: string): void {
141
- if (!name) {
142
- return;
143
- }
144
- this._nameKeyMap[name] = key;
145
- const normalized = normalizePath(name);
146
- if (normalized && normalized !== name) {
147
- this._nameKeyMap[normalized] = key;
148
- }
149
- }
150
-
151
84
  private calculateKey(parentKey: string, position?: number): string {
152
85
  if (position === undefined) {
153
86
  return parentKey;
@@ -4,42 +4,6 @@
4
4
  display: block;
5
5
  }
6
6
 
7
- /* Lift this row above later sibling pickers while its menu is open. */
8
- :host(:focus-within) {
9
- position: relative;
10
- z-index: 2;
11
- }
12
-
13
- .tree-item-row {
14
- display: flex;
15
- align-items: center;
16
- min-width: 0;
17
- }
18
-
19
- /* The tile's keyboard focus layers fill this row, picker included. isolate
20
- keeps the fill above the row's background and below its content. Only while
21
- focus is inside: a row that is always isolated traps its picker's menu, and
22
- later rows cover the menu while it fades out after a click outside. */
23
- .tree-item-row:focus-within {
24
- position: relative;
25
- isolation: isolate;
26
- }
27
-
28
- .tree-item-row dx-tree-tile {
29
- flex: 1;
30
- min-width: 0;
31
- }
32
-
33
- .tree-item-version-picker {
34
- flex: 0 0 auto;
35
- margin-right: var(--dx-g-spacing-lg);
36
- }
37
-
38
- .tree-item-row-selected {
39
- background: var(--dx-g-cloud-blue-vibrant-95);
40
- box-shadow: inset var(--dx-g-spacing-xs) 0 0 0 var(--dx-g-blue-vibrant-40);
41
- }
42
-
43
7
  button {
44
8
  width: 100%;
45
9
  text-align: left;
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class={rowClass}>
2
+ <a href={href} target={target} onclick={onLinkClick} tabindex="-1">
3
3
  <dx-tree-tile
4
4
  href={href}
5
5
  is-root={isRoot}
@@ -7,26 +7,12 @@
7
7
  is-expanded={isExpanded}
8
8
  has-children={hasChildren}
9
9
  is-selected={isSelected}
10
- is-contained-selection={isContainedSelection}
11
10
  oniconclick={onIconClick}
12
11
  show-arrow={isParent}
13
12
  target={target}
14
13
  is-external-link={isExternalLink}
15
- has-version-picker={showVersionPicker}
16
- onclick={onLinkClick}
17
14
  ></dx-tree-tile>
18
- <doc-version-picker
19
- if:true={showVersionPicker}
20
- class="tree-item-version-picker"
21
- small="true"
22
- versions={versionPickerOptions}
23
- selected-version={selectedVersion}
24
- latest-version={isLatestVersion}
25
- onchange={onVersionChange}
26
- onclick={onVersionPickerClick}
27
- onmousedown={onVersionPickerClick}
28
- ></doc-version-picker>
29
- </div>
15
+ </a>
30
16
  <img
31
17
  if:true={showChildrenLoading}
32
18
  class="tree-children-loading"
@@ -2,24 +2,9 @@ import { LightningElement, api } from "lwc";
2
2
  import { InternalTreeNode } from "typings/custom";
3
3
  import { track } from "dxUtils/analytics";
4
4
  import { isInViewport } from "dxUtils/browser";
5
- import type { TopicVersionOption } from "dxUtils/topicVersion";
6
- import {
7
- firstContentNode,
8
- getTopicVersionKey,
9
- getVersionPickerOptions,
10
- isParentOnlyTopic,
11
- normalizePath,
12
- persistTopicVersion,
13
- resolveSelectedVersion,
14
- shouldShowTopicVersionPicker
15
- } from "dxUtils/topicVersion";
16
5
 
17
6
  const DEFAULT_TARGET = "_self";
18
7
 
19
- type VersionedInternalTreeNode = InternalTreeNode & {
20
- versions?: TopicVersionOption[];
21
- };
22
-
23
8
  export default class TreeItem extends LightningElement {
24
9
  @api selectedKey?: string;
25
10
  @api isRoot: boolean = false;
@@ -35,7 +20,7 @@ export default class TreeItem extends LightningElement {
35
20
  this.isChildrenLoading = (node && node.isChildrenLoading) || false;
36
21
  }
37
22
 
38
- private _treeNode!: VersionedInternalTreeNode;
23
+ private _treeNode!: InternalTreeNode;
39
24
  private isExpanded: boolean = false;
40
25
  private isChildrenLoading: boolean = false;
41
26
  private rootParentLabel: string = "";
@@ -45,22 +30,9 @@ export default class TreeItem extends LightningElement {
45
30
  }
46
31
 
47
32
  private get isSelected(): boolean {
48
- if (isParentOnlyTopic(this._treeNode)) {
49
- return false;
50
- }
51
33
  return this._treeNode.key === this.selectedKey && !this.isExternalLink;
52
34
  }
53
35
 
54
- private get rowClass(): string {
55
- return this.isSelected && this.showVersionPicker
56
- ? "tree-item-row tree-item-row-selected"
57
- : "tree-item-row";
58
- }
59
-
60
- private get isContainedSelection(): boolean {
61
- return this.isSelected && this.showVersionPicker;
62
- }
63
-
64
36
  private get hasChildren(): boolean {
65
37
  return !!(
66
38
  this.treeNode &&
@@ -111,44 +83,8 @@ export default class TreeItem extends LightningElement {
111
83
  return `${parentLabels.reverse().join(":")}:${this.treeNode.label}`;
112
84
  }
113
85
 
114
- private get versions(): TopicVersionOption[] | undefined {
115
- return this._treeNode?.versions;
116
- }
117
-
118
- private get versionPickerOptions(): TopicVersionOption[] | undefined {
119
- return getVersionPickerOptions(this._treeNode);
120
- }
121
-
122
- private get showVersionPicker(): boolean {
123
- return shouldShowTopicVersionPicker(
124
- this.versions,
125
- this._treeNode?.showForwardArrow
126
- );
127
- }
128
-
129
- private get selectedVersion(): TopicVersionOption | undefined {
130
- return resolveSelectedVersion(this._treeNode);
131
- }
132
-
133
- private get isLatestVersion(): boolean {
134
- return (
135
- !!this.selectedVersion &&
136
- this.selectedVersion.id === this.versions?.[0]?.id
137
- );
138
- }
139
-
140
86
  private get href(): string | undefined {
141
- if (isParentOnlyTopic(this._treeNode)) {
142
- const contentNode = firstContentNode(this._treeNode);
143
- return (
144
- contentNode?.link?.href ||
145
- contentNode?.name ||
146
- this.selectedVersion?.link?.href ||
147
- ""
148
- );
149
- }
150
87
  return (
151
- this.selectedVersion?.link?.href ||
152
88
  (this._treeNode.link && this._treeNode.link.href) ||
153
89
  this._treeNode.name ||
154
90
  ""
@@ -168,23 +104,6 @@ export default class TreeItem extends LightningElement {
168
104
  setExpanded: this.setExpanded.bind(this)
169
105
  });
170
106
  }
171
-
172
- // Remember this topic's resolved version (own URL, descendant URL, or
173
- // session) so sibling pickers stay independent for the tab.
174
- const selected = resolveSelectedVersion(this._treeNode);
175
- const topicKey = getTopicVersionKey(this._treeNode);
176
- if (this.versions?.length && selected && topicKey) {
177
- persistTopicVersion(topicKey, selected.id);
178
- }
179
- }
180
-
181
- private onVersionChange(event: CustomEvent): void {
182
- event.stopPropagation();
183
- persistTopicVersion(getTopicVersionKey(this._treeNode), event.detail);
184
- }
185
-
186
- private onVersionPickerClick(event: Event): void {
187
- event.stopPropagation();
188
107
  }
189
108
 
190
109
  renderedCallback(): void {
@@ -215,8 +134,8 @@ export default class TreeItem extends LightningElement {
215
134
  private preventDefaultLinkBehavior(event: Event) {
216
135
  // prevent page refresh if href isn't present or link is already active
217
136
  if (
218
- !this.href ||
219
- normalizePath(this.href) === normalizePath(window.location.pathname)
137
+ !this._treeNode.link?.href ||
138
+ this._treeNode.link?.href === window.location.pathname
220
139
  ) {
221
140
  event.preventDefault();
222
141
  }
@@ -248,12 +167,8 @@ export default class TreeItem extends LightningElement {
248
167
  }
249
168
 
250
169
  this.sendGtm(event);
251
- const contentNode = isParentOnlyTopic(this._treeNode)
252
- ? firstContentNode(this._treeNode)
253
- : undefined;
254
170
  this.fireEvent("tileselected", {
255
- name: contentNode?.name || this._treeNode.name,
256
- ...(contentNode?.key ? { key: contentNode.key } : {}),
171
+ name: this._treeNode.name,
257
172
  isExternalLink: this.isExternalLink
258
173
  });
259
174
  }
@@ -271,8 +186,8 @@ export default class TreeItem extends LightningElement {
271
186
  this.dispatchEvent(
272
187
  new CustomEvent(type, {
273
188
  detail: {
274
- key: this._treeNode.key,
275
- ...detail
189
+ ...detail,
190
+ key: this._treeNode.key
276
191
  },
277
192
  bubbles: true,
278
193
  composed: true
@@ -66,10 +66,6 @@
66
66
  white-space: nowrap;
67
67
  }
68
68
 
69
- .tile-with-version-picker {
70
- padding-right: var(--dx-g-spacing-xs);
71
- }
72
-
73
69
  .tile-with-children .tile-label {
74
70
  order: 2;
75
71
  }
@@ -217,51 +213,3 @@ a:visited.tile-root,
217
213
  a:link.tile-root {
218
214
  color: var(--dx-g-blue-vibrant-20);
219
215
  }
220
-
221
- /* Keyboard focus matches dx-dropdown-option: a light fill, a 2px blue inset
222
- ring, and a white inner band. The layers fill dx-tree-item's row (it sets
223
- position: relative), so a version picker beside the link sits inside the
224
- focus box. The fill stays behind the row's content; the ring sits on top.
225
- Undo the shared tree item focus box (commonTreeItem) first. */
226
- :host .sidebar-item:focus-visible {
227
- margin: 0;
228
- padding: 6px var(--dx-g-spacing-lg) 6px
229
- var(--dx-g-global-header-padding-horizontal);
230
- outline: none;
231
- border-radius: 0;
232
- }
233
-
234
- :host .sidebar-item:focus-visible .indentation {
235
- padding-top: 0;
236
- padding-bottom: 0;
237
- outline: none;
238
- }
239
-
240
- :host .sidebar-item:focus-visible::before,
241
- :host .sidebar-item:focus-visible::after {
242
- content: "";
243
- position: absolute;
244
- inset: 0;
245
- pointer-events: none;
246
- }
247
-
248
- :host .sidebar-item:focus-visible::before {
249
- z-index: -1;
250
- background: var(--dx-g-cloud-blue-vibrant-95);
251
- }
252
-
253
- :host .sidebar-item:focus-visible::after {
254
- z-index: 1;
255
- box-shadow: inset 0 0 0 2px var(--dx-g-blue-vibrant-60),
256
- inset 0 0 0 4px white;
257
- }
258
-
259
- /* A selected item keeps its left bar when it also has keyboard focus. */
260
- :host
261
- .sidebar-item:is(
262
- .sidebar-item-selected,
263
- .sidebar-item-selected-text
264
- ):focus-visible::after {
265
- box-shadow: inset var(--dx-g-spacing-xs) 0 0 0 var(--dx-g-blue-vibrant-40),
266
- inset 0 0 0 2px var(--dx-g-blue-vibrant-60), inset 0 0 0 4px white;
267
- }
@@ -28,12 +28,10 @@ export default class TreeTile extends LightningElement {
28
28
  @api isExpanded = false;
29
29
  @api hasChildren = false;
30
30
  @api isSelected = false;
31
- @api isContainedSelection = false;
32
31
  @api href!: string;
33
32
  @api showArrow = false;
34
33
  @api target!: string;
35
34
  @api isExternalLink = false;
36
- @api hasVersionPicker = false;
37
35
 
38
36
  get tileAriaLevel() {
39
37
  return this.treeNode.level + 2;
@@ -103,11 +101,7 @@ export default class TreeTile extends LightningElement {
103
101
  "tile-root": this.isRoot,
104
102
  "tile-with-children": !this.isRoot && this.hasChildren,
105
103
  "tile-root-with-child": this.isRoot && this.showArrow,
106
- "sidebar-item-selected":
107
- this.isSelected && !this.isContainedSelection,
108
- "sidebar-item-selected-text":
109
- this.isSelected && this.isContainedSelection,
110
- "tile-with-version-picker": this.hasVersionPicker
104
+ "sidebar-item-selected": this.isSelected
111
105
  });
112
106
  }
113
107
 
@@ -7,7 +7,6 @@ import {
7
7
  IconSprite,
8
8
  IconData,
9
9
  IconSymbol,
10
- StatusBadgeVariant,
11
10
  TypeBadgeSize
12
11
  } from "typings/custom";
13
12
  import { colorToDxColors, buildStyleColorVariables } from "dxUtils/css";
@@ -21,16 +20,9 @@ import {
21
20
  getContentTypeColorVariables
22
21
  } from "dxUtils/contentTypes";
23
22
 
24
- // Opt-in solid status variants (status-success/-warning/-error).
25
- export const STATUS_BADGE_VARIANTS: StatusBadgeVariant[] = [
26
- "status-success",
27
- "status-warning",
28
- "status-error"
29
- ];
30
-
31
23
  export default class TypeBadge extends LightningElement {
32
24
  @api size: TypeBadgeSize = "default";
33
- @api variant: Brand | ContentType | StatusBadgeVariant = "default";
25
+ @api variant: Brand | ContentType = "default";
34
26
  @api color?: Color;
35
27
  @api dark?: false;
36
28
 
@@ -95,24 +87,11 @@ export default class TypeBadge extends LightningElement {
95
87
  return isContentType(this.variant);
96
88
  }
97
89
 
98
- private get isStatus(): boolean {
99
- return STATUS_BADGE_VARIANTS.includes(
100
- this.variant as StatusBadgeVariant
101
- );
102
- }
103
-
104
90
  private get className(): string {
105
- return cx(
106
- "dx-badge",
107
- `size-${this.size}`,
108
- this.isStatus && this.variant
109
- );
91
+ return cx("dx-badge", `size-${this.size}`);
110
92
  }
111
93
 
112
94
  private get style(): string {
113
- if (this.isStatus) {
114
- return "";
115
- }
116
95
  if (this.dark) {
117
96
  return buildStyleColorVariables({
118
97
  background: "--dx-g-purple-vibrant-40",
@@ -18,7 +18,8 @@ const VALID_BRANDS = [
18
18
  "revenue",
19
19
  "sales",
20
20
  "service",
21
- "success"
21
+ "success",
22
+ "cross-product"
22
23
  ];
23
24
 
24
25
  export const ANALYTICS_INFO = {
@@ -13,5 +13,6 @@ export const BRANDS = [
13
13
  "industries",
14
14
  "learning",
15
15
  "service",
16
- "analytics"
16
+ "analytics",
17
+ "cross-product"
17
18
  ] as Brand[];