@hashicorp/react-components 1.1.10 → 1.2.0

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 (173) hide show
  1. package/README.md +1 -1
  2. package/package.json +8 -13
  3. package/postcss.config.js +1 -1
  4. package/src/components/nav-panel/components/flight-icon/index.tsx +53 -0
  5. package/src/components/nav-panel/components/flight-icon/style.module.css +3 -0
  6. package/src/components/nav-panel/components/link/cloud-fill.svg +3 -0
  7. package/src/components/nav-panel/components/link/index.tsx +139 -0
  8. package/src/components/nav-panel/components/link/layers-fill.svg +5 -0
  9. package/src/components/nav-panel/components/link/shield-alert-fill.svg +3 -0
  10. package/src/components/nav-panel/components/link/style.module.css +64 -0
  11. package/src/components/nav-panel/components/link/zap-fill.svg +3 -0
  12. package/src/components/nav-panel/components/link-list/index.tsx +12 -64
  13. package/src/components/nav-panel/components/link-list/style.module.css +1 -50
  14. package/src/components/nav-panel/components/panel/column/style.module.css +2 -2
  15. package/src/components/nav-panel/components/panel/root/style.module.css +5 -5
  16. package/src/components/nav-panel/components/promo/index.tsx +35 -15
  17. package/src/components/nav-panel/components/promo/style.module.css +32 -28
  18. package/src/components/nav-panel/components/text/index.tsx +34 -0
  19. package/src/components/nav-panel/product-panel/index.tsx +71 -20
  20. package/src/components/nav-panel/product-panel/style.module.css +111 -53
  21. package/src/components/nav-panel/standard-panel/index.tsx +3 -0
  22. package/src/components/nav-panel/standard-panel/style.module.css +2 -2
  23. package/src/lib/get-localized-link-props/index.test.ts +30 -0
  24. package/src/lib/get-localized-link-props/index.ts +45 -0
  25. package/src/lib/parse-url/index.test.ts +57 -2
  26. package/src/lib/parse-url/index.ts +97 -13
  27. package/src/lib/send-posthog-event/index.ts +22 -0
  28. package/src/lib/supported-locales/index.ts +10 -0
  29. package/src/lib/track-nav-click-event/index.ts +5 -5
  30. package/src/lib/v/index.ts +9 -4
  31. package/tsconfig.json +1 -2
  32. package/.eslintrc.js +0 -4
  33. package/.stylelintrc.js +0 -3
  34. package/src/components/actions/index.tsx +0 -107
  35. package/src/components/actions/style.module.css +0 -28
  36. package/src/components/actions/types.ts +0 -73
  37. package/src/components/call-to-action/index.tsx +0 -205
  38. package/src/components/call-to-action/styles/variant-centered.module.css +0 -93
  39. package/src/components/call-to-action/styles/variant-compact-grid.module.css +0 -88
  40. package/src/components/call-to-action/styles/variant-compact.module.css +0 -91
  41. package/src/components/call-to-action/styles/variant-links.module.css +0 -85
  42. package/src/components/card/README.md +0 -11
  43. package/src/components/card/card.tsx +0 -45
  44. package/src/components/card/index.test.tsx +0 -69
  45. package/src/components/card/index.tsx +0 -14
  46. package/src/components/card/newsroom-card/index.test.tsx +0 -39
  47. package/src/components/card/newsroom-card/index.tsx +0 -37
  48. package/src/components/card/newsroom-card/style.module.css +0 -12
  49. package/src/components/card/partner-card/index.test.tsx +0 -57
  50. package/src/components/card/partner-card/index.tsx +0 -69
  51. package/src/components/card/partner-card/style.module.css +0 -24
  52. package/src/components/card/person-card/index.test.tsx +0 -71
  53. package/src/components/card/person-card/index.tsx +0 -93
  54. package/src/components/card/person-card/style.module.css +0 -33
  55. package/src/components/card/primitives.tsx +0 -176
  56. package/src/components/card/promo-card/index.tsx +0 -51
  57. package/src/components/card/resource-card/index.test.tsx +0 -48
  58. package/src/components/card/resource-card/index.tsx +0 -37
  59. package/src/components/card/style.module.css +0 -145
  60. package/src/components/card/types.ts +0 -66
  61. package/src/components/card/unified-card/index.tsx +0 -64
  62. package/src/components/consent-manager/README.md +0 -73
  63. package/src/components/consent-manager/components/banner/banner.module.css +0 -23
  64. package/src/components/consent-manager/components/banner/banner.test.tsx +0 -31
  65. package/src/components/consent-manager/components/banner/banner.tsx +0 -73
  66. package/src/components/consent-manager/components/dialog/dialog.module.css +0 -145
  67. package/src/components/consent-manager/components/dialog/dialog.test.tsx +0 -194
  68. package/src/components/consent-manager/components/dialog/dialog.tsx +0 -339
  69. package/src/components/consent-manager/img/icn_close.tsx +0 -19
  70. package/src/components/consent-manager/index.test.tsx +0 -334
  71. package/src/components/consent-manager/index.tsx +0 -186
  72. package/src/components/consent-manager/loader/README.md +0 -29
  73. package/src/components/consent-manager/loader/categories.ts +0 -22
  74. package/src/components/consent-manager/loader/index.tsx +0 -94
  75. package/src/components/consent-manager/loader/presets/enterprise.ts +0 -12
  76. package/src/components/consent-manager/loader/presets/oss.ts +0 -10
  77. package/src/components/consent-manager/loader/services.ts +0 -45
  78. package/src/components/consent-manager/scripts/custom.tsx +0 -59
  79. package/src/components/consent-manager/scripts/segment.tsx +0 -87
  80. package/src/components/consent-manager/style.module.css +0 -9
  81. package/src/components/consent-manager/types.ts +0 -55
  82. package/src/components/consent-manager/util/cookies.test.ts +0 -75
  83. package/src/components/consent-manager/util/cookies.ts +0 -70
  84. package/src/components/consent-manager/util/integrations.test.ts +0 -115
  85. package/src/components/consent-manager/util/integrations.ts +0 -110
  86. package/src/components/intro/index.tsx +0 -82
  87. package/src/components/intro/style.module.css +0 -67
  88. package/src/components/intro/types.ts +0 -44
  89. package/src/components/marketo-form/CHANGELOG.md +0 -122
  90. package/src/components/marketo-form/README.md +0 -1
  91. package/src/components/marketo-form/contexts/FormMetadata.ts +0 -11
  92. package/src/components/marketo-form/docs.mdx +0 -197
  93. package/src/components/marketo-form/fixtures/index.ts +0 -185
  94. package/src/components/marketo-form/form/index.tsx +0 -369
  95. package/src/components/marketo-form/index.test.tsx +0 -320
  96. package/src/components/marketo-form/index.ts +0 -11
  97. package/src/components/marketo-form/package.original.json +0 -30
  98. package/src/components/marketo-form/partials/error-message/index.tsx +0 -12
  99. package/src/components/marketo-form/partials/error-message/style.module.css +0 -13
  100. package/src/components/marketo-form/partials/field/index.tsx +0 -90
  101. package/src/components/marketo-form/partials/field-wrapper/index.tsx +0 -26
  102. package/src/components/marketo-form/partials/fields/checkbox-field/index.tsx +0 -32
  103. package/src/components/marketo-form/partials/fields/email-field/index.tsx +0 -35
  104. package/src/components/marketo-form/partials/fields/form-page-url-field/index.tsx +0 -21
  105. package/src/components/marketo-form/partials/fields/hidden-field/index.tsx +0 -37
  106. package/src/components/marketo-form/partials/fields/htmltext-field/index.tsx +0 -21
  107. package/src/components/marketo-form/partials/fields/htmltext-field/style.module.css +0 -18
  108. package/src/components/marketo-form/partials/fields/name-field/index.tsx +0 -19
  109. package/src/components/marketo-form/partials/fields/name-field/style.module.css +0 -13
  110. package/src/components/marketo-form/partials/fields/radio-buttons-field/index.tsx +0 -48
  111. package/src/components/marketo-form/partials/fields/select-field/index.tsx +0 -39
  112. package/src/components/marketo-form/partials/fields/select-field/style.module.css +0 -5
  113. package/src/components/marketo-form/partials/fields/telephone-field/index.tsx +0 -30
  114. package/src/components/marketo-form/partials/fields/text-field/index.tsx +0 -30
  115. package/src/components/marketo-form/partials/fields/textarea-field/index.tsx +0 -29
  116. package/src/components/marketo-form/partials/label/index.tsx +0 -24
  117. package/src/components/marketo-form/partials/label/style.module.css +0 -12
  118. package/src/components/marketo-form/partials/visibility-rule/index.tsx +0 -84
  119. package/src/components/marketo-form/props.js +0 -66
  120. package/src/components/marketo-form/server/api-routes.ts +0 -109
  121. package/src/components/marketo-form/server/client.ts +0 -98
  122. package/src/components/marketo-form/server/index.ts +0 -8
  123. package/src/components/marketo-form/types.ts +0 -268
  124. package/src/components/marketo-form/utils.test.tsx +0 -103
  125. package/src/components/marketo-form/utils.ts +0 -449
  126. package/src/components/next-steps/index.tsx +0 -137
  127. package/src/components/next-steps/style.module.css +0 -270
  128. package/src/components/next-steps/types.ts +0 -63
  129. package/src/components/product-badge/index.test.tsx +0 -11
  130. package/src/components/product-badge/index.tsx +0 -42
  131. package/src/components/product-badge/style.module.css +0 -76
  132. package/src/components/products-used/index.tsx +0 -84
  133. package/src/components/products-used/style.module.css +0 -87
  134. package/src/components/products-used/types.ts +0 -31
  135. package/src/components/related-content/index.test.tsx +0 -74
  136. package/src/components/related-content/index.tsx +0 -56
  137. package/src/components/related-content/style.module.css +0 -89
  138. package/src/components/related-content/types.ts +0 -21
  139. package/src/components/subnav/helpers/areBasePathsMatching.ts +0 -13
  140. package/src/components/subnav/helpers/traverse/index.ts +0 -42
  141. package/src/components/subnav/helpers/useHeightRef.ts +0 -42
  142. package/src/components/subnav/helpers/useNavRef.ts +0 -30
  143. package/src/components/subnav/helpers/useOverflowRef.ts +0 -85
  144. package/src/components/subnav/helpers/useStuckRef.ts +0 -51
  145. package/src/components/subnav/index.tsx +0 -199
  146. package/src/components/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.test.ts +0 -26
  147. package/src/components/subnav/partials/CtaLinks/github-stars-link/formatStarCount/index.ts +0 -22
  148. package/src/components/subnav/partials/CtaLinks/github-stars-link/index.tsx +0 -87
  149. package/src/components/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.test.ts +0 -29
  150. package/src/components/subnav/partials/CtaLinks/github-stars-link/parseGithubUrl/index.ts +0 -32
  151. package/src/components/subnav/partials/CtaLinks/github-stars-link/style.module.css +0 -85
  152. package/src/components/subnav/partials/CtaLinks/icons/github-logo.js +0 -20
  153. package/src/components/subnav/partials/CtaLinks/icons/github.svg.js +0 -7
  154. package/src/components/subnav/partials/CtaLinks/icons/star.js +0 -20
  155. package/src/components/subnav/partials/CtaLinks/index.tsx +0 -130
  156. package/src/components/subnav/partials/CtaLinks/style.module.css +0 -45
  157. package/src/components/subnav/partials/DropdownTrigger/index.tsx +0 -35
  158. package/src/components/subnav/partials/DropdownTrigger/style.module.css +0 -36
  159. package/src/components/subnav/partials/MenuItemsDefault/index.tsx +0 -151
  160. package/src/components/subnav/partials/MenuItemsDefault/style.module.css +0 -91
  161. package/src/components/subnav/partials/MenuItemsOverflow/index.tsx +0 -139
  162. package/src/components/subnav/partials/MenuItemsOverflow/style.module.css +0 -82
  163. package/src/components/subnav/partials/TitleLink/index.tsx +0 -113
  164. package/src/components/subnav/partials/TitleLink/mktg-logos/all-community-product-logos_on-dark.ts +0 -9
  165. package/src/components/subnav/partials/TitleLink/mktg-logos/all-community-product-logos_on-light.ts +0 -9
  166. package/src/components/subnav/partials/TitleLink/mktg-logos/all-primary-logos_on-dark.ts +0 -23
  167. package/src/components/subnav/partials/TitleLink/mktg-logos/all-primary-logos_on-light.ts +0 -23
  168. package/src/components/subnav/partials/TitleLink/style.module.css +0 -43
  169. package/src/components/subnav/partials/nav-item-text/index.tsx +0 -37
  170. package/src/components/subnav/partials/nav-item-text/style.module.css +0 -15
  171. package/src/components/subnav/style.module.css +0 -68
  172. package/src/components/subnav/subnav-consts.ts +0 -1
  173. package/src/components/subnav/theme.module.css +0 -50
