@rakeyshgidwani/roger-ui-bank-theme-stan-design 0.1.6 → 0.1.8

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 (70) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.esm.js +11 -2
  4. package/dist/index.js +11 -2
  5. package/dist/styles.css +1 -1
  6. package/package.json +1 -1
  7. package/src/index.css +1046 -0
  8. package/src/index.ts +9 -1
  9. package/src/plugins/theme-css-generator.ts +354 -0
  10. package/src/styles/base/fonts.css +30 -0
  11. package/src/styles/base/generated-theme-variables.css +573 -0
  12. package/src/styles/base/index.css +7 -0
  13. package/src/styles/base/reset.css +48 -0
  14. package/src/styles/base/theme.css +1068 -0
  15. package/src/styles/base/typography.css +68 -0
  16. package/src/styles/base/variables.css +5 -0
  17. package/src/styles/components/CLAUDE.md +62 -0
  18. package/src/styles/components/base/badge.css +428 -0
  19. package/src/styles/components/base/button.css +774 -0
  20. package/src/styles/components/base/card.css +601 -0
  21. package/src/styles/components/base/checkbox.css +442 -0
  22. package/src/styles/components/base/index.css +9 -0
  23. package/src/styles/components/base/input.css +887 -0
  24. package/src/styles/components/base/label.css +296 -0
  25. package/src/styles/components/data-display/chart.css +353 -0
  26. package/src/styles/components/data-display/data-grid.css +619 -0
  27. package/src/styles/components/data-display/index.css +9 -0
  28. package/src/styles/components/data-display/list.css +560 -0
  29. package/src/styles/components/data-display/table.css +498 -0
  30. package/src/styles/components/data-display/timeline.css +764 -0
  31. package/src/styles/components/data-display/tree.css +881 -0
  32. package/src/styles/components/feedback/alert.css +358 -0
  33. package/src/styles/components/feedback/index.css +7 -0
  34. package/src/styles/components/feedback/progress.css +435 -0
  35. package/src/styles/components/feedback/skeleton.css +337 -0
  36. package/src/styles/components/feedback/toast.css +564 -0
  37. package/src/styles/components/index.css +17 -0
  38. package/src/styles/components/navigation/breadcrumb.css +465 -0
  39. package/src/styles/components/navigation/index.css +9 -0
  40. package/src/styles/components/navigation/menu.css +572 -0
  41. package/src/styles/components/navigation/pagination.css +635 -0
  42. package/src/styles/components/navigation/sidebar.css +807 -0
  43. package/src/styles/components/navigation/stepper.css +519 -0
  44. package/src/styles/components/navigation/tabs.css +404 -0
  45. package/src/styles/components/overlay/backdrop.css +243 -0
  46. package/src/styles/components/overlay/index.css +8 -0
  47. package/src/styles/components/overlay/modal.css +482 -0
  48. package/src/styles/components/overlay/popover.css +607 -0
  49. package/src/styles/components/overlay/portal.css +213 -0
  50. package/src/styles/components/overlay/tooltip.css +488 -0
  51. package/src/styles/generated-theme-variables.css +573 -0
  52. package/src/styles/index.css +5 -0
  53. package/src/styles/layers/index.css +54 -0
  54. package/src/styles/layers/overrides.css +108 -0
  55. package/src/styles/layers/validation.css +159 -0
  56. package/src/styles/layers/validation.js +310 -0
  57. package/src/styles/themes/default.css +450 -0
  58. package/src/styles/themes/enterprise.css +370 -0
  59. package/src/styles/themes/harvey.css +436 -0
  60. package/src/styles/themes/index.css +4 -0
  61. package/src/styles/themes/stan-design.css +572 -0
  62. package/src/styles/utilities/advanced-transition-system.css +467 -0
  63. package/src/styles/utilities/battery-conscious-animations.css +289 -0
  64. package/src/styles/utilities/enterprise-mobile-experience.css +817 -0
  65. package/src/styles/utilities/hardware-acceleration.css +121 -0
  66. package/src/styles/utilities/index.css +20 -0
  67. package/src/styles/utilities/mobile-skeleton-loading.css +596 -0
  68. package/src/styles/utilities/semantic-input-system.css +451 -0
  69. package/src/styles/utilities/touch-friendly-interface.css +247 -0
  70. package/src/styles/utilities/touch-optimization.css +165 -0
