@salesforcedevs/dx-components 0.0.0-alpha.3 → 0.0.0-alpha.30

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 (68) hide show
  1. package/lwc.config.json +5 -1
  2. package/package.json +1 -1
  3. package/src/assets/icons/salesforcebrand-sprite/svg/symbols.svg +40 -0
  4. package/src/assets/svg/big-moon.svg +1 -0
  5. package/src/assets/svg/blue-circle.svg +3 -0
  6. package/src/assets/svg/trial-left.svg +6 -0
  7. package/src/assets/svg/trial-right.svg +26 -0
  8. package/src/modules/dx/banner/banner.ts +1 -1
  9. package/src/modules/dx/button/button.css +4 -8
  10. package/src/modules/dx/buttonToggle/buttonToggle.html +3 -2
  11. package/src/modules/dx/buttonToggle/buttonToggle.ts +25 -16
  12. package/src/modules/dx/cardEvent/cardEvent.html +1 -2
  13. package/src/modules/dx/cardEvent/cardEvent.ts +1 -1
  14. package/src/modules/dx/cardExpanded/cardExpanded.html +1 -6
  15. package/src/modules/dx/cardExpanded/cardExpanded.ts +2 -2
  16. package/src/modules/dx/cardMinimal/cardMinimal.html +1 -6
  17. package/src/modules/dx/cardTrial/cardTrial.css +9 -5
  18. package/src/modules/dx/cardTrial/cardTrial.ts +2 -1
  19. package/src/modules/dx/cardTrialExpanded/cardTrialExpanded.css +10 -2
  20. package/src/modules/dx/cardTrialExpanded/cardTrialExpanded.html +15 -2
  21. package/src/modules/dx/cardTrialExpanded/cardTrialExpanded.ts +1 -1
  22. package/src/modules/dx/featuredContentHeader/featuredContentHeader.css +60 -2
  23. package/src/modules/dx/featuredContentHeader/featuredContentHeader.html +8 -0
  24. package/src/modules/dx/featuredContentHeader/featuredContentHeader.ts +13 -1
  25. package/src/modules/dx/featuresList/featuresList.css +1 -1
  26. package/src/modules/dx/headerMobileNavMenu/headerMobileNavMenu.css +1 -0
  27. package/src/modules/dx/headerSearch/headerSearch.html +2 -0
  28. package/src/modules/dx/headerSearch/headerSearch.ts +1 -0
  29. package/src/modules/dx/hr/hr.css +2 -3
  30. package/src/modules/dx/imageAndLabel/imageAndLabel.css +0 -1
  31. package/src/modules/dx/input/input.ts +2 -0
  32. package/src/modules/dx/logo/logo.css +0 -1
  33. package/src/modules/dx/metadataBadge/metadataBadge.css +41 -0
  34. package/src/modules/dx/metadataBadge/metadataBadge.html +5 -0
  35. package/src/modules/dx/metadataBadge/metadataBadge.ts +24 -0
  36. package/src/modules/dx/modal/modal.css +6 -0
  37. package/src/modules/dx/modal/modal.html +2 -2
  38. package/src/modules/dx/modal/modal.ts +24 -1
  39. package/src/modules/dx/modalDrawer/modalDrawer.html +2 -2
  40. package/src/modules/dx/modalDrawer/modalDrawer.ts +7 -1
  41. package/src/modules/dx/pagination/pagination.css +1 -2
  42. package/src/modules/dx/section/section.css +10 -1
  43. package/src/modules/dx/section/section.ts +1 -1
  44. package/src/modules/dx/sidebarSearch/sidebarSearch.html +1 -0
  45. package/src/modules/dx/sidebarSearch/sidebarSearch.ts +1 -0
  46. package/src/modules/dx/tab/tab.css +0 -4
  47. package/src/modules/dx/tabPanel/tabPanel.css +1 -4
  48. package/src/modules/dx/tabPanelItem/tabPanelItem.css +0 -4
  49. package/src/modules/dx/tabPanelItem/tabPanelItem.html +1 -1
  50. package/src/modules/dx/tabPanelList/tabPanelList.css +5 -7
  51. package/src/modules/dx/treeItem/treeItem.html +1 -0
  52. package/src/modules/dx/treeTile/treeTile.css +17 -17
  53. package/src/modules/dx/treeTile/treeTile.html +5 -4
  54. package/src/modules/dx/treeTile/treeTile.ts +17 -3
  55. package/src/modules/dx/typeBadge/typeBadge.css +15 -56
  56. package/src/modules/dx/typeBadge/typeBadge.html +6 -0
  57. package/src/modules/dx/typeBadge/typeBadge.ts +142 -46
  58. package/src/modules/dxBaseElements/archiveCard/archiveCard.ts +2 -6
  59. package/src/modules/dxBaseElements/headerBase/headerBase.ts +1 -1
  60. package/src/modules/dxConstants/brands/brands.ts +14 -0
  61. package/src/modules/dxConstants/colors/colors.ts +14 -0
  62. package/src/modules/dxConstants/contentTypes/contentTypes.ts +10 -0
  63. package/src/modules/dxHelpers/card/card.css +1 -1
  64. package/src/modules/dxHelpers/commonHeader/commonHeader.css +0 -1
  65. package/src/modules/dxUtils/css/css.ts +10 -0
  66. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.css +0 -12
  67. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.html +0 -11
  68. package/src/modules/dx/typeBadgeGroup/typeBadgeGroup.ts +0 -18