@@ -1,82 +0,0 @@
1
- /**
2
- * Copyright (c) HashiCorp, Inc.
3
- * SPDX-License-Identifier: MPL-2.0
4
- */
5
-
6
- import classNames from 'classnames'
7
- import type { IntroProps } from './types'
8
- import Actions from '../actions'
9
- import s from './style.module.css'
10
-
11
- export default function Intro({
12
- appearance = 'light',
13
- textAlignment = 'left',
14
- eyebrow,
15
- heading,
16
- headingElement: HeadingElement = 'h2',
17
- headingSize = 2,
18
- description,
19
- actions,
20
- }: IntroProps) {
21
- const headingSizeClassname = `g-type-display-${headingSize}`
22
- const descriptionSizeClassname =
23
- headingSize === 1 ? 'g-type-body-large' : 'g-type-body'
24
- const descriptionClassName = classNames(
25
- s.description,
26
- descriptionSizeClassname
27
- )
28
- return (
29
- <div
30
- className={classNames(s.intro, s[appearance], s[textAlignment])}
31
- data-testid="intro"
32
- >
33
- {eyebrow ? <p className={s.eyebrow}>{eyebrow}</p> : null}
34
- <HeadingElement className={classNames(s.heading, headingSizeClassname)}>
35
- {heading}
36
- </HeadingElement>
37
- <Description className={descriptionClassName}>{description}</Description>
38
- {actions && actions.ctas && actions.ctas.length > 0 ? (
39
- <div className={s.actions}>
40
- <Actions
41
- appearance={appearance}
42
- layout={actions.layout}
43
- alignment={textAlignment}
44
- theme={actions.theme}
45
- size={actions.size}
46
- ctas={actions.ctas}
47
- />
48
- </div>
49
- ) : null}
50
- </div>
51
- )
52
- }
53
-
54
- const containsHTML = (str: string) => /<[a-z][\s\S]*>/i.test(str)
55
-
56
- function Description({
57
- className,
58
- children,
59
- }: {
60
- className: string
61
- children: IntroProps['description']
62
- }) {
63
- // ReactNode
64
- if (typeof children === 'object') {
65
- return <div className={className}>{children}</div>
66
- }
67
-
68
- // HTML String
69
- if (typeof children === 'string' && containsHTML(children)) {
70
- return (
71
- <div
72
- dangerouslySetInnerHTML={{
73
- __html: children,
74
- }}
75
- className={className}
76
- />
77
- )
78
- }
79
-
80
- // String
81
- return <p className={className}>{children}</p>
82
- }
@@ -1,67 +0,0 @@
1
- /**
2
- * Copyright (c) HashiCorp, Inc.
3
- * SPDX-License-Identifier: MPL-2.0
4
- */
5
-
6
- .intro {
7
- position: relative;
8
- display: flex;
9
- flex-direction: column;
10
-
11
- &.center {
12
- text-align: center;
13
- align-items: center;
14
- }
15
- }
16
-
17
- .eyebrow {
18
- --color: var(--wpl-neutral-500);
19
-
20
- composes: hdsplus-typography-label from global;
21
- font-weight: var(--font-weight-bold);
22
- text-transform: uppercase;
23
- margin: 0 0 32px;
24
- color: var(--color);
25
-
26
- @nest .dark & {
27
- --color: var(--wpl-neutral-300);
28
- }
29
- }
30
-
31
- .heading {
32
- --color: var(--wpl-neutral-900);
33
-
34
- margin: 0;
35
- color: var(--color);
36
-
37
- @nest .dark & {
38
- --color: var(--wpl-neutral-0);
39
- }
40
- }
41
-
42
- .description {
43
- --color: var(--wpl-neutral-500);
44
-
45
- margin: 16px 0 0;
46
- color: var(--color);
47
-
48
- @nest .dark & {
49
- --color: var(--wpl-neutral-400);
50
- }
51
-
52
- & > * {
53
- color: inherit;
54
-
55
- &:first-child {
56
- margin-top: 0;
57
- }
58
-
59
- &:last-child {
60
- margin-bottom: 0;
61
- }
62
- }
63
- }
64
-
65
- .actions {
66
- margin-top: 32px;
67
- }
@@ -1,44 +0,0 @@
1
- /**
2
- * Copyright (c) HashiCorp, Inc.
3
- * SPDX-License-Identifier: MPL-2.0
4
- */
5
-
6
- import type { ActionsProps } from '../actions/types'
7
- import React from 'react'
8
-
9
- type WithOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
10
-
11
- export interface IntroProps {
12
- /**
13
- * Display intro on light or dark backgrounds.
14
- */
15
- appearance?: 'light' | 'dark'
16
- /**
17
- * Controls the text alignment rendering.
18
- */
19
- textAlignment?: 'left' | 'center'
20
- /**
21
- * Optional text displayed above the heading.
22
- */
23
- eyebrow?: string
24
- /**
25
- * Text displayed within the heading element.
26
- */
27
- heading: string
28
- /**
29
- * Controls which element the heading renders as.
30
- */
31
- headingElement?: 'h1' | 'h2' | 'h3' | 'h4'
32
- /**
33
- * Controls the size at which the heading is rendered.
34
- */
35
- headingSize?: 1 | 2 | 3
36
- /**
37
- * Text following the heading element.
38
- */
39
- description: string | React.ReactNode
40
- /**
41
- * Render CTAs following the description element.
42
- */
43
- actions?: WithOptional<ActionsProps, 'ctas'>
44
- }
@@ -1,122 +0,0 @@
1
- # @hashicorp/react-marketo-form
2
-
3
- ## 0.9.0
4
-
5
- ### Minor Changes
6
-
7
- - [#928](https://github.com/hashicorp/react-components/pull/928) [`cc787d0f`](https://github.com/hashicorp/react-components/commit/cc787d0f5c880fe5d569b68ea54d56e5bc1642b6) Thanks [@dstaley](https://github.com/dstaley)! - Add support for htmltext fields
8
-
9
- ### Patch Changes
10
-
11
- - [#972](https://github.com/hashicorp/react-components/pull/972) [`dbb75084`](https://github.com/hashicorp/react-components/commit/dbb75084839ef20949c37114ea3e58ebd955b33d) Thanks [@dstaley](https://github.com/dstaley)! - Remove content API
12
-
13
- ## 0.8.4
14
-
15
- ### Patch Changes
16
-
17
- - [#959](https://github.com/hashicorp/react-components/pull/959) [`2084dc74`](https://github.com/hashicorp/react-components/commit/2084dc74bb3390227011c9b2052b4ac393554b6e) Thanks [@dstaley](https://github.com/dstaley)! - Treat all-whitespace values as invalid
18
-
19
- ## 0.8.3
20
-
21
- ### Patch Changes
22
-
23
- - [#941](https://github.com/hashicorp/react-components/pull/941) [`855af8ac`](https://github.com/hashicorp/react-components/commit/855af8ac0cad8a89920b733c1f914d2dff91c391) Thanks [@BRKalow](https://github.com/BRKalow)! - Updates @hashicorp/platform-analytics to address type errors.
24
-
25
- - Updated dependencies [[`b4ac21ad`](https://github.com/hashicorp/react-components/commit/b4ac21adec2d76163e1f6a9c3ca5173440d4a934)]:
26
- - @hashicorp/react-form-fields@0.2.0
27
-
28
- ## 0.8.2
29
-
30
- ### Patch Changes
31
-
32
- - [#886](https://github.com/hashicorp/react-components/pull/886) [`cbb148e4`](https://github.com/hashicorp/react-components/commit/cbb148e409f362333e6e898b529cd5c92462b79c) Thanks [@dstaley](https://github.com/dstaley)! - Require emails to have domains
33
-
34
- ## 0.8.1
35
-
36
- ### Patch Changes
37
-
38
- - [#884](https://github.com/hashicorp/react-components/pull/884) [`d7a4fda2`](https://github.com/hashicorp/react-components/commit/d7a4fda22665ab92ad075c66ca11811b13d819ce) Thanks [@dstaley](https://github.com/dstaley)! - Explicitly set default values for hidden fields
39
-
40
- ## 0.8.0
41
-
42
- ### Minor Changes
43
-
44
- - [#857](https://github.com/hashicorp/react-components/pull/857) [`2dfb913c`](https://github.com/hashicorp/react-components/commit/2dfb913cde43b4354183bbd04e65975aadd995e5) Thanks [@dstaley](https://github.com/dstaley)! - Add support for Marketo-driven localization
45
-
46
- ### Patch Changes
47
-
48
- - Updated dependencies [[`3c65a8bf`](https://github.com/hashicorp/react-components/commit/3c65a8bf3a6699fe9fca4422f6ff04a26ffeefd4)]:
49
- - @hashicorp/react-form-fields@0.1.1
50
-
51
- ## 0.7.1
52
-
53
- ### Patch Changes
54
-
55
- - [#868](https://github.com/hashicorp/react-components/pull/868) [`10a7dc7f`](https://github.com/hashicorp/react-components/commit/10a7dc7f92b55533a8a0c0c0216999695b165913) Thanks [@dstaley](https://github.com/dstaley)! - - `MarketoForm` will now treat skipped records as errors, and correctly invoke any `onSubmitError` handlers.
56
- - Added a new `onSubmitStart` handler that's called as soon as the submission process begins.
57
-
58
- ## 0.7.0
59
-
60
- ### Minor Changes
61
-
62
- - [#816](https://github.com/hashicorp/react-components/pull/816) [`e6c258c8`](https://github.com/hashicorp/react-components/commit/e6c258c860adb36363827995cb89e54ea2b5f21e) Thanks [@dstaley](https://github.com/dstaley)! - Use @hashicorp/react-form-fields for base field inputs
63
-
64
- ## 0.6.0
65
-
66
- ### Minor Changes
67
-
68
- - [#832](https://github.com/hashicorp/react-components/pull/832) [`50fbf782`](https://github.com/hashicorp/react-components/commit/50fbf782f2e0c7640f2d26e4f07f0fe477bad245) Thanks [@dstaley](https://github.com/dstaley)! - Call segment.identify on form submissions
69
-
70
- ## 0.5.0
71
-
72
- ### Minor Changes
73
-
74
- - [#828](https://github.com/hashicorp/react-components/pull/828) [`bafded5c`](https://github.com/hashicorp/react-components/commit/bafded5c510546f1ea236e3455d7af8fb5060115) Thanks [@nandereck](https://github.com/nandereck)! - Allow for hidden autofill values to be passed through
75
-
76
- ## 0.4.0
77
-
78
- ### Minor Changes
79
-
80
- - [#815](https://github.com/hashicorp/react-components/pull/815) [`5850beac`](https://github.com/hashicorp/react-components/commit/5850beac3128d64d2b9853f023640d33461672e2) Thanks [@nandereck](https://github.com/nandereck)! - Surface field ID on the FieldWrapper component
81
-
82
- ## 0.3.2
83
-
84
- ### Patch Changes
85
-
86
- - [#791](https://github.com/hashicorp/react-components/pull/791) [`6bd4f1cb`](https://github.com/hashicorp/react-components/commit/6bd4f1cbf150b2f6238500004e00bd116c25a40a) Thanks [@dstaley](https://github.com/dstaley)! - Export Field component for external usage
87
-
88
- ## 0.3.1
89
-
90
- ### Patch Changes
91
-
92
- - [#802](https://github.com/hashicorp/react-components/pull/802) [`67020b77`](https://github.com/hashicorp/react-components/commit/67020b77bccd38298078d3b5e1fa8757a81e09d8) Thanks [@dstaley](https://github.com/dstaley)! - Throw error if form query parameter is missing
93
-
94
- ## 0.3.0
95
-
96
- ### Minor Changes
97
-
98
- - [`1125f588`](https://github.com/hashicorp/react-components/commit/1125f588137049b7c91b018342cc199da88d1e23) Thanks [@dstaley](https://github.com/dstaley)! - Report skipped records as errors
99
-
100
- ## 0.2.0
101
-
102
- ### Minor Changes
103
-
104
- - [#755](https://github.com/hashicorp/react-components/pull/755) [`e803cc00`](https://github.com/hashicorp/react-components/commit/e803cc00d473a6570328473dfb760c5b52a8b3b2) Thanks [@dstaley](https://github.com/dstaley)! - Update react-hook-form
105
-
106
- ## 0.1.2
107
-
108
- ### Patch Changes
109
-
110
- - [#745](https://github.com/hashicorp/react-components/pull/745) [`e8424612`](https://github.com/hashicorp/react-components/commit/e842461209fcebc5a940128dad1f0acaf8183780) Thanks [@dstaley](https://github.com/dstaley)! - Keep dirty values when resetting form
111
-
112
- ## 0.1.1
113
-
114
- ### Patch Changes
115
-
116
- - [#743](https://github.com/hashicorp/react-components/pull/743) [`cbbd5082`](https://github.com/hashicorp/react-components/commit/cbbd508249da7b7bf737ccafc9cfe679686b9c18) Thanks [@dstaley](https://github.com/dstaley)! - Correctly keep modified values when recalculating initial state
117
-
118
- ## 0.1.0
119
-
120
- ### Minor Changes
121
-
122
- - [#630](https://github.com/hashicorp/react-components/pull/630) [`fdccbcc9`](https://github.com/hashicorp/react-components/commit/fdccbcc99ed85aafbdc6af4442f482d6ce5820af) Thanks [@dstaley](https://github.com/dstaley)! - Initial release
@@ -1 +0,0 @@
1
- # @hashicorp/react-marketo-form
@@ -1,11 +0,0 @@
1
- /**
2
- * Copyright (c) HashiCorp, Inc.
3
- * SPDX-License-Identifier: MPL-2.0
4
- */
5
-
6
- import { createContext } from 'react'
7
- import type { MarketoFormMetadata } from '../types'
8
-
9
- export const FormMetadataContext = createContext<MarketoFormMetadata | null>(
10
- null
11
- )
@@ -1,197 +0,0 @@
1
- ---
2
- componentName: 'MarketoForm'
3
- ---
4
-
5
- Renders a form from Marketo.
6
-
7
- <LiveComponent>
8
- {`<MarketoForm
9
- metadata={{
10
- result: [
11
- {
12
- id: 9999,
13
- name: "FORM - Contact Sales",
14
- description: "",
15
- createdAt: "2020-08-26T21:35:12Z+0000",
16
- updatedAt: "2022-11-11T01:39:32Z+0000",
17
- url: "https://app-ab32.marketo.com/#FO1307B2",
18
- status: "approved",
19
- theme: "simple",
20
- language: "English",
21
- locale: "en_US",
22
- progressiveProfiling: false,
23
- labelPosition: "left",
24
- fontFamily: "Helvetica",
25
- fontSize: "13px",
26
- folder: {
27
- type: "Folder",
28
- value: 32792,
29
- folderName: "01. In use forms",
30
- },
31
- knownVisitor: {
32
- type: "form",
33
- template: null,
34
- },
35
- thankYouList: [
36
- {
37
- followupType: "none",
38
- followupValue: null,
39
- default: true,
40
- },
41
- ],
42
- buttonLocation: 120,
43
- buttonLabel: "Submit",
44
- waitingLabel: "Please Wait",
45
- workSpaceId: 1,
46
- },
47
- ],
48
- }}
49
- fields={{
50
- result: [
51
- {
52
- id: "FirstName",
53
- label: "First Name:",
54
- dataType: "text",
55
- validationMessage: "This field is required.",
56
- required: true,
57
- visibilityRules: {
58
- ruleType: "alwaysShow",
59
- },
60
- },
61
- {
62
- id: "LastName",
63
- label: "Last Name:",
64
- dataType: "text",
65
- validationMessage: "This field is required.",
66
- required: true,
67
- visibilityRules: {
68
- ruleType: "alwaysShow",
69
- },
70
- },
71
- {
72
- id: "Email",
73
- label: "Business Email:",
74
- dataType: "email",
75
- validationMessage:
76
- "Must be valid email. <span class='mktoErrorDetail'>example@yourdomain.com</span>",
77
- required: true,
78
- visibilityRules: {
79
- ruleType: "alwaysShow",
80
- },
81
- },
82
- {
83
- id: "Company",
84
- label: "Company:",
85
- dataType: "text",
86
- validationMessage: "This field is required.",
87
- required: true,
88
- visibilityRules: {
89
- ruleType: "alwaysShow",
90
- },
91
- },
92
- {
93
- id: "FavoriteProduct",
94
- label: "Favorite HashiCorp Product",
95
- dataType: "select",
96
- required: true,
97
- validationMessage: "This field is required.",
98
- visibilityRules: {
99
- ruleType: "alwaysShow",
100
- },
101
- fieldMetaData: {
102
- values: [
103
- { label: "Terraform", value: "terraform" },
104
- { label: "Packer", value: "packer" },
105
- { label: "Consul", value: "consul" },
106
- { label: "Vault", value: "vault" },
107
- { label: "Boundary", value: "boundary" },
108
- { label: "Nomad", value: "nomad" },
109
- { label: "Waypoint", value: "waypoint" },
110
- { label: "Vagrant", value: "vagrant" },
111
- ],
112
- },
113
- },
114
- {
115
- id: "appendToNotes",
116
- label: "Comments",
117
- dataType: "textArea",
118
- required: false,
119
- validationMessage: "This field is required.",
120
- visibilityRules: {
121
- ruleType: "alwaysShow",
122
- },
123
- },
124
- {
125
- id: "Phone",
126
- label: "Phone:",
127
- dataType: "text",
128
- validationMessage: "This field is required.",
129
- required: false,
130
- visibilityRules: {
131
- ruleType: "show",
132
- rules: [
133
- {
134
- subjectField: "fastTracktoSales",
135
- operator: "is",
136
- values: ["yes"],
137
- altLabel: "Phone Number:",
138
- },
139
- ],
140
- },
141
- },
142
- {
143
- id: "fastTracktoSales",
144
- label:
145
- "I'd like a sales person to contact me about a trial or pricing.",
146
- dataType: "checkbox",
147
- validationMessage: "This field is required.",
148
- rowNumber: 6,
149
- columnNumber: 0,
150
- required: false,
151
- formPrefill: true,
152
- fieldMetaData: {
153
- initiallyChecked: false,
154
- },
155
- visibilityRules: {
156
- ruleType: "alwaysShow",
157
- },
158
- },
159
- {
160
- id: "Consent_Privacy_Policy__c",
161
- label: "Send me news about HashiCorp products, releases and events.",
162
- dataType: "checkbox",
163
- validationMessage: "This field is required.",
164
- rowNumber: 6,
165
- columnNumber: 0,
166
- required: false,
167
- formPrefill: true,
168
- fieldMetaData: {
169
- initiallyChecked: false,
170
- },
171
- visibilityRules: {
172
- ruleType: "alwaysShow",
173
- },
174
- },
175
- {
176
- id: "SHRtbFRleHRfMjAyMy0wNC0wNVQyMjo0NDo0Ny45OTZa",
177
- labelWidth: 260,
178
- dataType: "htmltext",
179
- rowNumber: 9,
180
- columnNumber: 0,
181
- visibilityRules: {
182
- ruleType: "alwaysShow"
183
- },
184
- text: "By submitting this form, you acknowledge and agree that HashiCorp will process your personal information in accordance with the <a href=\\"https://hashicorp.com/trust/privacy\\" target=\\"_blank\\" id=\\"\\">Privacy Policy</a>."
185
- }
186
- ],
187
- }}
188
- submitTitle="Download Now"
189
- onSubmitSuccess={() => alert("Success!")}
190
- onSubmitFailure={() => alert("Failure!")}
191
- />`}
192
- </LiveComponent>
193
- ;
194
-
195
- ### Props
196
-
197
- <PropsTable props={componentProps} />