@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,85 @@
1
+ /* ==========================================================================
2
+ TOOLTIP COMPONENT
3
+ Shared styles for all frameworks
4
+ ========================================================================== */
5
+
6
+ .tooltip {
7
+ position: absolute;
8
+ z-index: 10000;
9
+ pointer-events: none;
10
+ opacity: 0;
11
+ transition: opacity 0.2s ease-in-out;
12
+ white-space: nowrap;
13
+ }
14
+
15
+ .tooltip-visible {
16
+ opacity: 1;
17
+ }
18
+
19
+ .tooltip-content {
20
+ background-color: var(--color-neutral-900);
21
+ color: var(--color-white);
22
+ font-family: var(--font-inter);
23
+ font-weight: var(--weight-semibold);
24
+ font-size: 12px;
25
+ line-height: 1.5em;
26
+ padding: 8px 12px;
27
+ border-radius: 8px;
28
+ box-shadow: var(--shadow-popover);
29
+ position: relative;
30
+ }
31
+
32
+ /* Position variants */
33
+ .tooltip-top {
34
+ bottom: 100%;
35
+ left: 50%;
36
+ transform: translateX(-50%);
37
+ margin-bottom: 6px;
38
+ }
39
+
40
+ .tooltip-bottom {
41
+ top: 100%;
42
+ left: 50%;
43
+ transform: translateX(-50%);
44
+ margin-top: 6px;
45
+ }
46
+
47
+ .tooltip-left {
48
+ right: 100%;
49
+ top: 50%;
50
+ transform: translateY(-50%);
51
+ margin-right: 6px;
52
+ }
53
+
54
+ .tooltip-right {
55
+ left: 100%;
56
+ top: 50%;
57
+ transform: translateY(-50%);
58
+ margin-left: 6px;
59
+ }
60
+
61
+ /* Multiline support */
62
+ .tooltip.multiline {
63
+ white-space: normal;
64
+ }
65
+
66
+ .tooltip.multiline .tooltip-content {
67
+ max-width: 240px;
68
+ }
69
+
70
+ /* Icon variant - positioning adjustments for tooltips on icons */
71
+ .tooltip-icon.tooltip-top {
72
+ margin-bottom: 4px;
73
+ }
74
+
75
+ .tooltip-icon.tooltip-bottom {
76
+ margin-top: 4px;
77
+ }
78
+
79
+ .tooltip-icon.tooltip-left {
80
+ margin-right: 4px;
81
+ }
82
+
83
+ .tooltip-icon.tooltip-right {
84
+ margin-left: 4px;
85
+ }
@@ -0,0 +1,189 @@
1
+ /* ==========================================================================
2
+ TREND CHART CARD COMPONENT - REACT IMPLEMENTATION
3
+ Card wrapper for trend charts with metrics, icons, and various layouts
4
+ ========================================================================== */
5
+
6
+ /* Wrapper for card + footer */
7
+ .trend-chart-card-wrapper {
8
+ position: relative;
9
+ display: inline-block;
10
+ border-radius: 12px;
11
+ overflow: visible;
12
+ }
13
+
14
+ /* Base Card Styles */
15
+ .trend-chart-card {
16
+ position: relative;
17
+ display: flex;
18
+ flex-direction: column;
19
+ gap: 8px;
20
+ font-family: var(--font-inter);
21
+ background: var(--color-white);
22
+ border: 1px solid var(--color-neutral-200);
23
+ border-radius: 12px;
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ /* Card with footer - remove bottom border radius */
28
+ .trend-chart-card.has-footer {
29
+ border-bottom-left-radius: 0;
30
+ border-bottom-right-radius: 0;
31
+ border-bottom: none;
32
+ }
33
+
34
+ /* Header for metric and simple variants */
35
+ .trend-chart-card-header {
36
+ display: flex;
37
+ justify-content: space-between;
38
+ align-items: center;
39
+ width: 100%;
40
+ gap: var(--spacing-md);
41
+ margin-bottom: var(--spacing-sm);
42
+ }
43
+
44
+ .trend-chart-card-header .trend-chart-card-dropdown {
45
+ position: relative;
46
+ top: unset;
47
+ right: unset;
48
+ z-index: var(--z-index-dropdown, 1000);
49
+ flex-shrink: 0;
50
+ }
51
+
52
+ /* Dropdown Menu for non-metric variants */
53
+ .trend-chart-card-dropdown {
54
+ position: absolute;
55
+ top: 20px;
56
+ right: 20px;
57
+ z-index: 1000;
58
+ }
59
+
60
+ /* Adjust dropdown position for mobile */
61
+ .trend-chart-card-mobile.trend-chart-card-metric .trend-chart-card-dropdown {
62
+ top: 12px;
63
+ right: 12px;
64
+ }
65
+
66
+ .trend-chart-card-mobile.trend-chart-card-simple .trend-chart-card-dropdown,
67
+ .trend-chart-card-mobile.trend-chart-card-simple-chart .trend-chart-card-dropdown {
68
+ top: 16px;
69
+ right: 16px;
70
+ }
71
+
72
+ /* Heading */
73
+ .trend-chart-card-heading {
74
+ font-weight: 500;
75
+ font-size: 14px;
76
+ line-height: 1.43;
77
+ color: var(--color-neutral-600);
78
+ margin: 0;
79
+ }
80
+
81
+ /* Row for number and chart */
82
+ .trend-chart-card-row {
83
+ display: flex;
84
+ align-items: flex-end;
85
+ gap: 16px;
86
+ }
87
+
88
+ /* Trend icon */
89
+ .trend-icon {
90
+ display: flex;
91
+ align-items: center;
92
+ }
93
+
94
+ .trend-icon .material-symbols-outlined {
95
+ font-size: var(--icon-size-md);
96
+ font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
97
+ }
98
+
99
+ .trend-icon-positive {
100
+ color: var(--color-success-600) !important;
101
+ }
102
+
103
+ .trend-icon-negative {
104
+ color: var(--color-error-600) !important;
105
+ }
106
+
107
+ .trend-icon-neutral {
108
+ color: var(--color-neutral-600) !important;
109
+ }
110
+
111
+ /* Force color on the material icons specifically */
112
+ .trend-icon-positive .material-symbols-outlined {
113
+ color: var(--color-success-600) !important;
114
+ }
115
+
116
+ .trend-icon-negative .material-symbols-outlined {
117
+ color: var(--color-error-600) !important;
118
+ }
119
+
120
+ .trend-icon-neutral .material-symbols-outlined {
121
+ color: var(--color-neutral-600) !important;
122
+ }
123
+
124
+ /* Custom trend badge */
125
+ .trend-chart-card-badge-wrap {
126
+ padding-bottom: 4px;
127
+ }
128
+
129
+ /* Number wrapper for inline trend */
130
+ .trend-chart-card-number-wrap {
131
+ flex: 1;
132
+ display: flex;
133
+ align-items: center;
134
+ gap: var(--spacing-sm);
135
+ }
136
+
137
+ /* Number Styles - Desktop */
138
+ .trend-chart-card-desktop .trend-chart-card-number {
139
+ font-weight: var(--weight-semibold);
140
+ font-size: var(--display-sm-size);
141
+ line-height: 2.375rem; /* 38px */
142
+ color: var(--color-neutral-900);
143
+ margin: 0;
144
+ }
145
+
146
+ /* Number Styles - Mobile */
147
+ .trend-chart-card-mobile .trend-chart-card-number {
148
+ font-weight: var(--weight-semibold);
149
+ font-size: var(--display-xs-size);
150
+ line-height: 2rem; /* 32px */
151
+ color: var(--color-neutral-900);
152
+ margin: 0;
153
+ }
154
+
155
+ /* Inline badge (when chart is shown) */
156
+ .trend-chart-card-badge-inline {
157
+ /* No margin needed - positioned by parent flex */
158
+ }
159
+
160
+ /* Featured Icon */
161
+ .trend-chart-card-icon {
162
+ margin-bottom: 8px;
163
+ }
164
+
165
+ /* Responsive Dimensions - Desktop */
166
+ .trend-chart-card-desktop.trend-chart-card-metric {
167
+ width: 200px;
168
+ padding: 20px;
169
+ }
170
+
171
+ .trend-chart-card-desktop.trend-chart-card-simple,
172
+ .trend-chart-card-desktop.trend-chart-card-simple-chart,
173
+ .trend-chart-card-desktop.trend-chart-card-featured-icon {
174
+ width: 388px;
175
+ padding: 24px;
176
+ }
177
+
178
+ /* Responsive Dimensions - Mobile */
179
+ .trend-chart-card-mobile.trend-chart-card-metric {
180
+ width: 171.5px;
181
+ padding: 12px;
182
+ }
183
+
184
+ .trend-chart-card-mobile.trend-chart-card-simple,
185
+ .trend-chart-card-mobile.trend-chart-card-simple-chart,
186
+ .trend-chart-card-mobile.trend-chart-card-featured-icon {
187
+ width: 343px;
188
+ padding: 20px 16px;
189
+ }
@@ -0,0 +1,94 @@
1
+ /* ==========================================================================
2
+ TREND CHART COMPONENT - REACT IMPLEMENTATION
3
+ Mini trend chart with line and fill variations, smooth animations
4
+ ========================================================================== */
5
+
6
+ .trend-chart {
7
+ position: relative;
8
+ display: inline-block;
9
+ width: fit-content;
10
+ height: fit-content;
11
+ }
12
+
13
+ /* Chart SVG container */
14
+ .chart-svg {
15
+ overflow: visible;
16
+ }
17
+
18
+ /* Smooth Airbnb-style reveal animations */
19
+ @keyframes chartFadeIn {
20
+ from {
21
+ opacity: 0;
22
+ transform: translateY(10px) scale(0.95);
23
+ }
24
+ to {
25
+ opacity: 1;
26
+ transform: translateY(0) scale(1);
27
+ }
28
+ }
29
+
30
+ @keyframes backgroundFill {
31
+ from {
32
+ opacity: 0;
33
+ transform: scaleY(0);
34
+ }
35
+ to {
36
+ opacity: 1;
37
+ transform: scaleY(1);
38
+ }
39
+ }
40
+
41
+ /* Animation timing */
42
+ .trend-chart-animated {
43
+ animation: chartFadeIn 0.6s var(--animation-ease-smooth) forwards;
44
+ }
45
+
46
+ .trend-chart-animated .chart-line {
47
+ stroke-dasharray: 1000;
48
+ stroke-dashoffset: 1000;
49
+ animation: pathDraw 1.2s var(--animation-ease-smooth) 0.3s forwards;
50
+ }
51
+
52
+ @keyframes pathDraw {
53
+ to {
54
+ stroke-dashoffset: 0;
55
+ }
56
+ }
57
+
58
+ .trend-chart-animated .chart-background {
59
+ transform-origin: bottom;
60
+ animation: backgroundFill 0.8s var(--animation-ease-smooth) 0.3s forwards;
61
+ opacity: 0;
62
+ }
63
+
64
+ /* Line-only variant - slower animation */
65
+ .trend-chart-animated.trend-chart-line-only .chart-line {
66
+ animation: pathDrawSlow 4s var(--animation-ease-smooth) 0.3s forwards;
67
+ }
68
+
69
+ @keyframes pathDrawSlow {
70
+ to {
71
+ stroke-dashoffset: 0;
72
+ }
73
+ }
74
+
75
+ /* Static styles for non-animated */
76
+ .trend-chart:not(.trend-chart-animated) .chart-line {
77
+ stroke-dasharray: none;
78
+ }
79
+
80
+ .trend-chart:not(.trend-chart-animated) .chart-background {
81
+ opacity: 1;
82
+ }
83
+
84
+ /* Responsive behavior */
85
+ @media (prefers-reduced-motion: reduce) {
86
+ .trend-chart-animated,
87
+ .trend-chart-animated .chart-line,
88
+ .trend-chart-animated .chart-background {
89
+ animation: none;
90
+ opacity: 1;
91
+ transform: none;
92
+ stroke-dasharray: none;
93
+ }
94
+ }