@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,212 @@
1
+ <!-- ================================
2
+ BADGE SNIPPETS
3
+ Pure Admin Visual Framework
4
+ ================================ -->
5
+
6
+ <!-- BASIC BADGES -->
7
+
8
+ <!-- Primary Badge -->
9
+ <span class="pa-badge pa-badge--primary">Primary</span>
10
+
11
+ <!-- Secondary Badge -->
12
+ <span class="pa-badge pa-badge--secondary">Secondary</span>
13
+
14
+ <!-- Success Badge -->
15
+ <span class="pa-badge pa-badge--success">Success</span>
16
+
17
+ <!-- Danger Badge -->
18
+ <span class="pa-badge pa-badge--danger">Danger</span>
19
+
20
+ <!-- Warning Badge -->
21
+ <span class="pa-badge pa-badge--warning">Warning</span>
22
+
23
+ <!-- Info Badge -->
24
+ <span class="pa-badge pa-badge--info">Info</span>
25
+
26
+ <!-- Light Badge -->
27
+ <span class="pa-badge pa-badge--light">Light</span>
28
+
29
+ <!-- Dark Badge -->
30
+ <span class="pa-badge pa-badge--dark">Dark</span>
31
+
32
+
33
+ <!-- BADGE SIZES -->
34
+
35
+ <!-- Extra Small Badge -->
36
+ <span class="pa-badge pa-badge--primary pa-badge--xs">XS</span>
37
+
38
+ <!-- Small Badge -->
39
+ <span class="pa-badge pa-badge--primary pa-badge--sm">Small</span>
40
+
41
+ <!-- Default Badge -->
42
+ <span class="pa-badge pa-badge--primary">Default</span>
43
+
44
+ <!-- Large Badge -->
45
+ <span class="pa-badge pa-badge--primary pa-badge--lg">Large</span>
46
+
47
+ <!-- Extra Large Badge -->
48
+ <span class="pa-badge pa-badge--primary pa-badge--xl">XL</span>
49
+
50
+
51
+ <!-- PILL BADGES -->
52
+
53
+ <!-- Primary Pill -->
54
+ <span class="pa-badge pa-badge--primary pa-badge--pill">Pill Badge</span>
55
+
56
+ <!-- Success Pill -->
57
+ <span class="pa-badge pa-badge--success pa-badge--pill">Active</span>
58
+
59
+
60
+ <!-- BADGES WITH ICONS -->
61
+
62
+ <!-- Badge with Icon -->
63
+ <span class="pa-badge pa-badge--success">
64
+ <span class="pa-badge__icon">✓</span>
65
+ Verified
66
+ </span>
67
+
68
+ <!-- Small Badge with Icon -->
69
+ <span class="pa-badge pa-badge--warning pa-badge--sm">
70
+ <span class="pa-badge__icon">⚠</span>
71
+ Alert
72
+ </span>
73
+
74
+
75
+ <!-- FIXED WIDTH BADGES -->
76
+
77
+ <!-- Fixed Width 5x -->
78
+ <span class="pa-badge pa-badge--primary pa-badge--w-5x">Status</span>
79
+
80
+ <!-- Fixed Width 8x with Ellipsis -->
81
+ <span class="pa-tooltip pa-tooltip--bottom" data-tooltip="Very Long Badge Text That Needs Truncation">
82
+ <span class="pa-badge pa-badge--info pa-badge--w-8x">Very Long Badge Text That Needs Truncation</span>
83
+ </span>
84
+
85
+ <!-- Fixed Width with Left Ellipsis (for paths, breadcrumbs) -->
86
+ <span class="pa-tooltip pa-tooltip--bottom pa-tooltip--multiline" data-tooltip="Settings > User Preferences > Notifications > Email">
87
+ <span class="pa-badge pa-badge--secondary pa-badge--w-6x pa-badge--ellipsis-left">Settings > User Preferences > Notifications > Email</span>
88
+ </span>
89
+
90
+
91
+ <!-- COMPOSITE BADGES -->
92
+
93
+ <!-- Standard Composite Badge -->
94
+ <div class="pa-composite-badge pa-composite-badge--primary">
95
+ <span class="pa-composite-badge__icon">🔔</span>
96
+ <span class="pa-composite-badge__label">Notifications</span>
97
+ <span class="pa-composite-badge__button">5</span>
98
+ </div>
99
+
100
+ <!-- Success Composite Badge -->
101
+ <div class="pa-composite-badge pa-composite-badge--success">
102
+ <span class="pa-composite-badge__icon">✓</span>
103
+ <span class="pa-composite-badge__label">Completed</span>
104
+ <span class="pa-composite-badge__button">12</span>
105
+ </div>
106
+
107
+ <!-- Danger Composite Badge -->
108
+ <div class="pa-composite-badge pa-composite-badge--danger">
109
+ <span class="pa-composite-badge__icon">⚠</span>
110
+ <span class="pa-composite-badge__label">Errors</span>
111
+ <span class="pa-composite-badge__button">3</span>
112
+ </div>
113
+
114
+
115
+ <!-- BADGE GROUP -->
116
+
117
+ <!-- Badge Group (shows first 5, then "more") -->
118
+ <div class="pa-badge-group">
119
+ <span class="pa-badge pa-badge--primary">JavaScript</span>
120
+ <span class="pa-badge pa-badge--info">React</span>
121
+ <span class="pa-badge pa-badge--success">Node.js</span>
122
+ <span class="pa-badge pa-badge--warning">Python</span>
123
+ <span class="pa-badge pa-badge--danger">Ruby</span>
124
+ <span class="pa-badge pa-badge--secondary">
125
+ <span class="pa-badge__icon">»</span>
126
+ 10 more
127
+ </span>
128
+ </div>
129
+
130
+ <!-- Badge Group - Show All -->
131
+ <div class="pa-badge-group pa-badge-group--show-all">
132
+ <span class="pa-badge pa-badge--primary">Tag 1</span>
133
+ <span class="pa-badge pa-badge--info">Tag 2</span>
134
+ <span class="pa-badge pa-badge--success">Tag 3</span>
135
+ <!-- All badges visible -->
136
+ </div>
137
+
138
+
139
+ <!-- ================================
140
+ LABELS
141
+ Lightweight inline indicators
142
+ ================================ -->
143
+
144
+ <!-- Basic Labels -->
145
+ <span class="pa-label pa-label--primary">Primary</span>
146
+ <span class="pa-label pa-label--secondary">Secondary</span>
147
+ <span class="pa-label pa-label--success">Success</span>
148
+ <span class="pa-label pa-label--danger">Danger</span>
149
+ <span class="pa-label pa-label--warning">Warning</span>
150
+ <span class="pa-label pa-label--info">Info</span>
151
+
152
+ <!-- Labels are lighter-weight than badges -->
153
+ <!-- Use for inline status indicators, tags, categories -->
154
+
155
+ <!-- Label Sizes -->
156
+ <span class="pa-label pa-label--primary pa-label--sm">Small</span>
157
+ <span class="pa-label pa-label--primary">Default</span>
158
+ <span class="pa-label pa-label--primary pa-label--lg">Large</span>
159
+
160
+
161
+ <!-- ================================
162
+ COMPONENT REFERENCE
163
+ ================================ -->
164
+
165
+ <!--
166
+ BADGE CLASSES:
167
+ - .pa-badge: Base badge class
168
+
169
+ VARIANTS (colors):
170
+ - .pa-badge--primary: Blue badge
171
+ - .pa-badge--secondary: Gray badge
172
+ - .pa-badge--success: Green badge
173
+ - .pa-badge--danger: Red badge
174
+ - .pa-badge--warning: Yellow/orange badge
175
+ - .pa-badge--info: Cyan badge
176
+ - .pa-badge--light: Light gray badge
177
+ - .pa-badge--dark: Dark badge
178
+
179
+ SIZES:
180
+ - .pa-badge--xs: Extra small (10px font)
181
+ - .pa-badge--sm: Small (12px font)
182
+ - (default): Standard size (12px font, standard padding)
183
+ - .pa-badge--lg: Large (14px font)
184
+ - .pa-badge--xl: Extra large (16px font)
185
+
186
+ MODIFIERS:
187
+ - .pa-badge--pill: Rounded pill shape
188
+ - .pa-badge--w-1x through .pa-badge--w-10x: Fixed widths (1rem to 10rem)
189
+ - .pa-badge--ellipsis-left: Truncate from left instead of right
190
+
191
+ ELEMENTS:
192
+ - .pa-badge__icon: Icon container inside badge
193
+
194
+ COMPOSITE BADGE:
195
+ - .pa-composite-badge: Three-part badge container
196
+ - .pa-composite-badge--{variant}: Color variants
197
+ - .pa-composite-badge__icon: Icon section
198
+ - .pa-composite-badge__label: Label/text section
199
+ - .pa-composite-badge__button: Button/count section
200
+ - .pa-composite-badge--label-{variant}: Label section color override
201
+ - .pa-composite-badge--btn-{variant}: Button section color override
202
+
203
+ BADGE GROUP:
204
+ - .pa-badge-group: Container for multiple badges
205
+ - .pa-badge-group--show-all: Show all badges (disable limit)
206
+
207
+ LABELS (lightweight alternative to badges):
208
+ - .pa-label: Base label class
209
+ - .pa-label--primary, --secondary, --success, --danger, --warning, --info: Color variants
210
+ - .pa-label--sm: Small size
211
+ - .pa-label--lg: Large size
212
+ -->
@@ -0,0 +1,287 @@
1
+ <!-- ================================
2
+ BUTTON SNIPPETS
3
+ Pure Admin Visual Framework
4
+ ================================ -->
5
+
6
+ <!-- BASIC BUTTONS - Variants -->
7
+
8
+ <!-- Primary Button -->
9
+ <button class="pa-btn pa-btn--primary">Primary</button>
10
+
11
+ <!-- Secondary Button -->
12
+ <button class="pa-btn pa-btn--secondary">Secondary</button>
13
+
14
+ <!-- Success Button -->
15
+ <button class="pa-btn pa-btn--success">Success</button>
16
+
17
+ <!-- Warning Button -->
18
+ <button class="pa-btn pa-btn--warning">Warning</button>
19
+
20
+ <!-- Danger Button -->
21
+ <button class="pa-btn pa-btn--danger">Danger</button>
22
+
23
+ <!-- Info Button -->
24
+ <button class="pa-btn pa-btn--info">Info</button>
25
+
26
+ <!-- Light Button -->
27
+ <button class="pa-btn pa-btn--light">Light</button>
28
+
29
+ <!-- Dark Button -->
30
+ <button class="pa-btn pa-btn--dark">Dark</button>
31
+
32
+
33
+ <!-- BUTTON SIZES -->
34
+
35
+ <!-- Extra Small Button -->
36
+ <button class="pa-btn pa-btn--primary pa-btn--xs">Extra Small</button>
37
+
38
+ <!-- Small Button -->
39
+ <button class="pa-btn pa-btn--primary pa-btn--sm">Small</button>
40
+
41
+ <!-- Default Button -->
42
+ <button class="pa-btn pa-btn--primary">Default</button>
43
+
44
+ <!-- Large Button -->
45
+ <button class="pa-btn pa-btn--primary pa-btn--lg">Large</button>
46
+
47
+ <!-- Extra Large Button -->
48
+ <button class="pa-btn pa-btn--primary pa-btn--xl">Extra Large</button>
49
+
50
+
51
+ <!-- OUTLINE BUTTONS -->
52
+
53
+ <!-- Outline Primary -->
54
+ <button class="pa-btn pa-btn--outline-primary">Primary</button>
55
+
56
+ <!-- Outline Secondary -->
57
+ <button class="pa-btn pa-btn--outline-secondary">Secondary</button>
58
+
59
+ <!-- Outline Success -->
60
+ <button class="pa-btn pa-btn--outline-success">Success</button>
61
+
62
+ <!-- Outline Warning -->
63
+ <button class="pa-btn pa-btn--outline-warning">Warning</button>
64
+
65
+ <!-- Outline Danger -->
66
+ <button class="pa-btn pa-btn--outline-danger">Danger</button>
67
+
68
+ <!-- Outline Info -->
69
+ <button class="pa-btn pa-btn--outline-info">Info</button>
70
+
71
+
72
+ <!-- BUTTON STATES -->
73
+
74
+ <!-- Normal Button -->
75
+ <button class="pa-btn pa-btn--primary">Normal</button>
76
+
77
+ <!-- Disabled Button -->
78
+ <button class="pa-btn pa-btn--primary" disabled>Disabled</button>
79
+
80
+ <!-- Loading Button -->
81
+ <button class="pa-btn pa-btn--primary pa-btn--loading">
82
+ <span class="pa-btn__spinner"></span>
83
+ Loading...
84
+ </button>
85
+
86
+
87
+ <!-- BLOCK BUTTONS -->
88
+
89
+ <!-- Block Level Button -->
90
+ <button class="pa-btn pa-btn--primary pa-btn--block">Block Level Button</button>
91
+
92
+
93
+ <!-- BUTTON GROUPS -->
94
+
95
+ <!-- Horizontal Button Group (default) -->
96
+ <div class="pa-btn-group">
97
+ <button class="pa-btn pa-btn--secondary">Left</button>
98
+ <button class="pa-btn pa-btn--secondary">Middle</button>
99
+ <button class="pa-btn pa-btn--secondary">Right</button>
100
+ </div>
101
+
102
+ <!-- Vertical Button Group -->
103
+ <div class="pa-btn-group pa-btn-group--vertical">
104
+ <button class="pa-btn pa-btn--secondary">Top</button>
105
+ <button class="pa-btn pa-btn--secondary">Middle</button>
106
+ <button class="pa-btn pa-btn--secondary">Bottom</button>
107
+ </div>
108
+
109
+
110
+ <!-- BUTTON GROUP GAP VARIANTS -->
111
+
112
+ <!-- Compact Gap (tight spacing) -->
113
+ <div class="pa-btn-group pa-btn-group--compact">
114
+ <button class="pa-btn pa-btn--primary">A</button>
115
+ <button class="pa-btn pa-btn--primary">B</button>
116
+ <button class="pa-btn pa-btn--primary">C</button>
117
+ </div>
118
+
119
+ <!-- Default Gap -->
120
+ <div class="pa-btn-group">
121
+ <button class="pa-btn pa-btn--primary">A</button>
122
+ <button class="pa-btn pa-btn--primary">B</button>
123
+ <button class="pa-btn pa-btn--primary">C</button>
124
+ </div>
125
+
126
+ <!-- Loose Gap (spacious) -->
127
+ <div class="pa-btn-group pa-btn-group--loose">
128
+ <button class="pa-btn pa-btn--primary">A</button>
129
+ <button class="pa-btn pa-btn--primary">B</button>
130
+ <button class="pa-btn pa-btn--primary">C</button>
131
+ </div>
132
+
133
+
134
+ <!-- BUTTON GROUP VERTICAL ALIGNMENT -->
135
+
136
+ <!-- Vertical Left (default) -->
137
+ <div class="pa-btn-group pa-btn-group--vertical">
138
+ <button class="pa-btn pa-btn--secondary">Short</button>
139
+ <button class="pa-btn pa-btn--secondary">Medium Button</button>
140
+ <button class="pa-btn pa-btn--secondary">Longer Button Text</button>
141
+ </div>
142
+
143
+ <!-- Vertical Center -->
144
+ <div class="pa-btn-group pa-btn-group--vertical pa-btn-group--center">
145
+ <button class="pa-btn pa-btn--secondary">Short</button>
146
+ <button class="pa-btn pa-btn--secondary">Medium Button</button>
147
+ <button class="pa-btn pa-btn--secondary">Longer Button Text</button>
148
+ </div>
149
+
150
+ <!-- Vertical End (right) -->
151
+ <div class="pa-btn-group pa-btn-group--vertical pa-btn-group--end">
152
+ <button class="pa-btn pa-btn--secondary">Short</button>
153
+ <button class="pa-btn pa-btn--secondary">Medium Button</button>
154
+ <button class="pa-btn pa-btn--secondary">Longer Button Text</button>
155
+ </div>
156
+
157
+ <!-- Vertical Stretch (full-width) -->
158
+ <div class="pa-btn-group pa-btn-group--vertical pa-btn-group--stretch">
159
+ <button class="pa-btn pa-btn--primary">Save</button>
160
+ <button class="pa-btn pa-btn--secondary">Cancel</button>
161
+ <button class="pa-btn pa-btn--danger">Delete</button>
162
+ </div>
163
+
164
+
165
+ <!-- BUTTON GROUP RESPONSIVE DIRECTION -->
166
+
167
+ <!-- Horizontal on mobile, Vertical on md+ -->
168
+ <div class="pa-btn-group pa-btn-group--md-vertical">
169
+ <button class="pa-btn pa-btn--primary">Save</button>
170
+ <button class="pa-btn pa-btn--secondary">Cancel</button>
171
+ </div>
172
+
173
+ <!-- Vertical on mobile/tablet, Horizontal on lg+ -->
174
+ <div class="pa-btn-group pa-btn-group--vertical pa-btn-group--lg-horizontal">
175
+ <button class="pa-btn pa-btn--primary">Save</button>
176
+ <button class="pa-btn pa-btn--secondary">Cancel</button>
177
+ </div>
178
+
179
+
180
+ <!-- BUTTON GROUP NO-WRAP -->
181
+
182
+ <!-- Prevent wrapping (single line, may overflow) -->
183
+ <div class="pa-btn-group pa-btn-group--nowrap">
184
+ <button class="pa-btn pa-btn--primary">One</button>
185
+ <button class="pa-btn pa-btn--primary">Two</button>
186
+ <button class="pa-btn pa-btn--primary">Three</button>
187
+ <button class="pa-btn pa-btn--primary">Four</button>
188
+ <button class="pa-btn pa-btn--primary">Five</button>
189
+ </div>
190
+
191
+
192
+ <!-- BUTTONS WITH ICONS -->
193
+
194
+ <!-- Button with Icon (Text Icon) -->
195
+ <button class="pa-btn pa-btn--primary">
196
+ <span class="pa-btn__icon">→</span>
197
+ Next
198
+ </button>
199
+
200
+ <!-- Button with Icon (Font Awesome) -->
201
+ <button class="pa-btn pa-btn--primary">
202
+ <span class="pa-btn__icon"><i class="fa-solid fa-floppy-disk"></i></span>
203
+ Save
204
+ </button>
205
+
206
+
207
+ <!-- ICON-ONLY BUTTONS -->
208
+
209
+ <!-- Icon Only - Default Size -->
210
+ <button class="pa-btn pa-btn--primary pa-btn--icon-only" title="Save">
211
+ <i class="fa-solid fa-floppy-disk"></i>
212
+ </button>
213
+
214
+ <!-- Icon Only - XS (for tables) -->
215
+ <button class="pa-btn pa-btn--primary pa-btn--icon-only pa-btn--xs" title="View">
216
+ 👁️
217
+ </button>
218
+
219
+ <!-- Icon Only - SM -->
220
+ <button class="pa-btn pa-btn--primary pa-btn--icon-only pa-btn--sm" title="Edit">
221
+ <i class="fa-solid fa-pen"></i>
222
+ </button>
223
+
224
+ <!-- Icon Only - LG -->
225
+ <button class="pa-btn pa-btn--primary pa-btn--icon-only pa-btn--lg" title="Delete">
226
+ <i class="fa-solid fa-trash"></i>
227
+ </button>
228
+
229
+ <!-- Icon Only - XL -->
230
+ <button class="pa-btn pa-btn--primary pa-btn--icon-only pa-btn--xl" title="Info">
231
+ <i class="fa-solid fa-circle-info"></i>
232
+ </button>
233
+
234
+
235
+ <!-- FIXED WIDTH BUTTONS -->
236
+
237
+ <!-- Fixed Width 6x -->
238
+ <button class="pa-btn pa-btn--primary pa-btn--w-6x">
239
+ <span class="pa-btn__icon">✓</span>
240
+ OK
241
+ </button>
242
+
243
+ <!-- Fixed Width 8x -->
244
+ <button class="pa-btn pa-btn--success pa-btn--w-8x">
245
+ <span class="pa-btn__icon">→</span>
246
+ Continue
247
+ </button>
248
+
249
+
250
+ <!-- BUTTON ALIGNMENT -->
251
+
252
+ <!-- Left Aligned (icon flush to left) -->
253
+ <button class="pa-btn pa-btn--primary pa-btn--w-8x pa-btn--align-left">
254
+ <span class="pa-btn__icon">✓</span>
255
+ Save
256
+ </button>
257
+
258
+ <!-- Right Aligned (icon flush to right) -->
259
+ <button class="pa-btn pa-btn--primary pa-btn--w-8x pa-btn--align-right">
260
+ Save
261
+ <span class="pa-btn__icon">✓</span>
262
+ </button>
263
+
264
+ <!-- Center Aligned -->
265
+ <button class="pa-btn pa-btn--primary pa-btn--w-8x pa-btn--align-center">
266
+ <span class="pa-btn__icon">✓</span>
267
+ Save
268
+ </button>
269
+
270
+ <!-- Justified (space-between) -->
271
+ <button class="pa-btn pa-btn--primary pa-btn--w-8x pa-btn--align-justify">
272
+ <span class="pa-btn__icon">✓</span>
273
+ Save
274
+ </button>
275
+
276
+
277
+ <!-- INTERACTIVE BUTTONS -->
278
+
279
+ <!-- Ripple Effect Button -->
280
+ <button class="pa-btn pa-btn--primary pa-btn--ripple" data-ripple>
281
+ Primary Ripple
282
+ </button>
283
+
284
+ <!-- Button with Loading Demo -->
285
+ <button class="pa-btn pa-btn--primary pa-btn--ripple" data-loading-demo data-ripple>
286
+ Save Changes
287
+ </button>