@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,411 @@
1
+ <!-- ================================
2
+ TOOLTIP & POPOVER SNIPPETS
3
+ Pure Admin Visual Framework
4
+
5
+ Uses Floating UI (@floating-ui/dom) for smart positioning
6
+ ================================ -->
7
+
8
+ <!-- TOOLTIPS -->
9
+
10
+ <!-- Tooltips are automatically positioned using Floating UI
11
+ - Add class="pa-tooltip" and data-tooltip="text"
12
+ - No JavaScript initialization needed (handled globally)
13
+ - Smart collision detection and auto-flipping
14
+ - Works on any element (buttons, spans, links, etc.)
15
+ -->
16
+
17
+ <!-- BASIC TOOLTIPS -->
18
+
19
+ <!-- Tooltip Top (default) -->
20
+ <span class="pa-tooltip" data-tooltip="This is a tooltip">Hover me</span>
21
+
22
+ <!-- Tooltip Right -->
23
+ <span class="pa-tooltip pa-tooltip--right" data-tooltip="Tooltip on the right">Hover me</span>
24
+
25
+ <!-- Tooltip Bottom -->
26
+ <span class="pa-tooltip pa-tooltip--bottom" data-tooltip="Tooltip on the bottom">Hover me</span>
27
+
28
+ <!-- Tooltip Left -->
29
+ <span class="pa-tooltip pa-tooltip--left" data-tooltip="Tooltip on the left">Hover me</span>
30
+
31
+
32
+ <!-- TOOLTIP POSITIONS (All 4 directions) -->
33
+
34
+ <!-- Top Tooltip -->
35
+ <button class="pa-btn pa-btn--primary pa-tooltip" data-tooltip="Top tooltip">
36
+ Top
37
+ </button>
38
+
39
+ <!-- Right Tooltip -->
40
+ <button class="pa-btn pa-btn--primary pa-tooltip pa-tooltip--right" data-tooltip="Right tooltip">
41
+ Right
42
+ </button>
43
+
44
+ <!-- Bottom Tooltip -->
45
+ <button class="pa-btn pa-btn--primary pa-tooltip pa-tooltip--bottom" data-tooltip="Bottom tooltip">
46
+ Bottom
47
+ </button>
48
+
49
+ <!-- Left Tooltip -->
50
+ <button class="pa-btn pa-btn--primary pa-tooltip pa-tooltip--left" data-tooltip="Left tooltip">
51
+ Left
52
+ </button>
53
+
54
+
55
+ <!-- COLORED TOOLTIPS -->
56
+
57
+ <!-- Primary Tooltip -->
58
+ <span class="pa-tooltip pa-tooltip--primary" data-tooltip="Primary tooltip">
59
+ Primary
60
+ </span>
61
+
62
+ <!-- Success Tooltip -->
63
+ <span class="pa-tooltip pa-tooltip--success" data-tooltip="Success tooltip">
64
+ Success
65
+ </span>
66
+
67
+ <!-- Warning Tooltip -->
68
+ <span class="pa-tooltip pa-tooltip--warning" data-tooltip="Warning tooltip">
69
+ Warning
70
+ </span>
71
+
72
+ <!-- Danger Tooltip -->
73
+ <span class="pa-tooltip pa-tooltip--danger" data-tooltip="Danger tooltip">
74
+ Danger
75
+ </span>
76
+
77
+
78
+ <!-- CURSOR MODIFIERS -->
79
+
80
+ <!-- Default tooltip (inherits parent cursor - good for clickable elements like buttons, tabs) -->
81
+ <button class="pa-btn pa-btn--primary pa-tooltip" data-tooltip="Click to view">
82
+ Clickable Item
83
+ </button>
84
+
85
+ <!-- Help cursor tooltip (question mark cursor - good for informational hints) -->
86
+ <span class="pa-tooltip pa-tooltip--help" data-tooltip="This provides helpful information">
87
+ What's this?
88
+ </span>
89
+
90
+
91
+ <!-- COLORED TOOLTIPS WITH POSITIONS -->
92
+
93
+ <!-- Primary Bottom Tooltip -->
94
+ <button class="pa-btn pa-btn--primary pa-tooltip pa-tooltip--primary pa-tooltip--bottom" data-tooltip="Primary info">
95
+ Primary Bottom
96
+ </button>
97
+
98
+ <!-- Success Right Tooltip -->
99
+ <button class="pa-btn pa-btn--success pa-tooltip pa-tooltip--success pa-tooltip--right" data-tooltip="Operation successful!">
100
+ Success Right
101
+ </button>
102
+
103
+ <!-- Danger Left Tooltip -->
104
+ <button class="pa-btn pa-btn--danger pa-tooltip pa-tooltip--danger pa-tooltip--left" data-tooltip="Critical warning!">
105
+ Danger Left
106
+ </button>
107
+
108
+
109
+ <!-- MULTILINE TOOLTIPS -->
110
+
111
+ <!-- Multiline Tooltip -->
112
+ <span class="pa-tooltip pa-tooltip--multiline" data-tooltip="This is a longer tooltip that will wrap to multiple lines when the text is too long to fit on a single line.">
113
+ Hover for multiline
114
+ </span>
115
+
116
+ <!-- Multiline Bottom -->
117
+ <span class="pa-tooltip pa-tooltip--multiline pa-tooltip--bottom" data-tooltip="Multiline tooltips work with any position. This text will wrap nicely across multiple lines.">
118
+ Multiline bottom
119
+ </span>
120
+
121
+
122
+ <!-- TOOLTIPS IN TABLES -->
123
+
124
+ <!-- Table with Action Tooltips -->
125
+ <table class="pa-table">
126
+ <thead>
127
+ <tr>
128
+ <th>Name</th>
129
+ <th class="col-auto">Actions</th>
130
+ </tr>
131
+ </thead>
132
+ <tbody>
133
+ <tr>
134
+ <td>John Doe</td>
135
+ <td class="col-auto">
136
+ <div class="pa-btn-group">
137
+ <button class="pa-btn pa-btn--xs pa-btn--icon-only pa-btn--primary pa-tooltip pa-tooltip--bottom" data-tooltip="View details">
138
+ 👁️
139
+ </button>
140
+ <button class="pa-btn pa-btn--xs pa-btn--icon-only pa-btn--secondary pa-tooltip pa-tooltip--bottom" data-tooltip="Edit user">
141
+ ✏️
142
+ </button>
143
+ <button class="pa-btn pa-btn--xs pa-btn--icon-only pa-btn--danger pa-tooltip pa-tooltip--bottom" data-tooltip="Delete user">
144
+ 🗑️
145
+ </button>
146
+ </div>
147
+ </td>
148
+ </tr>
149
+ </tbody>
150
+ </table>
151
+
152
+
153
+ <!-- TOOLTIPS WITH BADGES -->
154
+
155
+ <!-- Badge with Truncated Text and Tooltip -->
156
+ <span class="pa-tooltip pa-tooltip--bottom" data-tooltip="Very Long Badge Text That Needs Truncation">
157
+ <span class="pa-badge pa-badge--info pa-badge--w-8x">Very Long Badge Text That Needs Truncation</span>
158
+ </span>
159
+
160
+
161
+ <!-- POPOVERS - Basic -->
162
+
163
+ <!-- Popovers are click-triggered rich content overlays
164
+ - Use Floating UI for positioning (like tooltips)
165
+ - Support all 4 positions (top, right, bottom, left) via data-placement attribute
166
+ - Auto collision detection and flipping
167
+ - Close with X button or clicking outside
168
+ -->
169
+
170
+ <!-- Basic Popover (Top) -->
171
+ <div class="pa-popover" data-placement="top">
172
+ <button class="pa-popover__trigger">?</button>
173
+ <div class="pa-popover__content">
174
+ <div class="pa-popover__header">
175
+ <h4>Help</h4>
176
+ <button class="pa-popover__close">×</button>
177
+ </div>
178
+ <div class="pa-popover__body">
179
+ <p>This is a popover with rich content. You can include text, links, and formatting.</p>
180
+ </div>
181
+ </div>
182
+ </div>
183
+
184
+ <!-- Popover Right -->
185
+ <div class="pa-popover" data-placement="right">
186
+ <button class="pa-popover__trigger">i</button>
187
+ <div class="pa-popover__content">
188
+ <div class="pa-popover__header">
189
+ <h4>Information</h4>
190
+ <button class="pa-popover__close">×</button>
191
+ </div>
192
+ <div class="pa-popover__body">
193
+ <p>Popover positioned to the right.</p>
194
+ </div>
195
+ </div>
196
+ </div>
197
+
198
+ <!-- Popover Bottom -->
199
+ <div class="pa-popover" data-placement="bottom">
200
+ <button class="pa-popover__trigger">?</button>
201
+ <div class="pa-popover__content">
202
+ <div class="pa-popover__header">
203
+ <h4>Details</h4>
204
+ <button class="pa-popover__close">×</button>
205
+ </div>
206
+ <div class="pa-popover__body">
207
+ <p>Popover positioned below the trigger.</p>
208
+ </div>
209
+ </div>
210
+ </div>
211
+
212
+ <!-- Popover Left -->
213
+ <div class="pa-popover" data-placement="left">
214
+ <button class="pa-popover__trigger">!</button>
215
+ <div class="pa-popover__content">
216
+ <div class="pa-popover__header">
217
+ <h4>Warning</h4>
218
+ <button class="pa-popover__close">×</button>
219
+ </div>
220
+ <div class="pa-popover__body">
221
+ <p>Popover positioned to the left.</p>
222
+ </div>
223
+ </div>
224
+ </div>
225
+
226
+
227
+ <!-- POPOVER SIZES -->
228
+
229
+ <!-- Small Popover -->
230
+ <div class="pa-popover pa-popover--sm" data-placement="top">
231
+ <button class="pa-popover__trigger">?</button>
232
+ <div class="pa-popover__content">
233
+ <div class="pa-popover__header">
234
+ <h4>Tip</h4>
235
+ <button class="pa-popover__close">×</button>
236
+ </div>
237
+ <div class="pa-popover__body">
238
+ <p>Small popover for brief hints.</p>
239
+ </div>
240
+ </div>
241
+ </div>
242
+
243
+ <!-- Default Popover -->
244
+ <div class="pa-popover" data-placement="top">
245
+ <button class="pa-popover__trigger">?</button>
246
+ <div class="pa-popover__content">
247
+ <div class="pa-popover__header">
248
+ <h4>Help</h4>
249
+ <button class="pa-popover__close">×</button>
250
+ </div>
251
+ <div class="pa-popover__body">
252
+ <p>Default size popover for standard content.</p>
253
+ </div>
254
+ </div>
255
+ </div>
256
+
257
+ <!-- Large Popover -->
258
+ <div class="pa-popover pa-popover--lg" data-placement="top">
259
+ <button class="pa-popover__trigger">i</button>
260
+ <div class="pa-popover__content">
261
+ <div class="pa-popover__header">
262
+ <h4>Detailed Information</h4>
263
+ <button class="pa-popover__close">×</button>
264
+ </div>
265
+ <div class="pa-popover__body">
266
+ <p>Large popover for detailed explanations and longer content.</p>
267
+ <p>Can include multiple paragraphs, lists, and other elements.</p>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+
273
+ <!-- POPOVER WITH RICH CONTENT -->
274
+
275
+ <!-- Popover with List -->
276
+ <div class="pa-popover pa-popover--lg" data-placement="bottom">
277
+ <button class="pa-popover__trigger">i</button>
278
+ <div class="pa-popover__content">
279
+ <div class="pa-popover__header">
280
+ <h4>Features</h4>
281
+ <button class="pa-popover__close">×</button>
282
+ </div>
283
+ <div class="pa-popover__body">
284
+ <p>This version includes:</p>
285
+ <ul>
286
+ <li>Performance improvements</li>
287
+ <li>Bug fixes</li>
288
+ <li>New dashboard features</li>
289
+ <li>Enhanced security</li>
290
+ </ul>
291
+ <p>Learn more in the <a href="/docs">documentation</a>.</p>
292
+ </div>
293
+ </div>
294
+ </div>
295
+
296
+ <!-- Popover with Code -->
297
+ <div class="pa-popover pa-popover--lg" data-placement="right">
298
+ <button class="pa-popover__trigger">?</button>
299
+ <div class="pa-popover__content">
300
+ <div class="pa-popover__header">
301
+ <h4>Usage Example</h4>
302
+ <button class="pa-popover__close">×</button>
303
+ </div>
304
+ <div class="pa-popover__body">
305
+ <p>Use the following code:</p>
306
+ <code>const value = getData();</code>
307
+ <p>This will retrieve the current value.</p>
308
+ </div>
309
+ </div>
310
+ </div>
311
+
312
+
313
+ <!-- JAVASCRIPT API -->
314
+
315
+ <!-- Tooltips and popovers are initialized automatically by tooltips-popovers.js
316
+ No manual initialization needed! -->
317
+
318
+ <script>
319
+ // Optional: Access the public API if needed
320
+ // window.PureAdminTooltips provides:
321
+ // - init(): Initialize all tooltips and popovers
322
+ // - initTooltips(): Initialize tooltips only
323
+ // - initPopovers(): Initialize popovers only
324
+ // - showTooltip(element): Show tooltip for element
325
+ // - hideTooltip(): Hide current tooltip
326
+
327
+ // Example: Manually initialize after dynamic content load
328
+ document.addEventListener('content-loaded', function() {
329
+ window.PureAdminTooltips.init();
330
+ });
331
+ </script>
332
+
333
+
334
+ <!-- AVAILABLE CLASSES REFERENCE -->
335
+ <!--
336
+ TOOLTIPS:
337
+ - pa-tooltip (base class, top position by default)
338
+
339
+ POSITIONS:
340
+ - pa-tooltip--right
341
+ - pa-tooltip--bottom
342
+ - pa-tooltip--left
343
+
344
+ VARIANTS:
345
+ - pa-tooltip--primary (primary colored background)
346
+ - pa-tooltip--success (success colored background)
347
+ - pa-tooltip--warning (warning colored background)
348
+ - pa-tooltip--danger (danger colored background)
349
+
350
+ MULTILINE:
351
+ - pa-tooltip--multiline (allows text wrapping)
352
+
353
+ POPOVERS:
354
+ - pa-popover (base container)
355
+
356
+ POSITIONING (use data-placement attribute):
357
+ - data-placement="top" (default)
358
+ - data-placement="right"
359
+ - data-placement="bottom"
360
+ - data-placement="left"
361
+
362
+ SIZES:
363
+ - pa-popover--sm (small)
364
+ - pa-popover--lg (large)
365
+
366
+ COMPONENTS:
367
+ - pa-popover__trigger (button/trigger element)
368
+ - pa-popover__content (popover container)
369
+ - pa-popover__header (header section)
370
+ - pa-popover__body (content section)
371
+ - pa-popover__close (close button)
372
+
373
+ FLOATING UI FEATURES:
374
+ - Automatic collision detection
375
+ - Auto-flipping when near viewport edges
376
+ - Smart shift to stay visible
377
+ - No manual positioning needed
378
+ - autoUpdate for automatic repositioning on scroll/resize
379
+ -->
380
+
381
+ <!-- IMPLEMENTATION NOTES -->
382
+ <!--
383
+ REQUIREMENTS:
384
+ - @floating-ui/core and @floating-ui/dom must be loaded
385
+ - tooltips-popovers.js handles all initialization
386
+ - SCSS styles in core-components/_tooltips.scss
387
+
388
+ FLOATING UI BENEFITS:
389
+ - Tooltips never go off-screen
390
+ - Auto-flip to opposite side if no space
391
+ - Shift horizontally/vertically to stay visible
392
+ - Works with scrolling and resizing
393
+ - Position is calculated dynamically
394
+
395
+ TOOLTIP BEHAVIOR:
396
+ - Show on mouseenter and focus
397
+ - Hide on mouseleave and blur
398
+ - Single shared tooltip element (performance)
399
+ - Positioned using computePosition() with flip, shift, offset middleware
400
+
401
+ POPOVER BEHAVIOR:
402
+ - Show on trigger click
403
+ - Hide on close button click or outside click
404
+ - Use data-placement attribute for positioning (not CSS classes)
405
+ - Positioned using computePosition() with flip, shift, offset middleware
406
+ - autoUpdate ensures automatic repositioning on scroll/resize
407
+ - Uses data-show attribute for visibility control
408
+ - Absolute positioning relative to trigger
409
+ - Only one popover open at a time
410
+ - Proper cleanup of autoUpdate on hide
411
+ -->
@@ -0,0 +1,101 @@
1
+ <!-- Typography Component (.pa-text)
2
+ BEM pattern for paragraph text styling
3
+ ================================================== -->
4
+
5
+ <!-- Base Text (default: 14px, primary color) -->
6
+ <p class="pa-text">Default paragraph text with 14px font size and primary color.</p>
7
+
8
+ <!-- Size Modifiers -->
9
+ <p class="pa-text pa-text--xs">Extra small text (10px)</p>
10
+ <p class="pa-text pa-text--sm">Small text (12px)</p>
11
+ <p class="pa-text">Default text (14px)</p>
12
+ <p class="pa-text pa-text--lg">Large text (16px)</p>
13
+ <p class="pa-text pa-text--xl">Extra large text (18px)</p>
14
+
15
+ <!-- Color Modifiers -->
16
+ <p class="pa-text pa-text--primary">Primary color text</p>
17
+ <p class="pa-text pa-text--secondary">Secondary/muted color text</p>
18
+
19
+ <!-- Alignment Modifiers -->
20
+ <p class="pa-text pa-text--left">Left aligned text</p>
21
+ <p class="pa-text pa-text--center">Center aligned text</p>
22
+ <p class="pa-text pa-text--right">Right aligned text</p>
23
+
24
+ <!-- Semantic Variants -->
25
+
26
+ <!-- Caption: Small secondary text with bottom margin (for hints/descriptions) -->
27
+ <p class="pa-text pa-text--caption">This is a caption - small, secondary, with margin-bottom</p>
28
+
29
+ <!-- Lead: Larger intro text with relaxed line height -->
30
+ <p class="pa-text pa-text--lead">This is lead text - larger font with relaxed line height for introductory paragraphs.</p>
31
+
32
+ <!-- Combined Modifiers -->
33
+ <p class="pa-text pa-text--sm pa-text--secondary">Small secondary text</p>
34
+ <p class="pa-text pa-text--lg pa-text--center">Large centered text</p>
35
+ <p class="pa-text pa-text--xs pa-text--right pa-text--secondary">Extra small, right-aligned, secondary</p>
36
+
37
+ <!-- With Spacing Utilities -->
38
+ <p class="pa-text pa-text--secondary mt-4">Secondary text with top margin</p>
39
+ <p class="pa-text pa-text--caption mb-6">Caption with larger bottom margin</p>
40
+
41
+ <!-- Practical Examples -->
42
+
43
+ <!-- Demo/hint text above a component -->
44
+ <h4>Badge Wrapping Demo</h4>
45
+ <p class="pa-text pa-text--caption">29 badges in narrow container</p>
46
+ <div class="pa-badge-group"><!-- badges here --></div>
47
+
48
+ <!-- Card header description -->
49
+ <div class="pa-card__header">
50
+ <h3>Feature Title</h3>
51
+ <p class="pa-text pa-text--secondary">Brief description of this feature or section.</p>
52
+ </div>
53
+
54
+ <!-- Form helper text -->
55
+ <div class="pa-card__footer">
56
+ <p class="pa-text pa-text--sm pa-text--secondary" style="margin: 0;">
57
+ <strong>Note:</strong> Additional information about the form layout.
58
+ </p>
59
+ </div>
60
+
61
+ <!-- Centered tab content -->
62
+ <div class="pa-tabs__panel">
63
+ <p class="pa-text pa-text--center">Feature highlights and capabilities.</p>
64
+ </div>
65
+
66
+ <!-- Toast/notification helper -->
67
+ <p class="pa-text pa-text--secondary mt-4">
68
+ Progress bar shows time remaining before auto-dismiss (5 seconds)
69
+ </p>
70
+
71
+ <!--
72
+ Available Classes Reference:
73
+ ============================
74
+
75
+ Base:
76
+ .pa-text Default (14px, primary color)
77
+
78
+ Sizes:
79
+ .pa-text--xs 10px (extra small)
80
+ .pa-text--sm 12px (small)
81
+ .pa-text--lg 16px (large)
82
+ .pa-text--xl 18px (extra large)
83
+
84
+ Colors:
85
+ .pa-text--primary Primary text color
86
+ .pa-text--secondary Secondary/muted text color
87
+
88
+ Alignment:
89
+ .pa-text--left Left align
90
+ .pa-text--center Center align
91
+ .pa-text--right Right align
92
+
93
+ Semantic:
94
+ .pa-text--caption Small + secondary + margin-bottom (for hints)
95
+ .pa-text--lead Large + relaxed line-height (for intros)
96
+
97
+ Combine with spacing utilities:
98
+ mt-1 through mt-20 Margin top
99
+ mb-1 through mb-20 Margin bottom
100
+ (see utilities.scss for full spacing scale)
101
+ -->