@hubspot/cms-component-library 0.3.11 → 0.3.13

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 (46) hide show
  1. package/components/componentLibrary/Accordion/AccordionContent/index.module.scss +3 -5
  2. package/components/componentLibrary/Accordion/AccordionItem/StyleFields.tsx +6 -14
  3. package/components/componentLibrary/Accordion/AccordionItem/index.module.scss +7 -5
  4. package/components/componentLibrary/Accordion/AccordionItem/index.tsx +6 -15
  5. package/components/componentLibrary/Accordion/AccordionItem/types.ts +5 -5
  6. package/components/componentLibrary/Accordion/AccordionTitle/StyleFields.tsx +1 -1
  7. package/components/componentLibrary/Accordion/AccordionTitle/index.module.scss +6 -6
  8. package/components/componentLibrary/Accordion/llm.txt +15 -15
  9. package/components/componentLibrary/Accordion/stories/Accordion.stories.tsx +3 -3
  10. package/components/componentLibrary/Accordion/stories/AccordionDecorator.module.scss +38 -0
  11. package/components/componentLibrary/Accordion/stories/AccordionDecorator.tsx +7 -35
  12. package/components/componentLibrary/Button/index.module.scss +12 -4
  13. package/components/componentLibrary/Button/llm.txt +12 -4
  14. package/components/componentLibrary/Button/stories/ButtonDecorator.module.scss +12 -4
  15. package/components/componentLibrary/Card/index.module.scss +5 -5
  16. package/components/componentLibrary/Card/llm.txt +3 -1
  17. package/components/componentLibrary/Card/stories/CardDecorator.module.scss +12 -4
  18. package/components/componentLibrary/Form/PlaceholderForm.module.css +74 -0
  19. package/components/componentLibrary/Form/PlaceholderForm.tsx +31 -0
  20. package/components/componentLibrary/Form/StyleFields.tsx +2 -1
  21. package/components/componentLibrary/Form/index.tsx +24 -2
  22. package/components/componentLibrary/Form/islands/FormIsland.tsx +3 -1
  23. package/components/componentLibrary/Form/islands/LegacyFormIsland.tsx +10 -3
  24. package/components/componentLibrary/Form/islands/legacyForm.module.scss +270 -0
  25. package/components/componentLibrary/Form/islands/v4Form.module.css +59 -57
  26. package/components/componentLibrary/Form/types.ts +7 -2
  27. package/components/componentLibrary/Image/index.module.scss +3 -1
  28. package/components/componentLibrary/Image/llm.txt +3 -1
  29. package/components/componentLibrary/Image/stories/ImageDecorator.module.scss +3 -1
  30. package/components/componentLibrary/Text/ContentFields.tsx +1 -0
  31. package/components/componentLibrary/Text/index.module.scss +40 -1
  32. package/components/componentLibrary/Text/llm.txt +4 -2
  33. package/components/componentLibrary/Video/ContentFields.tsx +1 -0
  34. package/components/componentLibrary/Video/StyleFields.tsx +42 -0
  35. package/components/componentLibrary/Video/TrackHSVideoAnalytics.tsx +445 -0
  36. package/components/componentLibrary/Video/hooks/usePageMeta.tsx +25 -0
  37. package/components/componentLibrary/Video/hooks/useQueryParam.tsx +12 -0
  38. package/components/componentLibrary/Video/hooks/useUserToken.tsx +56 -0
  39. package/components/componentLibrary/Video/index.tsx +11 -2
  40. package/components/componentLibrary/Video/islands/EmbedVideoIsland.tsx +239 -0
  41. package/components/componentLibrary/Video/islands/HSVideoIsland.tsx +4 -0
  42. package/components/componentLibrary/Video/islands/index.module.scss +94 -0
  43. package/components/componentLibrary/Video/types.ts +22 -0
  44. package/components/componentLibrary/Video/utils/videoAnalytics.ts +146 -0
  45. package/package.json +1 -1
  46. package/components/componentLibrary/Form/islands/legacyForm.module.css +0 -251
