@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.
- package/LICENSE +21 -0
- package/README.md +172 -0
- package/dist/css/main.css +11542 -0
- package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8UH-qVHQ.woff2.2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8VH-qVHQ.woff2.2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8bH-o.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8bH-o.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2.1 +0 -0
- package/dist/fonts/google/3y976aknfjLm_3lMKjiMgmUUYBs04Y8fH-qVHQ.woff2.2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtE2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtU2Hw.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtY2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvtg2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvto2H68T.woff2 +0 -0
- package/dist/fonts/google/6aez4K2oVqwIvts2H68T.woff2 +0 -0
- package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nejog.woff2 +0 -0
- package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nijogp5.woff2 +0 -0
- package/dist/fonts/google/7Auup_AqnyWWAxW2Wk3swUz56MS91Eww8SX21nmjogp5.woff2 +0 -0
- package/dist/fonts/google/PN_xRfK9oXHga0XdZ8g_vT0.woff2 +0 -0
- package/dist/fonts/google/PN_xRfK9oXHga0XdZsg_.woff2 +0 -0
- package/dist/fonts/google/PN_xRfK9oXHga0XdaMg_vT0.woff2 +0 -0
- package/dist/fonts/google/TK3tWkYFABsmjsphPho.woff2 +0 -0
- package/dist/fonts/google/TK3tWkYFABsmjspuPho7vA.woff2 +0 -0
- package/dist/fonts/google/TK3tWkYFABsmjspvPho7vA.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjTYJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjXYJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6Vj_YJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjbYJwQj.woff2 +0 -0
- package/dist/fonts/google/dg45_pLmvrkcOkBnKsOzXyGWTBcmg-X6VjvYJw.woff2 +0 -0
- package/dist/fonts/google/fonts-tracklist.txt +48 -0
- package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbBjM4.woff2 +0 -0
- package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbOjM7sfA.woff2 +0 -0
- package/dist/fonts/google/vEFO2_JTCgwQ5ejvMV0O96D01E8J0tJXHKbPjM7sfA.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfLtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfXtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfbtrQ.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfjtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfntrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfrtrftV.woff2 +0 -0
- package/dist/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfvtrftV.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_B-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_C-bk.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_G-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_M-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_N-bnBeA.woff2 +0 -0
- package/dist/fonts/google/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_P-bnBeA.woff2 +0 -0
- package/package.json +60 -0
- package/snippets/alerts.html +281 -0
- package/snippets/badges.html +212 -0
- package/snippets/buttons.html +287 -0
- package/snippets/cards.html +393 -0
- package/snippets/checkbox-lists.html +490 -0
- package/snippets/code.html +225 -0
- package/snippets/command-palette.html +210 -0
- package/snippets/comparison.html +428 -0
- package/snippets/customization.html +142 -0
- package/snippets/forms.html +477 -0
- package/snippets/grid.html +338 -0
- package/snippets/layout.html +598 -0
- package/snippets/lists.html +232 -0
- package/snippets/loaders.html +183 -0
- package/snippets/manifest.json +388 -0
- package/snippets/modal-dialogs.html +411 -0
- package/snippets/modals.html +310 -0
- package/snippets/popconfirm.html +253 -0
- package/snippets/profile.html +264 -0
- package/snippets/tables.html +317 -0
- package/snippets/tabs.html +930 -0
- package/snippets/timeline.html +364 -0
- package/snippets/toasts.html +154 -0
- package/snippets/tooltips.html +411 -0
- package/snippets/typography.html +101 -0
- package/snippets/utilities.html +595 -0
- package/snippets/virtual-scroll.html +322 -0
- package/snippets/web-daterangepicker.html +634 -0
- package/snippets/web-multiselect.html +362 -0
- package/src/scss/.claude/settings.local.json +11 -0
- package/src/scss/_base-css-variables.scss +348 -0
- package/src/scss/_core.scss +99 -0
- package/src/scss/_fonts.scss +67 -0
- package/src/scss/_purecss-grid-responsive.scss +138 -0
- package/src/scss/_purecss-grid.scss +58 -0
- package/src/scss/_variables.scss +14 -0
- package/src/scss/core-components/_alerts.scss +212 -0
- package/src/scss/core-components/_badges.scss +16 -0
- package/src/scss/core-components/_base.scss +124 -0
- package/src/scss/core-components/_buttons.scss +473 -0
- package/src/scss/core-components/_cards.scss +285 -0
- package/src/scss/core-components/_checkbox-lists.scss +289 -0
- package/src/scss/core-components/_code.scss +141 -0
- package/src/scss/core-components/_command-palette.scss +518 -0
- package/src/scss/core-components/_comparison.scss +172 -0
- package/src/scss/core-components/_file-selector.scss +780 -0
- package/src/scss/core-components/_forms.scss +16 -0
- package/src/scss/core-components/_grid.scss +264 -0
- package/src/scss/core-components/_layout.scss +15 -0
- package/src/scss/core-components/_lists.scss +211 -0
- package/src/scss/core-components/_loaders.scss +277 -0
- package/src/scss/core-components/_logic-tree.scss +280 -0
- package/src/scss/core-components/_modals.scss +209 -0
- package/src/scss/core-components/_notifications.scss +253 -0
- package/src/scss/core-components/_pagers.scss +141 -0
- package/src/scss/core-components/_popconfirm.scss +170 -0
- package/src/scss/core-components/_profile.scss +281 -0
- package/src/scss/core-components/_settings-panel.scss +128 -0
- package/src/scss/core-components/_statistics.scss +200 -0
- package/src/scss/core-components/_tables.scss +555 -0
- package/src/scss/core-components/_tabs.scss +438 -0
- package/src/scss/core-components/_timeline.scss +589 -0
- package/src/scss/core-components/_toasts.scss +281 -0
- package/src/scss/core-components/_tooltips.scss +503 -0
- package/src/scss/core-components/_utilities.scss +241 -0
- package/src/scss/core-components/_web-components-theme.scss +294 -0
- package/src/scss/core-components/badges/_badge-base.scss +131 -0
- package/src/scss/core-components/badges/_badge-group.scss +25 -0
- package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -0
- package/src/scss/core-components/badges/_composite-badge.scss +70 -0
- package/src/scss/core-components/badges/_index.scss +10 -0
- package/src/scss/core-components/badges/_labels.scss +155 -0
- package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -0
- package/src/scss/core-components/forms/_form-inputs.scss +100 -0
- package/src/scss/core-components/forms/_form-layout.scss +66 -0
- package/src/scss/core-components/forms/_form-states.scss +89 -0
- package/src/scss/core-components/forms/_index.scss +12 -0
- package/src/scss/core-components/forms/_input-groups.scss +149 -0
- package/src/scss/core-components/forms/_input-wrapper.scss +89 -0
- package/src/scss/core-components/forms/_query-editor.scss +313 -0
- package/src/scss/core-components/layout/_index.scss +11 -0
- package/src/scss/core-components/layout/_layout-container.scss +105 -0
- package/src/scss/core-components/layout/_layout-responsive.scss +100 -0
- package/src/scss/core-components/layout/_navbar-elements.scss +238 -0
- package/src/scss/core-components/layout/_navbar.scss +71 -0
- package/src/scss/core-components/layout/_sidebar-states.scss +228 -0
- package/src/scss/core-components/layout/_sidebar.scss +177 -0
- package/src/scss/main.scss +7 -0
- package/src/scss/themes/_dark-base.scss +207 -0
- package/src/scss/themes/audi-light.scss +311 -0
- package/src/scss/themes/audi.scss +288 -0
- package/src/scss/themes/corporate.scss +203 -0
- package/src/scss/themes/dark-blue.scss +152 -0
- package/src/scss/themes/dark-green.scss +156 -0
- package/src/scss/themes/dark-red.scss +160 -0
- package/src/scss/themes/dark.scss +145 -0
- package/src/scss/themes/express.scss +281 -0
- package/src/scss/themes/minimal.scss +121 -0
- package/src/scss/utilities.scss +481 -0
- package/src/scss/variables/_base.scss +81 -0
- package/src/scss/variables/_colors.scss +148 -0
- package/src/scss/variables/_components.scss +509 -0
- package/src/scss/variables/_index.scss +13 -0
- package/src/scss/variables/_layout.scss +65 -0
- package/src/scss/variables/_spacing.scss +66 -0
- package/src/scss/variables/_system.scss +80 -0
- 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
|
+
-->
|