@actabldesign/bellhop-styles 0.0.3 → 0.0.12

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 (127) hide show
  1. package/README.md +105 -70
  2. package/dist/index.css +1538 -0
  3. package/dist/utilities.css +5730 -0
  4. package/llms.txt +2852 -0
  5. package/package.json +29 -20
  6. package/project.json +29 -0
  7. package/rollup.config.js +44 -0
  8. package/{base → src/base}/normalize.css +4 -0
  9. package/src/bh-tokens/_primitives.scss +296 -0
  10. package/src/bh-tokens/_semantic.scss +158 -0
  11. package/src/bh-tokens/components/_avatar.tokens.scss +64 -0
  12. package/src/bh-tokens/components/_badge-dot.tokens.scss +33 -0
  13. package/src/bh-tokens/components/_badge.tokens.scss +61 -0
  14. package/src/bh-tokens/components/_button-icon.tokens.scss +65 -0
  15. package/src/bh-tokens/components/_button.tokens.scss +185 -0
  16. package/src/bh-tokens/components/_checkbox.tokens.scss +67 -0
  17. package/src/bh-tokens/components/_dropdown.tokens.scss +103 -0
  18. package/src/bh-tokens/components/_featured-icon.tokens.scss +57 -0
  19. package/src/bh-tokens/components/_input-number.tokens.scss +50 -0
  20. package/src/bh-tokens/components/_input.tokens.scss +86 -0
  21. package/src/bh-tokens/components/_label.tokens.scss +37 -0
  22. package/src/bh-tokens/components/_modal.tokens.scss +42 -0
  23. package/src/bh-tokens/components/_pagination.tokens.scss +104 -0
  24. package/src/bh-tokens/components/_password.tokens.scss +63 -0
  25. package/src/bh-tokens/components/_progress-bar.tokens.scss +34 -0
  26. package/src/bh-tokens/components/_progress-spinner.tokens.scss +51 -0
  27. package/src/bh-tokens/components/_radiobutton.tokens.scss +90 -0
  28. package/src/bh-tokens/components/_skeleton.tokens.scss +22 -0
  29. package/src/bh-tokens/components/_textarea.tokens.scss +76 -0
  30. package/src/bh-tokens/components/_toggle.tokens.scss +74 -0
  31. package/src/bh-tokens/components/avatar.scss +288 -0
  32. package/src/bh-tokens/components/badge-dot.scss +177 -0
  33. package/src/bh-tokens/components/badge.scss +497 -0
  34. package/src/bh-tokens/components/button-icon.scss +227 -0
  35. package/src/bh-tokens/components/button.scss +640 -0
  36. package/src/bh-tokens/components/checkbox.scss +254 -0
  37. package/src/bh-tokens/components/dropdown.scss +231 -0
  38. package/src/bh-tokens/components/featured-icon.scss +219 -0
  39. package/src/bh-tokens/components/input-number.scss +147 -0
  40. package/src/bh-tokens/components/input.scss +271 -0
  41. package/src/bh-tokens/components/label.scss +176 -0
  42. package/src/bh-tokens/components/modal.scss +103 -0
  43. package/src/bh-tokens/components/pagination.scss +324 -0
  44. package/src/bh-tokens/components/password.scss +193 -0
  45. package/src/bh-tokens/components/progress-bar.scss +124 -0
  46. package/src/bh-tokens/components/progress-spinner.scss +130 -0
  47. package/src/bh-tokens/components/radiobutton.scss +193 -0
  48. package/src/bh-tokens/components/skeleton.scss +50 -0
  49. package/src/bh-tokens/components/textarea.scss +228 -0
  50. package/src/bh-tokens/components/toggle.scss +320 -0
  51. package/src/index.css +22 -0
  52. package/src/mixins/_responsive.scss +167 -0
  53. package/src/tokens/bellhop-animations.css +392 -0
  54. package/src/tokens/bellhop-global.css +175 -0
  55. package/src/tokens/bellhop-icons.css +77 -0
  56. package/src/tokens/bellhop-layout.css +216 -0
  57. package/src/tokens/bellhop-primary-colors.css +96 -0
  58. package/src/tokens/bellhop-radius.css +14 -0
  59. package/src/tokens/bellhop-secondary-colors.css +154 -0
  60. package/src/tokens/bellhop-shadows.css +55 -0
  61. package/src/tokens/bellhop-spacing.css +66 -0
  62. package/src/tokens/bellhop-styles.css +174 -0
  63. package/src/tokens/bellhop-typography.css +146 -0
  64. package/src/tokens/colors.json +737 -0
  65. package/src/tokens/colors.mdx +59 -0
  66. package/src/tokens/index.css +17 -0
  67. package/src/utilities/_breakpoints.scss +19 -0
  68. package/src/utilities/_flex.scss +228 -0
  69. package/src/utilities/_grid.scss +189 -0
  70. package/src/utilities/_index.scss +32 -0
  71. package/src/utilities/_scrollable.scss +239 -0
  72. package/src/utilities/_sizing.scss +229 -0
  73. package/src/utilities/_spacing.scss +187 -0
  74. package/src/utilities/_truncation.scss +126 -0
  75. package/src/utilities/_visibility.scss +117 -0
  76. package/src/utilities.scss +32 -0
  77. package/components/appbar.css +0 -167
  78. package/components/autocomplete-menu.css +0 -142
  79. package/components/avatar-add.css +0 -112
  80. package/components/avatar.css +0 -253
  81. package/components/badge-dot.css +0 -78
  82. package/components/badge.css +0 -337
  83. package/components/bar-chart-card.css +0 -261
  84. package/components/bar-chart.css +0 -149
  85. package/components/breadcrumbs.css +0 -136
  86. package/components/button.css +0 -266
  87. package/components/chart-tooltip.css +0 -96
  88. package/components/checkbox-label.css +0 -53
  89. package/components/checkbox.css +0 -127
  90. package/components/container-footer.css +0 -22
  91. package/components/container.css +0 -17
  92. package/components/date-picker-content.css +0 -337
  93. package/components/date-picker.css +0 -103
  94. package/components/date-range-picker-content.css +0 -85
  95. package/components/date-range-picker.css +0 -72
  96. package/components/dropdown-menu.css +0 -204
  97. package/components/dropdown.css +0 -126
  98. package/components/empty-state.css +0 -83
  99. package/components/featured-icon.css +0 -194
  100. package/components/illustrations.css +0 -120
  101. package/components/input-autocomplete.css +0 -158
  102. package/components/input-number.css +0 -2
  103. package/components/input-verification.css +0 -137
  104. package/components/input.css +0 -374
  105. package/components/loader-spinner.css +0 -421
  106. package/components/logo-box.css +0 -85
  107. package/components/month-picker-content.css +0 -190
  108. package/components/month-picker.css +0 -83
  109. package/components/nav-item.css +0 -110
  110. package/components/notification.css +0 -262
  111. package/components/page-navigation.css +0 -294
  112. package/components/picker-menu.css +0 -43
  113. package/components/pie-chart-card.css +0 -213
  114. package/components/pie-chart.css +0 -80
  115. package/components/product-switcher.css +0 -127
  116. package/components/property-switcher.css +0 -95
  117. package/components/radio-button-label.css +0 -53
  118. package/components/radio-button.css +0 -134
  119. package/components/sidebar.css +0 -178
  120. package/components/skeleton-loader.css +0 -47
  121. package/components/tag.css +0 -214
  122. package/components/textarea.css +0 -211
  123. package/components/toggle.css +0 -298
  124. package/components/tooltip.css +0 -85
  125. package/components/trend-chart-card.css +0 -189
  126. package/components/trend-chart.css +0 -94
  127. package/index.css +0 -8115