@@ -0,0 +1,607 @@
1
+ /* Popover Component Styles */
2
+ /* Semantic CSS architecture following BEM methodology */
3
+
4
+ /* ============================================================================ */
5
+ /* POPOVER BASE */
6
+ /* ============================================================================ */
7
+
8
+ .popover {
9
+ --popover-border-radius: var(--cs-border-radius-md);
10
+ --popover-shadow: var(--cs-shadows-lg);
11
+ --popover-background: var(--cs-colors-surface-background);
12
+ --popover-border: var(--cs-border-width-normal) solid var(--cs-colors-surface-border);
13
+ --popover-transition: var(--cs-transitions-properties-all);
14
+ --popover-z-index: var(--cs-z-index-popover);
15
+ --popover-arrow-size: var(--cs-spacing-scale-2);
16
+ --popover-offset: var(--cs-spacing-scale-2);
17
+ }
18
+
19
+ .popover__trigger {
20
+ display: inline-block;
21
+ cursor: pointer;
22
+ }
23
+
24
+ .popover__content {
25
+ position: absolute;
26
+ z-index: var(--popover-z-index);
27
+ background-color: var(--popover-background);
28
+ border: var(--popover-border);
29
+ border-radius: var(--popover-border-radius);
30
+ box-shadow: var(--popover-shadow);
31
+ transform-origin: var(--popover-transform-origin, center);
32
+ transition: var(--popover-transition);
33
+ overflow: hidden;
34
+ max-width: var(--popover-max-width, var(--cs-spacing-scale-80));
35
+ min-width: var(--popover-min-width, var(--cs-spacing-scale-50));
36
+ }
37
+
38
+ /* ============================================================================ */
39
+ /* POPOVER SIZES */
40
+ /* ============================================================================ */
41
+
42
+ .popover__content--size-sm {
43
+ --popover-max-width: var(--cs-spacing-scale-60);
44
+ --popover-min-width: var(--cs-spacing-scale-40);
45
+ }
46
+
47
+ .popover__content--size-md {
48
+ --popover-max-width: var(--cs-spacing-scale-80);
49
+ --popover-min-width: var(--cs-spacing-scale-50);
50
+ }
51
+
52
+ .popover__content--size-lg {
53
+ --popover-max-width: var(--cs-spacing-scale-120);
54
+ --popover-min-width: var(--cs-spacing-scale-70);
55
+ }
56
+
57
+ /* ============================================================================ */
58
+ /* POPOVER VARIANTS */
59
+ /* ============================================================================ */
60
+
61
+ .popover__content--variant-default {
62
+ /* Uses base styles */
63
+ }
64
+
65
+ .popover__content--variant-filled {
66
+ background-color: var(--cs-colors-surface-surface);
67
+ border: none;
68
+ }
69
+
70
+ .popover__content--variant-outlined {
71
+ border-width: var(--cs-border-width-thick);
72
+ box-shadow: none;
73
+ }
74
+
75
+ /* ============================================================================ */
76
+ /* POPOVER POSITIONING */
77
+ /* ============================================================================ */
78
+
79
+ .popover__content--position-top {
80
+ --popover-transform-origin: bottom center;
81
+ margin-bottom: var(--popover-offset);
82
+ }
83
+
84
+ .popover__content--position-top-start {
85
+ --popover-transform-origin: bottom left;
86
+ margin-bottom: var(--popover-offset);
87
+ }
88
+
89
+ .popover__content--position-top-end {
90
+ --popover-transform-origin: bottom right;
91
+ margin-bottom: var(--popover-offset);
92
+ }
93
+
94
+ .popover__content--position-bottom {
95
+ --popover-transform-origin: top center;
96
+ margin-top: var(--popover-offset);
97
+ }
98
+
99
+ .popover__content--position-bottom-start {
100
+ --popover-transform-origin: top left;
101
+ margin-top: var(--popover-offset);
102
+ }
103
+
104
+ .popover__content--position-bottom-end {
105
+ --popover-transform-origin: top right;
106
+ margin-top: var(--popover-offset);
107
+ }
108
+
109
+ .popover__content--position-left {
110
+ --popover-transform-origin: center right;
111
+ margin-right: var(--popover-offset);
112
+ }
113
+
114
+ .popover__content--position-left-start {
115
+ --popover-transform-origin: top right;
116
+ margin-right: var(--popover-offset);
117
+ }
118
+
119
+ .popover__content--position-left-end {
120
+ --popover-transform-origin: bottom right;
121
+ margin-right: var(--popover-offset);
122
+ }
123
+
124
+ .popover__content--position-right {
125
+ --popover-transform-origin: center left;
126
+ margin-left: var(--popover-offset);
127
+ }
128
+
129
+ .popover__content--position-right-start {
130
+ --popover-transform-origin: top left;
131
+ margin-left: var(--popover-offset);
132
+ }
133
+
134
+ .popover__content--position-right-end {
135
+ --popover-transform-origin: bottom left;
136
+ margin-left: var(--popover-offset);
137
+ }
138
+
139
+ /* ============================================================================ */
140
+ /* POPOVER ARROW */
141
+ /* ============================================================================ */
142
+
143
+ .popover__arrow {
144
+ position: absolute;
145
+ width: 0;
146
+ height: 0;
147
+ border-style: solid;
148
+ pointer-events: none;
149
+ }
150
+
151
+ .popover__content--position-top .popover__arrow {
152
+ bottom: calc(-1 * var(--popover-arrow-size));
153
+ left: 50%;
154
+ transform: translateX(-50%);
155
+ border-left: var(--popover-arrow-size) solid transparent;
156
+ border-right: var(--popover-arrow-size) solid transparent;
157
+ border-top: var(--popover-arrow-size) solid var(--popover-background);
158
+ }
159
+
160
+ .popover__content--position-top-start .popover__arrow {
161
+ bottom: calc(-1 * var(--popover-arrow-size));
162
+ left: var(--cs-spacing-scale-4);
163
+ border-left: var(--popover-arrow-size) solid transparent;
164
+ border-right: var(--popover-arrow-size) solid transparent;
165
+ border-top: var(--popover-arrow-size) solid var(--popover-background);
166
+ }
167
+
168
+ .popover__content--position-top-end .popover__arrow {
169
+ bottom: calc(-1 * var(--popover-arrow-size));
170
+ right: var(--cs-spacing-scale-4);
171
+ border-left: var(--popover-arrow-size) solid transparent;
172
+ border-right: var(--popover-arrow-size) solid transparent;
173
+ border-top: var(--popover-arrow-size) solid var(--popover-background);
174
+ }
175
+
176
+ .popover__content--position-bottom .popover__arrow {
177
+ top: calc(-1 * var(--popover-arrow-size));
178
+ left: 50%;
179
+ transform: translateX(-50%);
180
+ border-left: var(--popover-arrow-size) solid transparent;
181
+ border-right: var(--popover-arrow-size) solid transparent;
182
+ border-bottom: var(--popover-arrow-size) solid var(--popover-background);
183
+ }
184
+
185
+ .popover__content--position-bottom-start .popover__arrow {
186
+ top: calc(-1 * var(--popover-arrow-size));
187
+ left: var(--cs-spacing-scale-4);
188
+ border-left: var(--popover-arrow-size) solid transparent;
189
+ border-right: var(--popover-arrow-size) solid transparent;
190
+ border-bottom: var(--popover-arrow-size) solid var(--popover-background);
191
+ }
192
+
193
+ .popover__content--position-bottom-end .popover__arrow {
194
+ top: calc(-1 * var(--popover-arrow-size));
195
+ right: var(--cs-spacing-scale-4);
196
+ border-left: var(--popover-arrow-size) solid transparent;
197
+ border-right: var(--popover-arrow-size) solid transparent;
198
+ border-bottom: var(--popover-arrow-size) solid var(--popover-background);
199
+ }
200
+
201
+ .popover__content--position-left .popover__arrow {
202
+ right: calc(-1 * var(--popover-arrow-size));
203
+ top: 50%;
204
+ transform: translateY(-50%);
205
+ border-top: var(--popover-arrow-size) solid transparent;
206
+ border-bottom: var(--popover-arrow-size) solid transparent;
207
+ border-left: var(--popover-arrow-size) solid var(--popover-background);
208
+ }
209
+
210
+ .popover__content--position-left-start .popover__arrow {
211
+ right: calc(-1 * var(--popover-arrow-size));
212
+ top: var(--cs-spacing-scale-4);
213
+ border-top: var(--popover-arrow-size) solid transparent;
214
+ border-bottom: var(--popover-arrow-size) solid transparent;
215
+ border-left: var(--popover-arrow-size) solid var(--popover-background);
216
+ }
217
+
218
+ .popover__content--position-left-end .popover__arrow {
219
+ right: calc(-1 * var(--popover-arrow-size));
220
+ bottom: var(--cs-spacing-scale-4);
221
+ border-top: var(--popover-arrow-size) solid transparent;
222
+ border-bottom: var(--popover-arrow-size) solid transparent;
223
+ border-left: var(--popover-arrow-size) solid var(--popover-background);
224
+ }
225
+
226
+ .popover__content--position-right .popover__arrow {
227
+ left: calc(-1 * var(--popover-arrow-size));
228
+ top: 50%;
229
+ transform: translateY(-50%);
230
+ border-top: var(--popover-arrow-size) solid transparent;
231
+ border-bottom: var(--popover-arrow-size) solid transparent;
232
+ border-right: var(--popover-arrow-size) solid var(--popover-background);
233
+ }
234
+
235
+ .popover__content--position-right-start .popover__arrow {
236
+ left: calc(-1 * var(--popover-arrow-size));
237
+ top: var(--cs-spacing-scale-4);
238
+ border-top: var(--popover-arrow-size) solid transparent;
239
+ border-bottom: var(--popover-arrow-size) solid transparent;
240
+ border-right: var(--popover-arrow-size) solid var(--popover-background);
241
+ }
242
+
243
+ .popover__content--position-right-end .popover__arrow {
244
+ left: calc(-1 * var(--popover-arrow-size));
245
+ bottom: var(--cs-spacing-scale-4);
246
+ border-top: var(--popover-arrow-size) solid transparent;
247
+ border-bottom: var(--popover-arrow-size) solid transparent;
248
+ border-right: var(--popover-arrow-size) solid var(--popover-background);
249
+ }
250
+
251
+ /* ============================================================================ */
252
+ /* POPOVER HEADER */
253
+ /* ============================================================================ */
254
+
255
+ .popover__header {
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: space-between;
259
+ padding: var(--cs-spacing-scale-4);
260
+ border-bottom: var(--cs-border-width-normal) solid var(--cs-colors-surface-border);
261
+ background-color: var(--cs-colors-surface-surface);
262
+ flex-shrink: 0;
263
+ }
264
+
265
+ .popover__header--borderless {
266
+ border-bottom: none;
267
+ }
268
+
269
+ .popover__header--no-padding {
270
+ padding: 0;
271
+ }
272
+
273
+ .popover__title {
274
+ font-size: var(--cs-fonts-primary-sizes-base);
275
+ font-weight: var(--cs-fonts-primary-weights-semibold);
276
+ line-height: var(--cs-fonts-primary-line-heights-tight);
277
+ color: var(--cs-colors-text-primary);
278
+ margin: 0;
279
+ flex: 1;
280
+ }
281
+
282
+ .popover__subtitle {
283
+ font-size: var(--cs-fonts-primary-sizes-sm);
284
+ color: var(--cs-colors-text-secondary);
285
+ margin: var(--cs-spacing-scale-1) 0 0;
286
+ }
287
+
288
+ .popover__close {
289
+ display: flex;
290
+ align-items: center;
291
+ justify-content: center;
292
+ width: var(--cs-spacing-scale-6);
293
+ height: var(--cs-spacing-scale-6);
294
+ border: none;
295
+ background: none;
296
+ color: var(--cs-colors-text-secondary);
297
+ cursor: pointer;
298
+ border-radius: var(--cs-border-radius-sm);
299
+ transition: var(--popover-transition);
300
+ flex-shrink: 0;
301
+ margin-left: var(--cs-spacing-scale-2);
302
+ }
303
+
304
+ .popover__close:hover {
305
+ background-color: var(--cs-colors-interactive-hover);
306
+ color: var(--cs-colors-text-primary);
307
+ }
308
+
309
+ .popover__close:focus {
310
+ outline: var(--cs-border-width-thick) solid var(--cs-colors-interactive-focus);
311
+ outline-offset: var(--cs-spacing-scale-0-5);
312
+ }
313
+
314
+ .popover__close:active {
315
+ background-color: var(--cs-colors-interactive-active);
316
+ }
317
+
318
+ /* ============================================================================ */
319
+ /* POPOVER BODY */
320
+ /* ============================================================================ */
321
+
322
+ .popover__body {
323
+ padding: var(--cs-spacing-scale-4);
324
+ color: var(--cs-colors-text-primary);
325
+ line-height: var(--cs-fonts-primary-line-heights-relaxed);
326
+ }
327
+
328
+ .popover__body--no-padding {
329
+ padding: 0;
330
+ }
331
+
332
+ .popover__body--compact {
333
+ padding: var(--cs-spacing-scale-3);
334
+ }
335
+
336
+ .popover__body--spacious {
337
+ padding: var(--cs-spacing-scale-6);
338
+ }
339
+
340
+ .popover__body--scrollable {
341
+ max-height: var(--popover-max-height, var(--cs-spacing-scale-75));
342
+ overflow-y: auto;
343
+ }
344
+
345
+ /* ============================================================================ */
346
+ /* POPOVER FOOTER */
347
+ /* ============================================================================ */
348
+
349
+ .popover__footer {
350
+ display: flex;
351
+ align-items: center;
352
+ justify-content: flex-end;
353
+ gap: var(--cs-spacing-scale-2);
354
+ padding: var(--cs-spacing-scale-4);
355
+ border-top: var(--cs-border-width-normal) solid var(--cs-colors-surface-border);
356
+ background-color: var(--cs-colors-surface-surface);
357
+ flex-shrink: 0;
358
+ }
359
+
360
+ .popover__footer--borderless {
361
+ border-top: none;
362
+ }
363
+
364
+ .popover__footer--no-padding {
365
+ padding: 0;
366
+ }
367
+
368
+ .popover__footer--center {
369
+ justify-content: center;
370
+ }
371
+
372
+ .popover__footer--space-between {
373
+ justify-content: space-between;
374
+ }
375
+
376
+ .popover__footer--start {
377
+ justify-content: flex-start;
378
+ }
379
+
380
+ /* ============================================================================ */
381
+ /* POPOVER ANIMATIONS */
382
+ /* ============================================================================ */
383
+
384
+ .popover__content--enter {
385
+ animation: popover-fade-in var(--cs-transitions-durations-normal) var(--cs-transitions-easings-ease-out);
386
+ }
387
+
388
+ .popover__content--exit {
389
+ animation: popover-fade-out var(--cs-transitions-durations-normal) var(--cs-transitions-easings-ease-in);
390
+ }
391
+
392
+ .popover__content--slide-enter {
393
+ animation: popover-slide-in var(--cs-transitions-durations-normal) var(--cs-transitions-easings-ease-out);
394
+ }
395
+
396
+ .popover__content--slide-exit {
397
+ animation: popover-slide-out var(--cs-transitions-durations-normal) var(--cs-transitions-easings-ease-in);
398
+ }
399
+
400
+ .popover__content--scale-enter {
401
+ animation: popover-scale-in var(--cs-transitions-durations-normal) var(--cs-transitions-easings-ease-out);
402
+ }
403
+
404
+ .popover__content--scale-exit {
405
+ animation: popover-scale-out var(--cs-transitions-durations-normal) var(--cs-transitions-easings-ease-in);
406
+ }
407
+
408
+ @keyframes popover-fade-in {
409
+ from {
410
+ opacity: 0;
411
+ }
412
+ to {
413
+ opacity: 1;
414
+ }
415
+ }
416
+
417
+ @keyframes popover-fade-out {
418
+ from {
419
+ opacity: 1;
420
+ }
421
+ to {
422
+ opacity: 0;
423
+ }
424
+ }
425
+
426
+ @keyframes popover-slide-in {
427
+ from {
428
+ opacity: 0;
429
+ transform: var(--popover-slide-from, translateY(calc(-1 * var(--cs-spacing-scale-2))));
430
+ }
431
+ to {
432
+ opacity: 1;
433
+ transform: translateY(0);
434
+ }
435
+ }
436
+
437
+ @keyframes popover-slide-out {
438
+ from {
439
+ opacity: 1;
440
+ transform: translateY(0);
441
+ }
442
+ to {
443
+ opacity: 0;
444
+ transform: var(--popover-slide-to, translateY(calc(-1 * var(--cs-spacing-scale-2))));
445
+ }
446
+ }
447
+
448
+ @keyframes popover-scale-in {
449
+ from {
450
+ opacity: 0;
451
+ transform: scale(0.95);
452
+ }
453
+ to {
454
+ opacity: 1;
455
+ transform: scale(1);
456
+ }
457
+ }
458
+
459
+ @keyframes popover-scale-out {
460
+ from {
461
+ opacity: 1;
462
+ transform: scale(1);
463
+ }
464
+ to {
465
+ opacity: 0;
466
+ transform: scale(0.95);
467
+ }
468
+ }
469
+
470
+ /* ============================================================================ */
471
+ /* RESPONSIVE DESIGN */
472
+ /* ============================================================================ */
473
+
474
+ @media (max-width: 640px) {
475
+ .popover__content {
476
+ --popover-max-width: calc(100vw - var(--cs-spacing-scale-4));
477
+ --popover-min-width: var(--cs-spacing-scale-50);
478
+ }
479
+
480
+ .popover__header,
481
+ .popover__body,
482
+ .popover__footer {
483
+ padding: var(--cs-spacing-scale-3);
484
+ }
485
+
486
+ .popover__body--scrollable {
487
+ --popover-max-height: var(--cs-spacing-scale-62-5);
488
+ }
489
+ }
490
+
491
+ @media (max-width: 480px) {
492
+ .popover__content {
493
+ --popover-max-width: calc(100vw - var(--cs-spacing-scale-2));
494
+ --popover-min-width: var(--cs-spacing-scale-45);
495
+ }
496
+
497
+ .popover__header,
498
+ .popover__body,
499
+ .popover__footer {
500
+ padding: var(--cs-spacing-scale-2);
501
+ }
502
+ }
503
+
504
+ /* ============================================================================ */
505
+ /* ACCESSIBILITY */
506
+ /* ============================================================================ */
507
+
508
+ .popover__content[role="dialog"] {
509
+ /* Ensure popover is properly announced to screen readers */
510
+ }
511
+
512
+ .popover__content:focus {
513
+ outline: none;
514
+ }
515
+
516
+ /* High contrast mode support */
517
+ @media (prefers-contrast: high) {
518
+ .popover__content {
519
+ border: var(--cs-border-width-thick) solid;
520
+ }
521
+
522
+ .popover__header,
523
+ .popover__footer {
524
+ border-color: currentColor;
525
+ }
526
+ }
527
+
528
+ /* Reduced motion support */
529
+ @media (prefers-reduced-motion: reduce) {
530
+ .popover__content {
531
+ transition: none;
532
+ }
533
+
534
+ .popover__content--enter,
535
+ .popover__content--exit,
536
+ .popover__content--slide-enter,
537
+ .popover__content--slide-exit,
538
+ .popover__content--scale-enter,
539
+ .popover__content--scale-exit {
540
+ animation: none;
541
+ }
542
+ }
543
+
544
+ /* ============================================================================ */
545
+ /* THEME INTEGRATION */
546
+ /* ============================================================================ */
547
+
548
+ .popover__content--theme-dark {
549
+ --popover-background: var(--cs-colors-gray-800);
550
+ --popover-border: var(--cs-border-width-normal) solid var(--cs-colors-gray-700);
551
+ color: var(--cs-colors-white);
552
+ }
553
+
554
+ .popover__content--theme-dark .popover__header,
555
+ .popover__content--theme-dark .popover__footer {
556
+ background-color: var(--cs-colors-gray-900);
557
+ border-color: var(--cs-colors-gray-700);
558
+ }
559
+
560
+ .popover__content--theme-dark .popover__title {
561
+ color: var(--cs-colors-white);
562
+ }
563
+
564
+ .popover__content--theme-dark .popover__subtitle {
565
+ color: var(--cs-colors-gray-400);
566
+ }
567
+
568
+ .popover__content--theme-dark .popover__close {
569
+ color: var(--cs-colors-gray-400);
570
+ }
571
+
572
+ .popover__content--theme-dark .popover__close:hover {
573
+ background-color: var(--cs-colors-gray-700);
574
+ color: var(--cs-colors-white);
575
+ }
576
+
577
+ /* ============================================================================ */
578
+ /* FOCUS MANAGEMENT */
579
+ /* ============================================================================ */
580
+
581
+ .popover__content--focus-visible {
582
+ outline: var(--cs-border-width-thick) solid var(--cs-colors-interactive-focus);
583
+ outline-offset: var(--cs-spacing-scale-0-5);
584
+ }
585
+
586
+ /* ============================================================================ */
587
+ /* INTERACTION STATES */
588
+ /* ============================================================================ */
589
+
590
+ .popover__trigger:focus-visible {
591
+ outline: var(--cs-border-width-thick) solid var(--cs-colors-interactive-focus);
592
+ outline-offset: var(--cs-spacing-scale-0-5);
593
+ border-radius: var(--cs-border-radius-sm);
594
+ }
595
+
596
+ .popover__trigger--disabled {
597
+ pointer-events: none;
598
+ opacity: 0.5;
599
+ }
600
+
601
+ .popover__content--no-pointer-events {
602
+ pointer-events: none;
603
+ }
604
+
605
+ .popover__content--no-pointer-events * {
606
+ pointer-events: auto;
607
+ }