@nectary/components 0.39.0 → 0.40.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 (115) hide show
  1. package/accordion/index.js +47 -84
  2. package/accordion-item/index.js +26 -53
  3. package/action-menu/index.d.ts +0 -1
  4. package/action-menu/index.js +179 -223
  5. package/action-menu/types.d.ts +8 -18
  6. package/action-menu-option/index.d.ts +1 -0
  7. package/action-menu-option/index.js +51 -62
  8. package/action-menu-option/types.d.ts +9 -0
  9. package/action-menu-option/utils.d.ts +2 -0
  10. package/action-menu-option/utils.js +3 -0
  11. package/alert/index.js +6 -20
  12. package/avatar/index.js +12 -31
  13. package/avatar-badge/index.js +8 -22
  14. package/avatar-status/index.js +1 -1
  15. package/button/index.js +42 -92
  16. package/card/index.js +21 -59
  17. package/chat-avatar/index.js +8 -22
  18. package/chat-block/index.js +29 -69
  19. package/chat-bubble/index.js +6 -20
  20. package/checkbox/index.js +55 -107
  21. package/chip/index.d.ts +13 -0
  22. package/chip/index.js +137 -0
  23. package/chip/types.d.ts +38 -0
  24. package/color-menu/index.d.ts +13 -0
  25. package/color-menu/index.js +464 -0
  26. package/color-menu/types.d.ts +37 -0
  27. package/color-swatch/index.d.ts +13 -0
  28. package/color-swatch/index.js +59 -0
  29. package/color-swatch/types.d.ts +12 -0
  30. package/colors.json +57 -49
  31. package/date-picker/index.js +161 -292
  32. package/dialog/index.js +70 -142
  33. package/dropdown-checkbox-option/index.js +6 -20
  34. package/dropdown-radio-option/index.js +6 -20
  35. package/field/index.js +25 -63
  36. package/file-drop/index.js +123 -200
  37. package/file-picker/index.d.ts +0 -1
  38. package/file-picker/index.js +55 -108
  39. package/file-status/index.js +15 -39
  40. package/help-tooltip/index.js +1 -1
  41. package/horizontal-stepper/index.js +33 -59
  42. package/horizontal-stepper-item/index.js +13 -37
  43. package/icon-button/index.js +39 -84
  44. package/icons-channel/notify/index.d.ts +11 -0
  45. package/icons-channel/notify/index.js +4 -0
  46. package/illustrations/create-illustration-class.js +1 -1
  47. package/inline-alert/index.js +29 -81
  48. package/input/index.js +113 -222
  49. package/link/index.js +46 -96
  50. package/list-item/index.js +1 -1
  51. package/package.json +12 -14
  52. package/pagination/index.js +109 -163
  53. package/popover/index.js +224 -294
  54. package/progress/index.js +9 -28
  55. package/radio/index.js +103 -169
  56. package/radio-option/index.js +24 -48
  57. package/segment/index.js +49 -130
  58. package/segment-collapse/index.js +24 -49
  59. package/segmented-control/index.js +36 -73
  60. package/segmented-control-option/index.js +41 -87
  61. package/segmented-icon-control/index.js +47 -84
  62. package/segmented-icon-control-option/index.js +38 -79
  63. package/select-button/index.d.ts +13 -0
  64. package/select-button/index.js +153 -0
  65. package/select-button/types.d.ts +43 -0
  66. package/select-menu/index.d.ts +11 -0
  67. package/select-menu/index.js +346 -0
  68. package/select-menu/types.d.ts +29 -0
  69. package/select-menu/types.js +1 -0
  70. package/{dropdown-text-option → select-menu-option}/index.d.ts +5 -7
  71. package/select-menu-option/index.js +76 -0
  72. package/{select-option → select-menu-option}/types.d.ts +8 -9
  73. package/stop-events/index.js +7 -20
  74. package/table-head-cell/index.js +7 -21
  75. package/tabs/index.js +103 -165
  76. package/tabs-option/index.js +20 -44
  77. package/tag/index.d.ts +0 -1
  78. package/tag/index.js +37 -38
  79. package/tag/types.d.ts +13 -7
  80. package/textarea/index.js +92 -167
  81. package/theme.css +80 -49
  82. package/tile-control/index.js +55 -96
  83. package/tile-control-option/index.js +40 -86
  84. package/time-picker/index.js +216 -368
  85. package/title/index.js +6 -20
  86. package/toast/index.js +32 -70
  87. package/toast-manager/index.js +141 -217
  88. package/toggle/index.js +54 -106
  89. package/types.d.ts +7 -0
  90. package/utils/colors.d.ts +10 -0
  91. package/utils/colors.js +121 -0
  92. package/{utils.d.ts → utils/index.d.ts} +17 -9
  93. package/{utils.js → utils/index.js} +96 -39
  94. package/vertical-stepper/index.js +29 -50
  95. package/vertical-stepper-item/index.js +13 -37
  96. package/dropdown/index.d.ts +0 -12
  97. package/dropdown/index.js +0 -415
  98. package/dropdown/types.d.ts +0 -32
  99. package/dropdown-text-option/index.js +0 -104
  100. package/dropdown-text-option/types.d.ts +0 -16
  101. package/select/index.d.ts +0 -13
  102. package/select/index.js +0 -316
  103. package/select/types.d.ts +0 -53
  104. package/select-option/index.d.ts +0 -11
  105. package/select-option/index.js +0 -8
  106. package/tag/utils.d.ts +0 -5
  107. package/tag/utils.js +0 -6
  108. package/tag-close/index.d.ts +0 -12
  109. package/tag-close/index.js +0 -42
  110. package/tag-close/types.d.ts +0 -5
  111. /package/{dropdown-text-option → chip}/types.js +0 -0
  112. /package/{dropdown → color-menu}/types.js +0 -0
  113. /package/{select-option → color-swatch}/types.js +0 -0
  114. /package/{select → select-button}/types.js +0 -0
  115. /package/{tag-close → select-menu-option}/types.js +0 -0
