@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,428 @@
|
|
|
1
|
+
<!-- ================================
|
|
2
|
+
COMPARISON TABLE SNIPPETS
|
|
3
|
+
Pure Admin Visual Framework
|
|
4
|
+
================================ -->
|
|
5
|
+
|
|
6
|
+
<!-- ================================
|
|
7
|
+
TWO-COLUMN COMPARISON
|
|
8
|
+
Base values vs New values
|
|
9
|
+
================================ -->
|
|
10
|
+
|
|
11
|
+
<div class="pa-card">
|
|
12
|
+
<div class="pa-card__header d-flex justify-content-between align-items-center">
|
|
13
|
+
<h3>Version Detail</h3>
|
|
14
|
+
<div class="pa-btn-group">
|
|
15
|
+
<button class="pa-btn pa-btn--sm pa-btn--primary">
|
|
16
|
+
<i class="fa-solid fa-table-list"></i> View in form
|
|
17
|
+
</button>
|
|
18
|
+
<button class="pa-btn pa-btn--sm pa-btn--secondary">
|
|
19
|
+
<i class="fa-solid fa-table"></i> View in table
|
|
20
|
+
</button>
|
|
21
|
+
<button class="pa-btn pa-btn--sm pa-btn--secondary pa-btn--icon-only">
|
|
22
|
+
<i class="fa-solid fa-location-dot"></i>
|
|
23
|
+
</button>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="pa-card__body pa-card__body--no-padding">
|
|
27
|
+
<table class="pa-table pa-comparison-table">
|
|
28
|
+
<thead>
|
|
29
|
+
<tr>
|
|
30
|
+
<th style="width: 20%;">#</th>
|
|
31
|
+
<th style="width: 40%;">Base values</th>
|
|
32
|
+
<th style="width: 40%;">New values</th>
|
|
33
|
+
</tr>
|
|
34
|
+
</thead>
|
|
35
|
+
<tbody>
|
|
36
|
+
<!-- Regular row (no changes) -->
|
|
37
|
+
<tr>
|
|
38
|
+
<td class="pa-comparison-table__label">Country Iso 2</td>
|
|
39
|
+
<td>
|
|
40
|
+
<div class="pa-comparison-table__value">
|
|
41
|
+
<span>be</span>
|
|
42
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
43
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
44
|
+
</button>
|
|
45
|
+
</div>
|
|
46
|
+
</td>
|
|
47
|
+
<td>
|
|
48
|
+
<div class="pa-comparison-table__value">
|
|
49
|
+
<span>be</span>
|
|
50
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
51
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
52
|
+
</button>
|
|
53
|
+
</div>
|
|
54
|
+
</td>
|
|
55
|
+
</tr>
|
|
56
|
+
|
|
57
|
+
<!-- Empty row -->
|
|
58
|
+
<tr>
|
|
59
|
+
<td class="pa-comparison-table__label">Region</td>
|
|
60
|
+
<td></td>
|
|
61
|
+
<td></td>
|
|
62
|
+
</tr>
|
|
63
|
+
|
|
64
|
+
<!-- Changed row (pink highlight) -->
|
|
65
|
+
<tr>
|
|
66
|
+
<td class="pa-comparison-table__label">Town</td>
|
|
67
|
+
<td>
|
|
68
|
+
<div class="pa-comparison-table__value">
|
|
69
|
+
<span>Beveren</span>
|
|
70
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
71
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
72
|
+
</button>
|
|
73
|
+
</div>
|
|
74
|
+
</td>
|
|
75
|
+
<td class="pa-comparison-table__changed">
|
|
76
|
+
<div class="pa-comparison-table__value">
|
|
77
|
+
<span>Antwerpen</span>
|
|
78
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
79
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
80
|
+
</button>
|
|
81
|
+
</div>
|
|
82
|
+
</td>
|
|
83
|
+
</tr>
|
|
84
|
+
|
|
85
|
+
<!-- Section header -->
|
|
86
|
+
<tr class="pa-comparison-table__section">
|
|
87
|
+
<td colspan="3">Address metadata</td>
|
|
88
|
+
</tr>
|
|
89
|
+
|
|
90
|
+
<!-- Row with status indicator -->
|
|
91
|
+
<tr>
|
|
92
|
+
<td class="pa-comparison-table__label">Is active</td>
|
|
93
|
+
<td>
|
|
94
|
+
<i class="fa-solid fa-check" style="color: var(--base-success-color);"></i>
|
|
95
|
+
</td>
|
|
96
|
+
<td>
|
|
97
|
+
<i class="fa-solid fa-check" style="color: var(--base-success-color);"></i>
|
|
98
|
+
</td>
|
|
99
|
+
</tr>
|
|
100
|
+
|
|
101
|
+
<!-- Row with badge -->
|
|
102
|
+
<tr>
|
|
103
|
+
<td class="pa-comparison-table__label">Status</td>
|
|
104
|
+
<td>
|
|
105
|
+
<span class="pa-badge pa-badge--success">Active</span>
|
|
106
|
+
</td>
|
|
107
|
+
<td>
|
|
108
|
+
<span class="pa-badge pa-badge--success">Active</span>
|
|
109
|
+
</td>
|
|
110
|
+
</tr>
|
|
111
|
+
</tbody>
|
|
112
|
+
</table>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<!-- ================================
|
|
118
|
+
THREE-COLUMN COMPARISON
|
|
119
|
+
Base vs Change A vs Change B
|
|
120
|
+
================================ -->
|
|
121
|
+
|
|
122
|
+
<div class="pa-card">
|
|
123
|
+
<div class="pa-card__header d-flex justify-content-between align-items-center">
|
|
124
|
+
<h3>Merge Comparison</h3>
|
|
125
|
+
<div class="pa-btn-group">
|
|
126
|
+
<button class="pa-btn pa-btn--sm pa-btn--success">
|
|
127
|
+
<i class="fa-solid fa-code-merge"></i> Accept A
|
|
128
|
+
</button>
|
|
129
|
+
<button class="pa-btn pa-btn--sm pa-btn--info">
|
|
130
|
+
<i class="fa-solid fa-code-merge"></i> Accept B
|
|
131
|
+
</button>
|
|
132
|
+
<button class="pa-btn pa-btn--sm pa-btn--secondary">
|
|
133
|
+
<i class="fa-solid fa-xmark"></i> Reject Both
|
|
134
|
+
</button>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="pa-card__body pa-card__body--no-padding">
|
|
138
|
+
<table class="pa-table pa-comparison-table">
|
|
139
|
+
<thead>
|
|
140
|
+
<tr>
|
|
141
|
+
<th style="width: 20%;">#</th>
|
|
142
|
+
<th style="width: 26.67%;">Base</th>
|
|
143
|
+
<th style="width: 26.67%;">Change A</th>
|
|
144
|
+
<th style="width: 26.67%;">Change B</th>
|
|
145
|
+
</tr>
|
|
146
|
+
</thead>
|
|
147
|
+
<tbody>
|
|
148
|
+
<!-- Section header -->
|
|
149
|
+
<tr class="pa-comparison-table__section">
|
|
150
|
+
<td colspan="4">Contact Information</td>
|
|
151
|
+
</tr>
|
|
152
|
+
|
|
153
|
+
<!-- Single change in column A -->
|
|
154
|
+
<tr>
|
|
155
|
+
<td class="pa-comparison-table__label">Email</td>
|
|
156
|
+
<td>
|
|
157
|
+
<div class="pa-comparison-table__value">
|
|
158
|
+
<span>john.doe@company.com</span>
|
|
159
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
160
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
161
|
+
</button>
|
|
162
|
+
</div>
|
|
163
|
+
</td>
|
|
164
|
+
<td class="pa-comparison-table__changed">
|
|
165
|
+
<div class="pa-comparison-table__value">
|
|
166
|
+
<span>john.doe@newcompany.com</span>
|
|
167
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
168
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
169
|
+
</button>
|
|
170
|
+
</div>
|
|
171
|
+
</td>
|
|
172
|
+
<td>
|
|
173
|
+
<div class="pa-comparison-table__value">
|
|
174
|
+
<span>john.doe@company.com</span>
|
|
175
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
176
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
177
|
+
</button>
|
|
178
|
+
</div>
|
|
179
|
+
</td>
|
|
180
|
+
</tr>
|
|
181
|
+
|
|
182
|
+
<!-- Single change in column B -->
|
|
183
|
+
<tr>
|
|
184
|
+
<td class="pa-comparison-table__label">Phone</td>
|
|
185
|
+
<td>
|
|
186
|
+
<div class="pa-comparison-table__value">
|
|
187
|
+
<span>+32 123 456 789</span>
|
|
188
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
189
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
190
|
+
</button>
|
|
191
|
+
</div>
|
|
192
|
+
</td>
|
|
193
|
+
<td>
|
|
194
|
+
<div class="pa-comparison-table__value">
|
|
195
|
+
<span>+32 123 456 789</span>
|
|
196
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
197
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
198
|
+
</button>
|
|
199
|
+
</div>
|
|
200
|
+
</td>
|
|
201
|
+
<td class="pa-comparison-table__changed">
|
|
202
|
+
<div class="pa-comparison-table__value">
|
|
203
|
+
<span>+32 987 654 321</span>
|
|
204
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
205
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
206
|
+
</button>
|
|
207
|
+
</div>
|
|
208
|
+
</td>
|
|
209
|
+
</tr>
|
|
210
|
+
|
|
211
|
+
<!-- Conflict (both A and B changed differently) -->
|
|
212
|
+
<tr>
|
|
213
|
+
<td class="pa-comparison-table__label">Department</td>
|
|
214
|
+
<td>
|
|
215
|
+
<div class="pa-comparison-table__value">
|
|
216
|
+
<span>Sales</span>
|
|
217
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
218
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
219
|
+
</button>
|
|
220
|
+
</div>
|
|
221
|
+
</td>
|
|
222
|
+
<td class="pa-comparison-table__changed">
|
|
223
|
+
<div class="pa-comparison-table__value">
|
|
224
|
+
<span>Marketing</span>
|
|
225
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
226
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
227
|
+
</button>
|
|
228
|
+
</div>
|
|
229
|
+
</td>
|
|
230
|
+
<td class="pa-comparison-table__changed pa-comparison-table__conflict">
|
|
231
|
+
<div class="pa-comparison-table__value">
|
|
232
|
+
<span>Engineering</span>
|
|
233
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
234
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
235
|
+
</button>
|
|
236
|
+
</div>
|
|
237
|
+
</td>
|
|
238
|
+
</tr>
|
|
239
|
+
</tbody>
|
|
240
|
+
</table>
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
<!-- ================================
|
|
246
|
+
SOLID BACKGROUND VARIANT
|
|
247
|
+
Using --solid modifier for uniform background highlighting
|
|
248
|
+
================================ -->
|
|
249
|
+
|
|
250
|
+
<div class="pa-card">
|
|
251
|
+
<div class="pa-card__header">
|
|
252
|
+
<h3>Version Detail (Solid Background)</h3>
|
|
253
|
+
</div>
|
|
254
|
+
<div class="pa-card__body pa-card__body--no-padding">
|
|
255
|
+
<table class="pa-table pa-comparison-table">
|
|
256
|
+
<thead>
|
|
257
|
+
<tr>
|
|
258
|
+
<th style="width: 20%;">#</th>
|
|
259
|
+
<th style="width: 40%;">Base values</th>
|
|
260
|
+
<th style="width: 40%;">New values</th>
|
|
261
|
+
</tr>
|
|
262
|
+
</thead>
|
|
263
|
+
<tbody>
|
|
264
|
+
<!-- Regular row (no changes) -->
|
|
265
|
+
<tr>
|
|
266
|
+
<td class="pa-comparison-table__label">Country Iso 2</td>
|
|
267
|
+
<td>
|
|
268
|
+
<div class="pa-comparison-table__value">
|
|
269
|
+
<span>be</span>
|
|
270
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
271
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
272
|
+
</button>
|
|
273
|
+
</div>
|
|
274
|
+
</td>
|
|
275
|
+
<td>
|
|
276
|
+
<div class="pa-comparison-table__value">
|
|
277
|
+
<span>be</span>
|
|
278
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
279
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
280
|
+
</button>
|
|
281
|
+
</div>
|
|
282
|
+
</td>
|
|
283
|
+
</tr>
|
|
284
|
+
|
|
285
|
+
<!-- Changed row with solid background (no left border) -->
|
|
286
|
+
<tr>
|
|
287
|
+
<td class="pa-comparison-table__label">Town</td>
|
|
288
|
+
<td>
|
|
289
|
+
<div class="pa-comparison-table__value">
|
|
290
|
+
<span>Beveren</span>
|
|
291
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
292
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
293
|
+
</button>
|
|
294
|
+
</div>
|
|
295
|
+
</td>
|
|
296
|
+
<td class="pa-comparison-table__changed pa-comparison-table__changed--solid">
|
|
297
|
+
<div class="pa-comparison-table__value">
|
|
298
|
+
<span>Antwerpen</span>
|
|
299
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
300
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
301
|
+
</button>
|
|
302
|
+
</div>
|
|
303
|
+
</td>
|
|
304
|
+
</tr>
|
|
305
|
+
|
|
306
|
+
<!-- Another changed row with solid background -->
|
|
307
|
+
<tr>
|
|
308
|
+
<td class="pa-comparison-table__label">Postal Code</td>
|
|
309
|
+
<td>
|
|
310
|
+
<div class="pa-comparison-table__value">
|
|
311
|
+
<span>9120</span>
|
|
312
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
313
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
314
|
+
</button>
|
|
315
|
+
</div>
|
|
316
|
+
</td>
|
|
317
|
+
<td class="pa-comparison-table__changed pa-comparison-table__changed--solid">
|
|
318
|
+
<div class="pa-comparison-table__value">
|
|
319
|
+
<span>2000</span>
|
|
320
|
+
<button class="pa-btn pa-btn--xs pa-btn--icon-only pa-comparison-table__copy">
|
|
321
|
+
<i class="fa-solid fa-clipboard"></i>
|
|
322
|
+
</button>
|
|
323
|
+
</div>
|
|
324
|
+
</td>
|
|
325
|
+
</tr>
|
|
326
|
+
</tbody>
|
|
327
|
+
</table>
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
<!-- ================================
|
|
333
|
+
JAVASCRIPT INTEGRATION
|
|
334
|
+
================================ -->
|
|
335
|
+
|
|
336
|
+
<script>
|
|
337
|
+
// Copy button functionality
|
|
338
|
+
document.querySelectorAll('.pa-comparison-table__copy').forEach(btn => {
|
|
339
|
+
btn.addEventListener('click', function() {
|
|
340
|
+
const value = this.previousElementSibling.textContent;
|
|
341
|
+
navigator.clipboard.writeText(value).then(() => {
|
|
342
|
+
// Visual feedback - change icon temporarily
|
|
343
|
+
const icon = this.querySelector('i');
|
|
344
|
+
icon.classList.remove('fa-clipboard');
|
|
345
|
+
icon.classList.add('fa-check');
|
|
346
|
+
setTimeout(() => {
|
|
347
|
+
icon.classList.remove('fa-check');
|
|
348
|
+
icon.classList.add('fa-clipboard');
|
|
349
|
+
}, 1000);
|
|
350
|
+
});
|
|
351
|
+
});
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
// Accept/reject button handlers (example)
|
|
355
|
+
document.querySelectorAll('[data-action="accept-a"]').forEach(btn => {
|
|
356
|
+
btn.addEventListener('click', function() {
|
|
357
|
+
// Get all changed values from column A
|
|
358
|
+
// Apply them to the base record
|
|
359
|
+
// Show success notification
|
|
360
|
+
});
|
|
361
|
+
});
|
|
362
|
+
</script>
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
<!-- ================================
|
|
366
|
+
CSS CLASSES REFERENCE
|
|
367
|
+
================================ -->
|
|
368
|
+
|
|
369
|
+
<!--
|
|
370
|
+
COMPONENT CLASSES:
|
|
371
|
+
- pa-comparison-table Main table class
|
|
372
|
+
- pa-comparison-table__label Field name column (left)
|
|
373
|
+
- pa-comparison-table__value Value wrapper (contains text + copy button)
|
|
374
|
+
- pa-comparison-table__copy Copy button styling
|
|
375
|
+
- pa-comparison-table__changed Pink highlight for changes (light bg + left border accent)
|
|
376
|
+
- pa-comparison-table__changed--solid Solid pink background (no left border)
|
|
377
|
+
- pa-comparison-table__conflict Orange highlight for merge conflicts (3-column only)
|
|
378
|
+
- pa-comparison-table__conflict--solid Solid orange background (no left border)
|
|
379
|
+
- pa-comparison-table__section Section header row
|
|
380
|
+
|
|
381
|
+
USAGE PATTERNS:
|
|
382
|
+
|
|
383
|
+
Two-column comparison:
|
|
384
|
+
- Column 1: Field labels (pa-comparison-table__label)
|
|
385
|
+
- Column 2: Base values
|
|
386
|
+
- Column 3: New values
|
|
387
|
+
- Add pa-comparison-table__changed to cells that changed
|
|
388
|
+
- Add pa-comparison-table__changed--solid for solid background highlighting
|
|
389
|
+
|
|
390
|
+
Three-column comparison:
|
|
391
|
+
- Column 1: Field labels (pa-comparison-table__label)
|
|
392
|
+
- Column 2: Base values
|
|
393
|
+
- Column 3: Change A values
|
|
394
|
+
- Column 4: Change B values
|
|
395
|
+
- Add pa-comparison-table__changed to cells that changed
|
|
396
|
+
- Add pa-comparison-table__changed--solid for solid background (no border accent)
|
|
397
|
+
- Add pa-comparison-table__conflict to cells with conflicting changes
|
|
398
|
+
- Add pa-comparison-table__conflict--solid for solid conflict highlighting
|
|
399
|
+
|
|
400
|
+
Highlighting Styles:
|
|
401
|
+
- Default (pa-comparison-table__changed): Light background + colored left border accent
|
|
402
|
+
- Solid (pa-comparison-table__changed--solid): More opaque background, no border accent
|
|
403
|
+
- Use --solid variant when left border might interfere with table layout or when you prefer uniform background highlighting
|
|
404
|
+
|
|
405
|
+
Section headers:
|
|
406
|
+
- Use <tr class="pa-comparison-table__section">
|
|
407
|
+
- Single <td> with colspan covering all columns
|
|
408
|
+
- Contains section name text
|
|
409
|
+
|
|
410
|
+
Empty rows:
|
|
411
|
+
- Keep empty <td> elements to maintain table structure
|
|
412
|
+
- Helps with visual scanning
|
|
413
|
+
|
|
414
|
+
Value cells:
|
|
415
|
+
- Wrap content in pa-comparison-table__value div
|
|
416
|
+
- Include copy button for copyable values
|
|
417
|
+
- Use icons, badges, or plain text as needed
|
|
418
|
+
|
|
419
|
+
FEATURES:
|
|
420
|
+
✅ Responsive design (stacks on mobile)
|
|
421
|
+
✅ Copy to clipboard functionality
|
|
422
|
+
✅ Hover-visible copy buttons
|
|
423
|
+
✅ Section grouping
|
|
424
|
+
✅ Change highlighting (pink)
|
|
425
|
+
✅ Conflict highlighting (orange)
|
|
426
|
+
✅ Support for icons, badges, and rich content
|
|
427
|
+
✅ Empty row preservation for structure
|
|
428
|
+
-->
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
<!-- ================================
|
|
2
|
+
CUSTOMIZATION & CSS VARIABLES
|
|
3
|
+
Pure Admin Visual Framework
|
|
4
|
+
================================ -->
|
|
5
|
+
|
|
6
|
+
<!-- ================================
|
|
7
|
+
PAGE LOADER CSS VARIABLES
|
|
8
|
+
Customize the loading screen appearance
|
|
9
|
+
================================ -->
|
|
10
|
+
|
|
11
|
+
<!-- Default Usage (uses theme values) -->
|
|
12
|
+
<!-- The page loader appears during initial page load to prevent FOUC -->
|
|
13
|
+
<!-- Each theme defines its own colors via CSS variables -->
|
|
14
|
+
|
|
15
|
+
<!-- Custom Override Example -->
|
|
16
|
+
<style>
|
|
17
|
+
:root {
|
|
18
|
+
/* Background overlay color (with transparency) */
|
|
19
|
+
--page-loader-bg: rgba(255, 0, 0, 0.9);
|
|
20
|
+
|
|
21
|
+
/* Spinner border color */
|
|
22
|
+
--page-loader-spinner-border: #333;
|
|
23
|
+
|
|
24
|
+
/* Spinner accent color (animated top border) */
|
|
25
|
+
--page-loader-spinner-accent: #00ff00;
|
|
26
|
+
}
|
|
27
|
+
</style>
|
|
28
|
+
|
|
29
|
+
<!-- Theme Default Values -->
|
|
30
|
+
<!--
|
|
31
|
+
CORPORATE THEME:
|
|
32
|
+
--page-loader-bg: rgba(26, 26, 26, 0.95)
|
|
33
|
+
--page-loader-spinner-border: #333
|
|
34
|
+
--page-loader-spinner-accent: #0066cc
|
|
35
|
+
|
|
36
|
+
EXPRESS THEME:
|
|
37
|
+
--page-loader-bg: rgba(0, 0, 0, 0.95)
|
|
38
|
+
--page-loader-spinner-border: #333
|
|
39
|
+
--page-loader-spinner-accent: #FFCC00
|
|
40
|
+
|
|
41
|
+
AUDI THEME (DARK):
|
|
42
|
+
--page-loader-bg: rgba(10, 10, 10, 0.95)
|
|
43
|
+
--page-loader-spinner-border: #333
|
|
44
|
+
--page-loader-spinner-accent: #ff0000
|
|
45
|
+
|
|
46
|
+
AUDI LIGHT THEME:
|
|
47
|
+
--page-loader-bg: rgba(240, 240, 240, 0.95)
|
|
48
|
+
--page-loader-spinner-border: #d0d0d0
|
|
49
|
+
--page-loader-spinner-accent: #bb0a30
|
|
50
|
+
|
|
51
|
+
MINIMAL THEME:
|
|
52
|
+
--page-loader-bg: rgba(255, 255, 255, 0.95)
|
|
53
|
+
--page-loader-spinner-border: #e0e0e0
|
|
54
|
+
--page-loader-spinner-accent: #000000
|
|
55
|
+
|
|
56
|
+
DARK THEMES (dark, dark-blue, dark-green, dark-red):
|
|
57
|
+
--page-loader-bg: rgba(26, 26, 26, 0.95)
|
|
58
|
+
--page-loader-spinner-border: #333
|
|
59
|
+
--page-loader-spinner-accent: <theme-color>
|
|
60
|
+
- dark: #0ea5e9 (blue)
|
|
61
|
+
- dark-blue: #3b82f6 (blue)
|
|
62
|
+
- dark-green: #10b981 (green)
|
|
63
|
+
- dark-red: #ef4444 (red)
|
|
64
|
+
-->
|
|
65
|
+
|
|
66
|
+
<!-- Why CSS Variables? -->
|
|
67
|
+
<!--
|
|
68
|
+
The page loader uses CSS variables instead of SCSS variables because:
|
|
69
|
+
1. It loads BEFORE the theme CSS (to prevent FOUC)
|
|
70
|
+
2. Projects can easily override without recompiling SCSS
|
|
71
|
+
3. Supports runtime theme switching if needed
|
|
72
|
+
|
|
73
|
+
Just add your custom CSS AFTER the theme CSS link:
|
|
74
|
+
<link rel="stylesheet" href="/dist/css/themes/corporate.css">
|
|
75
|
+
<style>
|
|
76
|
+
:root {
|
|
77
|
+
--page-loader-bg: rgba(0, 100, 200, 0.95);
|
|
78
|
+
}
|
|
79
|
+
</style>
|
|
80
|
+
-->
|
|
81
|
+
|
|
82
|
+
<!-- Integration Example -->
|
|
83
|
+
<!--
|
|
84
|
+
In your project's custom CSS file:
|
|
85
|
+
-->
|
|
86
|
+
<style>
|
|
87
|
+
/* custom.css */
|
|
88
|
+
:root {
|
|
89
|
+
/* Brand-specific loader colors */
|
|
90
|
+
--page-loader-bg: rgba(30, 30, 30, 0.98);
|
|
91
|
+
--page-loader-spinner-border: #444;
|
|
92
|
+
--page-loader-spinner-accent: #ff6b35; /* Orange brand color */
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* You can also override other aspects if needed */
|
|
96
|
+
.page-loader {
|
|
97
|
+
/* Add custom backdrop blur */
|
|
98
|
+
backdrop-filter: blur(15px);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.page-loader__spinner {
|
|
102
|
+
/* Make spinner larger */
|
|
103
|
+
width: 60px;
|
|
104
|
+
height: 60px;
|
|
105
|
+
border-width: 5px;
|
|
106
|
+
}
|
|
107
|
+
</style>
|
|
108
|
+
|
|
109
|
+
<!-- ================================
|
|
110
|
+
FUTURE CUSTOMIZATION OPTIONS
|
|
111
|
+
More CSS variables coming soon
|
|
112
|
+
================================ -->
|
|
113
|
+
|
|
114
|
+
<!-- Planned CSS Variables -->
|
|
115
|
+
<!--
|
|
116
|
+
Future versions may include CSS variables for:
|
|
117
|
+
- Color scheme switching
|
|
118
|
+
- Dynamic accent colors
|
|
119
|
+
- Component-specific overrides
|
|
120
|
+
- Animation timing customization
|
|
121
|
+
|
|
122
|
+
For now, use SCSS variables for deep customization:
|
|
123
|
+
$primary-bg: #your-color;
|
|
124
|
+
$accent-color: #your-accent;
|
|
125
|
+
@import '@pure-admin/core/scss';
|
|
126
|
+
-->
|
|
127
|
+
|
|
128
|
+
<!-- ================================
|
|
129
|
+
QUICK REFERENCE
|
|
130
|
+
================================ -->
|
|
131
|
+
|
|
132
|
+
<!--
|
|
133
|
+
PAGE LOADER VARIABLES:
|
|
134
|
+
- --page-loader-bg (background overlay color with opacity)
|
|
135
|
+
- --page-loader-spinner-border (spinner border color)
|
|
136
|
+
- --page-loader-spinner-accent (spinner animated color)
|
|
137
|
+
|
|
138
|
+
USAGE:
|
|
139
|
+
Define in :root selector AFTER theme CSS loads
|
|
140
|
+
Values can use rgba(), hex, or any CSS color format
|
|
141
|
+
Include alpha/transparency for overlay effect
|
|
142
|
+
-->
|