@shohojdhara/atomix 0.3.0 → 0.3.1

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 (95) hide show
  1. package/dist/atomix.css +309 -105
  2. package/dist/atomix.min.css +3 -5
  3. package/dist/index.d.ts +804 -53
  4. package/dist/index.esm.js +16367 -16413
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/index.js +16275 -16336
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.min.js +1 -1
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/themes/applemix.css +309 -105
  11. package/dist/themes/applemix.min.css +5 -7
  12. package/dist/themes/boomdevs.css +202 -10
  13. package/dist/themes/boomdevs.min.css +3 -5
  14. package/dist/themes/esrar.css +309 -105
  15. package/dist/themes/esrar.min.css +4 -6
  16. package/dist/themes/flashtrade.css +310 -105
  17. package/dist/themes/flashtrade.min.css +5 -7
  18. package/dist/themes/mashroom.css +300 -96
  19. package/dist/themes/mashroom.min.css +4 -6
  20. package/dist/themes/shaj-default.css +300 -96
  21. package/dist/themes/shaj-default.min.css +4 -6
  22. package/package.json +1 -1
  23. package/src/components/AtomixGlass/AtomixGlass.test.tsx +21 -32
  24. package/src/components/AtomixGlass/AtomixGlass.tsx +55 -42
  25. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +205 -57
  26. package/src/components/AtomixGlass/GlassFilter.tsx +22 -8
  27. package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +221 -0
  28. package/src/components/AtomixGlass/atomixGLass.old.tsx +0 -3
  29. package/src/components/AtomixGlass/shader-utils.ts +8 -0
  30. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +319 -100
  31. package/src/components/AtomixGlass/stories/Examples.stories.tsx +601 -105
  32. package/src/components/AtomixGlass/stories/Modes.stories.tsx +30 -12
  33. package/src/components/AtomixGlass/stories/Playground.stories.tsx +173 -38
  34. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +18 -18
  35. package/src/components/AtomixGlass/stories/shared-components.tsx +27 -5
  36. package/src/components/Button/Button.tsx +62 -17
  37. package/src/components/Callout/Callout.test.tsx +8 -14
  38. package/src/components/Card/Card.tsx +103 -1
  39. package/src/components/Card/index.ts +3 -2
  40. package/src/components/Icon/index.ts +1 -1
  41. package/src/components/Modal/Modal.stories.tsx +29 -38
  42. package/src/components/Modal/Modal.tsx +4 -4
  43. package/src/components/Navigation/SideMenu/SideMenu.tsx +49 -41
  44. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +63 -24
  45. package/src/components/Popover/Popover.tsx +1 -1
  46. package/src/components/VideoPlayer/VideoPlayer.stories.tsx +977 -400
  47. package/src/components/VideoPlayer/VideoPlayer.tsx +1 -6
  48. package/src/lib/composables/shared-mouse-tracker.ts +133 -0
  49. package/src/lib/composables/useAtomixGlass.ts +303 -115
  50. package/src/lib/theme/ThemeManager.integration.test.ts +124 -0
  51. package/src/lib/theme/ThemeManager.stories.tsx +13 -13
  52. package/src/lib/theme/ThemeManager.test.ts +4 -0
  53. package/src/lib/theme/ThemeManager.ts +203 -59
  54. package/src/lib/theme/ThemeProvider.tsx +183 -33
  55. package/src/lib/theme/composeTheme.ts +375 -0
  56. package/src/lib/theme/createTheme.test.ts +475 -0
  57. package/src/lib/theme/createTheme.ts +510 -0
  58. package/src/lib/theme/generateCSSVariables.ts +713 -0
  59. package/src/lib/theme/index.ts +67 -0
  60. package/src/lib/theme/themeUtils.ts +333 -0
  61. package/src/lib/theme/types.ts +337 -8
  62. package/src/lib/theme/useTheme.test.tsx +2 -1
  63. package/src/lib/theme/useTheme.ts +6 -22
  64. package/src/lib/types/components.ts +148 -59
  65. package/src/styles/01-settings/_index.scss +2 -2
  66. package/src/styles/01-settings/_settings.badge.scss +2 -2
  67. package/src/styles/01-settings/_settings.border-radius.scss +1 -1
  68. package/src/styles/01-settings/{_settings.maps.scss → _settings.design-tokens.scss} +163 -49
  69. package/src/styles/01-settings/_settings.modal.scss +1 -1
  70. package/src/styles/01-settings/_settings.spacing.scss +14 -13
  71. package/src/styles/03-generic/_generic.root.scss +131 -50
  72. package/src/styles/05-objects/_objects.block.scss +1 -1
  73. package/src/styles/06-components/_components.atomix-glass.scss +20 -22
  74. package/src/styles/06-components/_components.badge.scss +2 -2
  75. package/src/styles/06-components/_components.button.scss +1 -1
  76. package/src/styles/06-components/_components.callout.scss +1 -1
  77. package/src/styles/06-components/_components.card.scss +74 -2
  78. package/src/styles/06-components/_components.chart.scss +1 -1
  79. package/src/styles/06-components/_components.dropdown.scss +6 -0
  80. package/src/styles/06-components/_components.footer.scss +1 -1
  81. package/src/styles/06-components/_components.list-group.scss +1 -1
  82. package/src/styles/06-components/_components.list.scss +1 -1
  83. package/src/styles/06-components/_components.menu.scss +1 -1
  84. package/src/styles/06-components/_components.messages.scss +1 -1
  85. package/src/styles/06-components/_components.modal.scss +7 -2
  86. package/src/styles/06-components/_components.navbar.scss +1 -1
  87. package/src/styles/06-components/_components.popover.scss +10 -0
  88. package/src/styles/06-components/_components.product-review.scss +1 -1
  89. package/src/styles/06-components/_components.progress.scss +1 -1
  90. package/src/styles/06-components/_components.rating.scss +1 -1
  91. package/src/styles/06-components/_components.spinner.scss +1 -1
  92. package/src/styles/99-utilities/_utilities.background.scss +1 -1
  93. package/src/styles/99-utilities/_utilities.border.scss +1 -1
  94. package/src/styles/99-utilities/_utilities.link.scss +1 -1
  95. package/src/styles/99-utilities/_utilities.text.scss +1 -1
