hds-web 1.18.5 → 1.18.7

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": "hds-web",
3
- "version": "1.18.5",
3
+ "version": "1.18.7",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -40,9 +40,9 @@ export default function IconCard(props) {
40
40
  return (
41
41
  <>
42
42
  {
43
- ((props.readMoreBtn && props.button) || (!props.readMoreBtn && !props.button) || (props.button && props.button.length > 1)) ? (
43
+ ((props.readMoreBtn && props.button) || (!props.readMoreBtn && !props.button) || (props.button && props.button.length > 1) || !props.linkHover) ? (
44
44
  <div
45
- className={`bg-neutral-0 grid h-full transition-all ease-in-out rounded-3xl ${cardVariant[props.cardType]['cardStyle']} ` + ((props.cardBorder) ? props.cardBorder : 'tb:shadow') + ((props.readMoreBtn || props.button) ? ' hover:shadow-lg' : '')}
45
+ className={`bg-neutral-0 grid h-full transition-all ease-in-out rounded-3xl ${cardVariant[props.cardType]['cardStyle']} ` + ((props.cardBorder) ? props.cardBorder : 'tb:shadow')}
46
46
  >
47
47
  <div className=" self-start">
48
48
  <div
@@ -75,33 +75,55 @@ export default function IconCard(props) {
75
75
  {props.description}
76
76
  </ReactMarkdown>
77
77
  </Typography>
78
- {props.readMoreBtn && (
79
- <a href={props.readMoreBtn.cta_link} className='flex'>
80
- <div className="flex">
81
- <HDSButton
82
- label={props.readMoreBtn.cta_text}
83
- type='secondaryLink'
84
- leftIconVariant='none'
85
- rightIconVariant='none'
86
- state='default'
87
- size='sm'
88
- rightAnimatedArrow={true}
89
- rightAnimatedArrowColor='#3970FD'
90
- animatedHoverStroke='#3970FD'
91
- btnTextColorClass='text-blue-500'
92
- btnTextHoverClass=''
93
- className=' mt-4'
94
- />
95
- </div>
96
- </a>
97
- )
98
-
99
- }
100
78
  </>
101
79
  )
102
80
  }
103
81
  </div>
104
82
  </div>
83
+ {props.readMoreBtn && (
84
+ <>
85
+ {
86
+ props.linkHover ? (
87
+ <a href={props.readMoreBtn.cta_link} className='flex self-end'>
88
+ <div className="flex">
89
+ <HDSButton
90
+ label={props.readMoreBtn.cta_text}
91
+ type='secondaryLink'
92
+ leftIconVariant='none'
93
+ rightIconVariant='none'
94
+ state='default'
95
+ size='sm'
96
+ rightAnimatedArrow={true}
97
+ rightAnimatedArrowColor='#3970FD'
98
+ animatedHoverStroke='#3970FD'
99
+ btnTextColorClass='text-blue-500'
100
+ btnTextHoverClass=''
101
+ className=' mt-4'
102
+ />
103
+ </div>
104
+ </a>
105
+ ) : (
106
+ <div className="flex self-end">
107
+ <HDSButton
108
+ label={props.readMoreBtn.cta_text}
109
+ type='secondaryLink'
110
+ leftIconVariant='none'
111
+ rightIconVariant='none'
112
+ state='default'
113
+ size='sm'
114
+ rightAnimatedArrow={false}
115
+ rightAnimatedArrowColor='#3970FD'
116
+ animatedHoverStroke='#3970FD'
117
+ btnTextColorClass='text-neutral-800'
118
+ btnTextHoverClass=''
119
+ className=' mt-4 hover:cursor-default'
120
+ />
121
+ </div>
122
+ )
123
+ }
124
+ </>
125
+ )
126
+ }
105
127
  {props.button &&
106
128
  <div className="flex gap-2 ">
107
129
  {props.button.map((btn, index) => (
@@ -128,15 +150,12 @@ export default function IconCard(props) {
128
150
  }
129
151
  </div>
130
152
  }
131
-
132
-
133
-
134
153
  </div>
135
154
  ) :
136
155
 
137
156
  (
138
157
  <a href={((props.readMoreBtn && !props.button) ? props.readMoreBtn['cta_link'] : props.button[0]['cta_link'])}
139
- className={`bg-neutral-0 group grid h-full duration-300 transition-all ease-in-out rounded-3xl ${cardVariant[props.cardType]['cardStyle']} ` + ((props.cardBorder) ? props.cardBorder : 'tb:shadow') + ((props.readMoreBtn || props.button) ? ' hover:shadow-lg hover:translate-y-0.5 ' : '')}
158
+ className={`bg-neutral-0 group grid h-full duration-300 transition-all ease-in-out rounded-3xl ${cardVariant[props.cardType]['cardStyle']} ` + ((props.cardBorder) ? props.cardBorder : 'tb:shadow') + ((props.readMoreBtn || props.button || props.linkHover) ? ' hover:shadow-lg hover:translate-y-0.5 ' : '')}
140
159
  >
141
160
  <div className=" self-start">
142
161
  <div
@@ -169,33 +188,33 @@ export default function IconCard(props) {
169
188
  {props.description}
170
189
  </ReactMarkdown>
171
190
  </Typography>
172
- {props.readMoreBtn && (
173
- <div className="flex">
174
- <HDSButton
175
- label={props.readMoreBtn.cta_text}
176
- type='secondaryLink'
177
- leftIconVariant='none'
178
- rightIconVariant='none'
179
- state='default'
180
- size='sm'
181
- rightAnimatedArrow={true}
182
- rightAnimatedArrowColor='#3970FD'
183
- animatedHoverStroke='#3970FD'
184
- btnTextColorClass='text-blue-500'
185
- btnTextHoverClass=''
186
- className=' mt-4'
187
- />
188
- </div>
189
- )
190
191
 
191
- }
192
192
  </>
193
193
  )
194
194
  }
195
195
  </div>
196
196
  </div>
197
+ {props.readMoreBtn && (
198
+ <div className="flex self-end">
199
+ <HDSButton
200
+ label={props.readMoreBtn.cta_text}
201
+ type='secondaryLink'
202
+ leftIconVariant='none'
203
+ rightIconVariant='none'
204
+ state='default'
205
+ size='sm'
206
+ rightAnimatedArrow={true}
207
+ rightAnimatedArrowColor='#3970FD'
208
+ animatedHoverStroke='#3970FD'
209
+ btnTextColorClass='text-blue-500'
210
+ btnTextHoverClass=''
211
+ className=' mt-4'
212
+ />
213
+ </div>
214
+ )
215
+ }
197
216
  {props.button &&
198
- <div className="flex pt-4 gap-2">
217
+ <div className="flex pt-4 gap-2 self-end">
199
218
  {props.button.map((btn, index) => (
200
219
  <div className="flex">
201
220
  <HDSButton
@@ -217,9 +236,6 @@ export default function IconCard(props) {
217
236
  }
218
237
  </div>
219
238
  }
220
-
221
-
222
-
223
239
  </a>
224
240
  )
225
241
 
@@ -235,4 +251,3 @@ IconCard.defaultProps = {
235
251
  Icon.propTypes = {
236
252
  cardType: PropTypes.oneOf(['withoutButton', 'withButton', 'sm']),
237
253
  }
238
-
@@ -47,7 +47,6 @@ export default function V3Header(props) {
47
47
 
48
48
  //testing
49
49
  const [dropdownVisibility, setDropdownVisibility] = useState(Array(props.HEADER_LIST.length).fill(false));
50
- console.log(mobileNavOpen, isProduct, dropdownVisibility, currentTab)
51
50
  const handleDropdownEnter = (index) => {
52
51
  setDropdownVisibility((prevVisibility) => {
53
52
  const updatedVisibility = [...prevVisibility];
@@ -0,0 +1 @@
1
+ export {default as MarketoForm } from './marketo-form';
@@ -0,0 +1,25 @@
1
+ // Referance from here: https://github.com/PaulieScanlon/cockroachdb-custom-marketo-forms-with-react
2
+ import { memo } from 'react'
3
+ import PropTypes from 'prop-types'
4
+
5
+ import useMarketo from './useMarketo'
6
+
7
+ // eslint-disable-next-line react/display-name
8
+ const MarketoForm = memo(({ formId, styleClass }) => {
9
+ useMarketo({
10
+ formId: formId,
11
+ callback: () => { }
12
+ })
13
+
14
+ return <form
15
+ id={`mktoForm_${formId}`}
16
+ className='mktoForm marketoFormWrapper eventDetailsFormWrapper'
17
+ ></form>
18
+ })
19
+
20
+ MarketoForm.propTypes = {
21
+ /** The Marketo Form Id */
22
+ formId: PropTypes.string.isRequired
23
+ }
24
+
25
+ export default MarketoForm;
@@ -0,0 +1,67 @@
1
+ // Referance from here: https://github.com/PaulieScanlon/cockroachdb-custom-marketo-forms-with-react
2
+
3
+ import { useState, useEffect } from 'react'
4
+
5
+ const useMarketo = ({ formId, callback }) => {
6
+ const [scriptAdded, setScriptAdded] = useState(false)
7
+ const [formLoaded, setFormLoaded] = useState(false)
8
+
9
+ useEffect(() => {
10
+ if (scriptAdded) {
11
+ if (!formLoaded) {
12
+ // eslint-disable-next-line no-undef
13
+ MktoForms2.loadForm(
14
+ "//page.hasura.io",
15
+ "631-HMN-492",
16
+ formId,
17
+ callback
18
+ )
19
+ // console.log(formId);
20
+ // MktoForms2.whenRendered((form) => {
21
+ // const formElement = form.getFormElem()[0]
22
+ // const formElementId = form.getFormElem()[0].id.split('_')[1]
23
+
24
+ // /** Remove the style attribute and make for, and id attributes unique */
25
+ // Array.from(formElement.querySelectorAll('[style]'))
26
+ // .concat(formElement)
27
+ // .forEach((element) => {
28
+ // element.removeAttribute('style')
29
+ // if (element.hasAttribute('id') && element.tagName !== 'FORM') {
30
+ // element.setAttribute('id', `${element.getAttribute('id')}_${formElementId}`)
31
+ // }
32
+
33
+ // if (element.tagName === 'LABEL') {
34
+ // element.setAttribute('for', `${element.getAttribute('for')}_${formElementId}`)
35
+ // }
36
+ // })
37
+
38
+ // /** Remove <span /> from DOM */
39
+ // Array.from(formElement.querySelectorAll('.mktoInstruction')).forEach((element) => {
40
+ // element.remove()
41
+ // })
42
+
43
+ // /** Remove <style /> from DOM */
44
+ // Array.from(formElement.children).forEach((element) => {
45
+ // if (element.type && element.type === 'text/css') {
46
+ // element.remove()
47
+ // }
48
+ // })
49
+ // })
50
+ setFormLoaded(true)
51
+ }
52
+ } else {
53
+ if (false) {
54
+ setScriptAdded(true)
55
+ } else {
56
+ const script = document.createElement('script')
57
+ script.defer = true
58
+ script.onload = () => (window?.MktoForms2 ? setScriptAdded(true) : null)
59
+ script.src = `//page.hasura.io/js/forms2/js/forms2.min.js`
60
+ document.head.appendChild(script)
61
+ }
62
+ }
63
+ }, [scriptAdded])
64
+ }
65
+
66
+ export default useMarketo;
67
+
@@ -2,4 +2,5 @@ export * from './Translations';
2
2
  export * from './Media';
3
3
  export * from './Effects';
4
4
  export * from './AlgoliaSearch';
5
- export * from './Paperform';
5
+ export * from './Paperform';
6
+ export * from './MarketoForm';
package/src/index.css CHANGED
@@ -1,9 +1,61 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Petrona:ital,wght@1,300&display=swap');
1
+ @import url('https://fonts.googleapis.com/css2?family=Petrona:ital,wght@1,200&display=swap');
2
2
  @tailwind base;
3
3
  @tailwind components;
4
4
  @tailwind utilities;
5
5
  /* Typography classes */
6
6
 
7
+ .marketoFormWrapper {
8
+ width: 100%;
9
+ }
10
+
11
+ .marketoFormWrapper .mktoFormRow {
12
+ width: 100%;
13
+ }
14
+
15
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor {
16
+ width: 100%;
17
+ }
18
+
19
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoOffset {
20
+ display: none;
21
+ }
22
+
23
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField,
24
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoFieldWrap {
25
+ width: 100%;
26
+ }
27
+
28
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField .mktoLabel {
29
+ display: none;
30
+ }
31
+
32
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField .mktoTextField,
33
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField .mktoField {
34
+ width: 100%;
35
+ height: 48px;
36
+ border-radius: 8px;
37
+ text-indent: 16px;
38
+ padding: 0;
39
+ }
40
+
41
+ .marketoFormWrapper .mktoButtonRow {
42
+ width: 100%;
43
+ padding-top: 12px;
44
+ }
45
+
46
+ .marketoFormWrapper .mktoButtonRow .mktoButtonWrap {
47
+ margin-left: 0;
48
+ }
49
+
50
+ .marketoFormWrapper .mktoButtonRow .mktoButtonWrap .mktoButton {
51
+
52
+ height: 48px;
53
+ color: #35C4F0;
54
+
55
+
56
+ }
57
+
58
+
7
59
  .hds-hidden{
8
60
  display: none;
9
61
 
@@ -1,4 +1,4 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Petrona:ital,wght@1,300&display=swap');
1
+ @import url('https://fonts.googleapis.com/css2?family=Petrona:ital,wght@1,200&display=swap');
2
2
 
3
3
  /*
4
4
  ! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com
@@ -7544,6 +7544,54 @@ select{
7544
7544
 
7545
7545
  /* Typography classes */
7546
7546
 
7547
+ .marketoFormWrapper {
7548
+ width: 100%;
7549
+ }
7550
+
7551
+ .marketoFormWrapper .mktoFormRow {
7552
+ width: 100%;
7553
+ }
7554
+
7555
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor {
7556
+ width: 100%;
7557
+ }
7558
+
7559
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoOffset {
7560
+ display: none;
7561
+ }
7562
+
7563
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField,
7564
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoFieldWrap {
7565
+ width: 100%;
7566
+ }
7567
+
7568
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField .mktoLabel {
7569
+ display: none;
7570
+ }
7571
+
7572
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField .mktoTextField,
7573
+ .marketoFormWrapper .mktoFormRow .mktoFieldDescriptor .mktoRequiredField .mktoField {
7574
+ width: 100%;
7575
+ height: 48px;
7576
+ border-radius: 8px;
7577
+ text-indent: 16px;
7578
+ padding: 0;
7579
+ }
7580
+
7581
+ .marketoFormWrapper .mktoButtonRow {
7582
+ width: 100%;
7583
+ padding-top: 12px;
7584
+ }
7585
+
7586
+ .marketoFormWrapper .mktoButtonRow .mktoButtonWrap {
7587
+ margin-left: 0;
7588
+ }
7589
+
7590
+ .marketoFormWrapper .mktoButtonRow .mktoButtonWrap .mktoButton {
7591
+ height: 48px;
7592
+ color: #35C4F0;
7593
+ }
7594
+
7547
7595
  .hds-hidden{
7548
7596
  display: none;
7549
7597
  }