@keenmate/pure-admin-core 1.0.0-rc01

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 (167) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +172 -0
  3. package/dist/css/main.css +11542 -0
  4. package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
  5. package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
  6. package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
  7. package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
  8. package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
  9. package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
  10. package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
  11. package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
  12. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2 +0 -0
  13. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2.1 +0 -0
  14. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2.2 +0 -0
  15. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2 +0 -0
  16. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2.1 +0 -0
  17. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2.2 +0 -0
  18. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8bH-o.woff2 +0 -0
  19. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8bH-o.woff2.1 +0 -0
  20. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2 +0 -0
  21. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2.1 +0 -0
  22. package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2.2 +0 -0
  23. package/dist/fonts/google/6aez4K2oVqwIvtE2H68T.woff2 +0 -0
  24. package/dist/fonts/google/6aez4K2oVqwIvtU2Hw.woff2 +0 -0
  25. package/dist/fonts/google/6aez4K2oVqwIvtY2H68T.woff2 +0 -0
  26. package/dist/fonts/google/6aez4K2oVqwIvtg2H68T.woff2 +0 -0
  27. package/dist/fonts/google/6aez4K2oVqwIvto2H68T.woff2 +0 -0
  28. package/dist/fonts/google/6aez4K2oVqwIvts2H68T.woff2 +0 -0
  29. package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nejog.woff2 +0 -0
  30. package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nijogp5.woff2 +0 -0
  31. package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nmjogp5.woff2 +0 -0
  32. package/dist/fonts/google/PN_xRfK9oXHga0XdZ8g_vT0.woff2 +0 -0
  33. package/dist/fonts/google/PN_xRfK9oXHga0XdZsg_.woff2 +0 -0
  34. package/dist/fonts/google/PN_xRfK9oXHga0XdaMg_vT0.woff2 +0 -0
  35. package/dist/fonts/google/TK3tWkYFABsmjsphPho.woff2 +0 -0
  36. package/dist/fonts/google/TK3tWkYFABsmjspuPho7vA.woff2 +0 -0
  37. package/dist/fonts/google/TK3tWkYFABsmjspvPho7vA.woff2 +0 -0
  38. package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjTYJwQj.woff2 +0 -0
  39. package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjXYJwQj.woff2 +0 -0
  40. package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6Vj_YJwQj.woff2 +0 -0
  41. package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjbYJwQj.woff2 +0 -0
  42. package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjvYJw.woff2 +0 -0
  43. package/dist/fonts/google/fonts-tracklist.txt +48 -0
  44. package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbBjM4.woff2 +0 -0
  45. package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbOjM7sfA.woff2 +0 -0
  46. package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbPjM7sfA.woff2 +0 -0
  47. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfLtrftV.woff2 +0 -0
  48. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfXtrftV.woff2 +0 -0
  49. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfbtrQ.woff2 +0 -0
  50. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfjtrftV.woff2 +0 -0
  51. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfntrftV.woff2 +0 -0
  52. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfrtrftV.woff2 +0 -0
  53. package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfvtrftV.woff2 +0 -0
  54. package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_B-bnBeA.woff2 +0 -0
  55. package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_C-bk.woff2 +0 -0
  56. package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_G-bnBeA.woff2 +0 -0
  57. package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_M-bnBeA.woff2 +0 -0
  58. package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_N-bnBeA.woff2 +0 -0
  59. package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_P-bnBeA.woff2 +0 -0
  60. package/package.json +60 -0
  61. package/snippets/alerts.html +281 -0
  62. package/snippets/badges.html +212 -0
  63. package/snippets/buttons.html +287 -0
  64. package/snippets/cards.html +393 -0
  65. package/snippets/checkbox-lists.html +490 -0
  66. package/snippets/code.html +225 -0
  67. package/snippets/command-palette.html +210 -0
  68. package/snippets/comparison.html +428 -0
  69. package/snippets/customization.html +142 -0
  70. package/snippets/forms.html +477 -0
  71. package/snippets/grid.html +338 -0
  72. package/snippets/layout.html +598 -0
  73. package/snippets/lists.html +232 -0
  74. package/snippets/loaders.html +183 -0
  75. package/snippets/manifest.json +388 -0
  76. package/snippets/modal-dialogs.html +411 -0
  77. package/snippets/modals.html +310 -0
  78. package/snippets/popconfirm.html +253 -0
  79. package/snippets/profile.html +264 -0
  80. package/snippets/tables.html +317 -0
  81. package/snippets/tabs.html +930 -0
  82. package/snippets/timeline.html +364 -0
  83. package/snippets/toasts.html +154 -0
  84. package/snippets/tooltips.html +411 -0
  85. package/snippets/typography.html +101 -0
  86. package/snippets/utilities.html +595 -0
  87. package/snippets/virtual-scroll.html +322 -0
  88. package/snippets/web-daterangepicker.html +634 -0
  89. package/snippets/web-multiselect.html +362 -0
  90. package/src/scss/.claude/settings.local.json +11 -0
  91. package/src/scss/_base-css-variables.scss +348 -0
  92. package/src/scss/_core.scss +99 -0
  93. package/src/scss/_fonts.scss +67 -0
  94. package/src/scss/_purecss-grid-responsive.scss +138 -0
  95. package/src/scss/_purecss-grid.scss +58 -0
  96. package/src/scss/_variables.scss +14 -0
  97. package/src/scss/core-components/_alerts.scss +212 -0
  98. package/src/scss/core-components/_badges.scss +16 -0
  99. package/src/scss/core-components/_base.scss +124 -0
  100. package/src/scss/core-components/_buttons.scss +473 -0
  101. package/src/scss/core-components/_cards.scss +285 -0
  102. package/src/scss/core-components/_checkbox-lists.scss +289 -0
  103. package/src/scss/core-components/_code.scss +141 -0
  104. package/src/scss/core-components/_command-palette.scss +518 -0
  105. package/src/scss/core-components/_comparison.scss +172 -0
  106. package/src/scss/core-components/_file-selector.scss +780 -0
  107. package/src/scss/core-components/_forms.scss +16 -0
  108. package/src/scss/core-components/_grid.scss +264 -0
  109. package/src/scss/core-components/_layout.scss +15 -0
  110. package/src/scss/core-components/_lists.scss +211 -0
  111. package/src/scss/core-components/_loaders.scss +277 -0
  112. package/src/scss/core-components/_logic-tree.scss +280 -0
  113. package/src/scss/core-components/_modals.scss +209 -0
  114. package/src/scss/core-components/_notifications.scss +253 -0
  115. package/src/scss/core-components/_pagers.scss +141 -0
  116. package/src/scss/core-components/_popconfirm.scss +170 -0
  117. package/src/scss/core-components/_profile.scss +281 -0
  118. package/src/scss/core-components/_settings-panel.scss +128 -0
  119. package/src/scss/core-components/_statistics.scss +200 -0
  120. package/src/scss/core-components/_tables.scss +555 -0
  121. package/src/scss/core-components/_tabs.scss +438 -0
  122. package/src/scss/core-components/_timeline.scss +589 -0
  123. package/src/scss/core-components/_toasts.scss +281 -0
  124. package/src/scss/core-components/_tooltips.scss +503 -0
  125. package/src/scss/core-components/_utilities.scss +241 -0
  126. package/src/scss/core-components/_web-components-theme.scss +294 -0
  127. package/src/scss/core-components/badges/_badge-base.scss +131 -0
  128. package/src/scss/core-components/badges/_badge-group.scss +25 -0
  129. package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -0
  130. package/src/scss/core-components/badges/_composite-badge.scss +70 -0
  131. package/src/scss/core-components/badges/_index.scss +10 -0
  132. package/src/scss/core-components/badges/_labels.scss +155 -0
  133. package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -0
  134. package/src/scss/core-components/forms/_form-inputs.scss +100 -0
  135. package/src/scss/core-components/forms/_form-layout.scss +66 -0
  136. package/src/scss/core-components/forms/_form-states.scss +89 -0
  137. package/src/scss/core-components/forms/_index.scss +12 -0
  138. package/src/scss/core-components/forms/_input-groups.scss +149 -0
  139. package/src/scss/core-components/forms/_input-wrapper.scss +89 -0
  140. package/src/scss/core-components/forms/_query-editor.scss +313 -0
  141. package/src/scss/core-components/layout/_index.scss +11 -0
  142. package/src/scss/core-components/layout/_layout-container.scss +105 -0
  143. package/src/scss/core-components/layout/_layout-responsive.scss +100 -0
  144. package/src/scss/core-components/layout/_navbar-elements.scss +238 -0
  145. package/src/scss/core-components/layout/_navbar.scss +71 -0
  146. package/src/scss/core-components/layout/_sidebar-states.scss +228 -0
  147. package/src/scss/core-components/layout/_sidebar.scss +177 -0
  148. package/src/scss/main.scss +7 -0
  149. package/src/scss/themes/_dark-base.scss +207 -0
  150. package/src/scss/themes/audi-light.scss +311 -0
  151. package/src/scss/themes/audi.scss +288 -0
  152. package/src/scss/themes/corporate.scss +203 -0
  153. package/src/scss/themes/dark-blue.scss +152 -0
  154. package/src/scss/themes/dark-green.scss +156 -0
  155. package/src/scss/themes/dark-red.scss +160 -0
  156. package/src/scss/themes/dark.scss +145 -0
  157. package/src/scss/themes/express.scss +281 -0
  158. package/src/scss/themes/minimal.scss +121 -0
  159. package/src/scss/utilities.scss +481 -0
  160. package/src/scss/variables/_base.scss +81 -0
  161. package/src/scss/variables/_colors.scss +148 -0
  162. package/src/scss/variables/_components.scss +509 -0
  163. package/src/scss/variables/_index.scss +13 -0
  164. package/src/scss/variables/_layout.scss +65 -0
  165. package/src/scss/variables/_spacing.scss +66 -0
  166. package/src/scss/variables/_system.scss +80 -0
  167. package/src/scss/variables/_typography.scss +37 -0
