@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,16 @@
1
+ /* ========================================
2
+ Form Components
3
+ Form groups, inputs, selects, textareas, checkboxes, radio buttons, states
4
+ ======================================== */
5
+
6
+ // ============================================================================
7
+ // BACKWARD COMPATIBILITY AGGREGATOR
8
+ // This file re-exports all form components from the modular forms/ directory.
9
+ // For new code, prefer importing from forms/ directly:
10
+ // @use 'forms' as *;
11
+ // or specific modules:
12
+ // @use 'forms/form-inputs';
13
+ // @use 'forms/checkboxes-radios';
14
+ // ============================================================================
15
+
16
+ @forward 'forms/index';
@@ -0,0 +1,264 @@
1
+ // ============================================================================
2
+ // NATIVE GRID SYSTEM
3
+ // ============================================================================
4
+ // Flexbox-based grid with percentage and fraction columns
5
+ // Replaces PureCSS grid dependency
6
+ @use '../variables' as *;
7
+ //
8
+ // Naming convention:
9
+ // - .pa-row → flex container
10
+ // - .pa-col → auto-equal width column
11
+ // - .pa-col-{n} → percentage width in 5% increments (5, 10, 15... 100)
12
+ // - .pa-col-{x}-{y} → fraction width (1-2, 1-3, 2-3, 1-4, 3-4, 1-6, 5-6, etc.)
13
+ // - .pa-col-{bp}-{n} → responsive variants (sm, md, lg, xl)
14
+ // - .pa-offset-{n} → left margin offset
15
+ // ============================================================================
16
+
17
+ @use "sass:math";
18
+
19
+ // Configuration (note: $grid-breakpoints is in _variables.scss for shared use)
20
+ $grid-gutter: 0.8rem !default; // 8px gutter on each side (with 10px base), total gap = 16px
21
+
22
+ // Column sizes - 5% increments (n*5, n=1-20)
23
+ $grid-columns-5: (5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100);
24
+
25
+ // Column sizes - fractions (for unintuitive percentages)
26
+ $grid-columns-fractions: (
27
+ '1-2': 50%,
28
+ '1-3': 33.333%,
29
+ '2-3': 66.667%,
30
+ '1-4': 25%,
31
+ '3-4': 75%,
32
+ '1-5': 20%,
33
+ '2-5': 40%,
34
+ '3-5': 60%,
35
+ '4-5': 80%,
36
+ '1-6': 16.667%,
37
+ '5-6': 83.333%,
38
+ '1-12': 8.333%,
39
+ '5-12': 41.667%,
40
+ '7-12': 58.333%,
41
+ '11-12': 91.667%
42
+ );
43
+
44
+ // ============================================================================
45
+ // ROW (Container)
46
+ // ============================================================================
47
+ .pa-row {
48
+ display: flex;
49
+ flex-wrap: wrap;
50
+ margin-left: -$grid-gutter;
51
+ margin-right: -$grid-gutter;
52
+
53
+ // Nested rows reset margins
54
+ .pa-row {
55
+ margin-left: 0;
56
+ margin-right: 0;
57
+ }
58
+ }
59
+
60
+ // Row modifiers
61
+ .pa-row--no-gutter {
62
+ margin-left: 0;
63
+ margin-right: 0;
64
+
65
+ > [class*="pa-col"] {
66
+ padding-left: 0;
67
+ padding-right: 0;
68
+ }
69
+ }
70
+
71
+ .pa-row--center {
72
+ justify-content: center;
73
+ }
74
+
75
+ .pa-row--end {
76
+ justify-content: flex-end;
77
+ }
78
+
79
+ .pa-row--between {
80
+ justify-content: space-between;
81
+ }
82
+
83
+ .pa-row--around {
84
+ justify-content: space-around;
85
+ }
86
+
87
+ .pa-row--stretch {
88
+ align-items: stretch;
89
+ }
90
+
91
+ .pa-row--top {
92
+ align-items: flex-start;
93
+ }
94
+
95
+ .pa-row--middle {
96
+ align-items: center;
97
+ }
98
+
99
+ .pa-row--bottom {
100
+ align-items: flex-end;
101
+ }
102
+
103
+ .pa-row--same-height {
104
+ > [class*="pa-col"] {
105
+ > .pa-card {
106
+ height: 100%;
107
+ }
108
+ }
109
+ }
110
+
111
+ // ============================================================================
112
+ // COLUMN (Base)
113
+ // ============================================================================
114
+ .pa-col {
115
+ flex: 1;
116
+ padding-left: $grid-gutter;
117
+ padding-right: $grid-gutter;
118
+ min-width: 0; // Prevent content overflow
119
+ }
120
+
121
+ // Auto-width column
122
+ .pa-col-auto {
123
+ flex: 0 0 auto;
124
+ width: auto;
125
+ padding-left: $grid-gutter;
126
+ padding-right: $grid-gutter;
127
+ }
128
+
129
+ // ============================================================================
130
+ // PERCENTAGE COLUMNS (Base - 5% increments)
131
+ // ============================================================================
132
+ @each $size in $grid-columns-5 {
133
+ .pa-col-#{$size} {
134
+ flex: 0 0 math.percentage(math.div($size, 100));
135
+ max-width: math.percentage(math.div($size, 100));
136
+ padding-left: $grid-gutter;
137
+ padding-right: $grid-gutter;
138
+ min-width: 0; // Prevent content overflow
139
+ }
140
+ }
141
+
142
+ // ============================================================================
143
+ // FRACTION COLUMNS (Base - intuitive naming)
144
+ // ============================================================================
145
+ @each $name, $width in $grid-columns-fractions {
146
+ .pa-col-#{$name} {
147
+ flex: 0 0 $width;
148
+ max-width: $width;
149
+ padding-left: $grid-gutter;
150
+ padding-right: $grid-gutter;
151
+ min-width: 0; // Prevent content overflow
152
+ }
153
+ }
154
+
155
+ // ============================================================================
156
+ // OFFSETS (Base - 5% increments)
157
+ // ============================================================================
158
+ @each $size in $grid-columns-5 {
159
+ @if $size < 100 {
160
+ .pa-offset-#{$size} {
161
+ margin-left: math.percentage(math.div($size, 100));
162
+ }
163
+ }
164
+ }
165
+
166
+ // ============================================================================
167
+ // RESPONSIVE COLUMNS & OFFSETS
168
+ // ============================================================================
169
+ @each $bp, $min-width in $grid-breakpoints {
170
+ @media (min-width: $min-width) {
171
+ // Responsive percentage columns (5% increments)
172
+ @each $size in $grid-columns-5 {
173
+ .pa-col-#{$bp}-#{$size} {
174
+ flex: 0 0 math.percentage(math.div($size, 100));
175
+ max-width: math.percentage(math.div($size, 100));
176
+ min-width: 0; // Prevent content overflow
177
+ }
178
+ }
179
+
180
+ // Responsive fraction columns
181
+ @each $name, $width in $grid-columns-fractions {
182
+ .pa-col-#{$bp}-#{$name} {
183
+ flex: 0 0 $width;
184
+ max-width: $width;
185
+ min-width: 0; // Prevent content overflow
186
+ }
187
+ }
188
+
189
+ // Responsive offsets (5% increments)
190
+ @each $size in $grid-columns-5 {
191
+ @if $size < 100 {
192
+ .pa-offset-#{$bp}-#{$size} {
193
+ margin-left: math.percentage(math.div($size, 100));
194
+ }
195
+ }
196
+ }
197
+
198
+ // Responsive auto column
199
+ .pa-col-#{$bp}-auto {
200
+ flex: 0 0 auto;
201
+ width: auto;
202
+ }
203
+ }
204
+ }
205
+
206
+ // ============================================================================
207
+ // COLUMN MODIFIERS
208
+ // ============================================================================
209
+ .pa-col--no-padding {
210
+ padding-left: 0;
211
+ padding-right: 0;
212
+ }
213
+
214
+ .pa-col--grow {
215
+ flex-grow: 1;
216
+ }
217
+
218
+ .pa-col--shrink {
219
+ flex-shrink: 1;
220
+ }
221
+
222
+ // ============================================================================
223
+ // VISIBILITY HELPERS (Responsive)
224
+ // ============================================================================
225
+ .pa-hide {
226
+ display: none !important;
227
+ }
228
+
229
+ .pa-show {
230
+ display: block !important;
231
+ }
232
+
233
+ @each $bp, $min-width in $grid-breakpoints {
234
+ // Hide at breakpoint and up
235
+ @media (min-width: $min-width) {
236
+ .pa-hide-#{$bp} {
237
+ display: none !important;
238
+ }
239
+
240
+ .pa-show-#{$bp} {
241
+ display: block !important;
242
+ }
243
+ }
244
+
245
+ // Hide below breakpoint
246
+ @media (max-width: $min-width - 1px) {
247
+ .pa-hide-below-#{$bp} {
248
+ display: none !important;
249
+ }
250
+
251
+ .pa-show-below-#{$bp} {
252
+ display: block !important;
253
+ }
254
+ }
255
+ }
256
+
257
+ // ============================================================================
258
+ // REMOVE BOTTOM PADDING IN CARDS
259
+ // ============================================================================
260
+ // Remove bottom padding from grid columns inside cards to avoid conflicts
261
+ .pa-card__body .pa-row > [class*="pa-col"] {
262
+ padding-bottom: 0;
263
+ }
264
+
@@ -0,0 +1,15 @@
1
+ /* ========================================
2
+ Layout V2 - Based on Testbench Structure
3
+ ======================================== */
4
+
5
+ // ============================================================================
6
+ // BACKWARD COMPATIBILITY AGGREGATOR
7
+ // This file re-exports all layout components from the modular layout/ directory.
8
+ // For new code, prefer importing from layout/ directly:
9
+ // @use 'layout' as *;
10
+ // or specific modules:
11
+ // @use 'layout/navbar';
12
+ // @use 'layout/sidebar';
13
+ // ============================================================================
14
+
15
+ @forward 'layout/index';
@@ -0,0 +1,211 @@
1
+ /* ========================================
2
+ List Components
3
+ List items with avatars, titles, subtitles, and meta information
4
+ ======================================== */
5
+ @use '../variables' as *;
6
+
7
+ // Basic HTML Lists (ul, ol, dl)
8
+ .pa-list-basic {
9
+ margin: 0;
10
+ padding-left: $spacing-lg;
11
+
12
+ li {
13
+ margin-bottom: $spacing-sm;
14
+ line-height: 1.6;
15
+ }
16
+
17
+ &--spacious li {
18
+ margin-bottom: $spacing-base;
19
+ }
20
+
21
+ &--compact li {
22
+ margin-bottom: $spacing-xs;
23
+ }
24
+
25
+ &--unstyled {
26
+ list-style: none;
27
+ padding-left: 0;
28
+ }
29
+
30
+ &--inline {
31
+ list-style: none;
32
+ padding-left: 0;
33
+ display: flex;
34
+ flex-wrap: wrap;
35
+ gap: $spacing-base;
36
+ }
37
+
38
+ &--bordered {
39
+ list-style: none;
40
+ padding-left: 0;
41
+
42
+ li {
43
+ padding: $spacing-sm $spacing-base;
44
+ border-bottom: $border-width-base solid var(--pa-border-color);
45
+
46
+ &:last-child {
47
+ border-bottom: none;
48
+ }
49
+ }
50
+ }
51
+
52
+ &--striped {
53
+ list-style: none;
54
+ padding-left: 0;
55
+
56
+ li {
57
+ padding: $spacing-sm $spacing-base;
58
+
59
+ &:nth-child(even) {
60
+ background-color: var(--pa-table-stripe);
61
+ }
62
+ }
63
+ }
64
+
65
+ &--icon {
66
+ list-style: none;
67
+ padding-left: 0;
68
+
69
+ li {
70
+ display: flex;
71
+ align-items: flex-start;
72
+ gap: $spacing-sm;
73
+
74
+ &::before {
75
+ content: '✓';
76
+ color: $success-bg;
77
+ font-weight: $font-weight-semibold;
78
+ flex-shrink: 0;
79
+ }
80
+ }
81
+
82
+ &.pa-list-basic--danger li::before {
83
+ content: '✗';
84
+ color: $danger-bg;
85
+ }
86
+
87
+ &.pa-list-basic--info li::before {
88
+ content: '→';
89
+ color: $info-bg;
90
+ }
91
+
92
+ &.pa-list-basic--warning li::before {
93
+ content: '!';
94
+ color: $warning-bg;
95
+ }
96
+ }
97
+ }
98
+
99
+ .pa-list-ordered {
100
+ margin: 0;
101
+ padding-left: $spacing-lg;
102
+
103
+ li {
104
+ margin-bottom: $spacing-sm;
105
+ line-height: 1.6;
106
+ padding-left: $spacing-xs;
107
+ }
108
+
109
+ &--roman {
110
+ list-style-type: upper-roman;
111
+ }
112
+
113
+ &--alpha {
114
+ list-style-type: lower-alpha;
115
+ }
116
+ }
117
+
118
+ .pa-list-definition {
119
+ margin: 0;
120
+
121
+ dt {
122
+ font-weight: $font-weight-semibold;
123
+ color: var(--pa-text-primary);
124
+ margin-bottom: $spacing-xs;
125
+ margin-top: $spacing-base;
126
+
127
+ &:first-child {
128
+ margin-top: 0;
129
+ }
130
+ }
131
+
132
+ dd {
133
+ margin-left: $spacing-lg;
134
+ margin-bottom: $spacing-sm;
135
+ color: var(--pa-text-secondary);
136
+ line-height: 1.6;
137
+ }
138
+
139
+ &--inline {
140
+ dt {
141
+ display: inline;
142
+ margin-right: $spacing-xs;
143
+
144
+ &::after {
145
+ content: ':';
146
+ }
147
+ }
148
+
149
+ dd {
150
+ display: inline;
151
+ margin-left: 0;
152
+ margin-right: $spacing-base;
153
+
154
+ &::after {
155
+ content: '';
156
+ display: block;
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ // Complex Lists (with avatars, titles, etc.)
163
+ .pa-list {
164
+ &__item {
165
+ display: flex;
166
+ align-items: center;
167
+ gap: $spacing-md;
168
+ padding: $card-footer-padding-v $card-footer-padding-h;
169
+ border-bottom: $border-width-base solid var(--pa-border-color);
170
+
171
+ &:last-child {
172
+ border-bottom: none;
173
+ }
174
+
175
+ &:hover {
176
+ background-color: var(--pa-primary-bg);
177
+ }
178
+ }
179
+
180
+ &__avatar {
181
+ width: $btn-icon-only-size;
182
+ height: $btn-icon-only-size;
183
+ border-radius: 50%;
184
+ background-color: var(--pa-primary-bg);
185
+ display: flex;
186
+ align-items: center;
187
+ justify-content: center;
188
+ font-size: $font-size-base;
189
+ }
190
+
191
+ &__content {
192
+ flex: 1;
193
+ }
194
+
195
+ &__title {
196
+ font-weight: $font-weight-medium;
197
+ color: var(--pa-text-primary);
198
+ margin-bottom: $spacing-xs;
199
+ }
200
+
201
+ &__subtitle {
202
+ color: var(--pa-text-secondary);
203
+ font-size: $font-size-sm;
204
+ margin-bottom: $spacing-xs;
205
+ }
206
+
207
+ &__meta {
208
+ color: var(--pa-text-secondary);
209
+ font-size: $font-size-xs;
210
+ }
211
+ }