package/textarea/index.js CHANGED
@@ -1,166 +1,43 @@
1
- import _classPrivateFieldGet from '@babel/runtime/helpers/classPrivateFieldGet';
2
- import _classPrivateFieldSet from '@babel/runtime/helpers/classPrivateFieldSet';
3
-
4
- var _$input, _cursorPos, _isPendingDk, _onCompositionStart, _onSelectionChange, _onInput, _onInputFocus, _onInputBlur, _onChangeReactHandler, _onFocusReactHandler, _onBlurReactHandler;
5
-
6
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
7
-
8
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9
-
10
1
  import { defineCustomElement, getAttribute, getBooleanAttribute, getIntegerAttribute, getReactEventHandler, isAttrTrue, NectaryElement, updateAttribute, updateBooleanAttribute, updateExplicitBooleanAttribute } from '../utils';
11
2
  const templateHTML = '<style>:host{display:inline-block;vertical-align:middle}#input{all:initial;display:block;border:1px solid var(--sinch-color-stormy-200);box-sizing:border-box;border-radius:var(--sinch-shape-radius-s);width:100%;padding:8px 12px;font:var(--sinch-font-body);color:var(--sinch-color-text-default);background-color:var(--sinch-color-snow-100);resize:none}#input::placeholder{font:var(--sinch-font-body);color:var(--sinch-color-text-muted);opacity:1}#input:disabled{border-color:var(--sinch-color-snow-500);color:var(--sinch-color-stormy-100)}#input:disabled::placeholder{color:var(--sinch-color-snow-500)}#input:focus{border-color:var(--sinch-color-stormy-600)}:host([resizable]:not([resizable=false])) #input{resize:vertical}:host([invalid]:not([invalid=false])) #input:enabled{border-color:var(--sinch-color-text-invalid)}</style><textarea id="input"></textarea>';
12
3
  const template = document.createElement('template');
13
4
  template.innerHTML = templateHTML;
