isite 2025.1.13 → 2025.1.15

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.
@@ -8,298 +8,322 @@
8
8
 
9
9
  /* Large devices (desktops, 992px and up) */
10
10
  @media (min-width: 992px) {
11
- .navbar-nav .dropdown-menu.show {
12
- display: table;
13
- }
11
+ .navbar-nav .dropdown-menu.show {
12
+ display: table;
13
+ }
14
14
  }
15
15
 
16
16
  /* X-Large devices (large desktops, 1200px and up) */
17
17
  @media (min-width: 1200px) {
18
- .navbar-nav .dropdown-menu.show {
19
- display: table;
20
- }
18
+ .navbar-nav .dropdown-menu.show {
19
+ display: table;
20
+ }
21
21
  }
22
22
 
23
23
  /* XX-Large devices (larger desktops, 1400px and up) */
24
24
  @media (min-width: 1400px) {
25
- .navbar-nav .dropdown-menu.show {
26
- display: table;
27
- }
25
+ .navbar-nav .dropdown-menu.show {
26
+ display: table;
27
+ }
28
28
  }
29
29
 
30
30
  :root {
31
- --table-hover-background-color: #0dcaf09e;
31
+ --table-hover-background-color: #0dcaf09e;
32
32
  }
33
33
  body {
34
- margin-bottom: 100px;
34
+ margin-bottom: 100px;
35
35
  }
36
36
  .container {
37
- max-width: 100%;
37
+ max-width: 100%;
38
+ }
39
+
40
+ .form-check {
41
+ display: flex;
42
+ min-height: 1.5rem;
43
+ padding-left: 1.5em;
44
+ margin-bottom: 0.125rem;
45
+ flex-direction: row;
46
+ flex-wrap: nowrap;
47
+ align-content: center;
48
+ justify-content: center;
49
+ align-items: flex-end;
50
+ gap: 5px;
51
+ label {
52
+ cursor: pointer;
53
+ }
54
+ input {
55
+ cursor: pointer;
56
+ }
38
57
  }
39
58
  .form-check .form-check-input {
40
- min-width: 1em;
59
+ min-width: 1em;
60
+ margin: 5px;
41
61
  }
42
62
  .ar .form-check .form-check-input,
43
63
  .AR .form-check .form-check-input {
44
- margin-right: -1.5em;
64
+ margin-right: -1.5em;
45
65
  }
46
66
  a {
47
- word-wrap: break-word;
67
+ word-wrap: break-word;
48
68
  }
49
69
  .form-label {
50
- margin-bottom: 5px;
51
- margin-left: 7px;
52
- margin-right: 7px;
53
- border-bottom: 1px solid var(--label-color);
70
+ margin-bottom: 5px;
71
+ margin-left: 7px;
72
+ margin-right: 7px;
73
+ border-bottom: 1px solid var(--label-color);
54
74
  }
55
75
  label {
56
- float: var(--float);
57
- color: var(--label-color);
58
- font-weight: var(--label-font-weight);
59
- font-size: var(--label-font-size);
60
- background: var(--label-background);
76
+ float: var(--float);
77
+ color: var(--label-color);
78
+ font-weight: var(--label-font-weight);
79
+ font-size: var(--label-font-size);
80
+ background: var(--label-background);
61
81
  }
62
82
 
63
83
  fieldset {
64
- padding: var(--fieldset-padding);
65
- margin: var(--fieldset-margin);
66
- background: var(--fieldset-background);
67
- border: var(--fieldset-border);
68
- border-radius: var(--fieldset-border-radius);
69
- max-width: 98% !important;
70
- margin-bottom: 10px !important;
84
+ padding: var(--fieldset-padding);
85
+ margin: var(--fieldset-margin);
86
+ background: var(--fieldset-background);
87
+ border: var(--fieldset-border);
88
+ border-radius: var(--fieldset-border-radius);
89
+ max-width: 98% !important;
90
+ margin-bottom: 10px !important;
71
91
  }
72
92
 
