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,239 @@
1
+ // ========================================
2
+ // ZenKit - Tabs & Nav Tabs
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+
7
+ // ----------------------------------------
8
+ // Base Nav
9
+ // ----------------------------------------
10
+ .nav {
11
+ --nav-link-padding-x: 1rem;
12
+ --nav-link-padding-y: 0.5rem;
13
+ --nav-link-font-size: var(--text-base);
14
+ --nav-link-font-weight: #{$font-weight-normal};
15
+ --nav-link-color: var(--link);
16
+ --nav-link-hover-color: var(--link-hover);
17
+ --nav-link-disabled-color: var(--text-muted);
18
+
19
+ display: flex;
20
+ flex-wrap: wrap;
21
+ padding-left: 0;
22
+ margin-bottom: 0;
23
+ list-style: none;
24
+ }
25
+
26
+ // ----------------------------------------
27
+ // Nav Link
28
+ // ----------------------------------------
29
+ .nav-link {
30
+ display: block;
31
+ padding: var(--nav-link-padding-y) var(--nav-link-padding-x);
32
+ font-size: var(--nav-link-font-size);
33
+ font-weight: var(--nav-link-font-weight);
34
+ color: var(--nav-link-color);
35
+ text-decoration: none;
36
+ background: none;
37
+ border: 0;
38
+ transition: color $transition-fast ease-in-out,
39
+ background-color $transition-fast ease-in-out,
40
+ border-color $transition-fast ease-in-out;
41
+
42
+ &:hover,
43
+ &:focus {
44
+ color: var(--nav-link-hover-color);
45
+ }
46
+
47
+ &:focus-visible {
48
+ outline: 0;
49
+ box-shadow: 0 0 0 0.25rem #{rgba($primary, 0.25)};
50
+ }
51
+
52
+ &.disabled,
53
+ &:disabled {
54
+ color: var(--nav-link-disabled-color);
55
+ pointer-events: none;
56
+ cursor: default;
57
+ }
58
+ }
59
+
60
+ // ----------------------------------------
61
+ // Nav Tabs
62
+ // ----------------------------------------
63
+ .nav-tabs {
64
+ --nav-tabs-border-width: #{$border-width};
65
+ --nav-tabs-border-color: var(--border);
66
+ --nav-tabs-border-radius: var(--radius);
67
+ --nav-tabs-link-hover-border-color: var(--gray-200) var(--gray-200) var(--border);
68
+ --nav-tabs-link-active-color: var(--text);
69
+ --nav-tabs-link-active-bg: var(--bg);
70
+ --nav-tabs-link-active-border-color: var(--border) var(--border) var(--bg);
71
+
72
+ border-bottom: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
73
+
74
+ .nav-link {
75
+ margin-bottom: calc(-1 * var(--nav-tabs-border-width));
76
+ border: var(--nav-tabs-border-width) solid transparent;
77
+ border-top-left-radius: var(--nav-tabs-border-radius);
78
+ border-top-right-radius: var(--nav-tabs-border-radius);
79
+
80
+ &:hover,
81
+ &:focus {
82
+ isolation: isolate;
83
+ border-color: var(--nav-tabs-link-hover-border-color);
84
+ }
85
+ }
86
+
87
+ .nav-link.active,
88
+ .nav-item.show .nav-link {
89
+ color: var(--nav-tabs-link-active-color);
90
+ background-color: var(--nav-tabs-link-active-bg);
91
+ border-color: var(--nav-tabs-link-active-border-color);
92
+ }
93
+
94
+ .dropdown-menu {
95
+ margin-top: calc(-1 * var(--nav-tabs-border-width));
96
+ border-top-left-radius: 0;
97
+ border-top-right-radius: 0;
98
+ }
99
+ }
100
+
101
+ // ----------------------------------------
102
+ // Nav Pills
103
+ // ----------------------------------------
104
+ .nav-pills {
105
+ --nav-pills-border-radius: var(--radius);
106
+ --nav-pills-link-active-color: var(--white);
107
+ --nav-pills-link-active-bg: var(--primary);
108
+
109
+ .nav-link {
110
+ border-radius: var(--nav-pills-border-radius);
111
+ }
112
+
113
+ .nav-link.active,
114
+ .show > .nav-link {
115
+ color: var(--nav-pills-link-active-color);
116
+ background-color: var(--nav-pills-link-active-bg);
117
+ }
118
+ }
119
+
120
+ // ----------------------------------------
121
+ // Nav Underline
122
+ // ----------------------------------------
123
+ .nav-underline {
124
+ --nav-underline-gap: 1rem;
125
+ --nav-underline-border-width: 0.125rem;
126
+ --nav-underline-link-active-color: var(--primary);
127
+
128
+ gap: var(--nav-underline-gap);
129
+ border-bottom: 0;
130
+
131
+ .nav-link {
132
+ padding-right: 0;
133
+ padding-left: 0;
134
+ border-bottom: var(--nav-underline-border-width) solid transparent;
135
+
136
+ &:hover,
137
+ &:focus {
138
+ border-bottom-color: currentColor;
139
+ }
140
+ }
141
+
142
+ .nav-link.active,
143
+ .show > .nav-link {
144
+ font-weight: $font-weight-semibold;
145
+ color: var(--nav-underline-link-active-color);
146
+ border-bottom-color: currentColor;
147
+ }
148
+ }
149
+
150
+ // ----------------------------------------
151
+ // Nav Fill & Justify
152
+ // ----------------------------------------
153
+ .nav-fill {
154
+ > .nav-link,
155
+ .nav-item {
156
+ flex: 1 1 auto;
157
+ text-align: center;
158
+ }
159
+ }
160
+
161
+ .nav-justified {
162
+ > .nav-link,
163
+ .nav-item {
164
+ flex-basis: 0;
165
+ flex-grow: 1;
166
+ text-align: center;
167
+ }
168
+ }
169
+
170
+ // ----------------------------------------
171
+ // Tab Content
172
+ // ----------------------------------------
173
+ .tab-content {
174
+ > .tab-pane {
175
+ display: none;
176
+ }
177
+
178
+ > .active {
179
+ display: block;
180
+ }
181
+ }
182
+
183
+ // ----------------------------------------
184
+ // Tab Pane Fade
185
+ // ----------------------------------------
186
+ .tab-pane.fade {
187
+ opacity: 0;
188
+ transition: opacity $transition-fast linear;
189
+ }
190
+
191
+ .tab-pane.fade.show {
192
+ opacity: 1;
193
+ }
194
+
195
+ // ----------------------------------------
196
+ // Vertical Tabs
197
+ // ----------------------------------------
198
+ .nav-tabs-vertical {
199
+ flex-direction: column;
200
+ border-bottom: 0;
201
+ border-right: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
202
+
203
+ .nav-link {
204
+ margin-right: calc(-1 * var(--nav-tabs-border-width));
205
+ margin-bottom: 0;
206
+ border-radius: 0;
207
+ border-top-left-radius: var(--nav-tabs-border-radius);
208
+ border-bottom-left-radius: var(--nav-tabs-border-radius);
209
+
210
+ &:hover,
211
+ &:focus {
212
+ border-color: var(--gray-200) var(--border) var(--gray-200) var(--gray-200);
213
+ }
214
+ }
215
+
216
+ .nav-link.active,
217
+ .nav-item.show .nav-link {
218
+ border-color: var(--border) var(--bg) var(--border) var(--border);
219
+ }
220
+ }
221
+
222
+ .nav-pills-vertical {
223
+ flex-direction: column;
224
+ }
225
+
226
+ // ----------------------------------------
227
+ // Nav Sizes
228
+ // ----------------------------------------
229
+ .nav-sm {
230
+ --nav-link-padding-x: 0.75rem;
231
+ --nav-link-padding-y: 0.375rem;
232
+ --nav-link-font-size: var(--text-sm);
233
+ }
234
+
235
+ .nav-lg {
236
+ --nav-link-padding-x: 1.25rem;
237
+ --nav-link-padding-y: 0.625rem;
238
+ --nav-link-font-size: var(--text-lg);
239
+ }
@@ -0,0 +1,317 @@
1
+ // ========================================
2
+ // ZenKit - Tags
3
+ // ========================================
4
+
5
+ @use '../abstracts/variables' as *;
6
+
7
+ // ----------------------------------------
8
+ // Base Tag
9
+ // ----------------------------------------
10
+ .tag {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ gap: 0.25rem;
14
+ padding: 0.25rem 0.5rem;
15
+ font-size: var(--text-xs);
16
+ font-weight: $font-weight-medium;
17
+ line-height: 1;
18
+ color: var(--gray-700);
19
+ background-color: var(--gray-100);
20
+ border: $border-width solid transparent;
21
+ border-radius: var(--radius-sm);
22
+ white-space: nowrap;
23
+ transition: all var(--transition-fast) ease-in-out;
24
+ }
25
+
26
+ // ----------------------------------------
27
+ // Tag Sizes
28
+ // ----------------------------------------
29
+ .tag-sm {
30
+ padding: 0.125rem 0.375rem;
31
+ font-size: 0.625rem;
32
+ }
33
+
34
+ .tag-lg {
35
+ padding: 0.375rem 0.75rem;
36
+ font-size: var(--text-sm);
37
+ }
38
+
39
+ // ----------------------------------------
40
+ // Tag Colors
41
+ // ----------------------------------------
42
+ .tag-primary {
43
+ color: var(--primary-700);
44
+ background-color: var(--primary-50);
45
+ }
46
+
47
+ .tag-secondary {
48
+ color: var(--gray-700);
49
+ background-color: var(--gray-100);
50
+ }
51
+
52
+ .tag-success {
53
+ color: $success-dark;
54
+ background-color: $success-light;
55
+ }
56
+
57
+ .tag-danger {
58
+ color: $danger-dark;
59
+ background-color: $danger-light;
60
+ }
61
+
62
+ .tag-warning {
63
+ color: $warning-dark;
64
+ background-color: $warning-light;
65
+ }
66
+
67
+ .tag-info {
68
+ color: $info-dark;
69
+ background-color: $info-light;
70
+ }
71
+
72
+ .tag-dark {
73
+ color: var(--white);
74
+ background-color: var(--gray-800);
75
+ }
76
+
77
+ .tag-light {
78
+ color: var(--gray-700);
79
+ background-color: var(--gray-50);
80
+ border-color: var(--gray-200);
81
+ }
82
+
83
+ // ----------------------------------------
84
+ // Solid Tags
85
+ // ----------------------------------------
86
+ .tag-solid-primary {
87
+ color: var(--white);
88
+ background-color: var(--primary);
89
+ }
90
+
91
+ .tag-solid-success {
92
+ color: var(--white);
93
+ background-color: $success;
94
+ }
95
+
96
+ .tag-solid-danger {
97
+ color: var(--white);
98
+ background-color: $danger;
99
+ }
100
+
101
+ .tag-solid-warning {
102
+ color: var(--gray-900);
103
+ background-color: $warning;
104
+ }
105
+
106
+ .tag-solid-info {
107
+ color: var(--white);
108
+ background-color: $info;
109
+ }
110
+
111
+ // ----------------------------------------
112
+ // Outlined Tags
113
+ // ----------------------------------------
114
+ .tag-outline-primary {
115
+ color: var(--primary);
116
+ background-color: transparent;
117
+ border-color: var(--primary);
118
+ }
119
+
120
+ .tag-outline-success {
121
+ color: $success;
122
+ background-color: transparent;
123
+ border-color: $success;
124
+ }
125
+
126
+ .tag-outline-danger {
127
+ color: $danger;
128
+ background-color: transparent;
129
+ border-color: $danger;
130
+ }
131
+
132
+ .tag-outline-warning {
133
+ color: $warning-dark;
134
+ background-color: transparent;
135
+ border-color: $warning;
136
+ }
137
+
138
+ .tag-outline-info {
139
+ color: $info;
140
+ background-color: transparent;
141
+ border-color: $info;
142
+ }
143
+
144
+ .tag-outline-dark {
145
+ color: var(--gray-800);
146
+ background-color: transparent;
147
+ border-color: var(--gray-800);
148
+ }
149
+
150
+ // ----------------------------------------
151
+ // Rounded Tags (Pill)
152
+ // ----------------------------------------
153
+ .tag-rounded {
154
+ border-radius: var(--radius-full);
155
+ }
156
+
157
+ // ----------------------------------------
158
+ // Tag with Icon
159
+ // ----------------------------------------
160
+ .tag-icon {
161
+ display: inline-flex;
162
+ align-items: center;
163
+ justify-content: center;
164
+ width: 0.875rem;
165
+ height: 0.875rem;
166
+ flex-shrink: 0;
167
+
168
+ svg {
169
+ width: 100%;
170
+ height: 100%;
171
+ }
172
+ }
173
+
174
+ // ----------------------------------------
175
+ // Closable Tag
176
+ // ----------------------------------------
177
+ .tag-closable {
178
+ padding-right: 0.25rem;
179
+ }
180
+
181
+ .tag-close {
182
+ display: inline-flex;
183
+ align-items: center;
184
+ justify-content: center;
185
+ width: 1rem;
186
+ height: 1rem;
187
+ margin-left: 0.125rem;
188
+ padding: 0;
189
+ color: currentColor;
190
+ opacity: 0.6;
191
+ background: none;
192
+ border: none;
193
+ border-radius: var(--radius-sm);
194
+ cursor: pointer;
195
+ transition: opacity var(--transition-fast) ease-in-out;
196
+
197
+ &:hover {
198
+ opacity: 1;
199
+ }
200
+
201
+ svg {
202
+ width: 0.625rem;
203
+ height: 0.625rem;
204
+ }
205
+ }
206
+
207
+ // ----------------------------------------
208
+ // Tag Group
209
+ // ----------------------------------------
210
+ .tag-group {
211
+ display: flex;
212
+ flex-wrap: wrap;
213
+ gap: 0.5rem;
214
+ }
215
+
216
+ .tag-group-sm {
217
+ gap: 0.25rem;
218
+ }
219
+
220
+ // ----------------------------------------
221
+ // Clickable/Interactive Tag
222
+ // ----------------------------------------
223
+ .tag-clickable {
224
+ cursor: pointer;
225
+
226
+ &:hover {
227
+ filter: brightness(0.95);
228
+ }
229
+
230
+ &:active {
231
+ transform: scale(0.98);
232
+ }
233
+ }
234
+
235
+ // ----------------------------------------
236
+ // Checkable Tag
237
+ // ----------------------------------------
238
+ .tag-checkable {
239
+ cursor: pointer;
240
+ user-select: none;
241
+
242
+ &:hover {
243
+ border-color: var(--primary);
244
+ }
245
+ }
246
+
247
+ .tag-checkable-checked {
248
+ color: var(--white);
249
+ background-color: var(--primary);
250
+ border-color: var(--primary);
251
+ }
252
+
253
+ // ----------------------------------------
254
+ // Tag with Dot/Status
255
+ // ----------------------------------------
256
+ .tag-dot {
257
+ display: inline-flex;
258
+ align-items: center;
259
+ gap: 0.375rem;
260
+
261
+ &::before {
262
+ content: "";
263
+ width: 0.375rem;
264
+ height: 0.375rem;
265
+ border-radius: 50%;
266
+ background-color: currentColor;
267
+ }
268
+ }
269
+
270
+ .tag-dot-success::before {
271
+ background-color: $success;
272
+ }
273
+
274
+ .tag-dot-danger::before {
275
+ background-color: $danger;
276
+ }
277
+
278
+ .tag-dot-warning::before {
279
+ background-color: $warning;
280
+ }
281
+
282
+ .tag-dot-info::before {
283
+ background-color: $info;
284
+ }
285
+
286
+ // ----------------------------------------
287
+ // Borderless Tag
288
+ // ----------------------------------------
289
+ .tag-borderless {
290
+ border-color: transparent;
291
+ background-color: transparent;
292
+ padding: 0.25rem 0;
293
+ }
294
+
295
+ // ----------------------------------------
296
+ // Tag with Avatar
297
+ // ----------------------------------------
298
+ .tag-avatar {
299
+ padding-left: 0.125rem;
300
+
301
+ img {
302
+ width: 1.25rem;
303
+ height: 1.25rem;
304
+ border-radius: 50%;
305
+ object-fit: cover;
306
+ }
307
+ }
308
+
309
+ .tag-lg.tag-avatar img {
310
+ width: 1.5rem;
311
+ height: 1.5rem;
312
+ }
313
+
314
+ .tag-sm.tag-avatar img {
315
+ width: 1rem;
316
+ height: 1rem;
317
+ }