@keenmate/pure-admin-core 1.0.0-rc06 → 1.1.0
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/README.md +77 -7
- package/dist/css/main.css +1313 -452
- package/package.json +1 -1
- package/snippets/customization.html +1 -1
- package/snippets/layout.html +66 -0
- package/snippets/manifest.json +0 -50
- package/snippets/profile.html +51 -3
- package/src/scss/_base-css-variables.scss +432 -422
- package/src/scss/_core.scss +105 -105
- package/src/scss/_fonts.scss +0 -14
- package/src/scss/_variables.scss +12 -14
- package/src/scss/core-components/_alerts.scss +7 -7
- package/src/scss/core-components/_base.scss +3 -3
- package/src/scss/core-components/_buttons.scss +425 -425
- package/src/scss/core-components/_callouts.scss +139 -139
- package/src/scss/core-components/_cards.scss +321 -321
- package/src/scss/core-components/_checkbox-lists.scss +2 -2
- package/src/scss/core-components/_code.scss +4 -4
- package/src/scss/core-components/_command-palette.scss +518 -518
- package/src/scss/core-components/_comparison.scss +3 -3
- package/src/scss/core-components/_file-selector.scss +780 -780
- package/src/scss/core-components/_forms.scss +16 -16
- package/src/scss/core-components/_grid.scss +25 -0
- package/src/scss/core-components/_layout.scss +15 -15
- package/src/scss/core-components/_lists.scss +7 -7
- package/src/scss/core-components/_logic-tree.scss +280 -280
- package/src/scss/core-components/_modals.scss +2 -2
- package/src/scss/core-components/_notifications.scss +74 -7
- package/src/scss/core-components/_pagers.scss +3 -3
- package/src/scss/core-components/_popconfirm.scss +1 -1
- package/src/scss/core-components/_profile.scss +400 -379
- package/src/scss/core-components/_scrollbars.scss +40 -41
- package/src/scss/core-components/_settings-panel.scss +5 -5
- package/src/scss/core-components/_statistics.scss +6 -6
- package/src/scss/core-components/_tables.scss +566 -566
- package/src/scss/core-components/_tabs.scss +493 -493
- package/src/scss/core-components/_timeline.scss +15 -15
- package/src/scss/core-components/_toasts.scss +4 -4
- package/src/scss/core-components/_tooltips.scss +8 -8
- package/src/scss/core-components/_utilities.scss +35 -30
- package/src/scss/core-components/_web-components-theme.scss +294 -294
- package/src/scss/core-components/badges/_composite-badge-variants.scss +3 -3
- package/src/scss/core-components/badges/_labels.scss +1 -1
- package/src/scss/core-components/forms/_checkboxes-radios.scss +2 -2
- package/src/scss/core-components/forms/_form-inputs.scss +4 -4
- package/src/scss/core-components/forms/_form-layout.scss +2 -2
- package/src/scss/core-components/forms/_form-states.scss +1 -1
- package/src/scss/core-components/forms/_input-groups.scss +13 -11
- package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
- package/src/scss/core-components/forms/_query-editor.scss +17 -17
- package/src/scss/core-components/layout/_layout-container.scss +33 -1
- package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
- package/src/scss/core-components/layout/_sidebar.scss +53 -2
- package/src/scss/utilities.scss +81 -2
- package/src/scss/variables/_base.scss +20 -10
- package/src/scss/variables/_colors.scss +7 -6
- package/src/scss/variables/_components.scss +8 -11
- package/src/scss/variables/_index.scss +11 -7
- package/src/scss/variables/_spacing.scss +12 -0
- package/src/scss/variables/_typography.scss +2 -2
- 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/src/scss/themes/_dark-base.scss +0 -207
- package/src/scss/themes/audi-light.scss +0 -341
- package/src/scss/themes/audi.scss +0 -303
- package/src/scss/themes/corporate.scss +0 -229
- package/src/scss/themes/dark-blue.scss +0 -165
- package/src/scss/themes/dark-green.scss +0 -169
- package/src/scss/themes/dark-red.scss +0 -173
- package/src/scss/themes/dark.scss +0 -158
- package/src/scss/themes/express.scss +0 -294
- package/src/scss/themes/minimal.scss +0 -134
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keenmate/pure-admin-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Lightweight, data-focused HTML/CSS admin framework built with PureCSS foundation and comprehensive component system",
|
|
5
5
|
"style": "dist/css/main.css",
|
|
6
6
|
"exports": {
|
|
@@ -120,7 +120,7 @@ Future versions may include CSS variables for:
|
|
|
120
120
|
- Animation timing customization
|
|
121
121
|
|
|
122
122
|
For now, use SCSS variables for deep customization:
|
|
123
|
-
$
|
|
123
|
+
$main-bg: #your-color;
|
|
124
124
|
$accent-color: #your-accent;
|
|
125
125
|
@import '@pure-admin/core/scss';
|
|
126
126
|
-->
|
package/snippets/layout.html
CHANGED
|
@@ -380,6 +380,52 @@
|
|
|
380
380
|
</aside>
|
|
381
381
|
|
|
382
382
|
|
|
383
|
+
<!-- ================================
|
|
384
|
+
SIDEBAR WIDTH CONTROL
|
|
385
|
+
================================ -->
|
|
386
|
+
|
|
387
|
+
<!-- Default width (28.8rem / 288px from CSS variable) -->
|
|
388
|
+
<aside class="pa-layout__sidebar">
|
|
389
|
+
<!-- Nav content -->
|
|
390
|
+
</aside>
|
|
391
|
+
|
|
392
|
+
<!-- Resizable sidebar (opt-in, drag right edge to resize) -->
|
|
393
|
+
<aside class="pa-layout__sidebar pa-layout__sidebar--resizable">
|
|
394
|
+
<!-- Nav content -->
|
|
395
|
+
<!-- Drag handle appears on right edge -->
|
|
396
|
+
<!-- Width saved to localStorage -->
|
|
397
|
+
<!-- Double-click handle to reset to default -->
|
|
398
|
+
</aside>
|
|
399
|
+
|
|
400
|
+
<!-- Custom fixed width using utility class (overrides default and resize) -->
|
|
401
|
+
<aside class="pa-layout__sidebar wr-25">
|
|
402
|
+
<!-- Fixed 25rem (250px) width -->
|
|
403
|
+
<!-- wr-* sets exact width, blocks resize -->
|
|
404
|
+
</aside>
|
|
405
|
+
|
|
406
|
+
<!-- Custom minimum width using utility class (allows resize above minimum) -->
|
|
407
|
+
<aside class="pa-layout__sidebar pa-layout__sidebar--resizable minwr-20">
|
|
408
|
+
<!-- Minimum 20rem (200px) width -->
|
|
409
|
+
<!-- minwr-* sets floor, resize still works above it -->
|
|
410
|
+
</aside>
|
|
411
|
+
|
|
412
|
+
<!--
|
|
413
|
+
SIDEBAR WIDTH OPTIONS:
|
|
414
|
+
1. Default: Uses CSS variable --pa-local-sidebar-width (28.8rem)
|
|
415
|
+
2. Resizable: Add --resizable class, user can drag to resize (180-500px range)
|
|
416
|
+
3. Fixed width: Add wr-* utility class (e.g., wr-20, wr-25, wr-30)
|
|
417
|
+
4. Minimum width: Add minwr-* utility class (e.g., minwr-15, minwr-20)
|
|
418
|
+
|
|
419
|
+
WIDTH UTILITY CLASSES (rem-based, 10px = 1rem):
|
|
420
|
+
- .wr-15 to .wr-25 - Fixed width (15rem to 25rem)
|
|
421
|
+
- .minwr-15 to .minwr-25 - Minimum width (allows resize above)
|
|
422
|
+
- .maxwr-15 to .maxwr-25 - Maximum width (limits resize)
|
|
423
|
+
|
|
424
|
+
NOTE: Fixed width (.wr-*) overrides both default and resizable width.
|
|
425
|
+
Use .minwr-* with --resizable to set a floor while allowing resize.
|
|
426
|
+
-->
|
|
427
|
+
|
|
428
|
+
|
|
383
429
|
<!-- ================================
|
|
384
430
|
NAVBAR/HEADER (with burger menu and navigation)
|
|
385
431
|
Three-section layout: Left / Center / Right
|
|
@@ -605,6 +651,14 @@ SIDEBAR MODES (modifiers on .pa-layout__sidebar):
|
|
|
605
651
|
- Default - Sidebar scrolls with content
|
|
606
652
|
- .pa-layout__sidebar--sticky - Sidebar stays fixed while content scrolls
|
|
607
653
|
- .pa-layout__sidebar--icon-collapse - Sidebar collapses to icon bar instead of hiding
|
|
654
|
+
- .pa-layout__sidebar--resizable - Drag right edge to resize (opt-in)
|
|
655
|
+
|
|
656
|
+
SIDEBAR WIDTH CONTROL:
|
|
657
|
+
- Default width: 28.8rem (288px) via CSS variable --pa-local-sidebar-width
|
|
658
|
+
- Resizable: Add --resizable class for drag-to-resize (180-500px range)
|
|
659
|
+
- Fixed width: Add .wr-* utility class (e.g., wr-25 = 250px) - overrides resize
|
|
660
|
+
- Min width: Add .minwr-* utility class (e.g., minwr-20) - sets floor for resize
|
|
661
|
+
- Max width: Add .maxwr-* utility class (e.g., maxwr-40) - sets ceiling for resize
|
|
608
662
|
|
|
609
663
|
BURGER MENU:
|
|
610
664
|
- .burger-menu - Burger menu button (same as .pa-header__burger)
|
|
@@ -636,4 +690,16 @@ JAVASCRIPT:
|
|
|
636
690
|
- toggleSidebar() - Toggle sidebar visibility (burger menu)
|
|
637
691
|
- toggleSubmenu(button) - Toggle submenu open/closed
|
|
638
692
|
- Stores state in localStorage for persistence across page loads
|
|
693
|
+
|
|
694
|
+
PROFILE PANEL WIDTH CONTROL:
|
|
695
|
+
- Default width: 20vw via CSS variable --pa-local-profile-panel-width
|
|
696
|
+
- Default max-width: 48rem (480px) via CSS variable --pa-local-profile-panel-max-width
|
|
697
|
+
- Override with utility classes: Add .wr-* to .pa-profile-panel__content
|
|
698
|
+
- Examples:
|
|
699
|
+
- .wr-30 = fixed 30rem (300px) width
|
|
700
|
+
- .wr-40 = fixed 40rem (400px) width
|
|
701
|
+
- .minwr-25 = minimum 25rem width
|
|
702
|
+
- .maxwr-50 = maximum 50rem width
|
|
703
|
+
- Uses low specificity (:where) so utility classes can override
|
|
704
|
+
- Available: wr-1 to wr-10, then 15, 20, 25, 30, 35, 40, 45, 50 (same for minwr/maxwr)
|
|
639
705
|
-->
|
package/snippets/manifest.json
CHANGED
|
@@ -299,56 +299,6 @@
|
|
|
299
299
|
"size": 249,
|
|
300
300
|
"modified": "2025-10-01T16:46:47.199Z"
|
|
301
301
|
},
|
|
302
|
-
"themes/audi-light.scss": {
|
|
303
|
-
"hash": "e99983bd63a1b01ca40b2e76d84140bdb61ef19a074752c652e6518a5623caea",
|
|
304
|
-
"size": 8631,
|
|
305
|
-
"modified": "2025-12-13T15:59:43.512Z"
|
|
306
|
-
},
|
|
307
|
-
"themes/audi.scss": {
|
|
308
|
-
"hash": "3231e9daa6f3e9b1263a21f61712df62cdf1bcf93d6ebf2ac1b317961e75a25b",
|
|
309
|
-
"size": 9314,
|
|
310
|
-
"modified": "2025-12-13T18:14:18.929Z"
|
|
311
|
-
},
|
|
312
|
-
"themes/corporate.scss": {
|
|
313
|
-
"hash": "00193bbf439190a2afda040ffe5a2258d6d64ac0564ff4d11933be9d0d07270c",
|
|
314
|
-
"size": 5608,
|
|
315
|
-
"modified": "2025-12-13T15:59:52.882Z"
|
|
316
|
-
},
|
|
317
|
-
"themes/dark-blue.scss": {
|
|
318
|
-
"hash": "27b5f70fe3f70ed1a3952f16a78fca953b73cfb56b8bc5452f3fe8aa9c768c17",
|
|
319
|
-
"size": 4948,
|
|
320
|
-
"modified": "2025-12-13T18:15:26.140Z"
|
|
321
|
-
},
|
|
322
|
-
"themes/dark-green.scss": {
|
|
323
|
-
"hash": "30a9f2c3ca8dee1720a530f6498f6f3ae3b2511564b686a4bf98ba5e78326c59",
|
|
324
|
-
"size": 4998,
|
|
325
|
-
"modified": "2025-12-13T18:15:50.449Z"
|
|
326
|
-
},
|
|
327
|
-
"themes/dark-red.scss": {
|
|
328
|
-
"hash": "7d1e12211c30d4ebcc6fac4652c8e51cc20a95b70794c41853d17d8ea1cc2cee",
|
|
329
|
-
"size": 4954,
|
|
330
|
-
"modified": "2025-12-13T18:15:51.566Z"
|
|
331
|
-
},
|
|
332
|
-
"themes/dark.scss": {
|
|
333
|
-
"hash": "9a25e83f9587c663de918a506d2a0edb1ded0a8ea60081392f3128d825b036b3",
|
|
334
|
-
"size": 4272,
|
|
335
|
-
"modified": "2025-12-13T18:15:09.759Z"
|
|
336
|
-
},
|
|
337
|
-
"themes/express.scss": {
|
|
338
|
-
"hash": "b54bafa90d5defc586aaffcaa9ba241274872e01ed26cee065cde40234a215c9",
|
|
339
|
-
"size": 7738,
|
|
340
|
-
"modified": "2025-12-13T15:59:39.049Z"
|
|
341
|
-
},
|
|
342
|
-
"themes/minimal.scss": {
|
|
343
|
-
"hash": "cd997b7f8785a6dc4b6aadeb9eae83024b38c101c7c053d66db4cfc346155b7f",
|
|
344
|
-
"size": 3652,
|
|
345
|
-
"modified": "2025-12-13T15:59:44.548Z"
|
|
346
|
-
},
|
|
347
|
-
"themes/_dark-base.scss": {
|
|
348
|
-
"hash": "e383f750029a362210abc29d437cbbae509c3b20817731cea318e5611d5c6de8",
|
|
349
|
-
"size": 5272,
|
|
350
|
-
"modified": "2025-10-13T13:03:54.101Z"
|
|
351
|
-
},
|
|
352
302
|
"utilities.scss": {
|
|
353
303
|
"hash": "a7b3f7cdc2d390ea3af3aedf21cdf2c70c9ce0fe6833e3bfb6870ec9dd33e416",
|
|
354
304
|
"size": 7327,
|
package/snippets/profile.html
CHANGED
|
@@ -209,14 +209,16 @@
|
|
|
209
209
|
</button>
|
|
210
210
|
</div>
|
|
211
211
|
|
|
212
|
-
<!-- Profile Panel Tabs -->
|
|
212
|
+
<!-- Profile Panel Tabs (with text labels) -->
|
|
213
213
|
<div class="pa-profile-panel__tabs">
|
|
214
214
|
<div class="pa-tabs pa-tabs--full">
|
|
215
215
|
<button class="pa-tabs__item pa-tabs__item--active" data-profile-tab="profile">
|
|
216
|
-
<
|
|
216
|
+
<i class="fa-solid fa-user"></i>
|
|
217
|
+
<span class="pa-profile-panel__tab-text">Profile</span>
|
|
217
218
|
</button>
|
|
218
219
|
<button class="pa-tabs__item" data-profile-tab="favorites">
|
|
219
|
-
<
|
|
220
|
+
<i class="fa-solid fa-star"></i>
|
|
221
|
+
<span class="pa-profile-panel__tab-text">Favorites</span>
|
|
220
222
|
</button>
|
|
221
223
|
</div>
|
|
222
224
|
</div>
|
|
@@ -297,6 +299,49 @@
|
|
|
297
299
|
</div>
|
|
298
300
|
|
|
299
301
|
|
|
302
|
+
<!-- ================================
|
|
303
|
+
PROFILE PANEL - WITH ICON-ONLY TABS
|
|
304
|
+
Add --icon-only modifier to hide text labels
|
|
305
|
+
================================ -->
|
|
306
|
+
|
|
307
|
+
<div class="pa-profile-panel" id="profilePanel">
|
|
308
|
+
<div class="pa-profile-panel__overlay" onclick="closeProfilePanel()"></div>
|
|
309
|
+
<div class="pa-profile-panel__content">
|
|
310
|
+
<div class="pa-profile-panel__header">
|
|
311
|
+
<div class="pa-profile-panel__avatar">
|
|
312
|
+
<span class="pa-profile-panel__avatar-icon"><i class="fa-solid fa-user"></i></span>
|
|
313
|
+
</div>
|
|
314
|
+
<div class="pa-profile-panel__info">
|
|
315
|
+
<h3 class="pa-profile-panel__name">John Doe</h3>
|
|
316
|
+
<p class="pa-profile-panel__email">john.doe@company.com</p>
|
|
317
|
+
<span class="pa-profile-panel__role">Administrator</span>
|
|
318
|
+
</div>
|
|
319
|
+
<button class="pa-profile-panel__close" onclick="closeProfilePanel()" aria-label="Close Profile">
|
|
320
|
+
<i class="fa-solid fa-xmark"></i>
|
|
321
|
+
</button>
|
|
322
|
+
</div>
|
|
323
|
+
|
|
324
|
+
<!-- Profile Panel Tabs (icon-only) - add --icon-only modifier -->
|
|
325
|
+
<div class="pa-profile-panel__tabs pa-profile-panel__tabs--icon-only">
|
|
326
|
+
<div class="pa-tabs pa-tabs--full">
|
|
327
|
+
<button class="pa-tabs__item pa-tabs__item--active" data-profile-tab="profile" title="Profile">
|
|
328
|
+
<i class="fa-solid fa-user"></i>
|
|
329
|
+
<span class="pa-profile-panel__tab-text">Profile</span>
|
|
330
|
+
</button>
|
|
331
|
+
<button class="pa-tabs__item" data-profile-tab="favorites" title="Favorites">
|
|
332
|
+
<i class="fa-solid fa-star"></i>
|
|
333
|
+
<span class="pa-profile-panel__tab-text">Favorites</span>
|
|
334
|
+
</button>
|
|
335
|
+
</div>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
<div class="pa-profile-panel__body">
|
|
339
|
+
<!-- Content same as regular tabs variant -->
|
|
340
|
+
</div>
|
|
341
|
+
</div>
|
|
342
|
+
</div>
|
|
343
|
+
|
|
344
|
+
|
|
300
345
|
<!-- ================================
|
|
301
346
|
PROFILE PANEL - WITH FONT AWESOME
|
|
302
347
|
================================ -->
|
|
@@ -501,9 +546,12 @@ PANEL HEADER:
|
|
|
501
546
|
|
|
502
547
|
PANEL TABS (optional):
|
|
503
548
|
- .pa-profile-panel__tabs - Tabs container
|
|
549
|
+
- .pa-profile-panel__tabs--icon-only - Modifier to hide text labels (icon-only mode)
|
|
550
|
+
- .pa-profile-panel__tab-text - Text label element (hidden when --icon-only is applied)
|
|
504
551
|
- .pa-tabs.pa-tabs--full - Full-width tabs
|
|
505
552
|
- [data-profile-tab] - Tab button attribute
|
|
506
553
|
- [data-profile-panel] - Tab panel attribute
|
|
554
|
+
- Add title attribute to tab buttons for tooltip when using icon-only mode
|
|
507
555
|
|
|
508
556
|
PANEL BODY:
|
|
509
557
|
- .pa-profile-panel__body - Body container (scrollable)
|