73
93
  fieldset legend {
74
- display: contents;
75
- color: var(--legend-color);
76
- font-size: var(--legend-font-size);
77
- text-shadow: var(--legend-text-shadow);
78
- font-weight: var(--legend-font-weight);
79
- background: var(--fieldset-background);
80
- border: var(--legend-border);
81
- float: var(--float);
82
- width: auto;
83
- padding: 5px;
94
+ display: contents;
95
+ color: var(--legend-color);
96
+ font-size: var(--legend-font-size);
97
+ text-shadow: var(--legend-text-shadow);
98
+ font-weight: var(--legend-font-weight);
99
+ background: var(--fieldset-background);
100
+ border: var(--legend-border);
101
+ float: var(--float);
102
+ width: auto;
103
+ padding: 5px;
84
104
  }
85
105
 
86
106
  .border {
87
- border: 1px solid #ced4da !important;
88
- border-radius: 0.375rem;
107
+ border: 1px solid #ced4da !important;
108
+ border-radius: 0.375rem;
89
109
  }
90
110
  i-control {
91
- display: block;
111
+ display: block;
92
112
  }
93
113
  i-textarea {
94
- margin: 0px;
114
+ margin: 0px;
95
115
  }
96
116
 
97
117
  i-checkbox {
98
- padding-left: 20px !important;
99
- padding-right: 20px !important;
118
+ padding-right: 20px !important;
119
+ padding-left: 20px !important;
120
+ display: block !important;
100
121
  }
101
122
  i-checkbox label {
102
- cursor: pointer;
103
- max-width: 100%;
104
- white-space: pre-line;
123
+ cursor: pointer;
124
+ max-width: 100%;
125
+ white-space: pre-line;
105
126
  }
106
127
  i-checkbox,
107
128
  i-radio {
108
- display: inline-flex;
109
- align-self: center;
110
- margin-left: 1.5em;
111
- margin-right: 1.5em;
112
- white-space: nowrap;
129
+ display: inline-flex;
130
+ align-self: center;
131
+ margin-left: 1.5em;
132
+ margin-right: 1.5em;
133
+ white-space: nowrap;
134
+ }
135
+ i-checklist i-checkbox {
136
+ display: flex !important;
137
+ flex-direction: row !important;
113
138
  }
114
-
115
139
  i-button {
116
- display: contents;
140
+ display: contents;
117
141
  }
118
142
  i-button button {
119
- margin: 5px !important;
120
- margin-top: 30px !important;
121
- padding: 7px 9px !important;
122
- max-height: 40px;
143
+ margin: 5px !important;
144
+ margin-top: 30px !important;
145
+ padding: 7px 9px !important;
146
+ max-height: 40px;
123
147
  }
124
148
  table i-button button {
125
- margin-top: 0px !important;
149
+ margin-top: 0px !important;
126
150
  }
127
151
  i-button.default button {
128
- margin: 3px;
129
- padding: 3px;
130
- width: 32px;
131
- height: 32px;
152
+ margin: 3px;
153
+ padding: 3px;
154
+ width: 32px;
155
+ height: 32px;
132
156
  }
133
157
  i-file {
134
- display: block;
135
- padding: 10px !important;
136
- border: 3px dashed var(--theme-color);
137
- margin: 1% !important;
138
- height: fit-content;
139
- width: 98% !important;
158
+ display: block;
159
+ padding: 10px !important;
160
+ border: 3px dashed var(--theme-color);
161
+ margin: 1% !important;
162
+ height: fit-content;
163
+ width: 98% !important;
140
164
  }
141
165
  i-file label {
142
- margin-top: 10px !important;
166
+ margin-top: 10px !important;
143
167
  }
144
168
  i-file i-button {
145
- max-width: 100px;
169
+ max-width: 100px;
146
170
  }
147
171
  i-upload {
148
- display: contents;
172
+ display: contents;
149
173
  }
150
174
  i-upload form {
151
- display: contents;
175
+ display: contents;
152
176
  }
153
177
  i-date .left-10,
154
178
  i-datetime .left-10 {
155
- margin-left: 10px;
179
+ margin-left: 10px;
156
180
  }
157
181
  i-date .fas,
158
182
  i-datetime .fas {
159
- color: green;
160
- font-size: 24px;
161
- margin: 5px;
162
- cursor: pointer;
183
+ color: green;
184
+ font-size: 24px;
185
+ margin: 5px;
186
+ cursor: pointer;
163
187
  }
164
188
  i-date p,
165
189
  i-datetime p {
166
- margin: 0 !important;
190
+ margin: 0 !important;
167
191
  }
