ui-soxo-bootstrap-core 2.4.24 → 2.4.25-dev.11
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/.github/workflows/npm-publish.yml +37 -15
- package/core/components/extra-info/extra-info-details.js +109 -126
- package/core/components/landing-api/landing-api.js +22 -30
- package/core/lib/Store.js +20 -18
- package/core/lib/components/index.js +4 -1
- package/core/lib/components/sidemenu/sidemenu.js +153 -256
- package/core/lib/components/sidemenu/sidemenu.scss +39 -26
- package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +119 -42
- package/core/lib/elements/basic/rangepicker/rangepicker.js +118 -29
- package/core/lib/elements/basic/switch/switch.js +35 -25
- package/core/lib/hooks/index.js +2 -12
- package/core/lib/hooks/use-otp-timer.js +99 -0
- package/core/lib/pages/login/login.js +255 -139
- package/core/lib/pages/login/login.scss +140 -32
- package/core/models/dashboard/dashboard.js +14 -0
- package/core/models/doctor/components/doctor-add/doctor-add.js +403 -0
- package/core/models/doctor/components/doctor-add/doctor-add.scss +32 -0
- package/core/models/menus/components/menu-add/menu-add.js +220 -267
- package/core/models/menus/components/menu-lists/menu-lists.js +366 -211
- package/core/models/menus/components/menu-lists/menu-lists.scss +6 -2
- package/core/models/menus/menus.js +256 -267
- package/core/models/roles/components/role-add/role-add.js +265 -228
- package/core/models/roles/components/role-list/role-list.js +326 -348
- package/core/models/roles/roles.js +191 -174
- package/core/models/staff/components/staff-add/staff-add.js +352 -0
- package/core/models/staff/components/staff-add/staff-add.scss +0 -0
- package/core/models/users/components/user-add/user-add.js +723 -367
- package/core/models/users/components/user-add/user-edit.js +90 -0
- package/core/models/users/users.js +318 -165
- package/core/modules/index.js +5 -8
- package/core/modules/reporting/components/index.js +5 -0
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +65 -2
- package/core/modules/steps/action-buttons.js +79 -0
- package/core/modules/steps/steps.js +553 -0
- package/core/modules/steps/steps.scss +158 -0
- package/core/modules/steps/timeline.js +49 -0
- package/package.json +2 -2
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
.timeline-card .ant-card-body {
|
|
2
|
+
padding: 20px;
|
|
3
|
+
min-height: 400px;
|
|
4
|
+
position: relative; /* For positioning the arrow */
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.timeline-sidebar {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: 20px;
|
|
11
|
+
transition: all 0.3s ease;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.timeline-step {
|
|
15
|
+
display: flex;
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.timeline-step.active .step-number {
|
|
20
|
+
background: #3b82f6;
|
|
21
|
+
color: white;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.timeline-step.completed .step-number {
|
|
25
|
+
background: #22c55e;
|
|
26
|
+
color: white;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.step-marker {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
align-items: center;
|
|
33
|
+
margin-right: 14px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.step-number {
|
|
37
|
+
width: 28px;
|
|
38
|
+
height: 28px;
|
|
39
|
+
border-radius: 50%;
|
|
40
|
+
background: #d9d9d9;
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
font-weight: 600;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.vertical-line {
|
|
48
|
+
width: 2px;
|
|
49
|
+
height: 40px;
|
|
50
|
+
background: #d9d9d9;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.step-info {
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
justify-content: center;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.step-title {
|
|
60
|
+
font-size: 13px;
|
|
61
|
+
font-weight: 500;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.step-main {
|
|
65
|
+
font-size: 15px;
|
|
66
|
+
font-weight: 600;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.toggle-arrow {
|
|
70
|
+
position: absolute;
|
|
71
|
+
top: 50%;
|
|
72
|
+
right: -12px; /* Position it just outside the card body padding */
|
|
73
|
+
transform: translateY(-50%);
|
|
74
|
+
width: 24px;
|
|
75
|
+
height: 24px;
|
|
76
|
+
background: #fff;
|
|
77
|
+
border: 1px solid #f0f0f0;
|
|
78
|
+
border-radius: 50%;
|
|
79
|
+
display: flex;
|
|
80
|
+
align-items: center;
|
|
81
|
+
justify-content: center;
|
|
82
|
+
cursor: pointer;
|
|
83
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
|
|
84
|
+
z-index: 10;
|
|
85
|
+
transition: all 0.3s ease;
|
|
86
|
+
|
|
87
|
+
&:hover {
|
|
88
|
+
background: #f5f5f5;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* ============================
|
|
93
|
+
MOBILE & TABLET VIEW FIXES
|
|
94
|
+
============================ */
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@media (max-width: 992px) { // iPad & tablets
|
|
99
|
+
.timeline-card .ant-card-body {
|
|
100
|
+
padding: 12px;
|
|
101
|
+
min-height: auto;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.timeline-sidebar {
|
|
105
|
+
flex-direction: row !important;
|
|
106
|
+
overflow-x: auto;
|
|
107
|
+
gap: 12px;
|
|
108
|
+
padding-bottom: 10px;
|
|
109
|
+
border-bottom: 1px solid #eee;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.timeline-step {
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
align-items: center;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.step-marker {
|
|
118
|
+
margin-right: 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.step-info {
|
|
122
|
+
text-align: center;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.toggle-arrow {
|
|
126
|
+
display: none !important; /* Hide collapse icon */
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@media (max-width: 768px) { // mobile screens
|
|
131
|
+
.timeline-sidebar {
|
|
132
|
+
gap: 8px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.step-number {
|
|
136
|
+
width: 24px;
|
|
137
|
+
height: 24px;
|
|
138
|
+
font-size: 12px;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.step-title {
|
|
142
|
+
font-size: 11px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.step-main {
|
|
146
|
+
font-size: 13px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.vertical-line {
|
|
150
|
+
display: none;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* Card layout full width */
|
|
154
|
+
.timeline-card .ant-card-body {
|
|
155
|
+
padding: 10px;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Skeleton } from "antd";
|
|
3
|
+
import { LeftOutlined, RightOutlined } from "@ant-design/icons";
|
|
4
|
+
import { Card } from "../../lib";
|
|
5
|
+
|
|
6
|
+
export default function TimelinePanel({
|
|
7
|
+
loading,
|
|
8
|
+
steps,
|
|
9
|
+
activeStep,
|
|
10
|
+
timelineCollapsed,
|
|
11
|
+
handleTimelineClick,
|
|
12
|
+
setTimelineCollapsed
|
|
13
|
+
}) {
|
|
14
|
+
return (
|
|
15
|
+
<Card className="timeline-card">
|
|
16
|
+
{loading ? (
|
|
17
|
+
<Skeleton active />
|
|
18
|
+
) : (
|
|
19
|
+
<div className={`timeline-sidebar ${timelineCollapsed ? "collapsed" : ""}`}>
|
|
20
|
+
{steps.map((step, index) => (
|
|
21
|
+
<div
|
|
22
|
+
key={step.step_id}
|
|
23
|
+
className={`timeline-step
|
|
24
|
+
${index === activeStep ? "active" : ""}
|
|
25
|
+
${index < activeStep ? "completed" : ""}`}
|
|
26
|
+
onClick={() => handleTimelineClick(index)}
|
|
27
|
+
>
|
|
28
|
+
<div className="step-marker">
|
|
29
|
+
<div className="step-number">{index + 1}</div>
|
|
30
|
+
{index < steps.length - 1 && <div className="vertical-line"></div>}
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
{!timelineCollapsed && (
|
|
34
|
+
<div className="step-info">
|
|
35
|
+
<div className="step-title">Step {index + 1}</div>
|
|
36
|
+
<div className="step-main">{step.step_name}</div>
|
|
37
|
+
</div>
|
|
38
|
+
)}
|
|
39
|
+
</div>
|
|
40
|
+
))}
|
|
41
|
+
|
|
42
|
+
<div className="toggle-arrow" onClick={() => setTimelineCollapsed(!timelineCollapsed)}>
|
|
43
|
+
{timelineCollapsed ? <RightOutlined /> : <LeftOutlined />}
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
)}
|
|
47
|
+
</Card>
|
|
48
|
+
);
|
|
49
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ui-soxo-bootstrap-core",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.25-dev.11",
|
|
4
4
|
"description": "All the Core Components for you to start",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"all in one"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"build": "webpack --mode production",
|
|
20
20
|
"deploy": "gh-pages -d examples/build",
|
|
21
21
|
"quick-deploy": "git status && git add . && git commit -m \"Theme Updates\" && git push",
|
|
22
|
-
"release": "git tag -a v2023-v2.0.
|
|
22
|
+
"release": "git tag -a v2023-v2.0.92 -m \"Theme Updates\" && npm run quick-deploy && npm publish",
|
|
23
23
|
"quick-commit": "git status && git add . && git commit -m 'Saving changes after deploying' && git push ",
|
|
24
24
|
"publish-demo": "npm run build && npm run deploy",
|
|
25
25
|
"lint": "eslint core",
|