@xplortech/apollo-core 0.0.7 → 0.1.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 (63) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +42 -1
  3. package/build/style.css +972 -372
  4. package/dist/apollo-core/apollo-core.css +23 -9
  5. package/dist/apollo-core/apollo-core.esm.js +1 -1
  6. package/dist/apollo-core/p-00996870.js +1 -0
  7. package/dist/apollo-core/{p-1fc2ec24.entry.js → p-1e6a342a.entry.js} +4 -3
  8. package/dist/apollo-core/p-21872e0f.entry.js +1 -0
  9. package/dist/apollo-core/p-d8ea7d80.entry.js +1 -0
  10. package/dist/cjs/apollo-core.cjs.js +3 -3
  11. package/dist/cjs/{index-d0d9877d.js → index-716d8f57.js} +106 -29
  12. package/dist/cjs/loader.cjs.js +3 -3
  13. package/dist/cjs/{xpl-button_3.cjs.entry.js → xpl-avatar_7.cjs.entry.js} +139 -68
  14. package/dist/cjs/xpl-choicelist.cjs.entry.js +16 -0
  15. package/dist/cjs/xpl-pagination.cjs.entry.js +76 -0
  16. package/dist/collection/collection-manifest.json +8 -2
  17. package/dist/collection/components/xpl-avatar/xpl-avatar.js +158 -0
  18. package/dist/collection/components/xpl-badge/xpl-badge.js +50 -0
  19. package/dist/collection/components/xpl-button/xpl-button.js +37 -5
  20. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +139 -0
  21. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +9 -0
  22. package/dist/collection/components/xpl-radio/xpl-radio.js +122 -0
  23. package/dist/collection/components/xpl-table/xpl-table.js +9 -5
  24. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +10 -0
  25. package/dist/custom-elements/index.d.ts +36 -0
  26. package/dist/custom-elements/index.js +174 -10
  27. package/dist/esm/apollo-core.js +3 -3
  28. package/dist/esm/{index-252a5f91.js → index-4c8962a5.js} +106 -29
  29. package/dist/esm/loader.js +3 -3
  30. package/dist/esm/{xpl-button_3.entry.js → xpl-avatar_7.entry.js} +135 -68
  31. package/dist/esm/xpl-choicelist.entry.js +12 -0
  32. package/dist/esm/xpl-pagination.entry.js +72 -0
  33. package/dist/stories/avatar.stories.js +173 -0
  34. package/dist/stories/badge.stories.js +48 -0
  35. package/dist/stories/button.stories.js +98 -0
  36. package/dist/stories/checkbox.stories.js +66 -0
  37. package/dist/stories/pagination.stories.js +84 -0
  38. package/dist/stories/radio.stories.js +56 -0
  39. package/dist/stories/table.stories.js +107 -0
  40. package/dist/stories/tabs.stories.js +24 -0
  41. package/dist/stories/utility-bar.stories.js +94 -0
  42. package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +11 -0
  43. package/dist/types/components/xpl-badge/xpl-badge.d.ts +5 -0
  44. package/dist/types/{.stencil → components}/xpl-button/xpl-button.d.ts +3 -1
  45. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +11 -0
  46. package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +3 -0
  47. package/dist/types/components/xpl-radio/xpl-radio.d.ts +10 -0
  48. package/dist/types/{.stencil → components}/xpl-table/xpl-table.d.ts +2 -2
  49. package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +3 -0
  50. package/dist/types/components.d.ts +132 -4
  51. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/avatar.stories.d.ts +91 -0
  52. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/badge.stories.d.ts +48 -0
  53. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/button.stories.d.ts +74 -0
  54. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/checkbox.stories.d.ts +64 -0
  55. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/pagination.stories.d.ts +0 -0
  56. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/radio.stories.d.ts +56 -0
  57. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/table.stories.d.ts +50 -0
  58. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/tabs.stories.d.ts +0 -0
  59. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/utility-bar.stories.d.ts +20 -0
  60. package/dist/types/stencil-public-runtime.d.ts +183 -182
  61. package/package.json +42 -13
  62. package/dist/apollo-core/p-3f7da885.js +0 -1
  63. /package/dist/types/{.stencil → components}/xpl-pagination/xpl-pagination.d.ts +0 -0
package/build/style.css CHANGED
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable no-descending-specificity */
2
+
1
3
  /*! tailwindcss v2.1.4 | MIT License | https://tailwindcss.com */
2
4
 
3
5
  /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
@@ -8,8 +10,30 @@ Document
8
10
  */
9
11
 
10
12
  /**
11
- Use a better box model (opinionated).
12
- */
13
+ * 1. Prevent padding and border from affecting element width.
14
+ *
15
+ * We used to set this in the html element and inherit from
16
+ * the parent element for everything else. This caused issues
17
+ * in shadow-dom-enhanced elements like <details> where the content
18
+ * is wrapped by a div with box-sizing set to `content-box`.
19
+ *
20
+ * https://github.com/mozdevs/cssremedy/issues/4
21
+ *
22
+ *
23
+ * 2. Allow adding a border to an element by just adding a border-width.
24
+ *
25
+ * By default, the way the browser specifies that an element should have no
26
+ * border is by setting it's border-style to `none` in the user-agent
27
+ * stylesheet.
28
+ *
29
+ * In order to easily add borders to elements by just setting the `border-width`
30
+ * property, we change the default border-style for all elements to `solid`, and
31
+ * use border-width to hide them instead. This way our `border` utilities only
32
+ * need to set the `border-width` property instead of the entire `border`
33
+ * shorthand, making our border utilities much more straightforward to compose.
34
+ *
35
+ * https://github.com/tailwindcss/tailwindcss/pull/116
36
+ */
13
37
 
14
38
  [class^="xpl-"],
15
39
  [class^="xpl-"] *,
@@ -17,25 +41,25 @@ Use a better box model (opinionated).
17
41
  [class^="xpl-"] *::before,
18
42
  [class^="xpl-"]::after,
19
43
  [class^="xpl-"] *::after {
20
- box-sizing: border-box;
44
+ box-sizing: border-box; /* 1 */
45
+ border-width: 0; /* 2 */
46
+ border-style: solid; /* 2 */
47
+ border-color: #e5e7eb; /* 2 */
21
48
  }
22
49
 
23
50
  /**
24
51
  Use a more readable tab size (opinionated).
25
52
  */
26
53
 
27
- [class^="xpl-"] {
28
- -moz-tab-size: 4;
29
- -o-tab-size: 4;
30
- tab-size: 4;
31
- }
32
-
33
54
  /**
34
55
  1. Correct the line height in all browsers.
35
56
  2. Prevent adjustments of font size after orientation changes in iOS.
36
57
  */
37
58
 
38
59
  [class^="xpl-"] {
60
+ -moz-tab-size: 4;
61
+ -o-tab-size: 4;
62
+ tab-size: 4;
39
63
  line-height: 1.15; /* 1 */
40
64
  -webkit-text-size-adjust: 100%; /* 2 */
41
65
  }
@@ -49,9 +73,21 @@ Sections
49
73
  Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
50
74
  */
51
75
 
76
+ /**
77
+ * Tailwind custom reset styles
78
+ */
79
+
80
+ /**
81
+ * 1. Use the user's configured `sans` font-family (with Tailwind's default
82
+ * sans-serif font stack as a fallback) as a sane default.
83
+ * 2. Use Tailwind's default "normal" line-height so the user isn't forced
84
+ * to override it to ensure consistency even when using the default theme.
85
+ */
86
+
52
87
  [class^="xpl-"],
53
88
  [class^="xpl-"] * {
54
89
  font-family: var(--xpl-font-family);
90
+ line-height: 1.5; /* 2 */
55
91
  }
56
92
 
57
93
  /*
@@ -62,11 +98,13 @@ Grouping content
62
98
  /**
63
99
  1. Add the correct height in Firefox.
64
100
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
101
+ 3. Ensure horizontal rules are visible by default
65
102
  */
66
103
 
67
104
  [class^="xpl-"] hr {
68
105
  height: 0; /* 1 */
69
106
  color: inherit; /* 2 */
107
+ border-top-width: 1px; /* 3 */
70
108
  }
71
109
 
72
110
  /*
@@ -97,11 +135,25 @@ Add the correct font weight in Edge and Safari.
97
135
  2. Correct the odd 'em' font sizing in all browsers.
98
136
  */
99
137
 
138
+ /**
139
+ * Use the configured 'mono' font family for elements that
140
+ * are expected to be rendered with a monospace font, falling
141
+ * back to the system monospace stack if there is no configured
142
+ * 'mono' font family.
143
+ */
144
+
145
+ [class^="xpl-"] pre,
100
146
  [class^="xpl-"] code,
101
147
  [class^="xpl-"] kbd,
