@shohojdhara/atomix 0.2.7 → 0.2.9

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 (54) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +40 -1
  3. package/dist/atomix.css +412 -77
  4. package/dist/atomix.min.css +3 -3
  5. package/dist/index.d.ts +913 -12
  6. package/dist/index.esm.js +1739 -209
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/index.js +1763 -208
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.min.js +1 -1
  11. package/dist/index.min.js.map +1 -1
  12. package/dist/themes/applemix.css +412 -77
  13. package/dist/themes/applemix.min.css +3 -3
  14. package/dist/themes/boomdevs.css +411 -76
  15. package/dist/themes/boomdevs.min.css +3 -3
  16. package/dist/themes/esrar.css +412 -77
  17. package/dist/themes/esrar.min.css +3 -3
  18. package/dist/themes/flashtrade.css +1803 -622
  19. package/dist/themes/flashtrade.min.css +113 -7
  20. package/dist/themes/mashroom.css +411 -76
  21. package/dist/themes/mashroom.min.css +4 -4
  22. package/dist/themes/shaj-default.css +411 -76
  23. package/dist/themes/shaj-default.min.css +3 -3
  24. package/package.json +13 -2
  25. package/src/components/Button/Button.stories.tsx +174 -0
  26. package/src/components/Button/Button.tsx +238 -78
  27. package/src/components/Card/Card.stories.tsx +202 -0
  28. package/src/components/Card/Card.tsx +253 -77
  29. package/src/components/Form/Input.stories.tsx +228 -2
  30. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +301 -13
  31. package/src/components/Navigation/SideMenu/SideMenu.tsx +236 -9
  32. package/src/components/Tooltip/Tooltip.tsx +68 -66
  33. package/src/lib/composables/useButton.ts +37 -5
  34. package/src/lib/composables/useInput.ts +39 -1
  35. package/src/lib/composables/useSideMenu.ts +89 -30
  36. package/src/lib/constants/components.ts +53 -0
  37. package/src/lib/index.ts +5 -0
  38. package/src/lib/theme/ThemeContext.tsx +17 -0
  39. package/src/lib/theme/ThemeManager.stories.tsx +472 -0
  40. package/src/lib/theme/ThemeManager.test.ts +186 -0
  41. package/src/lib/theme/ThemeManager.ts +501 -0
  42. package/src/lib/theme/ThemeProvider.tsx +227 -0
  43. package/src/lib/theme/index.ts +56 -0
  44. package/src/lib/theme/types.ts +247 -0
  45. package/src/lib/theme/useTheme.test.tsx +66 -0
  46. package/src/lib/theme/useTheme.ts +80 -0
  47. package/src/lib/theme/utils.test.ts +140 -0
  48. package/src/lib/theme/utils.ts +398 -0
  49. package/src/lib/types/components.ts +304 -4
  50. package/src/styles/01-settings/_settings.tooltip.scss +2 -2
  51. package/src/styles/06-components/_components.button.scss +100 -0
  52. package/src/styles/06-components/_components.card.scss +235 -2
  53. package/src/styles/06-components/_components.side-menu.scss +79 -18
  54. package/src/styles/06-components/_components.tooltip.scss +89 -66