@@ -838,7 +838,6 @@ summary {
838
838
  --atomix-link-decoration: none;
839
839
  --atomix-link-hover-color: var(--atomix-primary-7);
840
840
  --atomix-link-hover-color-rgb: var(--atomix-primary-7);
841
- --atomix-code-color: #e00000;
842
841
  --atomix-highlight-bg: #ffdf99;
843
842
  --atomix-border-width: 1px;
844
843
  --atomix-border-style: solid;
@@ -849,9 +848,7 @@ summary {
849
848
  --atomix-border-radius-lg: 0.75rem;
850
849
  --atomix-border-radius-xl: 1rem;
851
850
  --atomix-border-radius-xxl: 1.25rem;
852
- --atomix-border-radius-2xl: var(
853
- --atomix-border-radius-xxl
854
- );
851
+ --atomix-border-radius-2xl: var(--atomix-border-radius-xxl);
855
852
  --atomix-border-radius-3xl: 1.5rem;
856
853
  --atomix-border-radius-4xl: 2rem;
857
854
  --atomix-border-radius-pill: 50rem;
@@ -866,6 +863,123 @@ summary {
866
863
  --atomix-form-valid-border-color: #009133;
867
864
  --atomix-form-invalid-color: #e00000;
868
865
  --atomix-form-invalid-border-color: #e00000;
866
+ --atomix-spacing-0: 0rem;
867
+ --atomix-spacing-1: 0.25rem;
868
+ --atomix-spacing-1.5: 0.375rem;
869
+ --atomix-spacing-2: 0.5rem;
870
+ --atomix-spacing-2.5: 0.625rem;
871
+ --atomix-spacing-3: 0.75rem;
872
+ --atomix-spacing-4: 1rem;
873
+ --atomix-spacing-5: 1.25rem;
874
+ --atomix-spacing-6: 1.5rem;
875
+ --atomix-spacing-7: 1.75rem;
876
+ --atomix-spacing-8: 2rem;
877
+ --atomix-spacing-9: 2.25rem;
878
+ --atomix-spacing-10: 2.5rem;
879
+ --atomix-spacing-11: 2.75rem;
880
+ --atomix-spacing-12: 3rem;
881
+ --atomix-spacing-14: 3.5rem;
882
+ --atomix-spacing-16: 4rem;
883
+ --atomix-spacing-20: 5rem;
884
+ --atomix-spacing-24: 6rem;
885
+ --atomix-spacing-28: 7rem;
886
+ --atomix-spacing-32: 8rem;
887
+ --atomix-spacing-36: 9rem;
888
+ --atomix-spacing-40: 10rem;
889
+ --atomix-red-1: #fce6e6;
890
+ --atomix-red-2: #f8cccc;
891
+ --atomix-red-3: #f29999;
892
+ --atomix-red-4: #ec6666;
893
+ --atomix-red-5: #e63333;
894
+ --atomix-red-6: #e00000;
895
+ --atomix-red-7: #b80000;
896
+ --atomix-red-8: #910000;
897
+ --atomix-red-9: #6a0000;
898
+ --atomix-red-10: #440000;
899
+ --atomix-green-1: #e6f4ea;
900
+ --atomix-green-2: #cce9d6;
901
+ --atomix-green-3: #99d3ad;
902
+ --atomix-green-4: #66bd85;
903
+ --atomix-green-5: #33a75c;
904
+ --atomix-green-6: #009133;
905
+ --atomix-green-7: #00772a;
906
+ --atomix-green-8: #005e21;
907
+ --atomix-green-9: #004418;
908
+ --atomix-green-10: #002a0f;
909
+ --atomix-blue-1: #e6f0ff;
910
+ --atomix-blue-2: #cce0ff;
911
+ --atomix-blue-3: #99c0ff;
912
+ --atomix-blue-4: #66a1ff;
913
+ --atomix-blue-5: #3381ff;
914
+ --atomix-blue-6: #0061ff;
915
+ --atomix-blue-7: #004ecf;
916
+ --atomix-blue-8: #003ca0;
917
+ --atomix-blue-9: #002c72;
918
+ --atomix-blue-10: #001c44;
919
+ --atomix-yellow-1: #fff8e6;
920
+ --atomix-yellow-2: #ffefcc;
921
+ --atomix-yellow-3: #ffdf99;
922
+ --atomix-yellow-4: #ffd066;
923
+ --atomix-yellow-5: #ffc033;
924
+ --atomix-yellow-6: #ffb000;
925
+ --atomix-yellow-7: #d99500;
926
+ --atomix-yellow-8: #b27a00;
927
+ --atomix-yellow-9: #8c6000;
928
+ --atomix-yellow-10: #664500;
929
+ --atomix-font-weight-light: 300;
930
+ --atomix-font-weight-normal: 400;
931
+ --atomix-font-weight-medium: 500;
932
+ --atomix-font-weight-semibold: 600;
933
+ --atomix-font-weight-bold: 700;
934
+ --atomix-font-weight-heavy: 800;
935
+ --atomix-font-weight-black: 900;
936
+ --atomix-line-height-base: 1.2;
937
+ --atomix-line-height-sm: 1.43;
938
+ --atomix-line-height-lg: 1.56;
939
+ --atomix-font-size-xl: 1.5rem;
940
+ --atomix-font-size-2xl: 2rem;
941
+ --atomix-display-1: 4rem;
942
+ --atomix-letter-spacing-h1: -1px;
943
+ --atomix-letter-spacing-h2: -1px;
944
+ --atomix-letter-spacing-h3: -1px;
945
+ --atomix-letter-spacing-h4: -0.5px;
946
+ --atomix-letter-spacing-h5: -0.5px;
947
+ --atomix-letter-spacing-h6: -0.5px;
948
+ --atomix-transition-duration-fast: 0.15s;
949
+ --atomix-transition-duration-base: 0.3s;
950
+ --atomix-transition-duration-slow: 0.5s;
951
+ --atomix-transition-duration-slower: 0.7s;
952
+ --atomix-easing-base: cubic-bezier(0.4, 0, 0.2, 1);
953
+ --atomix-easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
954
+ --atomix-easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
955
+ --atomix-easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
956
+ --atomix-easing-ease-linear: linear;
957
+ --atomix-transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
958
+ --atomix-transition-base: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
959
+ --atomix-transition-slow: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
960
+ --atomix-z-n1: -1;
961
+ --atomix-z-0: 0;
962
+ --atomix-z-1: 1;
963
+ --atomix-z-2: 2;
964
+ --atomix-z-3: 3;
965
+ --atomix-z-4: 4;
966
+ --atomix-z-5: 5;
967
+ --atomix-z-dropdown: 1000;
968
+ --atomix-z-sticky: 1020;
969
+ --atomix-z-fixed: 1030;
970
+ --atomix-z-modal: 1040;
971
+ --atomix-z-popover: 1050;
972
+ --atomix-z-tooltip: 1060;
973
+ --atomix-z-drawer: 1070;
974
+ --atomix-breakpoint-xs: 0;
975
+ --atomix-breakpoint-sm: 576px;
976
+ --atomix-breakpoint-md: 768px;
977
+ --atomix-breakpoint-lg: 992px;
978
+ --atomix-breakpoint-xl: 1200px;
979
+ --atomix-breakpoint-xxl: 1440px;
980
+ --atomix-focus-ring-width: 3px;
981
+ --atomix-focus-ring-offset: 2px;
982
+ --atomix-focus-ring-opacity: 0.25;
869
983
  }
870
984
  [data-atomix-color-mode=dark] {
871
985
  color-scheme: dark;
@@ -879,6 +993,14 @@ summary {
879
993
  --atomix-success: #009133;
880
994
  --atomix-warning: #ffb000;
881
995
  --atomix-info: #0061ff;
996
+ --atomix-primary-rgb: 0, 97, 255;
997
+ --atomix-secondary-rgb: 134, 142, 150;
998
+ --atomix-light-rgb: 248, 249, 250;
999
+ --atomix-dark-rgb: 73, 80, 87;
1000
+ --atomix-error-rgb: 224, 0, 0;
1001
+ --atomix-success-rgb: 0, 145, 51;
1002
+ --atomix-warning-rgb: 255, 176, 0;
1003
+ --atomix-info-rgb: 0, 97, 255;
882
1004
  --atomix-primary-text-emphasis: #ffffff;
883
1005
  --atomix-secondary-text-emphasis: #e9ecef;
884
1006
  --atomix-tertiary-text-emphasis: #dee2e6;
@@ -937,6 +1059,7 @@ summary {
937
1059
  --atomix-link-color: #66a1ff;
938
1060
  --atomix-link-color-rgb: 102, 161, 255;
939
1061
  --atomix-link-hover-color: rgb(25.5, 114, 255);
1062
+ --atomix-link-hover-color-rgb: 25.5, 114, 255;
940
1063
  --atomix-code-color: #e63333;
941
1064
  --atomix-border-color: #495057;
942
1065
  --atomix-border-color-translucent: rgba(255, 255, 255, 0.15);
@@ -2125,7 +2248,7 @@ a, a:hover {
2125
2248
  position: relative;
2126
2249
  --atomix-glass-radius: var(--atomix-radius-md, 16px);
2127
2250
  --atomix-glass-transform: none;
2128
- --atomix-glass-transition: all var(--atomix-transition-duration, 0s) ease-out;
2251
+ --atomix-glass-transition: all var(--atomix-transition-duration, 0.15s) ease-out;
2129
2252
  --atomix-glass-position: absolute;
2130
2253
  --atomix-glass-container-width: 100%;
2131
2254
  --atomix-glass-container-height: 100%;
@@ -2232,10 +2355,14 @@ a, a:hover {
2232
2355
  height: 100%;
2233
2356
  pointer-events: none;
2234
2357
  }
2358
+ .c-atomix-glass__filter svg {
2359
+ border-radius: var(--atomix-glass-radius);
2360
+ }
2235
2361
  .c-atomix-glass__filter-overlay {
2236
2362
  position: absolute;
2237
2363
  inset: 0;
2238
2364
  pointer-events: none;
2365
+ border-radius: var(--atomix-glass-radius);
2239
2366
  }
2240
2367
  .c-atomix-glass__filter-shadow {
2241
2368
  position: absolute;
@@ -2246,6 +2373,7 @@ a, a:hover {
2246
2373
  position: relative;
2247
2374
  width: var(--atomix-glass-container-width);
2248
2375
  height: var(--atomix-glass-container-height);
2376
+ border-radius: var(--atomix-glass-radius);
2249
2377
  }
2250
2378
  .c-atomix-glass__background-layer {
2251
2379
  position: absolute;
@@ -2253,7 +2381,6 @@ a, a:hover {
2253
2381
  border-radius: var(--atomix-glass-radius);
2254
2382
  transform: var(--atomix-glass-transform);
2255
2383
  transition: var(--atomix-glass-transition);
2256
- will-change: transform;
2257
2384
  }
2258
2385
  .c-atomix-glass__background-layer--dark {
2259
2386
  background-color: var(--atomix-gray-9, #1f2937);
@@ -2337,7 +2464,7 @@ a, a:hover {
2337
2464
  }
2338
2465
  .c-badge--glass {
2339
2466
  background-color: color-mix(in srgb, var(--atomix-tag-bg-color) 20%, transparent);
2340
- border: 1px solid color-mix(in srgb, var(--atomix-tag-color) 90%, transparent);
2467
+ border: 1px solid color-mix(in srgb, var(--atomix-tag-color) 50%, transparent);
2341
2468
  }
2342
2469
  .c-badge--primary {
2343
2470
  --atomix-tag-bg-color: var(--atomix-brand-bg-subtle);
@@ -3370,6 +3497,35 @@ a, a:hover {
3370
3497
  padding: var(--atomix-card-icon-padding);
3371
3498
  border-radius: 50rem;
3372
3499
  }
3500
+ .c-card__footer {
3501
+ margin-top: var(--atomix-card-spacer-y);
3502
+ padding-top: var(--atomix-card-spacer-y);
3503
+ border-top: 1px solid var(--atomix-card-border-color);
3504
+ }
3505
+ .c-card__footer--align-start {
3506
+ display: flex;
3507
+ justify-content: flex-start;
3508
+ align-items: center;
3509
+ }
3510
+ .c-card__footer--align-center {
3511
+ display: flex;
3512
+ justify-content: center;
3513
+ align-items: center;
3514
+ }
3515
+ .c-card__footer--align-end {
3516
+ display: flex;
3517
+ justify-content: flex-end;
3518
+ align-items: center;
3519
+ }
3520
+ .c-card__footer--align-between {
3521
+ display: flex;
3522
+ justify-content: space-between;
3523
+ align-items: center;
3524
+ }
3525
+ .c-card__body--scrollable {
3526
+ overflow-y: auto;
3527
+ overflow-x: hidden;
3528
+ }
3373
3529
  .c-card:focus, .c-card.is-active {
3374
3530
  --atomix-card-border-color: var(--atomix-brand-border-subtle);
3375
3531
  }
@@ -3498,6 +3654,31 @@ a, a:hover {
3498
3654
  .c-card--interactive:active:not(.c-card--interactive--disabled) {
3499
3655
  transform: translateY(0);
3500
3656
  }
3657
+ .c-card--hoverable {
3658
+ cursor: pointer;
3659
+ transition: all 0.2s ease-in-out;
3660
+ }
3661
+ .c-card--hoverable:hover:not(.c-card--hoverable--disabled) {
3662
+ transform: translateY(-2px);
3663
+ }
3664
+ .c-card--hoverable:active:not(.c-card--hoverable--disabled) {
3665
+ transform: translateY(0);
3666
+ }
3667
+ .c-card--hoverable--hover-elevation-none:hover:not(.c-card--hoverable--disabled) {
3668
+ box-shadow: none;
3669
+ }
3670
+ .c-card--hoverable--hover-elevation-sm:hover:not(.c-card--hoverable--disabled) {
3671
+ box-shadow: var(--atomix-box-shadow-sm);
3672
+ }
3673
+ .c-card--hoverable--hover-elevation-md:hover:not(.c-card--hoverable--disabled) {
3674
+ box-shadow: var(--atomix-box-shadow-md);
3675
+ }
3676
+ .c-card--hoverable--hover-elevation-lg:hover:not(.c-card--hoverable--disabled) {
3677
+ box-shadow: var(--atomix-box-shadow-lg);
3678
+ }
3679
+ .c-card--hoverable--hover-elevation-xl:hover:not(.c-card--hoverable--disabled) {
3680
+ box-shadow: var(--atomix-box-shadow-xl);
3681
+ }
3501
3682
  .c-card--primary {
3502
3683
  --atomix-card-bg: var(--atomix-brand-bg-subtle);
3503
3684
  --atomix-card-bg-hover: var(--atomix-brand-bg-subtle);
@@ -3596,7 +3777,7 @@ a, a:hover {
3596
3777
  .c-card {
3597
3778
  transition: none;
3598
3779
  }
3599
- .c-card--interactive:hover:not(.c-card--disabled) {
3780
+ .c-card--interactive:hover:not(.c-card--disabled), .c-card--hoverable:hover:not(.c-card--disabled) {
3600
3781
  transform: none;
3601
3782
  }
3602
3783
  .c-card__spinner {
@@ -5565,6 +5746,9 @@ a, a:hover {
5565
5746
  --atomix-dropdown-link-hover-color: var(--atomix-dark-text-emphasis);
5566
5747
  --atomix-dropdown-link-hover-bg: var(--atomix-dark-bg-subtle);
5567
5748
  }
5749
+ .c-dropdown--glass .c-dropdown__menu-inner {
5750
+ box-shadow: none;
5751
+ }
5568
5752
  .c-dropdown.is-open .c-dropdown__toggle-icon {
5569
5753
  transform: rotate(-180deg);
5570
5754
  }
@@ -7950,7 +8134,7 @@ a, a:hover {
7950
8134
  --atomix-modal-sub-margin-top: 0.25rem;
7951
8135
  --atomix-modal-sub-color: var(--atomix-gray-7);
7952
8136
  --atomix-modal-sub-font-size: 0.875rem;
7953
- --atomix-modal-footer-items-gap: 2rem;
8137
+ --atomix-modal-footer-items-gap: 0.5rem;
7954
8138
  --atomix-modal-backdrop-bg: var(--atomix-black);
7955
8139
  --atomix-modal-backdrop-opacity: 0.6;
7956
8140
  --atomix-modal-backdrop-blur: 10px;
@@ -8052,8 +8236,12 @@ a, a:hover {
8052
8236
  .c-modal--xl {
8053
8237
  --atomix-modal-width: var(--atomix-modal-xl);
8054
8238
  }
8055
- .c-modal--glass .c-modal .c-modal--glass .c-modal__content {
8239
+ .c-modal--glass .c-modal__content {
8056
8240
  background-color: color-mix(in srgb, var(--atomix-modal-content-bg) 50%, transparent);
8241
+ box-shadow: none;
8242
+ border-radius: inherit;
8243
+ width: var(--atomix-modal-width);
8244
+ height: 100%;
8057
8245
  }
8058
8246
  .c-modal.is-open .c-modal__backdrop {
8059
8247
  opacity: var(--atomix-modal-backdrop-opacity);
@@ -9029,6 +9217,10 @@ a, a:hover {
9029
9217
  left: calc(var(--atomix-popover-arrow-offset) * -1);
9030
9218
  transform: translateY(-50%) rotate(45deg);
9031
9219
  }
9220
+ .c-popover--glass .c-popover__content-inner {
9221
+ background-color: color-mix(in srgb, var(--atomix-popover-bg) 50%, transparent);
9222
+ box-shadow: none;
9223
+ }
9032
9224
  .c-product-review {
9033
9225
  --atomix-product-review-padding: 1.5rem;
9034
9226
  --atomix-product-review-border-radius: var(--atomix-border-radius);