arekui 1.0.0 → 2.0.0

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 (99) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/LICENSE +21 -21
  3. package/README.md +26 -198
  4. package/arekui.css +5930 -3279
  5. package/arekui.d.ts +328 -328
  6. package/arekui.js +817 -450
  7. package/assets/img/grunge-wall-texture-freepick-kues1.webp +0 -0
  8. package/assets/img/logo.png +0 -0
  9. package/dist/css/arekui.base.min.css +1 -0
  10. package/dist/css/arekui.broadsheet.min.css +1 -0
  11. package/dist/css/arekui.brutalist.min.css +1 -0
  12. package/dist/css/arekui.default.min.css +1 -0
  13. package/dist/css/arekui.full.min.css +1 -0
  14. package/dist/css/arekui.min.css +1 -0
  15. package/dist/css/arekui.neo.min.css +1 -0
  16. package/dist/css/arekui.pixel.min.css +1 -0
  17. package/dist/js/arekui.min.js +2 -0
  18. package/package.json +64 -57
  19. package/scripts/build-css.js +95 -0
  20. package/scripts/build-custom.js +287 -318
  21. package/scripts/build-js.js +68 -0
  22. package/scripts/clean.js +13 -0
  23. package/scripts/dev.js +97 -0
  24. package/scripts/imports.js +18 -0
  25. package/scripts/split.js +256 -0
  26. package/src/arekui.base.css +63 -0
  27. package/src/arekui.broadsheet.css +6 -0
  28. package/src/arekui.brutalist.css +8 -0
  29. package/src/arekui.core.css +64 -0
  30. package/src/arekui.css +22 -5
  31. package/src/arekui.default.css +6 -0
  32. package/src/arekui.neo.css +8 -0
  33. package/src/arekui.pixel.css +8 -0
  34. package/src/base/brutalist-overrides.css +254 -0
  35. package/src/base/neo-overrides.css +330 -315
  36. package/src/base/pixel-overrides.css +336 -0
  37. package/src/base/reset.css +179 -65
  38. package/src/base/theme-brutalist.css +111 -0
  39. package/src/base/theme-default.css +184 -0
  40. package/src/base/theme-neo.css +108 -0
  41. package/src/base/theme-pixel.css +111 -0
  42. package/src/base/tokens.css +59 -302
  43. package/src/components/accordion.css +32 -33
  44. package/src/components/alert.css +24 -25
  45. package/src/components/badge.css +31 -32
  46. package/src/components/breadcrumb.css +31 -32
  47. package/src/components/broadsheet.css +264 -0
  48. package/src/components/button.css +102 -101
  49. package/src/components/card.css +22 -23
  50. package/src/components/carousel.css +49 -13
  51. package/src/components/chat.css +77 -76
  52. package/src/components/description-list.css +34 -0
  53. package/src/components/docs.css +252 -0
  54. package/src/components/empty.css +36 -0
  55. package/src/components/file-upload.css +49 -50
  56. package/src/components/footer.css +40 -25
  57. package/src/components/forms.css +67 -68
  58. package/src/components/heading.css +27 -0
  59. package/src/components/hero.css +20 -21
  60. package/src/components/join.css +12 -13
  61. package/src/components/kbd.css +15 -0
  62. package/src/components/link.css +22 -23
  63. package/src/components/loading.css +109 -0
  64. package/src/components/menu.css +104 -54
  65. package/src/components/misc.css +94 -55
  66. package/src/components/modal.css +30 -31
  67. package/src/components/navbar.css +166 -36
  68. package/src/components/pagination.css +50 -45
  69. package/src/components/popover.css +68 -69
  70. package/src/components/progress.css +17 -18
  71. package/src/components/prose.css +78 -78
  72. package/src/components/rating.css +35 -36
  73. package/src/components/scroll-top.css +34 -34
  74. package/src/components/segmented.css +44 -0
  75. package/src/components/sidebar.css +377 -0
  76. package/src/components/skeleton.css +52 -52
  77. package/src/components/spinner.css +36 -0
  78. package/src/components/swap.css +43 -43
  79. package/src/components/table.css +20 -21
  80. package/src/components/tabs.css +22 -23
  81. package/src/components/tag.css +99 -99
  82. package/src/components/textured.css +52 -32
  83. package/src/components/timeline.css +32 -33
  84. package/src/components/toast.css +132 -132
  85. package/src/components/tooltip.css +22 -23
  86. package/src/utilities/borders.css +150 -150
  87. package/src/utilities/brutalist-utilities.css +49 -0
  88. package/src/utilities/colors.css +79 -71
  89. package/src/utilities/hover.css +31 -31
  90. package/src/utilities/layout.css +98 -98
  91. package/src/utilities/neo-utilities.css +86 -93
  92. package/src/utilities/pixel-utilities.css +88 -0
  93. package/src/utilities/responsive.css +131 -126
  94. package/src/utilities/sizing.css +98 -89
  95. package/src/utilities/spacing.css +132 -129
  96. package/src/utilities/typography.css +95 -92
  97. package/dist/arekui.min.css +0 -1
  98. package/dist/arekui.min.js +0 -2
  99. package/src/components/drawer.css +0 -53
