@licklist/design 0.78.5-dev.40 → 0.78.5-dev.43

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 (98) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +14 -0
  4. package/dist/v2/components/Alert/Alert.js +87 -0
  5. package/dist/v2/components/Alert/Alert.scss.js +6 -0
  6. package/dist/v2/components/Button/Button.d.ts +8 -4
  7. package/dist/v2/components/Button/Button.d.ts.map +1 -1
  8. package/dist/v2/components/Button/Button.js +121 -0
  9. package/dist/v2/components/Button/Button.scss.js +6 -0
  10. package/dist/v2/components/Button/index.d.ts +2 -2
  11. package/dist/v2/components/Button/index.d.ts.map +1 -1
  12. package/dist/v2/components/Checkbox/Checkbox.d.ts +9 -0
  13. package/dist/v2/components/Checkbox/Checkbox.d.ts.map +1 -0
  14. package/dist/v2/components/Checkbox/Checkbox.js +231 -0
  15. package/dist/v2/components/Checkbox/Checkbox.scss.js +6 -0
  16. package/dist/v2/components/Checkbox/index.d.ts +3 -0
  17. package/dist/v2/components/Checkbox/index.d.ts.map +1 -0
  18. package/dist/v2/components/FormField/FormField.d.ts +10 -0
  19. package/dist/v2/components/FormField/FormField.d.ts.map +1 -0
  20. package/dist/v2/components/FormField/FormField.js +98 -0
  21. package/dist/v2/components/FormField/FormField.scss.js +6 -0
  22. package/dist/v2/components/FormField/index.d.ts +3 -0
  23. package/dist/v2/components/FormField/index.d.ts.map +1 -0
  24. package/dist/v2/components/NPSScore/NPSScore.js +546 -0
  25. package/dist/v2/components/NPSScore/NPSScore.scss.js +6 -0
  26. package/dist/v2/components/NewInput/NewInput.d.ts +20 -0
  27. package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -0
  28. package/dist/v2/components/NewInput/NewInput.js +134 -0
  29. package/dist/v2/components/NewInput/index.d.ts +2 -0
  30. package/dist/v2/components/NewInput/index.d.ts.map +1 -0
  31. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +10 -0
  32. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -0
  33. package/dist/v2/components/NewPageHeader/NewPageHeader.js +36 -0
  34. package/dist/v2/components/NewPageHeader/NewPageHeader.scss.js +6 -0
  35. package/dist/v2/components/NewPageHeader/index.d.ts +2 -0
  36. package/dist/v2/components/NewPageHeader/index.d.ts.map +1 -0
  37. package/dist/v2/components/SectionHeader/SectionHeader.d.ts +8 -0
  38. package/dist/v2/components/SectionHeader/SectionHeader.d.ts.map +1 -0
  39. package/dist/v2/components/SectionHeader/SectionHeader.js +13 -0
  40. package/dist/v2/components/SectionHeader/SectionHeader.scss.js +6 -0
  41. package/dist/v2/components/SectionHeader/index.d.ts +3 -0
  42. package/dist/v2/components/SectionHeader/index.d.ts.map +1 -0
  43. package/dist/v2/components/WYSIWYGEditor/Icons.d.ts +17 -0
  44. package/dist/v2/components/WYSIWYGEditor/Icons.d.ts.map +1 -0
  45. package/dist/v2/components/WYSIWYGEditor/Icons.js +231 -0
  46. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.d.ts +13 -0
  47. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.d.ts.map +1 -0
  48. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.js +222 -0
  49. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.scss.js +6 -0
  50. package/dist/v2/components/WYSIWYGEditor/index.d.ts +3 -0
  51. package/dist/v2/components/WYSIWYGEditor/index.d.ts.map +1 -0
  52. package/dist/v2/components/index.d.ts +22 -0
  53. package/dist/v2/components/index.d.ts.map +1 -0
  54. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts.map +1 -1
  55. package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +2 -0
  56. package/dist/v2/styles/components/Button.scss +51 -53
  57. package/dist/v2/styles/form/Layout.scss +15 -0
  58. package/dist/v2/styles/form/NewInput.scss +60 -49
  59. package/dist/v2/styles/form/NewInput.scss.js +6 -0
  60. package/dist/v2/styles/index.scss +1 -0
  61. package/dist/v2/styles/tokens/_colors.scss +6 -6
  62. package/dist/v2/styles/tokens/_typography.scss +2 -2
  63. package/package.json +1 -1
  64. package/src/index.ts +1 -0
  65. package/src/v2/components/Alert/Alert.scss +3 -3
  66. package/src/v2/components/Button/Button.tsx +34 -12
  67. package/src/v2/components/Button/index.ts +2 -2
  68. package/src/v2/components/Checkbox/Checkbox.scss +190 -0
  69. package/src/v2/components/Checkbox/Checkbox.stories.tsx +316 -0
  70. package/src/v2/components/Checkbox/Checkbox.tsx +106 -0
  71. package/src/v2/components/Checkbox/index.ts +3 -0
  72. package/src/v2/components/FormField/FormField.scss +87 -0
  73. package/src/v2/components/FormField/FormField.stories.tsx +71 -0
  74. package/src/v2/components/FormField/FormField.tsx +37 -0
  75. package/src/v2/components/FormField/index.ts +3 -0
  76. package/src/v2/components/NewInput/NewInput.stories.tsx +433 -0
  77. package/src/v2/components/NewInput/NewInput.tsx +96 -0
  78. package/src/v2/components/NewInput/index.ts +1 -0
  79. package/src/v2/components/NewPageHeader/NewPageHeader.scss +35 -0
  80. package/src/v2/components/NewPageHeader/NewPageHeader.stories.tsx +44 -0
  81. package/src/v2/components/NewPageHeader/NewPageHeader.tsx +35 -0
  82. package/src/v2/components/NewPageHeader/index.ts +1 -0
  83. package/src/v2/components/SectionHeader/SectionHeader.scss +11 -0
  84. package/src/v2/components/SectionHeader/SectionHeader.tsx +15 -0
  85. package/src/v2/components/SectionHeader/index.ts +2 -0
  86. package/src/v2/components/WYSIWYGEditor/Icons.tsx +98 -0
  87. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.scss +300 -0
  88. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.stories.tsx +252 -0
  89. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.tsx +224 -0
  90. package/src/v2/components/WYSIWYGEditor/index.ts +3 -0
  91. package/src/v2/components/index.ts +37 -0
  92. package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +2 -1
  93. package/src/v2/styles/components/Button.scss +51 -53
  94. package/src/v2/styles/form/Layout.scss +15 -0
  95. package/src/v2/styles/form/NewInput.scss +60 -49
  96. package/src/v2/styles/index.scss +1 -0
  97. package/src/v2/styles/tokens/_colors.scss +6 -6
  98. package/src/v2/styles/tokens/_typography.scss +2 -2