@@ -1,83 +0,0 @@
1
- /* ==========================================================================
2
- MONTH PICKER COMPONENT - MAIN PICKER WITH VARIANTS
3
- ========================================================================== */
4
-
5
- @import '../tokens/bellhop-animations.css';
6
-
7
- .month-picker-container {
8
- position: relative;
9
- display: inline-block;
10
- }
11
-
12
- /* Chevron rotation animation for month picker buttons */
13
- .month-picker-trigger .btn-icon-trailing .material-symbols-outlined {
14
- transition: transform var(--animation-duration-fast)
15
- var(--animation-ease-smooth);
16
- display: inline-block;
17
- }
18
-
19
- .month-picker-trigger .dropdown-open .btn-icon-trailing .material-symbols-outlined {
20
- transform: rotate(180deg);
21
- }
22
-
23
- /* Trigger styles */
24
- .month-picker-trigger {
25
- cursor: pointer;
26
- }
27
-
28
- .month-picker-trigger:disabled {
29
- cursor: not-allowed;
30
- }
31
-
32
- /* Menu positioning */
33
- .month-picker-menu-container {
34
- position: absolute;
35
- top: 100%;
36
- left: 50%;
37
- transform: translateX(-50%);
38
- z-index: 1000;
39
- margin-top: var(--spacing-xs);
40
- width: fit-content !important; /* Fixed width to match month picker menu */
41
- }
42
-
43
- /* Backdrop */
44
- .month-picker-backdrop {
45
- position: fixed;
46
- top: 0;
47
- left: 0;
48
- width: 100%;
49
- height: 100%;
50
- z-index: 999;
51
- background: transparent;
52
- }
53
-
54
- /* Input field container */
55
- .input-field-container {
56
- position: relative;
57
- }
58
-
59
- /* Input field specific styling */
60
- .month-picker-trigger .input-text {
61
- /* Allow input interaction */
62
- }
63
-
64
- .month-picker-trigger .input-text input {
65
- cursor: text;
66
- }
67
-
68
- /* Style calendar icon when input is focused */
69
- .month-picker-trigger .input-text.input-focused .leading-icon {
70
- color: var(--color-brand-600) !important;
71
- }
72
-
73
- /* Calendar icon overlay for reliable click detection */
74
- .calendar-icon-overlay {
75
- position: absolute;
76
- bottom: 8px; /* Position from bottom to account for label */
77
- left: 16px; /* Adjust based on input padding */
78
- width: 24px;
79
- height: 24px;
80
- cursor: pointer;
81
- z-index: 10;
82
- /* Invisible overlay positioned over calendar icon */
83
- }
@@ -1,110 +0,0 @@
1
- /* ==========================================================================
2
- NAV ITEM COMPONENT
3
- Navigation item for sidebar navigation
4
- ========================================================================== */
5
-
6
- .nav-item {
7
- display: flex;
8
- flex-direction: column;
9
- align-items: center;
10
- justify-content: flex-start;
11
- position: relative;
12
- flex-shrink: 0;
13
- width: 100%;
14
- max-width: 52px;
15
- height: fit-content;
16
- }
17
-
18
- .nav-item-button {
19
- background-color: var(--color-white);
20
- box-sizing: border-box;
21
- display: flex;
22
- align-items: center;
23
- justify-content: center;
24
- overflow: hidden;
25
- padding: var(--spacing-md);
26
- position: relative;
27
- border-radius: var(--radius-sm);
28
- flex-shrink: 0;
29
- transition: background-color 0.2s ease;
30
- cursor: pointer;
31
- border: none;
32
- outline: none;
33
- }
34
-
35
- .nav-item-button:hover {
36
- background-color: var(--color-neutral-50);
37
- }
38
-
39
- .nav-item-button:focus-visible {
40
- box-shadow: 0 0 0 2px var(--color-brand-100);
41
- }
42
-
43
- .nav-item.active .nav-item-button {
44
- background-color: var(--color-brand-50);
45
- }
46
-
47
- .nav-item-button .icon {
48
- width: 20px;
49
- height: 20px;
50
- display: block;
51
- flex-shrink: 0;
52
- color: var(--color-neutral-500);
53
- transition: color 0.2s ease;
54
- font-size: 20px;
55
- font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
56
- }
57
-
58
- .nav-item-button:hover .icon {
59
- color: var(--color-neutral-700);
60
- }
61
-
62
- .nav-item.active .nav-item-button .icon {
63
- color: var(--color-brand-600);
64
- font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
65
- }
66
-
67
- .nav-item-label {
68
- font-family: var(--font-inter);
69
- font-weight: var(--weight-medium);
70
- height: 18px;
71
- line-height: 18px;
72
- font-style: normal;
73
- overflow: hidden;
74
- text-overflow: ellipsis;
75
- position: relative;
76
- flex-shrink: 0;
77
- color: var(--color-neutral-700);
78
- font-size: 10px;
79
- text-align: center;
80
- white-space: nowrap;
81
- width: 100%;
82
- max-width: 100%;
83
- margin: var(--spacing-none);
84
- margin-top: var(--spacing-xxs);
85
- box-sizing: border-box;
86
- direction: ltr;
87
- }
88
-
89
- .nav-item.active .nav-item-label {
90
- color: var(--color-neutral-700);
91
- font-weight: var(--weight-semibold);
92
- }
93
-
94
- /* Disabled state */
95
- .nav-item.disabled .nav-item-button {
96
- cursor: not-allowed;
97
- opacity: 0.5;
98
- }
99
-
100
- .nav-item.disabled .nav-item-button:hover {
101
- background-color: var(--color-white);
102
- }
103
-
104
- .nav-item.disabled .nav-item-button .icon {
105
- color: var(--color-neutral-400);
106
- }
107
-
108
- .nav-item.disabled .nav-item-label {
109
- color: var(--color-neutral-400);
110
- }
@@ -1,262 +0,0 @@
1
- /* Base notification styles */
2
- .notification {
3
- position: relative;
4
- display: flex;
5
- background: var(--color-white);
6
- border: 1px solid var(--color-neutral-200);
7
- border-radius: var(--radius-xl);
8
- box-shadow: var(--shadow-modal);
9
- overflow: hidden;
10
- font-family: var(--font-inter);
11
- }
12
-
13
- /* Animation classes */
14
- @keyframes slideInRight {
15
- from {
16
- transform: translateX(100%);
17
- opacity: 0;
18
- }
19
- to {
20
- transform: translateX(0);
21
- opacity: 1;
22
- }
23
- }
24
-
25
- @keyframes slideOutRight {
26
- from {
27
- transform: translateX(0);
28
- opacity: 1;
29
- }
30
- to {
31
- transform: translateX(100%);
32
- opacity: 0;
33
- }
34
- }
35
-
36
- .notification-animated {
37
- animation: slideInRight 0.3s ease-out forwards;
38
- }
39
-
40
- .notification-closing {
41
- animation: slideOutRight 0.3s ease-in forwards;
42
- }
43
-
44
- /* Notification container for positioning */
45
- .notification-container {
46
- position: fixed;
47
- top: var(--spacing-3xl);
48
- right: var(--spacing-3xl);
49
- z-index: 1000;
50
- pointer-events: none;
51
- }
52
-
53
- .notification-container .notification {
54
- pointer-events: auto;
55
- margin-bottom: var(--spacing-xl);
56
- }
57
-
58
- /* Desktop variant */
59
- .notification-desktop {
60
- padding: var(--spacing-3xl);
61
- max-width: 400px;
62
- }
63
-
64
- /* Mobile variant */
65
- .notification-mobile {
66
- width: 100%;
67
- max-width: 343px;
68
- }
69
-
70
- .notification-mobile .notification-content {
71
- padding: var(--spacing-3xl);
72
- }
73
-
74
- /* Image container for mobile */
75
- .notification-image-container {
76
- width: 100%;
77
- height: 160px;
78
- overflow: hidden;
79
- flex-shrink: 0;
80
- }
81
-
82
- .notification-image {
83
- width: 100%;
84
- height: 100%;
85
- object-fit: cover;
86
- display: block;
87
- }
88
-
89
- /* Notification with image should have no top padding on mobile */
90
- .notification-mobile.notification-image .notification-content {
91
- padding-top: var(--spacing-xl);
92
- padding-bottom: var(--spacing-xl);
93
- }
94
-
95
- /* Content area */
96
- .notification-content {
97
- display: flex;
98
- align-items: flex-start;
99
- gap: var(--spacing-xl);
100
- flex: 1;
101
- padding-right: var(--spacing-4xl);
102
- }
103
-
104
- .notification-mobile .notification-content {
105
- flex-direction: column;
106
- padding-right: var(--spacing-4xl);
107
- }
108
-
109
- /* Icon wrapper */
110
- .notification-icon-wrapper {
111
- position: relative;
112
- flex-shrink: 0;
113
- }
114
-
115
- /* Featured icon adjustments for notification context */
116
- .notification-icon-wrapper .featured-icon {
117
- flex-shrink: 0;
118
- }
119
-
120
- /* Avatar */
121
- .notification-avatar {
122
- width: var(--spacing-5xl);
123
- height: var(--spacing-5xl);
124
- border-radius: var(--radius-full);
125
- overflow: hidden;
126
- flex-shrink: 0;
127
- }
128
-
129
- .notification-avatar img {
130
- width: 100%;
131
- height: 100%;
132
- object-fit: cover;
133
- }
134
-
135
- /* Progress indicator */
136
- .notification-progress {
137
- width: var(--spacing-5xl);
138
- height: var(--spacing-5xl);
139
- }
140
-
141
- .progress-ring {
142
- transform: rotate(-90deg);
143
- }
144
-
145
- .progress-ring-circle-bg {
146
- stroke: var(--color-neutral-200);
147
- }
148
-
149
- .progress-ring-circle {
150
- stroke: var(--color-brand-600);
151
- transition: stroke-dashoffset 0.3s ease;
152
- }
153
-
154
- /* Text content */
155
- .notification-text {
156
- flex: 1;
157
- display: flex;
158
- flex-direction: column;
159
- gap: var(--spacing-lg);
160
- padding-top: var(--spacing-xxs);
161
- }
162
-
163
- .notification-text-wrapper {
164
- display: flex;
165
- flex-direction: column;
166
- gap: var(--spacing-xs);
167
- }
168
-
169
- .notification-title {
170
- font-size: var(--text-sm-size);
171
- font-weight: var(--weight-semibold);
172
- line-height: var(--text-sm-line);
173
- color: var(--color-neutral-800);
174
- margin: 0;
175
- }
176
-
177
- .notification-description {
178
- font-size: var(--text-sm-size);
179
- font-weight: var(--weight-regular);
180
- line-height: var(--text-sm-line);
181
- color: var(--color-neutral-600);
182
- margin: 0;
183
- }
184
-
185
- /* Actions */
186
- .notification-actions {
187
- display: flex;
188
- gap: var(--spacing-lg);
189
- }
190
-
191
- .notification-button {
192
- padding: 0;
193
- border: none;
194
- background: none;
195
- font-family: var(--font-inter);
196
- font-size: var(--text-sm-size);
197
- font-weight: var(--weight-semibold);
198
- line-height: var(--text-sm-line);
199
- cursor: pointer;
200
- transition: opacity 0.2s ease;
201
- }
202
-
203
- .notification-button:hover {
204
- opacity: 0.8;
205
- }
206
-
207
- .notification-button:focus-visible {
208
- outline: 2px solid var(--color-brand-500);
209
- outline-offset: var(--spacing-xxs);
210
- border-radius: var(--radius-xs);
211
- }
212
-
213
- .notification-button-primary {
214
- color: var(--color-brand-600);
215
- }
216
-
217
- .notification-button-secondary {
218
- color: var(--color-neutral-600);
219
- }
220
-
221
- /* Close button */
222
- .notification-close {
223
- position: absolute;
224
- top: var(--spacing-md);
225
- right: var(--spacing-md);
226
- width: var(--spacing-4xl);
227
- height: var(--spacing-4xl);
228
- display: flex;
229
- align-items: center;
230
- justify-content: center;
231
- background: transparent;
232
- border: none;
233
- border-radius: var(--radius-md);
234
- cursor: pointer;
235
- color: var(--color-neutral-400);
236
- transition: background-color 0.2s ease, color 0.2s ease;
237
- }
238
-
239
- .notification-close-icon {
240
- font-size: 20px !important;
241
- width: 20px;
242
- height: 20px;
243
- line-height: 1;
244
- font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
245
- }
246
-
247
- .notification-close:hover {
248
- background-color: var(--color-neutral-50);
249
- color: var(--color-neutral-600);
250
- }
251
-
252
- .notification-close:focus-visible {
253
- outline: 2px solid var(--color-brand-500);
254
- outline-offset: var(--spacing-xxs);
255
- }
256
-
257
- /* Responsive adjustments */
258
- @media (max-width: 480px) {
259
- .notification-desktop {
260
- max-width: 100%;
261
- }
262
- }