@hashicorp/react-components 0.0.0-canary.dac2666 → 0.0.0-canary.dc549d6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashicorp/react-components",
3
- "version": "0.0.0-canary.dac2666",
3
+ "version": "0.0.0-canary.dc549d6",
4
4
  "main": "src/index.ts",
5
5
  "scripts": {
6
6
  "lint": "next-hashicorp lint",
@@ -426,6 +426,10 @@ export const resolverErrors = (
426
426
  * @returns MarketoFormField[] with columnSplit property set
427
427
  */
428
428
  export function setFieldsColumnSplit(fieldsArr: MarketoFormField[]) {
429
+ if (!fieldsArr) {
430
+ return []
431
+ }
432
+
429
433
  return fieldsArr.map((f) => {
430
434
  const columnSplit = getFieldColumnSplit(fieldsArr, f)
431
435
  return { ...f, columnSplit }
@@ -18,6 +18,8 @@ const PRODUCT_LOGO_MAP = new Map([
18
18
  ['Nomad', 'nomad-fill-color'],
19
19
  ['Waypoint', 'waypoint-fill-color'],
20
20
  ['Vagrant', 'vagrant-fill-color'],
21
+ ['HCP Vault Secrets', 'vault-secrets-square-color'],
22
+ ['HCP Vault Radar', 'vault-radar-square-color'],
21
23
  ])
22
24
 
23
25
  export interface ProductsPanelProps {
@@ -29,6 +31,7 @@ export interface ProductsPanelProps {
29
31
  icon: string
30
32
  title: string
31
33
  description: string
34
+ url: string
32
35
  }[]
33
36
  }
34
37
  }
@@ -69,23 +72,31 @@ const ProductPanel = ({
69
72
  <TextPlus.Body size="200" weight="semibold">
70
73
  {sidePanel.label}
71
74
  </TextPlus.Body>
75
+
76
+ {/* ! TODO Replace the below list with the <LinkList /> component,
77
+ That component will require a refactor to support greater customization
78
+ Ticket:
79
+ https://app.asana.com/0/1206176289707208/1208162145034615/f
80
+ */}
72
81
  <ul className={s.sidePanelItems}>
73
- {sidePanel.navItems.map(({ icon, title, description }) => {
82
+ {sidePanel.navItems.map(({ icon, title, description, url }) => {
74
83
  return (
75
- <li key={title} className={s.sidePanelItem}>
76
- <div className={s.iconBackground}>
77
- <FlightIcon
78
- size={16}
79
- name={icon}
80
- color="var(--token-color-foreground-faint)"
81
- />
82
- </div>
83
- <div className={s.sidePanelItemContent}>
84
- <TextPlus.Body size="200" weight="semibold" tag="span">
85
- {title}
86
- </TextPlus.Body>
87
- <span className={s.sidePanelItemDesc}>{description}</span>
88
- </div>
84
+ <li key={title}>
85
+ <Link href={parseUrl(url).href} className={s.sidePanelItem}>
86
+ <div className={s.iconBackground}>
87
+ <FlightIcon
88
+ size={16}
89
+ name={icon}
90
+ color="var(--token-color-foreground-faint)"
91
+ />
92
+ </div>
93
+ <div className={s.sidePanelItemContent}>
94
+ <TextPlus.Body size="200" weight="semibold" tag="span">
95
+ {title}
96
+ </TextPlus.Body>
97
+ <span className={s.sidePanelItemDesc}>{description}</span>
98
+ </div>
99
+ </Link>
89
100
  </li>
90
101
  )
91
102
  })}
@@ -166,7 +166,7 @@
166
166
  /* Lifted from:
167
167
  packages/react-components/src/components/nav-panel/components/link-list/style.module.css */
168
168
  .iconBackground {
169
- background: var(--token-color-page-primary);
169
+ background: var(--token-color-foreground-high-contrast);
170
170
  height: var(--hdsplus-spacing-08);
171
171
  width: var(--hdsplus-spacing-08);
172
172
  display: flex;
@@ -175,6 +175,7 @@ packages/react-components/src/components/nav-panel/components/link-list/style.mo
175
175
  border-radius: 3px;
176
176
  flex: none;
177
177
  margin-top: 3px;
178
+ border: 1px solid var(--token-color-border-primary);
178
179
  }
179
180
 
180
181
  /* Lifted from .productTextContent */