@hellboy/ds 0.1.2

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 (137) hide show
  1. package/README.md +111 -0
  2. package/dist/index.css +3699 -0
  3. package/dist/index.css.map +1 -0
  4. package/dist/index.d.mts +1087 -0
  5. package/dist/index.d.ts +1087 -0
  6. package/dist/index.js +3391 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/index.mjs +3287 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/theme.css +55 -0
  11. package/hellboy-ds-0.1.2.tgz +0 -0
  12. package/package.json +42 -0
  13. package/src/components/badge/Badge.tsx +29 -0
  14. package/src/components/badge/index.ts +1 -0
  15. package/src/components/banner/Banner.tsx +48 -0
  16. package/src/components/banner/banner.css +44 -0
  17. package/src/components/banner/index.ts +1 -0
  18. package/src/components/button/button.tsx +127 -0
  19. package/src/components/button/index.ts +1 -0
  20. package/src/components/card/card.tsx +57 -0
  21. package/src/components/card/index.ts +1 -0
  22. package/src/components/checkbox/Checkbox.tsx +98 -0
  23. package/src/components/checkbox/index.ts +1 -0
  24. package/src/components/code-block/code-block.tsx +44 -0
  25. package/src/components/code-block/index.ts +1 -0
  26. package/src/components/color-control/color-control.tsx +322 -0
  27. package/src/components/color-control/index.ts +1 -0
  28. package/src/components/drag-handle/DragHandle.tsx +78 -0
  29. package/src/components/drag-handle/index.ts +1 -0
  30. package/src/components/drawer/drawer.tsx +82 -0
  31. package/src/components/drawer/index.ts +1 -0
  32. package/src/components/floating-bar/floating-bar.tsx +52 -0
  33. package/src/components/floating-bar/index.ts +2 -0
  34. package/src/components/footer/footer.tsx +28 -0
  35. package/src/components/footer/index.ts +1 -0
  36. package/src/components/grid/Grid.tsx +53 -0
  37. package/src/components/grid/index.ts +1 -0
  38. package/src/components/header/header.tsx +57 -0
  39. package/src/components/header/index.ts +1 -0
  40. package/src/components/icons/icons.tsx +44 -0
  41. package/src/components/icons/index.ts +1 -0
  42. package/src/components/index.ts +29 -0
  43. package/src/components/input/DatePicker.tsx +133 -0
  44. package/src/components/input/Input.tsx +220 -0
  45. package/src/components/input/InputDate.tsx +10 -0
  46. package/src/components/input/InputDateTime.tsx +10 -0
  47. package/src/components/input/InputEmail.tsx +10 -0
  48. package/src/components/input/InputField.tsx +137 -0
  49. package/src/components/input/InputNumber.tsx +10 -0
  50. package/src/components/input/InputPassword.tsx +10 -0
  51. package/src/components/input/InputSearch.tsx +10 -0
  52. package/src/components/input/InputTel.tsx +10 -0
  53. package/src/components/input/InputText.tsx +10 -0
  54. package/src/components/input/InputTime.tsx +10 -0
  55. package/src/components/input/InputUrl.tsx +10 -0
  56. package/src/components/input/TimePicker.tsx +151 -0
  57. package/src/components/input/index.ts +11 -0
  58. package/src/components/layout/Layout.tsx +244 -0
  59. package/src/components/layout/index.ts +1 -0
  60. package/src/components/list/List.tsx +159 -0
  61. package/src/components/list/index.ts +1 -0
  62. package/src/components/navbar/MenuCategory.tsx +20 -0
  63. package/src/components/navbar/MenuGroup.tsx +288 -0
  64. package/src/components/navbar/MenuItem.tsx +65 -0
  65. package/src/components/navbar/Navbar.tsx +23 -0
  66. package/src/components/navbar/index.ts +4 -0
  67. package/src/components/page/index.ts +1 -0
  68. package/src/components/page/page.tsx +46 -0
  69. package/src/components/page-index/PageIndex.tsx +275 -0
  70. package/src/components/page-index/index.ts +1 -0
  71. package/src/components/popover/index.ts +1 -0
  72. package/src/components/popover/popover.tsx +199 -0
  73. package/src/components/radio/Radio.tsx +176 -0
  74. package/src/components/radio/index.ts +1 -0
  75. package/src/components/section/index.ts +1 -0
  76. package/src/components/section/section.tsx +66 -0
  77. package/src/components/select/Select.tsx +212 -0
  78. package/src/components/select/index.ts +1 -0
  79. package/src/components/slider/Slider.tsx +267 -0
  80. package/src/components/slider/index.ts +1 -0
  81. package/src/components/switch/index.ts +1 -0
  82. package/src/components/switch/switch.tsx +99 -0
  83. package/src/components/table/Table.tsx +147 -0
  84. package/src/components/table/index.ts +1 -0
  85. package/src/components/theme-control/index.ts +1 -0
  86. package/src/components/theme-control/theme-control.tsx +78 -0
  87. package/src/components/tooltip/index.ts +1 -0
  88. package/src/components/tooltip/tooltip.tsx +207 -0
  89. package/src/contexts/NavbarTooltipContext.tsx +48 -0
  90. package/src/contexts/index.ts +1 -0
  91. package/src/foundations/motion.md +136 -0
  92. package/src/index.ts +40 -0
  93. package/src/style/_shared/field.css +69 -0
  94. package/src/style/components/badge/badge.css +74 -0
  95. package/src/style/components/button/button.css +244 -0
  96. package/src/style/components/card/card.css +69 -0
  97. package/src/style/components/checkbox.css +142 -0
  98. package/src/style/components/code-block/code-block.css +34 -0
  99. package/src/style/components/color-control/color-control.css +126 -0
  100. package/src/style/components/drag-handle/drag-handle.css +68 -0
  101. package/src/style/components/drawer/drawer.css +210 -0
  102. package/src/style/components/floating-bar/floating-bar.css +39 -0
  103. package/src/style/components/footer/footer.css +108 -0
  104. package/src/style/components/grid/grid.css +33 -0
  105. package/src/style/components/header/header.css +44 -0
  106. package/src/style/components/icons/icons.css +44 -0
  107. package/src/style/components/input/input.css +393 -0
  108. package/src/style/components/layout/layout.css +205 -0
  109. package/src/style/components/list/list.css +140 -0
  110. package/src/style/components/navbar/navbar.css +342 -0
  111. package/src/style/components/page/page.css +46 -0
  112. package/src/style/components/page-index/page-index.css +158 -0
  113. package/src/style/components/popover/popover.css +44 -0
  114. package/src/style/components/radio.css +178 -0
  115. package/src/style/components/section/section.css +67 -0
  116. package/src/style/components/select/select.css +143 -0
  117. package/src/style/components/slider/slider.css +159 -0
  118. package/src/style/components/switch/switch.css +267 -0
  119. package/src/style/components/table/table.css +108 -0
  120. package/src/style/components/theme-control/theme-control.css +35 -0
  121. package/src/style/components/tooltip/tooltip.css +52 -0
  122. package/src/style/foundations/global.css +316 -0
  123. package/src/style/foundations/motion.css +164 -0
  124. package/src/style/foundations/spacing.css +51 -0
  125. package/src/style/foundations/typography.css +39 -0
  126. package/src/style/foundations/z-index.css +81 -0
  127. package/src/style/modes/dark.css +146 -0
  128. package/src/style/modes/light.css +147 -0
  129. package/src/style/semantic.css +52 -0
  130. package/src/style/styles.css +51 -0
  131. package/src/style/themes/theme.json +37 -0
  132. package/src/utils/README.md +305 -0
  133. package/src/utils/USER_PREFERENCES.md +558 -0
  134. package/src/utils/theme.ts +127 -0
  135. package/src/utils/user-preferences.ts +577 -0
  136. package/tsconfig.json +25 -0
  137. package/tsup.config.ts +52 -0
