@actabldesign/bellhop-styles 0.0.3

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 (54) hide show
  1. package/README.md +185 -0
  2. package/base/normalize.css +101 -0
  3. package/components/appbar.css +167 -0
  4. package/components/autocomplete-menu.css +142 -0
  5. package/components/avatar-add.css +112 -0
  6. package/components/avatar.css +253 -0
  7. package/components/badge-dot.css +78 -0
  8. package/components/badge.css +337 -0
  9. package/components/bar-chart-card.css +261 -0
  10. package/components/bar-chart.css +149 -0
  11. package/components/breadcrumbs.css +136 -0
  12. package/components/button.css +266 -0
  13. package/components/chart-tooltip.css +96 -0
  14. package/components/checkbox-label.css +53 -0
  15. package/components/checkbox.css +127 -0
  16. package/components/container-footer.css +22 -0
  17. package/components/container.css +17 -0
  18. package/components/date-picker-content.css +337 -0
  19. package/components/date-picker.css +103 -0
  20. package/components/date-range-picker-content.css +85 -0
  21. package/components/date-range-picker.css +72 -0
  22. package/components/dropdown-menu.css +204 -0
  23. package/components/dropdown.css +126 -0
  24. package/components/empty-state.css +83 -0
  25. package/components/featured-icon.css +194 -0
  26. package/components/illustrations.css +120 -0
  27. package/components/input-autocomplete.css +158 -0
  28. package/components/input-number.css +2 -0
  29. package/components/input-verification.css +137 -0
  30. package/components/input.css +374 -0
  31. package/components/loader-spinner.css +421 -0
  32. package/components/logo-box.css +85 -0
  33. package/components/month-picker-content.css +190 -0
  34. package/components/month-picker.css +83 -0
  35. package/components/nav-item.css +110 -0
  36. package/components/notification.css +262 -0
  37. package/components/page-navigation.css +294 -0
  38. package/components/picker-menu.css +43 -0
  39. package/components/pie-chart-card.css +213 -0
  40. package/components/pie-chart.css +80 -0
  41. package/components/product-switcher.css +127 -0
  42. package/components/property-switcher.css +95 -0
  43. package/components/radio-button-label.css +53 -0
  44. package/components/radio-button.css +134 -0
  45. package/components/sidebar.css +178 -0
  46. package/components/skeleton-loader.css +47 -0
  47. package/components/tag.css +214 -0
  48. package/components/textarea.css +211 -0
  49. package/components/toggle.css +298 -0
  50. package/components/tooltip.css +85 -0
  51. package/components/trend-chart-card.css +189 -0
  52. package/components/trend-chart.css +94 -0
  53. package/index.css +8115 -0
  54. package/package.json +32 -0
