zenkit-css 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 (96) hide show
  1. package/README.md +182 -0
  2. package/dist/zenkit.css +33721 -0
  3. package/dist/zenkit.css.map +1 -0
  4. package/dist/zenkit.min.css +1 -0
  5. package/dist/zenkit.min.css.map +1 -0
  6. package/package.json +41 -0
  7. package/scss/abstracts/_functions.scss +174 -0
  8. package/scss/abstracts/_mixins.scss +272 -0
  9. package/scss/abstracts/_variables.scss +216 -0
  10. package/scss/base/_reset.scss +130 -0
  11. package/scss/base/_root.scss +194 -0
  12. package/scss/base/_typography.scss +271 -0
  13. package/scss/components/_accordion.scss +200 -0
  14. package/scss/components/_affix.scss +278 -0
  15. package/scss/components/_alerts.scss +175 -0
  16. package/scss/components/_anchor.scss +438 -0
  17. package/scss/components/_autocomplete.scss +530 -0
  18. package/scss/components/_avatar.scss +256 -0
  19. package/scss/components/_backtop.scss +329 -0
  20. package/scss/components/_badges.scss +266 -0
  21. package/scss/components/_breadcrumb.scss +102 -0
  22. package/scss/components/_buttons.scss +340 -0
  23. package/scss/components/_calendar.scss +787 -0
  24. package/scss/components/_cards.scss +265 -0
  25. package/scss/components/_carousel.scss +306 -0
  26. package/scss/components/_cascader.scss +510 -0
  27. package/scss/components/_close-button.scss +106 -0
  28. package/scss/components/_colorpicker.scss +593 -0
  29. package/scss/components/_datepicker.scss +625 -0
  30. package/scss/components/_descriptions.scss +453 -0
  31. package/scss/components/_divider.scss +253 -0
  32. package/scss/components/_drawer.scss +485 -0
  33. package/scss/components/_dropdown.scss +323 -0
  34. package/scss/components/_empty.scss +321 -0
  35. package/scss/components/_floatbutton.scss +400 -0
  36. package/scss/components/_forms.scss +753 -0
  37. package/scss/components/_image.scss +497 -0
  38. package/scss/components/_inputnumber.scss +475 -0
  39. package/scss/components/_layout.scss +538 -0
  40. package/scss/components/_list-group.scss +227 -0
  41. package/scss/components/_list.scss +528 -0
  42. package/scss/components/_mentions.scss +479 -0
  43. package/scss/components/_menu.scss +510 -0
  44. package/scss/components/_message.scss +412 -0
  45. package/scss/components/_modal.scss +304 -0
  46. package/scss/components/_navbar.scss +329 -0
  47. package/scss/components/_notification.scss +499 -0
  48. package/scss/components/_offcanvas.scss +274 -0
  49. package/scss/components/_pagination.scss +176 -0
  50. package/scss/components/_placeholder.scss +237 -0
  51. package/scss/components/_popconfirm.scss +393 -0
  52. package/scss/components/_popover.scss +298 -0
  53. package/scss/components/_progress.scss +225 -0
  54. package/scss/components/_rating.scss +314 -0
  55. package/scss/components/_result.scss +383 -0
  56. package/scss/components/_segmented.scss +441 -0
  57. package/scss/components/_select.scss +412 -0
  58. package/scss/components/_spinners.scss +229 -0
  59. package/scss/components/_statistic.scss +336 -0
  60. package/scss/components/_steps.scss +343 -0
  61. package/scss/components/_tabs.scss +239 -0
  62. package/scss/components/_tag.scss +317 -0
  63. package/scss/components/_timeline.scss +341 -0
  64. package/scss/components/_timepicker.scss +468 -0
  65. package/scss/components/_toast.scss +279 -0
  66. package/scss/components/_tooltip.scss +305 -0
  67. package/scss/components/_tour.scss +488 -0
  68. package/scss/components/_transfer.scss +556 -0
  69. package/scss/components/_tree.scss +518 -0
  70. package/scss/components/_treeselect.scss +531 -0
  71. package/scss/components/_upload.scss +510 -0
  72. package/scss/components/_watermark.scss +314 -0
  73. package/scss/content/_figures.scss +38 -0
  74. package/scss/content/_images.scss +138 -0
  75. package/scss/content/_tables.scss +232 -0
  76. package/scss/layout/_container.scss +71 -0
  77. package/scss/layout/_grid.scss +258 -0
  78. package/scss/utilities/_animations.scss +494 -0
  79. package/scss/utilities/_borders.scss +246 -0
  80. package/scss/utilities/_colors.scss +194 -0
  81. package/scss/utilities/_display.scss +263 -0
  82. package/scss/utilities/_filters.scss +328 -0
  83. package/scss/utilities/_flex.scss +178 -0
  84. package/scss/utilities/_float.scss +70 -0
  85. package/scss/utilities/_grid-utils.scss +151 -0
  86. package/scss/utilities/_helpers.scss +479 -0
  87. package/scss/utilities/_interactions.scss +249 -0
  88. package/scss/utilities/_overflow.scss +204 -0
  89. package/scss/utilities/_position.scss +245 -0
  90. package/scss/utilities/_shadows.scss +67 -0
  91. package/scss/utilities/_sizing.scss +217 -0
  92. package/scss/utilities/_spacing.scss +207 -0
  93. package/scss/utilities/_text.scss +237 -0
  94. package/scss/utilities/_transforms.scss +368 -0
  95. package/scss/utilities/_visibility.scss +251 -0
  96. package/scss/zenkit.scss +121 -0
