nexus-shared 1.1.4 → 1.1.6

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 (95) hide show
  1. package/package.json +16 -40
  2. package/src/api-services/preference-service.tsx +5 -0
  3. package/src/api-services/system-service.tsx +322 -0
  4. package/src/components/documents/button.tsx +136 -0
  5. package/src/components/documents/icon-box.tsx +92 -0
  6. package/src/components/documents/page-title.tsx +7 -0
  7. package/src/components/documents/tab-button.tsx +169 -0
  8. package/src/components/index.js +0 -0
  9. package/src/components/inputs/checkbox-input.tsx +66 -0
  10. package/src/components/inputs/input-box.tsx +45 -0
  11. package/src/components/inputs/input-element.tsx +65 -0
  12. package/src/components/inputs/input-form.tsx +50 -0
  13. package/src/components/inputs/input.tsx +181 -0
  14. package/src/components/inputs/number-input.tsx +108 -0
  15. package/src/components/inputs/radiobox-input.tsx +53 -0
  16. package/src/components/inputs/textarea-input.tsx +47 -0
  17. package/src/components/inputs/textbox-input.tsx +45 -0
  18. package/src/components/layouts/global-dialogbox.tsx +433 -0
  19. package/src/components/layouts/global-layout.tsx +63 -0
  20. package/src/components/layouts/layout-helpers.tsx +23 -0
  21. package/src/components/layouts/utility-menu.tsx +71 -0
  22. package/src/components/panels/theme-panel.tsx +44 -0
  23. package/src/helpers/bitwise-helpers.tsx +11 -0
  24. package/src/helpers/browser-helpers.tsx +73 -0
  25. package/src/helpers/datasource-helpers.tsx +99 -0
  26. package/src/helpers/element-helpers.tsx +57 -0
  27. package/src/helpers/input-helpers.tsx +24 -0
  28. package/src/helpers/string-helpers.tsx +28 -0
  29. package/src/helpers/utility-helpers.tsx +44 -0
  30. package/src/index.ts +0 -11
  31. package/src/interfaces/browser-interfaces.tsx +23 -0
  32. package/src/interfaces/button-interfaces.tsx +63 -0
  33. package/src/interfaces/datasource-interfaces.tsx +22 -0
  34. package/src/interfaces/datatable-interfaces.tsx +25 -0
  35. package/src/interfaces/dialogbox-interfaces.tsx +5 -0
  36. package/src/interfaces/http-interfaces.tsx +15 -0
  37. package/src/interfaces/icon-interfaces.tsx +126 -0
  38. package/src/interfaces/input-interfaces.tsx +360 -0
  39. package/src/interfaces/layout-interfaces.tsx +191 -0
  40. package/src/interfaces/menu-interfaces.tsx +36 -0
  41. package/src/interfaces/permission-interfaces.tsx +9 -0
  42. package/src/interfaces/storage-interfaces.tsx +3 -0
  43. package/src/interfaces/system-interfaces.tsx +22 -0
  44. package/src/interfaces/theme-interfaces.tsx +209 -0
  45. package/src/interfaces/type-interfaces.tsx +22 -0
  46. package/src/nexus-client.tsx +23 -0
  47. package/src/nexus.environments.tsx +34 -0
  48. package/src/services/loader-service.tsx +168 -0
  49. package/src/services/localstorage-service.tsx +45 -0
  50. package/src/services/theme-service.tsx +149 -0
  51. package/src/styles/nexus.animation.css +269 -0
  52. package/src/styles/nexus.core.css +119 -0
  53. package/src/styles/nexus.dialog.css +141 -0
  54. package/src/styles/nexus.icon.css +50 -0
  55. package/src/styles/nexus.input.css +207 -0
  56. package/src/styles/nexus.loader.css +11 -0
  57. package/src/styles/nexus.logic.css +18 -0
  58. package/src/styles/nexus.utility.css +347 -0
  59. package/dist/chunk-7GVFDWOS.js +0 -28
  60. package/dist/chunk-7GVFDWOS.js.map +0 -1
  61. package/dist/chunk-EW6K4PYI.js +0 -96
  62. package/dist/chunk-EW6K4PYI.js.map +0 -1
  63. package/dist/chunk-UMV7E2RN.js +0 -1
  64. package/dist/chunk-UMV7E2RN.js.map +0 -1
  65. package/dist/client.css +0 -119
  66. package/dist/client.css.map +0 -1
  67. package/dist/client.d.ts +0 -9
  68. package/dist/client.js +0 -7
  69. package/dist/client.js.map +0 -1
  70. package/dist/index.css +0 -207
  71. package/dist/index.css.map +0 -1
  72. package/dist/index.d.ts +0 -5
  73. package/dist/index.js +0 -12
  74. package/dist/index.js.map +0 -1
  75. package/dist/interface.d.ts +0 -9
  76. package/dist/interface.js +0 -2
  77. package/dist/interface.js.map +0 -1
  78. package/dist/nexus-list-DV45tcM0.d.ts +0 -24
  79. package/dist/server.css +0 -88
  80. package/dist/server.css.map +0 -1
  81. package/dist/server.d.ts +0 -9
  82. package/dist/server.js +0 -7
  83. package/dist/server.js.map +0 -1
  84. package/src/client/index.ts +0 -1
  85. package/src/client/nexus-selectable-list.css +0 -131
  86. package/src/client/nexus-selectable-list.tsx +0 -111
  87. package/src/client.ts +0 -7
  88. package/src/interface.ts +0 -5
  89. package/src/interfaces/index.ts +0 -6
  90. package/src/interfaces/nexus-base.ts +0 -5
  91. package/src/interfaces/nexus-list.ts +0 -24
  92. package/src/server/index.ts +0 -1
  93. package/src/server/nexus-stat-list.css +0 -92
  94. package/src/server/nexus-stat-list.tsx +0 -46
  95. package/src/server.ts +0 -8