168
192
  i-date button,
169
193
  i-datetime button {
170
- background: transparent !important;
171
- margin: 0 !important;
194
+ background: transparent !important;
195
+ margin: 0 !important;
172
196
  }
173
197
  i-date input,
174
198
  i-datetime input {
175
- margin: 0 !important;
199
+ margin: 0 !important;
176
200
  }
177
201
 
178
202
  .modal-content {
179
- width: 75%;
180
- height: auto;
181
- max-height: 100vh;
203
+ width: 75%;
204
+ height: auto;
205
+ max-height: 100vh;
182
206
  }
183
207
  .modal-content:has(i-list) {
184
- min-height: 50px;
208
+ min-height: 50px;
185
209
  }
186
210
  .full .modal-content {
187
- width: 96%;
188
- height: auto;
189
- max-height: 100vh;
211
+ width: 96%;
212
+ height: auto;
213
+ max-height: 100vh;
190
214
  }
191
215
  .modal-body {
192
- padding: 1rem;
193
- display: block;
194
- overflow: hidden;
195
- overflow-y: auto;
216
+ padding: 1rem;
217
+ display: block;
218
+ overflow: hidden;
219
+ overflow-y: auto;
196
220
  }
197
221
  .modal-footer {
198
- display: flex;
199
- width: 100%;
200
- flex-wrap: nowrap;
201
- align-content: center;
202
- justify-content: center;
203
- align-items: center;
204
- flex-direction: row;
222
+ display: flex;
223
+ width: 100%;
224
+ flex-wrap: nowrap;
225
+ align-content: center;
226
+ justify-content: center;
227
+ align-items: center;
228
+ flex-direction: row;
205
229
  }
206
230
  .dropdown-content {
207
- display: none;
208
- position: absolute;
209
- top: 75px !important;
210
- background-color: #ffffff;
211
- width: 100%;
212
- z-index: 999;
213
- max-height: 75vh;
214
- padding: 0px;
215
- margin: 0;
216
- scroll-behavior: smooth;
217
- overflow: auto;
218
- border: 5px solid var(--theme-color);
219
- border-top: 10px solid var(--theme-color);
220
- border-bottom: 10px solid var(--theme-color);
221
- border-radius: 5px;
231
+ display: none;
232
+ position: absolute;
233
+ top: 75px !important;
234
+ background-color: #ffffff;
235
+ width: 100%;
236
+ z-index: 999;
237
+ max-height: 75vh;
238
+ padding: 0px;
239
+ margin: 0;
240
+ scroll-behavior: smooth;
241
+ overflow: auto;
242
+ border: 5px solid var(--theme-color);
243
+ border-top: 10px solid var(--theme-color);
244
+ border-bottom: 10px solid var(--theme-color);
245
+ border-radius: 5px;
222
246
  }
223
247
  .v-tabs .nav-link {
224
- color: #aaa !important;
225
- background: #fff !important;
226
- position: relative;
227
- cursor: pointer;
228
- font-weight: bold;
229
- width: auto;
248
+ color: #aaa !important;
249
+ background: #fff !important;
250
+ position: relative;
251
+ cursor: pointer;
252
+ font-weight: bold;
253
+ width: auto;
230
254
  }
231
255
 
232
256
  .v-tabs .nav-link.active {
233
- color: #45b649;
234
- background: #fff;
257
+ color: #45b649;
258
+ background: #fff;
235
259
  }
236
260
  .nav-link {
237
- width: max-content;
261
+ width: max-content;
238
262
  }
239
263
 
240
264
  @media (min-width: 992px) {
241
- .v-tabs .nav-link::before {
242
- content: '';
243
- display: block;
244
- border-top: 8px solid transparent;
245
- border-left: 10px solid #fff;
246
- border-bottom: 8px solid transparent;
247
- position: absolute;
248
- top: 50%;
249
- right: -10px;
250
- transform: translateY(-50%);
251
- opacity: 0;
252
- }
253
- .ar .v-tabs .nav-link::before,
254
- .AR .v-tabs .nav-link::before {
255
- border-right: 10px solid #fff;
256
- left: -10px;
257
- }
265
+ .v-tabs .nav-link::before {
266
+ content: '';
267
+ display: block;
268
+ border-top: 8px solid transparent;
269
+ border-left: 10px solid #fff;
270
+ border-bottom: 8px solid transparent;
271
+ position: absolute;
272
+ top: 50%;
273
+ right: -10px;
274
+ transform: translateY(-50%);
275
+ opacity: 0;
276
+ }
277
+ .ar .v-tabs .nav-link::before,
278
+ .AR .v-tabs .nav-link::before {
279
+ border-right: 10px solid #fff;
280
+ left: -10px;
281
+ }
258
282
  }
