@rhavenside/baseline-ui 1.0.0

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 (49) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +22 -0
  3. package/README.md +272 -0
  4. package/dist/.gitkeep +0 -0
  5. package/dist/baseline.css +4811 -0
  6. package/dist/baseline.css.map +1 -0
  7. package/dist/baseline.min.css +1 -0
  8. package/package.json +59 -0
  9. package/src/base/_base.scss +182 -0
  10. package/src/base/_normalize.scss +186 -0
  11. package/src/base/_reset.scss +24 -0
  12. package/src/baseline.scss +48 -0
  13. package/src/components/_alert.scss +97 -0
  14. package/src/components/_badge.scss +105 -0
  15. package/src/components/_button.scss +200 -0
  16. package/src/components/_card.scss +94 -0
  17. package/src/components/_dropdown.scss +111 -0
  18. package/src/components/_form.scss +324 -0
  19. package/src/components/_modal.scss +157 -0
  20. package/src/components/_nav.scss +211 -0
  21. package/src/components/_progress.scss +65 -0
  22. package/src/components/_spinner.scss +118 -0
  23. package/src/components/_table.scss +182 -0
  24. package/src/components/_tooltip.scss +134 -0
  25. package/src/fonts/.gitkeep +4 -0
  26. package/src/icons/_icons.scss +150 -0
  27. package/src/layout/_container.scss +45 -0
  28. package/src/layout/_flex.scss +174 -0
  29. package/src/layout/_grid-modern.scss +128 -0
  30. package/src/layout/_grid.scss +123 -0
  31. package/src/themes/_dark.scss +122 -0
  32. package/src/themes/_light.scss +7 -0
  33. package/src/tokens/_borders.scss +36 -0
  34. package/src/tokens/_colors.scss +136 -0
  35. package/src/tokens/_forms.scss +170 -0
  36. package/src/tokens/_glassmorphism.scss +60 -0
  37. package/src/tokens/_shadows.scss +24 -0
  38. package/src/tokens/_spacing.scss +31 -0
  39. package/src/tokens/_tokens.scss +14 -0
  40. package/src/tokens/_transitions.scss +42 -0
  41. package/src/tokens/_typography.scss +89 -0
  42. package/src/tokens/_z-index.scss +26 -0
  43. package/src/utilities/_accessibility.scss +76 -0
  44. package/src/utilities/_animations.scss +177 -0
  45. package/src/utilities/_display.scss +89 -0
  46. package/src/utilities/_position.scss +105 -0
  47. package/src/utilities/_spacing.scss +87 -0
  48. package/src/utilities/_text.scss +255 -0
  49. package/src/utilities/_visibility.scss +74 -0
