@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,364 @@
|
|
|
1
|
+
<!-- Timeline Component Snippets -->
|
|
2
|
+
<!-- Clean HTML examples for all timeline variants -->
|
|
3
|
+
|
|
4
|
+
<!-- ========================================
|
|
5
|
+
Simple Timeline (Left-aligned with dots)
|
|
6
|
+
======================================== -->
|
|
7
|
+
|
|
8
|
+
<!-- Basic Simple Timeline -->
|
|
9
|
+
<ul class="pa-timeline pa-timeline--simple">
|
|
10
|
+
<li class="pa-timeline__item">
|
|
11
|
+
<div class="pa-timeline__time">14:32</div>
|
|
12
|
+
<div class="pa-timeline__content">
|
|
13
|
+
User logged in from New York
|
|
14
|
+
</div>
|
|
15
|
+
</li>
|
|
16
|
+
<li class="pa-timeline__item">
|
|
17
|
+
<div class="pa-timeline__time">12:15</div>
|
|
18
|
+
<div class="pa-timeline__content">
|
|
19
|
+
Database backup completed successfully
|
|
20
|
+
</div>
|
|
21
|
+
</li>
|
|
22
|
+
<li class="pa-timeline__item">
|
|
23
|
+
<div class="pa-timeline__time">09:30</div>
|
|
24
|
+
<div class="pa-timeline__content">
|
|
25
|
+
System started maintenance mode
|
|
26
|
+
</div>
|
|
27
|
+
</li>
|
|
28
|
+
</ul>
|
|
29
|
+
|
|
30
|
+
<!-- Simple Timeline with Color Variants -->
|
|
31
|
+
<ul class="pa-timeline pa-timeline--simple">
|
|
32
|
+
<li class="pa-timeline__item pa-timeline__item--primary">
|
|
33
|
+
<div class="pa-timeline__time">Now</div>
|
|
34
|
+
<div class="pa-timeline__content">Primary event marker</div>
|
|
35
|
+
</li>
|
|
36
|
+
<li class="pa-timeline__item pa-timeline__item--success">
|
|
37
|
+
<div class="pa-timeline__time">5 min ago</div>
|
|
38
|
+
<div class="pa-timeline__content">Success event marker</div>
|
|
39
|
+
</li>
|
|
40
|
+
<li class="pa-timeline__item pa-timeline__item--warning">
|
|
41
|
+
<div class="pa-timeline__time">10 min ago</div>
|
|
42
|
+
<div class="pa-timeline__content">Warning event marker</div>
|
|
43
|
+
</li>
|
|
44
|
+
<li class="pa-timeline__item pa-timeline__item--danger">
|
|
45
|
+
<div class="pa-timeline__time">15 min ago</div>
|
|
46
|
+
<div class="pa-timeline__content">Danger event marker</div>
|
|
47
|
+
</li>
|
|
48
|
+
<li class="pa-timeline__item pa-timeline__item--info">
|
|
49
|
+
<div class="pa-timeline__time">20 min ago</div>
|
|
50
|
+
<div class="pa-timeline__content">Info event marker</div>
|
|
51
|
+
</li>
|
|
52
|
+
<li class="pa-timeline__item pa-timeline__item--secondary">
|
|
53
|
+
<div class="pa-timeline__time">30 min ago</div>
|
|
54
|
+
<div class="pa-timeline__content">Secondary event marker</div>
|
|
55
|
+
</li>
|
|
56
|
+
</ul>
|
|
57
|
+
|
|
58
|
+
<!-- Simple Timeline with Filled Markers -->
|
|
59
|
+
<ul class="pa-timeline pa-timeline--simple">
|
|
60
|
+
<li class="pa-timeline__item pa-timeline__item--primary pa-timeline__item--filled">
|
|
61
|
+
<div class="pa-timeline__time">Now</div>
|
|
62
|
+
<div class="pa-timeline__content">Filled primary marker</div>
|
|
63
|
+
</li>
|
|
64
|
+
<li class="pa-timeline__item pa-timeline__item--success pa-timeline__item--filled">
|
|
65
|
+
<div class="pa-timeline__time">1 hour ago</div>
|
|
66
|
+
<div class="pa-timeline__content">Filled success marker</div>
|
|
67
|
+
</li>
|
|
68
|
+
</ul>
|
|
69
|
+
|
|
70
|
+
<!-- ========================================
|
|
71
|
+
Block Timeline (Centered alternating)
|
|
72
|
+
======================================== -->
|
|
73
|
+
|
|
74
|
+
<ul class="pa-timeline pa-timeline--alternating">
|
|
75
|
+
<!-- Left side item (odd) -->
|
|
76
|
+
<li class="pa-timeline__item">
|
|
77
|
+
<div class="pa-timeline__date">Jan 2021</div>
|
|
78
|
+
<div class="pa-timeline__icon">🚀</div>
|
|
79
|
+
<div class="pa-timeline__content">
|
|
80
|
+
<h3>Project Launch</h3>
|
|
81
|
+
<p>Successfully launched the new platform with modern architecture and improved performance.</p>
|
|
82
|
+
</div>
|
|
83
|
+
</li>
|
|
84
|
+
|
|
85
|
+
<!-- Right side item (even) -->
|
|
86
|
+
<li class="pa-timeline__item">
|
|
87
|
+
<div class="pa-timeline__date">Mar 2021</div>
|
|
88
|
+
<div class="pa-timeline__icon">✨</div>
|
|
89
|
+
<div class="pa-timeline__content">
|
|
90
|
+
<h3>Feature Release</h3>
|
|
91
|
+
<p>Deployed advanced features including real-time collaboration and cloud sync.</p>
|
|
92
|
+
</div>
|
|
93
|
+
</li>
|
|
94
|
+
|
|
95
|
+
<!-- Left side item (odd) -->
|
|
96
|
+
<li class="pa-timeline__item">
|
|
97
|
+
<div class="pa-timeline__date">Jun 2021</div>
|
|
98
|
+
<div class="pa-timeline__icon">📊</div>
|
|
99
|
+
<div class="pa-timeline__content">
|
|
100
|
+
<h3>Analytics Update</h3>
|
|
101
|
+
<p>Integrated comprehensive analytics dashboard for better insights.</p>
|
|
102
|
+
</div>
|
|
103
|
+
</li>
|
|
104
|
+
</ul>
|
|
105
|
+
|
|
106
|
+
<!-- ========================================
|
|
107
|
+
Feed Timeline (Activity feed style)
|
|
108
|
+
======================================== -->
|
|
109
|
+
|
|
110
|
+
<!-- Basic Feed Timeline with Avatars -->
|
|
111
|
+
<ul class="pa-timeline pa-timeline--feed">
|
|
112
|
+
<li class="pa-timeline__item">
|
|
113
|
+
<div class="pa-timeline__content">
|
|
114
|
+
<div class="pa-timeline__avatar">
|
|
115
|
+
<img src="https://ui-avatars.com/api/?name=John+Doe&background=0D8ABC&color=fff" alt="John Doe">
|
|
116
|
+
</div>
|
|
117
|
+
<span><a href="#">John Doe</a> created a new project</span>
|
|
118
|
+
<time>2 hours ago</time>
|
|
119
|
+
</div>
|
|
120
|
+
</li>
|
|
121
|
+
<li class="pa-timeline__item">
|
|
122
|
+
<div class="pa-timeline__content">
|
|
123
|
+
<div class="pa-timeline__avatar">
|
|
124
|
+
<img src="https://ui-avatars.com/api/?name=Jane+Smith&background=0D8ABC&color=fff" alt="Jane Smith">
|
|
125
|
+
</div>
|
|
126
|
+
<span><a href="#">Jane Smith</a> uploaded 3 files</span>
|
|
127
|
+
<time>5 hours ago</time>
|
|
128
|
+
</div>
|
|
129
|
+
</li>
|
|
130
|
+
</ul>
|
|
131
|
+
|
|
132
|
+
<!-- Feed Timeline with Comments -->
|
|
133
|
+
<ul class="pa-timeline pa-timeline--feed">
|
|
134
|
+
<li class="pa-timeline__item">
|
|
135
|
+
<div class="pa-timeline__content">
|
|
136
|
+
<div class="pa-timeline__avatar">
|
|
137
|
+
<img src="https://ui-avatars.com/api/?name=Luna+B&background=0D8ABC&color=fff" alt="Luna">
|
|
138
|
+
</div>
|
|
139
|
+
<span><a href="#">Luna Bonifacio</a> commented on <a href="#">Issue #123</a></span>
|
|
140
|
+
<time>1 hour ago</time>
|
|
141
|
+
<div class="pa-timeline__comment">
|
|
142
|
+
<p>This looks great! I've tested it on multiple browsers and everything works perfectly.</p>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
</li>
|
|
146
|
+
</ul>
|
|
147
|
+
|
|
148
|
+
<!-- Feed Timeline with Date Headers and Time Prefixes -->
|
|
149
|
+
<ul class="pa-timeline pa-timeline--feed">
|
|
150
|
+
<!-- Date header -->
|
|
151
|
+
<li class="pa-timeline__item pa-timeline__item--date-header">
|
|
152
|
+
<div class="pa-timeline__date-icon">📅</div>
|
|
153
|
+
<div class="pa-timeline__date-label">January 22, 2025</div>
|
|
154
|
+
</li>
|
|
155
|
+
|
|
156
|
+
<!-- Items with time prefix -->
|
|
157
|
+
<li class="pa-timeline__item">
|
|
158
|
+
<div class="pa-timeline__time">14:32</div>
|
|
159
|
+
<div class="pa-timeline__content">
|
|
160
|
+
<div class="pa-timeline__avatar">
|
|
161
|
+
<img src="https://ui-avatars.com/api/?name=Sarah+Chen&background=0D8ABC&color=fff" alt="Sarah">
|
|
162
|
+
</div>
|
|
163
|
+
<span><a href="#">Sarah Chen</a> merged pull request #456</span>
|
|
164
|
+
</div>
|
|
165
|
+
</li>
|
|
166
|
+
|
|
167
|
+
<li class="pa-timeline__item">
|
|
168
|
+
<div class="pa-timeline__time">12:15</div>
|
|
169
|
+
<div class="pa-timeline__content">
|
|
170
|
+
<div class="pa-timeline__avatar">
|
|
171
|
+
<img src="https://ui-avatars.com/api/?name=Mike+J&background=0D8ABC&color=fff" alt="Mike">
|
|
172
|
+
</div>
|
|
173
|
+
<span><a href="#">Mike Johnson</a> deployed to production</span>
|
|
174
|
+
</div>
|
|
175
|
+
</li>
|
|
176
|
+
|
|
177
|
+
<!-- Another date header -->
|
|
178
|
+
<li class="pa-timeline__item pa-timeline__item--date-header">
|
|
179
|
+
<div class="pa-timeline__date-icon">📅</div>
|
|
180
|
+
<div class="pa-timeline__date-label">January 21, 2025</div>
|
|
181
|
+
</li>
|
|
182
|
+
|
|
183
|
+
<li class="pa-timeline__item">
|
|
184
|
+
<div class="pa-timeline__time">18:45</div>
|
|
185
|
+
<div class="pa-timeline__content">
|
|
186
|
+
<div class="pa-timeline__avatar">
|
|
187
|
+
<img src="https://ui-avatars.com/api/?name=Emma+D&background=0D8ABC&color=fff" alt="Emma">
|
|
188
|
+
</div>
|
|
189
|
+
<span><a href="#">Emma Davis</a> updated documentation</span>
|
|
190
|
+
</div>
|
|
191
|
+
</li>
|
|
192
|
+
</ul>
|
|
193
|
+
|
|
194
|
+
<!-- ========================================
|
|
195
|
+
Interactive Timeline Features
|
|
196
|
+
======================================== -->
|
|
197
|
+
|
|
198
|
+
<!-- Timeline with Scroll Container -->
|
|
199
|
+
<div class="pa-timeline__scroll-container">
|
|
200
|
+
<ul class="pa-timeline pa-timeline--simple">
|
|
201
|
+
<!-- Items here... -->
|
|
202
|
+
</ul>
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
<!-- Timeline with Load More Button -->
|
|
206
|
+
<ul class="pa-timeline pa-timeline--simple">
|
|
207
|
+
<!-- Items here... -->
|
|
208
|
+
</ul>
|
|
209
|
+
<div class="pa-timeline__load-more-wrapper">
|
|
210
|
+
<button class="pa-btn pa-btn--secondary">Load More</button>
|
|
211
|
+
</div>
|
|
212
|
+
|
|
213
|
+
<!-- Timeline with Loader -->
|
|
214
|
+
<div class="pa-timeline__loader">
|
|
215
|
+
<div class="pa-loader pa-loader--sm">
|
|
216
|
+
<div class="pa-spinner"></div>
|
|
217
|
+
</div>
|
|
218
|
+
<div class="pa-timeline__loader-text">Loading more entries...</div>
|
|
219
|
+
</div>
|
|
220
|
+
|
|
221
|
+
<!-- ========================================
|
|
222
|
+
Alternating Timeline Layout Modifiers (NEW)
|
|
223
|
+
======================================== -->
|
|
224
|
+
|
|
225
|
+
<!-- Left-aligned timeline (all items on left side) -->
|
|
226
|
+
<div class="pa-timeline pa-timeline--alternating pa-timeline--left">
|
|
227
|
+
<div class="pa-timeline__item">
|
|
228
|
+
<div class="pa-timeline__date">Jan 2024</div>
|
|
229
|
+
<div class="pa-timeline__icon">📝</div>
|
|
230
|
+
<div class="pa-timeline__content">
|
|
231
|
+
<h3>Planning</h3>
|
|
232
|
+
<p>All items aligned to left side with timeline line on left.</p>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="pa-timeline__item">
|
|
236
|
+
<div class="pa-timeline__date">Feb 2024</div>
|
|
237
|
+
<div class="pa-timeline__icon">🚀</div>
|
|
238
|
+
<div class="pa-timeline__content">
|
|
239
|
+
<h3>Launch</h3>
|
|
240
|
+
<p>Content blocks stay on left side.</p>
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
</div>
|
|
244
|
+
|
|
245
|
+
<!-- Right-aligned timeline (all items on right side) -->
|
|
246
|
+
<div class="pa-timeline pa-timeline--alternating pa-timeline--right">
|
|
247
|
+
<div class="pa-timeline__item">
|
|
248
|
+
<div class="pa-timeline__date">Jan 2024</div>
|
|
249
|
+
<div class="pa-timeline__icon">📝</div>
|
|
250
|
+
<div class="pa-timeline__content">
|
|
251
|
+
<h3>Planning</h3>
|
|
252
|
+
<p>All items aligned to right side with timeline line on right.</p>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
<div class="pa-timeline__item">
|
|
256
|
+
<div class="pa-timeline__date">Feb 2024</div>
|
|
257
|
+
<div class="pa-timeline__icon">🚀</div>
|
|
258
|
+
<div class="pa-timeline__content">
|
|
259
|
+
<h3>Launch</h3>
|
|
260
|
+
<p>Content blocks stay on right side.</p>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
|
|
265
|
+
<!-- Keep layout on mobile (prevent responsive collapse) -->
|
|
266
|
+
<div class="pa-timeline pa-timeline--alternating pa-timeline--keep-layout">
|
|
267
|
+
<div class="pa-timeline__item">
|
|
268
|
+
<div class="pa-timeline__date">Jan 2024</div>
|
|
269
|
+
<div class="pa-timeline__icon">📝</div>
|
|
270
|
+
<div class="pa-timeline__content">
|
|
271
|
+
<h3>Planning</h3>
|
|
272
|
+
<p>Maintains alternating layout on all screen sizes.</p>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
<div class="pa-timeline__item">
|
|
276
|
+
<div class="pa-timeline__date">Feb 2024</div>
|
|
277
|
+
<div class="pa-timeline__icon">🚀</div>
|
|
278
|
+
<div class="pa-timeline__content">
|
|
279
|
+
<h3>Launch</h3>
|
|
280
|
+
<p>No mobile collapse - stays zigzag.</p>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
|
|
285
|
+
<!-- Combination: Left-aligned + keep layout on mobile -->
|
|
286
|
+
<div class="pa-timeline pa-timeline--alternating pa-timeline--left pa-timeline--keep-layout">
|
|
287
|
+
<div class="pa-timeline__item">
|
|
288
|
+
<div class="pa-timeline__date">Q1</div>
|
|
289
|
+
<div class="pa-timeline__icon">📊</div>
|
|
290
|
+
<div class="pa-timeline__content">
|
|
291
|
+
<h3>Analysis</h3>
|
|
292
|
+
<p>Left-aligned on desktop, stays left on mobile.</p>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
296
|
+
|
|
297
|
+
<!-- Combination: Right-aligned + keep layout on mobile -->
|
|
298
|
+
<div class="pa-timeline pa-timeline--alternating pa-timeline--right pa-timeline--keep-layout">
|
|
299
|
+
<div class="pa-timeline__item">
|
|
300
|
+
<div class="pa-timeline__date">Q1</div>
|
|
301
|
+
<div class="pa-timeline__icon">📊</div>
|
|
302
|
+
<div class="pa-timeline__content">
|
|
303
|
+
<h3>Analysis</h3>
|
|
304
|
+
<p>Right-aligned on desktop, stays right on mobile.</p>
|
|
305
|
+
</div>
|
|
306
|
+
</div>
|
|
307
|
+
</div>
|
|
308
|
+
|
|
309
|
+
<!-- ========================================
|
|
310
|
+
Complete Component Reference
|
|
311
|
+
======================================== -->
|
|
312
|
+
<!--
|
|
313
|
+
TIMELINE VARIANTS:
|
|
314
|
+
- pa-timeline--simple: Left-aligned with dots
|
|
315
|
+
- pa-timeline--alternating: Centered zigzag layout
|
|
316
|
+
- pa-timeline--feed: Activity feed with avatars
|
|
317
|
+
|
|
318
|
+
ALTERNATING LAYOUT MODIFIERS (can be combined):
|
|
319
|
+
- pa-timeline--left: All items on left side (independent of responsive behavior)
|
|
320
|
+
- pa-timeline--right: All items on right side (independent of responsive behavior)
|
|
321
|
+
- pa-timeline--keep-layout: Prevent mobile collapse, maintain desktop layout at all widths
|
|
322
|
+
- pa-timeline--single-column: Force single-column layout (alias for --left)
|
|
323
|
+
|
|
324
|
+
RESPONSIVE BEHAVIOR:
|
|
325
|
+
- Default: Zigzag on desktop (>767px), auto-collapse to single-column on mobile (≤767px)
|
|
326
|
+
- With --keep-layout: Layout maintained at all screen widths
|
|
327
|
+
- With --left or --right: Aligned layout on desktop, collapses on mobile (unless --keep-layout added)
|
|
328
|
+
|
|
329
|
+
COMBINATION EXAMPLES:
|
|
330
|
+
- pa-timeline--alternating: Zigzag desktop, single-column mobile (auto-responsive)
|
|
331
|
+
- pa-timeline--alternating pa-timeline--left: All left desktop, single-column mobile
|
|
332
|
+
- pa-timeline--alternating pa-timeline--right: All right desktop, single-column mobile
|
|
333
|
+
- pa-timeline--alternating pa-timeline--keep-layout: Zigzag stays zigzag on mobile
|
|
334
|
+
- pa-timeline--alternating pa-timeline--left pa-timeline--keep-layout: Left stays left on mobile
|
|
335
|
+
- pa-timeline--alternating pa-timeline--right pa-timeline--keep-layout: Right stays right on mobile
|
|
336
|
+
|
|
337
|
+
ITEM MODIFIERS (simple variant):
|
|
338
|
+
- pa-timeline__item--primary: Primary color marker
|
|
339
|
+
- pa-timeline__item--success: Success color marker
|
|
340
|
+
- pa-timeline__item--warning: Warning color marker
|
|
341
|
+
- pa-timeline__item--danger: Danger color marker
|
|
342
|
+
- pa-timeline__item--info: Info color marker
|
|
343
|
+
- pa-timeline__item--secondary: Secondary color marker
|
|
344
|
+
- pa-timeline__item--filled: Solid filled marker
|
|
345
|
+
|
|
346
|
+
FEED MODIFIERS:
|
|
347
|
+
- pa-timeline__item--date-header: Date section header
|
|
348
|
+
|
|
349
|
+
COMPONENTS:
|
|
350
|
+
- pa-timeline__time: Time label
|
|
351
|
+
- pa-timeline__content: Main content area
|
|
352
|
+
- pa-timeline__date: Date label (block variant)
|
|
353
|
+
- pa-timeline__icon: Icon container (block variant)
|
|
354
|
+
- pa-timeline__avatar: Avatar image (feed variant)
|
|
355
|
+
- pa-timeline__comment: Comment bubble (feed variant)
|
|
356
|
+
- pa-timeline__date-icon: Calendar icon (feed date headers)
|
|
357
|
+
- pa-timeline__date-label: Date text (feed date headers)
|
|
358
|
+
|
|
359
|
+
UTILITIES:
|
|
360
|
+
- pa-timeline__scroll-container: Scrollable container
|
|
361
|
+
- pa-timeline__loader: Loading indicator
|
|
362
|
+
- pa-timeline__loader-text: Loading text
|
|
363
|
+
- pa-timeline__load-more-wrapper: Load more button wrapper
|
|
364
|
+
-->
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
<!-- ================================
|
|
2
|
+
TOAST SNIPPETS
|
|
3
|
+
Pure Admin Visual Framework
|
|
4
|
+
================================ -->
|
|
5
|
+
|
|
6
|
+
<!-- Note: Toast containers should be at body level in your layout -->
|
|
7
|
+
<!-- Include these containers once in your main layout -->
|
|
8
|
+
<div id="toast-container-top-right" class="pa-toast-container pa-toast-container--top-right"></div>
|
|
9
|
+
<div id="toast-container-top-center" class="pa-toast-container pa-toast-container--top-center"></div>
|
|
10
|
+
<div id="toast-container-top-left" class="pa-toast-container pa-toast-container--top-left"></div>
|
|
11
|
+
<div id="toast-container-bottom-right" class="pa-toast-container pa-toast-container--bottom-right"></div>
|
|
12
|
+
<div id="toast-container-bottom-center" class="pa-toast-container pa-toast-container--bottom-center"></div>
|
|
13
|
+
<div id="toast-container-bottom-left" class="pa-toast-container pa-toast-container--bottom-left"></div>
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<!-- TOAST STRUCTURE -->
|
|
17
|
+
|
|
18
|
+
<!-- Primary Toast -->
|
|
19
|
+
<div class="pa-toast pa-toast--primary pa-toast--show">
|
|
20
|
+
<div class="pa-toast__icon">ℹ️</div>
|
|
21
|
+
<div class="pa-toast__content">
|
|
22
|
+
<div class="pa-toast__title">Primary</div>
|
|
23
|
+
<div class="pa-toast__message">This is a primary toast notification.</div>
|
|
24
|
+
</div>
|
|
25
|
+
<button class="pa-toast__close" aria-label="Close">✕</button>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<!-- Success Toast -->
|
|
29
|
+
<div class="pa-toast pa-toast--success pa-toast--show">
|
|
30
|
+
<div class="pa-toast__icon">✓</div>
|
|
31
|
+
<div class="pa-toast__content">
|
|
32
|
+
<div class="pa-toast__title">Success</div>
|
|
33
|
+
<div class="pa-toast__message">Your action was completed successfully.</div>
|
|
34
|
+
</div>
|
|
35
|
+
<button class="pa-toast__close" aria-label="Close">✕</button>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<!-- Danger Toast -->
|
|
39
|
+
<div class="pa-toast pa-toast--danger pa-toast--show">
|
|
40
|
+
<div class="pa-toast__icon">✕</div>
|
|
41
|
+
<div class="pa-toast__content">
|
|
42
|
+
<div class="pa-toast__title">Error</div>
|
|
43
|
+
<div class="pa-toast__message">An error occurred. Please try again.</div>
|
|
44
|
+
</div>
|
|
45
|
+
<button class="pa-toast__close" aria-label="Close">✕</button>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<!-- Warning Toast -->
|
|
49
|
+
<div class="pa-toast pa-toast--warning pa-toast--show">
|
|
50
|
+
<div class="pa-toast__icon">⚠</div>
|
|
51
|
+
<div class="pa-toast__content">
|
|
52
|
+
<div class="pa-toast__title">Warning</div>
|
|
53
|
+
<div class="pa-toast__message">Please review this warning message.</div>
|
|
54
|
+
</div>
|
|
55
|
+
<button class="pa-toast__close" aria-label="Close">✕</button>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<!-- Info Toast -->
|
|
59
|
+
<div class="pa-toast pa-toast--info pa-toast--show">
|
|
60
|
+
<div class="pa-toast__icon">ℹ</div>
|
|
61
|
+
<div class="pa-toast__content">
|
|
62
|
+
<div class="pa-toast__title">Information</div>
|
|
63
|
+
<div class="pa-toast__message">Here is some useful information for you.</div>
|
|
64
|
+
</div>
|
|
65
|
+
<button class="pa-toast__close" aria-label="Close">✕</button>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
<!-- TOAST WITH PROGRESS BAR -->
|
|
70
|
+
|
|
71
|
+
<!-- Toast with Auto-dismiss Progress -->
|
|
72
|
+
<div class="pa-toast pa-toast--primary pa-toast--show">
|
|
73
|
+
<div class="pa-toast__icon">ℹ</div>
|
|
74
|
+
<div class="pa-toast__content">
|
|
75
|
+
<div class="pa-toast__title">Processing</div>
|
|
76
|
+
<div class="pa-toast__message">Your request is being processed...</div>
|
|
77
|
+
</div>
|
|
78
|
+
<button class="pa-toast__close" aria-label="Close">✕</button>
|
|
79
|
+
<div class="pa-toast__progress w-100" style="transition: width 5000ms linear;"></div>
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
<!-- JAVASCRIPT API -->
|
|
84
|
+
<script>
|
|
85
|
+
// Create a toast notification
|
|
86
|
+
function createToast(position, variant, title, message, duration = 5000, showProgress = false, persistent = false) {
|
|
87
|
+
const container = document.getElementById(`toast-container-${position}`);
|
|
88
|
+
const toastId = `toast-${Date.now()}-${Math.random()}`;
|
|
89
|
+
|
|
90
|
+
const toast = document.createElement('div');
|
|
91
|
+
toast.className = `pa-toast pa-toast--${variant}`;
|
|
92
|
+
toast.id = toastId;
|
|
93
|
+
|
|
94
|
+
const icons = {
|
|
95
|
+
primary: 'ℹ️',
|
|
96
|
+
success: '✓',
|
|
97
|
+
danger: '✕',
|
|
98
|
+
warning: '⚠',
|
|
99
|
+
info: 'ℹ'
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
toast.innerHTML = `
|
|
103
|
+
<div class="pa-toast__icon">${icons[variant] || 'ℹ'}</div>
|
|
104
|
+
<div class="pa-toast__content">
|
|
105
|
+
<div class="pa-toast__title">${title}</div>
|
|
106
|
+
<div class="pa-toast__message">${message}</div>
|
|
107
|
+
</div>
|
|
108
|
+
<button class="pa-toast__close" onclick="dismissToast('${toastId}')" aria-label="Close">✕</button>
|
|
109
|
+
${showProgress && !persistent ? '<div class="pa-toast__progress w-100"></div>' : ''}
|
|
110
|
+
`;
|
|
111
|
+
|
|
112
|
+
container.appendChild(toast);
|
|
113
|
+
|
|
114
|
+
// Show toast
|
|
115
|
+
setTimeout(() => {
|
|
116
|
+
toast.classList.add('pa-toast--show');
|
|
117
|
+
}, 10);
|
|
118
|
+
|
|
119
|
+
// Progress bar animation
|
|
120
|
+
if (showProgress && !persistent) {
|
|
121
|
+
const progress = toast.querySelector('.pa-toast__progress');
|
|
122
|
+
if (progress) {
|
|
123
|
+
progress.style.transition = `width ${duration}ms linear`;
|
|
124
|
+
setTimeout(() => {
|
|
125
|
+
progress.style.width = '0%';
|
|
126
|
+
}, 50);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Auto-dismiss (only if not persistent)
|
|
131
|
+
if (!persistent) {
|
|
132
|
+
setTimeout(() => {
|
|
133
|
+
dismissToast(toastId);
|
|
134
|
+
}, duration);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Dismiss a toast
|
|
139
|
+
function dismissToast(toastId) {
|
|
140
|
+
const toast = document.getElementById(toastId);
|
|
141
|
+
if (!toast) return;
|
|
142
|
+
|
|
143
|
+
toast.classList.remove('pa-toast--show');
|
|
144
|
+
toast.classList.add('pa-toast--hide');
|
|
145
|
+
|
|
146
|
+
setTimeout(() => {
|
|
147
|
+
toast.remove();
|
|
148
|
+
}, 300);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Usage examples:
|
|
152
|
+
// createToast('top-right', 'success', 'Success', 'Operation completed!');
|
|
153
|
+
// createToast('top-right', 'warning', 'Warning', 'Please review', 0, false, true); // Persistent
|
|
154
|
+
</script>
|