@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
@@ -0,0 +1,59 @@
1
+ ## Base colors palette
2
+ Semantic colors values and base colors palette.
3
+
4
+ In the semantic palette, which defines colors based on how they are used, each and every semantic color points to color from a base palette. It means that all our semantic colors refer to this base palette.
5
+
6
+ ## Primary colors
7
+ These are the main neutral, brand and feedback colors that make up the majority of the colors used in the design system and components.
8
+
9
+ ### Base
10
+ These are base black and white color styles to quickly swap out if you need to.
11
+ ### Neutral
12
+ Gray is a neutral color and is the foundation of the color system. Almost everything in UI design — text, form fields, backgrounds, dividers — are usually gray. Maps from gray-cool
13
+ ### Brand
14
+ The brand color is your "primary" color, and is used across all interactive elements such as buttons, links, inputs, etc. It can define the overall feel and can elicit emotion. Uses Indigo color.Brand colors are defined based on Actabl's Brand Guidelines. Maps from indigo
15
+ ### Accent
16
+ The accent color is used to accentuate and complement the primary colors. Uses Guava color.Brand colors are defined based on Actabl's Brand Guidelines. Maps from guava.
17
+
18
+ ## Support colors
19
+
20
+ ### Error - feedback
21
+ Error colors are used across error states and in "destructive" actions. They communicate a destructive/negative action, such as removing a user from your team. Maps from red
22
+ ### Warning - feedback
23
+ Warning colors can communicate that an action is potentially destructive or "on-hold". These colors are commonly used in confirmations to grab the users' attention. Maps from red
24
+ ### Success - feedback
25
+ Success colors communicate a positive action, positive trend, or a successful confirmation. If you're using green as your primary color, it can be helpful to introduce a different hue for your success green.
26
+
27
+ ## Extended colors
28
+ Along with primary colors, it's helpful to have a selection of secondary colors to use in components such as pills, alerts and labels. These secondary colors should be used sparingly or as accents, while the primary color(s) should take precedence.
29
+
30
+ ### Gray cool
31
+ Can be swapped with the default neutral color.
32
+ ### Lime
33
+ Can be swapped with the default success color.
34
+ ### Teal
35
+ Can be swapped with the default success color.
36
+ ### Blue
37
+ ### Indigo
38
+ ### Purple
39
+ ### Purple Lavender
40
+ ### Pink
41
+ ### Guava / Rose
42
+ ### Orange
43
+ Can be swapped with the default warning color.
44
+ ### Yellow
45
+ Can be swapped with the default warning color.
46
+
47
+ ## DataViz colors
48
+ #5068DD
49
+ #A05DA8
50
+ #5D6B98
51
+ #E26E76
52
+ #7498FB
53
+ #BB81BA
54
+ #7D89B0
55
+ #E38C91
56
+ #8DAAFC
57
+ #CFA5CE
58
+ #B9C0D4
59
+ #E9AAAE
@@ -0,0 +1,17 @@
1
+ /* ==========================================================================
2
+ BELLHOP DESIGN TOKENS
3
+ Shared design system tokens for all frameworks
4
+ ========================================================================== */
5
+
6
+ /* Import all design token files */
7
+ @import './bellhop-primary-colors.css';
8
+ @import './bellhop-secondary-colors.css';
9
+ @import './bellhop-typography.css';
10
+ @import './bellhop-spacing.css';
11
+ @import './bellhop-radius.css';
12
+ @import './bellhop-shadows.css';
13
+ @import './bellhop-animations.css';
14
+ @import './bellhop-layout.css';
15
+ @import './bellhop-icons.css';
16
+ @import './bellhop-global.css';
17
+ @import './bellhop-styles.css';
@@ -1,167 +0,0 @@
1
- .appbar {
2
- display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
- height: 56px;
6
- padding: 0 var(--spacing-sm);
7
- background-color: var(--color-white);
8
- border-bottom: 1px solid var(--color-neutral-200);
9
- font-family: var(--font-inter);
10
- position: sticky;
11
- top: 0;
12
- z-index: 1000;
13
- box-sizing: border-box;
14
- user-select: none;
15
- -webkit-user-select: none;
16
- -moz-user-select: none;
17
- -ms-user-select: none;
18
- }
19
-
20
- /* Left Section */
21
- .left-section {
22
- display: flex;
23
- align-items: center;
24
- gap: var(--spacing-xl);
25
- flex-shrink: 0;
26
- }
27
-
28
- /* Menu toggle styles removed - now using app-button component */
29
-
30
- .logo {
31
- display: flex;
32
- align-items: center;
33
- justify-content: center;
34
- width: var(--spacing-4xl);
35
- height: var(--spacing-4xl);
36
- color: var(--color-brand-500);
37
- }
38
-
39
- .logo-image {
40
- width: 36px;
41
- height: 36px;
42
- object-fit: contain;
43
- }
44
-
45
- .property-name {
46
- font-size: var(--text-md-size);
47
- font-weight: var(--weight-semibold);
48
- color: var(--color-neutral-800);
49
- line-height: var(--text-md-line);
50
- white-space: nowrap;
51
- }
52
-
53
- /* Center Section */
54
- .center-section {
55
- flex: 1;
56
- display: flex;
57
- justify-content: center;
58
- min-width: 0;
59
- }
60
-
61
- .breadcrumbs {
62
- display: flex;
63
- align-items: center;
64
- gap: var(--spacing-md);
65
- max-width: 100%;
66
- }
67
-
68
- .breadcrumb-item {
69
- font-size: var(--text-sm-size);
70
- font-weight: var(--weight-regular);
71
- line-height: var(--text-sm-line);
72
- color: var(--color-neutral-500);
73
- background: none;
74
- border: none;
75
- cursor: pointer;
76
- padding: var(--spacing-xs) var(--spacing-md);
77
- border-radius: var(--radius-xs);
78
- transition: all 0.2s ease;
79
- white-space: nowrap;
80
- text-overflow: ellipsis;
81
- overflow: hidden;
82
- }
83
-
84
-
85
- .breadcrumb-item.active {
86
- color: var(--color-neutral-800);
87
- font-weight: var(--weight-medium);
88
- cursor: default;
89
- }
90
-
91
- .breadcrumb-item:disabled {
92
- cursor: default;
93
- }
94
-
95
- .breadcrumb-separator {
96
- color: var(--color-neutral-200);
97
- flex-shrink: 0;
98
- }
99
-
100
- /* Right Section */
101
- .right-section {
102
- display: flex;
103
- align-items: center;
104
- gap: var(--spacing-md);
105
- flex-shrink: 0;
106
- }
107
-
108
- /* Icon button styles removed - now using app-button component */
109
-
110
- .icon-button-wrapper {
111
- position: relative;
112
- }
113
-
114
- .icon-badge-dot {
115
- position: absolute;
116
- top: 0;
117
- right: 4px;
118
- }
119
-
120
- /* Responsive Design */
121
- @media (max-width: 768px) {
122
- .appbar {
123
- padding: 0 16px;
124
- }
125
-
126
- .property-name {
127
- display: none;
128
- }
129
-
130
- .left-section {
131
- gap: 12px;
132
- }
133
-
134
- .breadcrumbs {
135
- max-width: 200px;
136
- }
137
-
138
- .breadcrumb-item {
139
- font-size: 13px;
140
- padding: 2px 6px;
141
- max-width: 80px;
142
- }
143
- }
144
-
145
- @media (max-width: 480px) {
146
- .appbar {
147
- padding: 0 12px;
148
- }
149
-
150
- .breadcrumbs {
151
- max-width: 150px;
152
- }
153
-
154
- .breadcrumb-item {
155
- font-size: 12px;
156
- max-width: 60px;
157
- }
158
-
159
- .right-section {
160
- gap: 4px;
161
- }
162
-
163
- .icon-button {
164
- width: 32px;
165
- height: 32px;
166
- }
167
- }
@@ -1,142 +0,0 @@
1
- /* ==========================================================================
2
- AUTOCOMPLETE MENU COMPONENT
3
- Shared styles for all frameworks
4
- ========================================================================== */
5
-
6
- .autocomplete-menu {
7
- position: absolute;
8
- z-index: 1000;
9
- top: calc(100% + var(--spacing-sm));
10
- left: 0;
11
- right: 0;
12
- width: 100%;
13
- min-width: 240px;
14
- background: var(--color-white);
15
- border-radius: var(--radius-md);
16
- box-shadow: 0px 32px 64px -12px rgba(64, 73, 104, 0.14),
17
- 0px 0px 1px 1px rgba(64, 73, 104, 0.1);
18
- border: 1px solid var(--color-neutral-200);
19
- overflow: hidden;
20
- overflow-y: auto;
21
- /* Add padding like dropdown-menu items container */
22
- padding: var(--spacing-xs) 0;
23
- /* Optimizations for stable layout */
24
- box-sizing: border-box;
25
- transform: translateZ(0); /* Hardware acceleration */
26
- will-change: opacity, transform;
27
- }
28
-
29
-
30
- /* Menu Items - Match dropdown-menu styling exactly */
31
- .autocomplete-item {
32
- padding: var(--spacing-xxs) var(--spacing-sm);
33
- cursor: pointer;
34
- }
35
-
36
- .autocomplete-item.disabled {
37
- opacity: 0.5;
38
- cursor: not-allowed;
39
- }
40
-
41
- .item-content {
42
- display: flex;
43
- align-items: center;
44
- justify-content: space-between;
45
- gap: var(--spacing-lg);
46
- padding: var(--spacing-xl) var(--spacing-md);
47
- border-radius: var(--radius-sm);
48
- transition: background-color 0.15s ease;
49
- }
50
-
51
- .autocomplete-item:hover:not(.disabled) .item-content {
52
- background: var(--color-neutral-100);
53
- }
54
-
55
- .autocomplete-item.selected .item-content {
56
- background: var(--color-neutral-100);
57
- }
58
-
59
- .item-text {
60
- font-family: var(--font-inter);
61
- font-weight: var(--weight-medium);
62
- font-size: var(--text-sm-size);
63
- line-height: var(--text-sm-line);
64
- color: var(--color-neutral-700);
65
- flex: 1;
66
- white-space: nowrap;
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- min-width: 0;
70
- }
71
-
72
- .autocomplete-item.selected .item-text {
73
- color: var(--color-neutral-700);
74
- font-weight: var(--weight-medium);
75
- }
76
-
77
- .autocomplete-item.disabled .item-text {
78
- color: var(--color-neutral-400);
79
- }
80
-
81
- /* Highlight matching text */
82
- .item-text .highlight {
83
- font-weight: var(--weight-semibold);
84
- color: var(--color-neutral-800);
85
- }
86
-
87
- /* Check icon for multi-select */
88
- .check-icon {
89
- font-size: var(--text-xl-size);
90
- color: var(--color-brand-600);
91
- flex-shrink: 0;
92
- font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
93
- }
94
-
95
- /* Custom Scrollbar */
96
- .autocomplete-menu::-webkit-scrollbar {
97
- width: 6px;
98
- }
99
-
100
- .autocomplete-menu::-webkit-scrollbar-track {
101
- background: var(--color-neutral-50);
102
- border-radius: var(--radius-xs);
103
- }
104
-
105
- .autocomplete-menu::-webkit-scrollbar-thumb {
106
- background: var(--color-neutral-200);
107
- border-radius: var(--radius-xs);
108
- }
109
-
110
- .autocomplete-menu::-webkit-scrollbar-thumb:hover {
111
- background: var(--color-neutral-300);
112
- }
113
-
114
- /* Firefox scrollbar */
115
- .autocomplete-menu {
116
- scrollbar-width: thin;
117
- scrollbar-color: var(--color-neutral-200) var(--color-neutral-50);
118
- }
119
-
120
- /* High contrast mode support */
121
- @media (prefers-contrast: high) {
122
- .autocomplete-menu {
123
- border-width: 2px;
124
- }
125
-
126
- .autocomplete-item.selected {
127
- outline: 2px solid var(--color-brand-500);
128
- outline-offset: -2px;
129
- }
130
- }
131
-
132
- /* Reduced motion support */
133
- @media (prefers-reduced-motion: reduce) {
134
- .autocomplete-menu.animate-dropdown-enter,
135
- .autocomplete-menu.animate-dropdown-exit {
136
- animation: none;
137
- }
138
-
139
- .autocomplete-item {
140
- transition: none;
141
- }
142
- }
@@ -1,112 +0,0 @@
1
- /* ==========================================================================
2
- AVATAR ADD BUTTON COMPONENT
3
- Shared styles for all frameworks
4
- ========================================================================== */
5
-
6
- /* Base Button */
7
- .avatar-add {
8
- position: relative;
9
- display: inline-flex;
10
- align-items: center;
11
- justify-content: center;
12
- background-color: var(--color-white);
13
- border: 1px dashed var(--color-neutral-300);
14
- border-radius: 50%;
15
- cursor: pointer;
16
- transition: all 0.2s ease-in-out;
17
- padding: 0;
18
- outline: none;
19
- }
20
-
21
- /* Button Sizes */
22
- .avatar-add-xs {
23
- width: 24px;
24
- height: 24px;
25
- }
26
-
27
- .avatar-add-sm {
28
- width: 32px;
29
- height: 32px;
30
- }
31
-
32
- .avatar-add-md {
33
- width: 40px;
34
- height: 40px;
35
- }
36
-
37
- /* ==========================================================================
38
- BUTTON STATES
39
- ========================================================================== */
40
-
41
- /* Hover State */
42
- .avatar-add-hover,
43
- .avatar-add:hover:not(:disabled) {
44
- background-color: var(--color-neutral-50);
45
- }
46
-
47
- .avatar-add-hover .avatar-add-icon,
48
- .avatar-add:hover:not(:disabled) .avatar-add-icon {
49
- color: var(--color-neutral-600);
50
- }
51
-
52
- /* Focus State */
53
- .avatar-add-focus,
54
- .avatar-add:focus-visible {
55
- background-color: var(--color-white);
56
- box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-brand-500);
57
- }
58
-
59
- /* Disabled State */
60
- .avatar-add-disabled,
61
- .avatar-add:disabled {
62
- background-color: var(--color-neutral-50);
63
- cursor: not-allowed;
64
- pointer-events: none;
65
- }
66
-
67
- .avatar-add-disabled .avatar-add-icon,
68
- .avatar-add:disabled .avatar-add-icon {
69
- color: var(--color-neutral-300);
70
- }
71
-
72
- /* ==========================================================================
73
- CONTENT ELEMENTS
74
- ========================================================================== */
75
-
76
- /* Content Container */
77
- .avatar-add-content {
78
- display: flex;
79
- align-items: center;
80
- justify-content: center;
81
- padding: 4px;
82
- }
83
-
84
- /* Icon */
85
- .avatar-add-icon {
86
- color: var(--color-neutral-500);
87
- line-height: 1;
88
- }
89
-
90
- /* Icon Sizes - adjusted for Material Symbols stroke weight */
91
- .avatar-add-xs .avatar-add-icon,
92
- .avatar-add-sm .avatar-add-icon {
93
- font-variation-settings: 'wght' 400;
94
- }
95
-
96
- .avatar-add-md .avatar-add-icon {
97
- font-variation-settings: 'wght' 500;
98
- }
99
-
100
- /* ==========================================================================
101
- TOOLTIP POSITIONING
102
- ========================================================================== */
103
-
104
- .avatar-add-button {
105
- position: relative;
106
- }
107
-
108
- .avatar-add-tooltip {
109
- position: absolute;
110
- top: 0;
111
- left: 50%;
112
- }