@@ -41,6 +41,7 @@
41
41
 
42
42
  .nav-menu.state-closed {
43
43
  opacity: 0;
44
+ visibility: hidden;
44
45
  transform: translateY(-16px);
45
46
  pointer-events: none;
46
47
  }
@@ -20,6 +20,7 @@
20
20
  onclear={onInputEscape}
21
21
  onsubmit={onInputSubmit}
22
22
  onfocus={openDropdown}
23
+ onblur={onDropdownRequestClose}
23
24
  placeholder="Search"
24
25
  size="override"
25
26
  type="search"
@@ -51,6 +52,7 @@
51
52
  onclear={onInputEscape}
52
53
  onsubmit={onInputSubmit}
53
54
  onfocus={openDropdown}
55
+ onblur={onDropdownRequestClose}
54
56
  placeholder="Search"
55
57
  shortcut-key="k"
56
58
  size="small"
@@ -69,6 +69,7 @@ export default class HeaderSearch extends LightningElement {
69
69
  switch (e.detail as PopoverRequestCloseType) {
70
70
  case "interact-outside":
71
71
  case "keypress-escape":
72
+ case "input-blur":
72
73
  this.closeDropdown();
73
74
  break;
74
75
  default:
@@ -13,7 +13,7 @@ h2 {
13
13
  font-family: var(--dx-g-font-display);
14
14
  font-size: var(--dx-g-text-sm);
15
15
  color: var(--dx-g-blue-vibrant-20);
16
- text-transform: uppercase;
16
+ text-transform: capitalize;
17
17
  letter-spacing: 0;
18
18
  line-height: 18px;
19
19
  }
@@ -22,7 +22,6 @@ p::before,
22
22
  h2::before,
23
23
  p::after,
24
24
  h2::after {
25
- transform: translateY(-2px); /* offset for display font ghost padding */
26
25
  content: "";
27
26
  flex: 1 1;
28
27
  border-bottom: 2px solid var(--dx-g-gray-95);
@@ -42,7 +41,7 @@ h2::after {
42
41
  dx-button {
43
42
  display: flex;
44
43
  width: 100%;
45
- text-transform: uppercase;
44
+ text-transform: capitalize;
46
45
  padding: 0 var(--dx-c-hr-padding-horizontal);
47
46
  }
48
47
 
@@ -17,7 +17,6 @@ img {
17
17
  }
18
18
 
19
19
  span {
20
- margin-top: 3px;
21
20
  white-space: nowrap;
22
21
  }
23
22
 
@@ -186,6 +186,8 @@ export default class Input extends LightningElement {
186
186
  if (this.validityOnBlur) {
187
187
  this.reportValidity();
188
188
  }
189
+
190
+ this.dispatchEvent(new CustomEvent("blur", { detail: "input-blur" }));
189
191
  }
190
192
 
191
193
  onInputChange(e: InputEvent) {
@@ -23,7 +23,6 @@ a:hover {
23
23
  }
24
24
 
25
25
  .logo-link > span {
26
- margin-top: 3px;
27
26
  color: var(--dx-c-logo-label-color);
28
27
  }
29
28
 
@@ -0,0 +1,41 @@
1
+ @import "dxHelpers/reset";
2
+
3
+ .badge {
4
+ --background: var(--dx-g-cloud-blue-natural-90);
5
+ --border-radius: var(--dx-g-spacing-xs);
6
+ --color: var(--dx-g-blue-vibrant-20);
7
+ --height: var(--dx-g-spacing-lg);
8
+ --horizontal-spacing: var(--dx-g-spacing-sm);
9
+
10
+ color: var(--dx-c-metadata-badge-color, var(--color));
11
+ background: var(--dx-c-metadata-badge-background, var(--background));
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ height: var(--height);
16
+ width: min-content;
17
+ padding: 0 var(--horizontal-spacing);
18
+ border-radius: var(--border-radius);
19
+ font-family: var(--dx-g-font-display);
20
+ font-size: 10px;
21
+ text-align: center;
22
+ letter-spacing: 0.6px;
23
+ text-transform: uppercase;
24
+ white-space: nowrap;
25
+ }
26
+
27
+ .badge.size-small {
28
+ --height: var(--dx-g-spacing-md);
29
+ --horizontal-spacing: var(--dx-g-spacing-xs);
30
+
31
+ font-size: 8px;
32
+ letter-spacing: 0.5px;
33
+ }
34
+
35
+ @media screen and (max-width: 768px) {
36
+ .badge:not(.size-small) {
37
+ height: var(--dx-g-spacing-lg);
38
+ padding: 0 var(--dx-g-spacing-sm);
39
+ font-size: var(--dx-g-text-2xs);
40
+ }
41
+ }
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <div class={className} style={style}>
3
+ <span>{value}</span>
4
+ </div>
5
+ </template>
@@ -0,0 +1,24 @@
1
+ import { LightningElement, api } from "lwc";
2
+ import cx from "classnames";
3
+ import { Color, TypeBadgeSize } from "typings/custom";
4
+ import { colorToDxColors, buildStyleColorVariables } from "dxUtils/css";
5
+
6
+ export default class MetadataBadge extends LightningElement {
7
+ @api size: TypeBadgeSize = "default";
8
+ @api color?: Color;
9
+ @api value!: string;
10
+
11
+ private get className(): string {
12
+ return cx("badge", `size-${this.size}`);
13
+ }
14
+
15
+ private get style(): string {
16
+ if (this.color) {
17
+ const variables = colorToDxColors(this.color as Color);
18
+ if (variables) {
19
+ return buildStyleColorVariables(variables);
20
+ }
21
+ }
22
+ return "";
23
+ }
24
+ }
@@ -32,3 +32,9 @@
32
32
  width: 100%;
33
33
  z-index: calc(var(--dx-c-modal-drawer-z-index) - 1);
34
34
  }
35
+
36
+ @media screen and (max-width: 768px) {
37
+ .modal-drawer_container.modal-drawer_active {
38
+ pointer-events: all;
39
+ }
40
+ }
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <div class={containerClass}>
2
+ <div class={containerClass} tabindex="0" role="dialog">
3
3
  <slot></slot>
4
4
  </div>
5
5
  <div
6
6
  if:true={open}
7
7
  class="modal-drawer_overlay"
8
- onclick={handleCloseModal}
8
+ onclick={handleToggleModal}
9
9
  ></div>
10
10
  </template>
@@ -20,7 +20,30 @@ export default class Modal extends LightningElement {
20
20
  );
21
21
  }
22
22
 
23
- handleCloseModal() {
23
+ renderedCallback(): void {
24
+ if (this._open) {
25
+ this.focusFirstElement();
26
+ }
27
+ }
28
+
29
+ connectedCallback(): void {
30
+ this.template.addEventListener(
31
+ "keydown",
32
+ this.handleKeyDown.bind(this)
33
+ );
34
+ }
35
+
36
+ focusFirstElement(): void {
37
+ this.template.querySelector("div")!.focus();
38
+ }
39
+
40
+ handleKeyDown(event: KeyboardEvent): void {
41
+ if (event.key === "Escape") {
42
+ this.handleToggleModal();
43
+ }
44
+ }
45
+
46
+ handleToggleModal() {
24
47
  this._open = !this._open;
25
48
  this.dispatchEvent(new CustomEvent("togglemodal"));
26
49
  }
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <div class={containerClass}>
3
3
  <slot></slot>
4
- <dx-button onclick={handleCloseModal}>Done</dx-button>
4
+ <dx-button onclick={handleToggleModal}>Done</dx-button>
5
5
  </div>
6
6
  <div
7
7
  if:true={open}
8
8
  class="modal-drawer_overlay"
9
- onclick={handleCloseModal}
9
+ onclick={handleToggleModal}
10
10
  ></div>
11
11
  </template>
@@ -20,7 +20,13 @@ export default class ModalDrawer extends LightningElement {
20
20
  );
21
21
  }
22
22
 
23
- handleCloseModal() {
23
+ handleKeyDown(event: KeyboardEvent): void {
24
+ if (event.key === "Escape") {
25
+ this.handleToggleModal();
26
+ }
27
+ }
28
+
29
+ handleToggleModal() {
24
30
  this._open = !this._open;
25
31
  this.dispatchEvent(new CustomEvent("clickclose"));
26
32
  }
@@ -27,8 +27,7 @@
27
27
  }
28
28
 
29
29
  .dx-pagination-pages button {
30
- padding: var(--dx-g-spacing-sm) var(--dx-g-spacing-md)
31
- var(--dx-g-spacing-2xs) var(--dx-g-spacing-md);
30
+ padding: var(--dx-g-spacing-xs) var(--dx-g-spacing-md);
32
31
  border-radius: var(--dx-g-spacing-lg);
33
32
  font-family: var(--dx-g-font-display);
34
33
  font-size: var(--dx-g-text-sm);
@@ -8,6 +8,7 @@
8
8
  --dx-c-section-padding-right: var(--dx-c-section-padding-horizontal);
9
9
  --dx-c-section-padding-top: var(--dx-c-section-padding-vertical);
10
10
  --dx-c-section-padding-bottom: var(--dx-c-section-padding-vertical);
11
+ --dx-c-section-heading-margin-bottom: var(--dx-g-spacing-2xl);
11
12
  }
12
13
 
13
14
  .section {
@@ -58,10 +59,18 @@
58
59
  max-width: 800px;
59
60
  }
60
61
 
62
+ .dx-text-heading-custom {
63
+ color: var(--dx-c-section-heading-font-color, --dx-g-text-heading-color);
64
+ font-family: var(--dx-c-section-heading-font-family, --dx-g-font-display);
65
+ font-size: var(--dx-c-section-heading-font-size, --dx-g-text-3xl);
66
+ letter-spacing: var(--dx-c-section-heading-letter-spacing, -0.4px);
67
+ line-height: var(--dx-c-section-heading-line-height, 40px);
68
+ }
69
+
61
70
  .text {
62
71
  display: flex;
63
72
  flex-direction: column;
64
- margin-bottom: var(--dx-g-spacing-2xl);
73
+ margin-bottom: var(--dx-c-section-heading-margin-bottom);
65
74
  z-index: 100;
66
75
  }
67
76
 
@@ -5,7 +5,7 @@ import { toDxColor } from "dxUtils/css";
5
5
  export default class Section extends LightningElement {
6
6
  @api backgroundColor: string = "transparent";
7
7
  @api dark: boolean = false;
8
- @api headingLevel: "1" | "2" | "3" | "4" | "5" = "3";
8
+ @api headingLevel: "1" | "2" | "3" | "4" | "5" | "custom" = "3";
9
9
  @api label?: string;
10
10
  @api subtitle?: string;
11
11
  @api textAlign: "center" | "left" = "left";
@@ -18,6 +18,7 @@
18
18
  value={value}
19
19
  onchange={onInputChange}
20
20
  onfocus={onInputFocus}
21
+ onblur={onDropdownRequestClose}
21
22
  onclear={onInputClear}
22
23
  shortcut-key="j"
23
24
  clearable
@@ -422,6 +422,7 @@ export default class SidebarSearch extends LightningElement {
422
422
  switch (e.detail as PopoverRequestCloseType) {
423
423
  case "interact-outside":
424
424
  case "keypress-escape":
425
+ case "input-blur":
425
426
  this.dropdownRequestedOpen = false;
426
427
  break;
427
428
  default:
@@ -38,10 +38,6 @@ a {
38
38
  margin: 0 var(--horizontal-spacing);
39
39
  }
40
40
 
41
- .nav-list-item > span {
42
- margin-top: var(--dx-g-spacing-xs);
43
- }
44
-
45
41
  button.nav-list-item_default > dx-icon {
46
42
  margin-left: var(--dx-g-spacing-sm);
47
43
  }
@@ -10,10 +10,7 @@
10
10
  }
11
11
 
12
12
  .tabpanel-active {
13
- display: flex;
14
- margin-top: var(--dx-c-tab-panel-margin-top);
15
- gap: var(--dx-c-tab-panel-gap);
16
- flex-wrap: wrap;
13
+ display: block;
17
14
  }
18
15
 
19
16
  @media screen and (max-width: 640px) {
@@ -1,9 +1,5 @@
1
1
  @import "dxHelpers/reset";
2
2
 
3
- button:focus {
4
- outline: unset;
5
- }
6
-
7
3
  .tab {
8
4
  color: var(--dx-g-blue-vibrant-20);
9
5
  font-family: var(--dx-g-font-display);
@@ -5,10 +5,10 @@
5
5
  id={tabId}
6
6
  onclick={onClick}
7
7
  class={className}
8
- tabindex={activeTabIndex}
9
8
  aria-controls={panelId}
10
9
  aria-label="Tab button"
11
10
  aria-selected={active}
11
+ tabindex={index}
12
12
  >
13
13
  <slot></slot>
14
14
  </button>
@@ -1,5 +1,9 @@
1
+ :host {
2
+ --dx-c-tab-panel-list-horizontal-padding: var(--dx-g-spacing-3xl);
3
+ }
4
+
1
5
  .tablist-container {
2
- padding: 0 var(--dx-g-spacing-3xl);
6
+ padding: 0 var(--dx-c-tab-panel-list-horizontal-padding);
3
7
  }
4
8
 
5
9
  .tablist {
@@ -29,9 +33,3 @@ dx-popover {
29
33
  .hidden {
30
34
  display: none;
31
35
  }
32
-
33
- @media screen and (max-width: 1024px) {
34
- .tablist-container {
35
- padding: 0 var(--dx-g-spacing-lg);
36
- }
37
- }
@@ -9,6 +9,7 @@
9
9
  is-selected={isSelected}
10
10
  oniconclick={onIconClick}
11
11
  show-arrow={isParent}
12
+ target={target}
12
13
  ></dx-tree-tile>
13
14
  </a>
14
15
  <img
@@ -145,33 +145,33 @@
145
145
  --indentation: calc(20 * var(--base-indentation));
146
146
  }
147
147
 
148
- dx-type-badge {
149
- --dx-c-type-badge-text-width: 21px;
148
+ dx-metadata-badge {
149
+ --dx-c-metadata-badge-text-width: 21px;
150
150
  }
151
151
 
152
- dx-type-badge.get {
153
- --dx-c-type-badge-color: var(--dx-g-blue-vibrant-50);
154
- --dx-c-type-badge-background: var(--dx-g-blue-vibrant-90);
152
+ dx-metadata-badge.get {
153
+ --dx-c-metadata-badge-color: var(--dx-g-blue-vibrant-50);
154
+ --dx-c-metadata-badge-background: var(--dx-g-blue-vibrant-90);
155
155
  }
156
156
 
157
- dx-type-badge.put {
158
- --dx-c-type-badge-color: var(--dx-g-yellow-vibrant-40);
159
- --dx-c-type-badge-background: var(--dx-g-yellow-vibrant-90);
157
+ dx-metadata-badge.put {
158
+ --dx-c-metadata-badge-color: var(--dx-g-yellow-vibrant-40);
159
+ --dx-c-metadata-badge-background: var(--dx-g-yellow-vibrant-90);
160
160
  }
161
161
 
162
- dx-type-badge.post {
163
- --dx-c-type-badge-color: var(--dx-g-green-vibrant-40);
164
- --dx-c-type-badge-background: var(--dx-g-green-vibrant-90);
162
+ dx-metadata-badge.post {
163
+ --dx-c-metadata-badge-color: var(--dx-g-green-vibrant-40);
164
+ --dx-c-metadata-badge-background: var(--dx-g-green-vibrant-90);
165
165
  }
166
166
 
167
- dx-type-badge.patch {
168
- --dx-c-type-badge-color: var(--dx-g-teal-vibrant-40);
169
- --dx-c-type-badge-background: var(--dx-g-teal-vibrant-90);
167
+ dx-metadata-badge.patch {
168
+ --dx-c-metadata-badge-color: var(--dx-g-teal-vibrant-40);
169
+ --dx-c-metadata-badge-background: var(--dx-g-teal-vibrant-90);
170
170
  }
171
171
 
172
- dx-type-badge.delete {
173
- --dx-c-type-badge-color: var(--dx-g-red-vibrant-40);
174
- --dx-c-type-badge-background: var(--dx-g-hot-orange-vibrant-90);
172
+ dx-metadata-badge.delete {
173
+ --dx-c-metadata-badge-color: var(--dx-g-red-vibrant-40);
174
+ --dx-c-metadata-badge-background: var(--dx-g-hot-orange-vibrant-90);
175
175
  }
176
176
 
177
177
  a {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <a href={href} class={tileClass}>
2
+ <a href={href} class={tileClass} target={target}>
3
3
  <div class="flex indentation" aria-level={tileAriaLevel}>
4
4
  <span
5
5
  class="tile-label sidebar-item-truncate-text"
@@ -16,12 +16,13 @@
16
16
  onclick={onClickIcon}
17
17
  ></dx-icon>
18
18
  </div>
19
- <dx-type-badge
19
+ <dx-metadata-badge
20
20
  if:true={showMethod}
21
- class={badgeClass}
21
+ class="flex tile-icon"
22
22
  size="small"
23
23
  value={methodText}
24
- ></dx-type-badge>
24
+ color={metadataBadgeColor}
25
+ ></dx-metadata-badge>
25
26
  </div>
26
27
  </a>
27
28
  </template>
@@ -1,6 +1,6 @@
1
1
  import { LightningElement, api } from "lwc";
2
2
  import cx from "classnames";
3
- import { InternalTreeNode } from "typings/custom";
3
+ import { Color, InternalTreeNode } from "typings/custom";
4
4
 
5
5
  const methodTextMap: {
6
6
  [key: string]: string;
@@ -12,6 +12,16 @@ const methodTextMap: {
12
12
  delete: "DELE"
13
13
  };
14
14
 
15
+ const metadataBadgeColorMap: {
16
+ [key: string]: Color;
17
+ } = {
18
+ get: "blue",
19
+ put: "yellow",
20
+ post: "green",
21
+ patch: "teal",
22
+ delete: "red"
23
+ };
24
+
15
25
  export default class TreeTile extends LightningElement {
16
26
  @api isRoot = false;
17
27
  @api treeNode!: InternalTreeNode;
@@ -20,6 +30,7 @@ export default class TreeTile extends LightningElement {
20
30
  @api isSelected = false;
21
31
  @api href!: string;
22
32
  @api showArrow = false;
33
+ @api target!: string;
23
34
 
24
35
  get tileAriaLevel() {
25
36
  return this.treeNode.level + 2;
@@ -29,8 +40,11 @@ export default class TreeTile extends LightningElement {
29
40
  return this.isRoot ? "small" : "xsmall";
30
41
  }
31
42
 
32
- private get badgeClass() {
33
- return cx("flex", "tile-icon", this.treeNode.method);
43
+ private get metadataBadgeColor(): string | undefined {
44
+ if (this.treeNode.method) {
45
+ return metadataBadgeColorMap[this.treeNode.method];
46
+ }
47
+ return undefined;
34
48
  }
35
49
 
36
50
  private get showMethod() {
@@ -1,33 +1,6 @@
1
1
  @import "dxHelpers/reset";
2
2
 
3
- .typebadge {
4
- align-items: center;
5
- background: var(--dx-c-type-badge-background, var(--background));
6
- border-radius: var(--dx-c-type-badge-border-radius, var(--border-radius));
7
- color: var(--dx-c-type-badge-color, var(--color));
8
- display: flex;
9
- justify-content: center;
10
- height: var(--dx-c-type-badge-height, var(--height));
11
- text-align: center;
12
- white-space: nowrap;
13
- width: min-content;
14
- }
15
-
16
- .typebadge.typebadge_metadata {
17
- --background: var(--dx-g-cloud-blue-natural-90);
18
- --border-radius: var(--dx-g-spacing-xs);
19
- --color: var(--dx-g-blue-vibrant-20);
20
- --height: var(--dx-g-spacing-md);
21
- --horizontal-spacing: var(--dx-g-spacing-sm);
22
-
23
- font-family: var(--dx-g-font-display);
24
- font-size: 10px;
25
- letter-spacing: 0.6px;
26
- text-transform: var(--dx-c-type-badge-text-transform, uppercase);
27
- padding: 0 var(--horizontal-spacing);
28
- }
29
-
30
- .typebadge.typebadge_content-type {
3
+ .badge {
31
4
  --background: var(--sds-g-gray-3);
32
5
  --border-radius: var(--dx-g-spacing-smd);
33
6
  --color: var(--sds-g-gray-10);
@@ -35,40 +8,26 @@
35
8
  --horizontal-spacing: var(--dx-g-spacing-smd);
36
9
  --vertical-spacing: var(--dx-g-spacing-xs);
37
10
 
11
+ color: var(--dx-c-type-badge-color, var(--color));
12
+ background: var(--dx-c-type-badge-background, var(--background));
13
+ border-radius: var(--border-radius);
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ height: var(--height);
18
+ width: min-content;
19
+ text-align: center;
20
+ white-space: nowrap;
38
21
  font-family: var(--dx-g-font-sans);
39
- font-size: var(--dx-g-text-xs);
22
+ font-size: 10px;
40
23
  font-weight: var(--dx-g-font-bold);
41
24
  padding: var(--vertical-spacing) var(--horizontal-spacing);
42
25
  }
43
26
 
44
- .typebadge.typebadge_content-type.size-small {
27
+ .badge.size-small {
45
28
  --height: var(--dx-g-spacing-mlg);
46
- --horizontal-spacing: var(--dx-g-spacing-sm);
47
-
48
- font-size: 10px;
49
- }
50
-
51
- .typebadge.typebadge_metadata.size-small {
52
- --height: var(--dx-g-spacing-md);
53
- --horizontal-spacing: var(--dx-g-spacing-xs);
54
-
55
- font-size: 8px;
56
- letter-spacing: 0.5px;
57
- }
58
-
59
- .typebadge.typebadge_metadata span {
60
- transform: translateY(2px);
61
- width: var(--dx-c-type-badge-text-width, unset);
62
- }
63
-
64
- .typebadge.typebadge_metadata.size-small span {
65
- transform: translateY(1px);
66
29
  }
67
30
 
68
- @media screen and (max-width: 768px) {
69
- .typebadge.typebadge_metadata:not(.size-small) {
70
- height: var(--dx-g-spacing-lg);
71
- padding: 0 var(--dx-g-spacing-sm);
72
- font-size: var(--dx-g-text-2xs);
73
- }
31
+ dx-icon {
32
+ margin-right: var(--dx-g-spacing-sm);
74
33
  }
@@ -1,5 +1,11 @@
1
1
  <template>
2
2
  <div class={className} style={style}>
3
+ <dx-icon
4
+ if:true={iconSymbol}
5
+ symbol={iconSymbol}
6
+ sprite={iconSprite}
7
+ size="xsmall"
8
+ ></dx-icon>
3
9
  <span>{value}</span>
4
10
  </div>
5
11
  </template>