@@ -0,0 +1,119 @@
1
+ :root {
2
+ --BR1: 0.3rem;
3
+ --BR2: 0.6rem;
4
+ --MW: 90vw;
5
+ --SLBW: 0.6rem;
6
+ /* ~6px; WebKit won't render below ~8px — use px, not rem, for a stable thin size */
7
+ --BS0: 0px 0px 1.95rem var(--B41);
8
+ --BS1: 0px 0px 1.45rem var(--B41);
9
+ --BS2: 0px 0px 1.1rem var(--B41);
10
+ --BS3: 0px 0px 0.8rem var(--B41);
11
+ --BS4: 0px 0px 0.55rem var(--B41);
12
+ --BS5: 0px 0px 0.4rem var(--B41);
13
+ --BS6: 0px 0px 0.25rem var(--B41);
14
+ --BS7: 0px 0px 0.15rem var(--B41);
15
+ /* Input error box */
16
+ --IEM: 2rem;
17
+ /* Input Height */
18
+ --IH: 2.8rem;
19
+ /* Border Size 1 */
20
+ --BRD1: 0.0625rem;
21
+ /* Border Size 2 */
22
+ --BRD2: calc(var(--BRD1) * 2);
23
+ /* Border Size 3 */
24
+ --BRD3: calc(var(--BRD1) * 3);
25
+ --ACTIVE_BORDER_COLOR: var(--B950);
26
+ --ACTIVE_BACKGROUND_COLOR: var(--B3);
27
+ }
28
+
29
+ * {
30
+ padding: 0;
31
+ margin: 0;
32
+ list-style: none;
33
+ text-decoration: none;
34
+ box-sizing: border-box;
35
+ letter-spacing: 0.02rem;
36
+ }
37
+
38
+ body {
39
+ font-weight: 400;
40
+ font-family: "Inter", sans-serif;
41
+ }
42
+
43
+ @media (max-width: 4000px) {
44
+ * {
45
+ font-size: 20px;
46
+ }
47
+ }
48
+
49
+ @media (max-width: 3000px) {
50
+ * {
51
+ font-size: 19px;
52
+ }
53
+ }
54
+
55
+ @media (max-width: 2600px) {
56
+ * {
57
+ font-size: 18px;
58
+ }
59
+ }
60
+
61
+ @media (max-width: 2300px) {
62
+ * {
63
+ font-size: 17px;
64
+ }
65
+ }
66
+
67
+ @media (max-width: 1800px) {
68
+ * {
69
+ font-size: 16px;
70
+ }
71
+ }
72
+
73
+ @media (max-width: 1500px) {
74
+ * {
75
+ font-size: 15px;
76
+ }
77
+ }
78
+
79
+ /** Mobile display */
80
+ @media (max-width: 768px) {
81
+ * {
82
+ font-size: 16px;
83
+ }
84
+ }
85
+
86
+ @media (max-width: 450px) {
87
+ * {
88
+ font-size: 15px;
89
+ }
90
+ }
91
+
92
+ @media (max-width: 400px) {
93
+ * {
94
+ font-size: 14px;
95
+ }
96
+ }
97
+
98
+ @media (max-width: 350px) {
99
+ * {
100
+ font-size: 13px;
101
+ }
102
+ }
103
+
104
+ @media (max-width: 300px) {
105
+ * {
106
+ font-size: 12px;
107
+ }
108
+ }
109
+
110
+ @media (max-width: 250px) {
111
+ * {
112
+ font-size: 11px;
113
+ }
114
+ }
115
+
116
+ body {
117
+ background-color: var(--C1);
118
+ color: var(--C950);
119
+ }
@@ -0,0 +1,141 @@
1
+ :root {
2
+ --BFC: var(--C1);
3
+ --BG_TITLE: rgb(100, 100, 100);
4
+ --DB_SIZE: 1.1rem;
5
+ }
6
+
7
+ .dialog {
8
+ z-index: 100 !important;
9
+ cursor: default;
10
+ }
11
+
12
+ .dialog.left::before,
13
+ .dialog.right::before,
14
+ .dialog.center::before,
15
+ .dialog.left::after,
16
+ .dialog.right::after,
17
+ .dialog.center::after {
18
+ content: "";
19
+ position: absolute;
20
+ width: var(--DB_SIZE);
21
+ height: var(--DB_SIZE);
22
+ background: inherit;
23
+ transform: rotate(45deg) translateX(calc(0rem - var(--DB_SIZE) / 2.5)) translateY(calc(var(--DB_SIZE) / 2));
24
+ top: calc(0rem - var(--DB_SIZE) / 1.54);
25
+ border-radius: 0.05rem;
26
+ border-left: var(--BRD1) solid var(--B30);
27
+ border-top: var(--BRD1) solid var(--B30);
28
+ }
29
+
30
+ .dialog.left::before,
31
+ .dialog.right::before,
32
+ .dialog.center::before {
33
+ box-shadow: -0.3rem -0.3rem 0.4rem var(--B41);
34
+ z-index: -1 !important;
35
+ opacity: 0.7;
36
+ }
37
+
38
+ .dialog.right::after,
39
+ .dialog.right::before {
40
+ left: var(--arrow-left, 0rem);
41
+ }
42
+
43
+ .dialog.left::after,
44
+ .dialog.left::before {
45
+ left: var(--arrow-left, 1.2rem);
46
+ }
47
+
48
+ .dialog.center::after,
49
+ .dialog.center::before {
50
+ left: var(--arrow-left, 50%);
51
+ }
52
+
53
+ .dialog.T::after,
54
+ .dialog.T::before,
55
+ .dialog.T.center::after,
56
+ .dialog.T.center::before {
57
+ top: unset;
58
+ bottom: -0.55rem !important;
59
+ transform: scale(1, -1);
60
+ transform: translateX(-50%) scale(1, -1);
61
+ }
62
+ .dialog.input-dialog::before,
63
+ .dialog.input-dialog::after {
64
+ display: none !important;
65
+ }
66
+
67
+ /************ Dialog Box (POPUP MODEL) ************/
68
+ .dlg-box {
69
+ width: 100%;
70
+ height: 100%;
71
+ position: fixed;
72
+ z-index: 1000;
73
+ background-color: var(--C12);
74
+ overflow: hidden;
75
+ }
76
+ .dlg-box.minimized {
77
+ z-index: 98;
78
+ }
79
+ .dlg-box.minimized .model {
80
+ max-height: 2rem !important;
81
+ }
82
+ .dlg-box .model {
83
+ width: 40rem;
84
+ max-width: 95%;
85
+ max-height: 85vh;
86
+ }
87
+ .dlg-box.minimized .model {
88
+ max-width: none !important;
89
+ width: 100% !important;
90
+ }
91
+ .model.XS {
92
+ width: 25rem;
93
+ }
94
+
95
+ .model.sm {
96
+ width: 30rem;
97
+ }
98
+
99
+ .model.nr {
100
+ width: 37rem;
101
+ }
102
+
103
+ .model.med {
104
+ width: 45rem;
105
+ }
106
+
107
+ .model.lg {
108
+ width: 70rem;
109
+ }
110
+
111
+ .model.xl {
112
+ width: 80rem;
113
+ }
114
+
115
+ .model.xxl {
116
+ width: 95%;
117
+ max-width: 95%;
118
+ max-height: 95%;
119
+ }
120
+
121
+ .model.fs {
122
+ width: 100% !important;
123
+ height: 100vh !important;
124
+ max-width: 100%;
125
+ max-height: 100%;
126
+ border-radius: 0;
127
+ }
128
+ .dlg-box {
129
+ container-type: size;
130
+ }
131
+ @media (max-width: 768px) {
132
+ .model {
133
+ max-height: 90vh !important;
134
+ }
135
+ .dlg-box.ac {
136
+ align-items: flex-start !important;
137
+ }
138
+ }
139
+ .dlg-box.minimized:hover {
140
+ animation: none !important;
141
+ }
@@ -0,0 +1,50 @@
1
+ :root {
2
+ /* Icon box width */
3
+ --IW: var(--IH);
4
+ /* Icon Font size */
5
+ --IS: 1.6rem;
6
+ }
7
+
8
+ .ib {
9
+ min-width: var(--IW);
10
+ min-height: var(--IW);
11
+ max-width: var(--IW);
12
+ max-height: var(--IW);
13
+
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ .icon {
21
+ pointer-events: none;
22
+ transition: var(--ANIM);
23
+ font-size: var(--IS);
24
+ pointer-events: none !important;
25
+ }
26
+
27
+ .ib.h:hover > .icon {
28
+ opacity: 1;
29
+ }
30
+
31
+ .img {
32
+ width: 100%;
33
+ height: 100%;
34
+ object-fit: cover !important;
35
+ }
36
+
37
+ .image-viewer {
38
+ width: 100%;
39
+ height: 100%;
40
+ object-fit: cover !important;
41
+ transition: transform 0.1s ease;
42
+ transform-origin: center;
43
+ transition: var(--ANIM);
44
+ }
45
+
46
+ .bg-img {
47
+ background-size: cover;
48
+ background-position: center;
49
+ background-repeat: no-repeat;
50
+ }
@@ -0,0 +1,207 @@
1
+ :root {
2
+ --IRCH: 1.5rem;
3
+ }
4
+
5
+ .ipt-bx {
6
+ z-index: 0;
7
+ }
8
+
9
+ .ipt-wp .smb {
10
+ min-height: calc(var(--IEM) / 1.3) !important;
11
+ }
12
+
13
+ .ipt-bx,
14
+ .ipt-bxh {
15
+ height: var(--IH);
16
+ }
17
+ .textarea-box {
18
+ height: unset !important;
19
+ display: flex;
20
+ flex-direction: column;
21
+ padding-top: 0.5rem;
22
+ box-sizing: border-box;
23
+ }
24
+ .ipt {
25
+ color: var(--T1);
26
+ }
27
+
28
+ input.ipt,
29
+ select.ipt {
30
+ height: 100%;
31
+ }
32
+
33
+ .ipt,
34
+ .ipth {
35
+ width: 100%;
36
+ padding: 0rem 0.5rem;
37
+ font-weight: 400;
38
+ font-family: inherit;
39
+ }
40
+
41
+ .ipth,
42
+ input.ipt,
43
+ select.ipt {
44
+ min-height: calc(var(--IH) - var(--B1));
45
+ }
46
+
47
+ .ipt:-webkit-autofill,
48
+ .ipt:autofill {
49
+ -webkit-box-shadow: 0 0 0px 50px var(--B1) inset !important;
50
+ -webkit-text-fill-color: var(--T1) !important;
51
+ border-radius: var(--BR1);
52
+ }
53
+
54
+ .ipt-bx .ilb {
55
+ padding: 0rem 0.2rem;
56
+ margin-left: 0.3rem;
57
+ font-weight: 400;
58
+ font-size: 1rem;
59
+ opacity: 0.7;
60
+ transition: all var(--ANIM_SPD) ease-in-out;
61
+ }
62
+
63
+ .ipt.txhv + .ilb,
64
+ .ipt:focus-within + .ilb {
65
+ opacity: 1;
66
+ top: -0.05rem !important;
67
+ font-size: 0.8rem !important;
68
+ font-weight: 500 !important;
69
+ }
70
+
71
+ .ipt.txhv + .ilb,
72
+ .ipt:focus-within + .ilb {
73
+ background: linear-gradient(to bottom, transparent 35%, var(--B2) 0, var(--B2) 55%, transparent 50%);
74
+ opacity: 1 !important;
75
+ }
76
+
77
+ .h:focus-within,
78
+ .ipt-bx:focus-within {
79
+ box-shadow: 0 0 0.3rem var(--B20);
80
+ border-color: var(--B12) !important;
81
+ z-index: 1;
82
+ }
83
+
84
+ .ipt-bx .ib {
85
+ min-height: calc(var(--IH) - var(--BR1)) !important;
86
+ min-width: calc(var(--IH) - var(--BR1)) !important;
87
+ }
88
+
89
+ .ipt-bx.error:focus-within {
90
+ box-shadow: 0 0 0.3rem var(--B13) !important;
91
+ }
92
+
93
+ .ipt-bx.error {
94
+ border-color: var(--B13) !important;
95
+ }
96
+
97
+ .ipt-bx.error .ilb,
98
+ .ipt-bx.error .ipt,
99
+ .ipt-bx.error .icon {
100
+ color: var(--B13) !important;
101
+ }
102
+
103
+ /********** Checkbox Radiobox Start Here **********/
104
+
105
+ .ipt-bxh input[type="checkbox"]:checked + .ilb,
106
+ .ipt-bxh input[type="radio"].checkbox:checked + .ilb {
107
+ opacity: 1 !important;
108
+ font-weight: 500;
109
+ }
110
+
111
+ input[type="radio"],
112
+ input[type="checkbox"],
113
+ .checkbox {
114
+ border: none;
115
+ outline: none;
116
+ appearance: none;
117
+ -webkit-appearance: none;
118
+ display: flex;
119
+ align-items: center;
120
+ transition: var(--ANIM);
121
+ position: relative;
122
+ cursor: pointer;
123
+ }
124
+
125
+ input[type="radio"]::before,
126
+ input[type="checkbox"]::before,
127
+ .checkbox::before {
128
+ content: "";
129
+ width: var(--IRCH) !important;
130
+ height: var(--IRCH) !important;
131
+ border: 0.22rem solid var(--B30);
132
+ box-sizing: border-box;
133
+ transition: var(--ANIM);
134
+ }
135
+
136
+ /* Native radio only — groupId checkboxes use type=radio + .checkbox */
137
+ input[type="radio"]:not(.checkbox)::before {
138
+ border-radius: 50%;
139
+ background-color: transparent;
140
+ }
141
+
142
+ input[type="radio"]:not(.checkbox):checked::before {
143
+ box-shadow: 0 0 0 0.22rem var(--B1) inset;
144
+ background-color: var(--B400);
145
+ border-color: var(--B400);
146
+ }
147
+
148
+ input[type="checkbox"]::before,
149
+ input[type="radio"].checkbox::before {
150
+ border-radius: var(--BR1);
151
+ }
152
+
153
+ input[type="checkbox"]:checked::before,
154
+ input[type="radio"].checkbox:checked::before,
155
+ .checkbox.checked::before {
156
+ border-color: var(--B400);
157
+ box-shadow: none;
158
+ background-color: transparent;
159
+ }
160
+
161
+ input[type="checkbox"]:checked::after,
162
+ input[type="radio"].checkbox:checked::after,
163
+ .checkbox.checked::after {
164
+ content: "";
165
+ position: absolute;
166
+ top: 47%;
167
+ left: 49%;
168
+ width: 0.7rem;
169
+ height: 0.35rem;
170
+ border-bottom: 0.2rem solid var(--B400);
171
+ border-left: 0.2rem solid var(--B400);
172
+ transform: translate(-50%, -50%) rotate(-50deg);
173
+ }
174
+
175
+ input[type="radio"]:checked + .ilb,
176
+ input[type="radio"].checkbox:checked + .ilb {
177
+ opacity: 1 !important;
178
+ }
179
+
180
+ textarea.ipt {
181
+ display: block;
182
+ flex: 1 1 auto;
183
+ resize: vertical;
184
+ user-select: text;
185
+ box-sizing: border-box;
186
+ padding-bottom: 0.5rem;
187
+ }
188
+
189
+ /** =========================
190
+ * Modern Custom Select Box
191
+ * ========================= */
192
+
193
+ select.ipt {
194
+ -webkit-appearance: none;
195
+ }
196
+
197
+ /** Disabled */
198
+ select.ipt:disabled {
199
+ opacity: 0.6;
200
+ cursor: not-allowed;
201
+ }
202
+
203
+ /** Dropdown Options */
204
+ select.ipt option {
205
+ background: var(--B2);
206
+ color: var(--T2);
207
+ }
@@ -0,0 +1,11 @@
1
+ .nexus-container {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ z-index: 1000000;
6
+ width: 100%;
7
+ height: 100%;
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ }
@@ -0,0 +1,18 @@
1
+ .ho1:hover {
2
+ opacity: 1;
3
+ }
4
+ .btn.active {
5
+ font-weight: 500;
6
+ }
7
+ .btn.active {
8
+ background-color: var(--ACTIVE_BACKGROUND_COLOR) !important;
9
+ pointer-events: none;
10
+ }
11
+ .btn.active::after {
12
+ content: " ";
13
+ position: absolute;
14
+ width: 100%;
15
+ height: var(--BRD2);
16
+ bottom: 0;
17
+ background-color: var(--ACTIVE_BORDER_COLOR);
18
+ }