@@ -0,0 +1,438 @@
1
+ /* ========================================
2
+ Tabs Component
3
+ Standalone tabs for organizing content into separate sections
4
+ ======================================== */
5
+ @use '../variables' as *;
6
+
7
+ // Tabs container
8
+ .pa-tabs {
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ border-bottom: $border-width-base solid var(--pa-border-color);
12
+ gap: $spacing-sm;
13
+ margin-bottom: $tabs-margin-bottom;
14
+
15
+ // Tab items
16
+ &__item {
17
+ padding: $btn-padding-v $btn-padding-h;
18
+ border: none;
19
+ background: none;
20
+ color: var(--pa-text-secondary);
21
+ cursor: pointer;
22
+ transition: all $transition-fast $easing-snappy;
23
+ border-bottom: $border-width-medium solid transparent;
24
+ display: flex;
25
+ align-items: center;
26
+ gap: $spacing-sm;
27
+ font-size: $font-size-sm;
28
+ white-space: nowrap;
29
+
30
+ &:hover {
31
+ color: var(--pa-text-primary);
32
+ background-color: rgba($accent-color, $card-tab-hover-opacity);
33
+ }
34
+
35
+ &--active {
36
+ color: $accent-color;
37
+ border-bottom-color: $accent-color;
38
+ font-weight: $font-weight-semibold;
39
+ }
40
+
41
+ // Icons in tabs
42
+ i {
43
+ font-size: $font-size-sm;
44
+ }
45
+ }
46
+
47
+ // Tab content container
48
+ &__content {
49
+ // No specific styling needed, just a wrapper
50
+ }
51
+
52
+ // Tab panels
53
+ &__panel {
54
+ display: none;
55
+ padding-top: $tabs-panel-padding-top;
56
+
57
+ &--active {
58
+ display: block;
59
+ }
60
+
61
+ // Remove top margin from first heading
62
+ h4 {
63
+ margin-top: 0;
64
+ }
65
+ }
66
+
67
+ // Pills variant
68
+ &--pills {
69
+ border-bottom: none;
70
+ gap: $spacing-sm;
71
+
72
+ .pa-tabs__item {
73
+ border-radius: $border-radius-lg;
74
+ border: $border-width-base solid transparent;
75
+ background-color: var(--pa-primary-bg);
76
+
77
+ &:hover {
78
+ background-color: rgba($accent-color, $tabs-pill-hover-opacity);
79
+ border-color: rgba($accent-color, $tabs-pill-border-opacity);
80
+ color: var(--pa-text-primary);
81
+ }
82
+
83
+ &--active {
84
+ background-color: var(--pa-accent);
85
+ color: white;
86
+ border-color: var(--pa-accent);
87
+ }
88
+ }
89
+ }
90
+
91
+ // Boxed variant
92
+ &--boxed {
93
+ border: $border-width-base solid var(--pa-border-color);
94
+ border-radius: $border-radius-lg;
95
+ padding: $spacing-xs;
96
+ background-color: var(--pa-primary-bg);
97
+ gap: $spacing-xs;
98
+
99
+ .pa-tabs__item {
100
+ border-radius: $border-radius;
101
+ border: none;
102
+ border-bottom: none;
103
+ padding: $spacing-sm $spacing-md;
104
+
105
+ &:hover {
106
+ background-color: rgba($accent-color, $tabs-boxed-hover-opacity);
107
+ color: var(--pa-text-primary);
108
+ }
109
+
110
+ &--active {
111
+ background-color: var(--pa-card-bg);
112
+ color: var(--pa-text-primary);
113
+ box-shadow: $shadow-sm;
114
+ }
115
+ }
116
+ }
117
+
118
+ // Vertical tabs
119
+ &--vertical {
120
+ flex-direction: column;
121
+ border-bottom: none;
122
+ border-right: $border-width-base solid var(--pa-border-color);
123
+ gap: 0;
124
+ margin-bottom: 0;
125
+ padding-right: 0;
126
+ width: fit-content;
127
+ min-width: max-content;
128
+
129
+ .pa-tabs__item {
130
+ justify-content: flex-start;
131
+ border-bottom: none;
132
+ border-right: $border-width-medium solid transparent;
133
+ padding: $spacing-sm;
134
+ border-radius: $border-radius 0 0 $border-radius;
135
+ gap: $tabs-vertical-item-gap;
136
+ white-space: nowrap;
137
+ min-height: 4rem; // Default height for vertical tabs
138
+
139
+ &:hover {
140
+ background-color: rgba($accent-color, $tabs-vertical-hover-opacity);
141
+ }
142
+
143
+ &--active {
144
+ border-right-color: $accent-color;
145
+ background-color: rgba($accent-color, $tabs-vertical-active-opacity);
146
+ }
147
+
148
+ // Icon with fixed width (follows sidebar pattern)
149
+ i {
150
+ width: $tabs-vertical-icon-size;
151
+ min-width: $tabs-vertical-icon-size;
152
+ display: flex;
153
+ align-items: center;
154
+ justify-content: center;
155
+ flex-shrink: 0;
156
+ }
157
+
158
+ // Text with ellipsis overflow (follows sidebar pattern)
159
+ span {
160
+ overflow: hidden;
161
+ text-overflow: ellipsis;
162
+ white-space: nowrap;
163
+ }
164
+ }
165
+ }
166
+
167
+ // Centered tabs
168
+ &--centered {
169
+ justify-content: center;
170
+
171
+ // For vertical tabs, center the content within each item
172
+ &.pa-tabs--vertical {
173
+ .pa-tabs__item {
174
+ display: flex !important;
175
+ justify-content: center;
176
+ align-items: center;
177
+ }
178
+ }
179
+ }
180
+
181
+ // No-wrap tabs - prevent wrapping (opt-out of default behavior)
182
+ &--nowrap {
183
+ flex-wrap: nowrap;
184
+ }
185
+
186
+ // Scrollable tabs - horizontal scroll with arrow navigation
187
+ &--scrollable {
188
+ position: relative;
189
+ overflow: hidden;
190
+ flex-wrap: nowrap; // Force no-wrap for scrolling to work
191
+
192
+ // Inner scrollable container
193
+ .pa-tabs__scroll-container {
194
+ display: flex;
195
+ overflow-x: auto;
196
+ scroll-behavior: smooth;
197
+ scrollbar-width: none; // Firefox
198
+ gap: $spacing-sm;
199
+
200
+ &::-webkit-scrollbar {
201
+ display: none; // Chrome, Safari
202
+ }
203
+ }
204
+
205
+ // Scroll arrows
206
+ .pa-tabs__scroll-btn {
207
+ position: absolute;
208
+ top: 0;
209
+ bottom: 0;
210
+ width: $tabs-scroll-btn-width;
211
+ border: none;
212
+ background: linear-gradient(to right, color-mix(in srgb, var(--pa-primary-bg) 95%, transparent), transparent);
213
+ color: var(--pa-text-primary);
214
+ cursor: pointer;
215
+ z-index: 1;
216
+ display: flex;
217
+ align-items: center;
218
+ justify-content: center;
219
+ transition: opacity $transition-fast;
220
+ opacity: 0;
221
+ pointer-events: none;
222
+
223
+ &:hover {
224
+ background: linear-gradient(to right, var(--pa-primary-bg), color-mix(in srgb, var(--pa-primary-bg) 80%, transparent));
225
+ }
226
+
227
+ &--left {
228
+ left: 0;
229
+ background: linear-gradient(to right, color-mix(in srgb, var(--pa-primary-bg) 95%, transparent), transparent);
230
+ }
231
+
232
+ &--right {
233
+ right: 0;
234
+ background: linear-gradient(to left, color-mix(in srgb, var(--pa-primary-bg) 95%, transparent), transparent);
235
+ }
236
+
237
+ &--visible {
238
+ opacity: 1;
239
+ pointer-events: auto;
240
+ }
241
+
242
+ i {
243
+ font-size: $font-size-lg;
244
+ }
245
+ }
246
+ }
247
+
248
+ // Collapse tabs - show only icons when constrained, active tab shows full title
249
+ &--collapse {
250
+ flex-wrap: nowrap; // Don't wrap collapsed tabs
251
+
252
+ // Hide text spans by default (only show icons)
253
+ .pa-tabs__item {
254
+ span {
255
+ display: none;
256
+ }
257
+
258
+ // Active tab shows both icon and text
259
+ &--active {
260
+ span {
261
+ display: inline;
262
+ }
263
+ }
264
+
265
+ // Tooltips on collapsed tabs
266
+ position: relative;
267
+ }
268
+ }
269
+
270
+ // Full width tabs
271
+ &--full {
272
+ .pa-tabs__item {
273
+ flex: 1;
274
+ justify-content: center;
275
+ }
276
+ }
277
+
278
+ // Size variants
279
+ &--sm {
280
+ .pa-tabs__item {
281
+ padding: $btn-padding-sm-v $btn-padding-sm-h;
282
+ font-size: $font-size-xs;
283
+
284
+ i {
285
+ font-size: $font-size-xs;
286
+ }
287
+ }
288
+ }
289
+
290
+ &--lg {
291
+ .pa-tabs__item {
292
+ padding: $btn-padding-lg-v $btn-padding-lg-h;
293
+ font-size: $font-size-lg;
294
+
295
+ i {
296
+ font-size: $font-size-lg;
297
+ }
298
+ }
299
+ }
300
+
301
+ // Horizontal tabs container (for wrapping tabs + content)
302
+ &__container {
303
+ // Bordered variant - wraps entire tabs system in card-like border
304
+ &--bordered {
305
+ border: $border-width-base solid var(--pa-border-color);
306
+ border-radius: $border-radius-lg;
307
+ padding: $card-body-padding;
308
+ background-color: var(--pa-card-bg);
309
+
310
+ // Remove bottom border from tabs since wrapper has border
311
+ .pa-tabs {
312
+ border-bottom: none;
313
+ padding-bottom: $spacing-md;
314
+ margin-bottom: 0;
315
+ border-bottom: $border-width-base solid var(--pa-border-color); // Divider between tabs and content
316
+ }
317
+
318
+ // Remove top padding from content since wrapper provides spacing
319
+ .pa-tabs__content {
320
+ padding-top: $spacing-md;
321
+ }
322
+ }
323
+ }
324
+
325
+ // Vertical tabs layout wrapper (for proper spacing with content)
326
+ &__vertical-layout {
327
+ display: flex;
328
+ gap: $spacing-base;
329
+ align-items: flex-start;
330
+
331
+ // All panels in vertical layout should have no top padding (aligned horizontally with tabs)
332
+ .pa-tabs__content .pa-tabs__panel {
333
+ padding-top: 0;
334
+ }
335
+
336
+ // Bordered variant - wraps entire tabs system in card-like border
337
+ &--bordered {
338
+ border: $border-width-base solid var(--pa-border-color);
339
+ border-radius: $border-radius-lg;
340
+ padding: $card-body-padding;
341
+ background-color: var(--pa-card-bg);
342
+
343
+ // Add divider between tabs and content (gap already provides spacing)
344
+ .pa-tabs--vertical {
345
+ border-right: $border-width-base solid var(--pa-border-color);
346
+
347
+ // Make tab items full width so active border reaches divider
348
+ .pa-tabs__item {
349
+ width: 100%;
350
+ }
351
+ }
352
+ }
353
+ }
354
+
355
+ // Fixed width tab items - multipliers of 1rem
356
+ .pa-tabs__item {
357
+ &--w-1x {
358
+ min-width: 1rem;
359
+ }
360
+
361
+ &--w-2x {
362
+ min-width: 2rem;
363
+ }
364
+
365
+ &--w-3x {
366
+ min-width: 3rem;
367
+ }
368
+
369
+ &--w-4x {
370
+ min-width: 4rem;
371
+ }
372
+
373
+ &--w-5x {
374
+ min-width: 5rem;
375
+ }
376
+
377
+ &--w-6x {
378
+ min-width: 6rem;
379
+ }
380
+
381
+ &--w-7x {
382
+ min-width: 7rem;
383
+ }
384
+
385
+ &--w-8x {
386
+ min-width: 8rem;
387
+ }
388
+
389
+ &--w-9x {
390
+ min-width: 9rem;
391
+ }
392
+
393
+ &--w-10x {
394
+ min-width: 10rem;
395
+ }
396
+
397
+ // Fixed height tab items - multipliers of 1rem
398
+ &--h-1x {
399
+ min-height: 1rem;
400
+ }
401
+
402
+ &--h-2x {
403
+ min-height: 2rem;
404
+ }
405
+
406
+ &--h-3x {
407
+ min-height: 3rem;
408
+ }
409
+
410
+ &--h-4x {
411
+ min-height: 4rem;
412
+ }
413
+
414
+ &--h-5x {
415
+ min-height: 5rem;
416
+ }
417
+
418
+ &--h-6x {
419
+ min-height: 6rem;
420
+ }
421
+
422
+ &--h-7x {
423
+ min-height: 7rem;
424
+ }
425
+
426
+ &--h-8x {
427
+ min-height: 8rem;
428
+ }
429
+
430
+ &--h-9x {
431
+ min-height: 9rem;
432
+ }
433
+
434
+ &--h-10x {
435
+ min-height: 10rem;
436
+ }
437
+ }
438
+ }