259
283
 
260
284
  .v-tabs .nav-link.active::before {
261
- opacity: 1;
285
+ opacity: 1;
262
286
  }
263
287
 
264
288
  i-audio {
265
- background: #fff;
266
- border: 1px solid #ddd;
267
- display: block;
268
- padding: 5px;
289
+ background: #fff;
290
+ border: 1px solid #ddd;
291
+ display: block;
292
+ padding: 5px;
269
293
  }
270
294
  i-audio audio {
271
- vertical-align: bottom;
295
+ vertical-align: bottom;
272
296
  }
273
297
  i-video {
274
- border: 1px solid #4caf50;
275
- padding: 5px;
276
- display: block;
298
+ border: 1px solid #4caf50;
299
+ padding: 5px;
300
+ display: block;
277
301
  }
278
302
  i-audio .btn {
279
- vertical-align: top;
303
+ vertical-align: top;
280
304
  }
281
305
 
282
306
  i-video video {
283
- max-height: 50vh;
307
+ max-height: 50vh;
284
308
  }
285
309
  i-time .time {
286
- display: flex;
287
- flex-wrap: nowrap;
288
- align-content: space-between;
289
- justify-content: space-evenly;
290
- align-items: baseline;
291
- flex-direction: row;
292
- --scrollbar-width: 3px;
293
- .dropdown-content {
294
- top: 40px !important;
295
- }
296
- input {
297
- font-weight: bold;
298
- }
310
+ display: flex;
311
+ flex-wrap: nowrap;
312
+ align-content: space-between;
313
+ justify-content: space-evenly;
314
+ align-items: baseline;
315
+ flex-direction: row;
316
+ --scrollbar-width: 3px;
317
+ .dropdown-content {
318
+ top: 40px !important;
319
+ }
320
+ input {
321
+ font-weight: bold;
322
+ }
299
323
  }
300
324
  i-time .sep span {
301
- font-size: xx-large;
302
- line-height: 0;
303
- margin-left: 5px;
304
- margin-right: 5px;
325
+ font-size: xx-large;
326
+ line-height: 0;
327
+ margin-left: 5px;
328
+ margin-right: 5px;
305
329
  }