14
- defineCustomElement('sinch-textarea', (_$input = new WeakMap(), _cursorPos = new WeakMap(), _isPendingDk = new WeakMap(), _onCompositionStart = new WeakMap(), _onSelectionChange = new WeakMap(), _onInput = new WeakMap(), _onInputFocus = new WeakMap(), _onInputBlur = new WeakMap(), _onChangeReactHandler = new WeakMap(), _onFocusReactHandler = new WeakMap(), _onBlurReactHandler = new WeakMap(), class extends NectaryElement {
5
+ defineCustomElement('sinch-textarea', class extends NectaryElement {
6
+ #$input;
7
+ #cursorPos = null;
8
+ #isPendingDk = false;
9
+
15
10
  constructor() {
16
11
  super();
17
-
18
- _classPrivateFieldInitSpec(this, _$input, {
19
- writable: true,
20
- value: void 0
21
- });
22
-
23
- _classPrivateFieldInitSpec(this, _cursorPos, {
24
- writable: true,
25
- value: null
26
- });
27
-
28
- _classPrivateFieldInitSpec(this, _isPendingDk, {
29
- writable: true,
30
- value: false
31
- });
32
-
33
- _classPrivateFieldInitSpec(this, _onCompositionStart, {
34
- writable: true,
35
- value: () => {
36
- _classPrivateFieldSet(this, _isPendingDk, true);
37
- }
38
- });
39
-
40
- _classPrivateFieldInitSpec(this, _onSelectionChange, {
41
- writable: true,
42
- value: () => {
43
- _classPrivateFieldSet(this, _cursorPos, _classPrivateFieldGet(this, _$input).selectionEnd);
44
- }
45
- });
46
-
47
- _classPrivateFieldInitSpec(this, _onInput, {
48
- writable: true,
49
- value: e => {
50
- e.stopPropagation();
51
-
52
- const nextValue = _classPrivateFieldGet(this, _$input).value;
53
-
54
- const prevValue = this.value;
55
-
56
- if (prevValue !== nextValue) {
57
- const nextCursorPos = _classPrivateFieldGet(this, _$input).selectionEnd;
58
-
59
- if (!_classPrivateFieldGet(this, _isPendingDk)) {
60
- _classPrivateFieldGet(this, _$input).value = prevValue;
61
-
62
- const prevCursorPos = _classPrivateFieldGet(this, _cursorPos);
63
-
64
- const isPrevCursorEnd = prevCursorPos === null || prevCursorPos === prevValue.length;
65
-
66
- if (!isPrevCursorEnd) {
67
- _classPrivateFieldGet(this, _$input).setSelectionRange(prevCursorPos, prevCursorPos);
68
- }
69
- }
70
-
71
- _classPrivateFieldSet(this, _isPendingDk, false);
72
-
73
- _classPrivateFieldSet(this, _cursorPos, nextCursorPos);
74
-
75
- this.dispatchEvent(new CustomEvent('change', {
76
- detail: nextValue,
77
- bubbles: true
78
- }));
79
- this.dispatchEvent(new CustomEvent('-change', {
80
- detail: nextValue
81
- }));
82
- }
83
- }
84
- });
85
-
86
- _classPrivateFieldInitSpec(this, _onInputFocus, {
87
- writable: true,
88
- value: () => {
89
- this.dispatchEvent(new CustomEvent('-focus'));
90
- }
91
- });
92
-
93
- _classPrivateFieldInitSpec(this, _onInputBlur, {
94
- writable: true,
95
- value: () => {
96
- this.dispatchEvent(new CustomEvent('-blur'));
97
- }
98
- });
99
-
100
- _classPrivateFieldInitSpec(this, _onChangeReactHandler, {
101
- writable: true,
102
- value: e => {
103
- getReactEventHandler(this, 'on-change')?.(e);
104
- }
105
- });
106
-
107
- _classPrivateFieldInitSpec(this, _onFocusReactHandler, {
108
- writable: true,
109
- value: () => {
110
- getReactEventHandler(this, 'on-focus')?.();
111
- }
112
- });
113
-
114
- _classPrivateFieldInitSpec(this, _onBlurReactHandler, {
115
- writable: true,
116
- value: () => {
117
- getReactEventHandler(this, 'on-blur')?.();
118
- }
119
- });
120
-
121
12
  const shadowRoot = this.attachShadow();
122
13
  shadowRoot.appendChild(template.content.cloneNode(true));
123
-
124
- _classPrivateFieldSet(this, _$input, shadowRoot.querySelector('#input'));
14
+ this.#$input = shadowRoot.querySelector('#input');
125
15
  }
126
16
 
127
17
  connectedCallback() {
128
18
  this.setAttribute('role', 'textbox');
129
19
  this.setAttribute('aria-multiline', 'true');
130
-
131
- _classPrivateFieldGet(this, _$input).addEventListener('input', _classPrivateFieldGet(this, _onInput));
132
-
133
- _classPrivateFieldGet(this, _$input).addEventListener('compositionstart', _classPrivateFieldGet(this, _onCompositionStart));
134
-
135
- _classPrivateFieldGet(this, _$input).addEventListener('mousedown', _classPrivateFieldGet(this, _onSelectionChange));
136
-
137
- _classPrivateFieldGet(this, _$input).addEventListener('keydown', _classPrivateFieldGet(this, _onSelectionChange));
138
-
139
- _classPrivateFieldGet(this, _$input).addEventListener('focus', _classPrivateFieldGet(this, _onInputFocus));
140
-
141
- _classPrivateFieldGet(this, _$input).addEventListener('blur', _classPrivateFieldGet(this, _onInputBlur));
142
-
143
- this.addEventListener('-change', _classPrivateFieldGet(this, _onChangeReactHandler));
144
- this.addEventListener('-focus', _classPrivateFieldGet(this, _onFocusReactHandler));
145
- this.addEventListener('-blur', _classPrivateFieldGet(this, _onBlurReactHandler));
20
+ this.#$input.addEventListener('input', this.#onInput);
21
+ this.#$input.addEventListener('compositionstart', this.#onCompositionStart);
22
+ this.#$input.addEventListener('mousedown', this.#onSelectionChange);
23
+ this.#$input.addEventListener('keydown', this.#onSelectionChange);
24
+ this.#$input.addEventListener('focus', this.#onInputFocus);
25
+ this.#$input.addEventListener('blur', this.#onInputBlur);
26
+ this.addEventListener('-change', this.#onChangeReactHandler);
27
+ this.addEventListener('-focus', this.#onFocusReactHandler);
28
+ this.addEventListener('-blur', this.#onBlurReactHandler);
146
29
  }
147
30
 
148
31
  disconnectedCallback() {
149
- _classPrivateFieldGet(this, _$input).removeEventListener('input', _classPrivateFieldGet(this, _onInput));
150
-
151
- _classPrivateFieldGet(this, _$input).removeEventListener('compositionstart', _classPrivateFieldGet(this, _onCompositionStart));
152
-
153
- _classPrivateFieldGet(this, _$input).removeEventListener('mousedown', _classPrivateFieldGet(this, _onSelectionChange));
154
-
155
- _classPrivateFieldGet(this, _$input).removeEventListener('keydown', _classPrivateFieldGet(this, _onSelectionChange));
156
-
157
- _classPrivateFieldGet(this, _$input).removeEventListener('focus', _classPrivateFieldGet(this, _onInputFocus));
158
-
159
- _classPrivateFieldGet(this, _$input).removeEventListener('blur', _classPrivateFieldGet(this, _onInputBlur));
160
-
161
- this.removeEventListener('-change', _classPrivateFieldGet(this, _onChangeReactHandler));
162
- this.removeEventListener('-focus', _classPrivateFieldGet(this, _onFocusReactHandler));
163
- this.removeEventListener('-blur', _classPrivateFieldGet(this, _onBlurReactHandler));
32
+ this.#$input.removeEventListener('input', this.#onInput);
33
+ this.#$input.removeEventListener('compositionstart', this.#onCompositionStart);
34
+ this.#$input.removeEventListener('mousedown', this.#onSelectionChange);
35
+ this.#$input.removeEventListener('keydown', this.#onSelectionChange);
36
+ this.#$input.removeEventListener('focus', this.#onInputFocus);
37
+ this.#$input.removeEventListener('blur', this.#onInputBlur);
38
+ this.removeEventListener('-change', this.#onChangeReactHandler);
39
+ this.removeEventListener('-focus', this.#onFocusReactHandler);
40
+ this.removeEventListener('-blur', this.#onBlurReactHandler);
164
41
  }
165
42
 
166
43
  static get observedAttributes() {
@@ -176,17 +53,15 @@ defineCustomElement('sinch-textarea', (_$input = new WeakMap(), _cursorPos = new
176
53
  case 'value':
177
54
  {
178
55
  const nextVal = newVal ?? '';
179
-
180
- const prevVal = _classPrivateFieldGet(this, _$input).value;
56
+ const prevVal = this.#$input.value;
181
57
 
182
58
  if (nextVal !== prevVal) {
183
- const prevCursorPos = _classPrivateFieldGet(this, _$input).selectionEnd;
184
-
59
+ const prevCursorPos = this.#$input.selectionEnd;
185
60
  const isPrevCursorEnd = prevCursorPos === prevVal.length;
186
- _classPrivateFieldGet(this, _$input).value = nextVal;
61
+ this.#$input.value = nextVal;
187
62
 
188
63
  if (!isPrevCursorEnd) {
189
- _classPrivateFieldGet(this, _$input).setSelectionRange(_classPrivateFieldGet(this, _cursorPos), _classPrivateFieldGet(this, _cursorPos));
64
+ this.#$input.setSelectionRange(this.#cursorPos, this.#cursorPos);
190
65
  }
191
66
  }
192
67
 
@@ -195,7 +70,7 @@ defineCustomElement('sinch-textarea', (_$input = new WeakMap(), _cursorPos = new
195
70
 
196
71
  case 'placeholder':
197
72
  {
198
- _classPrivateFieldGet(this, _$input).placeholder = newVal ?? '';
73
+ this.#$input.placeholder = newVal ?? '';
199
74
  updateAttribute(this, 'aria-placeholder', newVal);
200
75
  break;
201
76
  }
@@ -209,14 +84,14 @@ defineCustomElement('sinch-textarea', (_$input = new WeakMap(), _cursorPos = new
209
84
  case 'disabled':
210
85
  {
211
86
  const isDisabled = isAttrTrue(newVal);
212
- _classPrivateFieldGet(this, _$input).disabled = isDisabled;
87
+ this.#$input.disabled = isDisabled;
213
88
  updateBooleanAttribute(this, 'disabled', isDisabled);
214
89
  break;
215
90
  }
216
91
 
217
92
  case 'rows':
218
93
  {
219
- updateAttribute(_classPrivateFieldGet(this, _$input), 'rows', newVal);
94
+ updateAttribute(this.#$input, 'rows', newVal);
220
95
  break;
221
96
  }
222
97
  }
@@ -239,7 +114,7 @@ defineCustomElement('sinch-textarea', (_$input = new WeakMap(), _cursorPos = new
239
114
  }
240
115
 
241
116
  get placeholder() {
242
- return getAttribute(this, 'placeholder', null);
117
+ return getAttribute(this, 'placeholder');
243
118
  }
244
119
 
245
120
  set invalid(value) {
@@ -275,35 +150,85 @@ defineCustomElement('sinch-textarea', (_$input = new WeakMap(), _cursorPos = new
275
150
  }
276
151
 
277
152
  get selectionStart() {
278
- return _classPrivateFieldGet(this, _$input).selectionStart;
153
+ return this.#$input.selectionStart;
279
154
  }
280
155
 
281
156
  set selectionStart(value) {
282
- _classPrivateFieldGet(this, _$input).selectionStart = value;
157
+ this.#$input.selectionStart = value;
283
158
  }
284
159
 
285
160
  get selectionEnd() {
286
- return _classPrivateFieldGet(this, _$input).selectionEnd;
161
+ return this.#$input.selectionEnd;
287
162
  }
288
163
 
289
164
  set selectionEnd(value) {
290
- _classPrivateFieldGet(this, _$input).selectionEnd = value;
165
+ this.#$input.selectionEnd = value;
291
166
  }
292
167
 
293
168
  get selectionDirection() {
294
- return _classPrivateFieldGet(this, _$input).selectionDirection;
169
+ return this.#$input.selectionDirection;
295
170
  }
296
171
 
297
172
  set selectionDirection(value) {
298
- _classPrivateFieldGet(this, _$input).selectionDirection = value;
173
+ this.#$input.selectionDirection = value;
299
174
  }
300
175
 
301
176
  focus() {
302
- _classPrivateFieldGet(this, _$input).focus();
177
+ this.#$input.focus();
303
178
  }
304
179
 
305
180
  blur() {
306
- _classPrivateFieldGet(this, _$input).blur();
307
- }
181
+ this.#$input.blur();
182
+ }
183
+
184
+ #onCompositionStart = () => {
185
+ this.#isPendingDk = true;
186
+ };
187
+ #onSelectionChange = () => {
188
+ this.#cursorPos = this.#$input.selectionEnd;
189
+ };
190
+ #onInput = e => {
191
+ e.stopPropagation();
192
+ const nextValue = this.#$input.value;
193
+ const prevValue = this.value;
194
+
195
+ if (prevValue !== nextValue) {
196
+ const nextCursorPos = this.#$input.selectionEnd;
197
+
198
+ if (!this.#isPendingDk) {
199
+ this.#$input.value = prevValue;
200
+ const prevCursorPos = this.#cursorPos;
201
+ const isPrevCursorEnd = prevCursorPos === null || prevCursorPos === prevValue.length;
202
+
203
+ if (!isPrevCursorEnd) {
204
+ this.#$input.setSelectionRange(prevCursorPos, prevCursorPos);
205
+ }
206
+ }
308
207
 
309
- }));
208
+ this.#isPendingDk = false;
209
+ this.#cursorPos = nextCursorPos;
210
+ this.dispatchEvent(new CustomEvent('change', {
211
+ detail: nextValue,
212
+ bubbles: true
213
+ }));
214
+ this.dispatchEvent(new CustomEvent('-change', {
215
+ detail: nextValue
216
+ }));
217
+ }
218
+ };
219
+ #onInputFocus = () => {
220
+ this.dispatchEvent(new CustomEvent('-focus'));
221
+ };
222
+ #onInputBlur = () => {
223
+ this.dispatchEvent(new CustomEvent('-blur'));
224
+ };
225
+ #onChangeReactHandler = e => {
226
+ getReactEventHandler(this, 'on-change')?.(e);
227
+ };
228
+ #onFocusReactHandler = () => {
229
+ getReactEventHandler(this, 'on-focus')?.();
230
+ };
231
+ #onBlurReactHandler = () => {
232
+ getReactEventHandler(this, 'on-blur')?.();
233
+ };
234
+ });
package/theme.css CHANGED
@@ -7,63 +7,56 @@
7
7
  --sinch-color-honey-600: #FFAA00;
8
8
  --sinch-color-honey-500: #FFBE3C;
9
9
  --sinch-color-honey-400: #FFCC66;
10
- --sinch-color-honey-300: #FFDD99;
11
- --sinch-color-honey-200: #FFEECC;
10
+ --sinch-color-honey-300: #FFDF9E;
11
+ --sinch-color-honey-200: #FCECCB;
12
12
  --sinch-color-honey-100: #FFF7E6;
13
13
  --sinch-color-tropical-700: #003D3D;
14
14
  --sinch-color-tropical-600: #005757;
15
15
  --sinch-color-tropical-500: #007171;
16
- --sinch-color-tropical-400: #338D8D;
16
+ --sinch-color-tropical-400: #059688;
17
17
  --sinch-color-tropical-300: #66AAAA;
18
- --sinch-color-tropical-200: #99C6C6;
19
- --sinch-color-tropical-100: #CCE3E3;
18
+ --sinch-color-tropical-200: #A7D5C2;
19
+ --sinch-color-tropical-100: #DCEDE1;
20
20
  --sinch-color-tropical-50: #E5F1F1;
21
- --sinch-color-stormy-600: #061927;
22
- --sinch-color-stormy-500: #0A273D;
23
- --sinch-color-stormy-400: #3B5264;
24
- --sinch-color-stormy-300: #677784;
25
- --sinch-color-stormy-200: #7F8F99;
26
- --sinch-color-stormy-100: #9CA8B0;
27
- --sinch-color-snow-800: #C6CDD2;
28
- --sinch-color-snow-700: #D4DADD;
29
- --sinch-color-snow-600: #E3E6E8;
30
- --sinch-color-snow-500: #F1F3F4;
21
+ --sinch-color-stormy-700: #000000;
22
+ --sinch-color-stormy-600: #171717;
23
+ --sinch-color-stormy-500: #242424;
24
+ --sinch-color-stormy-400: #595959;
25
+ --sinch-color-stormy-300: #767676;
26
+ --sinch-color-stormy-200: #8C8C8C;
27
+ --sinch-color-stormy-100: #A6A6A6;
28
+ --sinch-color-ocean-700: #1B3E65;
29
+ --sinch-color-ocean-600: #1686CB;
30
+ --sinch-color-ocean-500: #3AA7EA;
31
+ --sinch-color-ocean-400: #6EBBEE;
32
+ --sinch-color-ocean-300: #A1D5F5;
33
+ --sinch-color-ocean-200: #C8E6F9;
34
+ --sinch-color-ocean-100: #DEF2FF;
35
+ --sinch-color-ocean-50: #F3FAFE;
36
+ --sinch-color-snow-700: #CCCCCC;
37
+ --sinch-color-snow-600: #D9D9D9;
38
+ --sinch-color-snow-500: #E0E0E0;
39
+ --sinch-color-snow-400: #F2F2F2;
40
+ --sinch-color-snow-200: #F8F8F8;
31
41
  --sinch-color-snow-100: #FFFFFF;
32
- --sinch-color-raspberry-700: #881125;
33
- --sinch-color-raspberry-600: #B61631;
34
- --sinch-color-raspberry-500: #E31C3D;
35
- --sinch-color-raspberry-400: #E94964;
36
- --sinch-color-raspberry-300: #EE778B;
37
- --sinch-color-raspberry-200: #F4A4B1;
38
- --sinch-color-raspberry-100: #F9D2D8;
39
- --sinch-color-raspberry-50: #FCE8EB;
40
- --sinch-color-text-default: #0A273D;
41
- --sinch-color-text-inverted: #FFFFFF;
42
- --sinch-color-text-muted: #677784;
43
- --sinch-color-text-link: #007171;
44
- --sinch-color-text-invalid: #E31C3D;
45
- --sinch-color-error-800: #57000E;
46
- --sinch-color-error-500: #E31C3D;
47
- --sinch-color-error-200: #FCD7D4;
48
- --sinch-color-success-700: #005419;
49
- --sinch-color-success-500: #2E8540;
50
- --sinch-color-success-200: #D7F1D8;
51
- --sinch-color-informative-700: #003B7E;
52
- --sinch-color-informative-500: #2071CE;
53
- --sinch-color-informative-200: #D5E5F8;
54
- --sinch-color-warning-700: #9C2E00;
55
- --sinch-color-warning-500: #F35B1C;
56
- --sinch-color-warning-200: #FFE8D6;
42
+ --sinch-color-raspberry-700: #882024;
43
+ --sinch-color-raspberry-600: #D13D42;
44
+ --sinch-color-raspberry-500: #EF5858;
45
+ --sinch-color-raspberry-400: #F38686;
46
+ --sinch-color-raspberry-300: #FFB8B8;
47
+ --sinch-color-raspberry-200: #FBD5D5;
48
+ --sinch-color-raspberry-100: #FFE8E4;
49
+ --sinch-color-raspberry-50: #FFF6F5;
57
50
  --sinch-color-night-400: #3247E9;
58
51
  --sinch-color-night-200: #D1D6FA;
59
- --sinch-color-aqua-400: #3DAED8;
60
- --sinch-color-aqua-200: #AADBEE;
52
+ --sinch-color-aqua-400: #3AA7EA;
53
+ --sinch-color-aqua-200: #A1D5F5;
61
54
  --sinch-color-grass-400: #39B93D;
62
55
  --sinch-color-grass-200: #B4E4B5;
63
56
  --sinch-color-dirt-400: #828282;
64
57
  --sinch-color-dirt-200: #E0DDDC;
65
- --sinch-color-berry-400: #F95252;
66
- --sinch-color-berry-200: #FCA7A7;
58
+ --sinch-color-berry-400: #EF5858;
59
+ --sinch-color-berry-200: #FFB8B8;
67
60
  --sinch-color-candy-400: #E467C3;
68
61
  --sinch-color-candy-200: #F6CBEA;
69
62
  --sinch-color-mud-400: #8B6559;
@@ -72,13 +65,51 @@
72
65
  --sinch-color-orange-200: #FFD4B3;
73
66
  --sinch-color-bolt-400: #FFBE3C;
74
67
  --sinch-color-bolt-200: #FFE6B3;
75
- --sinch-color-background-grey: #FAFAFA;
76
- --sinch-color-background-green: #DCEDE1;
77
- --sinch-color-background-blue: #DEF2FF;
78
- --sinch-color-background-yellow: #FCECCB;
79
- --sinch-color-background-white: #FFFFFF;
68
+ --sinch-color-violet-400: #9E67E4;
69
+ --sinch-color-violet-200: #DECBF6;
70
+ --sinch-color-error-700: #882024;
71
+ --sinch-color-error-500: #D13D42;
72
+ --sinch-color-error-200: #FBD5D5;
73
+ --sinch-color-success-700: #275D33;
74
+ --sinch-color-success-500: #46A65A;
75
+ --sinch-color-success-200: #D7F1D8;
76
+ --sinch-color-informative-700: #003B7E;
77
+ --sinch-color-informative-500: #2071CE;
78
+ --sinch-color-informative-200: #D5E5F8;
79
+ --sinch-color-warning-700: #9C2E00;
80
+ --sinch-color-warning-500: #F35B1C;
81
+ --sinch-color-warning-200: #FFE8D6;
82
+ --sinch-color-skin-tone-10: #FFCC4D;
83
+ --sinch-color-skin-tone-20: #F7DECE;
84
+ --sinch-color-skin-tone-30: #F3D2A2;
85
+ --sinch-color-skin-tone-40: #D4AB88;
86
+ --sinch-color-skin-tone-50: #AF7E57;
87
+ --sinch-color-skin-tone-60: #7C533E;
80
88
  --sinch-color-transparent: transparent;
81
89
 
90
+ /* Contextual */
91
+ --sinch-color-bg-primary-light: var(--sinch-color-snow-100);
92
+ --sinch-color-bg-primary-contrast: var(--sinch-color-snow-200);
93
+ --sinch-color-bg-comp-green: var(--sinch-color-tropical-100);
94
+ --sinch-color-bg-comp-blue: var(--sinch-color-ocean-100);
95
+ --sinch-color-bg-comp-yellow: var(--sinch-color-honey-200);
96
+ --sinch-color-bg-comp-red: var(--sinch-color-raspberry-100);
97
+ --sinch-color-text-default: var(--sinch-color-stormy-700);
98
+ --sinch-color-text-inverted: var(--sinch-color-snow-100);
99
+ --sinch-color-text-muted: var(--sinch-color-stormy-300);
100
+ --sinch-color-text-disabled: var(--sinch-color-stormy-100);
101
+ --sinch-color-text-link: var(--sinch-color-tropical-500);
102
+ --sinch-color-text-link-disabled: var(--sinch-color-tropical-100);
103
+ --sinch-color-text-invalid: var(--sinch-color-raspberry-600);
104
+ --sinch-color-text-invalid-disabled: var(--sinch-color-raspberry-100);
105
+ --sinch-color-border-default: var(--sinch-color-snow-700);
106
+ --sinch-color-border-light: var(--sinch-color-snow-500);
107
+ --sinch-color-border-dark: var(--sinch-color-stormy-100);
108
+ --sinch-color-border-active: var(--sinch-color-stormy-500);
109
+ --sinch-color-border-disabled: var(--sinch-color-snow-400);
110
+ --sinch-color-border-focus: var(--sinch-color-ocean-500);
111
+ --sinch-color-border-invalid: var(--sinch-color-raspberry-600);
112
+
82
113
  /* Typography */
83
114
  --sinch-font-family: "Gilroy", "Arial", "sans-serif";
84
115
  --sinch-font-weight-emphasized: 600;