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.
Files changed (37) hide show
  1. package/.github/workflows/npm-publish.yml +37 -15
  2. package/core/components/extra-info/extra-info-details.js +109 -126
  3. package/core/components/landing-api/landing-api.js +22 -30
  4. package/core/lib/Store.js +20 -18
  5. package/core/lib/components/index.js +4 -1
  6. package/core/lib/components/sidemenu/sidemenu.js +153 -256
  7. package/core/lib/components/sidemenu/sidemenu.scss +39 -26
  8. package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +119 -42
  9. package/core/lib/elements/basic/rangepicker/rangepicker.js +118 -29
  10. package/core/lib/elements/basic/switch/switch.js +35 -25
  11. package/core/lib/hooks/index.js +2 -12
  12. package/core/lib/hooks/use-otp-timer.js +99 -0
  13. package/core/lib/pages/login/login.js +255 -139
  14. package/core/lib/pages/login/login.scss +140 -32
  15. package/core/models/dashboard/dashboard.js +14 -0
  16. package/core/models/doctor/components/doctor-add/doctor-add.js +403 -0
  17. package/core/models/doctor/components/doctor-add/doctor-add.scss +32 -0
  18. package/core/models/menus/components/menu-add/menu-add.js +220 -267
  19. package/core/models/menus/components/menu-lists/menu-lists.js +366 -211
  20. package/core/models/menus/components/menu-lists/menu-lists.scss +6 -2
  21. package/core/models/menus/menus.js +256 -267
  22. package/core/models/roles/components/role-add/role-add.js +265 -228
  23. package/core/models/roles/components/role-list/role-list.js +326 -348
  24. package/core/models/roles/roles.js +191 -174
  25. package/core/models/staff/components/staff-add/staff-add.js +352 -0
  26. package/core/models/staff/components/staff-add/staff-add.scss +0 -0
  27. package/core/models/users/components/user-add/user-add.js +723 -367
  28. package/core/models/users/components/user-add/user-edit.js +90 -0
  29. package/core/models/users/users.js +318 -165
  30. package/core/modules/index.js +5 -8
  31. package/core/modules/reporting/components/index.js +5 -0
  32. package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +65 -2
  33. package/core/modules/steps/action-buttons.js +79 -0
  34. package/core/modules/steps/steps.js +553 -0
  35. package/core/modules/steps/steps.scss +158 -0
  36. package/core/modules/steps/timeline.js +49 -0
  37. 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.24",
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.91 -m \"Theme Updates\" && npm run quick-deploy && npm publish",
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",