@@ -0,0 +1,342 @@
1
+ /* Navbar Component Styles */
2
+
3
+ .navbar {
4
+ width: 100%;
5
+ height: 100vh;
6
+ background-color: var(--color-bg-2);
7
+ border-right: 1px solid var(--color-foreground-2);
8
+ border-right-color: rgba(0, 0, 0, 0.1);
9
+ display: flex;
10
+ flex-direction: column;
11
+ overflow-y: auto;
12
+ overflow-x: hidden;
13
+ transition: background-color var(--transition-base, 0.2s ease);
14
+ }
15
+
16
+ /* Webkit scrollbar styles (Chrome, Safari, Edge) */
17
+ .navbar::-webkit-scrollbar {
18
+ width: 8px;
19
+ }
20
+
21
+ .navbar::-webkit-scrollbar-track {
22
+ background: transparent;
23
+ }
24
+
25
+ .navbar::-webkit-scrollbar-thumb {
26
+ background-color: rgba(0, 0, 0, 0.3);
27
+ border-radius: 4px;
28
+ transition: background-color 0.2s ease;
29
+ }
30
+
31
+ .navbar:hover::-webkit-scrollbar-thumb {
32
+ background-color: rgba(0, 0, 0, 1);
33
+ }
34
+
35
+ .navbar--header {
36
+ font-size: 1.4rem;
37
+ margin: 0 0 8px 0;
38
+ color: var(--color-foreground-1);
39
+ display: flex;
40
+ align-items: center;
41
+ gap: var(--spacing-1, 0.25rem);
42
+ }
43
+
44
+ .navbar__content {
45
+ padding: var(--spacing-4, 1rem);
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: var(--spacing-2, 0.5rem);
49
+ }
50
+ .expanded .navbar__content {
51
+ min-width: 210px;
52
+ }
53
+
54
+
55
+ /* Menu Item Styles */
56
+ .navbar__menu-item {
57
+ display: flex ;
58
+ align-items: center ;
59
+ gap: var(--spacing-3, 0.75rem) ;
60
+ padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem) ;
61
+ color: var(--color-foreground-2) ;
62
+ border-radius: var(--border-radius-sm, 4px) ;
63
+ /* transition: background-color var(--motion-duration-fast) var(--motion-easing-linear), color var(--motion-duration-fast) var(--motion-easing-linear) ; */
64
+ font-size: var(--font-size-sm, 0.875rem) ;
65
+ font-weight: 500 ;
66
+ width: 100% ;
67
+ position: relative ;
68
+ border: none ;
69
+ background: transparent;
70
+ cursor: pointer ;
71
+ font-family: inherit ;
72
+ text-align: left ;
73
+ }
74
+
75
+ /* Link-specific styles */
76
+ .navbar__menu-item[href] {
77
+ text-decoration: none;
78
+ }
79
+
80
+ .navbar__menu-item:not(:hover):not(:active):not(.navbar__menu-item--active) {
81
+ transition: background-color var(--motion-duration-fast) var(--motion-easing-accelerate), color var(--motion-duration-fast) var(--motion-easing-accelerate);
82
+ }
83
+
84
+ .navbar__menu-item:hover:not(:disabled) {
85
+ background-color: var(--color-action-primary) ;
86
+ color: var(--color-on-action-primary) ;
87
+ }
88
+
89
+ .navbar__menu-item:active:not(:disabled) {
90
+ background-color: var(--color-action-primary-active) ;
91
+ color: var(--color-on-action-primary) ;
92
+ }
93
+
94
+ .navbar__menu-item:focus-visible:not(:disabled) {
95
+ outline: 2px solid var(--color-action-primary) ;
96
+ outline-offset: 2px ;
97
+ }
98
+
99
+ .navbar__menu-item--active {
100
+ background-color: var(--color-action-primary) ;
101
+ color: var(--color-on-action-primary) ;
102
+ }
103
+
104
+ .navbar__menu-item-icon {
105
+ display: flex;
106
+ align-items: center;
107
+ justify-content: center;
108
+ width: 20px;
109
+ height: 20px;
110
+ flex-shrink: 0;
111
+ }
112
+
113
+ .navbar__menu-item-label {
114
+ flex: 1;
115
+ min-width: 0;
116
+ }
117
+
118
+ .collapsed .navbar__menu-item-label {
119
+ display: none;
120
+ }
121
+
122
+ .collapsed .navbar__menu-item {
123
+ width: auto;
124
+ padding: var(--spacing-2);
125
+ justify-content: center;
126
+ }
127
+
128
+ .navbar--logo {
129
+ display: none;
130
+ }
131
+ .expanded .navbar--logo {
132
+ display: inline-block;
133
+ }
134
+ /* Menu Group Styles */
135
+ .navbar__menu-group {
136
+ display: flex;
137
+ flex-direction: column;
138
+ }
139
+
140
+ .navbar__content .navbar__menu-group > .navbar__menu-group-content {
141
+ margin-left: var(--spacing-8, 2rem);
142
+ }
143
+
144
+ /* Headers alternam entre expandido e colapsado */
145
+ .navbar__menu-group-header-expanded {
146
+ display: block;
147
+ }
148
+
149
+ .navbar__menu-group-header-collapsed {
150
+ display: none;
151
+ }
152
+
153
+ .collapsed .navbar__menu-group-header-expanded {
154
+ display: none;
155
+ }
156
+
157
+ .collapsed .navbar__menu-group-header-collapsed {
158
+ display: block;
159
+ }
160
+
161
+ .collapsed .navbar__menu-group-content {
162
+ display: none ;
163
+ }
164
+
165
+ .navbar__menu-group-header {
166
+ display: flex;
167
+ align-items: center;
168
+ gap: var(--spacing-3, 0.75rem);
169
+ padding: var(--spacing-2, 0.5rem) var(--spacing-3, 0.75rem);
170
+ background: none;
171
+ border: none;
172
+ text-align: left;
173
+ color: var(--color-foreground-2);
174
+ border-radius: var(--border-radius-sm, 4px);
175
+ transition: background-color var(--motion-duration-fast) var(--motion-easing-linear), color var(--motion-duration-fast) var(--motion-easing-linear);
176
+ font-size: var(--font-size-sm, 0.875rem);
177
+ font-weight: 600;
178
+ cursor: pointer;
179
+ width: 100%;
180
+ }
181
+
182
+ .navbar__menu-group-header--collapsed {
183
+ justify-content: center;
184
+ padding: var(--spacing-2);
185
+ }
186
+
187
+ .navbar__menu-group-header--collapsed.navbar__menu-group-header--has-active {
188
+ background-color: var(--color-action-primary);
189
+ color: var(--color-on-action-primary);
190
+ }
191
+
192
+ .navbar__menu-group-header--toggle {
193
+ background-color: var(--color-action-secondary);
194
+ color: var(--color-on-action-secondary);
195
+ box-shadow: 0 0 0 2px var(--color-action-primary);
196
+ }
197
+
198
+ .navbar__menu-group-header--toggle:hover:not(:disabled) {
199
+ background-color: var(--color-action-secondary-hover);
200
+ color: var(--color-on-action-secondary);
201
+ }
202
+
203
+ .navbar__menu-group-header--active {
204
+ background-color: var(--color-action-primary);
205
+ color: var(--color-on-action-primary);
206
+ }
207
+
208
+ .navbar__menu-group-header:not(:hover) {
209
+ transition: background-color var(--motion-duration-fast) var(--motion-easing-accelerate), color var(--motion-duration-fast) var(--motion-easing-accelerate);
210
+ }
211
+
212
+ .navbar__menu-group-header:hover:not(:disabled) {
213
+ background-color: var(--color-bg-2);
214
+ color: var(--color-foreground-1);
215
+ }
216
+
217
+ .navbar__menu-group-icon {
218
+ display: flex;
219
+ align-items: center;
220
+ justify-content: center;
221
+ width: 20px;
222
+ height: 20px;
223
+ flex-shrink: 0;
224
+ }
225
+
226
+ .navbar__menu-group-title {
227
+ flex: 1;
228
+ min-width: 0;
229
+ }
230
+
231
+ .collapsed .navbar__menu-group-title {
232
+ display: none;
233
+ }
234
+
235
+ .navbar__menu-group-chevron {
236
+ display: flex;
237
+ align-items: center;
238
+ justify-content: center;
239
+ width: 12px;
240
+ height: 12px;
241
+ flex-shrink: 0;
242
+ transition: transform 0.2s ease;
243
+ }
244
+
245
+ .collapsed .navbar__menu-group-chevron {
246
+ display: none;
247
+ }
248
+
249
+ .navbar__menu-group-chevron--expanded {
250
+ transform: rotate(180deg);
251
+ }
252
+
253
+ .navbar__menu-group-header--static {
254
+ cursor: default;
255
+ font-weight: 300;
256
+ color: var(--color-foreground-5);
257
+ background-color: transparent;
258
+ margin: var(--spacing-2) 0 0 0;
259
+ /* border-radius: var(--border-radius-sm, 4px); */
260
+ }
261
+
262
+ .navbar__menu-group-header--static:hover {
263
+ background-color: transparent;
264
+ color: var(--color-foreground-5);
265
+ }
266
+
267
+ /* Menu Category */
268
+ .navbar__menu-category {
269
+ font-size: var(--font-size-xs);
270
+ font-weight: 600;
271
+ color: var(--color-foreground-3);
272
+ /* padding: var(--spacing-2) var(--spacing-3); */
273
+ /* padding-bottom: var(--spacing-1); */
274
+ letter-spacing: 0.5px;
275
+ margin-top: var(--spacing-2);
276
+ }
277
+
278
+ /* Responsive adjustments */
279
+ @media (max-width: 768px) {
280
+ .navbar {
281
+ width: 280px;
282
+ }
283
+
284
+ .navbar__content {
285
+ padding: var(--spacing-3, 0.75rem);
286
+ }
287
+ }
288
+
289
+ /* Menu Category Styles */
290
+ .navbar__menu-category {
291
+ display: flex;
292
+ flex-direction: column;
293
+ }
294
+
295
+ .navbar__menu-category-title {
296
+ font-size: var(--font-size-xs, 0.75rem);
297
+ font-weight: var(--font-weight-semibold, 300);
298
+ color: var(--color-foreground-5);
299
+ text-transform: uppercase;
300
+ letter-spacing: var(--letter-spacing-wide, 0.02em);
301
+ padding: var(--spacing-1, 0.5rem) var(--spacing-3, 0.75rem);
302
+ }
303
+
304
+ .collapsed .navbar__menu-category-title {
305
+ display: none;
306
+ }
307
+
308
+ .navbar__menu-category-content {
309
+ display: flex;
310
+ flex-direction: column;
311
+ gap: var(--spacing-1, 0.25rem);
312
+ }
313
+
314
+ /* Popover do MenuGroup quando colapsado */
315
+ .navbar__menu-group-popover {
316
+ min-width: 200px;
317
+ max-width: 300px;
318
+ }
319
+
320
+ .navbar__menu-group-popover-title {
321
+ font-size: var(--font-size-sm);
322
+ font-weight: var(--font-weight-semibold);
323
+ color: var(--color-foreground-1);
324
+ padding: var(--spacing-2) var(--spacing-3) 0 var(--spacing-3);
325
+ border-bottom: 1px solid var(--color-border);
326
+ margin-bottom: var(--spacing-1);
327
+ }
328
+
329
+ .navbar__menu-group-popover-content {
330
+ display: flex;
331
+ flex-direction: column;
332
+ gap: var(--spacing-1);
333
+ padding: var(--spacing-2);
334
+ }
335
+
336
+ .navbar__menu-group-popover-content .navbar__menu-item {
337
+ width: 100%;
338
+ }
339
+
340
+ .navbar__menu-group-popover-content .navbar__menu-item-label {
341
+ display: block ;
342
+ }
@@ -0,0 +1,46 @@
1
+ /* Page Component Styles */
2
+
3
+ .page {
4
+ width: 100%;
5
+ margin: 0 auto;
6
+ padding: var(--spacing-6) var(--spacing-4);
7
+ }
8
+
9
+ /* Width Variants */
10
+ .page--full {
11
+ max-width: none;
12
+ padding: 0;
13
+ }
14
+
15
+ .page--wide {
16
+ max-width: 1400px;
17
+ }
18
+
19
+ .page--medium {
20
+ max-width: 1200px;
21
+ }
22
+
23
+ .page--narrow {
24
+ max-width: 800px;
25
+ }
26
+
27
+ /* Responsive Padding */
28
+ @media (min-width: 768px) {
29
+ .page {
30
+ padding: var(--spacing-8) var(--spacing-6);
31
+ }
32
+
33
+ .page--full {
34
+ padding: 0;
35
+ }
36
+ }
37
+
38
+ @media (min-width: 1024px) {
39
+ .page {
40
+ padding: var(--spacing-10) var(--spacing-8);
41
+ }
42
+
43
+ .page--full {
44
+ padding: 0;
45
+ }
46
+ }
@@ -0,0 +1,158 @@
1
+ /* Page Index Component Styles */
2
+ .page-index {
3
+ padding: var(--spacing-4);
4
+ /* background-color: var(--color-bg-1);
5
+ border-radius: var(--radius-md);
6
+ border: 1px solid var(--color-bg-3); */
7
+ }
8
+
9
+ .page-index__title {
10
+ margin: 0 0 var(--spacing-3) 0;
11
+ font-size: var(--font-size-sm);
12
+ font-weight: var(--font-weight-semibold);
13
+ color: var(--color-foreground-5);
14
+ text-transform: uppercase;
15
+ letter-spacing: 0.05em;
16
+ }
17
+
18
+ .page-index__nav {
19
+ overflow-y: auto;
20
+ max-height: calc(100vh - 200px);
21
+ }
22
+
23
+ .page-index__list {
24
+ list-style: none;
25
+ margin: 0;
26
+ padding: 0;
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: var(--spacing-1);
30
+ }
31
+
32
+ .page-index__item {
33
+ margin: 0;
34
+ padding: 0;
35
+ }
36
+
37
+ .page-index__item--level-1 {
38
+ margin-top: var(--spacing-2);
39
+ }
40
+
41
+ .page-index__item--level-1:first-child {
42
+ margin-top: 0;
43
+ }
44
+
45
+ .page-index__item--level-2 {
46
+ margin-left: var(--spacing-3);
47
+ }
48
+
49
+ .page-index__item--level-3 {
50
+ margin-left: var(--spacing-6);
51
+ }
52
+
53
+ .page-index__item--level-4 {
54
+ margin-left: var(--spacing-9);
55
+ }
56
+
57
+ .page-index__item--level-5 {
58
+ margin-left: var(--spacing-12);
59
+ }
60
+
61
+ .page-index__item--level-6 {
62
+ margin-left: var(--spacing-15);
63
+ }
64
+
65
+ .page-index__link {
66
+ width: 100%;
67
+ padding: var(--spacing-1) var(--spacing-2);
68
+ background: none;
69
+ border: none;
70
+ border-radius: var(--radius-sm);
71
+ text-align: left;
72
+ font-size: var(--font-size-sm);
73
+ color: var(--color-foreground-2);
74
+ cursor: pointer;
75
+ transition: all 0.15s ease;
76
+ display: block;
77
+ text-decoration: none;
78
+ line-height: 1.4;
79
+ }
80
+
81
+ .page-index__link:hover {
82
+ background-color: var(--color-bg-2);
83
+ color: var(--color-foreground-1);
84
+ }
85
+
86
+ .page-index__link--active {
87
+ background-color: var(--color-primary);
88
+ color: var(--color-on-primary);
89
+ font-weight: var(--font-weight-medium);
90
+ }
91
+
92
+ .page-index__link--active:hover {
93
+ background-color: var(--color-primary);
94
+ color: var(--color-on-primary);
95
+ }
96
+
97
+ .page-index__link:focus-visible {
98
+ outline: 2px solid var(--color-primary);
99
+ outline-offset: 2px;
100
+ }
101
+
102
+ /* Collapsed state */
103
+ .page-index--collapsed {
104
+ padding: var(--spacing-2);
105
+ width: 48px;
106
+ text-align: center;
107
+ }
108
+
109
+ .page-index--collapsed .page-index__title {
110
+ display: none;
111
+ }
112
+
113
+ .page-index--collapsed .page-index__list {
114
+ gap: var(--spacing-1);
115
+ }
116
+
117
+ .page-index--collapsed .page-index__item--level-2,
118
+ .page-index--collapsed .page-index__item--level-3,
119
+ .page-index--collapsed .page-index__item--level-4,
120
+ .page-index--collapsed .page-index__item--level-5,
121
+ .page-index--collapsed .page-index__item--level-6 {
122
+ margin-left: 0;
123
+ }
124
+
125
+ .page-index--collapsed .page-index__link {
126
+ padding: var(--spacing-1);
127
+ width: 32px;
128
+ height: 32px;
129
+ display: flex;
130
+ align-items: center;
131
+ justify-content: center;
132
+ border-radius: var(--radius-sm);
133
+ }
134
+
135
+ .page-index--collapsed .page-index__link-text--collapsed {
136
+ font-size: var(--font-size-sm);
137
+ font-weight: var(--font-weight-semibold);
138
+ text-transform: uppercase;
139
+ }
140
+
141
+ /* Scrollbar styling */
142
+ .page-index__nav::-webkit-scrollbar {
143
+ width: 4px;
144
+ }
145
+
146
+ .page-index__nav::-webkit-scrollbar-track {
147
+ background: var(--color-bg-2);
148
+ border-radius: 2px;
149
+ }
150
+
151
+ .page-index__nav::-webkit-scrollbar-thumb {
152
+ background: var(--color-bg-3);
153
+ border-radius: 2px;
154
+ }
155
+
156
+ .page-index__nav::-webkit-scrollbar-thumb:hover {
157
+ background: var(--color-foreground-3);
158
+ }
@@ -0,0 +1,44 @@
1
+ .popover {
2
+ position: fixed; /* Changed from absolute to fixed for portal positioning */
3
+ background: var(--color-bg-1);
4
+ /* border: 1px solid var(--color-bg-3); */
5
+ /* border-color: rgba(0, 0, 0, 0.15); */
6
+ border-radius: var(--radius-base);
7
+ outline: 2px solid var(--color-bg-3);
8
+ outline-offset: -2px;
9
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
10
+ z-index: 9999;
11
+ min-width: 200px;
12
+ margin-top: var(--spacing-1);
13
+ /* padding: var(--spacing-4, 1rem); */
14
+ animation: popover-slide-in var(--transition-base, 0.2s ease);
15
+ /* Prevent initial flash by starting hidden */
16
+ opacity: 0;
17
+ visibility: hidden;
18
+ /* Prevent affecting layout flow */
19
+ pointer-events: none;
20
+ }
21
+
22
+ .popover--right {
23
+ margin-top: 0;
24
+ margin-left: var(--spacing-2);
25
+ }
26
+
27
+ .popover:hover {
28
+ outline: 2px solid var(--color-primary-hover);
29
+ }
30
+
31
+ @keyframes popover-slide-in {
32
+ from {
33
+ opacity: 0;
34
+ transform: translateY(-8px);
35
+ }
36
+ to {
37
+ opacity: 1;
38
+ transform: translateY(0);
39
+ }
40
+ }
41
+
42
+ .popover__content {
43
+ /* Additional styling if needed */
44
+ }