@@ -1,57 +1,96 @@
1
1
  /* DIVIDER & STEPPER & AVATAR */
2
- .ar-divider {
3
- display: flex;
4
- align-items: center;
5
- gap: var(--ar-s-3);
6
- color: var(--ar-gray-600);
7
- margin: var(--ar-s-4) 0;
8
- }
9
- .ar-divider::before,
10
- .ar-divider::after {
11
- content: "";
12
- flex: 1;
13
- height: var(--ar-border-width);
14
- background: var(--ar-base-300);
15
- }
16
- .ar-stepper {
17
- display: flex;
18
- justify-content: space-between;
19
- gap: var(--ar-s-2);
20
- }
21
- .ar-step {
22
- flex: 1;
23
- display: flex;
24
- flex-direction: column;
25
- align-items: center;
26
- gap: var(--ar-s-1);
27
- text-align: center;
28
- font-size: 0.75rem;
29
- color: var(--ar-gray-600);
30
- }
31
- .ar-step::before {
32
- content: attr(data-step);
33
- display: flex;
34
- align-items: center;
35
- justify-content: center;
36
- width: 2rem;
37
- height: 2rem;
38
- border-radius: var(--ar-radius-pill);
39
- background: var(--ar-base-300);
40
- color: var(--ar-base-content);
41
- font-weight: 700;
42
- }
43
- .ar-step-active::before {
44
- background: var(--ar-primary);
45
- color: var(--ar-primary-content);
46
- }
47
- .ar-avatar {
48
- width: 3rem;
49
- height: 3rem;
50
- border-radius: var(--ar-radius-pill);
51
- overflow: hidden;
52
- }
53
- .ar-avatar img {
54
- width: 100%;
55
- height: 100%;
56
- object-fit: cover;
2
+ .ar-divider {
3
+ display: flex;
4
+ align-items: center;
5
+ gap: var(--ar-s-3);
6
+ color: var(--ar-gray-600);
7
+ margin: var(--ar-s-4) 0;
8
+ }
9
+ .ar-divider::before,
10
+ .ar-divider::after {
11
+ content: "";
12
+ flex: 1;
13
+ height: var(--ar-border-width);
14
+ background: var(--ar-base-300);
15
+ }
16
+ .ar-stepper {
17
+ display: flex;
18
+ justify-content: space-between;
19
+ gap: var(--ar-s-2);
20
+ }
21
+ .ar-step {
22
+ flex: 1;
23
+ display: flex;
24
+ flex-direction: column;
25
+ align-items: center;
26
+ gap: var(--ar-s-1);
27
+ text-align: center;
28
+ font-size: 0.75rem;
29
+ color: var(--ar-gray-600);
30
+ position: relative;
31
+ }
32
+ .ar-step::before {
33
+ content: attr(data-step);
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ width: 2rem;
38
+ height: 2rem;
39
+ border-radius: var(--ar-radius-pill);
40
+ background: var(--ar-base-300);
41
+ color: var(--ar-base-content);
42
+ font-weight: 700;
43
+ position: relative;
44
+ z-index: 1;
45
+ }
46
+ .ar-step:not(:last-child)::after {
47
+ content: "";
48
+ position: absolute;
49
+ top: 1rem;
50
+ left: calc(50% + 1rem);
51
+ width: calc(100% + var(--ar-s-2) - 2rem);
52
+ height: var(--ar-border-width);
53
+ background: var(--ar-base-300);
54
+ z-index: 0;
55
+ }
56
+ .ar-step-active::before {
57
+ background: var(--ar-primary);
58
+ color: var(--ar-primary-content);
59
+ }
60
+ .ar-avatar {
61
+ width: 3rem;
62
+ height: 3rem;
63
+ border-radius: var(--ar-radius-pill);
64
+ overflow: hidden;
65
+ }
66
+ .ar-avatar img {
67
+ width: 100%;
68
+ height: 100%;
69
+ object-fit: cover;
70
+ }
71
+ .ar-avatar-group {
72
+ display: inline-flex;
73
+ align-items: center;
74
+ }
75
+ .ar-avatar-group > * {
76
+ border: var(--ar-border-width) solid var(--ar-base-100);
77
+ }
78
+ .ar-avatar-group > * + * {
79
+ margin-left: -0.75rem;
80
+ }
81
+ .ar-avatar-group .ar-avatar {
82
+ flex-shrink: 0;
83
+ }
84
+ .ar-avatar-more {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ flex-shrink: 0;
89
+ width: 3rem;
90
+ height: 3rem;
91
+ border-radius: var(--ar-radius-pill);
92
+ background: var(--ar-base-300);
93
+ color: var(--ar-base-content);
94
+ font-size: 0.75rem;
95
+ font-weight: 700;
57
96
  }
@@ -1,32 +1,31 @@
1
- /* MODAL */
2
- .ar-modal {
3
- border: 0;
4
- padding: 0;
5
- max-width: none;
6
- max-height: none;
7
- width: 100%;
8
- height: 100%;
9
- margin: 0;
10
- background: rgb(0 0 0 / 0.5);
11
- display: none;
12
- align-items: center;
13
- justify-content: center;
14
- }
15
- .ar-modal[open] {
16
- display: flex;
17
- }
18
- .ar-modal::backdrop {
19
- background: rgb(0 0 0 / 0.5);
20
- }
21
- .ar-modal-box {
22
- background: var(--ar-base-100);
23
- border-radius: var(--ar-radius-box);
24
- box-shadow: var(--ar-shadow-xl);
25
- padding: var(--ar-s-6);
26
- width: min(92vw, 42rem);
27
- max-height: 90vh;
28
- overflow-y: auto;
29
- }
30
- .ar-modal-backdrop {
31
- display: contents;
1
+ .ar-modal {
2
+ border: 0;
3
+ padding: 0;
4
+ max-width: none;
5
+ max-height: none;
6
+ width: 100%;
7
+ height: 100%;
8
+ margin: 0;
9
+ background: rgb(0 0 0 / 0.5);
10
+ display: none;
11
+ align-items: center;
12
+ justify-content: center;
13
+ }
14
+ .ar-modal[open] {
15
+ display: flex;
16
+ }
17
+ .ar-modal::backdrop {
18
+ background: rgb(0 0 0 / 0.5);
19
+ }
20
+ .ar-modal-box {
21
+ background: var(--ar-base-100);
22
+ border-radius: var(--ar-radius-box);
23
+ box-shadow: var(--ar-shadow-xl);
24
+ padding: var(--ar-s-6);
25
+ width: min(92vw, 42rem);
26
+ max-height: 90vh;
27
+ overflow-y: auto;
28
+ }
29
+ .ar-modal-backdrop {
30
+ display: contents;
32
31
  }
@@ -1,37 +1,167 @@
1
- /* NAVBAR */
2
- .ar-navbar {
3
- display: flex;
4
- align-items: center;
5
- justify-content: space-between;
6
- gap: var(--ar-s-4);
7
- padding: var(--ar-s-2) var(--ar-s-4);
8
- background: var(--ar-base-100);
9
- border-bottom: var(--ar-border-width) solid var(--ar-base-300);
10
- }
11
- .ar-navbar-start {
12
- display: flex;
13
- align-items: center;
14
- gap: var(--ar-s-2);
15
- flex: 1;
16
- }
17
- .ar-navbar-center {
18
- display: none;
19
- align-items: center;
20
- gap: var(--ar-s-2);
21
- }
22
- .ar-navbar-end {
23
- display: flex;
24
- align-items: center;
25
- gap: var(--ar-s-2);
26
- }
27
- @media (min-width: 1024px) {
28
- .ar-navbar-center {
29
- display: flex;
30
- }
31
- }
32
- .ar-navbar-brand {
33
- font-size: 1.875rem;
34
- font-weight: 400;
35
- color: var(--ar-base-content);
36
- text-decoration: none;
1
+ .ar-navbar {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: space-between;
5
+ gap: var(--ar-s-4);
6
+ padding: var(--ar-s-2) var(--ar-s-4);
7
+ background: var(--ar-base-100);
8
+ border-bottom: var(--ar-border-width) solid var(--ar-base-300);
9
+ }
10
+ .ar-navbar-start {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: var(--ar-s-2);
14
+ flex: 1;
15
+ }
16
+ .ar-navbar-center {
17
+ display: none;
18
+ align-items: center;
19
+ gap: var(--ar-s-2);
20
+ }
21
+ .ar-navbar-end {
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: flex-end;
25
+ gap: var(--ar-s-2);
26
+ flex: 1;
27
+ }
28
+ @media (min-width: 1024px) {
29
+ .ar-navbar-center {
30
+ display: flex;
31
+ }
32
+ }
33
+ .ar-navbar-brand {
34
+ display: flex;
35
+ align-items: center;
36
+ gap: var(--ar-s-2);
37
+ font-size: 1.875rem;
38
+ font-weight: 400;
39
+ color: var(--ar-base-content);
40
+ text-decoration: none;
41
+ }
42
+ .ar-navbar-brand img {
43
+ height: 1.75rem;
44
+ width: auto;
45
+ border-radius: 6px;
46
+ }
47
+ .ar-search {
48
+ position: relative;
49
+ display: flex;
50
+ align-items: center;
51
+ }
52
+ .ar-search .ar-input {
53
+ width: min(11rem, 34vw);
54
+ }
55
+ @media (min-width: 1024px) {
56
+ .ar-search .ar-input {
57
+ width: 16rem;
58
+ }
59
+ }
60
+ .ar-search-results {
61
+ position: absolute;
62
+ left: 50%;
63
+ right: auto;
64
+ transform: translateX(-50%);
65
+ top: calc(100% + 0.5rem);
66
+ width: min(22rem, 90vw);
67
+ max-height: 60vh;
68
+ overflow-y: auto;
69
+ margin-top: 0;
70
+ padding: var(--ar-s-2);
71
+ background: var(--ar-base-100);
72
+ border: 1px solid var(--ar-base-300);
73
+ border-radius: var(--ar-radius-box);
74
+ box-shadow: 0 8px 24px rgb(0 0 0 / 0.15);
75
+ z-index: 60;
76
+ }
77
+ .ar-search-results li > a {
78
+ white-space: normal;
79
+ display: block;
80
+ padding: var(--ar-s-1) var(--ar-s-2);
81
+ }
82
+ .ar-search-kbd {
83
+ position: absolute;
84
+ right: var(--ar-s-2);
85
+ top: 50%;
86
+ transform: translateY(-50%);
87
+ font: 600 0.68rem/1 var(--ar-font-mono);
88
+ color: var(--ar-gray-600);
89
+ background: var(--ar-base-200);
90
+ border: 1px solid var(--ar-base-300);
91
+ border-radius: var(--ar-radius-field);
92
+ padding: 3px 6px;
93
+ pointer-events: none;
94
+ }
95
+ .ar-search:focus-within .ar-search-kbd,
96
+ .ar-search .ar-input:not(:placeholder-shown) ~ .ar-search-kbd {
97
+ display: none;
98
+ }
99
+ .ar-modal .ar-search {
100
+ display: flex;
101
+ position: static;
102
+ width: 100%;
103
+ }
104
+ .ar-modal .ar-search .ar-input {
105
+ width: 100%;
106
+ }
107
+ .ar-modal .ar-search-kbd {
108
+ display: none;
109
+ }
110
+ .ar-modal .ar-search-results {
111
+ position: static;
112
+ transform: none;
113
+ width: 100%;
114
+ max-height: 50vh;
115
+ margin-top: var(--ar-s-2);
116
+ box-shadow: none;
117
+ }
118
+ .ar-sidebar .ar-search {
119
+ display: flex;
120
+ position: relative;
121
+ width: 100%;
122
+ margin-bottom: var(--ar-s-3);
123
+ }
124
+ .ar-sidebar .ar-search .ar-input {
125
+ width: 100%;
126
+ }
127
+ .ar-sidebar .ar-search-results {
128
+ position: static;
129
+ transform: none;
130
+ width: 100%;
131
+ max-height: 40vh;
132
+ margin-top: var(--ar-s-2);
133
+ box-shadow: none;
134
+ }
135
+ /* Sheet variant — newspaper chrome: square, flat, mono labels in the print
136
+ idiom. Opt in by adding .ar-navbar-sheet to .ar-navbar. */
137
+ .ar-navbar-sheet {
138
+ border-radius: 0;
139
+ font-family: var(--ar-font-mono);
140
+ font-size: 0.6875rem;
141
+ letter-spacing: 0.08em;
142
+ text-transform: uppercase;
143
+ }
144
+ .ar-navbar-sheet .ar-navbar-brand {
145
+ font-family: var(--ar-font-serif);
146
+ font-size: 1.375rem;
147
+ font-weight: 700;
148
+ letter-spacing: -0.02em;
149
+ line-height: 1.05;
150
+ text-transform: none;
151
+ }
152
+ .ar-navbar-sheet .ar-navbar-brand img {
153
+ border-radius: 0;
154
+ }
155
+ .ar-navbar-sheet .ar-btn {
156
+ border-radius: 0;
157
+ font-family: var(--ar-font-mono);
158
+ font-size: 0.6875rem;
159
+ letter-spacing: 0.08em;
160
+ text-transform: uppercase;
161
+ }
162
+ .ar-navbar-sheet .ar-input,
163
+ .ar-navbar-sheet .ar-search-results,
164
+ .ar-navbar-sheet .ar-dropdown-content {
165
+ border-radius: 0;
166
+ box-shadow: none;
37
167
  }
@@ -1,46 +1,51 @@
1
- /* PAGINATION */
2
- .ar-pagination {
3
- display: flex;
4
- align-items: center;
5
- gap: var(--ar-s-1);
6
- list-style: none;
7
- margin: 0;
8
- padding: 0;
9
- }
10
- .ar-page-item {
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- min-width: 2.25rem;
15
- height: 2.25rem;
16
- padding: 0 var(--ar-s-2);
17
- border-radius: var(--ar-radius-field);
18
- border: var(--ar-border-width) solid transparent;
19
- background: transparent;
20
- color: var(--ar-base-content);
21
- font-size: 0.875rem;
22
- font-weight: 500;
23
- text-decoration: none;
24
- cursor: pointer;
25
- transition: all 0.2s ease;
26
- }
27
- .ar-page-item:hover {
28
- background: var(--ar-base-200);
29
- }
30
- .ar-page-active {
31
- background: var(--ar-primary);
32
- color: var(--ar-primary-content);
33
- font-weight: 700;
34
- }
35
- .ar-page-active:hover {
36
- background: var(--ar-primary);
37
- color: var(--ar-primary-content);
38
- }
39
- .ar-page-disabled {
40
- opacity: 0.4;
41
- pointer-events: none;
42
- }
43
- .ar-page-ellipsis {
44
- pointer-events: none;
45
- color: var(--ar-gray-500);
1
+ .ar-pagination {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: var(--ar-s-1);
5
+ list-style: none;
6
+ margin: 0;
7
+ padding: 0;
8
+ }
9
+ .ar-page-item {
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ min-width: 2.25rem;
14
+ height: 2.25rem;
15
+ padding: 0 var(--ar-s-2);
16
+ border-radius: var(--ar-radius-field);
17
+ border: var(--ar-border-width) solid transparent;
18
+ background: transparent;
19
+ color: var(--ar-base-content);
20
+ font-family: inherit;
21
+ font-size: 0.875rem;
22
+ font-weight: 500;
23
+ text-decoration: none;
24
+ cursor: pointer;
25
+ appearance: none;
26
+ -webkit-appearance: none;
27
+ transition: all 0.2s ease;
28
+ }
29
+ button.ar-page-item {
30
+ line-height: 1;
31
+ }
32
+ .ar-page-item:hover {
33
+ background: var(--ar-base-200);
34
+ }
35
+ .ar-page-active {
36
+ background: var(--ar-primary);
37
+ color: var(--ar-primary-content);
38
+ font-weight: 700;
39
+ }
40
+ .ar-page-active:hover {
41
+ background: var(--ar-primary);
42
+ color: var(--ar-primary-content);
43
+ }
44
+ .ar-page-disabled {
45
+ opacity: 0.4;
46
+ pointer-events: none;
47
+ }
48
+ .ar-page-ellipsis {
49
+ pointer-events: none;
50
+ color: var(--ar-gray-500);
46
51
  }
@@ -1,70 +1,69 @@
1
- /* POPOVER */
2
- .ar-popover {
3
- position: relative;
4
- display: inline-block;
5
- }
6
- .ar-popover-content {
7
- position: absolute;
8
- z-index: 30;
9
- min-width: 14rem;
10
- padding: var(--ar-s-3) var(--ar-s-4);
11
- background: var(--ar-base-100);
12
- color: var(--ar-base-content);
13
- border-radius: var(--ar-radius-box);
14
- box-shadow: var(--ar-shadow-lg);
15
- border: var(--ar-border-width) solid var(--ar-base-300);
16
- font-size: 0.875rem;
17
- line-height: 1.5;
18
- opacity: 0;
19
- visibility: hidden;
20
- transition:
21
- opacity 0.2s ease,
22
- visibility 0.2s ease,
23
- transform 0.2s ease;
24
- pointer-events: none;
25
- }
26
- .ar-popover-open .ar-popover-content {
27
- opacity: 1;
28
- visibility: visible;
29
- pointer-events: auto;
30
- }
31
- /* Placement: top (default) */
32
- .ar-popover-content[data-ar-placement="top"] {
33
- bottom: calc(100% + 0.5rem);
34
- left: 50%;
35
- transform: translateX(-50%) translateY(0.25rem);
36
- }
37
- .ar-popover-open .ar-popover-content[data-ar-placement="top"] {
38
- transform: translateX(-50%) translateY(0);
39
- }
40
- /* Placement: bottom */
41
- .ar-popover-content[data-ar-placement="bottom"] {
42
- top: calc(100% + 0.5rem);
43
- left: 50%;
44
- transform: translateX(-50%) translateY(-0.25rem);
45
- }
46
- .ar-popover-open .ar-popover-content[data-ar-placement="bottom"] {
47
- transform: translateX(-50%) translateY(0);
48
- }
49
- /* Placement: left */
50
- .ar-popover-content[data-ar-placement="left"] {
51
- right: calc(100% + 0.5rem);
52
- top: 50%;
53
- transform: translateY(-50%) translateX(0.25rem);
54
- }
55
- .ar-popover-open .ar-popover-content[data-ar-placement="left"] {
56
- transform: translateY(-50%) translateX(0);
57
- }
58
- /* Placement: right */
59
- .ar-popover-content[data-ar-placement="right"] {
60
- left: calc(100% + 0.5rem);
61
- top: 50%;
62
- transform: translateY(-50%) translateX(-0.25rem);
63
- }
64
- .ar-popover-open .ar-popover-content[data-ar-placement="right"] {
65
- transform: translateY(-50%) translateX(0);
66
- }
67
- .ar-popover-title {
68
- font-weight: 600;
69
- margin-bottom: var(--ar-s-1);
1
+ .ar-popover {
2
+ position: relative;
3
+ display: inline-block;
4
+ }
5
+ .ar-popover-content {
6
+ position: absolute;
7
+ z-index: 30;
8
+ min-width: 14rem;
9
+ padding: var(--ar-s-3) var(--ar-s-4);
10
+ background: var(--ar-base-100);
11
+ color: var(--ar-base-content);
12
+ border-radius: var(--ar-radius-box);
13
+ box-shadow: var(--ar-shadow-lg);
14
+ border: var(--ar-border-width) solid var(--ar-base-300);
15
+ font-size: 0.875rem;
16
+ line-height: 1.5;
17
+ opacity: 0;
18
+ visibility: hidden;
19
+ transition:
20
+ opacity 0.2s ease,
21
+ visibility 0.2s ease,
22
+ transform 0.2s ease;
23
+ pointer-events: none;
24
+ }
25
+ .ar-popover-open .ar-popover-content {
26
+ opacity: 1;
27
+ visibility: visible;
28
+ pointer-events: auto;
29
+ }
30
+
31
+ .ar-popover-content[data-ar-placement="top"] {
32
+ bottom: calc(100% + 0.5rem);
33
+ left: 50%;
34
+ transform: translateX(-50%) translateY(0.25rem);
35
+ }
36
+ .ar-popover-open .ar-popover-content[data-ar-placement="top"] {
37
+ transform: translateX(-50%) translateY(0);
38
+ }
39
+
40
+ .ar-popover-content[data-ar-placement="bottom"] {
41
+ top: calc(100% + 0.5rem);
42
+ left: 50%;
43
+ transform: translateX(-50%) translateY(-0.25rem);
44
+ }
45
+ .ar-popover-open .ar-popover-content[data-ar-placement="bottom"] {
46
+ transform: translateX(-50%) translateY(0);
47
+ }
48
+
49
+ .ar-popover-content[data-ar-placement="left"] {
50
+ right: calc(100% + 0.5rem);
51
+ top: 50%;
52
+ transform: translateY(-50%) translateX(0.25rem);
53
+ }
54
+ .ar-popover-open .ar-popover-content[data-ar-placement="left"] {
55
+ transform: translateY(-50%) translateX(0);
56
+ }
57
+
58
+ .ar-popover-content[data-ar-placement="right"] {
59
+ left: calc(100% + 0.5rem);
60
+ top: 50%;
61
+ transform: translateY(-50%) translateX(-0.25rem);
62
+ }
63
+ .ar-popover-open .ar-popover-content[data-ar-placement="right"] {
64
+ transform: translateY(-50%) translateX(0);
65
+ }
66
+ .ar-popover-title {
67
+ font-weight: 600;
68
+ margin-bottom: var(--ar-s-1);
70
69
  }