@telus-uds/theme-koodo 3.14.0 → 3.16.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.
package/build/rn/theme.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  *
3
3
  * Do not edit directly
4
- * Generated on Mon, 20 Mar 2023 19:40:47 GMT
4
+ * Generated on Mon, 03 Apr 2023 20:31:58 GMT
5
5
  *
6
6
  */
7
7
 
@@ -11,8 +11,9 @@ const PaletteIconChevronRight = require('@telus-uds/palette-koodo/build/rn/icons
11
11
  const PaletteIconChevronLeft = require('@telus-uds/palette-koodo/build/rn/icons/ChevronLeft')
12
12
  const PaletteIconCheck = require('@telus-uds/palette-koodo/build/rn/icons/Check')
13
13
  const PaletteIconCheckCircledFilled = require('@telus-uds/palette-koodo/build/rn/icons/CheckCircledFilled')
14
- const PaletteIconExclamationTriangle = require('@telus-uds/palette-koodo/build/rn/icons/ExclamationTriangle')
14
+ const PaletteIconCaution = require('@telus-uds/palette-koodo/build/rn/icons/Caution')
15
15
  const PaletteIconTimes = require('@telus-uds/palette-koodo/build/rn/icons/Times')
16
+ const PaletteIconExclamationTriangle = require('@telus-uds/palette-koodo/build/rn/icons/ExclamationTriangle')
16
17
  const PaletteIconExclamationOctagon = require('@telus-uds/palette-koodo/build/rn/icons/ExclamationOctagon')
17
18
  const PaletteIconSpyglass = require('@telus-uds/palette-koodo/build/rn/icons/Spyglass')
18
19
  const PaletteIconCheckCircledNotFilled = require('@telus-uds/palette-koodo/build/rn/icons/CheckCircledNotFilled')
@@ -33,6 +34,74 @@ module.exports = {
33
34
  rules: [ { if: { size: 'large' }, tokens: { size: 48, thickness: 4 } } ],
34
35
  tokens: { color: '#016b6a', size: 40, thickness: 4 }
35
36
  },
37
+ Badge: {
38
+ appearances: {
39
+ alternative: { type: 'variant', values: [ true ] },
40
+ outline: { type: 'variant', values: [ true ] },
41
+ purpose: { type: 'variant', values: [ 'offer', 'editorial' ] }
42
+ },
43
+ rules: [
44
+ {
45
+ if: { outline: true },
46
+ tokens: {
47
+ backgroundColor: 'rgba(0, 0, 0, 0)',
48
+ borderColor: '#fae6f4'
49
+ }
50
+ },
51
+ {
52
+ if: { alternative: true },
53
+ tokens: {
54
+ backgroundColor: 'rgba(0, 0, 0, 0)',
55
+ borderColor: '#016b6a',
56
+ color: '#016b6a',
57
+ paddingBottom: 8,
58
+ paddingTop: 8
59
+ }
60
+ },
61
+ {
62
+ if: { purpose: 'offer' },
63
+ tokens: {
64
+ backgroundColor: '#c3efff',
65
+ color: '#000000',
66
+ paddingBottom: 8,
67
+ paddingTop: 8
68
+ }
69
+ },
70
+ {
71
+ if: { purpose: 'editorial' },
72
+ tokens: { backgroundColor: '#000000', color: '#ffffff' }
73
+ },
74
+ {
75
+ if: { outline: true, purpose: 'editorial' },
76
+ tokens: {
77
+ backgroundColor: 'rgba(0, 0, 0, 0)',
78
+ borderColor: '#000000',
79
+ color: '#000000'
80
+ }
81
+ },
82
+ {
83
+ if: { outline: true, purpose: 'offer' },
84
+ tokens: {
85
+ backgroundColor: 'rgba(0, 0, 0, 0)',
86
+ borderColor: '#c3efff'
87
+ }
88
+ }
89
+ ],
90
+ tokens: {
91
+ backgroundColor: '#fae6f4',
92
+ borderColor: 'rgba(0, 0, 0, 0)',
93
+ borderRadius: 32,
94
+ borderWidth: 2,
95
+ color: '#7c1366',
96
+ fontName: 'StagSans',
97
+ fontWeight: '600',
98
+ gradient: null,
99
+ paddingBottom: 2,
100
+ paddingLeft: 16,
101
+ paddingRight: 16,
102
+ paddingTop: 2
103
+ }
104
+ },
36
105
  Box: {
37
106
  appearances: {
38
107
  background: {
@@ -125,8 +194,8 @@ module.exports = {
125
194
  },
126
195
  Button: {
127
196
  appearances: {
128
- clear: {
129
- description: 'Gives a button borders and a transparent background',
197
+ danger: {
198
+ description: 'Indicates a user action that is destructive and will result in loss of information or cause significant monetary charges. Limit the use of the danger button whenever possible.',
130
199
  type: 'variant',
131
200
  values: [ true ]
132
201
  },
@@ -147,124 +216,334 @@ module.exports = {
147
216
  type: 'state',
148
217
  values: [ true ]
149
218
  },
219
+ inverse: {
220
+ description: 'Use inverse buttons on darker backgrounds. High and low priority buttons, and danger buttons, are available in inverse.',
221
+ type: 'variant',
222
+ values: [ true ]
223
+ },
150
224
  pressed: {
151
225
  description: 'Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.',
152
226
  type: 'state',
153
227
  values: [ true ]
154
228
  },
155
- rank: {
156
- description: 'Prominence of the button. Use the default ("primary") button style for the main action on a page or in a form, and "secondary" style for secondary actions.',
229
+ priority: {
230
+ description: 'Indicates the importance of the call-to-action. Limit the amount of high priority buttons on a page to prioritize meaningful user flows. Low priority styles are applied by default.',
157
231
  type: 'variant',
158
- values: [ 'secondary' ]
232
+ values: [ 'high', 'low' ]
159
233
  },
160
- rounded: {
161
- description: 'Gives a button "pill-style" rounded sides',
234
+ size: { type: 'variant', values: [ 'small' ] },
235
+ text: {
236
+ description: 'Text variant visually deprioritize the button styles',
162
237
  type: 'variant',
163
238
  values: [ true ]
164
239
  },
165
- selected: {
166
- description: 'Applies while an interactive component is the currently selected one in a set of states or components, for example a button in a `ButtonGroup`.',
167
- type: 'state',
168
- values: [ true ]
240
+ width: {
241
+ description: 'Available in default or full-width. Default-width expands based on content Full-width expands to width of the container.',
242
+ type: 'variant',
243
+ values: [ 'full' ]
169
244
  }
170
245
  },
171
246
  rules: [
172
- { if: { rounded: true }, tokens: { borderRadius: 32 } },
173
247
  {
174
- if: { clear: true },
248
+ if: { priority: 'high' },
249
+ tokens: { backgroundColor: '#016b6a', color: '#ffffff' }
250
+ },
251
+ {
252
+ if: { danger: true },
253
+ tokens: { borderColor: '#df3d0c', color: '#df3d0c' }
254
+ },
255
+ {
256
+ if: { inverse: true },
175
257
  tokens: {
176
- backgroundColor: null,
177
- borderColor: '#016b6a',
178
- borderWidth: 2,
179
- color: '#016b6a'
258
+ backgroundColor: 'rgba(0, 0, 0, 0)',
259
+ borderColor: '#ffffff',
260
+ color: '#ffffff',
261
+ outerBackgroundColor: 'rgba(0, 0, 0, 0)'
180
262
  }
181
263
  },
182
264
  {
183
265
  if: { hover: true },
266
+ tokens: { backgroundColor: '#1b4746', color: '#ffffff' }
267
+ },
268
+ {
269
+ if: { pressed: true },
270
+ tokens: { backgroundColor: '#595959', color: '#c9c8c8' }
271
+ },
272
+ {
273
+ if: { focus: true },
274
+ tokens: { outerBorderColor: '#016b6a', outerBorderGap: 2 }
275
+ },
276
+ {
277
+ if: { inverse: true, priority: 'high' },
184
278
  tokens: {
185
- backgroundColor: '#1b4746',
186
- borderColor: '#1b4746',
187
- color: '#ffffff'
279
+ backgroundColor: '#ffffff',
280
+ borderWidth: 0,
281
+ color: '#016b6a'
188
282
  }
189
283
  },
190
284
  {
191
- if: { clear: true, hover: true },
192
- tokens: { backgroundColor: '#016b6a', borderWidth: 0 }
285
+ if: { hover: true, priority: 'high' },
286
+ tokens: { backgroundColor: '#1b4746', color: '#ffffff' }
193
287
  },
194
288
  {
195
- if: { pressed: true },
289
+ if: { danger: true, focus: true },
290
+ tokens: {
291
+ color: '#df3d0c',
292
+ outerBorderColor: '#df3d0c',
293
+ outerBorderGap: 2
294
+ }
295
+ },
296
+ {
297
+ if: { danger: true, hover: true },
298
+ tokens: { backgroundColor: '#c9370b', color: '#ffffff' }
299
+ },
300
+ {
301
+ if: { hover: true, inverse: true },
302
+ tokens: {
303
+ backgroundColor: '#e6e6e6',
304
+ borderColor: '#e6e6e6',
305
+ color: '#016b6a'
306
+ }
307
+ },
308
+ {
309
+ if: { pressed: true, priority: 'high' },
310
+ tokens: { backgroundColor: '#595959', color: '#c9c8c8' }
311
+ },
312
+ {
313
+ if: { inverse: true, pressed: true },
314
+ tokens: { backgroundColor: '#c9c8c8', color: '#666666' }
315
+ },
316
+ {
317
+ if: { focus: true, priority: 'high' },
196
318
  tokens: {
197
319
  backgroundColor: '#016b6a',
198
- borderColor: '#016b6a',
199
- color: '#ffffff'
320
+ color: '#ffffff',
321
+ outerBorderGap: 2
200
322
  }
201
323
  },
202
324
  {
203
- if: { focus: true },
204
- tokens: { outerBorderColor: '#016b6a' }
325
+ if: { focus: true, inverse: true },
326
+ tokens: {
327
+ borderColor: '#ffffff',
328
+ color: '#ffffff',
329
+ outerBorderColor: '#ffffff',
330
+ outerBorderGap: 2
331
+ }
205
332
  },
206
333
  {
207
- if: { rank: 'secondary' },
334
+ if: { focus: true, pressed: true },
208
335
  tokens: {
209
- backgroundColor: '#00a1db',
210
- borderColor: '#00a1db',
211
- color: '#ffffff'
336
+ backgroundColor: '#595959',
337
+ borderColor: '#016b6a',
338
+ color: '#c9c8c8',
339
+ outerBorderGap: 2
212
340
  }
213
341
  },
214
342
  {
215
- if: { clear: true, rank: 'secondary' },
343
+ if: { danger: true, pressed: true, priority: 'high' },
344
+ tokens: { backgroundColor: '#595959', color: '#c9c8c8' }
345
+ },
346
+ {
347
+ if: { hover: true, inverse: true, priority: 'high' },
348
+ tokens: { backgroundColor: '#e6e6e6', color: '#016b6a' }
349
+ },
350
+ {
351
+ if: { focus: true, inverse: true, priority: 'high' },
216
352
  tokens: {
217
353
  backgroundColor: '#ffffff',
218
- borderColor: '#00a1db',
219
- color: '#00a1db'
354
+ borderColor: '#ffffff',
355
+ color: '#016b6a',
356
+ outerBorderColor: '#ffffff',
357
+ outerBorderGap: 2
220
358
  }
221
359
  },
222
360
  {
223
- if: { hover: true, rank: 'secondary' },
361
+ if: { danger: true, focus: true, pressed: true },
224
362
  tokens: {
225
- backgroundColor: '#0083b3',
226
- borderColor: '#0083b3',
227
- color: '#ffffff'
363
+ backgroundColor: '#595959',
364
+ borderColor: '#df3d0c',
365
+ color: '#c9c8c8',
366
+ outerBorderGap: 2
228
367
  }
229
368
  },
230
369
  {
231
- if: { pressed: true, rank: 'secondary' },
370
+ if: { focus: true, inverse: true, pressed: true },
232
371
  tokens: {
233
- backgroundColor: '#c3efff',
234
- borderColor: '#c3efff',
235
- color: '#ffffff'
372
+ backgroundColor: '#c9c8c8',
373
+ borderColor: '#c9c8c8',
374
+ color: '#666666',
375
+ outerBorderGap: 2
236
376
  }
237
377
  },
378
+ { if: { width: 'full' }, tokens: { width: '100%' } },
238
379
  {
239
- if: { focus: true, rank: 'secondary' },
240
- tokens: { outerBorderColor: '#00a1db' }
380
+ if: { size: 'small' },
381
+ tokens: {
382
+ minWidth: 0,
383
+ paddingBottom: 4,
384
+ paddingLeft: 16,
385
+ paddingRight: 16,
386
+ paddingTop: 4
387
+ }
241
388
  },
242
389
  {
243
- if: { focus: true, pressed: true, rank: 'secondary' },
244
- tokens: { outerBorderColor: '#c3efff' }
390
+ description: 'Buttons should not be disabled or set as inactive. Use inline (on blur) error messaging to provide feedback when the form is invalid. In exceptional instances where disabled buttons are needed, it must be clear to the user why the button is disabled and what they need to do to enable it.',
391
+ if: { inactive: true },
392
+ tokens: {
393
+ backgroundColor: '#c9c8c8',
394
+ borderColor: '#c9c8c8',
395
+ borderWidth: 0,
396
+ color: '#efefef'
397
+ }
245
398
  },
246
- { if: { inactive: true }, tokens: { opacity: 0.3 } },
247
399
  {
248
- if: { selected: true },
400
+ if: { text: true },
249
401
  tokens: {
250
- opacity: 0.8,
251
- outerBorderColor: '#016b6a',
252
- outerBorderGap: 1,
253
- outerBorderWidth: 4
402
+ backgroundColor: 'rgba(0, 0, 0, 0)',
403
+ borderColor: 'rgba(0, 0, 0, 0)',
404
+ borderWidth: 0,
405
+ color: '#17367d',
406
+ minWidth: 0,
407
+ paddingLeft: 0,
408
+ paddingRight: 0,
409
+ textLine: 'underline'
254
410
  }
255
411
  },
256
412
  {
257
- if: { focus: true, selected: true },
258
- tokens: { outerBorderGap: 2 }
413
+ if: { hover: true, text: true },
414
+ tokens: { color: '#052158', textLine: 'none' }
415
+ },
416
+ {
417
+ if: { priority: 'high', text: true },
418
+ tokens: { color: '#016b6a' }
419
+ },
420
+ {
421
+ if: { danger: true, text: true },
422
+ tokens: { color: '#df3d0c' }
423
+ },
424
+ {
425
+ if: { focus: true, text: true },
426
+ tokens: {
427
+ borderColor: 'rgba(0, 0, 0, 0)',
428
+ borderRadius: 0,
429
+ color: '#17367d',
430
+ outerBorderColor: '#17367d'
431
+ }
432
+ },
433
+ {
434
+ if: { focus: true, priority: 'high', text: true },
435
+ tokens: {
436
+ borderColor: 'rgba(0, 0, 0, 0)',
437
+ borderRadius: 0,
438
+ color: '#016b6a',
439
+ outerBorderColor: '#016b6a'
440
+ }
441
+ },
442
+ {
443
+ if: { danger: true, focus: true, text: true },
444
+ tokens: {
445
+ borderColor: 'rgba(0, 0, 0, 0)',
446
+ borderRadius: 0,
447
+ color: '#df3d0c',
448
+ outerBorderColor: '#df3d0c'
449
+ }
450
+ },
451
+ {
452
+ if: { hover: true, priority: 'high', text: true },
453
+ tokens: { color: '#1b4746' }
454
+ },
455
+ {
456
+ if: { hover: true, priority: null, text: true },
457
+ tokens: { color: '#052158' }
458
+ },
459
+ {
460
+ if: { hover: true, priority: 'low', text: true },
461
+ tokens: { color: '#052158' }
462
+ },
463
+ {
464
+ if: { danger: true, hover: true, text: true },
465
+ tokens: { color: '#c9370b' }
466
+ },
467
+ {
468
+ if: { pressed: true, text: true },
469
+ tokens: {
470
+ borderColor: 'rgba(0, 0, 0, 0)',
471
+ color: '#595959',
472
+ textLine: 'none'
473
+ }
474
+ },
475
+ {
476
+ if: { focus: true, pressed: true, text: true },
477
+ tokens: {
478
+ borderColor: 'rgba(0, 0, 0, 0)',
479
+ color: '#595959',
480
+ outerBorderColor: '#17367d',
481
+ textLine: 'none'
482
+ }
483
+ },
484
+ {
485
+ if: { focus: true, pressed: true, priority: 'high', text: true },
486
+ tokens: {
487
+ borderColor: 'rgba(0, 0, 0, 0)',
488
+ color: '#595959',
489
+ outerBorderColor: '#595959',
490
+ textLine: 'none'
491
+ }
492
+ },
493
+ {
494
+ if: { danger: true, focus: true, pressed: true, text: true },
495
+ tokens: {
496
+ borderColor: 'rgba(0, 0, 0, 0)',
497
+ color: '#595959',
498
+ outerBorderColor: '#df3d0c',
499
+ textLine: 'none'
500
+ }
501
+ },
502
+ {
503
+ if: { inactive: true, text: true },
504
+ tokens: {
505
+ borderColor: 'rgba(0, 0, 0, 0)',
506
+ color: '#c9c8c8',
507
+ outerBorderColor: 'rgba(0, 0, 0, 0)',
508
+ textLine: 'none'
509
+ }
510
+ },
511
+ {
512
+ if: { inverse: true, text: true },
513
+ tokens: { backgroundColor: 'rgba(0, 0, 0, 0)', color: '#ffffff' }
514
+ },
515
+ {
516
+ if: { hover: true, inverse: true, text: true },
517
+ tokens: { color: '#c9c8c8' }
518
+ },
519
+ {
520
+ if: { focus: true, inverse: true, text: true },
521
+ tokens: {
522
+ borderColor: 'rgba(0, 0, 0, 0)',
523
+ color: '#ffffff',
524
+ outerBorderColor: '#ffffff'
525
+ }
526
+ },
527
+ {
528
+ if: { focus: true, inverse: true, pressed: true, text: true },
529
+ tokens: {
530
+ borderColor: 'rgba(0, 0, 0, 0)',
531
+ color: '#666666',
532
+ outerBorderColor: '#666666'
533
+ }
534
+ },
535
+ {
536
+ if: { inactive: true, inverse: true, text: true },
537
+ tokens: { borderColor: 'rgba(0, 0, 0, 0)', color: '#c9c8c8' }
259
538
  }
260
539
  ],
261
540
  tokens: {
262
541
  alignSelf: 'flex-start',
263
- backgroundColor: '#016b6a',
264
- borderColor: '#ffffff',
542
+ backgroundColor: '#ffffff',
543
+ borderColor: '#016b6a',
265
544
  borderRadius: 4,
266
- borderWidth: 0,
267
- color: '#ffffff',
545
+ borderWidth: 1,
546
+ color: '#016b6a',
268
547
  fontName: 'StagSans',
269
548
  fontSize: 16,
270
549
  fontWeight: '600',
@@ -272,16 +551,16 @@ module.exports = {
272
551
  iconSize: 24,
273
552
  iconSpace: 2,
274
553
  lineHeight: 1.5,
275
- minWidth: 0,
554
+ minWidth: 144,
276
555
  opacity: 1,
277
- outerBackgroundColor: 'rgba(0, 0, 0, 0)',
278
- outerBorderColor: '#ffffff',
279
- outerBorderGap: 2,
280
- outerBorderWidth: 2,
281
- paddingBottom: 8,
282
- paddingLeft: 24,
283
- paddingRight: 24,
284
- paddingTop: 8,
556
+ outerBackgroundColor: '#ffffff',
557
+ outerBorderColor: 'rgba(0, 0, 0, 0)',
558
+ outerBorderGap: null,
559
+ outerBorderWidth: 1,
560
+ paddingBottom: 12,
561
+ paddingLeft: 32,
562
+ paddingRight: 32,
563
+ paddingTop: 12,
285
564
  shadow: null,
286
565
  textAlign: 'center',
287
566
  textLine: 'none',
@@ -778,7 +1057,7 @@ module.exports = {
778
1057
  icon: PaletteIconCheck,
779
1058
  iconBackgroundColor: '#ffffff',
780
1059
  iconColor: '#016b6a',
781
- iconSize: 16,
1060
+ iconSize: 20,
782
1061
  inputBackgroundColor: '#ffffff',
783
1062
  inputBorderColor: '#016b6a',
784
1063
  inputBorderRadius: 0,
@@ -896,8 +1175,16 @@ module.exports = {
896
1175
  },
897
1176
  rules: [
898
1177
  { if: { weight: 'thick' }, tokens: { width: 2 } },
899
- { if: { decorative: true }, tokens: { color: '#efefef' } },
900
- { if: { inverse: true }, tokens: { color: '#ffffff' } }
1178
+ { if: { decorative: true }, tokens: { color: '#016b6a' } },
1179
+ {
1180
+ if: { decorative: true, weight: 'thick' },
1181
+ tokens: { color: '#016b6a', width: 2 }
1182
+ },
1183
+ { if: { inverse: true }, tokens: { color: '#ffffff' } },
1184
+ {
1185
+ if: { inverse: true, weight: 'thick' },
1186
+ tokens: { color: '#ffffff', width: 2 }
1187
+ }
901
1188
  ],
902
1189
  tokens: { color: '#c9c8c8', width: 1 }
903
1190
  },
@@ -964,55 +1251,40 @@ module.exports = {
964
1251
  }
965
1252
  },
966
1253
  rules: [
967
- {
968
- if: { validation: 'success' },
969
- tokens: {
970
- backgroundColor: '#c1f2e8',
971
- borderColor: '#c1f2e8',
972
- color: '#258b0b'
973
- }
974
- },
975
1254
  {
976
1255
  if: { validation: 'error' },
977
- tokens: {
978
- backgroundColor: '#fae6f4',
979
- borderColor: '#fae6f4',
980
- color: '#df3d0c'
981
- }
1256
+ tokens: { backgroundColor: '#f8dde3' }
982
1257
  },
983
1258
  {
984
1259
  if: { icon: true, validation: 'success' },
985
1260
  tokens: {
986
1261
  icon: PaletteIconCheckCircledFilled,
987
- iconColor: '#258b0b'
1262
+ iconColor: '#016b6a'
988
1263
  }
989
1264
  },
990
1265
  {
991
1266
  if: { icon: true, validation: 'error' },
992
- tokens: {
993
- icon: PaletteIconExclamationTriangle,
994
- iconColor: '#df3d0c'
995
- }
1267
+ tokens: { icon: PaletteIconCaution, iconColor: '#ee2c74' }
996
1268
  }
997
1269
  ],
998
1270
  tokens: {
999
- backgroundColor: '#efefef',
1000
- borderColor: '#c9c8c8',
1001
- borderRadius: 4,
1002
- borderWidth: 1,
1003
- color: '#595959',
1271
+ backgroundColor: '#e5f7fb',
1272
+ borderColor: 'rgba(0, 0, 0, 0)',
1273
+ borderRadius: 0,
1274
+ borderWidth: 0,
1275
+ color: '#000000',
1004
1276
  contentFontSize: 14,
1005
1277
  fontName: 'StagSans',
1006
1278
  fontWeight: '400',
1007
1279
  icon: null,
1008
1280
  iconColor: 'rgba(0, 0, 0, 0)',
1009
1281
  iconGap: 8,
1010
- iconSize: 24,
1282
+ iconSize: 20,
1011
1283
  lineHeight: 1.5,
1012
- paddingBottom: 10,
1284
+ paddingBottom: 12,
1013
1285
  paddingLeft: 16,
1014
1286
  paddingRight: 16,
1015
- paddingTop: 10,
1287
+ paddingTop: 12,
1016
1288
  space: 2,
1017
1289
  titleFontSize: 16
1018
1290
  }
@@ -1163,11 +1435,27 @@ module.exports = {
1163
1435
  },
1164
1436
  {
1165
1437
  if: { password: true, pressed: true },
1166
- tokens: { backgroundColor: '#014847', iconColor: '#ffffff' }
1438
+ tokens: {
1439
+ backgroundColor: '#1b4746',
1440
+ borderColor: '#1b4746',
1441
+ iconColor: '#ffffff'
1442
+ }
1443
+ },
1444
+ {
1445
+ if: { pressed: true },
1446
+ tokens: {
1447
+ backgroundColor: '#1b4746',
1448
+ borderColor: '#1b4746',
1449
+ iconColor: '#ffffff'
1450
+ }
1167
1451
  },
1168
1452
  {
1169
1453
  if: { focus: true, password: true },
1170
- tokens: { borderColor: '#016b6a', borderWidth: 3 }
1454
+ tokens: {
1455
+ borderColor: '#016b6a',
1456
+ borderWidth: 3,
1457
+ iconColor: '#016b6a'
1458
+ }
1171
1459
  },
1172
1460
  {
1173
1461
  if: { inactive: true },
@@ -1186,7 +1474,7 @@ module.exports = {
1186
1474
  backgroundColor: 'transparent',
1187
1475
  borderColor: '#016b6a',
1188
1476
  borderRadius: 99999999999999,
1189
- borderWidth: 1,
1477
+ borderWidth: 3,
1190
1478
  iconColor: '#016b6a',
1191
1479
  iconScale: 1,
1192
1480
  iconSize: 24,
@@ -1210,15 +1498,22 @@ module.exports = {
1210
1498
  gap: 8,
1211
1499
  hintColor: '#000000',
1212
1500
  hintFontName: 'StagSans',
1213
- hintFontSize: 16,
1501
+ hintFontSize: 14,
1214
1502
  hintFontWeight: '400',
1215
- hintLineHeight: 1.4,
1216
- lineHeight: 1.4
1503
+ hintLineHeight: 1.42857142857,
1504
+ lineHeight: 1.5
1217
1505
  }
1218
1506
  },
1219
1507
  InputSupports: { appearances: {}, rules: [], tokens: { space: 1 } },
1220
1508
  Link: {
1221
1509
  appearances: {
1510
+ alternative: { type: 'variant', values: [ true ] },
1511
+ focus: {
1512
+ description: "Currently only web has good support for this. Applies when an interactive component's focus handler is triggered, such as keyboard tabbing or selection.",
1513
+ platforms: [ 'rn' ],
1514
+ type: 'state',
1515
+ values: [ true ]
1516
+ },
1222
1517
  hover: {
1223
1518
  description: "Currently web only. Applies when an interactive component's hover handler is triggered, such as on mouseover.",
1224
1519
  platforms: [ 'rn' ],
@@ -1230,22 +1525,95 @@ module.exports = {
1230
1525
  type: 'state',
1231
1526
  values: [ 'left', 'right' ]
1232
1527
  },
1233
- rank: {
1234
- description: 'Prominence of the link.',
1528
+ inverse: { type: 'variant', values: [ true ] },
1529
+ pressed: {
1530
+ description: 'Applies while an interactive component is being physically pressed. Most visible on touchscreen taps; in React Native Web, this is visible on web mouse clicks only if the pressable is held down.',
1531
+ type: 'state',
1532
+ values: [ true ]
1533
+ },
1534
+ size: {
1535
+ description: 'Text sizes for block links; similar but not always identical to Typography sizes.',
1235
1536
  type: 'variant',
1236
- values: [ 'secondary' ]
1537
+ values: [ 'micro', 'small', 'large' ]
1237
1538
  }
1238
1539
  },
1239
1540
  rules: [
1240
1541
  { if: { iconPosition: 'left' }, tokens: { iconSpace: 2 } },
1542
+ {
1543
+ if: { focus: true },
1544
+ tokens: {
1545
+ color: '#016b6a',
1546
+ outerBorderColor: '#016b6a',
1547
+ outerBorderOutline: 'none'
1548
+ }
1549
+ },
1550
+ {
1551
+ if: { focus: true, pressed: true },
1552
+ tokens: { color: '#595959', outerBorderColor: '#595959' }
1553
+ },
1241
1554
  {
1242
1555
  if: { hover: true },
1243
1556
  tokens: { color: '#1b4746', textLine: 'none' }
1244
1557
  },
1245
- { if: { rank: 'secondary' }, tokens: { color: '#00a1db' } },
1246
1558
  {
1247
- if: { hover: true, rank: 'secondary' },
1248
- tokens: { color: '#0083b3' }
1559
+ if: { pressed: true },
1560
+ tokens: { color: '#595959', textLine: 'none' }
1561
+ },
1562
+ { if: { alternative: true }, tokens: { color: '#666666' } },
1563
+ {
1564
+ if: { alternative: true, focus: true },
1565
+ tokens: { color: '#666666', outerBorderColor: '#666666' }
1566
+ },
1567
+ {
1568
+ if: { alternative: true, focus: true, pressed: true },
1569
+ tokens: { color: '#595959', outerBorderColor: '#595959' }
1570
+ },
1571
+ {
1572
+ if: { alternative: true, hover: true },
1573
+ tokens: { color: '#5c5c5c' }
1574
+ },
1575
+ {
1576
+ if: { alternative: true, pressed: true },
1577
+ tokens: { color: '#595959' }
1578
+ },
1579
+ { if: { inverse: true }, tokens: { color: '#e5f7fb' } },
1580
+ {
1581
+ if: { focus: true, inverse: true },
1582
+ tokens: { color: '#e5f7fb', outerBorderColor: '#e5f7fb' }
1583
+ },
1584
+ {
1585
+ if: { focus: true, inverse: true, pressed: true },
1586
+ tokens: { color: '#c9c8c8', outerBorderColor: '#c9c8c8' }
1587
+ },
1588
+ {
1589
+ if: { hover: true, inverse: true },
1590
+ tokens: { color: '#bbeaf5' }
1591
+ },
1592
+ {
1593
+ if: { inverse: true, pressed: true },
1594
+ tokens: { color: '#c9c8c8' }
1595
+ },
1596
+ {
1597
+ if: { size: 'micro' },
1598
+ tokens: {
1599
+ blockFontName: 'StagSans',
1600
+ blockFontSize: 12,
1601
+ blockFontWeight: '600',
1602
+ blockLineHeight: 1.33333333333,
1603
+ iconSize: 16
1604
+ }
1605
+ },
1606
+ {
1607
+ if: { size: 'small' },
1608
+ tokens: {
1609
+ blockFontSize: 14,
1610
+ blockLineHeight: 1.42857142857,
1611
+ iconSize: 20
1612
+ }
1613
+ },
1614
+ {
1615
+ if: { size: 'large' },
1616
+ tokens: { blockFontSize: 20, blockLineHeight: 1.4, iconSize: 24 }
1249
1617
  }
1250
1618
  ],
1251
1619
  tokens: {
@@ -1262,9 +1630,9 @@ module.exports = {
1262
1630
  iconTranslateX: 0,
1263
1631
  iconTranslateY: 0,
1264
1632
  outerBorderColor: 'rgba(0, 0, 0, 0)',
1265
- outerBorderGap: 0,
1633
+ outerBorderGap: 2,
1266
1634
  outerBorderOutline: 'none',
1267
- outerBorderWidth: 0,
1635
+ outerBorderWidth: 2,
1268
1636
  textLine: 'underline',
1269
1637
  textLineStyle: 'solid'
1270
1638
  }
@@ -1741,39 +2109,36 @@ module.exports = {
1741
2109
  }
1742
2110
  },
1743
2111
  rules: [
1744
- {
1745
- if: { hover: true },
1746
- tokens: {
1747
- backgroundColor: '#1b4746',
1748
- borderColor: '#1b4746',
1749
- color: '#ffffff'
1750
- }
1751
- },
2112
+ { if: { hover: true }, tokens: { borderWidth: 3 } },
1752
2113
  {
1753
2114
  if: { pressed: true },
1754
2115
  tokens: {
1755
- backgroundColor: '#016b6a',
1756
- borderColor: '#016b6a',
1757
- color: '#ffffff'
2116
+ backgroundColor: '#c9c8c8',
2117
+ borderColor: '#666666',
2118
+ iconColor: '#666666'
1758
2119
  }
1759
2120
  },
1760
2121
  {
1761
2122
  if: { focus: true },
1762
- tokens: { outerBorderColor: '#016b6a' }
2123
+ tokens: { outerBorderColor: '#666666' }
2124
+ },
2125
+ {
2126
+ if: { focus: true, pressed: true },
2127
+ tokens: { borderWidth: 1, outerBorderColor: '#666666' }
1763
2128
  }
1764
2129
  ],
1765
2130
  tokens: {
1766
2131
  alignSelf: 'flex-start',
1767
- backgroundColor: '#016b6a',
1768
- borderColor: '#ffffff',
1769
- borderRadius: 4,
1770
- borderWidth: 0,
1771
- color: '#ffffff',
2132
+ backgroundColor: '#ffffff',
2133
+ borderColor: '#666666',
2134
+ borderRadius: 48,
2135
+ borderWidth: 1,
2136
+ color: '#666666',
1772
2137
  fontName: 'StagSans',
1773
2138
  fontSize: 16,
1774
2139
  fontWeight: '600',
1775
2140
  icon: null,
1776
- iconColor: '#ffffff',
2141
+ iconColor: '#016b6a',
1777
2142
  iconSize: 24,
1778
2143
  iconSpace: 2,
1779
2144
  lineHeight: 1.5,
@@ -1783,10 +2148,10 @@ module.exports = {
1783
2148
  outerBorderColor: '#ffffff',
1784
2149
  outerBorderGap: 2,
1785
2150
  outerBorderWidth: 2,
1786
- paddingBottom: 8,
2151
+ paddingBottom: 12,
1787
2152
  paddingLeft: 24,
1788
2153
  paddingRight: 24,
1789
- paddingTop: 8,
2154
+ paddingTop: 12,
1790
2155
  shadow: null,
1791
2156
  textAlign: 'center',
1792
2157
  width: null
@@ -1796,16 +2161,16 @@ module.exports = {
1796
2161
  appearances: {},
1797
2162
  rules: [],
1798
2163
  tokens: {
1799
- backgroundColor: '#f9f6a5',
1800
- borderColor: null,
1801
- borderRadius: 0,
1802
- borderWidth: 0,
2164
+ backgroundColor: '#ffffff',
2165
+ borderColor: '#c9c8c8',
2166
+ borderRadius: 8,
2167
+ borderWidth: 1,
1803
2168
  flex: 1,
1804
2169
  minWidth: null,
1805
- paddingBottom: 16,
1806
- paddingLeft: 16,
1807
- paddingRight: 16,
1808
- paddingTop: 16,
2170
+ paddingBottom: 8,
2171
+ paddingLeft: 12,
2172
+ paddingRight: 12,
2173
+ paddingTop: 8,
1809
2174
  shadow: null
1810
2175
  }
1811
2176
  },
@@ -1872,36 +2237,37 @@ module.exports = {
1872
2237
  }
1873
2238
  },
1874
2239
  rules: [
1875
- { if: { hover: true }, tokens: { backgroundColor: '#c1f2e8' } },
1876
- { if: { focus: true }, tokens: { backgroundColor: '#f9f6a5' } },
2240
+ { if: { hover: true }, tokens: { backgroundColor: '#efefef' } },
2241
+ { if: { focus: true }, tokens: { backgroundColor: '#efefef' } },
1877
2242
  {
1878
2243
  if: { pressed: true },
1879
- tokens: { backgroundColor: '#016b6a' }
2244
+ tokens: { backgroundColor: '#c9c8c8', itemIconColor: '#000000' }
1880
2245
  }
1881
2246
  ],
1882
2247
  tokens: {
1883
2248
  backgroundColor: null,
1884
2249
  dividerColor: '#c9c8c8',
1885
2250
  dividerSize: 1,
1886
- iconMarginTop: 4,
2251
+ iconMarginTop: 0,
1887
2252
  interItemMargin: null,
1888
2253
  interItemMarginWithDivider: null,
1889
2254
  itemBulletColor: '#7c1366',
1890
2255
  itemBulletContainerAlign: 'center',
1891
- itemBulletContainerWidth: 16,
1892
- itemBulletHeight: 4,
1893
- itemBulletWidth: 4,
2256
+ itemBulletContainerWidth: 0,
2257
+ itemBulletHeight: 0,
2258
+ itemBulletWidth: 0,
2259
+ itemFontColor: '#000000',
1894
2260
  itemFontName: 'StagSans',
1895
2261
  itemFontSize: 16,
1896
2262
  itemFontWeight: '600',
1897
- itemIconColor: '#7c1366',
1898
- itemIconSize: 16,
1899
- itemLineHeight: 1.3,
2263
+ itemIconColor: '#016b6a',
2264
+ itemIconSize: 24,
2265
+ itemLineHeight: 1.6,
1900
2266
  listGutter: 10,
1901
- paddingBottom: 8,
1902
- paddingLeft: 12,
1903
- paddingRight: 12,
1904
- paddingTop: 8
2267
+ paddingBottom: 12,
2268
+ paddingLeft: 4,
2269
+ paddingRight: 4,
2270
+ paddingTop: 12
1905
2271
  }
1906
2272
  },
1907
2273
  Radio: {
@@ -3342,5 +3708,5 @@ module.exports = {
3342
3708
  tokens: { size: 96 }
3343
3709
  }
3344
3710
  },
3345
- metadata: { name: 'theme-koodo', themeTokensVersion: '2.13.0' }
3711
+ metadata: { name: 'theme-koodo', themeTokensVersion: '2.15.0' }
3346
3712
  }