102
- [class^="xpl-"] samp,
103
- [class^="xpl-"] pre {
104
- font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo,
148
+ [class^="xpl-"] samp {
149
+ font-family:
150
+ ui-monospace,
151
+ SFMono-Regular,
152
+ Menlo,
153
+ Monaco,
154
+ Consolas,
155
+ "Liberation Mono",
156
+ "Courier New",
105
157
  monospace; /* 1 */
106
158
  font-size: 1em; /* 2 */
107
159
  }
@@ -148,6 +200,7 @@ Tabular data
148
200
  table[class^="xpl-"] {
149
201
  text-indent: 0; /* 1 */
150
202
  border-color: inherit; /* 2 */
203
+ border-collapse: collapse;
151
204
  }
152
205
 
153
206
  /*
@@ -257,6 +310,7 @@ Add the correct display in Chrome and Safari.
257
310
  button[class^="xpl-"] {
258
311
  background-color: transparent;
259
312
  background-image: none;
313
+ cursor: pointer;
260
314
  }
261
315
 
262
316
  /**
@@ -284,69 +338,6 @@ ul[class^="xpl-"] {
284
338
  padding: 0;
285
339
  }
286
340
 
287
- /**
288
- * Tailwind custom reset styles
289
- */
290
-
291
- /**
292
- * 1. Use the user's configured `sans` font-family (with Tailwind's default
293
- * sans-serif font stack as a fallback) as a sane default.
294
- * 2. Use Tailwind's default "normal" line-height so the user isn't forced
295
- * to override it to ensure consistency even when using the default theme.
296
- */
297
-
298
- [class^="xpl-"],
299
- [class^="xpl-"] * {
300
- font-family: var(--xpl-font-family);
301
- line-height: 1.5; /* 2 */
302
- }
303
-
304
- /**
305
- * 1. Prevent padding and border from affecting element width.
306
- *
307
- * We used to set this in the html element and inherit from
308
- * the parent element for everything else. This caused issues
309
- * in shadow-dom-enhanced elements like <details> where the content
310
- * is wrapped by a div with box-sizing set to `content-box`.
311
- *
312
- * https://github.com/mozdevs/cssremedy/issues/4
313
- *
314
- *
315
- * 2. Allow adding a border to an element by just adding a border-width.
316
- *
317
- * By default, the way the browser specifies that an element should have no
318
- * border is by setting it's border-style to `none` in the user-agent
319
- * stylesheet.
320
- *
321
- * In order to easily add borders to elements by just setting the `border-width`
322
- * property, we change the default border-style for all elements to `solid`, and
323
- * use border-width to hide them instead. This way our `border` utilities only
324
- * need to set the `border-width` property instead of the entire `border`
325
- * shorthand, making our border utilities much more straightforward to compose.
326
- *
327
- * https://github.com/tailwindcss/tailwindcss/pull/116
328
- */
329
-
330
- [class^="xpl-"],
331
- [class^="xpl-"] *,
332
- [class^="xpl-"]::before,
333
- [class^="xpl-"] *::before,
334
- [class^="xpl-"]::after,
335
- [class^="xpl-"] *::after {
336
- box-sizing: border-box; /* 1 */
337
- border-width: 0; /* 2 */
338
- border-style: solid; /* 2 */
339
- border-color: #e5e7eb; /* 2 */
340
- }
341
-
342
- /*
343
- * Ensure horizontal rules are visible by default
344
- */
345
-
346
- [class^="xpl-"] hr {
347
- border-top-width: 1px;
348
- }
349
-
350
341
  /**
351
342
  * Undo the `border-style: none` reset that Normalize applies to images so that
352
343
  * our `border-{width}` utilities have the expected effect.
@@ -399,16 +390,6 @@ textarea[class^="xpl-"]::placeholder {
399
390
  color: #9ca3af;
400
391
  }
401
392
 
402
- [class^="xpl-"] button,
403
- button[class^="xpl-"] {
404
- cursor: pointer;
405
- }
406
-
407
- [class^="xpl-"] table,
408
- table[class^="xpl-"] {
409
- border-collapse: collapse;
410
- }
411
-
412
393
  [class^="xpl-"] h1,
413
394
  [class^="xpl-"] h2,
414
395
  [class^="xpl-"] h3,
@@ -452,21 +433,6 @@ textarea[class^="xpl-"] {
452
433
  color: inherit;
453
434
  }
454
435
 
455
- /**
456
- * Use the configured 'mono' font family for elements that
457
- * are expected to be rendered with a monospace font, falling
458
- * back to the system monospace stack if there is no configured
459
- * 'mono' font family.
460
- */
461
-
462
- [class^="xpl-"] pre,
463
- [class^="xpl-"] code,
464
- [class^="xpl-"] kbd,
465
- [class^="xpl-"] samp {
466
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
467
- "Liberation Mono", "Courier New", monospace;
468
- }
469
-
470
436
  /**
471
437
  * Make replaced elements `display: block` by default as that's
472
438
  * the behavior you want almost all of the time.
@@ -482,7 +448,6 @@ textarea[class^="xpl-"] {
482
448
  [class^="xpl-"] embed,
483
449
  [class^="xpl-"] object {
484
450
  display: block;
485
- vertical-align: middle;
486
451
  }
487
452
 
488
453
  /**
@@ -500,11 +465,8 @@ textarea[class^="xpl-"] {
500
465
 
501
466
  * {
502
467
  --tw-shadow: 0 0 #0000;
503
- }
504
-
505
- * {
506
468
  --tw-ring-inset: var(--tw-empty, /*!*/ /*!*/);
507
- --tw-ring-offset-width: 0px;
469
+ --tw-ring-offset-width: 0;
508
470
  --tw-ring-offset-color: #fff;
509
471
  --tw-ring-color: rgba(59, 130, 246, 0.5);
510
472
  --tw-ring-offset-shadow: 0 0 #0000;
