@actabldesign/bellhop-styles 0.0.3 → 0.0.4

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 (73) hide show
  1. package/README.md +3 -3
  2. package/dist/index.css +1505 -0
  3. package/llms.txt +206 -0
  4. package/package.json +27 -23
  5. package/project.json +29 -0
  6. package/rollup.config.js +29 -0
  7. package/{base → src/base}/normalize.css +4 -0
  8. package/src/index.css +22 -0
  9. package/src/tokens/bellhop-animations.css +392 -0
  10. package/src/tokens/bellhop-global.css +175 -0
  11. package/src/tokens/bellhop-icons.css +77 -0
  12. package/src/tokens/bellhop-layout.css +216 -0
  13. package/src/tokens/bellhop-primary-colors.css +96 -0
  14. package/src/tokens/bellhop-radius.css +14 -0
  15. package/src/tokens/bellhop-secondary-colors.css +154 -0
  16. package/src/tokens/bellhop-shadows.css +55 -0
  17. package/src/tokens/bellhop-spacing.css +66 -0
  18. package/src/tokens/bellhop-styles.css +174 -0
  19. package/src/tokens/bellhop-typography.css +112 -0
  20. package/src/tokens/colors.json +737 -0
  21. package/src/tokens/colors.mdx +59 -0
  22. package/src/tokens/index.css +17 -0
  23. package/components/appbar.css +0 -167
  24. package/components/autocomplete-menu.css +0 -142
  25. package/components/avatar-add.css +0 -112
  26. package/components/avatar.css +0 -253
  27. package/components/badge-dot.css +0 -78
  28. package/components/badge.css +0 -337
  29. package/components/bar-chart-card.css +0 -261
  30. package/components/bar-chart.css +0 -149
  31. package/components/breadcrumbs.css +0 -136
  32. package/components/button.css +0 -266
  33. package/components/chart-tooltip.css +0 -96
  34. package/components/checkbox-label.css +0 -53
  35. package/components/checkbox.css +0 -127
  36. package/components/container-footer.css +0 -22
  37. package/components/container.css +0 -17
  38. package/components/date-picker-content.css +0 -337
  39. package/components/date-picker.css +0 -103
  40. package/components/date-range-picker-content.css +0 -85
  41. package/components/date-range-picker.css +0 -72
  42. package/components/dropdown-menu.css +0 -204
  43. package/components/dropdown.css +0 -126
  44. package/components/empty-state.css +0 -83
  45. package/components/featured-icon.css +0 -194
  46. package/components/illustrations.css +0 -120
  47. package/components/input-autocomplete.css +0 -158
  48. package/components/input-number.css +0 -2
  49. package/components/input-verification.css +0 -137
  50. package/components/input.css +0 -374
  51. package/components/loader-spinner.css +0 -421
  52. package/components/logo-box.css +0 -85
  53. package/components/month-picker-content.css +0 -190
  54. package/components/month-picker.css +0 -83
  55. package/components/nav-item.css +0 -110
  56. package/components/notification.css +0 -262
  57. package/components/page-navigation.css +0 -294
  58. package/components/picker-menu.css +0 -43
  59. package/components/pie-chart-card.css +0 -213
  60. package/components/pie-chart.css +0 -80
  61. package/components/product-switcher.css +0 -127
  62. package/components/property-switcher.css +0 -95
  63. package/components/radio-button-label.css +0 -53
  64. package/components/radio-button.css +0 -134
  65. package/components/sidebar.css +0 -178
  66. package/components/skeleton-loader.css +0 -47
  67. package/components/tag.css +0 -214
  68. package/components/textarea.css +0 -211
  69. package/components/toggle.css +0 -298
  70. package/components/tooltip.css +0 -85
  71. package/components/trend-chart-card.css +0 -189
  72. package/components/trend-chart.css +0 -94
  73. package/index.css +0 -8115