@@ -0,0 +1,157 @@
1
+ // ============================================================================
2
+ // Modal Component (Technical Glass Design)
3
+ // ============================================================================
4
+
5
+ @use '../tokens/tokens' as *;
6
+
7
+ .bl-modal-backdrop {
8
+ position: fixed;
9
+ top: 0;
10
+ left: 0;
11
+ z-index: var(--z-index-modal-backdrop);
12
+ width: 100vw;
13
+ height: 100vh;
14
+ background: var(--color-bg-overlay);
15
+ backdrop-filter: blur(var(--glass-blur-lg));
16
+ -webkit-backdrop-filter: blur(var(--glass-blur-lg));
17
+ }
18
+
19
+ .bl-modal {
20
+ position: fixed;
21
+ top: 0;
22
+ left: 0;
23
+ z-index: var(--z-index-modal);
24
+ width: 100%;
25
+ height: 100%;
26
+ overflow-x: hidden;
27
+ overflow-y: auto;
28
+ outline: 0;
29
+ }
30
+
31
+ .bl-modal-dialog {
32
+ position: relative;
33
+ width: auto;
34
+ margin: var(--spacing-md);
35
+ pointer-events: none;
36
+
37
+ @media (min-width: 576px) {
38
+ max-width: 500px;
39
+ margin: var(--spacing-xl) auto;
40
+ }
41
+
42
+ @media (min-width: 768px) {
43
+ max-width: 600px;
44
+ }
45
+
46
+ @media (min-width: 1024px) {
47
+ max-width: 800px;
48
+ }
49
+ }
50
+
51
+ .bl-modal-content {
52
+ position: relative;
53
+ display: flex;
54
+ flex-direction: column;
55
+ width: 100%;
56
+ pointer-events: auto;
57
+ background: var(--glass-bg-medium);
58
+ backdrop-filter: blur(var(--glass-blur-xl));
59
+ -webkit-backdrop-filter: blur(var(--glass-blur-xl));
60
+ border: 1px solid var(--glass-border-medium);
61
+ border-radius: var(--tech-border-radius-md);
62
+ outline: 0;
63
+ }
64
+
65
+ .bl-modal-header {
66
+ display: flex;
67
+ align-items: flex-start;
68
+ justify-content: space-between;
69
+ padding: var(--spacing-md);
70
+ border-bottom: 1px solid var(--glass-border-light); // Clear divider line
71
+ background: var(--glass-bg-light);
72
+ backdrop-filter: blur(var(--glass-blur-sm));
73
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
74
+ }
75
+
76
+ .bl-modal-title {
77
+ margin: 0;
78
+ font-size: var(--font-size-xl);
79
+ font-weight: var(--font-weight-semibold);
80
+ line-height: var(--line-height-tight);
81
+ color: var(--color-text);
82
+ }
83
+
84
+ .bl-modal-close {
85
+ padding: var(--spacing-xs);
86
+ margin: calc(var(--spacing-xs) * -1) calc(var(--spacing-xs) * -1) calc(var(--spacing-xs) * -1) auto;
87
+ background: transparent;
88
+ border: 0;
89
+ border-radius: var(--tech-border-radius-sm);
90
+ opacity: 0.6;
91
+ cursor: pointer;
92
+ transition: var(--transition-opacity);
93
+ color: var(--color-text);
94
+ font-family: monospace; // Angular, minimal
95
+
96
+ &:hover {
97
+ opacity: 1;
98
+ }
99
+
100
+ &::before {
101
+ content: '×';
102
+ font-size: var(--font-size-2xl);
103
+ font-weight: var(--font-weight-bold);
104
+ line-height: 1;
105
+ }
106
+ }
107
+
108
+ .bl-modal-body {
109
+ position: relative;
110
+ flex: 1 1 auto;
111
+ padding: var(--spacing-md);
112
+ color: var(--color-text);
113
+ }
114
+
115
+ .bl-modal-footer {
116
+ display: flex;
117
+ flex-wrap: wrap;
118
+ align-items: center;
119
+ justify-content: flex-end;
120
+ padding: var(--spacing-md);
121
+ border-top: 1px solid var(--glass-border-light);
122
+ background: var(--glass-bg-light);
123
+ backdrop-filter: blur(var(--glass-blur-sm));
124
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
125
+
126
+ > * {
127
+ margin: var(--spacing-xs);
128
+ }
129
+ }
130
+
131
+ // Modal Sizes
132
+ .bl-modal-sm {
133
+ @media (min-width: 576px) {
134
+ max-width: 300px;
135
+ }
136
+ }
137
+
138
+ .bl-modal-lg {
139
+ @media (min-width: 1024px) {
140
+ max-width: 1000px;
141
+ }
142
+ }
143
+
144
+ .bl-modal-xl {
145
+ @media (min-width: 1024px) {
146
+ max-width: 1200px;
147
+ }
148
+ }
149
+
150
+ // Centered Modal
151
+ .bl-modal-centered {
152
+ .bl-modal-dialog {
153
+ display: flex;
154
+ align-items: center;
155
+ min-height: calc(100% - (var(--spacing-xl) * 2));
156
+ }
157
+ }
@@ -0,0 +1,211 @@
1
+ // ============================================================================
2
+ // Navigation Component (Technical Glass Design)
3
+ // ============================================================================
4
+
5
+ @use '../tokens/tokens' as *;
6
+
7
+ // Base Nav
8
+ .bl-nav {
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ padding-left: 0;
12
+ margin-bottom: 0;
13
+ list-style: none;
14
+ background: var(--glass-bg-light);
15
+ backdrop-filter: blur(var(--glass-blur-md));
16
+ -webkit-backdrop-filter: blur(var(--glass-blur-md));
17
+ border: 1px solid var(--glass-border-medium);
18
+ border-radius: var(--tech-border-radius-sm);
19
+ padding: var(--spacing-xs);
20
+ }
21
+
22
+ .bl-nav-item {
23
+ display: list-item;
24
+ }
25
+
26
+ .bl-nav-link {
27
+ display: block;
28
+ padding: var(--spacing-sm) var(--spacing-md);
29
+ color: var(--color-text);
30
+ text-decoration: none;
31
+ border-radius: var(--tech-border-radius-sm);
32
+ transition: var(--transition-base);
33
+
34
+ &:hover {
35
+ color: var(--color-text);
36
+ text-decoration: none;
37
+ background: var(--glass-bg-medium);
38
+ }
39
+
40
+ &:focus {
41
+ outline: 1px solid var(--color-border-focus);
42
+ outline-offset: -2px;
43
+ }
44
+
45
+ &.bl-active {
46
+ color: var(--color-text);
47
+ font-weight: var(--font-weight-semibold);
48
+ background: var(--glass-bg-heavy);
49
+ border-bottom: 2px solid var(--color-accent); // Sharp underline or block marking
50
+ }
51
+
52
+ &.bl-disabled {
53
+ color: var(--color-text-muted);
54
+ pointer-events: none;
55
+ cursor: default;
56
+ }
57
+ }
58
+
59
+ // Horizontal Nav
60
+ .bl-nav-horizontal {
61
+ flex-direction: row;
62
+
63
+ .bl-nav-item {
64
+ margin-right: var(--spacing-xs);
65
+ }
66
+ }
67
+
68
+ // Vertical Nav
69
+ .bl-nav-vertical {
70
+ flex-direction: column;
71
+
72
+ .bl-nav-item {
73
+ margin-bottom: var(--spacing-xs);
74
+ }
75
+ }
76
+
77
+ // Tabs
78
+ .bl-nav-tabs {
79
+ border-bottom: 1px solid var(--glass-border-light);
80
+ background: transparent;
81
+ padding: 0;
82
+
83
+ .bl-nav-link {
84
+ margin-bottom: calc(1px * -1);
85
+ border: 1px solid transparent;
86
+ border-top-left-radius: var(--tech-border-radius-sm);
87
+ border-top-right-radius: var(--tech-border-radius-sm);
88
+ background: transparent;
89
+
90
+ &:hover {
91
+ border-color: var(--glass-border-medium);
92
+ background: var(--glass-bg-light);
93
+ isolation: isolate;
94
+ }
95
+
96
+ &.bl-active {
97
+ color: var(--color-text);
98
+ background: var(--glass-bg-medium);
99
+ border-color: var(--glass-border-medium) var(--glass-border-medium) transparent;
100
+ border-bottom: 2px solid var(--color-accent);
101
+ }
102
+ }
103
+ }
104
+
105
+ // Pills
106
+ .bl-nav-pills {
107
+ .bl-nav-link {
108
+ border-radius: var(--tech-border-radius-sm);
109
+
110
+ &.bl-active {
111
+ color: var(--color-text);
112
+ background: var(--glass-bg-heavy);
113
+ border-bottom: 2px solid var(--color-accent);
114
+ }
115
+ }
116
+ }
117
+
118
+ // Breadcrumb
119
+ .bl-breadcrumb {
120
+ display: flex;
121
+ flex-wrap: wrap;
122
+ padding: var(--spacing-sm) 0;
123
+ margin-bottom: var(--spacing-md);
124
+ list-style: none;
125
+ }
126
+
127
+ .bl-breadcrumb-item {
128
+ display: flex;
129
+ align-items: center;
130
+
131
+ + .bl-breadcrumb-item {
132
+ padding-left: var(--spacing-sm);
133
+
134
+ &::before {
135
+ display: inline-block;
136
+ padding-right: var(--spacing-sm);
137
+ color: var(--color-text-muted);
138
+ content: "/";
139
+ }
140
+ }
141
+
142
+ &.bl-active {
143
+ color: var(--color-text-muted);
144
+ }
145
+ }
146
+
147
+ // Pagination
148
+ .bl-pagination {
149
+ display: flex;
150
+ padding-left: 0;
151
+ list-style: none;
152
+ }
153
+
154
+ .bl-page-item {
155
+ display: list-item;
156
+
157
+ &:first-child .bl-page-link {
158
+ margin-left: 0;
159
+ border-top-left-radius: var(--tech-border-radius-sm);
160
+ border-bottom-left-radius: var(--tech-border-radius-sm);
161
+ }
162
+
163
+ &:last-child .bl-page-link {
164
+ border-top-right-radius: var(--tech-border-radius-sm);
165
+ border-bottom-right-radius: var(--tech-border-radius-sm);
166
+ }
167
+
168
+ &.bl-active .bl-page-link {
169
+ z-index: 1;
170
+ color: var(--color-text);
171
+ background: var(--glass-bg-heavy);
172
+ border-color: var(--glass-border-heavy);
173
+ }
174
+
175
+ &.bl-disabled .bl-page-link {
176
+ color: var(--color-text-muted);
177
+ pointer-events: none;
178
+ cursor: auto;
179
+ background: var(--glass-bg-dark);
180
+ border-color: var(--glass-border-light);
181
+ }
182
+ }
183
+
184
+ .bl-page-link {
185
+ position: relative;
186
+ display: block;
187
+ padding: var(--spacing-sm) var(--spacing-md);
188
+ margin-left: calc(1px * -1);
189
+ line-height: var(--line-height-base);
190
+ color: var(--color-text);
191
+ text-decoration: none;
192
+ background: var(--glass-bg-light);
193
+ border: 1px solid var(--glass-border-medium);
194
+ backdrop-filter: blur(var(--glass-blur-sm));
195
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
196
+ transition: var(--transition-base);
197
+
198
+ &:hover {
199
+ z-index: 2;
200
+ color: var(--color-text);
201
+ text-decoration: none;
202
+ background: var(--glass-bg-medium);
203
+ border-color: var(--glass-border-heavy);
204
+ }
205
+
206
+ &:focus {
207
+ z-index: 2;
208
+ outline: 1px solid var(--color-border-focus);
209
+ outline-offset: -2px;
210
+ }
211
+ }
@@ -0,0 +1,65 @@
1
+ // ============================================================================
2
+ // Progress Component (Technical Glass Design)
3
+ // ============================================================================
4
+
5
+ @use '../tokens/tokens' as *;
6
+
7
+ .bl-progress {
8
+ display: flex;
9
+ height: 1rem;
10
+ overflow: hidden;
11
+ background: var(--glass-bg-light);
12
+ backdrop-filter: blur(var(--glass-blur-sm));
13
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
14
+ border: 1px solid var(--glass-border-medium);
15
+ border-radius: var(--tech-border-radius-sm);
16
+ }
17
+
18
+ .bl-progress-bar {
19
+ display: flex;
20
+ flex-direction: column;
21
+ justify-content: center;
22
+ overflow: hidden;
23
+ color: var(--color-text-inverse);
24
+ text-align: center;
25
+ white-space: nowrap;
26
+ background: var(--color-accent);
27
+ transition: width var(--transition-duration-slow) var(--transition-ease-linear);
28
+ }
29
+
30
+ // Progress Variants
31
+ .bl-progress-bar-primary {
32
+ background: var(--color-accent);
33
+ }
34
+
35
+ .bl-progress-bar-secondary {
36
+ background: var(--glass-bg-heavy);
37
+ }
38
+
39
+ .bl-progress-bar-success {
40
+ background: var(--color-success);
41
+ }
42
+
43
+ .bl-progress-bar-warning {
44
+ background: var(--color-warning);
45
+ }
46
+
47
+ .bl-progress-bar-error {
48
+ background: var(--color-error);
49
+ }
50
+
51
+ .bl-progress-bar-info {
52
+ background: var(--color-info);
53
+ }
54
+
55
+ // Progress Sizes
56
+ .bl-progress-sm {
57
+ height: 0.5rem;
58
+ }
59
+
60
+ .bl-progress-lg {
61
+ height: 1.5rem;
62
+ }
63
+
64
+ // Striped Progress (removed - no gradients)
65
+ // Animated Progress (removed - only linear growth)
@@ -0,0 +1,118 @@
1
+ // ============================================================================
2
+ // Spinner Component (Technical Glass Design)
3
+ // ============================================================================
4
+
5
+ @use '../tokens/tokens' as *;
6
+
7
+ .bl-spinner {
8
+ display: inline-block;
9
+ width: 2rem;
10
+ height: 2rem;
11
+ vertical-align: text-bottom;
12
+ border: var(--border-width-base) solid var(--glass-border-medium);
13
+ border-top-color: var(--color-accent);
14
+ border-radius: var(--tech-border-radius-sm); // Square frame
15
+ background: var(--glass-bg-light);
16
+ backdrop-filter: blur(var(--glass-blur-sm));
17
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
18
+ animation: bl-spinner-rotate 0.75s linear infinite;
19
+ position: relative;
20
+
21
+ // Rotating inner segment
22
+ &::before {
23
+ content: '';
24
+ position: absolute;
25
+ top: 2px;
26
+ left: 2px;
27
+ right: 2px;
28
+ bottom: 2px;
29
+ background: var(--color-accent);
30
+ opacity: 0.3;
31
+ border-radius: var(--tech-border-radius-sm);
32
+ animation: bl-spinner-inner 1.5s linear infinite;
33
+ }
34
+ }
35
+
36
+ @keyframes bl-spinner-rotate {
37
+ to {
38
+ transform: rotate(360deg);
39
+ }
40
+ }
41
+
42
+ @keyframes bl-spinner-inner {
43
+ 0% {
44
+ transform: rotate(0deg);
45
+ opacity: 0.3;
46
+ }
47
+ 50% {
48
+ opacity: 0.6;
49
+ }
50
+ 100% {
51
+ transform: rotate(360deg);
52
+ opacity: 0.3;
53
+ }
54
+ }
55
+
56
+ // Spinner Variants
57
+ .bl-spinner-primary {
58
+ border-top-color: var(--color-accent);
59
+
60
+ &::before {
61
+ background: var(--color-accent);
62
+ }
63
+ }
64
+
65
+ .bl-spinner-secondary {
66
+ border-top-color: var(--color-secondary);
67
+
68
+ &::before {
69
+ background: var(--color-secondary);
70
+ }
71
+ }
72
+
73
+ .bl-spinner-success {
74
+ border-top-color: var(--color-success);
75
+
76
+ &::before {
77
+ background: var(--color-success);
78
+ }
79
+ }
80
+
81
+ .bl-spinner-warning {
82
+ border-top-color: var(--color-warning);
83
+
84
+ &::before {
85
+ background: var(--color-warning);
86
+ }
87
+ }
88
+
89
+ .bl-spinner-error {
90
+ border-top-color: var(--color-error);
91
+
92
+ &::before {
93
+ background: var(--color-error);
94
+ }
95
+ }
96
+
97
+ .bl-spinner-info {
98
+ border-top-color: var(--color-info);
99
+
100
+ &::before {
101
+ background: var(--color-info);
102
+ }
103
+ }
104
+
105
+ // Spinner Sizes
106
+ .bl-spinner-sm {
107
+ width: 1rem;
108
+ height: 1rem;
109
+ border-width: var(--border-width-thin);
110
+ }
111
+
112
+ .bl-spinner-lg {
113
+ width: 3rem;
114
+ height: 3rem;
115
+ border-width: var(--border-width-base);
116
+ }
117
+
118
+ // Spinner Grow (Alternative Style - removed, using square frame only)
@@ -0,0 +1,182 @@
1
+ // ============================================================================
2
+ // Table Component (Technical Glass Design)
3
+ // ============================================================================
4
+
5
+ @use '../tokens/tokens' as *;
6
+
7
+ .bl-table {
8
+ width: 100%;
9
+ margin-bottom: var(--spacing-md);
10
+ color: var(--color-text);
11
+ vertical-align: top;
12
+ border-color: var(--glass-border-medium);
13
+ background: var(--glass-bg-medium);
14
+ backdrop-filter: blur(var(--glass-blur-md));
15
+ -webkit-backdrop-filter: blur(var(--glass-blur-md));
16
+ border: 1px solid var(--glass-border-medium);
17
+ border-radius: var(--tech-border-radius-md);
18
+ overflow: hidden;
19
+
20
+ > :not(caption) > * > * {
21
+ padding: var(--spacing-sm) var(--spacing-md);
22
+ background-color: transparent;
23
+ border-bottom-width: 1px;
24
+ border-bottom-color: var(--glass-border-light);
25
+ border-right-width: 1px;
26
+ border-right-color: var(--glass-border-light);
27
+ box-shadow: inset 0 0 0 9999px transparent;
28
+ }
29
+
30
+ > :not(caption) > * > *:last-child {
31
+ border-right-width: 0;
32
+ }
33
+
34
+ > tbody {
35
+ vertical-align: inherit;
36
+ }
37
+
38
+ > thead {
39
+ vertical-align: bottom;
40
+ }
41
+
42
+ > :not(:first-child) {
43
+ border-top: 1px solid var(--glass-border-light);
44
+ }
45
+ }
46
+
47
+ .bl-table-caption {
48
+ padding-top: var(--spacing-sm);
49
+ padding-bottom: var(--spacing-sm);
50
+ color: var(--color-text-muted);
51
+ text-align: left;
52
+ caption-side: bottom;
53
+ }
54
+
55
+ .bl-table-head {
56
+ font-weight: var(--font-weight-semibold);
57
+ color: var(--color-text);
58
+ text-align: inherit;
59
+ text-align: -webkit-match-parent;
60
+ background: var(--glass-bg-etched); // Etched glass effect
61
+ backdrop-filter: blur(var(--glass-blur-sm));
62
+ -webkit-backdrop-filter: blur(var(--glass-blur-sm));
63
+ }
64
+
65
+ // Table Variants
66
+ .bl-table-striped {
67
+ > tbody > tr:nth-of-type(odd) > * {
68
+ --bl-table-accent-bg: var(--glass-bg-light);
69
+ color: var(--color-text);
70
+ box-shadow: inset 0 0 0 9999px var(--bl-table-accent-bg);
71
+ }
72
+ }
73
+
74
+ .bl-table-bordered {
75
+ border: 1px solid var(--glass-border-medium);
76
+
77
+ > :not(caption) > * {
78
+ border-width: 1px 0;
79
+
80
+ > * {
81
+ border-width: 0 1px;
82
+ border-color: var(--glass-border-light);
83
+ }
84
+ }
85
+ }
86
+
87
+ .bl-table-borderless {
88
+ > :not(caption) > * > * {
89
+ border-bottom-width: 0;
90
+ border-right-width: 0;
91
+ }
92
+
93
+ > :not(:first-child) {
94
+ border-top-width: 0;
95
+ }
96
+ }
97
+
98
+ .bl-table-hover {
99
+ > tbody > tr:hover > * {
100
+ --bl-table-accent-bg: var(--glass-bg-heavy);
101
+ color: var(--color-text);
102
+ box-shadow: inset 0 0 0 9999px var(--bl-table-accent-bg);
103
+ transition: var(--transition-base);
104
+ }
105
+ }
106
+
107
+ // Table Sizes
108
+ .bl-table-sm {
109
+ > :not(caption) > * > * {
110
+ padding: var(--spacing-xs) var(--spacing-sm);
111
+ }
112
+ }
113
+
114
+ .bl-table-lg {
115
+ > :not(caption) > * > * {
116
+ padding: var(--spacing-md) var(--spacing-lg);
117
+ }
118
+ }
119
+
120
+ // Responsive Table
121
+ .bl-table-responsive {
122
+ display: block;
123
+ width: 100%;
124
+ overflow-x: auto;
125
+ -webkit-overflow-scrolling: touch;
126
+
127
+ > .bl-table {
128
+ margin-bottom: 0;
129
+ }
130
+ }
131
+
132
+ @media (max-width: 575.98px) {
133
+ .bl-table-responsive-sm {
134
+ display: block;
135
+ width: 100%;
136
+ overflow-x: auto;
137
+ -webkit-overflow-scrolling: touch;
138
+
139
+ > .bl-table {
140
+ margin-bottom: 0;
141
+ }
142
+ }
143
+ }
144
+
145
+ @media (max-width: 767.98px) {
146
+ .bl-table-responsive-md {
147
+ display: block;
148
+ width: 100%;
149
+ overflow-x: auto;
150
+ -webkit-overflow-scrolling: touch;
151
+
152
+ > .bl-table {
153
+ margin-bottom: 0;
154
+ }
155
+ }
156
+ }
157
+
158
+ @media (max-width: 1023.98px) {
159
+ .bl-table-responsive-lg {
160
+ display: block;
161
+ width: 100%;
162
+ overflow-x: auto;
163
+ -webkit-overflow-scrolling: touch;
164
+
165
+ > .bl-table {
166
+ margin-bottom: 0;
167
+ }
168
+ }
169
+ }
170
+
171
+ @media (max-width: 1279.98px) {
172
+ .bl-table-responsive-xl {
173
+ display: block;
174
+ width: 100%;
175
+ overflow-x: auto;
176
+ -webkit-overflow-scrolling: touch;
177
+
178
+ > .bl-table {
179
+ margin-bottom: 0;
180
+ }
181
+ }
182
+ }