@@ -513,160 +475,290 @@ textarea[class^="xpl-"] {
513
475
 
514
476
  :root {
515
477
  /* Typography */
516
- --xpl-font-family: apple-system, system-ui, "Segoe UI", Arial, Helvetica,
517
- Roboto, sans-serif;
478
+ --xpl-font-family:
479
+ apple-system,
480
+ system-ui,
481
+ "Segoe UI",
482
+ "Arial",
483
+ "Helvetica",
484
+ "Roboto",
485
+ sans-serif;
518
486
  /* Colors */
519
487
  --xpl-primary: #f44e27;
488
+ --xpl-darkmode-primary: #f99170;
489
+ --xpl-text-primary: #212633;
490
+ --xpl-darkmode-text-primary: #fff;
520
491
  --xpl-secondary: #6923f4;
521
492
  --xpl-secondary-dark: #4d1ab2;
522
493
  --xpl-secondary-extra-dark: #330d80;
523
494
  --xpl-secondary-light: #8857fa;
524
495
  --xpl-secondary-extra-light: #ebe5ff;
525
- --xpl-darkmode-primary: #f99170;
526
496
  --xpl-darkmode-secondary: #c3adff;
527
497
  --xpl-darkmode-secondary-dark: #a480ff;
528
498
  --xpl-darkmode-secondary-extra-dark: #8857fa;
529
499
  --xpl-darkmode-secondary-light: #ddd1ff;
530
- --xpl-darkmode-secondary-extra-light: #ebe5ff;
500
+ --xpl-text-secondary: #666d7d;
501
+ --xpl-darkmode-text-secondary: #ced3db;
531
502
  /* Component */
532
503
  --xpl-button-radius: 9999px;
533
504
  }
534
505
 
535
506
  .xpl-avatar {
507
+ border-radius: 9999px;
536
508
  display: inline-block;
537
509
  position: relative;
510
+ text-transform: uppercase;
511
+ vertical-align: middle;
538
512
  }
539
513
 
540
- .xpl-avatar img {
541
- border-radius: 9999px;
542
- height: 2.5rem;
543
- width: 2.5rem;
514
+ a.xpl-avatar {
515
+ text-decoration: none;
544
516
  }
545
517
 
546
- .xpl-avatar-dot {
547
- --tw-bg-opacity: 1;
548
- background-color: rgba(249, 145, 112, var(--tw-bg-opacity));
549
- border-radius: 9999px;
550
- display: block;
551
- height: 0.625rem;
552
- position: absolute;
553
- top: 0px;
554
- right: 0px;
518
+ a.xpl-avatar:focus {
519
+ outline: 2px solid transparent;
520
+ outline-offset: 2px;
555
521
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
556
522
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
557
523
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
558
- --tw-ring-opacity: 1;
559
- --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
560
- width: 0.625rem;
524
+ --tw-ring-offset-width: 2px;
561
525
  }
562
526
 
563
- .xpl-avatar-dot--bottom {
564
- bottom: 0px;
565
- top: auto;
527
+ a.xpl-avatar {
528
+ transition-property: background-color, border-color, color, fill, stroke;
529
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
530
+ transition-duration: 150ms;
566
531
  }
567
532
 
568
- .xpl-avatar--s img {
569
- height: 2rem;
570
- width: 2rem;
533
+ .dark a.xpl-avatar {
534
+ --tw-ring-offset-color: #212633; /* gray-900 */
571
535
  }
572
536
 
573
- .xpl-avatar--s .xpl-avatar-dot {
574
- height: 0.5rem;
575
- width: 0.5rem;
537
+ a.xpl-avatar:focus {
538
+ --tw-ring-color: var(--xpl-secondary-light);
576
539
  }
577
540
 
578
- .xpl-avatar--xs img {
579
- height: 1.5rem;
580
- width: 1.5rem;
541
+ .dark a.xpl-avatar:focus {
542
+ --tw-ring-color: var(--xpl-darkmode-secondary);
581
543
  }
582
544
 
583
- .xpl-avatar--xs .xpl-avatar-dot {
584
- height: 0.375rem;
585
- width: 0.375rem;
545
+ a.xpl-avatar::after {
546
+ content: '';
547
+ --tw-bg-opacity: 1;
548
+ background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
549
+ border-radius: 9999px;
550
+ display: block;
551
+ height: 100%;
552
+ opacity: 0;
553
+ position: absolute;
554
+ top: 0px;
555
+ left: 0px;
556
+ width: 100%;
557
+ transition-property: opacity;
558
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
559
+ transition-duration: 150ms;
586
560
  }
587
561
 
588
- .xpl-avatar--l img {
589
- height: 3rem;
590
- width: 3rem;
562
+ a.xpl-avatar:hover::after, a.xpl-avatar:active::after {
563
+ opacity: 0.2;
591
564
  }
592
565
 
593
- .xpl-avatar--l .xpl-avatar-dot {
594
- height: 0.875rem;
595
- width: 0.875rem;
566
+ .xpl-avatar--disabled {
567
+ cursor: not-allowed;
596
568
  }
597
569
 
598
- .xpl-avatar--xl img {
599
- height: 3.5rem;
600
- width: 3.5rem;
570
+ .xpl-avatar img, .xpl-avatar__placeholder {
571
+ border-radius: 9999px;
572
+ height: 2.5rem;
573
+ width: 2.5rem;
601
574
  }
602
575
 
603
- .xpl-avatar--xl .xpl-avatar-dot {
604
- height: 1rem;
605
- width: 1rem;
576
+ .xpl-avatar__placeholder {
577
+ background-color: var(--xpl-secondary);
578
+ display: flex;
579
+ align-items: center;
580
+ justify-content: center;
581
+ font-weight: 500;
582
+ font-size: 0.875rem;
583
+ line-height: 1.25rem;
584
+ --tw-text-opacity: 1;
585
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
606
586
  }
607
587
 
608
- .xpl-avatar--rounded img {
609
- border-radius: 0.375rem;
588
+ .dark .xpl-avatar__placeholder {
589
+ background-color: var(--xpl-darkmode-secondary);
590
+ --tw-text-opacity: 1;
591
+ color: rgba(33, 38, 51, var(--tw-text-opacity));
610
592
  }
611
593
 
612
- .xpl-avatar--rounded .xpl-avatar-dot {
613
- --tw-translate-x: 0;
614
- --tw-translate-y: 0;
615
- --tw-rotate: 0;
616
- --tw-skew-x: 0;
617
- --tw-skew-y: 0;
618
- --tw-scale-x: 1;
619
- --tw-scale-y: 1;
620
- transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
621
- --tw-translate-x: 50%;
622
- --tw-translate-y: -50%;
594
+ .xpl-avatar--green .xpl-avatar__placeholder {
595
+ --tw-bg-opacity: 1;
596
+ background-color: rgba(116, 251, 208, var(--tw-bg-opacity));
597
+ --tw-text-opacity: 1;
598
+ color: rgba(33, 38, 51, var(--tw-text-opacity));
623
599
  }
624
600
 
625
- .xpl-avatar--rounded .xpl-avatar-dot--bottom {
626
- --tw-translate-y: 50%;
601
+ a.xpl-avatar--green:focus,
602
+ .dark a.xpl-avatar--green:focus {
603
+ --tw-ring-color: #74fbd0; /* green accent */
627
604
  }
628
605
 
629
- .xpl-avatar-group > :not([hidden]) ~ :not([hidden]) {
630
- --tw-space-x-reverse: 0;
631
- margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
632
- margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
606
+ .xpl-avatar--yellow .xpl-avatar__placeholder {
607
+ --tw-bg-opacity: 1;
608
+ background-color: rgba(236, 253, 145, var(--tw-bg-opacity));
609
+ --tw-text-opacity: 1;
610
+ color: rgba(33, 38, 51, var(--tw-text-opacity));
633
611
  }
634
612
 
635
- .xpl-avatar-group {
636
- display: flex;
637
- overflow: hidden;
613
+ a.xpl-avatar--yellow:focus,
614
+ .dark a.xpl-avatar--yellow:focus {
615
+ --tw-ring-color: #ecfd91; /* yellow accent */
638
616
  }
639
617
 
640
- .xpl-avatar-group img {
641
- border-radius: 9999px;
642
- display: inline-block;
643
- height: 2rem;
644
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
645
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
646
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
647
- --tw-ring-opacity: 1;
648
- --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
649
- width: 2rem;
618
+ .xpl-avatar--pink .xpl-avatar__placeholder {
619
+ --tw-bg-opacity: 1;
620
+ background-color: rgba(255, 158, 246, var(--tw-bg-opacity));
621
+ --tw-text-opacity: 1;
622
+ color: rgba(33, 38, 51, var(--tw-text-opacity));
650
623
  }
651
624
 
652
- .xpl-avatar-group--s > :not([hidden]) ~ :not([hidden]) {
653
- --tw-space-x-reverse: 0;
654
- margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
655
- margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
625
+ a.xpl-avatar--pink:focus,
626
+ .dark a.xpl-avatar--pink:focus {
627
+ --tw-ring-color: #ff9ef6; /* pink accent */
656
628
  }
657
629
 
658
- .xpl-avatar-group--s img {
630
+ .xpl-avatar--primary .xpl-avatar__placeholder {
631
+ background-color: var(--xpl-primary);
632
+ }
633
+
634
+ .xpl-avatar--sm img, .xpl-avatar--sm .xpl-avatar__placeholder {
659
635
  height: 1.5rem;
636
+ font-size: 0.625rem;
637
+ line-height: 0.875rem;
660
638
  width: 1.5rem;
661
639
  }
662
640
 
663
- .xpl-avatar-group--l img {
664
- height: 2.5rem;
665
- width: 2.5rem;
641
+ .xpl-avatar--md img, .xpl-avatar--md .xpl-avatar__placeholder {
642
+ height: 2rem;
643
+ font-size: 0.625rem;
644
+ line-height: 0.875rem;
645
+ width: 2rem;
666
646
  }
667
647
 
668
- .xpl-avatar-group--reverse {
669
- position: relative;
648
+ .dark .xpl-avatar--primary .xpl-avatar__placeholder {
649
+ background-color: var(--xpl-darkmode-primary);
650
+ --tw-text-opacity: 1;
651
+ color: rgba(33, 38, 51, var(--tw-text-opacity));
652
+ }
653
+
654
+ a.xpl-avatar--primary:focus {
655
+ --tw-ring-color: var(--xpl-primary);
656
+ }
657
+
658
+ .dark a.xpl-avatar--primary:focus {
659
+ --tw-ring-color: var(--xpl-darkmode-primary);
660
+ }
661
+
662
+ [class^='xpl-avatar__dot'] {
663
+ border-radius: 9999px;
664
+ display: block;
665
+ height: 0.625rem;
666
+ position: absolute;
667
+ right: 0px;
668
+ bottom: 0px;
669
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
670
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
671
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
672
+ --tw-ring-opacity: 1;
673
+ --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
674
+ width: 0.625rem;
675
+ }
676
+
677
+ .dark [class^='xpl-avatar__dot'] {
678
+ --tw-ring-opacity: 1;
679
+ --tw-ring-color: rgba(33, 38, 51, var(--tw-ring-opacity));
680
+ }
681
+
682
+ .xpl-avatar__dot--active {
683
+ --tw-bg-opacity: 1;
684
+ background-color: rgba(55, 184, 143, var(--tw-bg-opacity));
685
+ }
686
+
687
+ .dark .xpl-avatar__dot--active {
688
+ --tw-bg-opacity: 1;
689
+ background-color: rgba(82, 235, 186, var(--tw-bg-opacity));
690
+ }
691
+
692
+ .xpl-avatar__dot--warning {
693
+ --tw-bg-opacity: 1;
694
+ background-color: rgba(242, 79, 61, var(--tw-bg-opacity));
695
+ }
696
+
697
+ .dark .xpl-avatar__dot--warning {
698
+ --tw-bg-opacity: 1;
699
+ background-color: rgba(255, 147, 135, var(--tw-bg-opacity));
700
+ }
701
+
702
+ .xpl-avatar__dot--inactive {
703
+ --tw-bg-opacity: 1;
704
+ background-color: rgba(157, 163, 175, var(--tw-bg-opacity));
705
+ }
706
+
707
+ .xpl-avatar--md [class^='xpl-avatar__dot'] {
708
+ height: 0.5rem;
709
+ width: 0.5rem;
710
+ }
711
+
712
+ .xpl-avatar--sm [class^='xpl-avatar__dot'] {
713
+ height: 0.375rem;
714
+ width: 0.375rem;
715
+ }
716
+
717
+ .xpl-avatar--rounded img {
718
+ border-radius: 0.375rem;
719
+ }
720
+
721
+ .xpl-avatar-group > :not([hidden]) ~ :not([hidden]) {
722
+ --tw-space-x-reverse: 0;
723
+ margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
724
+ margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
725
+ }
726
+
727
+ .xpl-avatar-group {
728
+ display: flex;
729
+ overflow: hidden;
730
+ }
731
+
732
+ .xpl-avatar-group img {
733
+ border-radius: 9999px;
734
+ display: inline-block;
735
+ height: 2rem;
736
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
737
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
738
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
739
+ --tw-ring-opacity: 1;
740
+ --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
741
+ width: 2rem;
742
+ }
743
+
744
+ .xpl-avatar-group--s > :not([hidden]) ~ :not([hidden]) {
745
+ --tw-space-x-reverse: 0;
746
+ margin-right: calc(-0.25rem * var(--tw-space-x-reverse));
747
+ margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse)));
748
+ }
749
+
750
+ .xpl-avatar-group--s img {
751
+ height: 1.5rem;
752
+ width: 1.5rem;
753
+ }
754
+
755
+ .xpl-avatar-group--l img {
756
+ height: 2.5rem;
757
+ width: 2.5rem;
758
+ }
759
+
760
+ .xpl-avatar-group--reverse {
761
+ position: relative;
670
762
  z-index: 0;
671
763
  }
672
764
 
@@ -696,51 +788,124 @@ textarea[class^="xpl-"] {
696
788
  }
697
789
 
698
790
  .xpl-badge {
791
+ padding: 4px 12px;
699
792
  --tw-bg-opacity: 1;
700
- background-color: rgba(245, 247, 250, var(--tw-bg-opacity));
793
+ background-color: rgba(235, 229, 255, var(--tw-bg-opacity));
701
794
  border-radius: 9999px;
702
795
  display: inline-flex;
703
796
  align-items: center;
704
- font-weight: 500;
705
- font-size: 10px;
706
- line-height: 0.875rem;
707
- padding-top: 0.125rem;
708
- padding-bottom: 0.125rem;
709
- padding-left: 0.625rem;
710
- padding-right: 0.625rem;
711
- --tw-text-opacity: 1;
712
- color: rgba(55, 62, 78, var(--tw-text-opacity));
797
+ font-size: 0.75rem;
798
+ line-height: 1rem;
713
799
  }
714
800
 
715
- .xpl-badge.xpl-badge--error {
801
+ .xpl-badge--dot::before {
802
+ content: "";
803
+ height: 8px;
804
+ margin: 0 4px 0 -4px;
805
+ width: 8px;
716
806
  --tw-bg-opacity: 1;
717
- background-color: rgba(255, 233, 229, var(--tw-bg-opacity));
807
+ background-color: rgba(136, 87, 250, var(--tw-bg-opacity));
808
+ border-radius: 9999px;
809
+ display: inline-block;
810
+ }
811
+
812
+ .dark .xpl-badge {
813
+ padding: 3px 11px;
814
+ background-color: transparent;
815
+ --tw-border-opacity: 1;
816
+ border-color: rgba(195, 173, 255, var(--tw-border-opacity));
817
+ border-width: 1px;
718
818
  --tw-text-opacity: 1;
719
- color: rgba(168, 36, 16, var(--tw-text-opacity));
819
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
720
820
  }
721
821
 
722
- .xpl-badge.xpl-badge--warning {
822
+ .dark .xpl-badge::before {
723
823
  --tw-bg-opacity: 1;
724
- background-color: rgba(244, 253, 197, var(--tw-bg-opacity));
725
- --tw-text-opacity: 1;
726
- color: rgba(102, 102, 0, var(--tw-text-opacity));
824
+ background-color: rgba(195, 173, 255, var(--tw-bg-opacity));
727
825
  }
728
826
 
729
- .xpl-badge.xpl-badge--success {
827
+ .xpl-badge--success {
730
828
  --tw-bg-opacity: 1;
731
829
  background-color: rgba(196, 255, 237, var(--tw-bg-opacity));
732
- --tw-text-opacity: 1;
733
- color: rgba(29, 97, 75, var(--tw-text-opacity));
734
830
  }
735
831
 
736
- .xpl-badge.xpl-badge--large {
737
- font-weight: 500;
738
- font-size: 12px;
739
- line-height: 1rem;
740
- padding-left: 0.75rem;
741
- padding-right: 0.75rem;
742
- padding-top: 0.125rem;
743
- padding-bottom: 0.125rem;
832
+ .xpl-badge--success::before {
833
+ --tw-bg-opacity: 1;
834
+ background-color: rgba(55, 184, 143, var(--tw-bg-opacity));
835
+ }
836
+
837
+ .dark .xpl-badge--success {
838
+ --tw-border-opacity: 1;
839
+ border-color: rgba(82, 235, 186, var(--tw-border-opacity));
840
+ }
841
+
842
+ .dark .xpl-badge--success::before {
843
+ --tw-bg-opacity: 1;
844
+ background-color: rgba(82, 235, 186, var(--tw-bg-opacity));
845
+ }
846
+
847
+ .xpl-badge--warning {
848
+ --tw-bg-opacity: 1;
849
+ background-color: rgba(244, 253, 197, var(--tw-bg-opacity));
850
+ }
851
+
852
+ .xpl-badge--warning::before {
853
+ --tw-bg-opacity: 1;
854
+ background-color: rgba(190, 204, 35, var(--tw-bg-opacity));
855
+ }
856
+
857
+ .dark .xpl-badge--warning {
858
+ --tw-border-opacity: 1;
859
+ border-color: rgba(223, 240, 96, var(--tw-border-opacity));
860
+ }
861
+
862
+ .dark .xpl-badge--warning::before {
863
+ --tw-bg-opacity: 1;
864
+ background-color: rgba(223, 240, 96, var(--tw-bg-opacity));
865
+ }
866
+
867
+ .xpl-badge--inactive {
868
+ --tw-bg-opacity: 1;
869
+ background-color: rgba(228, 230, 235, var(--tw-bg-opacity));
870
+ }
871
+
872
+ .xpl-badge--inactive::before {
873
+ --tw-bg-opacity: 1;
874
+ background-color: rgba(157, 163, 175, var(--tw-bg-opacity));
875
+ }
876
+
877
+ .dark .xpl-badge--inactive {
878
+ --tw-border-opacity: 1;
879
+ border-color: rgba(157, 163, 175, var(--tw-border-opacity));
880
+ }
881
+
882
+ .xpl-badge--error {
883
+ --tw-bg-opacity: 1;
884
+ background-color: rgba(254, 217, 213, var(--tw-bg-opacity));
885
+ }
886
+
887
+ .xpl-badge--error::before {
888
+ --tw-bg-opacity: 1;
889
+ background-color: rgba(242, 79, 61, var(--tw-bg-opacity));
890
+ }
891
+
892
+ .dark .xpl-badge--error {
893
+ --tw-border-opacity: 1;
894
+ border-color: rgba(255, 147, 135, var(--tw-border-opacity));
895
+ }
896
+
897
+ .dark .xpl-badge--error::before {
898
+ --tw-bg-opacity: 1;
899
+ background-color: rgba(255, 147, 135, var(--tw-bg-opacity));
900
+ }
901
+
902
+ a.xpl-button,
903
+ button.xpl-button {
904
+ background-color: var(--xpl-secondary);
905
+ border-radius: var(--xpl-button-radius);
906
+ height: 40px;
907
+ padding: 11px 23px;
908
+ text-decoration: none;
744
909
  }
745
910
 
746
911
  a.xpl-button, button.xpl-button {
@@ -750,7 +915,7 @@ a.xpl-button, button.xpl-button {
750
915
  display: inline-flex;
751
916
  align-items: center;
752
917
  font-weight: 500;
753
- font-size: 14px;
918
+ font-size: 0.875rem;
754
919
  line-height: 1.25rem;
755
920
  }
756
921
 
@@ -771,15 +936,6 @@ a.xpl-button, button.xpl-button {
771
936
  transition-duration: 150ms;
772
937
  }
773
938
 
774
- a.xpl-button,
775
- button.xpl-button {
776
- background-color: var(--xpl-secondary);
777
- border-radius: var(--xpl-button-radius);
778
- height: 44px;
779
- padding: 11px 23px;
780
- text-decoration: none;
781
- }
782
-
783
939
  .xpl-button i.leading {
784
940
  margin: 0 8px 0 -4px;
785
941
  }
@@ -806,7 +962,8 @@ button.xpl-button {
806
962
 
807
963
  .dark a.xpl-button,
808
964
  .dark button.xpl-button {
809
- --tw-ring-offset-color: #212633;
965
+ --tw-ring-offset-color: #212633; /* gray-900 */
966
+ background-color: var(--xpl-darkmode-secondary);
810
967
  }
811
968
 
812
969
  .dark a.xpl-button, .dark button.xpl-button {
@@ -814,24 +971,14 @@ button.xpl-button {
814
971
  color: rgba(33, 38, 51, var(--tw-text-opacity));
815
972
  }
816
973
 
817
- .dark a.xpl-button,
818
- .dark button.xpl-button {
819
- background-color: var(--xpl-darkmode-secondary);
820
- }
821
-
822
- a.xpl-button:hover, button.xpl-button:hover {
823
- --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
824
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
825
- }
826
-
827
974
  a.xpl-button:hover,
828
975
  button.xpl-button:hover {
829
976
  background-color: var(--xpl-secondary-dark);
830
977
  }
831
978
 
832
- .dark a.xpl-button:hover,
833
- .dark button.xpl-button:hover {
834
- background-color: var(--xpl-darkmode-secondary-dark);
979
+ a.xpl-button:hover, button.xpl-button:hover {
980
+ --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
981
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
835
982
  }
836
983
 
837
984
  a.xpl-button:focus,
@@ -849,6 +996,11 @@ button.xpl-button:disabled {
849
996
  color: rgba(102, 109, 125, var(--tw-text-opacity));
850
997
  }
851
998
 
999
+ .dark a.xpl-button:hover,
1000
+ .dark button.xpl-button:hover {
1001
+ background-color: var(--xpl-darkmode-secondary-dark);
1002
+ }
1003
+
852
1004
  .dark button.xpl-button:disabled {
853
1005
  --tw-bg-opacity: 1;
854
1006
  background-color: rgba(68, 75, 92, var(--tw-bg-opacity));
@@ -871,18 +1023,21 @@ a.xpl-button--secondary, button.xpl-button--secondary {
871
1023
  color: rgba(255, 255, 255, var(--tw-text-opacity));
872
1024
  }
873
1025
 
874
- a.xpl-button--secondary:hover, button.xpl-button--secondary:hover {
875
- --tw-bg-opacity: 1;
876
- background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
877
- }
878
-
879
1026
  a.xpl-button--secondary:hover,
880
1027
  button.xpl-button--secondary:hover {
881
1028
  border-color: var(--xpl-secondary);
882
1029
  }
883
1030
 
884
- .dark a.xpl-button--secondary:hover, .dark button.xpl-button--secondary:hover {
885
- background-color: transparent;
1031
+ a.xpl-button--secondary:hover, button.xpl-button--secondary:hover {
1032
+ --tw-bg-opacity: 1;
1033
+ background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1034
+ }
1035
+
1036
+ button.xpl-button--secondary:disabled {
1037
+ --tw-bg-opacity: 1;
1038
+ background-color: rgba(245, 247, 250, var(--tw-bg-opacity));
1039
+ --tw-border-opacity: 1;
1040
+ border-color: rgba(206, 211, 219, var(--tw-border-opacity));
886
1041
  }
887
1042
 
888
1043
  .dark a.xpl-button--secondary:hover,
@@ -890,6 +1045,10 @@ button.xpl-button--secondary:hover {
890
1045
  border-color: var(--xpl-darkmode-secondary);
891
1046
  }
892
1047
 
1048
+ .dark a.xpl-button--secondary:hover, .dark button.xpl-button--secondary:hover {
1049
+ background-color: transparent;
1050
+ }
1051
+
893
1052
  .dark a.xpl-button--secondary:focus,
894
1053
  .dark button.xpl-button--secondary:focus {
895
1054
  --tw-ring-color: var(--xpl-darkmode-secondary);
@@ -900,13 +1059,6 @@ button.xpl-button--secondary:hover {
900
1059
  --tw-ring-color: var(--xpl-darkmode-secondary-extra-dark);
901
1060
  }
902
1061
 
903
- button.xpl-button--secondary:disabled {
904
- --tw-bg-opacity: 1;
905
- background-color: rgba(245, 247, 250, var(--tw-bg-opacity));
906
- --tw-border-opacity: 1;
907
- border-color: rgba(206, 211, 219, var(--tw-border-opacity));
908
- }
909
-
910
1062
  .dark button.xpl-button--secondary:disabled {
911
1063
  background-color: transparent;
912
1064
  --tw-border-opacity: 1;
@@ -932,11 +1084,6 @@ a.xpl-button--subtle:hover, button.xpl-button--subtle:hover {
932
1084
  background-color: rgba(245, 247, 250, var(--tw-bg-opacity));
933
1085
  }
934
1086
 
935
- .dark a.xpl-button--subtle:hover, .dark button.xpl-button--subtle:hover {
936
- --tw-bg-opacity: 1;
937
- background-color: rgba(55, 62, 78, var(--tw-bg-opacity));
938
- }
939
-
940
1087
  a.xpl-button--subtle:focus, button.xpl-button--subtle:focus {
941
1088
  --tw-bg-opacity: 1;
942
1089
  background-color: rgba(245, 247, 250, var(--tw-bg-opacity));
@@ -944,22 +1091,11 @@ a.xpl-button--subtle:focus, button.xpl-button--subtle:focus {
944
1091
  --tw-ring-color: rgba(228, 230, 235, var(--tw-ring-opacity));
945
1092
  }
946
1093
 
947
- .dark a.xpl-button--subtle:focus, .dark button.xpl-button--subtle:focus {
948
- background-color: transparent;
949
- --tw-ring-opacity: 1;
950
- --tw-ring-color: rgba(55, 62, 78, var(--tw-ring-opacity));
951
- }
952
-
953
1094
  a.xpl-button--subtle:active, button.xpl-button--subtle:active {
954
1095
  --tw-bg-opacity: 1;
955
1096
  background-color: rgba(228, 230, 235, var(--tw-bg-opacity));
956
1097
  }
957
1098
 
958
- .dark a.xpl-button--subtle:active, .dark button.xpl-button--subtle:active {
959
- --tw-bg-opacity: 1;
960
- background-color: rgba(68, 75, 92, var(--tw-bg-opacity));
961
- }
962
-
963
1099
  button.xpl-button--subtle:disabled {
964
1100
  --tw-bg-opacity: 1;
965
1101
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
@@ -967,6 +1103,22 @@ button.xpl-button--subtle:disabled {
967
1103
  color: rgba(102, 109, 125, var(--tw-text-opacity));
968
1104
  }
969
1105
 
1106
+ .dark a.xpl-button--subtle:hover, .dark button.xpl-button--subtle:hover {
1107
+ --tw-bg-opacity: 1;
1108
+ background-color: rgba(55, 62, 78, var(--tw-bg-opacity));
1109
+ }
1110
+
1111
+ .dark a.xpl-button--subtle:focus, .dark button.xpl-button--subtle:focus {
1112
+ background-color: transparent;
1113
+ --tw-ring-opacity: 1;
1114
+ --tw-ring-color: rgba(55, 62, 78, var(--tw-ring-opacity));
1115
+ }
1116
+
1117
+ .dark a.xpl-button--subtle:active, .dark button.xpl-button--subtle:active {
1118
+ --tw-bg-opacity: 1;
1119
+ background-color: rgba(68, 75, 92, var(--tw-bg-opacity));
1120
+ }
1121
+
970
1122
  .dark button.xpl-button--subtle:disabled {
971
1123
  background-color: transparent;
972
1124
  --tw-text-opacity: 1;
@@ -998,6 +1150,20 @@ a.xpl-button--warning:hover, button.xpl-button--warning:hover, a.xpl-button--war
998
1150
  border-color: rgba(150, 19, 5, var(--tw-border-opacity));
999
1151
  }
1000
1152
 
1153
+ a.xpl-button--warning:focus, button.xpl-button--warning:focus {
1154
+ --tw-ring-opacity: 1;
1155
+ --tw-ring-color: rgba(194, 33, 15, var(--tw-ring-opacity));
1156
+ }
1157
+
1158
+ button.xpl-button--warning:disabled {
1159
+ --tw-bg-opacity: 1;
1160
+ background-color: rgba(228, 230, 235, var(--tw-bg-opacity));
1161
+ --tw-border-opacity: 1;
1162
+ border-color: rgba(228, 230, 235, var(--tw-border-opacity));
1163
+ --tw-text-opacity: 1;
1164
+ color: rgba(102, 109, 125, var(--tw-text-opacity));
1165
+ }
1166
+
1001
1167
  .dark a.xpl-button--warning:hover, .dark button.xpl-button--warning:hover {
1002
1168
  --tw-bg-opacity: 1;
1003
1169
  background-color: rgba(248, 114, 99, var(--tw-bg-opacity));
@@ -1005,11 +1171,6 @@ a.xpl-button--warning:hover, button.xpl-button--warning:hover, a.xpl-button--war
1005
1171
  border-color: rgba(248, 114, 99, var(--tw-border-opacity));
1006
1172
  }
1007
1173
 
1008
- a.xpl-button--warning:focus, button.xpl-button--warning:focus {
1009
- --tw-ring-opacity: 1;
1010
- --tw-ring-color: rgba(194, 33, 15, var(--tw-ring-opacity));
1011
- }
1012
-
1013
1174
  .dark a.xpl-button--warning:focus, .dark button.xpl-button--warning:focus {
1014
1175
  --tw-ring-opacity: 1;
1015
1176
  --tw-ring-color: rgba(255, 147, 135, var(--tw-ring-opacity));
@@ -1020,15 +1181,6 @@ a.xpl-button--warning:focus, button.xpl-button--warning:focus {
1020
1181
  background-color: rgba(248, 114, 99, var(--tw-bg-opacity));
1021
1182
  }
1022
1183
 
1023
- button.xpl-button--warning:disabled {
1024
- --tw-bg-opacity: 1;
1025
- background-color: rgba(228, 230, 235, var(--tw-bg-opacity));
1026
- --tw-border-opacity: 1;
1027
- border-color: rgba(228, 230, 235, var(--tw-border-opacity));
1028
- --tw-text-opacity: 1;
1029
- color: rgba(102, 109, 125, var(--tw-text-opacity));
1030
- }
1031
-
1032
1184
  .dark button.xpl-button--warning:disabled {
1033
1185
  --tw-bg-opacity: 1;
1034
1186
  background-color: rgba(68, 75, 92, var(--tw-bg-opacity));
@@ -1038,20 +1190,15 @@ button.xpl-button--warning:disabled {
1038
1190
  color: rgba(157, 163, 175, var(--tw-text-opacity));
1039
1191
  }
1040
1192
 
1041
- a.xpl-button--sm, button.xpl-button--sm {
1042
- font-size: 12px;
1043
- line-height: 1rem;
1044
- }
1045
-
1046
1193
  a.xpl-button--sm,
1047
1194
  button.xpl-button--sm {
1048
1195
  padding: 7px 15px;
1049
1196
  height: 32px;
1050
1197
  }
1051
1198
 
1052
- a.xpl-button--xs, button.xpl-button--xs {
1053
- font-size: 10px;
1054
- line-height: 0.875rem;
1199
+ a.xpl-button--sm, button.xpl-button--sm {
1200
+ font-size: 0.75rem;
1201
+ line-height: 1rem;
1055
1202
  }
1056
1203
 
1057
1204
  a.xpl-button--xs,
@@ -1060,38 +1207,220 @@ button.xpl-button--xs {
1060
1207
  height: 24px;
1061
1208
  }
1062
1209
 
1210
+ a.xpl-button--xs, button.xpl-button--xs {
1211
+ font-size: 0.625rem;
1212
+ line-height: 0.875rem;
1213
+ }
1214
+
1215
+ a.xpl-button--icon-only,
1216
+ button.xpl-button--icon-only {
1217
+ width: 44px;
1218
+ }
1219
+
1063
1220
  a.xpl-button--icon-only, button.xpl-button--icon-only {
1064
1221
  padding-right: 0px;
1065
1222
  padding-left: 0px;
1066
1223
  text-align: center;
1067
1224
  }
1068
1225
 
1069
- a.xpl-button--icon-only,
1070
- button.xpl-button--icon-only {
1071
- width: 44px;
1226
+ a.xpl-button--sm.xpl-button--icon-only,
1227
+ button.xpl-button--sm.xpl-button--icon-only {
1228
+ width: 32px;
1229
+ }
1230
+
1231
+ a.xpl-button--xs.xpl-button--icon-only,
1232
+ button.xpl-button--xs.xpl-button--icon-only {
1233
+ width: 24px;
1234
+ }
1235
+
1236
+ .xpl-button--icon-only i {
1237
+ transform: scale(1.2);
1238
+ width: 100%;
1239
+ }
1240
+
1241
+ .xpl-button--icon-only.xpl-button--sm i {
1242
+ transform: scale(1.25);
1243
+ }
1244
+
1245
+ .xpl-button--icon-only.xpl-button--xs i {
1246
+ transform: scale(1);
1247
+ }
1248
+
1249
+ /**
1250
+ * TODO: A lot of this is copied and pasted from radio.css
1251
+ * (especially container, label, description). Could probably condense
1252
+ * both into a single helper/utility class for layout, type, etc.
1253
+ */
1254
+
1255
+ .xpl-checkbox-container {
1256
+ display: flex;
1257
+ margin-bottom: 1.5rem;
1258
+ }
1259
+
1260
+ .xpl-checkbox {
1261
+ border-radius: 4px;
1262
+ border-color: #d1d5db;
1263
+ height: 16px;
1264
+ top: 2px;
1265
+ transition-property: border background-color;
1266
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1267
+ transition-duration: 150ms;
1268
+ width: 16px;
1269
+ -webkit-appearance: none;
1270
+ -moz-appearance: none;
1271
+ appearance: none;
1272
+ --tw-bg-opacity: 1;
1273
+ background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1274
+ border-width: 1px;
1275
+ cursor: pointer;
1276
+ }
1277
+
1278
+ .xpl-checkbox:focus {
1279
+ outline: 2px solid transparent;
1280
+ outline-offset: 2px;
1281
+ }
1282
+
1283
+ .xpl-checkbox {
1284
+ position: relative;
1285
+ }
1286
+
1287
+ .xpl-checkbox:focus {
1288
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1289
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1290
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1291
+ --tw-ring-offset-width: 2px;
1292
+ }
1293
+
1294
+ .xpl-checkbox::after {
1295
+ background-position: calc(50% - 2px) calc(50% - 1px);
1296
+ content: "";
1297
+ height: 16px;
1298
+ width: 16px;
1299
+ background-repeat: no-repeat;
1300
+ display: block;
1301
+ opacity: 0;
1302
+ --tw-text-opacity: 1;
1303
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
1304
+ transition-property: opacity;
1305
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1306
+ transition-duration: 150ms;
1307
+ }
1308
+
1309
+ .dark .xpl-checkbox {
1310
+ --tw-ring-offset-color: #212633;
1311
+ background-color: #212633;
1312
+ border-color: #d1d5db;
1313
+ }
1314
+
1315
+ .xpl-checkbox:hover {
1316
+ background-color: #ced2db;
1317
+ }
1318
+
1319
+ .xpl-checkbox:checked {
1320
+ background-color: var(--xpl-secondary);
1321
+ }
1322
+
1323
+ .xpl-checkbox:indeterminate {
1324
+ background-color: var(--xpl-secondary);
1325
+ border-color: var(--xpl-secondary);
1326
+ }
1327
+
1328
+ .xpl-checkbox:indeterminate::after {
1329
+ background-position: calc(50% - 1px) calc(50% - 1px);
1330
+ background-image: url("data:image/svg+xml,%3Csvg width='11' height='7' viewBox='0 0 11 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 2.5L11 2.5L11 4.5L0 4.5Z' fill='white'/%3E%3C/svg%3E%0A");
1331
+ opacity: 1;
1332
+ }
1333
+
1334
+ .xpl-checkbox:active,
1335
+ .xpl-checkbox:checked {
1336
+ border-color: var(--xpl-secondary);
1337
+ }
1338
+
1339
+ .xpl-checkbox:disabled {
1340
+ border-color: #e4e6eb; /* gray 200 */
1341
+ --tw-bg-opacity: 1;
1342
+ background-color: rgba(228, 230, 235, var(--tw-bg-opacity));
1343
+ cursor: not-allowed;
1344
+ }
1345
+
1346
+ .xpl-checkbox:focus {
1347
+ --tw-ring-color: var(--xpl-secondary-light);
1348
+ }
1349
+
1350
+ .xpl-checkbox:hover::after,
1351
+ .xpl-checkbox:checked::after {
1352
+ background-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.37866 7.6145C4.57397 7.80981 4.90601 7.80981 5.10132 7.6145L10.8435 1.87231C11.0388 1.677 11.0388 1.34497 10.8435 1.14966L10.1404 0.446533C9.94507 0.251221 9.63257 0.251221 9.43726 0.446533L4.74976 5.13403L2.54272 2.94653C2.34741 2.75122 2.03491 2.75122 1.8396 2.94653L1.13647 3.64966C0.941162 3.84497 0.941162 4.177 1.13647 4.37231L4.37866 7.6145Z' fill='white'/%3E%3C/svg%3E%0A");
1353
+ }
1354
+
1355
+ .xpl-checkbox:hover::after, .xpl-checkbox:checked::after {
1356
+ opacity: 1;
1357
+ }
1358
+
1359
+ .dark .xpl-checkbox:hover {
1360
+ background-color: #545d6e;
1361
+ border-color: #545d6e;
1362
+ }
1363
+
1364
+ .dark .xpl-checkbox:checked {
1365
+ background-color: var(--xpl-darkmode-secondary);
1366
+ }
1367
+
1368
+ .dark .xpl-checkbox:checked::after {
1369
+ background-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.37866 7.6145C4.57397 7.80981 4.90601 7.80981 5.10132 7.6145L10.8435 1.87231C11.0388 1.677 11.0388 1.34497 10.8435 1.14966L10.1404 0.446533C9.94507 0.251221 9.63257 0.251221 9.43726 0.446533L4.74976 5.13403L2.54272 2.94653C2.34741 2.75122 2.03491 2.75122 1.8396 2.94653L1.13647 3.64966C0.941162 3.84497 0.941162 4.177 1.13647 4.37231L4.37866 7.6145Z' fill='%23212633'/%3E%3C/svg%3E%0A");
1370
+ }
1371
+
1372
+ .dark .xpl-checkbox:indeterminate {
1373
+ background-color: var(--xpl-darkmode-secondary);
1374
+ border-color: var(--xpl-darkmode-secondary);
1375
+ }
1376
+
1377
+ .dark .xpl-checkbox:active,
1378
+ .dark .xpl-checkbox:checked {
1379
+ border-color: var(--xpl-darkmode-secondary);
1380
+ }
1381
+
1382
+ .dark .xpl-checkbox:disabled {
1383
+ background-color: #666d7d;
1384
+ border-color: #666d7d;
1385
+ }
1386
+
1387
+ .dark .xpl-checkbox:focus {
1388
+ --tw-ring-color: var(--xpl-darkmode-secondary-light);
1389
+ }
1390
+
1391
+ .xpl-checkbox + label {
1392
+ cursor: pointer;
1393
+ font-size: 0.875rem;
1394
+ line-height: 1.25rem;
1395
+ padding-right: 1rem;
1396
+ padding-left: 1rem;
1397
+ vertical-align: middle;
1072
1398
  }
1073
1399
 
1074
- a.xpl-button--sm.xpl-button--icon-only,
1075
- button.xpl-button--sm.xpl-button--icon-only {
1076
- width: 32px;
1400
+ .xpl-checkbox:disabled + label {
1401
+ color: #666d7d;
1402
+ cursor: not-allowed;
1077
1403
  }
1078
1404
 
1079
- a.xpl-button--xs.xpl-button--icon-only,
1080
- button.xpl-button--xs.xpl-button--icon-only {
1081
- width: 24px;
1405
+ .dark .xpl-checkbox + label {
1406
+ --tw-text-opacity: 1;
1407
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
1082
1408
  }
1083
1409
 
1084
- .xpl-button--icon-only i {
1085
- width: 100%;
1086
- transform: scale(1.2);
1410
+ .dark .xpl-checkbox:disabled + label {
1411
+ color: #ced3db;
1087
1412
  }
1088
1413
 
1089
- .xpl-button--icon-only.xpl-button--sm i {
1090
- transform: scale(1.25);
1414
+ .xpl-checkbox + label small {
1415
+ display: block;
1416
+ font-size: 0.75rem;
1417
+ line-height: 1rem;
1418
+ --tw-text-opacity: 1;
1419
+ color: rgba(102, 109, 125, var(--tw-text-opacity));
1091
1420
  }
1092
1421
 
1093
- .xpl-button--icon-only.xpl-button--xs i {
1094
- transform: scale(1);
1422
+ .dark .xpl-checkbox + label small {
1423
+ color: #ced3db;
1095
1424
  }
1096
1425
 
1097
1426
  .xpl-pagination {
@@ -1110,7 +1439,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1110
1439
  }
1111
1440
 
1112
1441
  .xpl-pagination p {
1113
- font-size: 12px;
1442
+ font-size: 0.75rem;
1114
1443
  line-height: 1rem;
1115
1444
  padding-bottom: 0.5rem;
1116
1445
  --tw-text-opacity: 1;
@@ -1167,7 +1496,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1167
1496
  display: inline-flex;
1168
1497
  align-items: center;
1169
1498
  font-weight: 500;
1170
- font-size: 12px;
1499
+ font-size: 0.75rem;
1171
1500
  line-height: 1rem;
1172
1501
  padding-top: 0.5rem;
1173
1502
  padding-bottom: 0.5rem;
@@ -1197,7 +1526,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1197
1526
  display: inline-flex;
1198
1527
  align-items: center;
1199
1528
  font-weight: 500;
1200
- font-size: 12px;
1529
+ font-size: 0.75rem;
1201
1530
  line-height: 1rem;
1202
1531
  padding-top: 0.5rem;
1203
1532
  padding-bottom: 0.5rem;
@@ -1237,7 +1566,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1237
1566
  display: inline-flex;
1238
1567
  align-items: center;
1239
1568
  font-weight: 500;
1240
- font-size: 12px;
1569
+ font-size: 0.75rem;
1241
1570
  line-height: 1rem;
1242
1571
  padding-top: 0.5rem;
1243
1572
  padding-bottom: 0.5rem;
@@ -1257,7 +1586,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1257
1586
  display: inline-flex;
1258
1587
  align-items: center;
1259
1588
  font-weight: 500;
1260
- font-size: 12px;
1589
+ font-size: 0.75rem;
1261
1590
  line-height: 1rem;
1262
1591
  padding-top: 0.5rem;
1263
1592
  padding-bottom: 0.5rem;
@@ -1293,15 +1622,135 @@ button.xpl-button--xs.xpl-button--icon-only {
1293
1622
  }
1294
1623
  }
1295
1624
 
1625
+ .xpl-radio-container {
1626
+ display: flex;
1627
+ margin-bottom: 1.5rem;
1628
+ }
1629
+
1630
+ .xpl-radio {
1631
+ border-color: #d1d5db;
1632
+ height: 16px;
1633
+ top: 2px;
1634
+ transition-property: border;
1635
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1636
+ transition-duration: 150ms;
1637
+ width: 16px;
1638
+ -webkit-appearance: none;
1639
+ -moz-appearance: none;
1640
+ appearance: none;
1641
+ border-radius: 9999px;
1642
+ border-width: 1px;
1643
+ cursor: pointer;
1644
+ }
1645
+
1646
+ .xpl-radio:focus {
1647
+ outline: 2px solid transparent;
1648
+ outline-offset: 2px;
1649
+ }
1650
+
1651
+ .xpl-radio {
1652
+ position: relative;
1653
+ }
1654
+
1655
+ .xpl-radio:focus {
1656
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1657
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1658
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1659
+ --tw-ring-offset-width: 2px;
1660
+ }
1661
+
1662
+ .dark .xpl-radio {
1663
+ --tw-ring-offset-color: #212633;
1664
+ border-color: #ced3db;
1665
+ }
1666
+
1667
+ .xpl-radio:hover,
1668
+ .xpl-radio:checked {
1669
+ border-width: 4px;
1670
+ }
1671
+
1672
+ .xpl-radio:active,
1673
+ .xpl-radio:checked {
1674
+ border-color: var(--xpl-secondary);
1675
+ }
1676
+
1677
+ .xpl-radio:disabled {
1678
+ border-color: #e4e6eb; /* gray 200 */
1679
+ --tw-bg-opacity: 1;
1680
+ background-color: rgba(228, 230, 235, var(--tw-bg-opacity));
1681
+ cursor: not-allowed;
1682
+ }
1683
+
1684
+ .xpl-radio:focus {
1685
+ --tw-ring-color: var(--xpl-secondary-light);
1686
+ }
1687
+
1688
+ .dark .xpl-radio:active,
1689
+ .dark .xpl-radio:checked {
1690
+ border-color: var(--xpl-darkmode-secondary);
1691
+ }
1692
+
1693
+ .dark .xpl-radio:disabled {
1694
+ background-color: #666d7d;
1695
+ border-color: #666d7d;
1696
+ }
1697
+
1698
+ .dark .xpl-radio:focus {
1699
+ --tw-ring-color: var(--xpl-darkmode-secondary-light);
1700
+ }
1701
+
1702
+ .xpl-radio + label {
1703
+ cursor: pointer;
1704
+ font-size: 0.875rem;
1705
+ line-height: 1.25rem;
1706
+ padding-right: 1rem;
1707
+ padding-left: 1rem;
1708
+ vertical-align: middle;
1709
+ }
1710
+
1711
+ .xpl-radio:disabled + label {
1712
+ color: #666d7d;
1713
+ cursor: not-allowed;
1714
+ }
1715
+
1716
+ .dark .xpl-radio + label {
1717
+ --tw-text-opacity: 1;
1718
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
1719
+ }
1720
+
1721
+ .dark .xpl-radio:disabled + label {
1722
+ color: #ced3db;
1723
+ }
1724
+
1725
+ .xpl-radio + label small {
1726
+ display: block;
1727
+ font-size: 0.75rem;
1728
+ line-height: 1rem;
1729
+ --tw-text-opacity: 1;
1730
+ color: rgba(102, 109, 125, var(--tw-text-opacity));
1731
+ }
1732
+
1733
+ .dark .xpl-radio + label small {
1734
+ color: #ced3db;
1735
+ }
1736
+
1296
1737
  .xpl-table-container {
1297
1738
  --tw-border-opacity: 1;
1298
1739
  border-color: rgba(228, 230, 235, var(--tw-border-opacity));
1299
- border-bottom-width: 1px;
1740
+ border-radius: 0.375rem;
1741
+ border-width: 1px;
1300
1742
  overflow: auto;
1301
1743
  --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
1302
1744
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1303
1745
  }
1304
1746
 
1747
+ .dark .xpl-table-container {
1748
+ --tw-bg-opacity: 1;
1749
+ background-color: rgba(33, 38, 51, var(--tw-bg-opacity));
1750
+ --tw-border-opacity: 1;
1751
+ border-color: rgba(55, 62, 78, var(--tw-border-opacity));
1752
+ }
1753
+
1305
1754
  .xpl-table > :not([hidden]) ~ :not([hidden]) {
1306
1755
  --tw-divide-y-reverse: 0;
1307
1756
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
@@ -1314,19 +1763,117 @@ button.xpl-button--xs.xpl-button--icon-only {
1314
1763
  min-width: 100%;
1315
1764
  }
1316
1765
 
1766
+ .dark .xpl-table > :not([hidden]) ~ :not([hidden]) {
1767
+ --tw-divide-opacity: 1;
1768
+ border-color: rgba(55, 62, 78, var(--tw-divide-opacity));
1769
+ }
1770
+
1317
1771
  .xpl-table--abs {
1318
1772
  position: absolute;
1319
1773
  }
1320
1774
 
1775
+ .xpl-table thead th {
1776
+ font-weight: 500;
1777
+ font-size: 0.75rem;
1778
+ line-height: 1rem;
1779
+ padding-top: 0.75rem;
1780
+ padding-bottom: 0.75rem;
1781
+ padding-left: 1.5rem;
1782
+ padding-right: 1.5rem;
1783
+ text-align: left;
1784
+ --tw-text-opacity: 1;
1785
+ color: rgba(102, 109, 125, var(--tw-text-opacity));
1786
+ white-space: nowrap;
1787
+ }
1788
+
1789
+ .xpl-table-row-selected td {
1790
+ --tw-bg-opacity: 1 !important;
1791
+ background-color: rgba(244, 242, 255, var(--tw-bg-opacity)) !important;
1792
+ }
1793
+
1794
+ .xpl-table tbody tr td {
1795
+ font-size: 0.875rem;
1796
+ line-height: 1.25rem;
1797
+ padding-top: 1rem;
1798
+ padding-bottom: 1rem;
1799
+ padding-left: 1.5rem;
1800
+ padding-right: 1.5rem;
1801
+ --tw-text-opacity: 1;
1802
+ color: rgba(102, 109, 125, var(--tw-text-opacity));
1803
+ white-space: nowrap;
1804
+ }
1805
+
1806
+ .dark .xpl-table-row-selected td {
1807
+ --tw-bg-opacity: 1 !important;
1808
+ background-color: rgba(55, 62, 78, var(--tw-bg-opacity)) !important;
1809
+ }
1810
+
1811
+ .xpl-table--freeze thead th:first-child,
1812
+ .xpl-table--freeze tbody td:first-child {
1813
+ border-right-width: 1px;
1814
+ }
1815
+
1321
1816
  .xpl-table--freeze thead th:first-child, .xpl-table--freeze tbody td:first-child {
1322
1817
  --tw-bg-opacity: 1;
1323
1818
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1819
+ --tw-border-opacity: 1;
1820
+ border-color: rgba(228, 230, 235, var(--tw-border-opacity));
1324
1821
  position: sticky;
1325
1822
  left: 0px;
1326
1823
  z-index: 10;
1327
1824
  }
1328
1825
 
1329
- .xpl-table--freeze thead th:first-child:after, .xpl-table--freeze tbody td:first-child:after {
1826
+ .xpl-table--freeze thead th:first-child {
1827
+ --tw-bg-opacity: 1;
1828
+ background-color: rgba(250, 251, 252, var(--tw-bg-opacity));
1829
+ }
1830
+
1831
+ .xpl-table tbody tr td:first-child, .xpl-table p {
1832
+ font-weight: 500;
1833
+ font-size: 0.875rem;
1834
+ line-height: 1.25rem;
1835
+ --tw-text-opacity: 1;
1836
+ color: rgba(33, 38, 51, var(--tw-text-opacity));
1837
+ }
1838
+
1839
+ .dark .xpl-table thead th {
1840
+ --tw-text-opacity: 1;
1841
+ color: rgba(206, 211, 219, var(--tw-text-opacity));
1842
+ }
1843
+
1844
+ .dark .xpl-table tbody tr td {
1845
+ --tw-text-opacity: 1;
1846
+ color: rgba(206, 211, 219, var(--tw-text-opacity));
1847
+ }
1848
+
1849
+ .dark .xpl-table--freeze thead th:first-child {
1850
+ --tw-bg-opacity: 1;
1851
+ background-color: rgba(37, 43, 57, var(--tw-bg-opacity));
1852
+ --tw-border-opacity: 1;
1853
+ border-color: rgba(55, 62, 78, var(--tw-border-opacity));
1854
+ }
1855
+
1856
+ .dark .xpl-table--freeze tbody td:first-child {
1857
+ --tw-bg-opacity: 1;
1858
+ background-color: rgba(33, 38, 51, var(--tw-bg-opacity));
1859
+ --tw-border-opacity: 1;
1860
+ border-color: rgba(55, 62, 78, var(--tw-border-opacity));
1861
+ }
1862
+
1863
+ .xpl-table--freeze thead th:first-child::after,
1864
+ .xpl-table--freeze tbody td:first-child::after {
1865
+ background:
1866
+ linear-gradient(
1867
+ 90deg,
1868
+ #e4e6eb 0%,
1869
+ #e4e6eb 0.01%,
1870
+ rgba(228, 230, 235, 0) 100%
1871
+ );
1872
+ content: "";
1873
+ width: 24px;
1874
+ }
1875
+
1876
+ .xpl-table--freeze thead th:first-child::after, .xpl-table--freeze tbody td:first-child::after {
1330
1877
  display: block;
1331
1878
  height: 100%;
1332
1879
  opacity: 0;
@@ -1338,25 +1885,18 @@ button.xpl-button--xs.xpl-button--icon-only {
1338
1885
  transition-duration: 150ms;
1339
1886
  }
1340
1887
 
1341
- .xpl-table--freeze thead th:first-child:after,
1342
- .xpl-table--freeze tbody td:first-child:after {
1343
- background: linear-gradient(
1344
- 90deg,
1345
- #e4e6eb 0%,
1346
- #e4e6eb 0.01%,
1347
- rgba(228, 230, 235, 0) 100%
1348
- );
1349
- content: "";
1350
- width: 24px;
1351
- }
1352
-
1353
- .xpl-table--has-scrolled thead th:first-child:after, .xpl-table--has-scrolled tbody td:first-child:after {
1888
+ .xpl-table--has-scrolled thead th:first-child::after, .xpl-table--has-scrolled tbody td:first-child::after {
1354
1889
  opacity: 1;
1355
1890
  }
1356
1891
 
1357
- .xpl-table--freeze thead th:first-child {
1358
- --tw-bg-opacity: 1;
1359
- background-color: rgba(250, 251, 252, var(--tw-bg-opacity));
1892
+ .dark .xpl-table--freeze thead th:first-child::after,
1893
+ .dark .xpl-table--freeze tbody td:first-child::after {
1894
+ background:
1895
+ linear-gradient(
1896
+ 90deg,
1897
+ rgba(0, 0, 0, 0.4) 0%,
1898
+ rgba(0, 0, 0, 0) 100%
1899
+ );
1360
1900
  }
1361
1901
 
1362
1902
  .xpl-table thead {
@@ -1364,18 +1904,9 @@ button.xpl-button--xs.xpl-button--icon-only {
1364
1904
  background-color: rgba(250, 251, 252, var(--tw-bg-opacity));
1365
1905
  }
1366
1906
 
1367
- .xpl-table thead th {
1368
- font-weight: 500;
1369
- font-size: 10px;
1370
- line-height: 0.875rem;
1371
- padding-top: 0.75rem;
1372
- padding-bottom: 0.75rem;
1373
- padding-left: 1.5rem;
1374
- padding-right: 1.5rem;
1375
- text-align: left;
1376
- --tw-text-opacity: 1;
1377
- color: rgba(102, 109, 125, var(--tw-text-opacity));
1378
- white-space: nowrap;
1907
+ .dark .xpl-table thead {
1908
+ --tw-bg-opacity: 1;
1909
+ background-color: rgba(37, 43, 57, var(--tw-bg-opacity));
1379
1910
  }
1380
1911
 
1381
1912
  .xpl-table tbody > :not([hidden]) ~ :not([hidden]) {
@@ -1391,29 +1922,28 @@ button.xpl-button--xs.xpl-button--icon-only {
1391
1922
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1392
1923
  }
1393
1924
 
1925
+ .dark .xpl-table tbody > :not([hidden]) ~ :not([hidden]) {
1926
+ --tw-divide-opacity: 1;
1927
+ border-color: rgba(68, 75, 92, var(--tw-divide-opacity));
1928
+ }
1929
+
1930
+ .dark .xpl-table tbody {
1931
+ background-color: transparent;
1932
+ }
1933
+
1394
1934
  .xpl-table.xpl-table--striped tbody tr:nth-child(2n) td {
1395
1935
  --tw-bg-opacity: 1;
1396
1936
  background-color: rgba(250, 251, 252, var(--tw-bg-opacity));
1397
1937
  }
1398
1938
 
1399
- .xpl-table tbody tr td {
1400
- padding-top: 1rem;
1401
- padding-bottom: 1rem;
1402
- padding-left: 1.5rem;
1403
- padding-right: 1.5rem;
1404
- white-space: nowrap;
1405
- font-size: 12px;
1406
- line-height: 1rem;
1939
+ .dark .xpl-table tbody tr td:first-child, .dark .xpl-table p {
1407
1940
  --tw-text-opacity: 1;
1408
- color: rgba(102, 109, 125, var(--tw-text-opacity));
1941
+ color: rgba(255, 255, 255, var(--tw-text-opacity));
1409
1942
  }
1410
1943
 
1411
- .xpl-table tbody tr td:first-child, .xpl-table p {
1412
- font-weight: 500;
1413
- font-size: 12px;
1414
- line-height: 1rem;
1415
- --tw-text-opacity: 1;
1416
- color: rgba(33, 38, 51, var(--tw-text-opacity));
1944
+ .dark .xpl-table.xpl-table--striped tbody tr:nth-child(2n) td {
1945
+ --tw-bg-opacity: 1;
1946
+ background-color: rgba(37, 43, 57, var(--tw-bg-opacity));
1417
1947
  }
1418
1948
 
1419
1949
  .xpl-table .wrap {
@@ -1432,17 +1962,13 @@ button.xpl-button--xs.xpl-button--icon-only {
1432
1962
 
1433
1963
  .xpl-table label {
1434
1964
  cursor: pointer;
1965
+ display: flex;
1966
+ align-items: center;
1435
1967
  }
1436
1968
 
1437
1969
  .xpl-table input[type="checkbox"] {
1438
1970
  cursor: pointer;
1439
1971
  margin-right: 1.5rem;
1440
- vertical-align: middle;
1441
- }
1442
-
1443
- .xpl-table-row-selected td {
1444
- --tw-bg-opacity: 1 !important;
1445
- background-color: rgba(244, 242, 255, var(--tw-bg-opacity)) !important;
1446
1972
  }
1447
1973
 
1448
1974
  .xpl-tabs {
@@ -1477,7 +2003,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1477
2003
  border-bottom-width: 2px;
1478
2004
  display: flex;
1479
2005
  font-weight: 500;
1480
- font-size: 12px;
2006
+ font-size: 0.75rem;
1481
2007
  line-height: 1rem;
1482
2008
  padding-left: 0.25rem;
1483
2009
  padding-right: 0.25rem;
@@ -1501,7 +2027,7 @@ button.xpl-button--xs.xpl-button--icon-only {
1501
2027
  background-color: rgba(245, 247, 250, var(--tw-bg-opacity));
1502
2028
  border-radius: 9999px;
1503
2029
  font-weight: 500;
1504
- font-size: 10px;
2030
+ font-size: 0.625rem;
1505
2031
  line-height: 0.875rem;
1506
2032
  margin-left: 0.75rem;
1507
2033
  padding-top: 0.125rem;
@@ -1525,3 +2051,77 @@ button.xpl-button--xs.xpl-button--icon-only {
1525
2051
  --tw-text-opacity: 1;
1526
2052
  color: rgba(79, 70, 229, var(--tw-text-opacity));
1527
2053
  }
2054
+
2055
+ .xpl-utility-bar ul > * {
2056
+ display: grid;
2057
+ align-content: center;
2058
+ }
2059
+
2060
+ .xpl-utility-bar ul:nth-child(2) > * {
2061
+ margin-left: 0.5rem;
2062
+ }
2063
+
2064
+ .xpl-utility-bar ul:nth-child(2) {
2065
+ justify-self: end;
2066
+ }
2067
+
2068
+ .xpl-utility-bar ul:first-child > * {
2069
+ margin-right: 0.5rem;
2070
+ }
2071
+
2072
+ .xpl-utility-bar ul:first-child {
2073
+ justify-self: start;
2074
+ }
2075
+
2076
+ .xpl-utility-bar ul {
2077
+ display: grid;
2078
+ align-content: center;
2079
+ grid-auto-flow: column;
2080
+ }
2081
+
2082
+ .xpl-utility-bar {
2083
+ --tw-bg-opacity: 1;
2084
+ background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
2085
+ }
2086
+
2087
+ .dark .xpl-utility-bar {
2088
+ --tw-bg-opacity: 1;
2089
+ background-color: rgba(37, 43, 57, var(--tw-bg-opacity));
2090
+ }
2091
+
2092
+ .xpl-utility-bar {
2093
+ --tw-border-opacity: 1;
2094
+ border-color: rgba(206, 211, 219, var(--tw-border-opacity));
2095
+ }
2096
+
2097
+ .dark .xpl-utility-bar {
2098
+ --tw-border-opacity: 1;
2099
+ border-color: rgba(68, 75, 92, var(--tw-border-opacity));
2100
+ }
2101
+
2102
+ .xpl-utility-bar {
2103
+ border-bottom-width: 1px;
2104
+ display: grid;
2105
+ padding-top: 0.75rem;
2106
+ padding-bottom: 0.75rem;
2107
+ padding-left: 1rem;
2108
+ padding-right: 1rem;
2109
+ --tw-text-opacity: 1;
2110
+ color: rgba(102, 109, 125, var(--tw-text-opacity));
2111
+ }
2112
+
2113
+ .dark .xpl-utility-bar {
2114
+ --tw-text-opacity: 1;
2115
+ color: rgba(206, 211, 219, var(--tw-text-opacity));
2116
+ }
2117
+
2118
+ .xpl-utility-bar {
2119
+ grid-auto-flow: column;
2120
+ }
2121
+
2122
+ @media (min-width: 640px) {
2123
+ .xpl-utility-bar {
2124
+ padding-left: 1.5rem;
2125
+ padding-right: 1.5rem;
2126
+ }
2127
+ }