@@ -0,0 +1,224 @@
1
+ import React from 'react'
2
+ import {
3
+ BoldIcon,
4
+ ItalicIcon,
5
+ UnderlineIcon,
6
+ StrikeThroughIcon,
7
+ Heading1Icon,
8
+ Heading2Icon,
9
+ BulletListIcon,
10
+ NumberedListIcon,
11
+ UndoIcon,
12
+ RedoIcon,
13
+ ClearFormattingIcon,
14
+ ParagraphIcon,
15
+ QuoteAltIcon,
16
+ TaskListIcon,
17
+ DividerIcon,
18
+ RedoAltIcon,
19
+ } from './Icons'
20
+ import './WYSIWYGEditor.scss'
21
+
22
+ export interface WYSIWYGEditorProps {
23
+ label?: string
24
+ error?: string
25
+ helpText?: string
26
+ value?: string
27
+ onChange?: (value: string) => void
28
+ placeholder?: string
29
+ disabled?: boolean
30
+ }
31
+
32
+ export const WYSIWYGEditor: React.FC<WYSIWYGEditorProps> = ({
33
+ label,
34
+ error,
35
+ helpText,
36
+ value,
37
+ onChange,
38
+ placeholder,
39
+ disabled = false,
40
+ }) => {
41
+ const contentRef = React.useRef<HTMLDivElement>(null)
42
+ const isInternalChange = React.useRef(false)
43
+
44
+ // Only update innerHTML when value changes externally (not from user input)
45
+ React.useEffect(() => {
46
+ if (contentRef.current && !isInternalChange.current) {
47
+ const currentHTML = contentRef.current.innerHTML
48
+ if (currentHTML !== value) {
49
+ contentRef.current.innerHTML = value || ''
50
+ }
51
+ }
52
+ isInternalChange.current = false
53
+ }, [value])
54
+
55
+ const handleInput = () => {
56
+ if (contentRef.current) {
57
+ isInternalChange.current = true
58
+ onChange?.(contentRef.current.innerHTML)
59
+ }
60
+ }
61
+
62
+ const execCommand = (command: string, value?: string) => {
63
+ document.execCommand(command, false, value)
64
+ handleInput()
65
+ }
66
+
67
+ return (
68
+ <div className="wysiwyg-editor">
69
+ {label && (
70
+ <label className="wysiwyg-editor__label">
71
+ {label}
72
+ </label>
73
+ )}
74
+ <div className={`wysiwyg-editor__wrapper ${error ? 'wysiwyg-editor__wrapper--error' : ''}`}>
75
+ <div className="wysiwyg-editor__toolbar">
76
+ <button
77
+ type="button"
78
+ className="wysiwyg-editor__toolbar-btn"
79
+ title="Bold"
80
+ onClick={() => execCommand('bold')}
81
+ >
82
+ <BoldIcon />
83
+ </button>
84
+ <button
85
+ type="button"
86
+ className="wysiwyg-editor__toolbar-btn"
87
+ title="Italic"
88
+ onClick={() => execCommand('italic')}
89
+ >
90
+ <ItalicIcon />
91
+ </button>
92
+ <button
93
+ type="button"
94
+ className="wysiwyg-editor__toolbar-btn"
95
+ title="Underline"
96
+ onClick={() => execCommand('underline')}
97
+ >
98
+ <UnderlineIcon />
99
+ </button>
100
+ <button
101
+ type="button"
102
+ className="wysiwyg-editor__toolbar-btn"
103
+ title="Strikethrough"
104
+ onClick={() => execCommand('strikeThrough')}
105
+ >
106
+ <StrikeThroughIcon />
107
+ </button>
108
+ <div className="wysiwyg-editor__toolbar-divider" />
109
+ <button
110
+ type="button"
111
+ className="wysiwyg-editor__toolbar-btn"
112
+ title="Heading 1"
113
+ onClick={() => execCommand('formatBlock', 'H1')}
114
+ >
115
+ <Heading1Icon />
116
+ </button>
117
+ <button
118
+ type="button"
119
+ className="wysiwyg-editor__toolbar-btn"
120
+ title="Heading 2"
121
+ onClick={() => execCommand('formatBlock', 'H2')}
122
+ >
123
+ <Heading2Icon />
124
+ </button>
125
+ <button
126
+ type="button"
127
+ className="wysiwyg-editor__toolbar-btn"
128
+ title="Paragraph"
129
+ onClick={() => execCommand('formatBlock', 'P')}
130
+ >
131
+ <ParagraphIcon />
132
+ </button>
133
+ <button
134
+ type="button"
135
+ className="wysiwyg-editor__toolbar-btn"
136
+ title="Quote"
137
+ onClick={() => execCommand('formatBlock', 'BLOCKQUOTE')}
138
+ >
139
+ <QuoteAltIcon />
140
+ </button>
141
+ <div className="wysiwyg-editor__toolbar-divider" />
142
+ <button
143
+ type="button"
144
+ className="wysiwyg-editor__toolbar-btn"
145
+ title="Bullet List"
146
+ onClick={() => execCommand('insertUnorderedList')}
147
+ >
148
+ <BulletListIcon />
149
+ </button>
150
+ <button
151
+ type="button"
152
+ className="wysiwyg-editor__toolbar-btn"
153
+ title="Numbered List"
154
+ onClick={() => execCommand('insertOrderedList')}
155
+ >
156
+ <NumberedListIcon />
157
+ </button>
158
+ <button
159
+ type="button"
160
+ className="wysiwyg-editor__toolbar-btn"
161
+ title="Task List"
162
+ onClick={() => execCommand('insertUnorderedList')}
163
+ >
164
+ <TaskListIcon />
165
+ </button>
166
+ <button
167
+ type="button"
168
+ className="wysiwyg-editor__toolbar-btn"
169
+ title="Divider"
170
+ onClick={() => execCommand('insertHorizontalRule')}
171
+ >
172
+ <DividerIcon />
173
+ </button>
174
+ <div className="wysiwyg-editor__toolbar-divider" />
175
+ <button
176
+ type="button"
177
+ className="wysiwyg-editor__toolbar-btn"
178
+ title="Undo"
179
+ onClick={() => execCommand('undo')}
180
+ >
181
+ <UndoIcon />
182
+ </button>
183
+ <button
184
+ type="button"
185
+ className="wysiwyg-editor__toolbar-btn"
186
+ title="Redo"
187
+ onClick={() => execCommand('redo')}
188
+ >
189
+ <RedoIcon />
190
+ </button>
191
+ <button
192
+ type="button"
193
+ className="wysiwyg-editor__toolbar-btn"
194
+ title="Redo Alt"
195
+ onClick={() => execCommand('redo')}
196
+ >
197
+ <RedoAltIcon />
198
+ </button>
199
+ <button
200
+ type="button"
201
+ className="wysiwyg-editor__toolbar-btn"
202
+ title="Clear"
203
+ onClick={() => execCommand('removeFormat')}
204
+ >
205
+ <ClearFormattingIcon />
206
+ </button>
207
+ </div>
208
+ <div
209
+ ref={contentRef}
210
+ className={`wysiwyg-editor__content ${disabled ? 'wysiwyg-editor__content--disabled' : ''}`}
211
+ contentEditable={!disabled}
212
+ suppressContentEditableWarning
213
+ onInput={handleInput}
214
+ data-placeholder={placeholder}
215
+ />
216
+ </div>
217
+ {helpText && (
218
+ <span className="wysiwyg-editor__help-text">{helpText}</span>
219
+ )}
220
+ {error && <span className="wysiwyg-editor__error-text">{error}</span>}
221
+ </div>
222
+ )
223
+ }
224
+
@@ -0,0 +1,3 @@
1
+ export { WYSIWYGEditor } from './WYSIWYGEditor'
2
+ export type { WYSIWYGEditorProps } from './WYSIWYGEditor'
3
+
@@ -0,0 +1,37 @@
1
+ // Form Components
2
+ export { FormField } from './FormField'
3
+ export type { FormFieldProps } from './FormField'
4
+
5
+ export { NewInput } from './NewInput'
6
+ export type { NewInputProps } from './NewInput'
7
+
8
+ export { Checkbox } from './Checkbox'
9
+ export type { CheckboxProps } from './Checkbox'
10
+
11
+ export { WYSIWYGEditor } from './WYSIWYGEditor'
12
+ export type { WYSIWYGEditorProps } from './WYSIWYGEditor'
13
+
14
+ export { NewPageHeader } from './NewPageHeader'
15
+ export type { NewPageHeaderProps } from './NewPageHeader'
16
+
17
+ export { SectionHeader } from './SectionHeader'
18
+ export type { SectionHeaderProps } from './SectionHeader'
19
+
20
+ // Existing Components
21
+ export { Button, ButtonText } from './Button'
22
+ export type { ButtonProps, ButtonTextProps } from './Button'
23
+
24
+ export { Select } from './Select'
25
+
26
+ export { Tooltip } from './Tooltip'
27
+
28
+ export { UserAvatar } from './UserAvatar'
29
+
30
+ export { UserPanel } from './UserPanel'
31
+
32
+ export { EntityHeader } from './EntityHeader'
33
+
34
+ export { Alert } from './Alert'
35
+
36
+ export { NPSScore } from './NPSScore'
37
+
@@ -206,13 +206,14 @@ export const DashboardLayout: React.FC<DashboardLayoutProps> = ({
206
206
 
207
207
 
208
208
  <main
209
+ id="scrollable"
209
210
  className="dashboard-layout__main"
210
211
  style={{
211
212
  marginLeft: isMobile ? 0 : sidebarWidth,
212
213
  marginTop: topHatHeight
213
214
  }}
214
215
  >
215
- <div className="dashboard-layout__content">
216
+ <div id="main" className="dashboard-layout__content">
216
217
  {children}
217
218
  </div>
218
219
  {showFooter && <DashboardFooter version={version} />}
@@ -2,59 +2,48 @@
2
2
 
3
3
  .new-button {
4
4
  display: flex;
5
- gap: var(--spacing-sm, 8px);
6
- align-items: center;
5
+ gap: var(--spacing-sm);
7
6
  justify-content: center;
8
- padding: var(--spacing-sm, 8px) var(--spacing-reg, 16px);
9
- border-radius: var(--radius-md, 4px);
10
- font-family: var(--font-family-sans, 'Geist', sans-serif);
11
- font-weight: var(--heading-h5-weight, 600);
12
- font-size: var(--text-reg-size, 15px);
13
- line-height: var(--text-reg-line, 18px);
7
+ padding: 12px 24px;
8
+ align-self: flex-start;
9
+ text-align: center;
10
+ align-items: center;
11
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
12
+ font-weight: 600;
13
+ line-height: 20px;
14
+ min-height: 44px;
14
15
  border: none;
16
+ border-radius: 8px;
15
17
  cursor: pointer;
16
18
  transition: all 0.2s ease;
17
19
  white-space: nowrap;
18
20
 
19
- // Primary Button - Solid with gradient
21
+ // Primary Button - Solid purple
20
22
  &--primary {
21
- background: linear-gradient(
22
- 180deg,
23
- rgba(255, 255, 255, 0.2) 0%,
24
- var(--purples-purple-500) 5.77%,
25
- var(--purples-purple-700) 95.19%,
26
- var(--purples-purple-900) 100%
27
- ),
28
- linear-gradient(
29
- 180deg,
30
- var(--purples-purple-50) 0%,
31
- var(--purples-purple-900) 100%
32
- ),
33
- linear-gradient(90deg, var(--purples-purple-500) 0%, var(--purples-purple-500) 100%);
34
- color: var(--labels-main-label-white, #ffffff);
23
+ background: #5d5bf4;
24
+ color: #ffffff;
35
25
 
36
26
  &:hover {
37
- background-color: var(--fills-main-fill-action, #6200ee);
27
+ background: #4241ad;
38
28
  }
39
29
 
40
30
  &:active,
41
31
  &:focus {
42
- background-color: var(--fills-main-fill-action, #6200ee);
32
+ background: #333286;
43
33
  }
44
34
  }
45
35
 
46
- // Primary - Soft
36
+ // Primary - Soft (Light purple)
47
37
  &--primary-soft {
48
- background-color: var(--surfaces-main-background-action-soft, #efe6fd);
49
- color: var(--labels-main-label-action, #6200ee);
38
+ background: #efeffe;
39
+ color: #5d5bf4;
50
40
 
51
41
  &:hover {
52
- background-color: var(--surfaces-main-background-action-soft-hover, #ceb0fa);
42
+ background: #cdccfc;
53
43
  }
54
44
 
55
45
  &:active {
56
- background-color: var(--surfaces-main-background-action-soft-pressed, #965ff4);
57
- color: var(--labels-main-label-white, #ffffff);
46
+ background: #b4b4fa;
58
47
  }
59
48
  }
60
49
 
@@ -76,39 +65,32 @@
76
65
 
77
66
  // Secondary Button
78
67
  &--secondary {
79
- background: linear-gradient(
80
- 180deg,
81
- rgba(255, 255, 255, 0.2) 0%,
82
- var(--neutrals-gray-200) 5.77%,
83
- var(--purples-purple-700) 95.19%,
84
- var(--purples-purple-900) 100%
85
- ),
86
- linear-gradient(
87
- 180deg,
88
- var(--neutrals-gray-200) 0%,
89
- var(--fills-main-fill-secondary) 100%
90
- ),
91
- linear-gradient(90deg, var(--fills-main-fill-secondary) 0%, var(--fills-main-fill-secondary) 100%);
92
- color: var(--labels-main-label-white, #ffffff);
68
+ border-radius: var(--sizes-radius-radius, 8px);
69
+ background: var(--surface-action-soft);
70
+ color: var(--label-action);
93
71
 
94
- &:hover,
95
- &:active {
96
- // Same gradient for hover/pressed states
72
+ &:hover {
73
+ background: #EFE6FD;
74
+ }
75
+
76
+ &:active,
77
+ &:focus {
78
+ background: #EFE6FD;
97
79
  }
98
80
  }
99
81
 
100
82
  // Destructive - Soft
101
83
  &--destructive-soft {
102
- background-color: var(--surfaces-main-background-danger-soft, #fceceb);
103
- color: var(--labels-main-label-danger, #cc3c35);
84
+ border-radius: var(--radius-reg, 8px);
85
+ background: var(--surface-danger-soft, #fceceb);
104
86
 
105
87
  &:hover {
106
- background-color: var(--surfaces-main-background-danger-soft-hover, #f5c4c2);
88
+ background-color: var(--surface-danger-soft-hover, #f5c4c2);
107
89
  }
108
90
 
109
91
  &:active {
110
- background-color: var(--surfaces-main-background-danger-soft-pressed, #e66861);
111
- color: var(--labels-main-label-white, #ffffff);
92
+ background-color: var(--surface-danger-soft-pressed, #e66861);
93
+ color: var(--label-white, #ffffff);
112
94
  }
113
95
  }
114
96
 
@@ -155,6 +137,22 @@
155
137
  pointer-events: none;
156
138
  }
157
139
 
140
+ /* Button text styling */
141
+ &__text {
142
+ font-family: 'Geist', sans-serif;
143
+ font-size: 15px;
144
+ font-style: normal;
145
+ font-weight: 600;
146
+ line-height: 20px;
147
+ text-align: center;
148
+
149
+ &--primary { color: var(--label-primary); }
150
+ &--secondary { color: var(--label-secondary); }
151
+ &--danger { color: var(--label-danger); }
152
+ &--white { color: var(--label-white); }
153
+ &--action { color: var(--label-action); }
154
+ }
155
+
158
156
  // Text styling
159
157
  p {
160
158
  margin: 0;
@@ -0,0 +1,15 @@
1
+ .waiver-template-form-section {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: flex-start;
5
+ gap: var(--padding-reg, 16px);
6
+ align-self: stretch;
7
+ }
8
+
9
+ .waiver-template-form-group {
10
+ display: flex;
11
+ flex-direction: column;
12
+ align-items: flex-start;
13
+ gap: var(--padding-lg, 24px);
14
+ align-self: stretch;
15
+ }
@@ -1,22 +1,25 @@
1
1
  /* New Form Input Styles based on Figma design tokens */
2
2
 
3
3
  .new-form-input {
4
- display: flex;
5
- flex-direction: column;
6
- gap: var(--spacing-xs, 4px);
7
- width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: flex-start;
7
+ gap: var(--spacing-sm);
8
+ align-self: stretch;
9
+ width: 100%;
8
10
 
9
11
  &__label {
10
- font-family: var(--font-family-sans, 'Geist', sans-serif);
11
- font-size: var(--text-sm-size, 13px);
12
- font-weight: var(--heading-h5-weight, 500);
13
- line-height: var(--text-sm-line, 16px);
14
- color: var(--labels-main-label-primary, #121e52);
15
- margin: 0;
12
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
13
+ font-size: 13px;
14
+ font-style: normal;
15
+ font-weight: 500;
16
+ line-height: 16px; /* 123.077% */
17
+ color: var(--label-primary, #121E52);
18
+
16
19
  }
17
20
 
18
21
  &__label-optional {
19
- font-family: var(--font-family-sans, 'Geist', sans-serif);
22
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
20
23
  font-size: var(--text-xs-size, 11px);
21
24
  font-weight: var(--heading-h6-weight, 500);
22
25
  line-height: var(--text-xs-line, 14px);
@@ -32,32 +35,33 @@
32
35
  width: 100%;
33
36
  }
34
37
 
35
- &__input {
36
- font-family: var(--font-family-sans, 'Geist', sans-serif);
37
- font-size: var(--text-sm-size, 13px);
38
- line-height: var(--text-sm-line, 16px);
39
- color: var(--labels-main-label-primary, #121e52);
40
- background-color: var(--surfaces-main-background-secondary, #f8f8fa);
41
- border: 2px solid var(--borders-main-border-primary, #e8e9ef);
42
- border-radius: var(--radius-md, 4px);
43
- padding: 8px 10px;
44
- height: 40px;
45
- width: 100%;
46
- transition: all 0.2s ease;
38
+ &__input {
39
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
40
+ font-size: var(--text-sm-size, 13px);
41
+ line-height: var(--text-sm-line, 16px);
42
+ flex: 1 0 0;
43
+ background-color: var(--surfaces-main-background-secondary);
44
+ border: 2px solid var(--border-primary);
45
+ border-radius: var(--radius-md);
46
+ padding: 8px 10px;
47
+ min-height: 40px;
48
+ background: var(--surface-secondary);
49
+ width: 100%;
50
+ transition: all 0.2s ease;
47
51
 
48
- &:focus {
49
- outline: none;
50
- border-color: var(--borders-main-border-selected, #121e52);
51
- background-color: var(--surfaces-main-background-secondary, #f8f8fa);
52
- }
52
+ &:focus {
53
+ outline: none;
54
+ border-color: var(--border-selected, #6200EE);
55
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
56
+ }
53
57
 
54
- &::placeholder {
55
- color: var(--labels-main-label-secondary, #626a90);
56
- }
58
+ &::placeholder {
59
+ color: var(--labels-main-label-secondary, #626a90);
57
60
  }
61
+ }
58
62
 
59
63
  &__textarea {
60
- font-family: var(--font-family-sans, 'Geist', sans-serif);
64
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
61
65
  font-size: var(--text-sm-size, 13px);
62
66
  line-height: var(--text-sm-line, 16px);
63
67
  color: var(--labels-main-label-primary, #121e52);
@@ -72,7 +76,7 @@
72
76
 
73
77
  &:focus {
74
78
  outline: none;
75
- border-color: var(--borders-main-border-selected, #121e52);
79
+ border-color: var(--border-selected, #6200EE);
76
80
  }
77
81
 
78
82
  &::placeholder {
@@ -88,13 +92,13 @@
88
92
  border: 2px solid var(--borders-main-border-primary, #e8e9ef);
89
93
  border-radius: var(--radius-md, 4px);
90
94
  padding: 5px;
91
- height: 40px;
95
+ min-height: 40px;
92
96
 
93
97
  input {
94
98
  flex: 1;
95
99
  border: none;
96
100
  background: transparent;
97
- font-family: var(--font-family-sans, 'Geist', sans-serif);
101
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
98
102
  font-size: var(--text-sm-size, 13px);
99
103
  line-height: var(--text-sm-line, 16px);
100
104
  color: var(--labels-main-label-primary, #121e52);
@@ -126,7 +130,7 @@
126
130
  border: 2px solid var(--borders-main-border-primary, #e8e9ef);
127
131
  border-radius: var(--radius-md, 4px);
128
132
  text-align: center;
129
- font-family: var(--font-family-sans, 'Geist', sans-serif);
133
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
130
134
  font-size: var(--text-lg-size, 18px);
131
135
  font-weight: var(--heading-h3-weight, 600);
132
136
  color: var(--labels-main-label-primary, #121e52);
@@ -134,24 +138,35 @@
134
138
 
135
139
  &:focus {
136
140
  outline: none;
137
- border-color: var(--borders-main-border-selected, #121e52);
141
+ border-color: var(--border-selected, #6200EE);
138
142
  }
139
143
  }
140
144
  }
141
145
 
142
146
  &__helper-text {
143
- font-family: var(--font-family-sans, 'Geist', sans-serif);
144
- font-size: var(--text-sm-size, 13px);
145
- font-weight: 400;
146
- line-height: var(--text-sm-line, 16px);
147
- color: var(--labels-main-label-secondary, #626a90);
148
- margin: 0;
147
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
148
+ font-size: 13px;
149
+ font-style: normal;
150
+ font-weight: 400;
151
+ line-height: 16px;
152
+ margin-top: 2px;
153
+ color: var(--label-secondary, #626A90);
154
+ }
155
+
156
+ &__error-text {
157
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
158
+ font-size: 11px;
159
+ font-style: normal;
160
+ font-weight: 400;
161
+ line-height: 14px;
162
+ margin-top: 2px;
163
+ color: var(--labels-status-label-error, #ef4444);
149
164
  }
150
165
 
151
166
  // States
152
167
  &--active {
153
168
  .new-form-input__input {
154
- border-color: var(--borders-main-border-selected, #121e52);
169
+ border-color: var(--border-selected, #6200EE);
155
170
  }
156
171
  }
157
172
 
@@ -159,14 +174,10 @@
159
174
  .new-form-input__input {
160
175
  border-color: var(--borders-status-border-error, #ef4444);
161
176
  }
162
-
163
- .new-form-input__helper-text {
164
- color: var(--labels-status-label-error, #ef4444);
165
- }
166
177
  }
167
178
 
168
179
  &--disabled {
169
180
  opacity: var(--opacity-50, 0.5);
170
181
  pointer-events: none;
171
182
  }
172
- }
183
+ }
@@ -2,3 +2,4 @@
2
2
  @import './tokens/sizes';
3
3
  @import './tokens/status';
4
4
  @import './tokens/typography';
5
+ @import './form/Layout';