@avakhula/ui 0.0.10

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 (194) hide show
  1. package/.babelrc.json +14 -0
  2. package/.eslintrc.cjs +15 -0
  3. package/.nvmrc +1 -0
  4. package/.prettierrc.json +1 -0
  5. package/.storybook/intelliboardTheme.js +10 -0
  6. package/.storybook/main.js +25 -0
  7. package/.storybook/manager.js +7 -0
  8. package/.storybook/preview-head.html +11 -0
  9. package/.storybook/preview.js +24 -0
  10. package/.storybook/scss-loader.scss +6 -0
  11. package/.storybook/withSource.js +97 -0
  12. package/README.md +35 -0
  13. package/dist/favicon.ico +0 -0
  14. package/dist/index.mjs +19366 -0
  15. package/dist/index.umd.js +209 -0
  16. package/dist/style.css +1 -0
  17. package/index.html +21 -0
  18. package/package.json +63 -0
  19. package/public/favicon.ico +0 -0
  20. package/src/App.vue +37 -0
  21. package/src/EventEmmiter.js +19 -0
  22. package/src/assets/scss/mixins/dropdown-list-item.scss +45 -0
  23. package/src/assets/scss/mixins/tooltip-position.scss +147 -0
  24. package/src/assets/scss/mixins.scss +21 -0
  25. package/src/assets/scss/reset.scss +12 -0
  26. package/src/assets/scss/style.scss +73 -0
  27. package/src/assets/scss/typography.scss +155 -0
  28. package/src/assets/scss/variables/colors.scss +115 -0
  29. package/src/assets/scss/variables/shadows.scss +17 -0
  30. package/src/components/Accordion/Accordion.scss +94 -0
  31. package/src/components/Accordion/Accordion.stories.js +41 -0
  32. package/src/components/Accordion/Accordion.vue +104 -0
  33. package/src/components/Accordion/readme.mdx +38 -0
  34. package/src/components/Alert/Alert.stories.js +69 -0
  35. package/src/components/Alert/Alert.vue +131 -0
  36. package/src/components/Alert/alert.scss +166 -0
  37. package/src/components/Alert/constants.js +6 -0
  38. package/src/components/Alert/readme.mdx +63 -0
  39. package/src/components/Badge/Badge.stories.js +53 -0
  40. package/src/components/Badge/Badge.vue +58 -0
  41. package/src/components/Badge/readme.mdx +38 -0
  42. package/src/components/Breadcrumbs/Breadcrumbs.vue +98 -0
  43. package/src/components/Breadcrumbs/breadcrumbs.scss +77 -0
  44. package/src/components/Breadcrumbs/breadcrumbs.stories.js +37 -0
  45. package/src/components/Button/Button.stories.js +124 -0
  46. package/src/components/Button/Button.vue +165 -0
  47. package/src/components/Button/button.scss +217 -0
  48. package/src/components/Button/constants.js +8 -0
  49. package/src/components/Button/readme.mdx +118 -0
  50. package/src/components/ButtonGroup/ButtonGroup.stories.js +27 -0
  51. package/src/components/ButtonGroup/ButtonGroup.vue +24 -0
  52. package/src/components/ButtonGroup/readme.mdx +10 -0
  53. package/src/components/Dropdown/Dropdown.spec.js +90 -0
  54. package/src/components/Dropdown/Dropdown.stories.js +48 -0
  55. package/src/components/Dropdown/Dropdown.vue +313 -0
  56. package/src/components/Dropdown/DropdownDivider.vue +15 -0
  57. package/src/components/Dropdown/DropdownItem.vue +59 -0
  58. package/src/components/Dropdown/DropdownList.stories.js +174 -0
  59. package/src/components/Dropdown/DropdownList.vue +93 -0
  60. package/src/components/Dropdown/constants.js +10 -0
  61. package/src/components/Dropdown/readme.mdx +88 -0
  62. package/src/components/Form/CharactersCount.vue +55 -0
  63. package/src/components/Form/Checkbox/Checkbox.scss +226 -0
  64. package/src/components/Form/Checkbox/Checkbox.stories.js +63 -0
  65. package/src/components/Form/Checkbox/Checkbox.vue +128 -0
  66. package/src/components/Form/Checkbox/readme.mdx +69 -0
  67. package/src/components/Form/CheckboxGroup/CheckboxGroup.stories.js +64 -0
  68. package/src/components/Form/CheckboxGroup/CheckboxGroup.vue +87 -0
  69. package/src/components/Form/CheckboxGroup/readme.mdx +56 -0
  70. package/src/components/Form/DatePicker/DatePicker.scss +479 -0
  71. package/src/components/Form/DatePicker/DatePicker.stories.js +78 -0
  72. package/src/components/Form/DatePicker/DatePicker.vue +284 -0
  73. package/src/components/Form/DatePicker/Icons/chevron-back.js +5 -0
  74. package/src/components/Form/DatePicker/Icons/chevron-forward.js +5 -0
  75. package/src/components/Form/DatePicker/readme.mdx +115 -0
  76. package/src/components/Form/FormGroup/FormGroup.stories.js +48 -0
  77. package/src/components/Form/FormGroup/FormGroup.vue +61 -0
  78. package/src/components/Form/FormGroup/FormGroupSet.stories.js +32 -0
  79. package/src/components/Form/FormGroup/FormGroupSet.vue +75 -0
  80. package/src/components/Form/Input/Input.stories.js +137 -0
  81. package/src/components/Form/Input/Input.vue +231 -0
  82. package/src/components/Form/Input/constants.js +5 -0
  83. package/src/components/Form/Input/input.scss +133 -0
  84. package/src/components/Form/Input/readme.mdx +68 -0
  85. package/src/components/Form/Label/Label.stories.js +29 -0
  86. package/src/components/Form/Label/Label.vue +87 -0
  87. package/src/components/Form/Label/readme.mdx +25 -0
  88. package/src/components/Form/PhoneInput/PhoneInput.stories.js +43 -0
  89. package/src/components/Form/PhoneInput/PhoneInput.vue +105 -0
  90. package/src/components/Form/PhoneInput/phoneInput.scss +197 -0
  91. package/src/components/Form/PhoneInput/readme.mdx +37 -0
  92. package/src/components/Form/Radio/Radio.stories.js +34 -0
  93. package/src/components/Form/Radio/Radio.vue +109 -0
  94. package/src/components/Form/Radio/radio.scss +187 -0
  95. package/src/components/Form/Radio/readme.mdx +48 -0
  96. package/src/components/Form/TextEditor/TextEditor.stories.js +58 -0
  97. package/src/components/Form/TextEditor/TextEditor.vue +305 -0
  98. package/src/components/Form/TextEditor/icons/svg/chevron-down.svg +3 -0
  99. package/src/components/Form/TextEditor/icons/toolbarIcons.js +111 -0
  100. package/src/components/Form/TextEditor/plugins/alphabetList.js +43 -0
  101. package/src/components/Form/TextEditor/readme.mdx +59 -0
  102. package/src/components/Form/TextEditor/textEditor.scss +684 -0
  103. package/src/components/Form/Textarea/Textarea.spec.js +107 -0
  104. package/src/components/Form/Textarea/Textarea.stories.js +68 -0
  105. package/src/components/Form/Textarea/Textarea.vue +102 -0
  106. package/src/components/Form/Textarea/readme.mdx +45 -0
  107. package/src/components/Form/Textarea/textarea.scss +84 -0
  108. package/src/components/Form/Toggle/Toggle.stories.js +44 -0
  109. package/src/components/Form/Toggle/Toggle.vue +122 -0
  110. package/src/components/Form/Toggle/readme.mdx +39 -0
  111. package/src/components/Form/Toggle/toggle.scss +166 -0
  112. package/src/components/Icon.vue +41 -0
  113. package/src/components/IconButton/IconButton.scss +91 -0
  114. package/src/components/IconButton/IconButton.stories.js +115 -0
  115. package/src/components/IconButton/IconButton.vue +100 -0
  116. package/src/components/IconButton/constants.js +14 -0
  117. package/src/components/IconButton/readme.mdx +66 -0
  118. package/src/components/List.vue +150 -0
  119. package/src/components/Modal/Modal.stories.js +48 -0
  120. package/src/components/Modal/Modal.vue +231 -0
  121. package/src/components/Modal/readme.mdx +76 -0
  122. package/src/components/Pagination/LimitSelector.vue +73 -0
  123. package/src/components/Pagination/Pagination.stories.js +54 -0
  124. package/src/components/Pagination/Pagination.vue +227 -0
  125. package/src/components/Pagination/pagination.scss +189 -0
  126. package/src/components/Popover/Popover.stories.js +46 -0
  127. package/src/components/Popover/Popover.vue +81 -0
  128. package/src/components/Popover/constants.js +14 -0
  129. package/src/components/Popover/popover.scss +26 -0
  130. package/src/components/Popover/readme.mdx +42 -0
  131. package/src/components/ProgressBar/ProgressBar.stories.js +90 -0
  132. package/src/components/ProgressBar/ProgressBar.vue +58 -0
  133. package/src/components/ProgressBar/constants.js +6 -0
  134. package/src/components/ProgressBar/progressBar.scss +116 -0
  135. package/src/components/ProgressBar/readme.mdx +67 -0
  136. package/src/components/Sorting/Sorting.stories.js +35 -0
  137. package/src/components/Sorting/Sorting.vue +128 -0
  138. package/src/components/Sorting/constants.js +10 -0
  139. package/src/components/Sorting/sorting.scss +87 -0
  140. package/src/components/SplitButton/SplitButton.stories.js +39 -0
  141. package/src/components/SplitButton/SplitButton.vue +132 -0
  142. package/src/components/SplitButton/SplitButtonItem.vue +34 -0
  143. package/src/components/SplitButton/constants.js +4 -0
  144. package/src/components/SplitButton/readme.mdx +77 -0
  145. package/src/components/SplitButton/splitButton.scss +161 -0
  146. package/src/components/StatusIndicator/StatusIndicator.stories.js +40 -0
  147. package/src/components/StatusIndicator/StatusIndicator.vue +52 -0
  148. package/src/components/StatusIndicator/constants.js +10 -0
  149. package/src/components/StatusIndicator/icons.js +48 -0
  150. package/src/components/StatusIndicator/readme.mdx +21 -0
  151. package/src/components/Table/Cells/Cell.vue +71 -0
  152. package/src/components/Table/Cells/CheckboxCell.vue +48 -0
  153. package/src/components/Table/Row.vue +26 -0
  154. package/src/components/Table/Table.stories.js +59 -0
  155. package/src/components/Table/Table.vue +36 -0
  156. package/src/components/Tabs/Tab.vue +37 -0
  157. package/src/components/Tabs/TabDropdown.vue +93 -0
  158. package/src/components/Tabs/Tabs.stories.js +57 -0
  159. package/src/components/Tabs/Tabs.vue +94 -0
  160. package/src/components/Tabs/tabs.scss +157 -0
  161. package/src/components/TagPill/TagPill.stories.js +30 -0
  162. package/src/components/TagPill/TagPill.vue +133 -0
  163. package/src/components/TagPill/constants.js +9 -0
  164. package/src/components/TagPill/readme.mdx +37 -0
  165. package/src/components/ToggleTip/ToggleTip.stories.js +98 -0
  166. package/src/components/ToggleTip/ToggleTip.vue +112 -0
  167. package/src/components/ToggleTip/constants.js +14 -0
  168. package/src/components/ToggleTip/readme.mdx +46 -0
  169. package/src/components/ToggleTip/toggleTip.scss +55 -0
  170. package/src/components/Tooltip/Tooltip.stories.js +56 -0
  171. package/src/components/Tooltip/Tooltip.vue +49 -0
  172. package/src/components/Tooltip/readme.mdx +43 -0
  173. package/src/components/TreeSelect/Option.vue +325 -0
  174. package/src/components/TreeSelect/Select.stories.js +349 -0
  175. package/src/components/TreeSelect/Select.vue +909 -0
  176. package/src/components/TreeSelect/TreeSelect.stories.js +270 -0
  177. package/src/components/TreeSelect/scss/option.scss +204 -0
  178. package/src/components/TreeSelect/scss/select.scss +166 -0
  179. package/src/constants/events.js +2 -0
  180. package/src/constants/keyCodes.js +8 -0
  181. package/src/directives/outside/outside.js +81 -0
  182. package/src/directives/outside/outside.stories.js +29 -0
  183. package/src/directives/outside/readme.mdx +24 -0
  184. package/src/helpers/generateUID.js +3 -0
  185. package/src/helpers/getHrefFromID.js +3 -0
  186. package/src/helpers/multiLineOverflows.js +3 -0
  187. package/src/helpers/removeEvents.js +9 -0
  188. package/src/index.js +49 -0
  189. package/src/main.js +12 -0
  190. package/src/stories/link.readme.mdx +57 -0
  191. package/src/stories/link.stories.js +59 -0
  192. package/static/Logo.svg +25 -0
  193. package/static/docks/button.pdf +147566 -0
  194. package/vite.config.js +47 -0
