@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,266 +0,0 @@
1
- /* ==========================================================================
2
- BUTTON COMPONENT STYLES
3
- ========================================================================== */
4
-
5
- /* Base Button */
6
- .btn {
7
- display: inline-flex;
8
- align-items: center;
9
- justify-content: center;
10
- gap: var(--spacing-xs);
11
- font-family: var(--font-inter);
12
- font-weight: var(--weight-medium);
13
-
14
- border: 1px solid transparent;
15
- cursor: pointer;
16
- text-align: center;
17
- white-space: nowrap;
18
- transition: all 0.2s ease-in-out;
19
- text-decoration: none;
20
- outline: none;
21
- }
22
-
23
- /* Button Sizes */
24
- .btn-xs {
25
- padding: 0 var(--spacing-lg);
26
- height: 24px;
27
- border-radius: var(--radius-md);
28
- font-size: var(--text-sm-size);
29
- }
30
-
31
- .btn-sm {
32
- padding: 0 var(--spacing-xl);
33
- height: 32px;
34
- border-radius: var(--radius-md);
35
- font-size: var(--text-sm-size);
36
- }
37
-
38
- .btn-md {
39
- padding: 0 var(--spacing-xl);
40
- height: 40px;
41
- border-radius: var(--radius-md);
42
- }
43
-
44
- .btn-lg {
45
- padding: 0 var(--spacing-xl);
46
- height: 48px;
47
- border-radius: var(--radius-md);
48
- gap: var(--spacing-sm); /* Larger gap for large buttons */
49
- }
50
-
51
- /* Icon Padding Compensation */
52
- /*
53
- * Precise compensation for visual balance:
54
- * Base padding: 16px (--spacing-xl)
55
- * Icon gap: 4px (--spacing-xs) for sm/md, 6px (--spacing-sm) for lg
56
- *
57
- * The compensation should account for:
58
- * 1. Half the icon's visual weight (icon_size / 2)
59
- * 2. The gap between icon and text
60
- *
61
- * Compensation = (icon_size / 2) + gap
62
- * Final padding = base_padding - compensation
63
- */
64
-
65
- /* Leading icon - reduce left padding for visual balance */
66
- .btn-xs.btn-icon-leading {
67
- padding-left: var(--icon-compensation-xs-btn, calc(var(--spacing-lg) - var(--spacing-xs)));
68
- }
69
-
70
- .btn-sm.btn-icon-leading {
71
- padding-left: var(--icon-compensation-sm-btn, calc(var(--spacing-xl) - var(--spacing-xs)));
72
- }
73
-
74
- .btn-md.btn-icon-leading {
75
- padding-left: var(--icon-compensation-md-btn, calc(var(--spacing-xl) - var(--spacing-xs)));
76
- }
77
-
78
- .btn-lg.btn-icon-leading {
79
- padding-left: var(--icon-compensation-lg-btn, calc(var(--spacing-xl) - var(--spacing-xs)));
80
- }
81
-
82
- /* Trailing icon - reduce right padding for visual balance */
83
- .btn-xs.btn-icon-trailing {
84
- padding-right: var(--icon-compensation-xs-btn, calc(var(--spacing-lg) - var(--spacing-xs)));
85
- }
86
-
87
- .btn-sm.btn-icon-trailing {
88
- padding-right: var(--icon-compensation-sm-btn, calc(var(--spacing-xl) - var(--spacing-xs)));
89
- }
90
-
91
- .btn-md.btn-icon-trailing {
92
- padding-right: var(--icon-compensation-md-btn, calc(var(--spacing-xl) - var(--spacing-xs)));
93
- }
94
-
95
- .btn-lg.btn-icon-trailing {
96
- padding-right: var(--icon-compensation-lg-btn, calc(var(--spacing-xl) - var(--spacing-xs)));
97
- }
98
-
99
- /* Button Hierarchies */
100
- .btn-primary {
101
- background-color: var(--color-brand-600);
102
- color: var(--color-white);
103
- border-color: var(--color-brand-600);
104
- }
105
-
106
- .btn-secondary {
107
- background-color: var(--color-white);
108
- color: var(--color-neutral-600);
109
- border-color: var(--color-neutral-300);
110
- }
111
-
112
- .btn-tertiary {
113
- background-color: transparent;
114
- color: var(--color-neutral-600);
115
- border-color: transparent;
116
- }
117
-
118
- .btn-quaternary {
119
- background-color: transparent;
120
- color: var(--color-brand-600);
121
- border-color: transparent;
122
- /* font-weight: var(--weight-medium); */
123
- }
124
-
125
- /* Hover States */
126
- .btn-primary:hover:not(:disabled) {
127
- background-color: var(--color-brand-700);
128
- border-color: var(--color-brand-700);
129
- }
130
-
131
- .btn-secondary:hover:not(:disabled) {
132
- background-color: var(--color-neutral-50);
133
- color: var(--color-neutral-700);
134
- border-color: var(--color-neutral-400);
135
- }
136
-
137
- .btn-tertiary:hover:not(:disabled) {
138
- background-color: var(--color-neutral-100);
139
- color: var(--color-neutral-700);
140
- }
141
-
142
- .btn-quaternary:hover:not(:disabled) {
143
- color: var(--color-brand-700);
144
- }
145
-
146
- /* Active States */
147
- .btn-primary:active:not(:disabled) {
148
- background-color: var(--color-brand-800);
149
- border-color: var(--color-brand-800);
150
- }
151
-
152
- .btn-secondary:active:not(:disabled) {
153
- background-color: var(--color-neutral-100);
154
- border-color: var(--color-neutral-500);
155
- }
156
-
157
- .btn-tertiary:active:not(:disabled) {
158
- background-color: var(--color-neutral-100);
159
- }
160
-
161
- .btn-quaternary:active:not(:disabled) {
162
- color: var(--color-brand-800);
163
- }
164
-
165
- /* Focus State */
166
- .btn:focus,
167
- .btn-focus {
168
- outline: 2px solid var(--color-brand-500);
169
- outline-offset: 2px;
170
- }
171
-
172
- /* Disabled States */
173
- .btn:disabled,
174
- .btn-disabled {
175
- cursor: not-allowed;
176
- pointer-events: none;
177
- }
178
-
179
- .btn-primary:disabled,
180
- .btn-primary.btn-disabled {
181
- background-color: var(--color-neutral-200);
182
- color: var(--color-neutral-400);
183
- border-color: var(--color-neutral-200);
184
- }
185
-
186
- .btn-secondary:disabled,
187
- .btn-secondary.btn-disabled,
188
- .btn-tertiary:disabled,
189
- .btn-tertiary.btn-disabled,
190
- .btn-quaternary:disabled,
191
- .btn-quaternary.btn-disabled {
192
- opacity: 0.5;
193
- }
194
-
195
- /* Loading State */
196
- .btn-loading {
197
- cursor: wait;
198
- pointer-events: none;
199
- }
200
-
201
- .btn-loading .btn-label {
202
- opacity: 0.7;
203
- }
204
-
205
- /* ==========================================================================
206
- BUTTON CONTENT ELEMENTS
207
- ========================================================================== */
208
-
209
- /* Button Label */
210
- .btn-label {
211
- display: inline-block;
212
- line-height: inherit;
213
-
214
- }
215
-
216
- /* Quaternary button labels get underline */
217
- .btn-quaternary .btn-label {
218
- text-decoration: underline;
219
- }
220
-
221
- /* Icons */
222
- .btn-icon {
223
- display: flex;
224
- align-items: center;
225
- justify-content: center;
226
- flex-shrink: 0;
227
- }
228
-
229
- .btn-icon-material {
230
- line-height: 1;
231
- vertical-align: middle;
232
- color: inherit !important;
233
- }
234
-
235
- /* Icon-Only Buttons */
236
- .btn-icon-only {
237
- padding: 0;
238
- }
239
-
240
- .btn-icon-only.btn-xs {
241
- width: 24px;
242
- height: 24px;
243
- }
244
- .btn-icon-only.btn-sm {
245
- width: 32px;
246
- height: 32px;
247
- }
248
- .btn-icon-only.btn-md {
249
- width: 40px;
250
- height: 40px;
251
- }
252
- .btn-icon-only.btn-lg {
253
- width: 48px;
254
- height: 48px;
255
- }
256
-
257
- .btn-icon-only .btn-icon-material {
258
- margin: 0;
259
- }
260
-
261
- /* Loading Spinner */
262
- .btn-loading-icon {
263
- line-height: 1;
264
- vertical-align: middle;
265
- color: inherit;
266
- }
@@ -1,96 +0,0 @@
1
- /* ==========================================================================
2
- CHART TOOLTIP COMPONENT - REACT IMPLEMENTATION
3
- Unified styles for chart tooltips matching Angular functionality
4
- ========================================================================== */
5
-
6
- .chart-tooltip {
7
- position: fixed;
8
- z-index: 10000;
9
- pointer-events: none;
10
- opacity: 0;
11
- transition: opacity 0.15s ease;
12
- transform: translate(-50%, -100%);
13
- margin-top: var(--spacing-sm);
14
- width: max-content;
15
- min-width: 120px;
16
- max-width: 240px;
17
- }
18
-
19
- .chart-tooltip.storybook-mode {
20
- position: absolute;
21
- transform: translate(-50%, -100%);
22
- margin-top: -10px;
23
- }
24
-
25
- .chart-tooltip.visible {
26
- opacity: 1;
27
- }
28
-
29
- .tooltip-content {
30
- background: var(--color-white) !important;
31
- color: var(--color-neutral-900);
32
- padding: var(--spacing-sm) var(--spacing-md);
33
- border-radius: var(--radius-md);
34
- font-family: var(--font-inter);
35
- font-size: var(--text-xs-size);
36
- line-height: var(--text-xs-line);
37
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 0 1px rgba(0, 0, 0, 0.08);
38
- border: 1px solid rgba(0, 0, 0, 0.05);
39
- }
40
-
41
- .tooltip-header {
42
- font-weight: var(--weight-semibold);
43
- margin-bottom: var(--spacing-xs);
44
- padding-bottom: var(--spacing-xs);
45
- border-bottom: 1px solid var(--color-neutral-100);
46
- }
47
-
48
- .tooltip-items {
49
- display: flex;
50
- flex-direction: column;
51
- gap: var(--spacing-xs);
52
- }
53
-
54
- .tooltip-item {
55
- display: flex;
56
- align-items: center;
57
- gap: var(--spacing-sm);
58
- white-space: nowrap;
59
- }
60
-
61
- .tooltip-dot {
62
- width: var(--spacing-sm);
63
- height: var(--spacing-sm);
64
- border-radius: 50%;
65
- flex-shrink: 0;
66
- }
67
-
68
- .tooltip-label {
69
- color: var(--color-neutral-600);
70
- font-weight: var(--weight-regular);
71
- flex-shrink: 0;
72
- }
73
-
74
- .tooltip-value {
75
- color: var(--color-neutral-900);
76
- font-weight: var(--weight-medium);
77
- }
78
-
79
- .tooltip-total {
80
- margin-top: var(--spacing-xs);
81
- padding-top: var(--spacing-xs);
82
- border-top: 1px solid var(--color-neutral-100);
83
- display: flex;
84
- justify-content: space-between;
85
- gap: var(--spacing-md);
86
- }
87
-
88
- .total-label {
89
- color: var(--color-neutral-600);
90
- font-weight: var(--weight-medium);
91
- }
92
-
93
- .total-value {
94
- color: var(--color-neutral-900);
95
- font-weight: var(--weight-semibold);
96
- }
@@ -1,53 +0,0 @@
1
- .checkbox-label-wrapper {
2
- display: flex;
3
- align-items: flex-start;
4
- gap: 8px;
5
- cursor: pointer;
6
- user-select: none;
7
- }
8
-
9
- .checkbox-label-wrapper.checkbox-label-disabled {
10
- cursor: not-allowed;
11
- }
12
-
13
- /* Align checkbox with the label text baseline */
14
- .checkbox-label-wrapper .checkbox {
15
- margin-top: 2px;
16
- }
17
-
18
- .checkbox-label-wrapper .checkbox-sm {
19
- margin-top: 3px;
20
- }
21
-
22
- .label-content {
23
- display: flex;
24
- flex-direction: column;
25
- gap: 2px;
26
- }
27
-
28
- .label-text {
29
- font-family: var(--font-inter);
30
- font-size: var(--text-md-size);
31
- font-weight: var(--weight-medium);
32
- color: var(--color-neutral-900);
33
- margin: 0;
34
- cursor: inherit;
35
- display: block;
36
- }
37
-
38
- .label-text.label-disabled {
39
- color: var(--color-neutral-400);
40
- }
41
-
42
- .supporting-text {
43
- font-family: var(--font-inter);
44
- font-size: var(--text-sm-size);
45
- font-weight: var(--weight-regular);
46
- line-height: var(--text-sm-line);
47
- color: var(--color-neutral-500);
48
- margin: 0;
49
- }
50
-
51
- .supporting-text.supporting-disabled {
52
- color: var(--color-neutral-400);
53
- }
@@ -1,127 +0,0 @@
1
- /* ==========================================================================
2
- CHECKBOX COMPONENT STYLES - Following Figma Design
3
- ========================================================================== */
4
-
5
- .checkbox {
6
- display: inline-flex;
7
- align-items: center;
8
- justify-content: center;
9
- cursor: pointer;
10
- outline: none;
11
- user-select: none;
12
- transition: all 0.2s ease;
13
- box-sizing: border-box;
14
- background: var(--color-white);
15
- border: 2px solid var(--color-neutral-300);
16
- position: relative;
17
- }
18
-
19
- /* Size Variants - Following Figma Specs */
20
- .checkbox-sm {
21
- width: 16px;
22
- height: 16px;
23
- border-radius: var(--radius-xs);
24
- }
25
-
26
- .checkbox-md {
27
- width: 20px;
28
- height: 20px;
29
- border-radius: var(--radius-sm);
30
- }
31
-
32
- /* State: Default (unchecked) */
33
- .checkbox {
34
- border-color: var(--color-neutral-300);
35
- }
36
-
37
- /* State: Checked */
38
- .checkbox.checkbox-checked {
39
- background: var(--color-brand-600);
40
- border-color: var(--color-brand-600);
41
- color: var(--color-white);
42
- }
43
-
44
- /* State: Hover */
45
- .checkbox:hover:not(.checkbox-disabled) {
46
- background: var(--color-neutral-100);
47
- border-color: var(--color-neutral-300);
48
- }
49
-
50
- .checkbox.checkbox-checked:hover:not(.checkbox-disabled) {
51
- background: var(--color-brand-700);
52
- border-color: var(--color-brand-700);
53
- }
54
-
55
- /* State: Focused */
56
- .checkbox.checkbox-focused:not(.checkbox-disabled) {
57
- border-color: var(--color-neutral-300);
58
- box-shadow: 0px 0px 0px 4px var(--color-brand-100),
59
- 0px 0px 0px 2px var(--color-white);
60
- }
61
-
62
- .checkbox.checkbox-checked.checkbox-focused:not(.checkbox-disabled) {
63
- background: var(--color-brand-600);
64
- border-color: var(--color-brand-600);
65
- box-shadow: 0px 0px 0px 4px var(--color-brand-100),
66
- 0px 0px 0px 2px var(--color-white);
67
- }
68
-
69
- /* State: Disabled */
70
- .checkbox.checkbox-disabled {
71
- background: var(--color-neutral-50);
72
- border-color: var(--color-neutral-300);
73
- cursor: not-allowed;
74
- opacity: 1;
75
- }
76
-
77
- .checkbox.checkbox-checked.checkbox-disabled {
78
- background: var(--color-neutral-50);
79
- border: 2px solid var(--color-neutral-300);
80
- color: var(--color-neutral-300);
81
- }
82
-
83
- /* Icons */
84
- .checkbox-icon {
85
- position: absolute;
86
- top: 50%;
87
- left: 50%;
88
- transform: translate(-50%, -50%);
89
- font-size: var(--icon-size-md);
90
- line-height: 1;
91
- font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 20;
92
- }
93
-
94
- .checkbox .check-icon {
95
- color: var(--color-white) !important;
96
- }
97
-
98
- .checkbox-disabled .check-icon {
99
- color: var(--color-neutral-300) !important;
100
- }
101
-
102
- .checkbox .minus-icon {
103
- color: var(--color-white) !important;
104
- }
105
-
106
- .checkbox-disabled .minus-icon {
107
- color: var(--color-neutral-300) !important;
108
- }
109
-
110
- /* Adjust icon sizes for different checkbox sizes */
111
- .checkbox-sm .checkbox-icon {
112
- font-size: var(--icon-size-xs);
113
- }
114
-
115
- .checkbox-md .checkbox-icon {
116
- font-size: var(--icon-size-md);
117
- }
118
-
119
- /* Focus outline for accessibility */
120
- .checkbox:focus {
121
- outline: none;
122
- }
123
-
124
- .checkbox:focus:not(.checkbox-disabled) {
125
- box-shadow: 0px 0px 0px 4px var(--color-brand-100),
126
- 0px 0px 0px 2px var(--color-white);
127
- }
@@ -1,22 +0,0 @@
1
- /* Base Container Footer Styles */
2
- .container-footer {
3
- background: var(--color-white);
4
- border: 1px solid var(--color-neutral-200);
5
- border-top: 1px solid var(--color-neutral-200);
6
- border-radius: var(--radius-none) var(--radius-none) var(--radius-xl)
7
- var(--radius-xl);
8
- box-sizing: border-box;
9
- width: 100%;
10
- }
11
-
12
- .container-footer-content {
13
- display: flex;
14
- justify-content: flex-end;
15
- align-items: center;
16
- padding: var(--spacing-md) var(--spacing-2xl);
17
- }
18
-
19
- /* Minimal size - smaller top/bottom padding */
20
- .container-footer-minimal .container-footer-content {
21
- padding: var(--spacing-sm) var(--spacing-2xl);
22
- }
@@ -1,17 +0,0 @@
1
- .container {
2
- display: flex;
3
- flex-direction: column;
4
- gap: var(--spacing-2xl);
5
- padding: var(--spacing-2xl);
6
- background: var(--color-white);
7
- border: 1px solid var(--color-neutral-200);
8
- border-radius: var(--radius-xl);
9
- width: fit-content;
10
- font-family: var(--font-inter);
11
- }
12
-
13
- /* Container with footer - removes bottom border radius and border */
14
- .container-with-footer {
15
- border-bottom: none;
16
- border-radius: var(--radius-xl) var(--radius-xl) var(--radius-none) var(--radius-none);
17
- }