@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
package/dist/atomix.css CHANGED
@@ -2368,12 +2368,76 @@ a, a:hover {
2368
2368
  .c-btn--icon {
2369
2369
  --atomix-btn-padding-x: var(--atomix-btn-padding-y);
2370
2370
  }
2371
+ .c-btn--full-width {
2372
+ width: 100%;
2373
+ }
2374
+ .c-btn--block {
2375
+ display: block;
2376
+ width: 100%;
2377
+ }
2378
+ .c-btn--loading {
2379
+ position: relative;
2380
+ pointer-events: none;
2381
+ cursor: wait;
2382
+ }
2383
+ .c-btn--loading::before {
2384
+ content: "";
2385
+ position: absolute;
2386
+ inset: 0;
2387
+ background-color: rgba(255, 255, 255, 0.5);
2388
+ border-radius: var(--atomix-btn-border-radius);
2389
+ z-index: 0;
2390
+ }
2391
+ .c-btn--active {
2392
+ --atomix-btn-bg: var(--atomix-btn-active-bg, var(--atomix-btn-hover-bg));
2393
+ --atomix-btn-color: var(--atomix-btn-active-color, var(--atomix-btn-hover-color));
2394
+ --atomix-btn-border-color: var(--atomix-btn-active-border-color, var(--atomix-btn-hover-border-color));
2395
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
2396
+ }
2397
+ .c-btn--selected {
2398
+ --atomix-btn-border-width: 2px;
2399
+ --atomix-btn-border-color: var(--atomix-brand-border-subtle, var(--atomix-primary));
2400
+ box-shadow: 0 0 0 2px rgba(var(--atomix-primary-rgb, 124, 58, 237), 0.2);
2401
+ }
2402
+ .c-btn__icon {
2403
+ display: inline-flex;
2404
+ align-items: center;
2405
+ flex-shrink: 0;
2406
+ }
2407
+ .c-btn__icon--start {
2408
+ order: -1;
2409
+ }
2410
+ .c-btn__icon--end {
2411
+ order: 1;
2412
+ }
2413
+ .c-btn__label {
2414
+ display: inline-block;
2415
+ }
2416
+ .c-btn__spinner {
2417
+ display: inline-flex;
2418
+ align-items: center;
2419
+ flex-shrink: 0;
2420
+ margin-right: 0.5rem;
2421
+ }
2422
+ .c-btn__spinner:last-child {
2423
+ margin-right: 0;
2424
+ margin-left: 0.5rem;
2425
+ }
2426
+ .c-btn:focus-visible {
2427
+ outline: 2px solid var(--atomix-brand-border-subtle, var(--atomix-primary));
2428
+ outline-offset: 2px;
2429
+ box-shadow: var(--atomix-btn-focus-box-shadow);
2430
+ }
2371
2431
  .c-btn:disabled, .c-btn--disabled, fieldset:disabled .c-btn {
2372
2432
  color: var(--atomix-btn-disabled-color);
2373
2433
  pointer-events: none;
2374
2434
  background-color: var(--atomix-btn-disabled-bg);
2375
2435
  border-color: var(--atomix-btn-disabled-border-color);
2376
2436
  opacity: var(--atomix-btn-disabled-opacity);
2437
+ cursor: not-allowed;
2438
+ }
2439
+ .c-btn:disabled:focus-visible, .c-btn--disabled:focus-visible, fieldset:disabled .c-btn:focus-visible {
2440
+ outline: none;
2377
2441
  }
2378
2442
  .c-btn--glass {
2379
2443
  background-color: color-mix(in srgb, var(--atomix-btn-bg) 50%, transparent);
@@ -2381,6 +2445,22 @@ a, a:hover {
2381
2445
  .c-btn--glass:hover {
2382
2446
  background-color: color-mix(in srgb, var(--atomix-btn-hover-bg) 50%, transparent);
2383
2447
  }
2448
+ @media (prefers-reduced-motion: reduce) {
2449
+ .c-btn {
2450
+ transition: none;
2451
+ }
2452
+ .c-btn__spinner {
2453
+ animation-duration: 2s;
2454
+ }
2455
+ }
2456
+ @media (prefers-contrast: high) {
2457
+ .c-btn {
2458
+ border-width: 2px;
2459
+ }
2460
+ .c-btn:focus-visible {
2461
+ outline-width: 3px;
2462
+ }
2463
+ }
2384
2464
  .c-datepicker {
2385
2465
  --atomix-datepicker-width: 19rem;
2386
2466
  --atomix-datepicker-padding-x: 0.5rem;
@@ -2843,6 +2923,19 @@ a, a:hover {
2843
2923
  transition-timing-function: ease-in-out;
2844
2924
  transition-delay: 0s;
2845
2925
  background-color: var(--atomix-card-bg);
2926
+ display: block;
2927
+ text-decoration: none;
2928
+ color: inherit;
2929
+ }
2930
+ .c-card[href] {
2931
+ display: block;
2932
+ text-decoration: none !important;
2933
+ color: inherit !important;
2934
+ cursor: pointer;
2935
+ }
2936
+ .c-card[href]:hover, .c-card[href]:focus, .c-card[href]:visited, .c-card[href]:active {
2937
+ text-decoration: none !important;
2938
+ color: inherit !important;
2846
2939
  }
2847
2940
  .c-card__header {
2848
2941
  margin-bottom: var(--atomix-card-header-spacer-y);
@@ -2920,15 +3013,220 @@ a, a:hover {
2920
3013
  padding: var(--atomix-card-row-spacer-y) var(--atomix-card-row-spacer-x);
2921
3014
  padding-top: 0;
2922
3015
  }
3016
+ .c-card--sm {
3017
+ --atomix-card-spacer-y: 0.5rem;
3018
+ --atomix-card-spacer-x: 0.5rem;
3019
+ --atomix-card-title-font-size: var(--atomix-font-size-sm);
3020
+ --atomix-card-text-font-size: var(--atomix-font-size-xs);
3021
+ }
3022
+ .c-card--lg {
3023
+ --atomix-card-spacer-y: 1.5rem;
3024
+ --atomix-card-spacer-x: 1.5rem;
3025
+ --atomix-card-title-font-size: var(--atomix-font-size-lg);
3026
+ --atomix-card-text-font-size: var(--atomix-font-size-base);
3027
+ }
3028
+ .c-card--filled {
3029
+ background-color: var(--atomix-card-bg);
3030
+ }
2923
3031
  .c-card--glass {
2924
3032
  max-width: none;
2925
3033
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
2926
3034
  }
3035
+ .c-card--outlined {
3036
+ background-color: transparent;
3037
+ border-width: var(--atomix-card-border-width);
3038
+ }
3039
+ .c-card--ghost {
3040
+ background-color: transparent;
3041
+ border: none;
3042
+ }
3043
+ .c-card--elevated {
3044
+ box-shadow: var(--atomix-box-shadow-md);
3045
+ }
3046
+ .c-card--elevation-none {
3047
+ box-shadow: none;
3048
+ }
3049
+ .c-card--elevation-sm {
3050
+ box-shadow: var(--atomix-box-shadow-sm);
3051
+ }
3052
+ .c-card--elevation-md {
3053
+ box-shadow: var(--atomix-box-shadow-md);
3054
+ }
3055
+ .c-card--elevation-lg {
3056
+ box-shadow: var(--atomix-box-shadow-lg);
3057
+ }
3058
+ .c-card--elevation-xl {
3059
+ box-shadow: var(--atomix-box-shadow-xl);
3060
+ }
3061
+ .c-card--disabled {
3062
+ opacity: 0.6;
3063
+ cursor: not-allowed;
3064
+ pointer-events: none;
3065
+ -webkit-user-select: none;
3066
+ -moz-user-select: none;
3067
+ user-select: none;
3068
+ }
3069
+ .c-card--loading {
3070
+ position: relative;
3071
+ pointer-events: none;
3072
+ -webkit-user-select: none;
3073
+ -moz-user-select: none;
3074
+ user-select: none;
3075
+ overflow: hidden;
3076
+ }
3077
+ .c-card--loading::before {
3078
+ content: "";
3079
+ position: absolute;
3080
+ inset: 0;
3081
+ background-color: var(--atomix-card-bg-hover);
3082
+ -webkit-backdrop-filter: blur(1px);
3083
+ backdrop-filter: blur(1px);
3084
+ z-index: 1;
3085
+ border-radius: var(--atomix-card-border-radius);
3086
+ }
3087
+ [data-theme=dark] .c-card--loading::before, .c-card--loading.dark::before {
3088
+ background-color: rgba(0, 0, 0, 0.5);
3089
+ }
3090
+ .c-card--selected {
3091
+ --atomix-card-border-color: var(--atomix-brand-border-subtle);
3092
+ --atomix-card-border-width: 2px;
3093
+ box-shadow: var(--atomix-box-shadow-md);
3094
+ }
3095
+ .c-card--interactive {
3096
+ cursor: pointer;
3097
+ transition: all 0.2s ease-in-out;
3098
+ }
3099
+ .c-card--interactive:hover:not(.c-card--interactive--disabled) {
3100
+ transform: translateY(-2px);
3101
+ box-shadow: var(--atomix-box-shadow-lg);
3102
+ }
3103
+ .c-card--interactive:active:not(.c-card--interactive--disabled) {
3104
+ transform: translateY(0);
3105
+ }
3106
+ .c-card--primary {
3107
+ --atomix-card-bg: var(--atomix-brand-bg-subtle);
3108
+ --atomix-card-bg-hover: var(--atomix-brand-bg-subtle);
3109
+ --atomix-card-border-color: var(--atomix-brand-border-subtle);
3110
+ --atomix-card-title-color: var(--atomix-brand-text-emphasis);
3111
+ --atomix-card-icon-bg: var(--atomix-brand-text-emphasis);
3112
+ --atomix-card-icon-color: var(--atomix-brand-bg-subtle);
3113
+ }
3114
+ .c-card--secondary {
3115
+ --atomix-card-bg: var(--atomix-secondary-bg-subtle);
3116
+ --atomix-card-bg-hover: var(--atomix-secondary-bg-subtle);
3117
+ --atomix-card-border-color: var(--atomix-secondary-border-subtle);
3118
+ --atomix-card-title-color: var(--atomix-secondary-text-emphasis);
3119
+ --atomix-card-icon-bg: var(--atomix-secondary-text-emphasis);
3120
+ --atomix-card-icon-color: var(--atomix-secondary-bg-subtle);
3121
+ }
3122
+ .c-card--success {
3123
+ --atomix-card-bg: var(--atomix-success-bg-subtle);
3124
+ --atomix-card-bg-hover: var(--atomix-success-bg-subtle);
3125
+ --atomix-card-border-color: var(--atomix-success-border-subtle);
3126
+ --atomix-card-title-color: var(--atomix-success-text-emphasis);
3127
+ --atomix-card-icon-bg: var(--atomix-success-text-emphasis);
3128
+ --atomix-card-icon-color: var(--atomix-success-bg-subtle);
3129
+ }
3130
+ .c-card--info {
3131
+ --atomix-card-bg: var(--atomix-info-bg-subtle);
3132
+ --atomix-card-bg-hover: var(--atomix-info-bg-subtle);
3133
+ --atomix-card-border-color: var(--atomix-info-border-subtle);
3134
+ --atomix-card-title-color: var(--atomix-info-text-emphasis);
3135
+ --atomix-card-icon-bg: var(--atomix-info-text-emphasis);
3136
+ --atomix-card-icon-color: var(--atomix-info-bg-subtle);
3137
+ }
3138
+ .c-card--warning {
3139
+ --atomix-card-bg: var(--atomix-warning-bg-subtle);
3140
+ --atomix-card-bg-hover: var(--atomix-warning-bg-subtle);
3141
+ --atomix-card-border-color: var(--atomix-warning-border-subtle);
3142
+ --atomix-card-title-color: var(--atomix-warning-text-emphasis);
3143
+ --atomix-card-icon-bg: var(--atomix-warning-text-emphasis);
3144
+ --atomix-card-icon-color: var(--atomix-warning-bg-subtle);
3145
+ }
3146
+ .c-card--error {
3147
+ --atomix-card-bg: var(--atomix-error-bg-subtle);
3148
+ --atomix-card-bg-hover: var(--atomix-error-bg-subtle);
3149
+ --atomix-card-border-color: var(--atomix-error-border-subtle);
3150
+ --atomix-card-title-color: var(--atomix-error-text-emphasis);
3151
+ --atomix-card-icon-bg: var(--atomix-error-text-emphasis);
3152
+ --atomix-card-icon-color: var(--atomix-error-bg-subtle);
3153
+ }
3154
+ .c-card--light {
3155
+ --atomix-card-bg: var(--atomix-light);
3156
+ --atomix-card-bg-hover: var(--atomix-light-hover);
3157
+ --atomix-card-border-color: var(--atomix-light);
3158
+ --atomix-card-title-color: var(--atomix-dark);
3159
+ --atomix-card-text-color: var(--atomix-dark);
3160
+ --atomix-card-icon-bg: var(--atomix-dark);
3161
+ --atomix-card-icon-color: var(--atomix-light);
3162
+ }
3163
+ .c-card--dark {
3164
+ --atomix-card-bg: var(--atomix-dark);
3165
+ --atomix-card-bg-hover: var(--atomix-dark-hover);
3166
+ --atomix-card-border-color: var(--atomix-dark);
3167
+ --atomix-card-title-color: var(--atomix-light);
3168
+ --atomix-card-text-color: var(--atomix-light);
3169
+ --atomix-card-icon-bg: var(--atomix-light);
3170
+ --atomix-card-icon-color: var(--atomix-dark);
3171
+ }
3172
+ .c-card__loading {
3173
+ position: absolute;
3174
+ inset: 0;
3175
+ display: flex;
3176
+ align-items: center;
3177
+ justify-content: center;
3178
+ z-index: 2;
3179
+ border-radius: var(--atomix-card-border-radius);
3180
+ pointer-events: none;
3181
+ }
3182
+ .c-card__spinner {
3183
+ width: 2.5rem;
3184
+ height: 2.5rem;
3185
+ border: 4px solid;
3186
+ border-color: var(--atomix-border-primary, rgba(0, 0, 0, 0.15));
3187
+ border-top-color: var(--atomix-brand-text-emphasis, var(--atomix-primary));
3188
+ border-right-color: var(--atomix-brand-text-emphasis, var(--atomix-primary));
3189
+ border-radius: 50%;
3190
+ animation: spin 0.8s linear infinite;
3191
+ background-color: transparent;
3192
+ flex-shrink: 0;
3193
+ box-sizing: border-box;
3194
+ display: block;
3195
+ }
3196
+ .c-card:focus-visible {
3197
+ outline: 2px solid var(--atomix-brand-border-subtle);
3198
+ outline-offset: 2px;
3199
+ }
3200
+ @media (prefers-reduced-motion: reduce) {
3201
+ .c-card {
3202
+ transition: none;
3203
+ }
3204
+ .c-card--interactive:hover:not(.c-card--disabled) {
3205
+ transform: none;
3206
+ }
3207
+ .c-card__spinner {
3208
+ animation: none;
3209
+ border-top-color: transparent;
3210
+ }
3211
+ }
3212
+ @media (prefers-contrast: high) {
3213
+ .c-card {
3214
+ border-width: 2px;
3215
+ }
3216
+ .c-card--selected {
3217
+ border-width: 3px;
3218
+ }
3219
+ }
2927
3220
  .is-elevated .c-card {
2928
3221
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
2929
3222
  z-index: 1;
2930
3223
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2931
3224
  }
3225
+ @keyframes spin {
3226
+ to {
3227
+ transform: rotate(360deg);
3228
+ }
3229
+ }
2932
3230
  .c-chart {
2933
3231
  --atomix-chart-primary-color: var(--atomix-primary);
2934
3232
  --atomix-chart-secondary-color: var(--atomix-secondary);
@@ -9119,30 +9417,30 @@ a, a:hover {
9119
9417
  padding: 1rem 1rem;
9120
9418
  }
9121
9419
  }
9122
- @media (max-width: 991.98px) {
9123
- .c-side-menu__wrapper {
9124
- height: 0px;
9125
- overflow: hidden;
9126
- -webkit-user-select: none;
9127
- -moz-user-select: none;
9128
- user-select: none;
9129
- transition: var(--atomix-side-menu-wrapper-transition);
9130
- }
9420
+ .c-side-menu__wrapper {
9421
+ overflow: hidden;
9422
+ -webkit-user-select: none;
9423
+ -moz-user-select: none;
9424
+ user-select: none;
9425
+ transition: var(--atomix-side-menu-wrapper-transition);
9426
+ height: 0px;
9131
9427
  }
9132
- @media (max-width: 991.98px) {
9133
- .c-side-menu__inner {
9134
- padding-top: var(--atomix-side-menu-inner-padding-top);
9135
- }
9428
+ .c-side-menu__inner {
9429
+ padding-top: var(--atomix-side-menu-inner-padding-top);
9136
9430
  }
9137
9431
  .c-side-menu__title {
9138
9432
  color: var(--atomix-side-menu-title-color);
9139
9433
  font-size: var(--atomix-side-menu-title-font-size);
9140
9434
  font-weight: var(--atomix-side-menu-title-font-weight);
9435
+ margin: 0;
9141
9436
  margin-bottom: var(--atomix-side-menu-title-spacer-y);
9142
- margin: 0 0 var(--atomix-side-menu-title-spacer-y) 0;
9437
+ }
9438
+ .c-side-menu__toggler .c-side-menu__title {
9439
+ margin-bottom: 0;
9440
+ flex: 1 1;
9143
9441
  }
9144
9442
  .c-side-menu__toggler {
9145
- display: none;
9443
+ display: flex;
9146
9444
  align-items: center;
9147
9445
  justify-content: space-between;
9148
9446
  width: 100%;
@@ -9156,19 +9454,18 @@ a, a:hover {
9156
9454
  user-select: none;
9157
9455
  transition: var(--atomix-side-menu-toggler-transition);
9158
9456
  text-align: left;
9159
- }
9160
- @media (max-width: 991.98px) {
9161
- .c-side-menu__toggler {
9162
- display: flex;
9163
- }
9457
+ margin: 0;
9164
9458
  }
9165
9459
  .c-side-menu__toggler:hover {
9166
9460
  background-color: var(--atomix-side-menu-toggler-hover-bg);
9167
9461
  }
9168
- .c-side-menu__toggler:focus {
9462
+ .c-side-menu__toggler:focus-visible {
9169
9463
  outline: 2px solid var(--atomix-focus-ring-color);
9170
9464
  outline-offset: 2px;
9171
9465
  }
9466
+ .c-side-menu__toggler:focus:not(:focus-visible) {
9467
+ outline: none;
9468
+ }
9172
9469
  .c-side-menu__toggler:active {
9173
9470
  transform: scale(0.98);
9174
9471
  }
@@ -9180,6 +9477,23 @@ a, a:hover {
9180
9477
  .c-side-menu__toggler-icon {
9181
9478
  transition: var(--atomix-side-menu-toggler-transition);
9182
9479
  font-size: 0.875em;
9480
+ flex-shrink: 0;
9481
+ display: inline-flex;
9482
+ align-items: center;
9483
+ justify-content: center;
9484
+ transform-origin: center;
9485
+ }
9486
+ .c-side-menu__toggler--nested {
9487
+ margin-bottom: var(--atomix-side-menu-item-gap);
9488
+ }
9489
+ .c-side-menu__nested-wrapper {
9490
+ overflow: hidden;
9491
+ transition: var(--atomix-side-menu-wrapper-transition);
9492
+ height: 0px;
9493
+ margin: 0;
9494
+ }
9495
+ .c-side-menu__nested-inner {
9496
+ display: block;
9183
9497
  }
9184
9498
  .c-side-menu__list {
9185
9499
  list-style: none;
@@ -9192,6 +9506,9 @@ a, a:hover {
9192
9506
  .c-side-menu__list:last-child {
9193
9507
  margin-bottom: 0;
9194
9508
  }
9509
+ .c-side-menu__item {
9510
+ display: block;
9511
+ }
9195
9512
  .c-side-menu__link {
9196
9513
  display: flex;
9197
9514
  align-items: center;
@@ -9207,16 +9524,20 @@ a, a:hover {
9207
9524
  text-decoration: none;
9208
9525
  cursor: pointer;
9209
9526
  transition: var(--atomix-side-menu-item-transition);
9527
+ position: relative;
9210
9528
  }
9211
9529
  .c-side-menu__link:hover {
9212
9530
  color: var(--atomix-side-menu-item-hover-color);
9213
9531
  background-color: var(--atomix-side-menu-item-hover-bg);
9214
9532
  text-decoration: none;
9215
9533
  }
9216
- .c-side-menu__link:focus {
9534
+ .c-side-menu__link:focus-visible {
9217
9535
  outline: 2px solid var(--atomix-focus-ring-color);
9218
9536
  outline-offset: 2px;
9219
9537
  }
9538
+ .c-side-menu__link:focus:not(:focus-visible) {
9539
+ outline: none;
9540
+ }
9220
9541
  .c-side-menu__link:active {
9221
9542
  transform: scale(0.98);
9222
9543
  }
@@ -9243,9 +9564,15 @@ a, a:hover {
9243
9564
  background-color: transparent;
9244
9565
  border-bottom: none;
9245
9566
  }
9246
- .c-side-menu.is-open .c-side-menu__toggler-icon {
9567
+ .c-side-menu.is-open .c-side-menu__toggler .c-side-menu__toggler-icon {
9247
9568
  transform: rotate(90deg);
9248
9569
  }
9570
+ .c-side-menu__toggler--nested.is-open .c-side-menu__toggler-icon {
9571
+ transform: rotate(90deg);
9572
+ }
9573
+ .c-side-menu__toggler--nested.is-open + .c-side-menu__nested-wrapper {
9574
+ height: auto;
9575
+ }
9249
9576
  .dark-mode .c-side-menu {
9250
9577
  --atomix-side-menu-bg: var(--atomix-gray-9);
9251
9578
  --atomix-side-menu-border-color: var(--atomix-gray-7);
@@ -9263,6 +9590,18 @@ a, a:hover {
9263
9590
  .c-side-menu .c-side-menu__toggler-icon {
9264
9591
  transition: none;
9265
9592
  }
9593
+ .c-side-menu .c-side-menu__toggler:active {
9594
+ transform: none;
9595
+ }
9596
+ .c-side-menu .c-side-menu__link:active {
9597
+ transform: none;
9598
+ }
9599
+ }
9600
+ @media (prefers-contrast: high) {
9601
+ .c-side-menu .c-side-menu__toggler:focus-visible,
9602
+ .c-side-menu .c-side-menu__link:focus-visible {
9603
+ outline-width: 3px;
9604
+ }
9266
9605
  }
9267
9606
  .c-skeleton {
9268
9607
  --atomix-skeleton-width: 100%;
@@ -10033,24 +10372,52 @@ a, a:hover {
10033
10372
  --atomix-tooltip-bg: var(--atomix-invert-bg-subtle);
10034
10373
  --atomix-tooltip-font-size: 0.75rem;
10035
10374
  --atomix-tooltip-font-weight: 400;
10036
- --atomix-tooltip-color: var(--atomix-invert-text-emphasis);
10375
+ --atomix-tooltip-color: var(--atomix-invert-text);
10037
10376
  --atomix-tooltip-border-radius: 0.5rem;
10038
10377
  --atomix-tooltip-border-width: ;
10039
10378
  --atomix-tooltip-border-color: ;
10040
10379
  --atomix-tooltip-box-shadow: ;
10041
10380
  --atomix-tooltip-arrow-size: 0.75rem;
10381
+ --atomix-tooltip-offset: 0.75rem;
10042
10382
  position: absolute;
10043
- bottom: calc(100% + var(--atomix-tooltip-arrow-size));
10044
- left: 50%;
10045
10383
  width: -moz-max-content;
10046
10384
  width: max-content;
10047
10385
  height: -moz-max-content;
10048
10386
  height: max-content;
10049
10387
  max-width: var(--atomix-tooltip-max-width);
10050
- transform: translateX(-50%);
10051
10388
  pointer-events: none;
10052
10389
  z-index: 1000;
10053
10390
  }
10391
+ .c-tooltip--top, .c-tooltip--top-left, .c-tooltip--top-right {
10392
+ bottom: calc(100% + var(--atomix-tooltip-offset));
10393
+ transform-origin: bottom center;
10394
+ }
10395
+ .c-tooltip--bottom, .c-tooltip--bottom-left, .c-tooltip--bottom-right {
10396
+ top: calc(100% + var(--atomix-tooltip-offset));
10397
+ transform-origin: top center;
10398
+ }
10399
+ .c-tooltip--left {
10400
+ right: calc(100% + var(--atomix-tooltip-offset));
10401
+ top: 50%;
10402
+ transform: translateY(-50%);
10403
+ transform-origin: right center;
10404
+ }
10405
+ .c-tooltip--right {
10406
+ left: calc(100% + var(--atomix-tooltip-offset));
10407
+ top: 50%;
10408
+ transform: translateY(-50%);
10409
+ transform-origin: left center;
10410
+ }
10411
+ .c-tooltip--top, .c-tooltip--bottom {
10412
+ left: 50%;
10413
+ transform: translateX(-50%);
10414
+ }
10415
+ .c-tooltip--top-left, .c-tooltip--bottom-left {
10416
+ left: 0;
10417
+ }
10418
+ .c-tooltip--top-right, .c-tooltip--bottom-right {
10419
+ right: 0;
10420
+ }
10054
10421
  .c-tooltip__content {
10055
10422
  position: relative;
10056
10423
  color: var(--atomix-tooltip-color);
@@ -10059,10 +10426,12 @@ a, a:hover {
10059
10426
  padding: var(--atomix-tooltip-padding-y) var(--atomix-tooltip-padding-x);
10060
10427
  background-color: var(--atomix-tooltip-bg);
10061
10428
  border-radius: var(--atomix-tooltip-border-radius);
10429
+ box-shadow: var(--atomix-tooltip-box-shadow);
10062
10430
  z-index: 2;
10063
10431
  opacity: 0;
10432
+ pointer-events: auto;
10433
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
10064
10434
  transform: scale(0.95);
10065
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
10066
10435
  }
10067
10436
  .c-tooltip__content.is-active {
10068
10437
  opacity: 1;
@@ -10070,71 +10439,37 @@ a, a:hover {
10070
10439
  }
10071
10440
  .c-tooltip__arrow {
10072
10441
  position: absolute;
10073
- bottom: calc(var(--atomix-tooltip-arrow-size) / -2);
10074
- left: 50%;
10075
- transform: translateX(-50%) rotate(45deg);
10076
10442
  width: var(--atomix-tooltip-arrow-size);
10077
10443
  height: var(--atomix-tooltip-arrow-size);
10078
10444
  background-color: var(--atomix-tooltip-bg);
10079
10445
  z-index: 1;
10080
- }
10081
- .c-tooltip--top-left {
10082
- left: auto;
10083
- right: calc(100% - var(--atomix-tooltip-arrow-size) * 2);
10084
- transform: translateX(0);
10085
- }
10086
- .c-tooltip--top-left .c-tooltip__arrow {
10087
- left: auto;
10088
- right: var(--atomix-tooltip-arrow-size);
10089
10446
  transform: rotate(45deg);
10090
10447
  }
10091
- .c-tooltip--top-right {
10092
- left: calc(100% - var(--atomix-tooltip-arrow-size) * 2);
10093
- transform: translateX(0);
10448
+ .c-tooltip--top .c-tooltip__arrow, .c-tooltip--top-left .c-tooltip__arrow, .c-tooltip--top-right .c-tooltip__arrow {
10449
+ bottom: calc(var(--atomix-tooltip-arrow-size) / -2);
10094
10450
  }
10095
- .c-tooltip--top-right .c-tooltip__arrow {
10096
- left: var(--atomix-tooltip-arrow-size);
10097
- transform: rotate(45deg);
10451
+ .c-tooltip--bottom .c-tooltip__arrow, .c-tooltip--bottom-left .c-tooltip__arrow, .c-tooltip--bottom-right .c-tooltip__arrow {
10452
+ top: calc(var(--atomix-tooltip-arrow-size) / -2);
10098
10453
  }
10099
- .c-tooltip--right {
10100
- left: calc(100% + var(--atomix-tooltip-arrow-size));
10454
+ .c-tooltip--left .c-tooltip__arrow {
10455
+ right: calc(var(--atomix-tooltip-arrow-size) / -2);
10101
10456
  top: 50%;
10102
- transform: translateY(-50%);
10457
+ transform: translateY(-50%) rotate(45deg);
10103
10458
  }
10104
10459
  .c-tooltip--right .c-tooltip__arrow {
10105
10460
  left: calc(var(--atomix-tooltip-arrow-size) / -2);
10106
10461
  top: 50%;
10107
- bottom: auto;
10108
- transform: rotate(45deg) translateY(-50%);
10109
- transform-origin: top;
10110
- }
10111
- .c-tooltip--left {
10112
- left: auto;
10113
- right: calc(100% + var(--atomix-tooltip-arrow-size));
10114
- top: 50%;
10115
- transform: translateY(-50%);
10116
- }
10117
- .c-tooltip--left .c-tooltip__arrow {
10118
- left: auto;
10119
- top: 50%;
10120
- bottom: auto;
10121
- right: calc(var(--atomix-tooltip-arrow-size) / -5);
10122
- transform: rotate(45deg) translateY(-50%);
10123
- }
10124
- .c-tooltip--bottom {
10125
- top: calc(100% + var(--atomix-tooltip-arrow-size));
10462
+ transform: translateY(-50%) rotate(45deg);
10126
10463
  }
10127
- .c-tooltip--bottom .c-tooltip__arrow {
10128
- top: calc(var(--atomix-tooltip-arrow-size) / -2);
10129
- bottom: auto;
10464
+ .c-tooltip--top .c-tooltip__arrow, .c-tooltip--bottom .c-tooltip__arrow {
10465
+ left: 50%;
10466
+ transform: translateX(-50%) rotate(45deg);
10130
10467
  }
10131
- .c-tooltip--bottom-left {
10132
- top: calc(100% + var(--atomix-tooltip-arrow-size));
10133
- left: 0;
10468
+ .c-tooltip--top-left .c-tooltip__arrow, .c-tooltip--bottom-left .c-tooltip__arrow {
10469
+ left: var(--atomix-tooltip-arrow-size);
10134
10470
  }
10135
- .c-tooltip--bottom-right {
10136
- top: calc(100% + var(--atomix-tooltip-arrow-size));
10137
- right: 0;
10471
+ .c-tooltip--top-right .c-tooltip__arrow, .c-tooltip--bottom-right .c-tooltip__arrow {
10472
+ right: var(--atomix-tooltip-arrow-size);
10138
10473
  }
10139
10474
  .c-upload {
10140
10475
  --atomix-upload-width: 31.25rem;