@@ -0,0 +1,266 @@
1
+ // ========================================
2
+ // ZenKit - Badges
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+ @use '../abstracts/mixins' as *;
7
+
8
+ // ----------------------------------------
9
+ // Base Badge
10
+ // ----------------------------------------
11
+ .badge {
12
+ display: inline-flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ padding: 0.25em 0.5em;
16
+ font-size: 0.75em;
17
+ font-weight: $font-weight-medium;
18
+ line-height: 1;
19
+ text-align: center;
20
+ white-space: nowrap;
21
+ vertical-align: baseline;
22
+ border-radius: var(--radius);
23
+ }
24
+
25
+ // ----------------------------------------
26
+ // Badge Variants
27
+ // ----------------------------------------
28
+ .badge-primary {
29
+ color: var(--white);
30
+ background-color: var(--primary);
31
+ }
32
+
33
+ .badge-secondary {
34
+ color: var(--white);
35
+ background-color: var(--gray-500);
36
+ }
37
+
38
+ .badge-success {
39
+ color: var(--white);
40
+ background-color: var(--success);
41
+ }
42
+
43
+ .badge-danger {
44
+ color: var(--white);
45
+ background-color: var(--danger);
46
+ }
47
+
48
+ .badge-warning {
49
+ color: var(--gray-900);
50
+ background-color: var(--warning);
51
+ }
52
+
53
+ .badge-info {
54
+ color: var(--white);
55
+ background-color: var(--info);
56
+ }
57
+
58
+ .badge-dark {
59
+ color: var(--white);
60
+ background-color: var(--gray-800);
61
+ }
62
+
63
+ .badge-light {
64
+ color: var(--gray-800);
65
+ background-color: var(--gray-100);
66
+ }
67
+
68
+ // ----------------------------------------
69
+ // Soft/Light Badge Variants
70
+ // ----------------------------------------
71
+ .badge-soft-primary {
72
+ color: var(--primary-700);
73
+ background-color: var(--primary-100);
74
+ }
75
+
76
+ .badge-soft-success {
77
+ color: $success-dark;
78
+ background-color: var(--success-light);
79
+ }
80
+
81
+ .badge-soft-danger {
82
+ color: $danger-dark;
83
+ background-color: var(--danger-light);
84
+ }
85
+
86
+ .badge-soft-warning {
87
+ color: $warning-dark;
88
+ background-color: var(--warning-light);
89
+ }
90
+
91
+ .badge-soft-info {
92
+ color: $info-dark;
93
+ background-color: var(--info-light);
94
+ }
95
+
96
+ // ----------------------------------------
97
+ // Outline Badges
98
+ // ----------------------------------------
99
+ .badge-outline-primary {
100
+ color: var(--primary);
101
+ background-color: transparent;
102
+ border: $border-width solid var(--primary);
103
+ }
104
+
105
+ .badge-outline-secondary {
106
+ color: var(--gray-600);
107
+ background-color: transparent;
108
+ border: $border-width solid var(--gray-400);
109
+ }
110
+
111
+ .badge-outline-success {
112
+ color: var(--success);
113
+ background-color: transparent;
114
+ border: $border-width solid var(--success);
115
+ }
116
+
117
+ .badge-outline-danger {
118
+ color: var(--danger);
119
+ background-color: transparent;
120
+ border: $border-width solid var(--danger);
121
+ }
122
+
123
+ .badge-outline-warning {
124
+ color: var(--warning);
125
+ background-color: transparent;
126
+ border: $border-width solid var(--warning);
127
+ }
128
+
129
+ .badge-outline-info {
130
+ color: var(--info);
131
+ background-color: transparent;
132
+ border: $border-width solid var(--info);
133
+ }
134
+
135
+ // ----------------------------------------
136
+ // Badge Sizes
137
+ // ----------------------------------------
138
+ .badge-sm {
139
+ padding: 0.15em 0.375em;
140
+ font-size: 0.65em;
141
+ }
142
+
143
+ .badge-lg {
144
+ padding: 0.35em 0.65em;
145
+ font-size: 0.85em;
146
+ }
147
+
148
+ // ----------------------------------------
149
+ // Pill Badge
150
+ // ----------------------------------------
151
+ .badge-pill {
152
+ border-radius: var(--radius-full);
153
+ padding-left: 0.65em;
154
+ padding-right: 0.65em;
155
+ }
156
+
157
+ // ----------------------------------------
158
+ // Badge with Icon
159
+ // ----------------------------------------
160
+ .badge-icon {
161
+ display: inline-flex;
162
+ align-items: center;
163
+ gap: 0.25em;
164
+
165
+ svg {
166
+ width: 0.875em;
167
+ height: 0.875em;
168
+ }
169
+ }
170
+
171
+ // ----------------------------------------
172
+ // Badge with Dot
173
+ // ----------------------------------------
174
+ .badge-dot {
175
+ display: inline-flex;
176
+ align-items: center;
177
+ gap: 0.375em;
178
+ padding: 0;
179
+ background-color: transparent;
180
+ font-weight: $font-weight-normal;
181
+ font-size: inherit;
182
+ color: var(--text);
183
+
184
+ &::before {
185
+ content: "";
186
+ display: inline-block;
187
+ width: 0.5em;
188
+ height: 0.5em;
189
+ border-radius: 50%;
190
+ background-color: var(--gray-400);
191
+ }
192
+
193
+ &.badge-dot-primary::before { background-color: var(--primary); }
194
+ &.badge-dot-success::before { background-color: var(--success); }
195
+ &.badge-dot-danger::before { background-color: var(--danger); }
196
+ &.badge-dot-warning::before { background-color: var(--warning); }
197
+ &.badge-dot-info::before { background-color: var(--info); }
198
+ }
199
+
200
+ // ----------------------------------------
201
+ // Notification Badge (Position)
202
+ // ----------------------------------------
203
+ .badge-notification {
204
+ position: absolute;
205
+ top: -0.25rem;
206
+ right: -0.25rem;
207
+ min-width: 1.25rem;
208
+ height: 1.25rem;
209
+ padding: 0.125rem 0.375rem;
210
+ font-size: 0.625rem;
211
+ border-radius: var(--radius-full);
212
+ }
213
+
214
+ // Empty notification dot
215
+ .badge-notification-dot {
216
+ position: absolute;
217
+ top: 0;
218
+ right: 0;
219
+ width: 0.625rem;
220
+ height: 0.625rem;
221
+ padding: 0;
222
+ border-radius: 50%;
223
+ border: 2px solid var(--bg);
224
+ }
225
+
226
+ // ----------------------------------------
227
+ // Tag (Removable Badge)
228
+ // ----------------------------------------
229
+ .tag {
230
+ display: inline-flex;
231
+ align-items: center;
232
+ gap: 0.25em;
233
+ padding: 0.25em 0.5em;
234
+ font-size: var(--text-sm);
235
+ font-weight: $font-weight-normal;
236
+ color: var(--text);
237
+ background-color: var(--bg-muted);
238
+ border-radius: var(--radius);
239
+ }
240
+
241
+ .tag-remove {
242
+ display: flex;
243
+ align-items: center;
244
+ justify-content: center;
245
+ width: 1rem;
246
+ height: 1rem;
247
+ padding: 0;
248
+ margin-left: 0.125em;
249
+ background: transparent;
250
+ border: none;
251
+ border-radius: var(--radius-sm);
252
+ color: var(--text-muted);
253
+ cursor: pointer;
254
+ transition: color var(--transition-fast) ease-in-out,
255
+ background-color var(--transition-fast) ease-in-out;
256
+
257
+ &:hover {
258
+ color: var(--danger);
259
+ background-color: var(--danger-light);
260
+ }
261
+
262
+ svg {
263
+ width: 0.75rem;
264
+ height: 0.75rem;
265
+ }
266
+ }
@@ -0,0 +1,102 @@
1
+ // ========================================
2
+ // ZenKit - Breadcrumb
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+
7
+ // ----------------------------------------
8
+ // Breadcrumb Container
9
+ // ----------------------------------------
10
+ .breadcrumb {
11
+ --breadcrumb-padding-x: 0;
12
+ --breadcrumb-padding-y: 0;
13
+ --breadcrumb-margin-bottom: 1rem;
14
+ --breadcrumb-divider-color: var(--text-muted);
15
+ --breadcrumb-item-padding-x: 0.5rem;
16
+ --breadcrumb-item-active-color: var(--text-muted);
17
+
18
+ display: flex;
19
+ flex-wrap: wrap;
20
+ padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);
21
+ margin-bottom: var(--breadcrumb-margin-bottom);
22
+ font-size: var(--text-sm);
23
+ list-style: none;
24
+ background-color: transparent;
25
+ border-radius: var(--radius);
26
+ }
27
+
28
+ // ----------------------------------------
29
+ // Breadcrumb Item
30
+ // ----------------------------------------
31
+ .breadcrumb-item {
32
+ + .breadcrumb-item {
33
+ padding-left: var(--breadcrumb-item-padding-x);
34
+
35
+ &::before {
36
+ float: left;
37
+ padding-right: var(--breadcrumb-item-padding-x);
38
+ color: var(--breadcrumb-divider-color);
39
+ content: var(--breadcrumb-divider, "/");
40
+ }
41
+ }
42
+
43
+ &.active {
44
+ color: var(--breadcrumb-item-active-color);
45
+ }
46
+
47
+ a {
48
+ color: var(--link);
49
+ text-decoration: none;
50
+
51
+ &:hover {
52
+ color: var(--link-hover);
53
+ text-decoration: underline;
54
+ }
55
+ }
56
+ }
57
+
58
+ // ----------------------------------------
59
+ // Breadcrumb Divider Variants
60
+ // ----------------------------------------
61
+
62
+ // Arrow divider
63
+ .breadcrumb-arrow {
64
+ --breadcrumb-divider: "›";
65
+ }
66
+
67
+ // Chevron divider
68
+ .breadcrumb-chevron {
69
+ --breadcrumb-divider: "»";
70
+ }
71
+
72
+ // Pipe divider
73
+ .breadcrumb-pipe {
74
+ --breadcrumb-divider: "|";
75
+ }
76
+
77
+ // Dot divider
78
+ .breadcrumb-dot {
79
+ --breadcrumb-divider: "•";
80
+ }
81
+
82
+ // ----------------------------------------
83
+ // Breadcrumb with Background
84
+ // ----------------------------------------
85
+ .breadcrumb-bg {
86
+ --breadcrumb-padding-x: 1rem;
87
+ --breadcrumb-padding-y: 0.75rem;
88
+ background-color: var(--bg-muted);
89
+ }
90
+
91
+ // ----------------------------------------
92
+ // Breadcrumb Sizes
93
+ // ----------------------------------------
94
+ .breadcrumb-sm {
95
+ font-size: var(--text-xs);
96
+ --breadcrumb-item-padding-x: 0.375rem;
97
+ }
98
+
99
+ .breadcrumb-lg {
100
+ font-size: var(--text-base);
101
+ --breadcrumb-item-padding-x: 0.625rem;
102
+ }
@@ -0,0 +1,340 @@
1
+ // ========================================
2
+ // ZenKit - Buttons
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+ @use '../abstracts/mixins' as *;
7
+
8
+ // ----------------------------------------
9
+ // Base Button
10
+ // ----------------------------------------
11
+ .btn {
12
+ @include button-base;
13
+ }
14
+
15
+ // ----------------------------------------
16
+ // Solid Buttons
17
+ // ----------------------------------------
18
+ .btn-primary {
19
+ @include button-base;
20
+ @include button-solid($primary);
21
+ }
22
+
23
+ .btn-secondary {
24
+ @include button-base;
25
+ @include button-solid($gray-600);
26
+ }
27
+
28
+ .btn-success {
29
+ @include button-base;
30
+ @include button-solid($success);
31
+ }
32
+
33
+ .btn-danger {
34
+ @include button-base;
35
+ @include button-solid($danger);
36
+ }
37
+
38
+ .btn-warning {
39
+ @include button-base;
40
+ @include button-solid($warning, $gray-900);
41
+ }
42
+
43
+ .btn-info {
44
+ @include button-base;
45
+ @include button-solid($info);
46
+ }
47
+
48
+ .btn-dark {
49
+ @include button-base;
50
+ @include button-solid($gray-900);
51
+ }
52
+
53
+ .btn-light {
54
+ @include button-base;
55
+ @include button-solid($gray-100, $gray-900);
56
+ }
57
+
58
+ // ----------------------------------------
59
+ // Outline Buttons
60
+ // ----------------------------------------
61
+ .btn-outline-primary {
62
+ @include button-base;
63
+ @include button-outline($primary);
64
+ }
65
+
66
+ .btn-outline-secondary {
67
+ @include button-base;
68
+ @include button-outline($gray-600);
69
+ }
70
+
71
+ .btn-outline-success {
72
+ @include button-base;
73
+ @include button-outline($success);
74
+ }
75
+
76
+ .btn-outline-danger {
77
+ @include button-base;
78
+ @include button-outline($danger);
79
+ }
80
+
81
+ .btn-outline-warning {
82
+ @include button-base;
83
+ @include button-outline($warning);
84
+ }
85
+
86
+ .btn-outline-info {
87
+ @include button-base;
88
+ @include button-outline($info);
89
+ }
90
+
91
+ .btn-outline-dark {
92
+ @include button-base;
93
+ @include button-outline($gray-900);
94
+ }
95
+
96
+ .btn-outline-light {
97
+ @include button-base;
98
+ @include button-outline($gray-300);
99
+ }
100
+
101
+ // ----------------------------------------
102
+ // Ghost Buttons
103
+ // ----------------------------------------
104
+ .btn-ghost {
105
+ @include button-base;
106
+ @include button-ghost($primary);
107
+ }
108
+
109
+ .btn-ghost-secondary {
110
+ @include button-base;
111
+ @include button-ghost($gray-600);
112
+ }
113
+
114
+ .btn-ghost-danger {
115
+ @include button-base;
116
+ @include button-ghost($danger);
117
+ }
118
+
119
+ // ----------------------------------------
120
+ // Link Button
121
+ // ----------------------------------------
122
+ .btn-link {
123
+ @include button-base;
124
+ background-color: transparent;
125
+ color: var(--link);
126
+ border-color: transparent;
127
+ text-decoration: underline;
128
+
129
+ &:hover:not(:disabled) {
130
+ color: var(--link-hover);
131
+ text-decoration: none;
132
+ }
133
+ }
134
+
135
+ // ----------------------------------------
136
+ // Button Sizes
137
+ // ----------------------------------------
138
+ .btn-xs {
139
+ padding: 0.25rem 0.5rem;
140
+ font-size: var(--text-xs);
141
+ border-radius: var(--radius-sm);
142
+ }
143
+
144
+ .btn-sm {
145
+ padding: 0.375rem 0.875rem;
146
+ font-size: var(--text-sm);
147
+ }
148
+
149
+ .btn-lg {
150
+ padding: 0.875rem 1.75rem;
151
+ font-size: var(--text-lg);
152
+ }
153
+
154
+ .btn-xl {
155
+ padding: 1rem 2rem;
156
+ font-size: var(--text-xl);
157
+ border-radius: var(--radius-lg);
158
+ }
159
+
160
+ // ----------------------------------------
161
+ // Full Width Button
162
+ // ----------------------------------------
163
+ .btn-block {
164
+ display: flex;
165
+ width: 100%;
166
+ }
167
+
168
+ // ----------------------------------------
169
+ // Icon Button
170
+ // ----------------------------------------
171
+ .btn-icon {
172
+ @include button-base;
173
+ padding: 0.625rem;
174
+ aspect-ratio: 1;
175
+
176
+ svg {
177
+ width: 1.25rem;
178
+ height: 1.25rem;
179
+ }
180
+ }
181
+
182
+ .btn-icon-sm {
183
+ padding: 0.375rem;
184
+
185
+ svg {
186
+ width: 1rem;
187
+ height: 1rem;
188
+ }
189
+ }
190
+
191
+ .btn-icon-lg {
192
+ padding: 0.875rem;
193
+
194
+ svg {
195
+ width: 1.5rem;
196
+ height: 1.5rem;
197
+ }
198
+ }
199
+
200
+ // ----------------------------------------
201
+ // Rounded Buttons
202
+ // ----------------------------------------
203
+ .btn-rounded {
204
+ border-radius: var(--radius-full);
205
+ }
206
+
207
+ // ----------------------------------------
208
+ // Button with Icon
209
+ // ----------------------------------------
210
+ .btn-with-icon {
211
+ display: inline-flex;
212
+ align-items: center;
213
+ gap: 0.5rem;
214
+
215
+ svg {
216
+ width: 1.25rem;
217
+ height: 1.25rem;
218
+ flex-shrink: 0;
219
+ }
220
+ }
221
+
222
+ // ----------------------------------------
223
+ // Button Group
224
+ // ----------------------------------------
225
+ .btn-group {
226
+ display: inline-flex;
227
+
228
+ > .btn {
229
+ border-radius: 0;
230
+
231
+ &:first-child {
232
+ border-top-left-radius: var(--radius);
233
+ border-bottom-left-radius: var(--radius);
234
+ }
235
+
236
+ &:last-child {
237
+ border-top-right-radius: var(--radius);
238
+ border-bottom-right-radius: var(--radius);
239
+ }
240
+
241
+ &:not(:last-child) {
242
+ border-right: 1px solid rgba(255, 255, 255, 0.2);
243
+ }
244
+ }
245
+ }
246
+
247
+ .btn-group-vertical {
248
+ display: inline-flex;
249
+ flex-direction: column;
250
+
251
+ > .btn {
252
+ border-radius: 0;
253
+
254
+ &:first-child {
255
+ border-top-left-radius: var(--radius);
256
+ border-top-right-radius: var(--radius);
257
+ }
258
+
259
+ &:last-child {
260
+ border-bottom-left-radius: var(--radius);
261
+ border-bottom-right-radius: var(--radius);
262
+ }
263
+
264
+ &:not(:last-child) {
265
+ border-bottom: 1px solid rgba(255, 255, 255, 0.2);
266
+ }
267
+ }
268
+ }
269
+
270
+ // ----------------------------------------
271
+ // Loading State
272
+ // ----------------------------------------
273
+ .btn-loading {
274
+ position: relative;
275
+ color: transparent !important;
276
+ pointer-events: none;
277
+
278
+ &::after {
279
+ content: "";
280
+ position: absolute;
281
+ width: 1rem;
282
+ height: 1rem;
283
+ top: 50%;
284
+ left: 50%;
285
+ margin-left: -0.5rem;
286
+ margin-top: -0.5rem;
287
+ border: 2px solid currentColor;
288
+ border-radius: 50%;
289
+ border-right-color: transparent;
290
+ animation: btn-spin 0.75s linear infinite;
291
+ }
292
+ }
293
+
294
+ @keyframes btn-spin {
295
+ to {
296
+ transform: rotate(360deg);
297
+ }
298
+ }
299
+
300
+ // ----------------------------------------
301
+ // Button Toolbar
302
+ // ----------------------------------------
303
+ .btn-toolbar {
304
+ display: flex;
305
+ flex-wrap: wrap;
306
+ justify-content: flex-start;
307
+ gap: 0.5rem;
308
+
309
+ .input-group {
310
+ width: auto;
311
+ }
312
+ }
313
+
314
+ // ----------------------------------------
315
+ // Split Button
316
+ // ----------------------------------------
317
+ .btn-group > .btn-group:not(:first-child),
318
+ .btn-group > .btn:not(:first-child) {
319
+ margin-left: calc(-1 * #{$border-width});
320
+ }
321
+
322
+ // Dropdown toggle split
323
+ .dropdown-toggle-split {
324
+ padding-right: 0.5625rem;
325
+ padding-left: 0.5625rem;
326
+
327
+ &::after {
328
+ margin-left: 0;
329
+ }
330
+ }
331
+
332
+ .btn-sm + .dropdown-toggle-split {
333
+ padding-right: 0.375rem;
334
+ padding-left: 0.375rem;
335
+ }
336
+
337
+ .btn-lg + .dropdown-toggle-split {
338
+ padding-right: 0.75rem;
339
+ padding-left: 0.75rem;
340
+ }