package/index.js CHANGED
@@ -320,14 +320,10 @@ module.exports = function init(options) {
320
320
 
321
321
  ____0.importApps = function (app_dir) {
322
322
  if (____0.isFileExistsSync(app_dir) && ____0.fs.lstatSync(app_dir).isDirectory()) {
323
- ____0.fs.readdir(app_dir, (err, files) => {
324
- if (!err && files && files.length > 0) {
325
- ____0.log('=== Auto Importing Apps : ' + app_dir);
326
- files.forEach((file) => {
327
- if (____0.fs.lstatSync(app_dir + '/' + file).isDirectory()) {
328
- ____0.importApp(app_dir + '/' + file);
329
- }
330
- });
323
+ ____0.log('=== Auto Importing Apps : ' + app_dir);
324
+ ____0.fs.readdirSync(app_dir).forEach((file) => {
325
+ if (____0.fs.lstatSync(app_dir + '/' + file).isDirectory()) {
326
+ ____0.importApp(app_dir + '/' + file);
331
327
  }
332
328
  });
333
329
  }
@@ -376,14 +372,10 @@ module.exports = function init(options) {
376
372
 
377
373
  if (____0.options.apps === !0) {
378
374
  if (____0.isFileExistsSync(____0.options.apps_dir) && ____0.fs.lstatSync(____0.options.apps_dir).isDirectory()) {
379
- ____0.fs.readdir(____0.options.apps_dir, (err, files) => {
380
- if (!err && files && files.length > 0) {
381
- ____0.log('=== Auto Loading Default Apps ===');
382
- files.forEach((file) => {
383
- if (____0.fs.lstatSync(____0.options.apps_dir + '/' + file).isDirectory()) {
384
- ____0.loadApp(file);
385
- }
386
- });
375
+ ____0.log('=== Auto Loading Default Apps ===');
376
+ ____0.fs.readdirSync(____0.options.apps_dir).forEach((file) => {
377
+ if (____0.fs.lstatSync(____0.options.apps_dir + '/' + file).isDirectory()) {
378
+ ____0.importApp(____0.options.apps_dir + '/' + file);
387
379
  }
388
380
  });
389
381
  }
package/lib/routing.js CHANGED
@@ -469,19 +469,17 @@ module.exports = function init(____0) {
469
469
  try {
470
470
  route.name = arr.join('/');
471
471
  if (typeof route.path == 'string' && ____0.fs.lstatSync(route.path).isDirectory()) {
472
- ____0.fs.readdir(route.path, (err, files) => {
473
- files.forEach((file) => {
474
- let r2 = { ...route };
475
- if (route.name.endsWith('/')) {
476
- r2.name = route.name + file;
477
- } else {
478
- r2.name = route.name + '/' + file;
479
- }
472
+ ____0.fs.readdirSync(route.path).forEach((file) => {
473
+ let r2 = { ...route };
474
+ if (route.name.endsWith('/')) {
475
+ r2.name = route.name + file;
476
+ } else {
477
+ r2.name = route.name + '/' + file;
478
+ }
480
479
 
481
- r2.path = route.path + '/' + file;
482
- r2.is_dynamic = !0;
483
- _0xrrxo.add(r2);
484
- });
480
+ r2.path = route.path + '/' + file;
481
+ r2.is_dynamic = !0;
482
+ _0xrrxo.add(r2);
485
483
  });
486
484
  } else {
487
485
  if (!route.name.startsWith('/')) {
@@ -1422,8 +1420,11 @@ module.exports = function init(____0) {
1422
1420
 
1423
1421
  _0xrrxo.start = function (_ports, callback) {
1424
1422
  ____0.startTime = Date.now();
1425
-
1426
1423
  ____0.ws.wsSupport();
1424
+ if (typeof _ports === 'function') {
1425
+ callback = callback || _ports;
1426
+ _ports = null;
1427
+ }
1427
1428
 
1428
1429
  ____0.https.globalAgent.options = {
1429
1430
  key: ____0.fs.readFileSync(____0.options.https.key || __dirname + '/../ssl/key.pem'),
@@ -1432,14 +1433,12 @@ module.exports = function init(____0) {
1432
1433
 
1433
1434
  const ports = [];
1434
1435
 
1435
- if (ports.length === 0) {
1436
- if (typeof _ports === 'number') {
1437
- ports.some((p0) => p0 == _ports) || ports.push(_ports);
1438
- } else if (Array.isArray(_ports)) {
1439
- _ports.forEach((p) => {
1440
- ports.some((p0) => p0 == p) || ports.push(p);
1441
- });
1442
- }
1436
+ if (typeof _ports === 'number') {
1437
+ ports.some((p0) => p0 == _ports) || ports.push(_ports);
1438
+ } else if (Array.isArray(_ports)) {
1439
+ _ports.forEach((p) => {
1440
+ ports.some((p0) => p0 == p) || ports.push(p);
1441
+ });
1443
1442
  }
1444
1443
 
1445
1444
  if (ports.length === 0) {
@@ -1484,17 +1483,16 @@ module.exports = function init(____0) {
1484
1483
  server.listen(p, function () {
1485
1484
  if (!____0.server) {
1486
1485
  ____0.server = server;
1487
- setTimeout(() => {
1488
- if (callback) {
1489
- callback(____0.servers);
1490
- }
1491
- ____0.call(____0.strings[9]);
1492
- }, 1000 * 5);
1493
1486
  }
1494
1487
  ____0.servers.push(server);
1495
1488
  ____0.log('\n-----------------------------------------');
1496
1489
  ____0.log(` ( ${____0.options.name} ) Running on : http://${____0.options.hostname}:${p} `);
1497
1490
  ____0.log('-----------------------------------------\n');
1491
+
1492
+ if (callback) {
1493
+ callback(____0.servers);
1494
+ }
1495
+ ____0.call(____0.strings[9]);
1498
1496
  });
1499
1497
  }
1500
1498
  } catch (error) {