@@ -1,158 +0,0 @@
1
- /* Input Autocomplete Component Styles */
2
-
3
- /* Wrapper for the entire autocomplete component */
4
- .input-autocomplete-wrapper {
5
- position: relative;
6
- width: 100%;
7
- min-width: 0;
8
- max-width: 100%;
9
- flex-shrink: 0;
10
- box-sizing: border-box;
11
- }
12
-
13
- /* Multi-select input with flowing content */
14
- .autocomplete-multi-input {
15
- min-height: 36px;
16
- height: auto;
17
- padding: var(--spacing-xs) var(--spacing-md);
18
- width: 100%;
19
- box-sizing: border-box;
20
- max-width: 100%;
21
- overflow: hidden;
22
- }
23
-
24
- .autocomplete-multi-input.input-icon-leading {
25
- padding-left: var(--spacing-lg);
26
- }
27
-
28
- /* Input wrapper for multi-select */
29
- .input-autocomplete-wrapper .input-wrapper {
30
- width: 100%;
31
- min-width: 100%;
32
- max-width: 100%;
33
- box-sizing: border-box;
34
- flex-shrink: 0;
35
- }
36
-
37
- /* Content that flows: icon, tags, input, clear button */
38
- .input-content-flow {
39
- display: flex;
40
- align-items: center;
41
- flex-wrap: nowrap;
42
- gap: var(--spacing-xs);
43
- min-height: 20px;
44
- width: 100%;
45
- overflow: hidden;
46
- }
47
-
48
- /* Leading icon in flow */
49
- .input-content-flow .leading-icon {
50
- flex-shrink: 0;
51
- color: var(--color-neutral-500);
52
- font-size: 20px;
53
- margin-right: var(--spacing-xs);
54
- }
55
-
56
- /* Tag container styling - compact size with dismiss icon */
57
- .input-content-flow .tag {
58
- flex-shrink: 0;
59
- max-width: 150px;
60
- width: auto;
61
- min-width: auto;
62
- display: inline-flex;
63
- align-items: center;
64
- gap: var(--spacing-xs);
65
- }
66
-
67
- /* Tag content should be constrained */
68
- .input-content-flow .tag .tag-content {
69
- flex: 1;
70
- min-width: 0;
71
- overflow: hidden;
72
- }
73
-
74
- /* Label wrapper should respect max width */
75
- .input-content-flow .tag .tag-label-wrapper {
76
- max-width: 100px;
77
- overflow: hidden;
78
- }
79
-
80
- /* Label should truncate properly */
81
- .input-content-flow .tag .tag-label {
82
- max-width: 100%;
83
- overflow: hidden;
84
- text-overflow: ellipsis;
85
- white-space: nowrap;
86
- }
87
-
88
- /* Ensure dismiss button is always visible and compact */
89
- .input-content-flow .tag .tag-dismiss {
90
- display: flex !important;
91
- flex-shrink: 0;
92
- width: 16px;
93
- height: 16px;
94
- padding: 0;
95
- margin: 0;
96
- }
97
-
98
- /* Inline input that flows after tags */
99
- .inline-input {
100
- border: none;
101
- outline: none;
102
- background: transparent;
103
- font-family: var(--font-inter);
104
- font-size: var(--text-md-size);
105
- line-height: var(--text-md-line);
106
- color: var(--color-neutral-900);
107
- flex: 1 1 60px;
108
- min-width: 60px;
109
- max-width: 100%;
110
- padding: 2px 0;
111
- width: 0;
112
- }
113
-
114
- /* Remove any focus styling from the inline input */
115
- .inline-input:focus {
116
- outline: none;
117
- border: none;
118
- box-shadow: none;
119
- }
120
-
121
- .inline-input::placeholder {
122
- color: var(--color-neutral-500);
123
- }
124
-
125
- .inline-input:disabled {
126
- color: var(--color-neutral-400);
127
- cursor: not-allowed;
128
- }
129
-
130
- /* Clear button in flow */
131
- .input-content-flow .btn-icon {
132
- flex-shrink: 0;
133
- margin-left: auto;
134
- width: 24px;
135
- height: 24px;
136
- }
137
-
138
- /* Ensure dropdown menu appears above other elements and positioned correctly */
139
- .input-autocomplete-wrapper .autocomplete-menu {
140
- z-index: 1000;
141
- top: calc(100% - 12px);
142
- }
143
-
144
- /* Responsive adjustments */
145
- @media (max-width: 640px) {
146
- .selected-tag {
147
- max-width: 120px;
148
- }
149
-
150
- .autocomplete-overlay {
151
- padding-left: var(--spacing-md);
152
- padding-right: var(--spacing-md);
153
- }
154
-
155
- .autocomplete-input.input-icon-leading ~ .autocomplete-overlay {
156
- padding-left: calc(var(--spacing-md) + 18px + var(--spacing-xs));
157
- }
158
- }
@@ -1,2 +0,0 @@
1
- /* Import base input styles */
2
- @import './input.css';
@@ -1,137 +0,0 @@
1
- /* Input Verification Component Styles */
2
-
3
- .input-verification-wrapper {
4
- display: flex;
5
- flex-direction: column;
6
- gap: var(--spacing-sm);
7
- width: fit-content;
8
- }
9
-
10
- .label-wrapper {
11
- display: flex;
12
- align-items: center;
13
- gap: var(--spacing-xs);
14
- }
15
-
16
- .label {
17
- font-size: var(--text-sm-size);
18
- font-weight: var(--weight-medium);
19
- line-height: var(--text-sm-line);
20
- color: var(--color-neutral-700);
21
- }
22
-
23
- .asterisk {
24
- color: var(--color-error-500);
25
- font-size: var(--text-sm-size);
26
- font-weight: var(--weight-medium);
27
- line-height: var(--text-sm-line);
28
- }
29
-
30
- .input-verification-container {
31
- display: flex;
32
- align-items: center;
33
- gap: var(--spacing-sm);
34
- }
35
-
36
- .verification-input {
37
- width: 64px;
38
- height: 64px;
39
- padding: 0;
40
- border: 1px solid var(--color-neutral-300);
41
- border-radius: var(--radius-lg);
42
- background-color: var(--color-white);
43
- font-size: 3rem;
44
- font-weight: var(--weight-medium);
45
- line-height: 1;
46
- text-align: center;
47
- color: var(--color-neutral-900);
48
- transition: all 150ms ease;
49
- outline: none;
50
- }
51
-
52
- /* Size variants */
53
- .verification-input.size-sm {
54
- width: 64px;
55
- height: 64px;
56
- font-size: 3rem;
57
- border-radius: var(--radius-lg);
58
- }
59
-
60
- .verification-input.size-md {
61
- width: 80px;
62
- height: 80px;
63
- font-size: 3rem;
64
- border-radius: var(--radius-lg);
65
- }
66
-
67
- .verification-input.size-lg {
68
- width: 96px;
69
- height: 96px;
70
- font-size: 3.75rem;
71
- border-radius: var(--radius-lg);
72
- }
73
-
74
- /* States */
75
- .verification-input:hover:not(:disabled) {
76
- border-color: var(--color-neutral-400);
77
- }
78
-
79
- .verification-input:focus {
80
- border-color: var(--color-brand-300);
81
- box-shadow: 0 0 0 4px var(--color-brand-100);
82
- }
83
-
84
- .verification-input.error {
85
- border-color: var(--color-error-300);
86
- }
87
-
88
- .verification-input.error:focus {
89
- border-color: var(--color-error-300);
90
- box-shadow: 0 0 0 4px var(--color-error-100);
91
- }
92
-
93
- .verification-input:disabled {
94
- background-color: var(--color-neutral-50);
95
- border-color: var(--color-neutral-300);
96
- color: var(--color-neutral-400);
97
- cursor: not-allowed;
98
- }
99
-
100
- .separator {
101
- font-size: 1.5rem;
102
- font-weight: var(--weight-medium);
103
- color: var(--color-neutral-400);
104
- margin: 0 var(--spacing-xs);
105
- line-height: 1;
106
- }
107
-
108
- .separator.size-sm {
109
- font-size: 1.5rem;
110
- }
111
-
112
- .separator.size-md {
113
- font-size: 1.5rem;
114
- }
115
-
116
- .separator.size-lg {
117
- font-size: 1.875rem;
118
- }
119
-
120
- .hint-text {
121
- font-size: var(--text-sm-size);
122
- font-weight: var(--weight-regular);
123
- line-height: var(--text-sm-line);
124
- color: var(--color-neutral-600);
125
- margin-top: var(--spacing-xs);
126
- }
127
-
128
- .hint-text.error {
129
- color: var(--color-error-600);
130
- }
131
-
132
- .verification-input::placeholder {
133
- color: var(--color-neutral-400);
134
- opacity: 1;
135
- font-size: inherit;
136
- font-weight: var(--weight-regular);
137
- }
@@ -1,374 +0,0 @@
1
- /* ==========================================================================
2
- BELLHOP INPUT COMPONENTS - CENTRALIZED STYLES
3
- ========================================================================== */
4
-
5
- /* Base Input Wrapper */
6
- .input-wrapper {
7
- display: flex;
8
- flex-direction: column;
9
- gap: var(--spacing-sm);
10
- width: 100%;
11
- max-width: 100%;
12
- }
13
-
14
- .input-with-label {
15
- display: flex;
16
- flex-direction: column;
17
- gap: var(--spacing-sm);
18
- width: 100%;
19
- }
20
-
21
- /* Label Styling */
22
- .label-wrapper {
23
- display: flex;
24
- align-items: center;
25
- gap: var(--spacing-xxs);
26
- }
27
-
28
- .label-wrapper .icon-with-tooltip {
29
- margin-left: auto;
30
- }
31
-
32
- .label {
33
- font-family: var(--font-inter);
34
- font-weight: 500;
35
- font-size: var(--text-sm-size);
36
- line-height: 1.43;
37
- color: var(--color-neutral-700);
38
- }
39
-
40
- .asterisk {
41
- font-family: var(--font-inter);
42
- font-weight: 400;
43
- font-size: var(--text-sm-size);
44
- line-height: 1.43;
45
- color: var(--color-error-600);
46
- }
47
-
48
- /* Input Field Container */
49
- .input-field {
50
- display: flex;
51
- align-items: center;
52
- gap: var(--spacing-md);
53
- padding: var(--spacing-md);
54
- height: 36px;
55
- width: 100%;
56
- background: var(--color-white);
57
- border: 1px solid var(--color-neutral-300);
58
- border-radius: var(--spacing-md);
59
- transition: all 0.2s ease-in-out;
60
- cursor: text;
61
- box-shadow: 0 0 0 0px transparent;
62
- overflow: hidden;
63
- position: relative;
64
- }
65
-
66
- .input-field.input-icon-leading {
67
- padding: var(--spacing-md) var(--spacing-lg);
68
- }
69
-
70
- /* Input Content */
71
- .input-content {
72
- display: flex;
73
- align-items: center;
74
- gap: var(--spacing-md);
75
- flex: 1;
76
- height: 100%;
77
- min-width: 0;
78
- max-width: 100%;
79
- }
80
-
81
- /* Ensure buttons within inputs are properly aligned */
82
- .input-content app-button {
83
- align-self: center;
84
- display: flex;
85
- flex-shrink: 0;
86
- }
87
-
88
- .input-content app-button .btn {
89
- align-self: center;
90
- }
91
-
92
- /* Leading Icon */
93
- .leading-icon {
94
- font-size: var(--text-xl-size);
95
- color: var(--color-neutral-500);
96
- user-select: none;
97
- flex-shrink: 0;
98
- cursor: default;
99
- pointer-events: auto;
100
- transition: color 0.2s ease-in-out;
101
- }
102
-
103
- /* Leading icon when input is focused */
104
- .input-field.input-focused .leading-icon {
105
- color: var(--color-brand-600);
106
- }
107
-
108
- /* Trailing Icon Styling */
109
- .trailing-icon {
110
- font-size: var(--text-xl-size);
111
- color: var(--color-neutral-500);
112
- user-select: none;
113
- flex-shrink: 0;
114
- cursor: default;
115
- pointer-events: auto;
116
- transition: color 0.2s ease-in-out;
117
- }
118
-
119
- /* Trailing icon when input is focused */
120
- .input-field.input-focused .trailing-icon {
121
- color: var(--color-brand-600);
122
- }
123
-
124
- /* Input Element */
125
- .input-element {
126
- flex: 1;
127
- height: 100%;
128
- border: none;
129
- outline: none;
130
- background: transparent;
131
- font-family: var(--font-inter);
132
- font-weight: 400;
133
- font-size: var(--text-sm-size);
134
- line-height: 1.43;
135
- color: var(--color-neutral-800);
136
- min-width: 60px;
137
- padding-left: var(--spacing-xs);
138
- box-shadow: none;
139
- }
140
-
141
- .input-element:focus {
142
- outline: none;
143
- border: none;
144
- box-shadow: none;
145
- }
146
-
147
- .input-element::placeholder {
148
- color: var(--color-neutral-500);
149
- }
150
-
151
- .input-element:disabled {
152
- cursor: not-allowed;
153
- opacity: 0.5;
154
- }
155
-
156
- /* Text States */
157
- .text-placeholder {
158
- color: var(--color-neutral-500);
159
- }
160
-
161
- .text-filled {
162
- color: var(--color-neutral-800);
163
- }
164
-
165
- /* Help Icon */
166
- .help-icon {
167
- font-size: var(--text-xl-size);
168
- color: var(--color-neutral-400);
169
- cursor: pointer;
170
- user-select: none;
171
- flex-shrink: 0;
172
- transition: color 0.2s ease-in-out;
173
- pointer-events: auto;
174
- }
175
-
176
- .help-icon:hover {
177
- color: var(--color-neutral-500);
178
- }
179
-
180
- /* Hint Text */
181
- .hint-text {
182
- font-family: var(--font-inter);
183
- font-weight: 400;
184
- font-size: var(--text-sm-size);
185
- line-height: 1.43;
186
- color: var(--color-neutral-600);
187
- }
188
-
189
- /* Input States */
190
- .input-field.input-hover {
191
- border-color: var(--color-brand-500);
192
- }
193
-
194
- .input-field.input-focused {
195
- border-color: var(--color-brand-500);
196
- box-shadow: 0 0 0 1px var(--color-brand-500);
197
- }
198
-
199
- .input-field.input-disabled {
200
- opacity: 0.5;
201
- cursor: not-allowed;
202
- background: var(--color-neutral-50);
203
- }
204
-
205
- .input-field.input-error {
206
- border-color: var(--color-error-300);
207
- }
208
-
209
- .input-field.input-error.input-hover {
210
- border-color: var(--color-error-500);
211
- }
212
-
213
- .input-field.input-error.input-focused {
214
- border-color: var(--color-brand-600);
215
- }
216
-
217
- .hint-text.hint-error {
218
- color: var(--color-error-600);
219
- }
220
-
221
- /* Material Symbols Support */
222
- .material-symbols-outlined {
223
- font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
224
- }
225
-
226
- /* Icon Container */
227
- .icon-with-tooltip {
228
- position: relative;
229
- display: flex;
230
- align-items: center;
231
- flex-shrink: 0;
232
- }
233
-
234
- /* Prefix and Suffix */
235
- .prefix-text,
236
- .suffix-text {
237
- font-family: var(--font-inter);
238
- font-weight: 400;
239
- font-size: var(--text-sm-size);
240
- line-height: 1.43;
241
- color: var(--color-neutral-600);
242
- user-select: none;
243
- flex-shrink: 0;
244
- }
245
-
246
- /* Password Visibility Toggle */
247
- .visibility-toggle {
248
- font-size: var(--text-xl-size);
249
- color: var(--color-neutral-400);
250
- cursor: pointer;
251
- user-select: none;
252
- flex-shrink: 0;
253
- transition: color 0.2s ease-in-out;
254
- pointer-events: auto;
255
- }
256
-
257
- .visibility-toggle:hover {
258
- color: var(--color-neutral-600);
259
- }
260
-
261
- /* Hide default number input spinners */
262
- .input-element::-webkit-outer-spin-button,
263
- .input-element::-webkit-inner-spin-button {
264
- -webkit-appearance: none;
265
- margin: 0;
266
- }
267
-
268
- .input-element[type='number'] {
269
- -moz-appearance: textfield;
270
- appearance: textfield;
271
- }
272
-
273
- /* Tag Input Specific Styles */
274
- .tags-container {
275
- display: flex;
276
- flex-wrap: wrap;
277
- gap: var(--spacing-xs);
278
- align-items: center;
279
- flex: 1;
280
- }
281
-
282
- /* Note: Use the dedicated Tag component instead of custom tag styles */
283
-
284
- /* Verification Input Specific Styles */
285
- .verification-wrapper {
286
- display: flex;
287
- flex-direction: column;
288
- gap: var(--spacing-sm);
289
- width: 100%;
290
- }
291
-
292
- .verification-with-label {
293
- display: flex;
294
- flex-direction: column;
295
- gap: var(--spacing-sm);
296
- width: 100%;
297
- }
298
-
299
- .verification-container {
300
- display: flex;
301
- gap: var(--spacing-sm);
302
- justify-content: flex-start;
303
- align-items: center;
304
- }
305
-
306
- .verification-digit {
307
- width: 48px;
308
- height: 48px;
309
- display: flex;
310
- align-items: center;
311
- justify-content: center;
312
- background: var(--color-white);
313
- border: 1px solid var(--color-neutral-300);
314
- border-radius: var(--spacing-sm);
315
- font-family: var(--font-inter);
316
- font-weight: 500;
317
- font-size: var(--text-lg-size);
318
- line-height: 1.33;
319
- color: var(--color-neutral-800);
320
- text-align: center;
321
- transition: all 0.2s ease-in-out;
322
- }
323
-
324
- .verification-digit:focus {
325
- border-color: var(--color-brand-500);
326
- box-shadow: 0 0 0 1px var(--color-brand-500);
327
- outline: none;
328
- }
329
-
330
- .verification-digit.filled {
331
- background: var(--color-brand-50);
332
- border-color: var(--color-brand-300);
333
- }
334
-
335
- .verification-container .separator {
336
- font-family: var(--font-inter);
337
- font-weight: 400;
338
- font-size: var(--text-lg-size);
339
- color: var(--color-neutral-500);
340
- margin: 0 var(--spacing-xs);
341
- }
342
-
343
- /* Autocomplete Input Container */
344
- .autocomplete-container {
345
- position: relative;
346
- width: 100%;
347
- }
348
-
349
- /* Selected Tags Container - Ensure inline layout */
350
- .selected-tags {
351
- display: flex;
352
- flex-wrap: nowrap;
353
- gap: var(--spacing-xs);
354
- align-items: center;
355
- flex-shrink: 1;
356
- min-width: 0;
357
- }
358
-
359
- /* Responsive Adjustments */
360
- @media (max-width: 768px) {
361
- .input-wrapper {
362
- width: 100%;
363
- }
364
-
365
- .verification-inputs {
366
- gap: var(--spacing-xs);
367
- }
368
-
369
- .verification-digit {
370
- width: 40px;
371
- height: 40px;
372
- font-size: var(--text-base-size);
373
- }
374
- }