@@ -1,251 +0,0 @@
1
- .legacyFormStyles {
2
- /* Form container */
3
- :global(.hs-form) {
4
- padding: 32px;
5
- border-color: #ff00ff;
6
- border-radius: 8px;
7
- border-style: solid;
8
- border-width: 4px;
9
- background: #ffe0f0;
10
-
11
- /* Form field spacing */
12
- :global(.hs-form-field) {
13
- margin-block-end: 24px;
14
- }
15
-
16
- /* Textarea */
17
- :global(textarea) {
18
- position: relative;
19
- height: 160px;
20
- border-radius: 3px;
21
-
22
- &::-webkit-resizer {
23
- display: none;
24
- }
25
- }
26
-
27
- /* Textarea drag icon */
28
- :global(.hs_multi_line_field .input) {
29
- position: relative;
30
-
31
- &::after {
32
- position: absolute;
33
- right: 8px;
34
- bottom: 8px;
35
- content: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 22 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='-1' x2='29.5206' y2='-1' transform='matrix(-0.666795 0.745241 -0.806754 -0.590888 19.6843 0)' stroke='%23303F59' stroke-width='2'/%3E%3Cpath d='M21.0005 9.99756L10.5005 21.9976' stroke='%23303F59' stroke-width='2'/%3E%3C/svg%3E%0A");
36
- pointer-events: none;
37
- }
38
- }
39
-
40
- /* Select dropdown - remove native appearance */
41
- :global(select) {
42
- -webkit-appearance: none;
43
- -moz-appearance: none;
44
- appearance: none;
45
- }
46
-
47
- /* Select dropdown icon */
48
- :global(.hs-fieldtype-select .input) {
49
- position: relative;
50
-
51
- &::after {
52
- position: absolute;
53
- top: 50%;
54
- right: 16px;
55
- content: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9407 19.5595C11.5267 20.1454 12.4782 20.1454 13.0642 19.5595L22.0642 10.5595C22.6501 9.97354 22.6501 9.02197 22.0642 8.43604C21.4782 7.8501 20.5267 7.8501 19.9407 8.43604L12.0001 16.3767L4.05947 8.44072C3.47354 7.85478 2.52197 7.85478 1.93604 8.44072C1.3501 9.02666 1.3501 9.97822 1.93604 10.5642L10.936 19.5642L10.9407 19.5595Z' fill='%2309152B'/%3E%3C/svg%3E%0A");
56
- pointer-events: none;
57
- transform: translateY(-50%);
58
- }
59
- }
60
-
61
- /* Datepicker icon */
62
- :global(.hs-dateinput) {
63
- position: relative;
64
-
65
- &::before {
66
- position: absolute;
67
- top: 50%;
68
- right: 16px;
69
- content: url("data:image/svg+xml,%3Csvg width='24' height='29' viewBox='0 0 24 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_3812_12272)'%3E%3Cpath d='M8.14286 2.07136C8.14286 1.35886 7.56964 0.785645 6.85714 0.785645C6.14464 0.785645 5.57143 1.35886 5.57143 2.07136V4.21422H3.42857C1.5375 4.21422 0 5.75172 0 7.64279V8.49993V11.0714V24.7856C0 26.6767 1.5375 28.2142 3.42857 28.2142H20.5714C22.4625 28.2142 24 26.6767 24 24.7856V11.0714V8.49993V7.64279C24 5.75172 22.4625 4.21422 20.5714 4.21422H18.4286V2.07136C18.4286 1.35886 17.8554 0.785645 17.1429 0.785645C16.4304 0.785645 15.8571 1.35886 15.8571 2.07136V4.21422H8.14286V2.07136ZM2.57143 11.0714H21.4286V24.7856C21.4286 25.2571 21.0429 25.6428 20.5714 25.6428H3.42857C2.95714 25.6428 2.57143 25.2571 2.57143 24.7856V11.0714Z' fill='%2309152B'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_3812_12272'%3E%3Crect width='24' height='27.4286' fill='white' transform='translate(0 0.785645)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
70
- pointer-events: none;
71
- transform: translateY(-50%);
72
- }
73
- }
74
-
75
- /* Placeholder text color */
76
- :global(::-moz-placeholder) {
77
- color: #ff6600;
78
- }
79
-
80
- :global(::placeholder) {
81
- color: #ff6600;
82
- }
83
-
84
- /* Checkbox and radio list reset */
85
- :global(.inputs-list) {
86
- padding: 0;
87
- margin: 0;
88
- list-style: none;
89
-
90
- :global(li) {
91
- display: block;
92
- margin-block-end: 16px;
93
-
94
- &:last-of-type {
95
- margin-block-end: 0;
96
- }
97
- }
98
-
99
- :global(:is(input, span)) {
100
- vertical-align: middle;
101
- }
102
- }
103
-
104
- /* Help text / legend */
105
- :global(legend) {
106
- color: #ff6600;
107
- margin-block-end: 8px;
108
- }
109
-
110
- /* Rich text within form */
111
- :global(.hs-richtext) {
112
- color: #9900cc;
113
-
114
- :global(img) {
115
- height: auto;
116
- max-width: 100% !important;
117
- }
118
- }
119
-
120
- /* Error state - input border */
121
- :global(.hs-input.error) {
122
- border-color: #ff0000;
123
- }
124
-
125
- /* Error messages */
126
- :global(.hs-error-msg),
127
- :global(.hs-error-msgs) {
128
- color: #ff0000;
129
- margin-block-start: 4px;
130
- }
131
-
132
- /* File upload and fieldset max width */
133
- :global(.hs-form-field.hs-fieldtype-file .hs-input),
134
- :global(fieldset) {
135
- max-width: 100% !important;
136
- }
137
- }
138
-
139
- /* Labels - targets both form types */
140
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(label) {
141
- display: block;
142
- color: #cc0066;
143
- font-family: sans-serif;
144
- font-size: 0.875rem;
145
- font-weight: 600;
146
- margin-block-end: 8px;
147
- }
148
-
149
- /* Text inputs, selects, textareas - targets both form types */
150
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='text']),
151
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='email']),
152
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='password']),
153
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='tel']),
154
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='number']),
155
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='search']),
156
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(select),
157
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(textarea) {
158
- width: 100% !important;
159
- border-radius: 6px;
160
- border-top: 3px solid #00ccff;
161
- border-right: 3px solid #00ccff;
162
- border-bottom: 3px solid #00ccff;
163
- border-left: 3px solid #00ccff;
164
- background-color: #e0ffff;
165
- color: #003300;
166
- padding-block: 12px;
167
- padding-inline: 16px;
168
- }
169
-
170
- /* Checkbox and radio sizing + fill - targets both form types */
171
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='checkbox']),
172
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(input[type='radio']) {
173
- height: 24px;
174
- width: 24px !important;
175
- accent-color: #00cc00;
176
- cursor: pointer;
177
- margin-inline-end: 12px;
178
- }
179
-
180
- /* Submit button - targets both form types */
181
- :global(:is(.hs-form, .hs-elevate-system-form)) :global(:is(.hs-button, input[type='submit'])) {
182
- display: inline-block;
183
- width: 100%;
184
- border-color: #ff6600;
185
- border-radius: 6px;
186
- border-style: solid;
187
- border-width: 3px;
188
- background-color: #ff6600;
189
- color: #ffffff;
190
- cursor: pointer;
191
- font-family: sans-serif;
192
- font-size: 1rem;
193
- font-weight: 600;
194
- padding-block: 12px;
195
- padding-inline: 24px;
196
- text-align: center;
197
- text-decoration: none;
198
- transition: all 0.15s linear;
199
- white-space: normal !important;
200
-
201
- &:hover,
202
- &:focus {
203
- border-color: #cc5200;
204
- background-color: #cc5200;
205
- color: #ffffff;
206
- text-decoration: none;
207
- }
208
- }
209
-
210
- /* International phone field layout */
211
- :global(.hs-input.hs-fieldtype-intl-phone) {
212
- display: flex;
213
- width: 100% !important;
214
- flex-direction: row;
215
- flex-wrap: wrap;
216
- align-items: center;
217
- justify-content: flex-start;
218
- gap: 8px;
219
-
220
- > :global(input) {
221
- flex: 1 0 calc(70% - 8px) !important;
222
- }
223
-
224
- > :global(select) {
225
- flex: 1 0 30% !important;
226
- }
227
-
228
- @media (width <= 600px) {
229
- display: flex;
230
- width: 100%;
231
- flex-direction: column;
232
- gap: 8px;
233
-
234
- > :global(select),
235
- > :global(input) {
236
- min-width: 100%;
237
- flex: 1 1 100%;
238
- }
239
-
240
- > :global(select) {
241
- padding-inline: 16px;
242
- }
243
- }
244
- }
245
-
246
-
247
- :global(.grecaptcha-badge) {
248
- margin-block: 0 !important;
249
- margin-inline: auto !important;
250
- }
251
- }