@@ -0,0 +1,684 @@
1
+ @import "../../../assets/scss/variables/colors.scss";
2
+ @import "../../../assets/scss/variables/shadows.scss";
3
+ @import "../../../assets/scss/mixins.scss";
4
+ @import "../../../assets/scss/typography.scss";
5
+
6
+ $textarea-error-outline-color: $red-800;
7
+ // TODO: it's duplicate from /components/Button/button.scss
8
+ $tertiary-btn-background: $gray-100;
9
+ $tertiary-btn-color: $neutral-900;
10
+ $tertiary-btn-hover-background: $blue-100;
11
+ $tertiary-btn-hover-color: $blue-700;
12
+ $tertiary-btn-focus-background: $gray-100;
13
+ $tertiary-btn-focus-color: $neutral-900;
14
+ $tertiary-btn-active-background: $blue-50;
15
+ $tertiary-btn-active-color: $blue-900;
16
+
17
+ $input-bg: $gray-100;
18
+ $input-color: $neutral-900;
19
+ $input-border-color: $gray-500;
20
+ $input-placeholder-color: $neutral-600;
21
+ $input-disabled-color: $neutral-500;
22
+ $input-disabled-bg: $gray-100;
23
+ $input-disabled-border-color: $neutral-500;
24
+ $input-disabled-placeholder-color: $neutral-500;
25
+ $input-hover-color: $neutral-900;
26
+ $input-hover-bg: $blue-200;
27
+ $input-hover-border-color: $blue-700;
28
+ $input-hover-placeholder-color: $neutral-600;
29
+ $input-hover-error-color: $red-800;
30
+
31
+ // AlphabeticalList list style
32
+ ol[type="a"] li::before {
33
+ content: counter(list-1, lower-alpha) ". ";
34
+ }
35
+ ol[type="a"] li {
36
+ counter-increment: list-1;
37
+ }
38
+ ol[type="a"] li {
39
+ counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
40
+ }
41
+
42
+ .textarea-wrapper {
43
+ position: relative;
44
+
45
+ .character-count {
46
+ position: absolute;
47
+ right: 0;
48
+ bottom: calc(100% + 5px);
49
+ }
50
+
51
+ .error-message {
52
+ margin-bottom: 5px;
53
+ }
54
+
55
+ &.error {
56
+ .ib-text-editor {
57
+ border-bottom-color: transparent;
58
+ border-radius: 4px;
59
+ @include outline(-2px, $textarea-error-outline-color);
60
+ }
61
+ }
62
+
63
+ &.focus {
64
+ .ib-text-editor {
65
+ border-bottom-color: transparent;
66
+ border-radius: 4px;
67
+ @include outline(0px, $blue-700);
68
+ border-bottom: 0px;
69
+ }
70
+ }
71
+
72
+ &.disable {
73
+ .ib-text-editor {
74
+ background-color: $gray-100;
75
+ border-bottom-color: $neutral-500;
76
+ resize: none;
77
+ color: $neutral-500;
78
+
79
+ & + .toolbar {
80
+ background-color: $gray-100;
81
+ }
82
+
83
+ .ql-editor.ql-blank::before {
84
+ color: $neutral-500;
85
+ }
86
+ }
87
+ .ql-header.ql-picker {
88
+ .ql-picker-label:hover,
89
+ .ql-picker-label {
90
+ border-color: transparent;
91
+ background-color: $gray-100;
92
+
93
+ &:before {
94
+ color: $neutral-500;
95
+ }
96
+
97
+ &:after {
98
+ filter: invert(90%) sepia(0%) saturate(0%) hue-rotate(145deg)
99
+ brightness(81%) contrast(86%);
100
+ }
101
+ }
102
+ }
103
+
104
+ .ib-icon-button {
105
+ background-color: $gray-100;
106
+ border-color: $gray-100;
107
+ cursor: default;
108
+ }
109
+
110
+ .toolbar-item:hover,
111
+ .toolbar-item {
112
+
113
+ svg {
114
+ .ql-fill,
115
+ .fill {
116
+ fill: $neutral-500;
117
+ }
118
+
119
+ .ql-stroke,
120
+ .stroke {
121
+ stroke: $neutral-500;
122
+ }
123
+ }
124
+ }
125
+
126
+ .ql-picker {
127
+ .ql-picker-label:hover,
128
+ .ql-picker-label {
129
+ background-color: $gray-100;
130
+ border-color: $gray-100;
131
+
132
+ svg {
133
+ fill: $neutral-500;
134
+
135
+ .ql-stroke {
136
+ stroke: $neutral-500;
137
+ }
138
+
139
+ .ql-fill {
140
+ fill: $neutral-500;
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
+ .character-count p {
147
+ color: $neutral-500;
148
+ }
149
+ }
150
+ }
151
+
152
+ .ib-text-editor {
153
+ resize: vertical;
154
+ overflow: auto;
155
+ min-height: 120px;
156
+ background-color: $gray-100;
157
+ border-radius: 4px 4px 0 0;
158
+ padding: 10px 15px;
159
+ padding-bottom: 35px;
160
+ padding-right: 2px;
161
+ border-bottom: 2px solid $gray-500;
162
+ transition: border-color 0.3s, border-radius 0.3s, background-color 0.3s;
163
+
164
+ .ql-editor.ql-blank::before {
165
+ right: 0;
166
+ left: 0;
167
+ @include Ib-H4-regular-italic;
168
+ color: $neutral-600;
169
+ }
170
+
171
+ .ql-container {
172
+ height: auto;
173
+ }
174
+
175
+ // Reset default styles
176
+ .ql-container.ql-snow {
177
+ border: none;
178
+
179
+ .ql-editor {
180
+ padding: 0 0 10px 0;
181
+ }
182
+ }
183
+
184
+ .ql-editor {
185
+ min-height: 56px;
186
+ }
187
+ & + .toolbar {
188
+ background-color: $gray-100;
189
+ }
190
+ }
191
+
192
+ .ib-text-editor-wrapper {
193
+ position: relative;
194
+ height: auto;
195
+
196
+ &:not(.disable):hover {
197
+ .ib-text-editor {
198
+ background-color: $blue-100;
199
+ border-bottom-color: $blue-700;
200
+
201
+ & + .toolbar {
202
+ background-color: $blue-100;
203
+ }
204
+ }
205
+ }
206
+
207
+ .toolbar-item {
208
+ &:hover {
209
+ svg {
210
+ .fill {
211
+ fill: $blue-800;
212
+ }
213
+ .stroke {
214
+ stroke: $blue-800;
215
+ }
216
+ }
217
+ }
218
+
219
+ &.ql-active {
220
+ background-color: $blue-200;
221
+ }
222
+
223
+ &.ql-active,
224
+ &:active {
225
+ svg {
226
+ .fill {
227
+ fill: $blue-900;
228
+ }
229
+ .stroke {
230
+ stroke: $blue-900;
231
+ }
232
+ }
233
+ }
234
+ }
235
+
236
+ .toolbar {
237
+ position: absolute;
238
+ bottom: 2px;
239
+ left: 12px;
240
+ right: 25px;
241
+ padding-top: 10px;
242
+ padding-bottom: 8px;
243
+ display: flex;
244
+ flex-wrap: wrap;
245
+ margin: 0 -10px;
246
+ transition: background-color 0.3s;
247
+ .toolbar-group {
248
+ position: relative;
249
+ display: flex;
250
+ padding: 0 10px;
251
+
252
+ &:last-child {
253
+ &::before {
254
+ display: none;
255
+ }
256
+ }
257
+
258
+ &::before {
259
+ content: "";
260
+ height: 16px;
261
+ width: 2px;
262
+ background-color: $gray-300;
263
+ position: absolute;
264
+ right: -1px;
265
+ top: 50%;
266
+ transform: translateY(-50%);
267
+ }
268
+
269
+ button {
270
+ &:not(:last-child) {
271
+ margin-right: 4px;
272
+ }
273
+ }
274
+ }
275
+ }
276
+
277
+ // Headings dropdown
278
+ .ql-snow .ql-picker.ql-header .ql-picker-item {
279
+ &::before {
280
+ @include Ib-H4-regular;
281
+ }
282
+
283
+ &[data-value="1"]::before {
284
+ @include Ib-H1-medium;
285
+ }
286
+
287
+ &[data-value="2"]::before {
288
+ @include Ib-H2-medium;
289
+ }
290
+
291
+ &[data-value="3"]::before {
292
+ @include Ib-H3-medium;
293
+ }
294
+
295
+ &[data-value="4"]::before {
296
+ @include Ib-H4-medium;
297
+ }
298
+
299
+ &[data-value="5"]::before {
300
+ @include Ib-H5-medium;
301
+ }
302
+
303
+ &[data-value="6"]::before {
304
+ @include Ib-H6-medium;
305
+ }
306
+ }
307
+
308
+ .ql-header.ql-picker {
309
+ width: 98px;
310
+ border-radius: 4px;
311
+
312
+ // Is Open
313
+ &.ql-expanded {
314
+ .ql-picker-label {
315
+ background-color: $blue-200;
316
+ border-color: transparent;
317
+
318
+ &:after {
319
+ // Transform color from $neutral-900(#1A1A1A) to $blue-900(#0057C2)
320
+ filter: invert(23%) sepia(50%) saturate(4320%) hue-rotate(204deg)
321
+ brightness(87%) contrast(101%);
322
+ transform: translateY(-50%) rotate(180deg);
323
+ }
324
+
325
+ &::before {
326
+ color: $blue-900;
327
+ }
328
+ }
329
+ }
330
+
331
+ .ql-picker-label {
332
+ padding: 2.5px 3px;
333
+ border: 2px solid transparent;
334
+ border-radius: 4px;
335
+ overflow: hidden;
336
+ transition: border-color 0.3s, background-color 0.3s;
337
+
338
+ &::after {
339
+ content: "";
340
+ background-image: url(./icons/svg/chevron-down.svg);
341
+ width: 16px;
342
+ height: 16px;
343
+ position: absolute;
344
+ top: 50%;
345
+ transform: translateY(-50%);
346
+ right: 0;
347
+ transition: transform 0.3s;
348
+ }
349
+
350
+ &:before {
351
+ color: $neutral-900;
352
+ @include Ib-H4-regular;
353
+ line-height: 15px;
354
+ transition: color 0.3s;
355
+ }
356
+
357
+ &:focus {
358
+ border-radius: 4px;
359
+ @include focus(4px);
360
+ }
361
+
362
+ svg {
363
+ display: none;
364
+ }
365
+
366
+ &:hover {
367
+ border-color: $blue-300;
368
+ background-color: $blue-100;
369
+
370
+ &:before {
371
+ color: $blue-800;
372
+ }
373
+
374
+ &::after {
375
+ // Transform color from $neutral-900(#1A1A1A) to $blue-800(#0060D6)
376
+ filter: invert(76%) sepia(94%) saturate(5659%) hue-rotate(215deg)
377
+ brightness(101%) contrast(100%);
378
+ }
379
+ }
380
+
381
+ &:active {
382
+ border-color: transparent;
383
+ background-color: $blue-200;
384
+
385
+ &:before {
386
+ color: $blue-900;
387
+ }
388
+
389
+ &::after {
390
+ // Transform color from $neutral-900(#1A1A1A) to $blue-900(#0057C2)
391
+ filter: invert(23%) sepia(50%) saturate(4320%) hue-rotate(204deg)
392
+ brightness(87%) contrast(101%);
393
+ }
394
+ }
395
+ }
396
+ }
397
+
398
+ .ql-picker-options {
399
+ left: -2px;
400
+ margin-top: 5px !important;
401
+ border-radius: 4px;
402
+ padding: 6.5px 0;
403
+ background-color: $white;
404
+ box-shadow: $ib-shadow-4;
405
+
406
+ .ql-picker-item {
407
+ height: 36px;
408
+ padding: 0px 15px 0px 13px;
409
+ display: flex;
410
+ align-items: center;
411
+ border-left: 2px solid transparent;
412
+ transition: border-color 0.3s, background-color 0.3s;
413
+ @include focus();
414
+
415
+ &:before {
416
+ color: $neutral-900;
417
+ }
418
+
419
+ &:hover {
420
+ background-color: $gray-100;
421
+ }
422
+
423
+ &.ql-selected {
424
+ border-color: $blue-900;
425
+ background-color: $gray-100;
426
+
427
+ &:hover {
428
+ background-color: $blue-50;
429
+ }
430
+ }
431
+ }
432
+ }
433
+
434
+ .ql-color-picker {
435
+ .ql-picker-label {
436
+ padding: 0;
437
+ width: 24px;
438
+ height: 24px;
439
+ max-width: 24px;
440
+ max-height: 24px;
441
+ min-width: 24px;
442
+ min-height: 24px;
443
+ line-height: 1px;
444
+ display: flex;
445
+ align-items: center;
446
+ justify-content: center;
447
+ border: 2px solid transparent;
448
+
449
+ &:hover {
450
+ background-color: $blue-100;
451
+ border-color: $blue-300;
452
+ border-radius: 4px;
453
+
454
+ svg {
455
+ .ql-stroke {
456
+ stroke: $blue-800;
457
+ }
458
+ }
459
+ }
460
+
461
+ &:active {
462
+ border-color: transparent;
463
+ background-color: $blue-200;
464
+
465
+ svg {
466
+ .ql-stroke {
467
+ stroke: $blue-900;
468
+ }
469
+ }
470
+ }
471
+
472
+ &:focus {
473
+ border-radius: 4px;
474
+ @include focus(2px);
475
+ }
476
+
477
+ svg {
478
+ width: 20px;
479
+ height: 20px;
480
+
481
+ .ql-stroke {
482
+ transition: stroke 0.3s;
483
+ stroke: $neutral-900;
484
+ }
485
+ }
486
+ }
487
+
488
+ &.ql-expanded {
489
+ .ql-picker-label {
490
+ border-radius: 4px;
491
+ background-color: $blue-200;
492
+
493
+ svg {
494
+ .ql-stroke {
495
+ stroke: $blue-900;
496
+ }
497
+ }
498
+ }
499
+ }
500
+
501
+ &.ql-background {
502
+ .ql-picker-item {
503
+ &:not([data-value]) {
504
+ border: 1px solid $gray-600;
505
+ background-color: $white!important;
506
+ position: relative;
507
+
508
+ &::after {
509
+ content: "";
510
+ width: 14px;
511
+ height: 1px;
512
+ background-color: $gray-600;
513
+ position: absolute;
514
+ top: 50%;
515
+ left: 50%;
516
+ transform: translate(-50%, -50%) rotate(-45deg);
517
+ border-radius: 10px;
518
+ }
519
+
520
+ &:hover {
521
+ background-color: $white!important;
522
+ }
523
+ }
524
+ }
525
+ }
526
+
527
+ .ql-picker-options {
528
+ padding: 7.5px;
529
+ width: 162px;
530
+
531
+ .ql-picker-item {
532
+ width: 16px;
533
+ height: 16px;
534
+ padding: 0;
535
+ border: none;
536
+ border-radius: 4px;
537
+ margin: 2.5px;
538
+ transition: transform 0.2s;
539
+
540
+ &[data-value="#ffffff"] {
541
+ border: 1px solid $gray-600;
542
+ position: relative;
543
+ }
544
+
545
+ &:hover {
546
+ transform: scale(1.2);
547
+ }
548
+
549
+ &:focus {
550
+ @include focus(1px);
551
+ }
552
+
553
+ &.ql-selected {
554
+ position: relative;
555
+
556
+ &:first-child {
557
+ background-color: black;
558
+ }
559
+
560
+ &::before {
561
+ content: "";
562
+ width: calc(100% + 5px);
563
+ height: calc(100% + 5px);
564
+ border-radius: 4px;
565
+ background-color: transparent;
566
+ border: 1px solid $gray-600;
567
+ position: absolute;
568
+ top: -2.5px;
569
+ bottom: -2.5px;
570
+ right: -2.5px;
571
+ left: -2.5px;
572
+ }
573
+ }
574
+ }
575
+ }
576
+ }
577
+
578
+ // Link tooltip
579
+ .ql-tooltip[data-mode="link"] {
580
+ z-index: 100;
581
+ left: 0 !important;
582
+ border-radius: 4px;
583
+ border: none;
584
+ box-shadow: $ib-shadow-3;
585
+ padding: 10px;
586
+ width: 380px;
587
+
588
+ &::before {
589
+ display: none;
590
+ }
591
+
592
+ // TODO: it's duplicate from /components/Button/button.scss
593
+ .ql-action {
594
+ padding: 0 15px;
595
+ border-radius: 4px;
596
+ border: none;
597
+ outline: none;
598
+ text-decoration: none;
599
+ cursor: pointer;
600
+ height: 36px;
601
+ display: inline-flex;
602
+ width: fit-content;
603
+ transition: color 0.3s, background 0.3s;
604
+ margin-left: 5px;
605
+ background: $tertiary-btn-background;
606
+
607
+ &::after {
608
+ margin-left: 0;
609
+ @include Ib-H4-medium;
610
+ color: $tertiary-btn-color;
611
+ transition: color 0.3s;
612
+ display: flex;
613
+ align-items: center;
614
+ }
615
+
616
+ &:hover {
617
+ background: $tertiary-btn-hover-background;
618
+ &::after {
619
+ color: $tertiary-btn-hover-color;
620
+ }
621
+ }
622
+
623
+ &:focus {
624
+ background: $tertiary-btn-focus-background;
625
+ &::after {
626
+ color: $tertiary-btn-focus-color;
627
+ }
628
+ }
629
+
630
+ &:active {
631
+ background: $tertiary-btn-active-background;
632
+ &::after {
633
+ color: $tertiary-btn-active-color;
634
+ }
635
+ }
636
+ }
637
+
638
+ // TODO: it's duplicate from /components/Button/button.scss
639
+ input[type="text"] {
640
+ width: 294px;
641
+ padding: 0 30px 0 15px;
642
+ height: 36px;
643
+ border-radius: 4px 4px 0 0;
644
+ background-color: $input-bg;
645
+ color: $input-color;
646
+ border: none;
647
+ outline: none;
648
+ border-bottom: 1px solid $input-border-color;
649
+ transition: color 0.3s, border-radius 0.3s, border-bottom-color 0.3s,
650
+ background-color 0.3s;
651
+
652
+ &::placeholder {
653
+ @include Ib-H4-regular-italic;
654
+ color: $input-placeholder-color;
655
+ }
656
+
657
+ &:hover {
658
+ color: $input-hover-color;
659
+ background-color: $input-hover-bg;
660
+ border-bottom-color: $input-hover-border-color;
661
+
662
+ &::placeholder {
663
+ color: $input-hover-placeholder-color;
664
+ }
665
+ }
666
+
667
+ &:disabled {
668
+ color: $input-disabled-color;
669
+ background-color: $input-disabled-bg;
670
+ border-bottom-color: $input-disabled-border-color;
671
+
672
+ &::placeholder {
673
+ color: $input-disabled-placeholder-color;
674
+ }
675
+ }
676
+
677
+ &:focus {
678
+ border-radius: 4px;
679
+ border-color: transparent;
680
+ @include focus();
681
+ }
682
+ }
683
+ }
684
+ }