@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
@@ -4213,12 +4213,76 @@ a, a:hover {
4213
4213
  .c-btn--icon {
4214
4214
  --atomix-btn-padding-x: var(--atomix-btn-padding-y);
4215
4215
  }
4216
+ .c-btn--full-width {
4217
+ width: 100%;
4218
+ }
4219
+ .c-btn--block {
4220
+ display: block;
4221
+ width: 100%;
4222
+ }
4223
+ .c-btn--loading {
4224
+ position: relative;
4225
+ pointer-events: none;
4226
+ cursor: wait;
4227
+ }
4228
+ .c-btn--loading::before {
4229
+ content: "";
4230
+ position: absolute;
4231
+ inset: 0;
4232
+ background-color: rgba(255, 255, 255, 0.5);
4233
+ border-radius: var(--atomix-btn-border-radius);
4234
+ z-index: 0;
4235
+ }
4236
+ .c-btn--active {
4237
+ --atomix-btn-bg: var(--atomix-btn-active-bg, var(--atomix-btn-hover-bg));
4238
+ --atomix-btn-color: var(--atomix-btn-active-color, var(--atomix-btn-hover-color));
4239
+ --atomix-btn-border-color: var(--atomix-btn-active-border-color, var(--atomix-btn-hover-border-color));
4240
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
4241
+ }
4242
+ .c-btn--selected {
4243
+ --atomix-btn-border-width: 2px;
4244
+ --atomix-btn-border-color: var(--atomix-brand-border-subtle, var(--atomix-primary));
4245
+ box-shadow: 0 0 0 2px rgba(var(--atomix-primary-rgb, 124, 58, 237), 0.2);
4246
+ }
4247
+ .c-btn__icon {
4248
+ display: inline-flex;
4249
+ align-items: center;
4250
+ flex-shrink: 0;
4251
+ }
4252
+ .c-btn__icon--start {
4253
+ order: -1;
4254
+ }
4255
+ .c-btn__icon--end {
4256
+ order: 1;
4257
+ }
4258
+ .c-btn__label {
4259
+ display: inline-block;
4260
+ }
4261
+ .c-btn__spinner {
4262
+ display: inline-flex;
4263
+ align-items: center;
4264
+ flex-shrink: 0;
4265
+ margin-right: 0.5rem;
4266
+ }
4267
+ .c-btn__spinner:last-child {
4268
+ margin-right: 0;
4269
+ margin-left: 0.5rem;
4270
+ }
4271
+ .c-btn:focus-visible {
4272
+ outline: 2px solid var(--atomix-brand-border-subtle, var(--atomix-primary));
4273
+ outline-offset: 2px;
4274
+ box-shadow: var(--atomix-btn-focus-box-shadow);
4275
+ }
4216
4276
  .c-btn:disabled, .c-btn--disabled, fieldset:disabled .c-btn {
4217
4277
  color: var(--atomix-btn-disabled-color);
4218
4278
  pointer-events: none;
4219
4279
  background-color: var(--atomix-btn-disabled-bg);
4220
4280
  border-color: var(--atomix-btn-disabled-border-color);
4221
4281
  opacity: var(--atomix-btn-disabled-opacity);
4282
+ cursor: not-allowed;
4283
+ }
4284
+ .c-btn:disabled:focus-visible, .c-btn--disabled:focus-visible, fieldset:disabled .c-btn:focus-visible {
4285
+ outline: none;
4222
4286
  }
4223
4287
  .c-btn--glass {
4224
4288
  background-color: color-mix(in srgb, var(--atomix-btn-bg) 50%, transparent);
@@ -4226,6 +4290,22 @@ a, a:hover {
4226
4290
  .c-btn--glass:hover {
4227
4291
  background-color: color-mix(in srgb, var(--atomix-btn-hover-bg) 50%, transparent);
4228
4292
  }
4293
+ @media (prefers-reduced-motion: reduce) {
4294
+ .c-btn {
4295
+ transition: none;
4296
+ }
4297
+ .c-btn__spinner {
4298
+ animation-duration: 2s;
4299
+ }
4300
+ }
4301
+ @media (prefers-contrast: high) {
4302
+ .c-btn {
4303
+ border-width: 2px;
4304
+ }
4305
+ .c-btn:focus-visible {
4306
+ outline-width: 3px;
4307
+ }
4308
+ }
4229
4309
  .c-datepicker {
4230
4310
  --atomix-datepicker-width: 19rem;
4231
4311
  --atomix-datepicker-padding-x: 0.5rem;
@@ -4688,6 +4768,19 @@ a, a:hover {
4688
4768
  transition-timing-function: ease-in-out;
4689
4769
  transition-delay: 0s;
4690
4770
  background-color: var(--atomix-card-bg);
4771
+ display: block;
4772
+ text-decoration: none;
4773
+ color: inherit;
4774
+ }
4775
+ .c-card[href] {
4776
+ display: block;
4777
+ text-decoration: none !important;
4778
+ color: inherit !important;
4779
+ cursor: pointer;
4780
+ }
4781
+ .c-card[href]:hover, .c-card[href]:focus, .c-card[href]:visited, .c-card[href]:active {
4782
+ text-decoration: none !important;
4783
+ color: inherit !important;
4691
4784
  }
4692
4785
  .c-card__header {
4693
4786
  margin-bottom: var(--atomix-card-header-spacer-y);
@@ -4765,15 +4858,220 @@ a, a:hover {
4765
4858
  padding: var(--atomix-card-row-spacer-y) var(--atomix-card-row-spacer-x);
4766
4859
  padding-top: 0;
4767
4860
  }
4861
+ .c-card--sm {
4862
+ --atomix-card-spacer-y: 0.5rem;
4863
+ --atomix-card-spacer-x: 0.5rem;
4864
+ --atomix-card-title-font-size: var(--atomix-font-size-sm);
4865
+ --atomix-card-text-font-size: var(--atomix-font-size-xs);
4866
+ }
4867
+ .c-card--lg {
4868
+ --atomix-card-spacer-y: 1.5rem;
4869
+ --atomix-card-spacer-x: 1.5rem;
4870
+ --atomix-card-title-font-size: var(--atomix-font-size-lg);
4871
+ --atomix-card-text-font-size: var(--atomix-font-size-base);
4872
+ }
4873
+ .c-card--filled {
4874
+ background-color: var(--atomix-card-bg);
4875
+ }
4768
4876
  .c-card--glass {
4769
4877
  max-width: none;
4770
4878
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
4771
4879
  }
4880
+ .c-card--outlined {
4881
+ background-color: transparent;
4882
+ border-width: var(--atomix-card-border-width);
4883
+ }
4884
+ .c-card--ghost {
4885
+ background-color: transparent;
4886
+ border: none;
4887
+ }
4888
+ .c-card--elevated {
4889
+ box-shadow: var(--atomix-box-shadow-md);
4890
+ }
4891
+ .c-card--elevation-none {
4892
+ box-shadow: none;
4893
+ }
4894
+ .c-card--elevation-sm {
4895
+ box-shadow: var(--atomix-box-shadow-sm);
4896
+ }
4897
+ .c-card--elevation-md {
4898
+ box-shadow: var(--atomix-box-shadow-md);
4899
+ }
4900
+ .c-card--elevation-lg {
4901
+ box-shadow: var(--atomix-box-shadow-lg);
4902
+ }
4903
+ .c-card--elevation-xl {
4904
+ box-shadow: var(--atomix-box-shadow-xl);
4905
+ }
4906
+ .c-card--disabled {
4907
+ opacity: 0.6;
4908
+ cursor: not-allowed;
4909
+ pointer-events: none;
4910
+ -webkit-user-select: none;
4911
+ -moz-user-select: none;
4912
+ user-select: none;
4913
+ }
4914
+ .c-card--loading {
4915
+ position: relative;
4916
+ pointer-events: none;
4917
+ -webkit-user-select: none;
4918
+ -moz-user-select: none;
4919
+ user-select: none;
4920
+ overflow: hidden;
4921
+ }
4922
+ .c-card--loading::before {
4923
+ content: "";
4924
+ position: absolute;
4925
+ inset: 0;
4926
+ background-color: var(--atomix-card-bg-hover);
4927
+ -webkit-backdrop-filter: blur(1px);
4928
+ backdrop-filter: blur(1px);
4929
+ z-index: 1;
4930
+ border-radius: var(--atomix-card-border-radius);
4931
+ }
4932
+ [data-theme=dark] .c-card--loading::before, .c-card--loading.dark::before {
4933
+ background-color: rgba(0, 0, 0, 0.5);
4934
+ }
4935
+ .c-card--selected {
4936
+ --atomix-card-border-color: var(--atomix-brand-border-subtle);
4937
+ --atomix-card-border-width: 2px;
4938
+ box-shadow: var(--atomix-box-shadow-md);
4939
+ }
4940
+ .c-card--interactive {
4941
+ cursor: pointer;
4942
+ transition: all 0.2s ease-in-out;
4943
+ }
4944
+ .c-card--interactive:hover:not(.c-card--interactive--disabled) {
4945
+ transform: translateY(-2px);
4946
+ box-shadow: var(--atomix-box-shadow-lg);
4947
+ }
4948
+ .c-card--interactive:active:not(.c-card--interactive--disabled) {
4949
+ transform: translateY(0);
4950
+ }
4951
+ .c-card--primary {
4952
+ --atomix-card-bg: var(--atomix-brand-bg-subtle);
4953
+ --atomix-card-bg-hover: var(--atomix-brand-bg-subtle);
4954
+ --atomix-card-border-color: var(--atomix-brand-border-subtle);
4955
+ --atomix-card-title-color: var(--atomix-brand-text-emphasis);
4956
+ --atomix-card-icon-bg: var(--atomix-brand-text-emphasis);
4957
+ --atomix-card-icon-color: var(--atomix-brand-bg-subtle);
4958
+ }
4959
+ .c-card--secondary {
4960
+ --atomix-card-bg: var(--atomix-secondary-bg-subtle);
4961
+ --atomix-card-bg-hover: var(--atomix-secondary-bg-subtle);
4962
+ --atomix-card-border-color: var(--atomix-secondary-border-subtle);
4963
+ --atomix-card-title-color: var(--atomix-secondary-text-emphasis);
4964
+ --atomix-card-icon-bg: var(--atomix-secondary-text-emphasis);
4965
+ --atomix-card-icon-color: var(--atomix-secondary-bg-subtle);
4966
+ }
4967
+ .c-card--success {
4968
+ --atomix-card-bg: var(--atomix-success-bg-subtle);
4969
+ --atomix-card-bg-hover: var(--atomix-success-bg-subtle);
4970
+ --atomix-card-border-color: var(--atomix-success-border-subtle);
4971
+ --atomix-card-title-color: var(--atomix-success-text-emphasis);
4972
+ --atomix-card-icon-bg: var(--atomix-success-text-emphasis);
4973
+ --atomix-card-icon-color: var(--atomix-success-bg-subtle);
4974
+ }
4975
+ .c-card--info {
4976
+ --atomix-card-bg: var(--atomix-info-bg-subtle);
4977
+ --atomix-card-bg-hover: var(--atomix-info-bg-subtle);
4978
+ --atomix-card-border-color: var(--atomix-info-border-subtle);
4979
+ --atomix-card-title-color: var(--atomix-info-text-emphasis);
4980
+ --atomix-card-icon-bg: var(--atomix-info-text-emphasis);
4981
+ --atomix-card-icon-color: var(--atomix-info-bg-subtle);
4982
+ }
4983
+ .c-card--warning {
4984
+ --atomix-card-bg: var(--atomix-warning-bg-subtle);
4985
+ --atomix-card-bg-hover: var(--atomix-warning-bg-subtle);
4986
+ --atomix-card-border-color: var(--atomix-warning-border-subtle);
4987
+ --atomix-card-title-color: var(--atomix-warning-text-emphasis);
4988
+ --atomix-card-icon-bg: var(--atomix-warning-text-emphasis);
4989
+ --atomix-card-icon-color: var(--atomix-warning-bg-subtle);
4990
+ }
4991
+ .c-card--error {
4992
+ --atomix-card-bg: var(--atomix-error-bg-subtle);
4993
+ --atomix-card-bg-hover: var(--atomix-error-bg-subtle);
4994
+ --atomix-card-border-color: var(--atomix-error-border-subtle);
4995
+ --atomix-card-title-color: var(--atomix-error-text-emphasis);
4996
+ --atomix-card-icon-bg: var(--atomix-error-text-emphasis);
4997
+ --atomix-card-icon-color: var(--atomix-error-bg-subtle);
4998
+ }
4999
+ .c-card--light {
5000
+ --atomix-card-bg: var(--atomix-light);
5001
+ --atomix-card-bg-hover: var(--atomix-light-hover);
5002
+ --atomix-card-border-color: var(--atomix-light);
5003
+ --atomix-card-title-color: var(--atomix-dark);
5004
+ --atomix-card-text-color: var(--atomix-dark);
5005
+ --atomix-card-icon-bg: var(--atomix-dark);
5006
+ --atomix-card-icon-color: var(--atomix-light);
5007
+ }
5008
+ .c-card--dark {
5009
+ --atomix-card-bg: var(--atomix-dark);
5010
+ --atomix-card-bg-hover: var(--atomix-dark-hover);
5011
+ --atomix-card-border-color: var(--atomix-dark);
5012
+ --atomix-card-title-color: var(--atomix-light);
5013
+ --atomix-card-text-color: var(--atomix-light);
5014
+ --atomix-card-icon-bg: var(--atomix-light);
5015
+ --atomix-card-icon-color: var(--atomix-dark);
5016
+ }
5017
+ .c-card__loading {
5018
+ position: absolute;
5019
+ inset: 0;
5020
+ display: flex;
5021
+ align-items: center;
5022
+ justify-content: center;
5023
+ z-index: 2;
5024
+ border-radius: var(--atomix-card-border-radius);
5025
+ pointer-events: none;
5026
+ }
5027
+ .c-card__spinner {
5028
+ width: 2.5rem;
5029
+ height: 2.5rem;
5030
+ border: 4px solid;
5031
+ border-color: var(--atomix-border-primary, rgba(0, 0, 0, 0.15));
5032
+ border-top-color: var(--atomix-brand-text-emphasis, var(--atomix-primary));
5033
+ border-right-color: var(--atomix-brand-text-emphasis, var(--atomix-primary));
5034
+ border-radius: 50%;
5035
+ animation: spin 0.8s linear infinite;
5036
+ background-color: transparent;
5037
+ flex-shrink: 0;
5038
+ box-sizing: border-box;
5039
+ display: block;
5040
+ }
5041
+ .c-card:focus-visible {
5042
+ outline: 2px solid var(--atomix-brand-border-subtle);
5043
+ outline-offset: 2px;
5044
+ }
5045
+ @media (prefers-reduced-motion: reduce) {
5046
+ .c-card {
5047
+ transition: none;
5048
+ }
5049
+ .c-card--interactive:hover:not(.c-card--disabled) {
5050
+ transform: none;
5051
+ }
5052
+ .c-card__spinner {
5053
+ animation: none;
5054
+ border-top-color: transparent;
5055
+ }
5056
+ }
5057
+ @media (prefers-contrast: high) {
5058
+ .c-card {
5059
+ border-width: 2px;
5060
+ }
5061
+ .c-card--selected {
5062
+ border-width: 3px;
5063
+ }
5064
+ }
4772
5065
  .is-elevated .c-card {
4773
5066
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
4774
5067
  z-index: 1;
4775
5068
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
4776
5069
  }
5070
+ @keyframes spin {
5071
+ to {
5072
+ transform: rotate(360deg);
5073
+ }
5074
+ }
4777
5075
  .c-chart {
4778
5076
  --atomix-chart-primary-color: var(--atomix-primary);
4779
5077
  --atomix-chart-secondary-color: var(--atomix-secondary);
@@ -10964,30 +11262,30 @@ a, a:hover {
10964
11262
  padding: 1rem 1rem;
10965
11263
  }
10966
11264
  }
10967
- @media (max-width: 991.98px) {
10968
- .c-side-menu__wrapper {
10969
- height: 0px;
10970
- overflow: hidden;
10971
- -webkit-user-select: none;
10972
- -moz-user-select: none;
10973
- user-select: none;
10974
- transition: var(--atomix-side-menu-wrapper-transition);
10975
- }
11265
+ .c-side-menu__wrapper {
11266
+ overflow: hidden;
11267
+ -webkit-user-select: none;
11268
+ -moz-user-select: none;
11269
+ user-select: none;
11270
+ transition: var(--atomix-side-menu-wrapper-transition);
11271
+ height: 0px;
10976
11272
  }
10977
- @media (max-width: 991.98px) {
10978
- .c-side-menu__inner {
10979
- padding-top: var(--atomix-side-menu-inner-padding-top);
10980
- }
11273
+ .c-side-menu__inner {
11274
+ padding-top: var(--atomix-side-menu-inner-padding-top);
10981
11275
  }
10982
11276
  .c-side-menu__title {
10983
11277
  color: var(--atomix-side-menu-title-color);
10984
11278
  font-size: var(--atomix-side-menu-title-font-size);
10985
11279
  font-weight: var(--atomix-side-menu-title-font-weight);
11280
+ margin: 0;
10986
11281
  margin-bottom: var(--atomix-side-menu-title-spacer-y);
10987
- margin: 0 0 var(--atomix-side-menu-title-spacer-y) 0;
11282
+ }
11283
+ .c-side-menu__toggler .c-side-menu__title {
11284
+ margin-bottom: 0;
11285
+ flex: 1 1;
10988
11286
  }
10989
11287
  .c-side-menu__toggler {
10990
- display: none;
11288
+ display: flex;
10991
11289
  align-items: center;
10992
11290
  justify-content: space-between;
10993
11291
  width: 100%;
@@ -11001,19 +11299,18 @@ a, a:hover {
11001
11299
  user-select: none;
11002
11300
  transition: var(--atomix-side-menu-toggler-transition);
11003
11301
  text-align: left;
11004
- }
11005
- @media (max-width: 991.98px) {
11006
- .c-side-menu__toggler {
11007
- display: flex;
11008
- }
11302
+ margin: 0;
11009
11303
  }
11010
11304
  .c-side-menu__toggler:hover {
11011
11305
  background-color: var(--atomix-side-menu-toggler-hover-bg);
11012
11306
  }
11013
- .c-side-menu__toggler:focus {
11307
+ .c-side-menu__toggler:focus-visible {
11014
11308
  outline: 2px solid var(--atomix-focus-ring-color);
11015
11309
  outline-offset: 2px;
11016
11310
  }
11311
+ .c-side-menu__toggler:focus:not(:focus-visible) {
11312
+ outline: none;
11313
+ }
11017
11314
  .c-side-menu__toggler:active {
11018
11315
  transform: scale(0.98);
11019
11316
  }
@@ -11025,6 +11322,23 @@ a, a:hover {
11025
11322
  .c-side-menu__toggler-icon {
11026
11323
  transition: var(--atomix-side-menu-toggler-transition);
11027
11324
  font-size: 0.875em;
11325
+ flex-shrink: 0;
11326
+ display: inline-flex;
11327
+ align-items: center;
11328
+ justify-content: center;
11329
+ transform-origin: center;
11330
+ }
11331
+ .c-side-menu__toggler--nested {
11332
+ margin-bottom: var(--atomix-side-menu-item-gap);
11333
+ }
11334
+ .c-side-menu__nested-wrapper {
11335
+ overflow: hidden;
11336
+ transition: var(--atomix-side-menu-wrapper-transition);
11337
+ height: 0px;
11338
+ margin: 0;
11339
+ }
11340
+ .c-side-menu__nested-inner {
11341
+ display: block;
11028
11342
  }
11029
11343
  .c-side-menu__list {
11030
11344
  list-style: none;
@@ -11037,6 +11351,9 @@ a, a:hover {
11037
11351
  .c-side-menu__list:last-child {
11038
11352
  margin-bottom: 0;
11039
11353
  }
11354
+ .c-side-menu__item {
11355
+ display: block;
11356
+ }
11040
11357
  .c-side-menu__link {
11041
11358
  display: flex;
11042
11359
  align-items: center;
@@ -11052,16 +11369,20 @@ a, a:hover {
11052
11369
  text-decoration: none;
11053
11370
  cursor: pointer;
11054
11371
  transition: var(--atomix-side-menu-item-transition);
11372
+ position: relative;
11055
11373
  }
11056
11374
  .c-side-menu__link:hover {
11057
11375
  color: var(--atomix-side-menu-item-hover-color);
11058
11376
  background-color: var(--atomix-side-menu-item-hover-bg);
11059
11377
  text-decoration: none;
11060
11378
  }
11061
- .c-side-menu__link:focus {
11379
+ .c-side-menu__link:focus-visible {
11062
11380
  outline: 2px solid var(--atomix-focus-ring-color);
11063
11381
  outline-offset: 2px;
11064
11382
  }
11383
+ .c-side-menu__link:focus:not(:focus-visible) {
11384
+ outline: none;
11385
+ }
11065
11386
  .c-side-menu__link:active {
11066
11387
  transform: scale(0.98);
11067
11388
  }
@@ -11088,9 +11409,15 @@ a, a:hover {
11088
11409
  background-color: transparent;
11089
11410
  border-bottom: none;
11090
11411
  }
11091
- .c-side-menu.is-open .c-side-menu__toggler-icon {
11412
+ .c-side-menu.is-open .c-side-menu__toggler .c-side-menu__toggler-icon {
11413
+ transform: rotate(90deg);
11414
+ }
11415
+ .c-side-menu__toggler--nested.is-open .c-side-menu__toggler-icon {
11092
11416
  transform: rotate(90deg);
11093
11417
  }
11418
+ .c-side-menu__toggler--nested.is-open + .c-side-menu__nested-wrapper {
11419
+ height: auto;
11420
+ }
11094
11421
  .dark-mode .c-side-menu {
11095
11422
  --atomix-side-menu-bg: var(--atomix-gray-9);
11096
11423
  --atomix-side-menu-border-color: var(--atomix-gray-7);
@@ -11108,6 +11435,18 @@ a, a:hover {
11108
11435
  .c-side-menu .c-side-menu__toggler-icon {
11109
11436
  transition: none;
11110
11437
  }
11438
+ .c-side-menu .c-side-menu__toggler:active {
11439
+ transform: none;
11440
+ }
11441
+ .c-side-menu .c-side-menu__link:active {
11442
+ transform: none;
11443
+ }
11444
+ }
11445
+ @media (prefers-contrast: high) {
11446
+ .c-side-menu .c-side-menu__toggler:focus-visible,
11447
+ .c-side-menu .c-side-menu__link:focus-visible {
11448
+ outline-width: 3px;
11449
+ }
11111
11450
  }
11112
11451
  .c-skeleton {
11113
11452
  --atomix-skeleton-width: 100%;
@@ -11878,24 +12217,52 @@ a, a:hover {
11878
12217
  --atomix-tooltip-bg: var(--atomix-invert-bg-subtle);
11879
12218
  --atomix-tooltip-font-size: 0.75rem;
11880
12219
  --atomix-tooltip-font-weight: 400;
11881
- --atomix-tooltip-color: var(--atomix-invert-text-emphasis);
12220
+ --atomix-tooltip-color: var(--atomix-invert-text);
11882
12221
  --atomix-tooltip-border-radius: 0.5rem;
11883
12222
  --atomix-tooltip-border-width: ;
11884
12223
  --atomix-tooltip-border-color: ;
11885
12224
  --atomix-tooltip-box-shadow: ;
11886
12225
  --atomix-tooltip-arrow-size: 0.75rem;
12226
+ --atomix-tooltip-offset: 0.75rem;
11887
12227
  position: absolute;
11888
- bottom: calc(100% + var(--atomix-tooltip-arrow-size));
11889
- left: 50%;
11890
12228
  width: -moz-max-content;
11891
12229
  width: max-content;
11892
12230
  height: -moz-max-content;
11893
12231
  height: max-content;
11894
12232
  max-width: var(--atomix-tooltip-max-width);
11895
- transform: translateX(-50%);
11896
12233
  pointer-events: none;
11897
12234
  z-index: 1000;
11898
12235
  }
12236
+ .c-tooltip--top, .c-tooltip--top-left, .c-tooltip--top-right {
12237
+ bottom: calc(100% + var(--atomix-tooltip-offset));
12238
+ transform-origin: bottom center;
12239
+ }
12240
+ .c-tooltip--bottom, .c-tooltip--bottom-left, .c-tooltip--bottom-right {
12241
+ top: calc(100% + var(--atomix-tooltip-offset));
12242
+ transform-origin: top center;
12243
+ }
12244
+ .c-tooltip--left {
12245
+ right: calc(100% + var(--atomix-tooltip-offset));
12246
+ top: 50%;
12247
+ transform: translateY(-50%);
12248
+ transform-origin: right center;
12249
+ }
12250
+ .c-tooltip--right {
12251
+ left: calc(100% + var(--atomix-tooltip-offset));
12252
+ top: 50%;
12253
+ transform: translateY(-50%);
12254
+ transform-origin: left center;
12255
+ }
12256
+ .c-tooltip--top, .c-tooltip--bottom {
12257
+ left: 50%;
12258
+ transform: translateX(-50%);
12259
+ }
12260
+ .c-tooltip--top-left, .c-tooltip--bottom-left {
12261
+ left: 0;
12262
+ }
12263
+ .c-tooltip--top-right, .c-tooltip--bottom-right {
12264
+ right: 0;
12265
+ }
11899
12266
  .c-tooltip__content {
11900
12267
  position: relative;
11901
12268
  color: var(--atomix-tooltip-color);
@@ -11904,10 +12271,12 @@ a, a:hover {
11904
12271
  padding: var(--atomix-tooltip-padding-y) var(--atomix-tooltip-padding-x);
11905
12272
  background-color: var(--atomix-tooltip-bg);
11906
12273
  border-radius: var(--atomix-tooltip-border-radius);
12274
+ box-shadow: var(--atomix-tooltip-box-shadow);
11907
12275
  z-index: 2;
11908
12276
  opacity: 0;
12277
+ pointer-events: auto;
12278
+ transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
11909
12279
  transform: scale(0.95);
11910
- transition: opacity 0.2s ease-out, transform 0.2s ease-out;
11911
12280
  }
11912
12281
  .c-tooltip__content.is-active {
11913
12282
  opacity: 1;
@@ -11915,71 +12284,37 @@ a, a:hover {
11915
12284
  }
11916
12285
  .c-tooltip__arrow {
11917
12286
  position: absolute;
11918
- bottom: calc(var(--atomix-tooltip-arrow-size) / -2);
11919
- left: 50%;
11920
- transform: translateX(-50%) rotate(45deg);
11921
12287
  width: var(--atomix-tooltip-arrow-size);
11922
12288
  height: var(--atomix-tooltip-arrow-size);
11923
12289
  background-color: var(--atomix-tooltip-bg);
11924
12290
  z-index: 1;
11925
- }
11926
- .c-tooltip--top-left {
11927
- left: auto;
11928
- right: calc(100% - var(--atomix-tooltip-arrow-size) * 2);
11929
- transform: translateX(0);
11930
- }
11931
- .c-tooltip--top-left .c-tooltip__arrow {
11932
- left: auto;
11933
- right: var(--atomix-tooltip-arrow-size);
11934
12291
  transform: rotate(45deg);
11935
12292
  }
11936
- .c-tooltip--top-right {
11937
- left: calc(100% - var(--atomix-tooltip-arrow-size) * 2);
11938
- transform: translateX(0);
12293
+ .c-tooltip--top .c-tooltip__arrow, .c-tooltip--top-left .c-tooltip__arrow, .c-tooltip--top-right .c-tooltip__arrow {
12294
+ bottom: calc(var(--atomix-tooltip-arrow-size) / -2);
11939
12295
  }
11940
- .c-tooltip--top-right .c-tooltip__arrow {
11941
- left: var(--atomix-tooltip-arrow-size);
11942
- transform: rotate(45deg);
12296
+ .c-tooltip--bottom .c-tooltip__arrow, .c-tooltip--bottom-left .c-tooltip__arrow, .c-tooltip--bottom-right .c-tooltip__arrow {
12297
+ top: calc(var(--atomix-tooltip-arrow-size) / -2);
11943
12298
  }
11944
- .c-tooltip--right {
11945
- left: calc(100% + var(--atomix-tooltip-arrow-size));
12299
+ .c-tooltip--left .c-tooltip__arrow {
12300
+ right: calc(var(--atomix-tooltip-arrow-size) / -2);
11946
12301
  top: 50%;
11947
- transform: translateY(-50%);
12302
+ transform: translateY(-50%) rotate(45deg);
11948
12303
  }
11949
12304
  .c-tooltip--right .c-tooltip__arrow {
11950
12305
  left: calc(var(--atomix-tooltip-arrow-size) / -2);
11951
12306
  top: 50%;
11952
- bottom: auto;
11953
- transform: rotate(45deg) translateY(-50%);
11954
- transform-origin: top;
11955
- }
11956
- .c-tooltip--left {
11957
- left: auto;
11958
- right: calc(100% + var(--atomix-tooltip-arrow-size));
11959
- top: 50%;
11960
- transform: translateY(-50%);
11961
- }
11962
- .c-tooltip--left .c-tooltip__arrow {
11963
- left: auto;
11964
- top: 50%;
11965
- bottom: auto;
11966
- right: calc(var(--atomix-tooltip-arrow-size) / -5);
11967
- transform: rotate(45deg) translateY(-50%);
11968
- }
11969
- .c-tooltip--bottom {
11970
- top: calc(100% + var(--atomix-tooltip-arrow-size));
12307
+ transform: translateY(-50%) rotate(45deg);
11971
12308
  }
11972
- .c-tooltip--bottom .c-tooltip__arrow {
11973
- top: calc(var(--atomix-tooltip-arrow-size) / -2);
11974
- bottom: auto;
12309
+ .c-tooltip--top .c-tooltip__arrow, .c-tooltip--bottom .c-tooltip__arrow {
12310
+ left: 50%;
12311
+ transform: translateX(-50%) rotate(45deg);
11975
12312
  }
11976
- .c-tooltip--bottom-left {
11977
- top: calc(100% + var(--atomix-tooltip-arrow-size));
11978
- left: 0;
12313
+ .c-tooltip--top-left .c-tooltip__arrow, .c-tooltip--bottom-left .c-tooltip__arrow {
12314
+ left: var(--atomix-tooltip-arrow-size);
11979
12315
  }
11980
- .c-tooltip--bottom-right {
11981
- top: calc(100% + var(--atomix-tooltip-arrow-size));
11982
- right: 0;
12316
+ .c-tooltip--top-right .c-tooltip__arrow, .c-tooltip--bottom-right .c-tooltip__arrow {
12317
+ right: var(--atomix-tooltip-arrow-size);
11983
12318
  }
11984
12319
  .c-upload {
11985
12320
  --atomix-upload-width: 31.25rem;