@hashicorp/react-components 0.0.0-canary.a825dab → 0.0.0-canary.adb80d1

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.a825dab",
3
+ "version": "0.0.0-canary.adb80d1",
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 }
@@ -29,6 +29,7 @@ export interface ProductsPanelProps {
29
29
  icon: string
30
30
  title: string
31
31
  description: string
32
+ url: string
32
33
  }[]
33
34
  }
34
35
  }
@@ -69,23 +70,31 @@ const ProductPanel = ({
69
70
  <TextPlus.Body size="200" weight="semibold">
70
71
  {sidePanel.label}
71
72
  </TextPlus.Body>
73
+
74
+ {/* ! TODO Replace the below list with the <LinkList /> component,
75
+ That component will require a refactor to support greater customization
76
+ Ticket:
77
+ https://app.asana.com/0/1206176289707208/1208162145034615/f
78
+ */}
72
79
  <ul className={s.sidePanelItems}>
73
- {sidePanel.navItems.map(({ icon, title, description }) => {
80
+ {sidePanel.navItems.map(({ icon, title, description, url }) => {
74
81
  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>
82
+ <li key={title}>
83
+ <Link href={parseUrl(url).href} className={s.sidePanelItem}>
84
+ <div className={s.iconBackground}>
85
+ <FlightIcon
86
+ size={16}
87
+ name={icon}
88
+ color="var(--token-color-foreground-faint)"
89
+ />
90
+ </div>
91
+ <div className={s.sidePanelItemContent}>
92
+ <TextPlus.Body size="200" weight="semibold" tag="span">
93
+ {title}
94
+ </TextPlus.Body>
95
+ <span className={s.sidePanelItemDesc}>{description}</span>
96
+ </div>
97
+ </Link>
89
98
  </li>
90
99
  )
91
100
  })}
@@ -124,7 +124,7 @@
124
124
 
125
125
  .sidePanel {
126
126
  height: 100%;
127
- background: var(--token-color-surface-strong);
127
+ background: var(--token-color-surface-faint);
128
128
  display: flex;
129
129
  flex-direction: column;
130
130
  gap: var(--hdsplus-spacing-05);
@@ -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 */