@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,58 @@
1
+ /*!
2
+ Pure v3.0.0 - Grid System Only (Minimal Extract)
3
+ Copyright 2013 Yahoo!
4
+ Licensed under the BSD License.
5
+ https://github.com/pure-css/pure/blob/master/LICENSE
6
+ */
7
+
8
+ /* Grid Container */
9
+ .pure-g {
10
+ display: flex;
11
+ flex-flow: row wrap;
12
+ align-content: flex-start;
13
+ }
14
+
15
+ /* Base Grid Unit */
16
+ .pure-u {
17
+ display: inline-block;
18
+ vertical-align: top;
19
+ }
20
+
21
+ /* Grid Units - All Widths */
22
+ .pure-u-1, .pure-u-1-1, .pure-u-1-12, .pure-u-1-2, .pure-u-1-24, .pure-u-1-3, .pure-u-1-4, .pure-u-1-5, .pure-u-1-6, .pure-u-1-8, .pure-u-10-24, .pure-u-11-12, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-2-24, .pure-u-2-3, .pure-u-2-5, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24, .pure-u-3-24, .pure-u-3-4, .pure-u-3-5, .pure-u-3-8, .pure-u-4-24, .pure-u-4-5, .pure-u-5-12, .pure-u-5-24, .pure-u-5-5, .pure-u-5-6, .pure-u-5-8, .pure-u-6-24, .pure-u-7-12, .pure-u-7-24, .pure-u-7-8, .pure-u-8-24, .pure-u-9-24 {
23
+ display: inline-block;
24
+ letter-spacing: normal;
25
+ word-spacing: normal;
26
+ vertical-align: top;
27
+ text-rendering: auto;
28
+ }
29
+
30
+ /* Width Classes */
31
+ .pure-u-1-24 { width: 4.1667%; }
32
+ .pure-u-1-12, .pure-u-2-24 { width: 8.3333%; }
33
+ .pure-u-1-8, .pure-u-3-24 { width: 12.5%; }
34
+ .pure-u-1-6, .pure-u-4-24 { width: 16.6667%; }
35
+ .pure-u-1-5 { width: 20%; }
36
+ .pure-u-5-24 { width: 20.8333%; }
37
+ .pure-u-1-4, .pure-u-6-24 { width: 25%; }
38
+ .pure-u-7-24 { width: 29.1667%; }
39
+ .pure-u-1-3, .pure-u-8-24 { width: 33.3333%; }
40
+ .pure-u-3-8, .pure-u-9-24 { width: 37.5%; }
41
+ .pure-u-2-5 { width: 40%; }
42
+ .pure-u-10-24, .pure-u-5-12 { width: 41.6667%; }
43
+ .pure-u-11-24 { width: 45.8333%; }
44
+ .pure-u-1-2, .pure-u-12-24 { width: 50%; }
45
+ .pure-u-13-24 { width: 54.1667%; }
46
+ .pure-u-14-24, .pure-u-7-12 { width: 58.3333%; }
47
+ .pure-u-3-5 { width: 60%; }
48
+ .pure-u-15-24, .pure-u-5-8 { width: 62.5%; }
49
+ .pure-u-16-24, .pure-u-2-3 { width: 66.6667%; }
50
+ .pure-u-17-24 { width: 70.8333%; }
51
+ .pure-u-18-24, .pure-u-3-4 { width: 75%; }
52
+ .pure-u-19-24 { width: 79.1667%; }
53
+ .pure-u-4-5 { width: 80%; }
54
+ .pure-u-20-24, .pure-u-5-6 { width: 83.3333%; }
55
+ .pure-u-21-24, .pure-u-7-8 { width: 87.5%; }
56
+ .pure-u-11-12, .pure-u-22-24 { width: 91.6667%; }
57
+ .pure-u-23-24 { width: 95.8333%; }
58
+ .pure-u-1, .pure-u-1-1, .pure-u-24-24, .pure-u-5-5 { width: 100%; }
@@ -0,0 +1,14 @@
1
+ /* Pure Admin Visual Framework - SCSS Variables Only */
2
+ /* NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px) */
3
+
4
+ // ============================================================================
5
+ // BACKWARD COMPATIBILITY AGGREGATOR
6
+ // This file re-exports all variables from the modular variables/ directory.
7
+ // For new code, prefer importing from variables/ directly:
8
+ // @use 'variables' as *;
9
+ // or specific modules:
10
+ // @use 'variables/colors' as colors;
11
+ // @use 'variables/layout' as layout;
12
+ // ============================================================================
13
+
14
+ @forward 'variables/index';
@@ -0,0 +1,212 @@
1
+ /* ========================================
2
+ Alert Components
3
+ Alerts with variants, sizes, dismissible functionality
4
+ ======================================== */
5
+ @use '../variables' as *;
6
+
7
+ // Alerts
8
+ .pa-alert {
9
+ position: relative;
10
+ padding: $card-footer-padding-v $card-footer-padding-h;
11
+ margin-bottom: $spacing-base;
12
+ border: $border-width-base solid transparent;
13
+ border-radius: $border-radius;
14
+ font-size: $font-size-sm;
15
+ display: flex;
16
+ flex-wrap: wrap;
17
+ align-items: flex-start;
18
+
19
+ // Remove margins when first/last child in card body
20
+ .pa-card__body &:first-child {
21
+ margin-top: 0;
22
+ }
23
+ .pa-card__body &:last-child {
24
+ margin-bottom: 0;
25
+ }
26
+ gap: $spacing-sm;
27
+
28
+ // Basic alert variants - using theme colors with subtle backgrounds
29
+ &--primary {
30
+ color: var(--pa-accent);
31
+ background-color: rgba($accent-color, $opacity-subtle);
32
+ border-color: rgba($accent-color, $opacity-border);
33
+ }
34
+
35
+ &--secondary {
36
+ color: var(--pa-text-secondary);
37
+ background-color: color-mix(in srgb, var(--pa-text-secondary) 15%, transparent);
38
+ border-color: var(--pa-border-color);
39
+ }
40
+
41
+ &--success {
42
+ color: var(--pa-alert-success-text);
43
+ background-color: var(--pa-alert-success-bg);
44
+ border-color: var(--pa-alert-success-border);
45
+ }
46
+
47
+ &--danger {
48
+ color: var(--pa-alert-danger-text);
49
+ background-color: var(--pa-alert-danger-bg);
50
+ border-color: var(--pa-alert-danger-border);
51
+ text-transform: $alert-danger-text-transform;
52
+ }
53
+
54
+ &--warning {
55
+ color: var(--pa-alert-warning-text);
56
+ background-color: var(--pa-alert-warning-bg);
57
+ border-color: var(--pa-alert-warning-border);
58
+ }
59
+
60
+ &--info {
61
+ color: var(--pa-alert-info-text);
62
+ background-color: var(--pa-alert-info-bg);
63
+ border-color: var(--pa-alert-info-border);
64
+ }
65
+
66
+ &--light {
67
+ color: var(--pa-text-primary);
68
+ background-color: color-mix(in srgb, var(--pa-text-primary) 5%, transparent);
69
+ border-color: var(--pa-border-color);
70
+ }
71
+
72
+ &--dark {
73
+ color: var(--pa-text-primary);
74
+ background-color: color-mix(in srgb, var(--pa-text-primary) 5%, transparent);
75
+ border-color: color-mix(in srgb, var(--pa-text-primary) 10%, transparent);
76
+ }
77
+
78
+ // Outline variants
79
+ &--outline-primary {
80
+ color: var(--pa-accent);
81
+ border-color: var(--pa-accent);
82
+ background-color: transparent;
83
+ }
84
+
85
+ &--outline-success {
86
+ color: var(--pa-success-bg);
87
+ border-color: var(--pa-success-bg);
88
+ background-color: transparent;
89
+ }
90
+
91
+ &--outline-danger {
92
+ color: var(--pa-danger-bg);
93
+ border-color: var(--pa-danger-bg);
94
+ background-color: transparent;
95
+ }
96
+
97
+ &--outline-warning {
98
+ color: var(--pa-warning-bg);
99
+ border-color: var(--pa-warning-bg);
100
+ background-color: transparent;
101
+ }
102
+
103
+ &--outline-info {
104
+ color: var(--pa-info-bg);
105
+ border-color: var(--pa-info-bg);
106
+ background-color: transparent;
107
+ }
108
+
109
+ // Alert sizes (size modifiers only change font-size, padding controlled by theme)
110
+ &--sm {
111
+ padding: $alert-padding-v $alert-padding-h;
112
+ font-size: $font-size-sm;
113
+ }
114
+
115
+ &--lg {
116
+ padding: $alert-padding-v $alert-padding-h;
117
+ font-size: $font-size-base;
118
+ }
119
+
120
+ // Dismissible alerts
121
+ &--dismissible {
122
+ padding-right: $alert-dismissible-padding-right;
123
+ }
124
+
125
+ // Alert components
126
+ &__icon {
127
+ flex-shrink: 0;
128
+ font-size: $font-size-base;
129
+ line-height: 1;
130
+ }
131
+
132
+ &__content {
133
+ flex: 1;
134
+ }
135
+
136
+ &__heading {
137
+ margin: 0 0 $spacing-sm 0;
138
+ color: inherit;
139
+ font-size: $font-size-lg;
140
+ font-weight: $font-weight-semibold;
141
+ }
142
+
143
+ &__list {
144
+ margin: $spacing-sm 0;
145
+ padding-left: $alert-list-padding-left;
146
+ }
147
+
148
+ &__actions {
149
+ margin-top: $alert-list-item-margin-top;
150
+ display: flex;
151
+ gap: $spacing-sm;
152
+ }
153
+
154
+ &__close {
155
+ position: absolute;
156
+ top: 0;
157
+ right: 0;
158
+ z-index: $focus-outline-width;
159
+ padding: $card-footer-padding-v $card-footer-padding-h;
160
+ background: none;
161
+ border: none;
162
+ font-size: $font-size-xl;
163
+ line-height: 1;
164
+ color: inherit;
165
+ cursor: pointer;
166
+ opacity: $alert-close-opacity;
167
+ transition: opacity $transition-fast $easing-snappy;
168
+
169
+ &:hover {
170
+ opacity: 1;
171
+ }
172
+
173
+ &:focus {
174
+ outline: none;
175
+ opacity: 1;
176
+ }
177
+ }
178
+
179
+ // Remove margin from last child
180
+ > *:last-child {
181
+ margin-bottom: 0;
182
+ }
183
+
184
+ // Links styling
185
+ a {
186
+ color: inherit;
187
+ text-decoration: underline;
188
+ font-weight: $font-weight-semibold;
189
+
190
+ &:hover {
191
+ text-decoration: none;
192
+ }
193
+ }
194
+
195
+ // Headings inside alerts
196
+ h1,
197
+ h2,
198
+ h3,
199
+ h4,
200
+ h5,
201
+ h6 {
202
+ color: inherit;
203
+ }
204
+
205
+ // Horizontal rule
206
+ hr {
207
+ margin: $spacing-sm 0;
208
+ border: 0;
209
+ border-top: $border-width-base solid rgba(0, 0, 0, $opacity-light);
210
+ }
211
+ }
212
+
@@ -0,0 +1,16 @@
1
+ /* ========================================
2
+ Badge Components
3
+ Standard badges, composite badges, and label components
4
+ ======================================== */
5
+
6
+ // ============================================================================
7
+ // BACKWARD COMPATIBILITY AGGREGATOR
8
+ // This file re-exports all badge components from the modular badges/ directory.
9
+ // For new code, prefer importing from badges/ directly:
10
+ // @use 'badges' as *;
11
+ // or specific modules:
12
+ // @use 'badges/badge-base';
13
+ // @use 'badges/composite-badge';
14
+ // ============================================================================
15
+
16
+ @forward 'badges/index';
@@ -0,0 +1,124 @@
1
+ /* ========================================
2
+ Reset and Base Styles
3
+ ======================================== */
4
+ @use '../variables' as *;
5
+
6
+ // 10px rem base for intuitive sizing (1rem = 10px)
7
+ // This makes calculations simple: 1.5rem = 15px, 3.5rem = 35px
8
+ html {
9
+ font-size: 10px;
10
+ }
11
+
12
+ // Reset and base styles
13
+ * {
14
+ box-sizing: border-box;
15
+ }
16
+
17
+ // Standard HTML element spacing (using framework variables)
18
+ // Headings
19
+ h1, h2, h3, h4, h5, h6 {
20
+ margin: $heading-margin-top 0 $heading-margin-bottom 0;
21
+ padding: 0;
22
+ }
23
+
24
+ // Paragraphs
25
+ p {
26
+ margin: $paragraph-margin-top 0 $paragraph-margin-bottom 0;
27
+ padding: 0;
28
+ }
29
+
30
+ // Lists - styled lists (default browser styling)
31
+ ul, ol {
32
+ margin: $list-margin-top 0 $list-margin-bottom 0;
33
+ padding: 0 0 0 $list-padding-left;
34
+
35
+ li {
36
+ margin-bottom: $list-item-margin-bottom;
37
+ }
38
+ }
39
+
40
+ // Lists - unstyled (for navigation, etc.)
41
+ ul.unstyled, ol.unstyled {
42
+ list-style: none;
43
+ padding-left: 0;
44
+
45
+ li {
46
+ margin-bottom: 0;
47
+ }
48
+ }
49
+
50
+ // Definition lists
51
+ dl {
52
+ margin: $list-margin-top 0 $list-margin-bottom 0;
53
+ padding: 0;
54
+ }
55
+
56
+ dd {
57
+ margin: 0;
58
+ padding: 0;
59
+ }
60
+
61
+ // Blockquote
62
+ blockquote {
63
+ margin: $blockquote-margin-top 0 $blockquote-margin-bottom 0;
64
+ padding: 0 0 0 $blockquote-padding-left;
65
+ }
66
+
67
+ // Pre/Code blocks
68
+ pre {
69
+ overflow-x: auto;
70
+ }
71
+
72
+ // Horizontal rule
73
+ hr {
74
+ margin: $hr-margin-top 0 $hr-margin-bottom 0;
75
+ }
76
+
77
+ // Figure
78
+ figure {
79
+ margin: $figure-margin-top 0 $figure-margin-bottom 0;
80
+ padding: 0;
81
+ }
82
+
83
+ body {
84
+ margin: 0;
85
+ padding: 0;
86
+ font-family: $body-font-family;
87
+ font-size: 1.6rem; // 16px default text (with 10px rem base)
88
+ color: var(--pa-text-primary);
89
+ background-color: var(--pa-primary-bg);
90
+ line-height: $line-height-base;
91
+ overflow-x: hidden; // Hide horizontal scrollbar when sidebar slides out on mobile
92
+ overflow-y: scroll; // Always show vertical scrollbar gutter to prevent layout shift
93
+
94
+ // Background pattern for constrained layouts
95
+ &::before {
96
+ content: '';
97
+ position: fixed;
98
+ top: 0;
99
+ left: 0;
100
+ right: 0;
101
+ bottom: 0;
102
+ background:
103
+ radial-gradient(circle at $bg-pattern-circle-1-x $bg-pattern-circle-1-y, rgba($accent-color, $bg-pattern-opacity) $bg-pattern-gradient-start, transparent $bg-pattern-gradient-stop),
104
+ radial-gradient(circle at $bg-pattern-circle-2-x $bg-pattern-circle-2-y, rgba($accent-color, $bg-pattern-opacity) $bg-pattern-gradient-start, transparent $bg-pattern-gradient-stop);
105
+ pointer-events: none;
106
+ z-index: -1;
107
+ }
108
+ }
109
+
110
+ // Sticky sidebar mode: Prevent body scroll, let containers handle it
111
+ body.sidebar-sticky {
112
+ overflow: hidden;
113
+ height: 100vh;
114
+ }
115
+
116
+ // Ensure form elements and labels inherit theme font and size instead of browser defaults
117
+ button,
118
+ input,
119
+ select,
120
+ textarea,
121
+ label {
122
+ font-family: inherit;
123
+ font-size: inherit;
124
+ }