@@ -0,0 +1,261 @@
1
+ /* ==========================================================================
2
+ BAR CHART CARD COMPONENT - REACT IMPLEMENTATION
3
+ Unified styles for bar chart cards matching Angular functionality
4
+ ========================================================================== */
5
+
6
+ /* Wrapper for card + footer */
7
+ .bar-chart-card-wrapper {
8
+ position: relative;
9
+ display: inline-block;
10
+ border-radius: var(--radius-lg, 12px);
11
+ overflow: visible;
12
+ }
13
+
14
+ /* Base Card Styles */
15
+ .bar-chart-card {
16
+ position: relative;
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: var(--spacing-2xl, 20px); /* 20px */
20
+ font-family: var(--font-inter);
21
+ background: var(--color-white);
22
+ border: 1px solid var(--color-neutral-200);
23
+ border-radius: var(--radius-lg, 12px);
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ /* Card with footer - remove bottom border radius */
28
+ .bar-chart-card.has-footer {
29
+ border-bottom-left-radius: 0;
30
+ border-bottom-right-radius: 0;
31
+ border-bottom: none;
32
+ }
33
+
34
+ /* Dropdown Menu */
35
+ .bar-chart-card-dropdown {
36
+ position: absolute;
37
+ top: var(--spacing-3xl, 24px); /* 24px */
38
+ right: var(--spacing-3xl, 24px); /* 24px */
39
+ z-index: 1000;
40
+ }
41
+
42
+ /* Adjust dropdown position for mobile */
43
+ .bar-chart-card-mobile .bar-chart-card-dropdown {
44
+ top: var(--spacing-2xl, 20px); /* 20px */
45
+ right: var(--spacing-xl, 16px); /* 16px */
46
+ }
47
+
48
+ /* Header */
49
+ .bar-chart-card-header {
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: var(--spacing-xs, 4px); /* 4px */
53
+ }
54
+
55
+ .bar-chart-card-heading {
56
+ color: var(--color-neutral-900);
57
+ font-size: var(--text-md-size); /* 16px */
58
+ font-weight: var(--weight-semibold);
59
+ line-height: var(--text-md-line);
60
+ margin: 0;
61
+ }
62
+
63
+ .bar-chart-card-subtitle {
64
+ color: var(--color-neutral-500);
65
+ font-size: var(--text-sm-size); /* 14px */
66
+ font-weight: var(--weight-regular);
67
+ line-height: var(--text-sm-line);
68
+ margin: 0;
69
+ }
70
+
71
+ /* Number and badge row */
72
+ .bar-chart-card-row {
73
+ display: flex;
74
+ align-items: center;
75
+ gap: var(--spacing-lg, 12px); /* 12px */
76
+ flex-wrap: wrap;
77
+ margin-top: var(--spacing-xl, 16px); /* 16px */
78
+ }
79
+
80
+ /* Number Styles - Desktop */
81
+ .bar-chart-card-desktop .bar-chart-card-number {
82
+ font-weight: var(--weight-semibold);
83
+ font-size: var(--display-sm-size);
84
+ line-height: var(--display-sm-line);
85
+ color: var(--color-neutral-900);
86
+ margin: 0;
87
+ }
88
+
89
+ /* Number Styles - Mobile */
90
+ .bar-chart-card-mobile .bar-chart-card-number {
91
+ font-weight: var(--weight-semibold);
92
+ font-size: var(--display-xs-size);
93
+ line-height: var(--display-xs-line);
94
+ color: var(--color-neutral-900);
95
+ margin: 0;
96
+ }
97
+
98
+ /* Badge */
99
+ .bar-chart-card-badge {
100
+ color: var(--color-neutral-500);
101
+ font-size: var(--text-md-size); /* 16px */
102
+ font-weight: var(--weight-medium);
103
+ line-height: var(--text-md-line);
104
+ }
105
+
106
+ /* Chart Content */
107
+ .bar-chart-card-content {
108
+ display: flex;
109
+ flex-direction: column;
110
+ gap: var(--spacing-2xl);
111
+ min-width: 400px;
112
+ }
113
+
114
+ /* Legend */
115
+ .bar-chart-card-legend {
116
+ display: flex;
117
+ gap: var(--spacing-lg, 12px); /* 12px */
118
+ flex-wrap: wrap;
119
+ }
120
+
121
+ .legend-item {
122
+ display: flex;
123
+ align-items: center;
124
+ gap: var(--spacing-sm, 6px); /* 6px */
125
+ }
126
+
127
+ .legend-color {
128
+ width: 8px;
129
+ height: 8px;
130
+ border-radius: 50%;
131
+ }
132
+
133
+ .legend-text {
134
+ color: var(--color-neutral-500);
135
+ font-size: var(--text-sm-size); /* 14px */
136
+ font-weight: var(--weight-regular);
137
+ line-height: var(--text-sm-line);
138
+ letter-spacing: -0.5px;
139
+ }
140
+
141
+ /* Chart Container with Axes */
142
+ .bar-chart-card-chart-container {
143
+ display: flex;
144
+ gap: var(--spacing-sm, 6px);
145
+ width: 100%;
146
+ }
147
+
148
+ /* Y-Axis Container */
149
+ .y-axis-container {
150
+ display: flex;
151
+ flex-direction: column;
152
+ align-items: flex-end;
153
+ min-width: var(--spacing-4xl);
154
+ }
155
+
156
+ .y-axis-labels {
157
+ display: flex;
158
+ flex-direction: column;
159
+ justify-content: space-between;
160
+ height: 180px;
161
+ text-align: right;
162
+ padding-right: var(--spacing-xs, 4px);
163
+ }
164
+
165
+ .y-axis-tick-label {
166
+ font-size: var(--text-xs-size);
167
+ color: var(--color-neutral-500);
168
+ line-height: var(--text-xs-line);
169
+ }
170
+
171
+ /* Chart Grid Container */
172
+ .chart-grid-container {
173
+ position: relative;
174
+ display: flex;
175
+ flex-direction: column;
176
+ flex: 1;
177
+ width: 100%;
178
+ }
179
+
180
+ /* Grid Lines */
181
+ .grid-lines {
182
+ position: absolute;
183
+ top: 0;
184
+ left: 0;
185
+ right: 0;
186
+ height: 180px;
187
+ display: flex;
188
+ flex-direction: column;
189
+ justify-content: space-between;
190
+ pointer-events: none;
191
+ z-index: 1;
192
+ }
193
+
194
+ .grid-line {
195
+ width: 100%;
196
+ height: 1px;
197
+ background-color: var(--color-neutral-200);
198
+ }
199
+
200
+ /* Chart Content */
201
+ .chart-content {
202
+ height: 180px;
203
+ width: 100%;
204
+ position: relative;
205
+ z-index: 2;
206
+ }
207
+
208
+ /* Target Line */
209
+ .target-line {
210
+ position: absolute;
211
+ left: 0;
212
+ right: 0;
213
+ height: 0;
214
+ border-top-width: 1px;
215
+ border-top-style: solid;
216
+ border-top-color: var(--color-neutral-900);
217
+ z-index: 3;
218
+ transition: bottom 0.3s ease;
219
+ }
220
+
221
+ /* X-Axis Container */
222
+ .x-axis-container {
223
+ margin-top: var(--spacing-sm, 6px);
224
+ }
225
+
226
+ .x-axis-labels {
227
+ display: flex;
228
+ justify-content: space-between;
229
+ align-items: center;
230
+ }
231
+
232
+ .x-axis-tick-label {
233
+ font-size: var(--text-xs-size);
234
+ color: var(--color-neutral-500);
235
+ line-height: var(--text-xs-line);
236
+ text-align: center;
237
+ white-space: nowrap;
238
+ flex: 1;
239
+ }
240
+
241
+ /* Simple Chart Container */
242
+ .simple-chart-container {
243
+ width: 100%;
244
+ height: 180px;
245
+ }
246
+
247
+ /* Responsive Dimensions - Desktop */
248
+ .bar-chart-card-desktop {
249
+ min-width: 520px;
250
+ max-width: 800px;
251
+ width: fit-content;
252
+ padding: var(--spacing-3xl); /* 24px */
253
+ }
254
+
255
+ /* Responsive Dimensions - Mobile */
256
+ .bar-chart-card-mobile {
257
+ min-width: 340px;
258
+ max-width: 800px;
259
+ width: fit-content;
260
+ padding: var(--spacing-2xl); /* 20px */
261
+ }
@@ -0,0 +1,149 @@
1
+ /* ==========================================================================
2
+ BAR CHART COMPONENT - REACT IMPLEMENTATION
3
+ Unified styles for bar charts matching Angular functionality
4
+ ========================================================================== */
5
+
6
+ /* Vertical Layout */
7
+ .vertical-container {
8
+ display: flex;
9
+ align-items: flex-end;
10
+ height: 180px;
11
+ width: 100%;
12
+ }
13
+
14
+ .vertical-container.simple {
15
+ height: 180px;
16
+ width: 100%;
17
+ }
18
+
19
+ .bar-column.vertical {
20
+ display: flex;
21
+ flex-direction: column;
22
+ align-items: center;
23
+ justify-content: flex-end;
24
+ height: 100%;
25
+ flex: 1;
26
+ gap: var(--spacing-xxs, 2px);
27
+ margin: 0 2px;
28
+ border-radius: 4px;
29
+ transition: background-color 0.2s ease;
30
+ }
31
+
32
+ .vertical-container.simple .bar-column.vertical {
33
+ flex: 1;
34
+ margin: 0 2px;
35
+ }
36
+
37
+ .bar-segment.vertical {
38
+ width: 6px;
39
+ border-radius: 2px;
40
+ min-height: 2px;
41
+ transition: all 0.3s ease;
42
+ transform-origin: bottom;
43
+ }
44
+
45
+ /* Horizontal Layout */
46
+ .horizontal-container {
47
+ display: flex;
48
+ flex-direction: column;
49
+ justify-content: space-between;
50
+ height: auto;
51
+ min-height: 140px;
52
+ gap: var(--spacing-lg, 12px);
53
+ }
54
+
55
+ .horizontal-container.simple {
56
+ height: auto;
57
+ min-height: 140px;
58
+ gap: var(--spacing-lg, 12px);
59
+ }
60
+
61
+ .bar-row.horizontal {
62
+ display: flex;
63
+ align-items: center;
64
+ width: 100%;
65
+ height: 6px !important;
66
+ min-height: 6px;
67
+ max-height: 6px;
68
+ gap: var(--spacing-xxs, 2px);
69
+ margin: 2px 0;
70
+ border-radius: 4px;
71
+ transition: background-color 0.2s ease;
72
+ padding: 2px;
73
+ }
74
+
75
+ .horizontal-container.simple .bar-row.horizontal {
76
+ height: 6px !important;
77
+ min-height: 6px;
78
+ max-height: 6px;
79
+ margin: 2px 0;
80
+ padding: 2px;
81
+ }
82
+
83
+ .bar-segment.horizontal {
84
+ height: 100% !important;
85
+ min-height: 6px;
86
+ max-height: 6px;
87
+ border-radius: 2px;
88
+ min-width: 2px;
89
+ transition: all 0.3s ease;
90
+ transform-origin: left;
91
+ }
92
+
93
+ .horizontal-container.simple .bar-segment.horizontal {
94
+ min-width: 2px;
95
+ height: 6px !important;
96
+ min-height: 6px;
97
+ max-height: 6px;
98
+ }
99
+
100
+ /* Hover effects */
101
+ .bar-column,
102
+ .bar-row {
103
+ cursor: pointer;
104
+ }
105
+
106
+ .bar-column:hover {
107
+ background-color: color-mix(in srgb, var(--color-neutral-100) 50%, transparent);
108
+ }
109
+
110
+ .bar-row:hover {
111
+ background-color: color-mix(in srgb, var(--color-neutral-100) 50%, transparent);
112
+ }
113
+
114
+ .bar-column:hover .bar-segment,
115
+ .bar-row:hover .bar-segment {
116
+ opacity: 0.9;
117
+ filter: brightness(1.05);
118
+ }
119
+
120
+ /* Animations */
121
+ .bar-chart-animated .bar-segment.vertical {
122
+ animation: barGrowVertical 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;
123
+ }
124
+
125
+ .bar-chart-animated .bar-segment.horizontal {
126
+ animation: barGrowHorizontal 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;
127
+ }
128
+
129
+ @keyframes barGrowVertical {
130
+ from {
131
+ transform: scaleY(0);
132
+ opacity: 0;
133
+ }
134
+ to {
135
+ transform: scaleY(1);
136
+ opacity: 1;
137
+ }
138
+ }
139
+
140
+ @keyframes barGrowHorizontal {
141
+ from {
142
+ transform: scaleX(0);
143
+ opacity: 0;
144
+ }
145
+ to {
146
+ transform: scaleX(1);
147
+ opacity: 1;
148
+ }
149
+ }
@@ -0,0 +1,136 @@
1
+ /* Breadcrumbs Navigation - Matching Figma Design */
2
+ .breadcrumbs {
3
+ font-family: var(--font-inter);
4
+ user-select: none;
5
+ -webkit-user-select: none;
6
+ -moz-user-select: none;
7
+ -ms-user-select: none;
8
+ }
9
+
10
+ .breadcrumbs-container {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: var(--spacing-xs);
14
+ flex-wrap: wrap;
15
+ }
16
+
17
+ .breadcrumb-item {
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+
22
+ /* Breadcrumb Buttons - Matching Figma Design */
23
+ .breadcrumb-button {
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+ padding: var(--spacing-xs) var(--spacing-sm);
28
+ border: none;
29
+ background: transparent;
30
+ border-radius: 6px;
31
+ cursor: pointer;
32
+ transition: all 0.15s ease;
33
+ color: var(--color-neutral-600);
34
+ text-decoration: none;
35
+ font-family: var(--font-inter);
36
+ font-size: var(--text-sm-size);
37
+ font-weight: 500;
38
+ line-height: 1.4285714285714286em;
39
+ min-height: 24px;
40
+ box-sizing: border-box;
41
+ }
42
+
43
+ .breadcrumb-button:hover {
44
+ background-color: var(--color-neutral-50);
45
+ color: var(--color-neutral-900);
46
+ }
47
+
48
+ .breadcrumb-button:focus-visible {
49
+ outline: 2px solid var(--color-brand-500);
50
+ outline-offset: 2px;
51
+ }
52
+
53
+ /* Home button styling */
54
+ .breadcrumb-home {
55
+ padding: var(--spacing-xs);
56
+ min-width: 24px;
57
+ min-height: 24px;
58
+ }
59
+
60
+ /* Current/Active breadcrumb item - Matching Figma highlighted state */
61
+ .breadcrumb-current {
62
+ background-color: var(--color-neutral-50);
63
+ color: var(--color-neutral-800);
64
+ font-weight: 500;
65
+ cursor: default;
66
+ }
67
+
68
+ .breadcrumb-current:hover {
69
+ background-color: var(--color-neutral-50);
70
+ color: var(--color-neutral-800);
71
+ }
72
+
73
+ /* Ellipsis button */
74
+ .breadcrumb-ellipsis {
75
+ color: var(--color-neutral-600);
76
+ font-weight: 500;
77
+ }
78
+
79
+ .breadcrumb-ellipsis:hover {
80
+ background-color: var(--color-neutral-50);
81
+ color: var(--color-neutral-900);
82
+ }
83
+
84
+ /* Breadcrumb text */
85
+ .breadcrumb-text {
86
+ white-space: nowrap;
87
+ max-width: 200px;
88
+ overflow: hidden;
89
+ text-overflow: ellipsis;
90
+ }
91
+
92
+ /* Breadcrumb icons */
93
+ .breadcrumb-icon {
94
+ flex-shrink: 0;
95
+ font-size: var(--icon-size-md);
96
+ width: var(--icon-size-md);
97
+ height: var(--icon-size-md);
98
+ color: var(--color-neutral-600);
99
+ }
100
+
101
+ .breadcrumb-home .breadcrumb-icon {
102
+ font-size: var(--icon-size-md);
103
+ width: var(--icon-size-md);
104
+ height: var(--icon-size-md);
105
+ }
106
+
107
+ /* Separators - Matching Figma chevron color */
108
+ .breadcrumb-separator {
109
+ display: flex;
110
+ align-items: center;
111
+ color: var(--color-neutral-300);
112
+ font-size: var(--icon-size-md);
113
+ flex-shrink: 0;
114
+ }
115
+
116
+ .breadcrumb-separator .material-symbols-outlined {
117
+ font-size: var(--icon-size-md);
118
+ width: var(--icon-size-md);
119
+ height: var(--icon-size-md);
120
+ }
121
+
122
+ /* Responsive behavior */
123
+ @media (max-width: 640px) {
124
+ .breadcrumb-text {
125
+ max-width: 120px;
126
+ }
127
+
128
+ .breadcrumbs-container {
129
+ gap: var(--spacing-xxs);
130
+ }
131
+
132
+ .breadcrumb-button {
133
+ padding: var(--spacing-xxs) var(--spacing-xs);
134
+ font-size: 12px;
135
+ }
136
+ }