@@ -2763,12 +2763,76 @@ a, a:hover {
2763
2763
  .c-btn--icon {
2764
2764
  --atomix-btn-padding-x: var(--atomix-btn-padding-y);
2765
2765
  }
2766
+ .c-btn--full-width {
2767
+ width: 100%;
2768
+ }
2769
+ .c-btn--block {
2770
+ display: block;
2771
+ width: 100%;
2772
+ }
2773
+ .c-btn--loading {
2774
+ position: relative;
2775
+ pointer-events: none;
2776
+ cursor: wait;
2777
+ }
2778
+ .c-btn--loading::before {
2779
+ content: "";
2780
+ position: absolute;
2781
+ inset: 0;
2782
+ background-color: rgba(255, 255, 255, 0.5);
2783
+ border-radius: var(--atomix-btn-border-radius);
2784
+ z-index: 0;
2785
+ }
2786
+ .c-btn--active {
2787
+ --atomix-btn-bg: var(--atomix-btn-active-bg, var(--atomix-btn-hover-bg));
2788
+ --atomix-btn-color: var(--atomix-btn-active-color, var(--atomix-btn-hover-color));
2789
+ --atomix-btn-border-color: var(--atomix-btn-active-border-color, var(--atomix-btn-hover-border-color));
2790
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
2791
+ }
2792
+ .c-btn--selected {
2793
+ --atomix-btn-border-width: 2px;
2794
+ --atomix-btn-border-color: var(--atomix-brand-border-subtle, var(--atomix-primary));
2795
+ box-shadow: 0 0 0 2px rgba(var(--atomix-primary-rgb, 124, 58, 237), 0.2);
2796
+ }
2797
+ .c-btn__icon {
2798
+ display: inline-flex;
2799
+ align-items: center;
2800
+ flex-shrink: 0;
2801
+ }
2802
+ .c-btn__icon--start {
2803
+ order: -1;
2804
+ }
2805
+ .c-btn__icon--end {
2806
+ order: 1;
2807
+ }
2808
+ .c-btn__label {
2809
+ display: inline-block;
2810
+ }
2811
+ .c-btn__spinner {
2812
+ display: inline-flex;
2813
+ align-items: center;
2814
+ flex-shrink: 0;
2815
+ margin-right: 0.5rem;
2816
+ }
2817
+ .c-btn__spinner:last-child {
2818
+ margin-right: 0;
2819
+ margin-left: 0.5rem;
2820
+ }
2821
+ .c-btn:focus-visible {
2822
+ outline: 2px solid var(--atomix-brand-border-subtle, var(--atomix-primary));
2823
+ outline-offset: 2px;
2824
+ box-shadow: var(--atomix-btn-focus-box-shadow);
2825
+ }
2766
2826
  .c-btn:disabled, .c-btn--disabled, fieldset:disabled .c-btn {
2767
2827
  color: var(--atomix-btn-disabled-color);
2768
2828
  pointer-events: none;
2769
2829
  background-color: var(--atomix-btn-disabled-bg);
2770
2830
  border-color: var(--atomix-btn-disabled-border-color);
2771
2831
  opacity: var(--atomix-btn-disabled-opacity);
2832
+ cursor: not-allowed;
2833
+ }
2834
+ .c-btn:disabled:focus-visible, .c-btn--disabled:focus-visible, fieldset:disabled .c-btn:focus-visible {
2835
+ outline: none;
2772
2836
  }
2773
2837
  .c-btn--glass {
2774
2838
  background-color: color-mix(in srgb, var(--atomix-btn-bg) 50%, transparent);
@@ -2776,6 +2840,22 @@ a, a:hover {
2776
2840
  .c-btn--glass:hover {
2777
2841
  background-color: color-mix(in srgb, var(--atomix-btn-hover-bg) 50%, transparent);
2778
2842
  }
2843
+ @media (prefers-reduced-motion: reduce) {
2844
+ .c-btn {
2845
+ transition: none;
2846
+ }
2847
+ .c-btn__spinner {
2848
+ animation-duration: 2s;
2849
+ }
2850
+ }
2851
+ @media (prefers-contrast: high) {
2852
+ .c-btn {
2853
+ border-width: 2px;
2854
+ }
2855
+ .c-btn:focus-visible {
2856
+ outline-width: 3px;
2857
+ }
2858
+ }
2779
2859
  .c-datepicker {
2780
2860
  --atomix-datepicker-width: 19rem;
2781
2861
  --atomix-datepicker-padding-x: 0.5rem;
@@ -3238,6 +3318,19 @@ a, a:hover {
3238
3318
  transition-timing-function: ease-in-out;
3239
3319
  transition-delay: 0s;
3240
3320
  background-color: var(--atomix-card-bg);
3321
+ display: block;
3322
+ text-decoration: none;
3323
+ color: inherit;
3324
+ }
3325
+ .c-card[href] {
3326
+ display: block;
3327
+ text-decoration: none !important;
3328
+ color: inherit !important;
3329
+ cursor: pointer;
3330
+ }
3331
+ .c-card[href]:hover, .c-card[href]:focus, .c-card[href]:visited, .c-card[href]:active {
3332
+ text-decoration: none !important;
3333
+ color: inherit !important;
3241
3334
  }
3242
3335
  .c-card__header {
3243
3336
  margin-bottom: var(--atomix-card-header-spacer-y);
@@ -3315,15 +3408,220 @@ a, a:hover {
3315
3408
  padding: var(--atomix-card-row-spacer-y) var(--atomix-card-row-spacer-x);
3316
3409
  padding-top: 0;
3317
3410
  }
3411
+ .c-card--sm {
3412
+ --atomix-card-spacer-y: 0.5rem;
3413
+ --atomix-card-spacer-x: 0.5rem;
3414
+ --atomix-card-title-font-size: var(--atomix-font-size-sm);
3415
+ --atomix-card-text-font-size: var(--atomix-font-size-xs);
3416
+ }
3417
+ .c-card--lg {
3418
+ --atomix-card-spacer-y: 1.5rem;
3419
+ --atomix-card-spacer-x: 1.5rem;
3420
+ --atomix-card-title-font-size: var(--atomix-font-size-lg);
3421
+ --atomix-card-text-font-size: var(--atomix-font-size-base);
3422
+ }
3423
+ .c-card--filled {
3424
+ background-color: var(--atomix-card-bg);
3425
+ }
3318
3426
  .c-card--glass {
3319
3427
  max-width: none;
3320
3428
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
3321
3429
  }
3430
+ .c-card--outlined {
3431
+ background-color: transparent;
3432
+ border-width: var(--atomix-card-border-width);
3433
+ }
3434
+ .c-card--ghost {
3435
+ background-color: transparent;
3436
+ border: none;
3437
+ }
3438
+ .c-card--elevated {
3439
+ box-shadow: var(--atomix-box-shadow-md);
3440
+ }
3441
+ .c-card--elevation-none {
3442
+ box-shadow: none;
3443
+ }
3444
+ .c-card--elevation-sm {
3445
+ box-shadow: var(--atomix-box-shadow-sm);
3446
+ }
3447
+ .c-card--elevation-md {
3448
+ box-shadow: var(--atomix-box-shadow-md);
3449
+ }
3450
+ .c-card--elevation-lg {
3451
+ box-shadow: var(--atomix-box-shadow-lg);
3452
+ }
3453
+ .c-card--elevation-xl {
3454
+ box-shadow: var(--atomix-box-shadow-xl);
3455
+ }
3456
+ .c-card--disabled {
3457
+ opacity: 0.6;
3458
+ cursor: not-allowed;
3459
+ pointer-events: none;
3460
+ -webkit-user-select: none;
3461
+ -moz-user-select: none;
3462
+ user-select: none;
3463
+ }
3464
+ .c-card--loading {
3465
+ position: relative;
3466
+ pointer-events: none;
3467
+ -webkit-user-select: none;
3468
+ -moz-user-select: none;
3469
+ user-select: none;
3470
+ overflow: hidden;
3471
+ }
3472
+ .c-card--loading::before {
3473
+ content: "";
3474
+ position: absolute;
3475
+ inset: 0;
3476
+ background-color: var(--atomix-card-bg-hover);
3477
+ -webkit-backdrop-filter: blur(1px);
3478
+ backdrop-filter: blur(1px);
3479
+ z-index: 1;
3480
+ border-radius: var(--atomix-card-border-radius);
3481
+ }
3482
+ [data-theme=dark] .c-card--loading::before, .c-card--loading.dark::before {
3483
+ background-color: rgba(0, 0, 0, 0.5);
3484
+ }
3485
+ .c-card--selected {
3486
+ --atomix-card-border-color: var(--atomix-brand-border-subtle);
3487
+ --atomix-card-border-width: 2px;
3488
+ box-shadow: var(--atomix-box-shadow-md);
3489
+ }
3490
+ .c-card--interactive {
3491
+ cursor: pointer;
3492
+ transition: all 0.2s ease-in-out;
3493
+ }
3494
+ .c-card--interactive:hover:not(.c-card--interactive--disabled) {
3495
+ transform: translateY(-2px);
3496
+ box-shadow: var(--atomix-box-shadow-lg);
3497
+ }
3498
+ .c-card--interactive:active:not(.c-card--interactive--disabled) {
3499
+ transform: translateY(0);
3500
+ }
3501
+ .c-card--primary {
3502
+ --atomix-card-bg: var(--atomix-brand-bg-subtle);
3503
+ --atomix-card-bg-hover: var(--atomix-brand-bg-subtle);
3504
+ --atomix-card-border-color: var(--atomix-brand-border-subtle);
3505
+ --atomix-card-title-color: var(--atomix-brand-text-emphasis);
3506
+ --atomix-card-icon-bg: var(--atomix-brand-text-emphasis);
3507
+ --atomix-card-icon-color: var(--atomix-brand-bg-subtle);
3508
+ }
3509
+ .c-card--secondary {
3510
+ --atomix-card-bg: var(--atomix-secondary-bg-subtle);
3511
+ --atomix-card-bg-hover: var(--atomix-secondary-bg-subtle);
3512
+ --atomix-card-border-color: var(--atomix-secondary-border-subtle);
3513
+ --atomix-card-title-color: var(--atomix-secondary-text-emphasis);
3514
+ --atomix-card-icon-bg: var(--atomix-secondary-text-emphasis);
3515
+ --atomix-card-icon-color: var(--atomix-secondary-bg-subtle);
3516
+ }
3517
+ .c-card--success {
3518
+ --atomix-card-bg: var(--atomix-success-bg-subtle);
3519
+ --atomix-card-bg-hover: var(--atomix-success-bg-subtle);
3520
+ --atomix-card-border-color: var(--atomix-success-border-subtle);
3521
+ --atomix-card-title-color: var(--atomix-success-text-emphasis);
3522
+ --atomix-card-icon-bg: var(--atomix-success-text-emphasis);
3523
+ --atomix-card-icon-color: var(--atomix-success-bg-subtle);
3524
+ }
3525
+ .c-card--info {
3526
+ --atomix-card-bg: var(--atomix-info-bg-subtle);
3527
+ --atomix-card-bg-hover: var(--atomix-info-bg-subtle);
3528
+ --atomix-card-border-color: var(--atomix-info-border-subtle);
3529
+ --atomix-card-title-color: var(--atomix-info-text-emphasis);
3530
+ --atomix-card-icon-bg: var(--atomix-info-text-emphasis);
3531
+ --atomix-card-icon-color: var(--atomix-info-bg-subtle);
3532
+ }
3533
+ .c-card--warning {
3534
+ --atomix-card-bg: var(--atomix-warning-bg-subtle);
3535
+ --atomix-card-bg-hover: var(--atomix-warning-bg-subtle);
3536
+ --atomix-card-border-color: var(--atomix-warning-border-subtle);
3537
+ --atomix-card-title-color: var(--atomix-warning-text-emphasis);
3538
+ --atomix-card-icon-bg: var(--atomix-warning-text-emphasis);
3539
+ --atomix-card-icon-color: var(--atomix-warning-bg-subtle);
3540
+ }
3541
+ .c-card--error {
3542
+ --atomix-card-bg: var(--atomix-error-bg-subtle);
3543
+ --atomix-card-bg-hover: var(--atomix-error-bg-subtle);
3544
+ --atomix-card-border-color: var(--atomix-error-border-subtle);
3545
+ --atomix-card-title-color: var(--atomix-error-text-emphasis);
3546
+ --atomix-card-icon-bg: var(--atomix-error-text-emphasis);
3547
+ --atomix-card-icon-color: var(--atomix-error-bg-subtle);
3548
+ }
3549
+ .c-card--light {
3550
+ --atomix-card-bg: var(--atomix-light);
3551
+ --atomix-card-bg-hover: var(--atomix-light-hover);
3552
+ --atomix-card-border-color: var(--atomix-light);
3553
+ --atomix-card-title-color: var(--atomix-dark);
3554
+ --atomix-card-text-color: var(--atomix-dark);
3555
+ --atomix-card-icon-bg: var(--atomix-dark);
3556
+ --atomix-card-icon-color: var(--atomix-light);
3557
+ }
3558
+ .c-card--dark {
3559
+ --atomix-card-bg: var(--atomix-dark);
3560
+ --atomix-card-bg-hover: var(--atomix-dark-hover);
3561
+ --atomix-card-border-color: var(--atomix-dark);
3562
+ --atomix-card-title-color: var(--atomix-light);
3563
+ --atomix-card-text-color: var(--atomix-light);
3564
+ --atomix-card-icon-bg: var(--atomix-light);
3565
+ --atomix-card-icon-color: var(--atomix-dark);
3566
+ }
3567
+ .c-card__loading {
3568
+ position: absolute;
3569
+ inset: 0;
3570
+ display: flex;
3571
+ align-items: center;
3572
+ justify-content: center;
3573
+ z-index: 2;
3574
+ border-radius: var(--atomix-card-border-radius);
3575
+ pointer-events: none;
3576
+ }
3577
+ .c-card__spinner {
3578
+ width: 2.5rem;
3579
+ height: 2.5rem;
3580
+ border: 4px solid;
3581
+ border-color: var(--atomix-border-primary, rgba(0, 0, 0, 0.15));
3582
+ border-top-color: var(--atomix-brand-text-emphasis, var(--atomix-primary));
3583
+ border-right-color: var(--atomix-brand-text-emphasis, var(--atomix-primary));
3584
+ border-radius: 50%;
3585
+ animation: spin 0.8s linear infinite;
3586
+ background-color: transparent;
3587
+ flex-shrink: 0;
3588
+ box-sizing: border-box;
3589
+ display: block;
3590
+ }
3591
+ .c-card:focus-visible {
3592
+ outline: 2px solid var(--atomix-brand-border-subtle);
3593
+ outline-offset: 2px;
3594
+ }
3595
+ @media (prefers-reduced-motion: reduce) {
3596
+ .c-card {
3597
+ transition: none;
3598
+ }
3599
+ .c-card--interactive:hover:not(.c-card--disabled) {
3600
+ transform: none;
3601
+ }
3602
+ .c-card__spinner {
3603
+ animation: none;
3604
+ border-top-color: transparent;
3605
+ }
3606
+ }
3607
+ @media (prefers-contrast: high) {
3608
+ .c-card {
3609
+ border-width: 2px;
3610
+ }
3611
+ .c-card--selected {
3612
+ border-width: 3px;
3613
+ }
3614
+ }
3322
3615
  .is-elevated .c-card {
3323
3616
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
3324
3617
  z-index: 1;
3325
3618
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
3326
3619
  }
3620
+ @keyframes spin {
3621
+ to {
3622
+ transform: rotate(360deg);
3623
+ }
3624
+ }
3327
3625
  .c-chart {
3328
3626
  --atomix-chart-primary-color: var(--atomix-primary);
3329
3627
  --atomix-chart-secondary-color: var(--atomix-secondary);
@@ -9512,30 +9810,30 @@ a, a:hover {
9512
9810
  padding: 1rem 1rem;
9513
9811
  }
9514
9812
  }
9515
- @media (max-width: 991.98px) {
9516
- .c-side-menu__wrapper {
9517
- height: 0px;
9518
- overflow: hidden;
9519
- -webkit-user-select: none;
9520
- -moz-user-select: none;
9521
- user-select: none;
9522
- transition: var(--atomix-side-menu-wrapper-transition);
9523
- }
9813
+ .c-side-menu__wrapper {
9814
+ overflow: hidden;
9815
+ -webkit-user-select: none;
9816
+ -moz-user-select: none;
9817
+ user-select: none;
9818
+ transition: var(--atomix-side-menu-wrapper-transition);
9819
+ height: 0px;
9524
9820
  }
9525
- @media (max-width: 991.98px) {
9526
- .c-side-menu__inner {
9527
- padding-top: var(--atomix-side-menu-inner-padding-top);
9528
- }
9821
+ .c-side-menu__inner {
9822
+ padding-top: var(--atomix-side-menu-inner-padding-top);
9529
9823
  }
9530
9824
  .c-side-menu__title {
9531
9825
  color: var(--atomix-side-menu-title-color);
9532
9826
  font-size: var(--atomix-side-menu-title-font-size);
9533
9827
  font-weight: var(--atomix-side-menu-title-font-weight);
9828
+ margin: 0;
9534
9829
  margin-bottom: var(--atomix-side-menu-title-spacer-y);
9535
- margin: 0 0 var(--atomix-side-menu-title-spacer-y) 0;
9830
+ }
9831
+ .c-side-menu__toggler .c-side-menu__title {
9832
+ margin-bottom: 0;
9833
+ flex: 1 1;
9536
9834
  }
9537
9835
  .c-side-menu__toggler {
9538
- display: none;
9836
+ display: flex;
9539
9837
  align-items: center;
9540
9838
  justify-content: space-between;
9541
9839
  width: 100%;
@@ -9549,19 +9847,18 @@ a, a:hover {
9549
9847
  user-select: none;
9550
9848
  transition: var(--atomix-side-menu-toggler-transition);
9551
9849
  text-align: left;
9552
- }
9553
- @media (max-width: 991.98px) {
9554
- .c-side-menu__toggler {
9555
- display: flex;
9556
- }
9850
+ margin: 0;
9557
9851
  }
9558
9852
  .c-side-menu__toggler:hover {
9559
9853
  background-color: var(--atomix-side-menu-toggler-hover-bg);
9560
9854
  }
9561
- .c-side-menu__toggler:focus {
9855
+ .c-side-menu__toggler:focus-visible {
9562
9856
  outline: 2px solid var(--atomix-focus-ring-color);
9563
9857
  outline-offset: 2px;
9564
9858
  }
9859
+ .c-side-menu__toggler:focus:not(:focus-visible) {
9860
+ outline: none;
9861
+ }
9565
9862
  .c-side-menu__toggler:active {
9566
9863
  transform: scale(0.98);
9567
9864
  }
@@ -9573,6 +9870,23 @@ a, a:hover {
9573
9870
  .c-side-menu__toggler-icon {
9574
9871
  transition: var(--atomix-side-menu-toggler-transition);
9575
9872
  font-size: 0.875em;
9873
+ flex-shrink: 0;
9874
+ display: inline-flex;
9875
+ align-items: center;
9876
+ justify-content: center;
9877
+ transform-origin: center;
9878
+ }
9879
+ .c-side-menu__toggler--nested {
9880
+ margin-bottom: var(--atomix-side-menu-item-gap);
9881
+ }
9882
+ .c-side-menu__nested-wrapper {
9883
+ overflow: hidden;
9884
+ transition: var(--atomix-side-menu-wrapper-transition);
9885
+ height: 0px;
9886
+ margin: 0;
9887
+ }
9888
+ .c-side-menu__nested-inner {
9889
+ display: block;
9576
9890
  }
9577
9891
  .c-side-menu__list {
9578
9892
  list-style: none;
@@ -9585,6 +9899,9 @@ a, a:hover {
9585
9899
  .c-side-menu__list:last-child {
9586
9900
  margin-bottom: 0;
9587
9901
  }
9902
+ .c-side-menu__item {
9903
+ display: block;
9904
+ }
9588
9905
  .c-side-menu__link {
9589
9906
  display: flex;
9590
9907
  align-items: center;
@@ -9600,16 +9917,20 @@ a, a:hover {
9600
9917
  text-decoration: none;
9601
9918
  cursor: pointer;
9602
9919
  transition: var(--atomix-side-menu-item-transition);
9920
+ position: relative;
9603
9921
  }
9604
9922
  .c-side-menu__link:hover {
9605
9923
  color: var(--atomix-side-menu-item-hover-color);
9606
9924
  background-color: var(--atomix-side-menu-item-hover-bg);
9607
9925
  text-decoration: none;
9608
9926
  }
9609
- .c-side-menu__link:focus {
9927
+ .c-side-menu__link:focus-visible {
9610
9928
  outline: 2px solid var(--atomix-focus-ring-color);
9611
9929
  outline-offset: 2px;
9612
9930
  }
9931
+ .c-side-menu__link:focus:not(:focus-visible) {
9932
+ outline: none;
9933
+ }
9613
9934
  .c-side-menu__link:active {
9614
9935
  transform: scale(0.98);
9615
9936
  }
@@ -9636,9 +9957,15 @@ a, a:hover {
9636
9957
  background-color: transparent;
9637
9958
  border-bottom: none;
9638
9959
  }
9639
- .c-side-menu.is-open .c-side-menu__toggler-icon {
9960
+ .c-side-menu.is-open .c-side-menu__toggler .c-side-menu__toggler-icon {
9640
9961
  transform: rotate(90deg);
9641
9962
  }
9963
+ .c-side-menu__toggler--nested.is-open .c-side-menu__toggler-icon {
9964
+ transform: rotate(90deg);
9965
+ }
9966
+ .c-side-menu__toggler--nested.is-open + .c-side-menu__nested-wrapper {
9967
+ height: auto;
9968
+ }
9642
9969
  .dark-mode .c-side-menu {
9643
9970
  --atomix-side-menu-bg: var(--atomix-gray-9);
9644
9971
  --atomix-side-menu-border-color: var(--atomix-gray-7);
@@ -9656,6 +9983,18 @@ a, a:hover {
9656
9983
  .c-side-menu .c-side-menu__toggler-icon {
9657
9984
  transition: none;
9658
9985
  }
9986
+ .c-side-menu .c-side-menu__toggler:active {
9987
+ transform: none;
9988
+ }
9989
+ .c-side-menu .c-side-menu__link:active {
9990
+ transform: none;
9991
+ }
9992
+ }
9993
+ @media (prefers-contrast: high) {
9994
+ .c-side-menu .c-side-menu__toggler:focus-visible,
9995
+ .c-side-menu .c-side-menu__link:focus-visible {
9996
+ outline-width: 3px;
9997
+ }
9659
9998
  }
9660
9999
  .c-skeleton {
9661
10000
  --atomix-skeleton-width: 100%;
@@ -10432,18 +10771,46 @@ a, a:hover {
10432
10771
  --atomix-tooltip-border-color: ;
10433
10772
  --atomix-tooltip-box-shadow: ;
10434
10773
  --atomix-tooltip-arrow-size: 0.75rem;
10774
+ --atomix-tooltip-offset: 0.75rem;
10435
10775
  position: absolute;
10436
- bottom: calc(100% + var(--atomix-tooltip-arrow-size));
10437
- left: 50%;
10438
10776
  width: -moz-max-content;
10439
10777
  width: max-content;
10440
10778
  height: -moz-max-content;
10441
10779
  height: max-content;
10442
10780
  max-width: var(--atomix-tooltip-max-width);
10443
- transform: translateX(-50%);
10444
10781
  pointer-events: none;
10445
10782
  z-index: 1000;
10446
10783
  }
10784
+ .c-tooltip--top, .c-tooltip--top-left, .c-tooltip--top-right {
10785
+ bottom: calc(100% + var(--atomix-tooltip-offset));
10786
+ transform-origin: bottom center;
10787
+ }
10788
+ .c-tooltip--bottom, .c-tooltip--bottom-left, .c-tooltip--bottom-right {
10789
+ top: calc(100% + var(--atomix-tooltip-offset));
10790
+ transform-origin: top center;
10791
+ }
10792
+ .c-tooltip--left {
10793
+ right: calc(100% + var(--atomix-tooltip-offset));
10794
+ top: 50%;
10795
+ transform: translateY(-50%);
10796
+ transform-origin: right center;
10797
+ }
10798
+ .c-tooltip--right {
10799
+ left: calc(100% + var(--atomix-tooltip-offset));
10800
+ top: 50%;
10801
+ transform: translateY(-50%);
10802
+ transform-origin: left center;
10803
+ }
10804
+ .c-tooltip--top, .c-tooltip--bottom {
10805
+ left: 50%;
10806
+ transform: translateX(-50%);
10807
+ }
10808
+ .c-tooltip--top-left, .c-tooltip--bottom-left {
10809
+ left: 0;
10810
+ }
10811
+ .c-tooltip--top-right, .c-tooltip--bottom-right {
10812
+ right: 0;
10813
+ }
10447
10814
  .c-tooltip__content {
10448
10815
  position: relative;
10449
10816
  color: var(--atomix-tooltip-color);
@@ -10452,10 +10819,12 @@ a, a:hover {
10452
10819
  padding: var(--atomix-tooltip-padding-y) var(--atomix-tooltip-padding-x);
10453
10820
  background-color: var(--atomix-tooltip-bg);
10454
10821
  border-radius: var(--atomix-tooltip-border-radius);
10822
+ box-shadow: var(--atomix-tooltip-box-shadow);
10455
10823
  z-index: 2;
10456
10824
  opacity: 0;
10825
+ pointer-events: auto;
10826
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
10457
10827
  transform: scale(0.95);
10458
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
10459
10828
  }
10460
10829
  .c-tooltip__content.is-active {
10461
10830
  opacity: 1;
@@ -10463,71 +10832,37 @@ a, a:hover {
10463
10832
  }
10464
10833
  .c-tooltip__arrow {
10465
10834
  position: absolute;
10466
- bottom: calc(var(--atomix-tooltip-arrow-size) / -2);
10467
- left: 50%;
10468
- transform: translateX(-50%) rotate(45deg);
10469
10835
  width: var(--atomix-tooltip-arrow-size);
10470
10836
  height: var(--atomix-tooltip-arrow-size);
10471
10837
  background-color: var(--atomix-tooltip-bg);
10472
10838
  z-index: 1;
10473
- }
10474
- .c-tooltip--top-left {
10475
- left: auto;
10476
- right: calc(100% - var(--atomix-tooltip-arrow-size) * 2);
10477
- transform: translateX(0);
10478
- }
10479
- .c-tooltip--top-left .c-tooltip__arrow {
10480
- left: auto;
10481
- right: var(--atomix-tooltip-arrow-size);
10482
10839
  transform: rotate(45deg);
10483
10840
  }
10484
- .c-tooltip--top-right {
10485
- left: calc(100% - var(--atomix-tooltip-arrow-size) * 2);
10486
- transform: translateX(0);
10841
+ .c-tooltip--top .c-tooltip__arrow, .c-tooltip--top-left .c-tooltip__arrow, .c-tooltip--top-right .c-tooltip__arrow {
10842
+ bottom: calc(var(--atomix-tooltip-arrow-size) / -2);
10487
10843
  }
10488
- .c-tooltip--top-right .c-tooltip__arrow {
10489
- left: var(--atomix-tooltip-arrow-size);
10490
- transform: rotate(45deg);
10844
+ .c-tooltip--bottom .c-tooltip__arrow, .c-tooltip--bottom-left .c-tooltip__arrow, .c-tooltip--bottom-right .c-tooltip__arrow {
10845
+ top: calc(var(--atomix-tooltip-arrow-size) / -2);
10491
10846
  }
10492
- .c-tooltip--right {
10493
- left: calc(100% + var(--atomix-tooltip-arrow-size));
10847
+ .c-tooltip--left .c-tooltip__arrow {
10848
+ right: calc(var(--atomix-tooltip-arrow-size) / -2);
10494
10849
  top: 50%;
10495
- transform: translateY(-50%);
10850
+ transform: translateY(-50%) rotate(45deg);
10496
10851
  }
10497
10852
  .c-tooltip--right .c-tooltip__arrow {
10498
10853
  left: calc(var(--atomix-tooltip-arrow-size) / -2);
10499
10854
  top: 50%;
10500
- bottom: auto;
10501
- transform: rotate(45deg) translateY(-50%);
10502
- transform-origin: top;
10503
- }
10504
- .c-tooltip--left {
10505
- left: auto;
10506
- right: calc(100% + var(--atomix-tooltip-arrow-size));
10507
- top: 50%;
10508
- transform: translateY(-50%);
10509
- }
10510
- .c-tooltip--left .c-tooltip__arrow {
10511
- left: auto;
10512
- top: 50%;
10513
- bottom: auto;
10514
- right: calc(var(--atomix-tooltip-arrow-size) / -5);
10515
- transform: rotate(45deg) translateY(-50%);
10516
- }
10517
- .c-tooltip--bottom {
10518
- top: calc(100% + var(--atomix-tooltip-arrow-size));
10855
+ transform: translateY(-50%) rotate(45deg);
10519
10856
  }
10520
- .c-tooltip--bottom .c-tooltip__arrow {
10521
- top: calc(var(--atomix-tooltip-arrow-size) / -2);
10522
- bottom: auto;
10857
+ .c-tooltip--top .c-tooltip__arrow, .c-tooltip--bottom .c-tooltip__arrow {
10858
+ left: 50%;
10859
+ transform: translateX(-50%) rotate(45deg);
10523
10860
  }
10524
- .c-tooltip--bottom-left {
10525
- top: calc(100% + var(--atomix-tooltip-arrow-size));
10526
- left: 0;
10861
+ .c-tooltip--top-left .c-tooltip__arrow, .c-tooltip--bottom-left .c-tooltip__arrow {
10862
+ left: var(--atomix-tooltip-arrow-size);
10527
10863
  }
10528
- .c-tooltip--bottom-right {
10529
- top: calc(100% + var(--atomix-tooltip-arrow-size));
10530
- right: 0;
10864
+ .c-tooltip--top-right .c-tooltip__arrow, .c-tooltip--bottom-right .c-tooltip__arrow {
10865
+ right: var(--atomix-tooltip-arrow-size);
10531
10866
  }
10532
10867
  .c-upload {
10533
10868
  --atomix-upload-width: 31.25rem;