@ebubekirylmaz/link-test 1.2.44 → 1.2.46

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 (121) hide show
  1. package/package.json +13 -6
  2. package/src/Platform.jsx +14 -15
  3. package/src/assets/illustrations/avatar-shape.jsx +6 -7
  4. package/src/assets/illustrations/booking-illustration.jsx +4 -14
  5. package/src/assets/illustrations/check-in-illustration.jsx +4 -10
  6. package/src/assets/illustrations/check-out-illustration.jsx +4 -3
  7. package/src/assets/illustrations/coming-soon-illustration.jsx +4 -17
  8. package/src/assets/illustrations/forbidden-illustration.jsx +4 -12
  9. package/src/assets/illustrations/maintenance-illustration.jsx +4 -24
  10. package/src/assets/illustrations/motivation-illustration.jsx +4 -9
  11. package/src/assets/illustrations/order-complete-illustration.jsx +4 -12
  12. package/src/assets/illustrations/page-not-found-illustration.jsx +4 -9
  13. package/src/assets/illustrations/seo-illustration.jsx +4 -16
  14. package/src/assets/illustrations/sever-error-illustration.jsx +4 -21
  15. package/src/assets/illustrations/upgrade-storage-illustration.jsx +4 -20
  16. package/src/assets/illustrations/upload-illustration.jsx +4 -81
  17. package/src/components/NucleoidLoginForm/NucleoidLoginForm.jsx +1 -0
  18. package/src/components/TopNavBar/TopNavBar.jsx +6 -2
  19. package/src/components/file-thumbnail/file-thumbnail.jsx +5 -6
  20. package/src/components/nav-section/horizontal/nav-section-horizontal.jsx +5 -6
  21. package/src/components/settings/drawer/layout-options.jsx +5 -4
  22. package/src/components/settings/drawer/presets-options.jsx +6 -5
  23. package/src/components/settings/drawer/settings-drawer.jsx +7 -4
  24. package/src/components/settings/drawer/stretch-options.jsx +5 -5
  25. package/src/config/schemas.js +1 -0
  26. package/src/context/Context.js +98 -0
  27. package/src/context/reducer.js +590 -10
  28. package/src/hooks/index.js +2 -1
  29. package/src/hooks/use-beta.js +8 -0
  30. package/src/layouts/DashboardLayout/header.jsx +5 -4
  31. package/src/layouts/DashboardLayout/nav-mini.jsx +5 -7
  32. package/src/layouts/DashboardLayout/nav-vertical.jsx +11 -11
  33. package/src/layouts/FullScreenLayout/FullScreenLayout.jsx +5 -1
  34. package/src/layouts/FullScreenLayout/nav-vertical.jsx +11 -11
  35. package/src/layouts/MainLayout/footer.jsx +7 -7
  36. package/src/layouts/MainLayout/header.jsx +3 -2
  37. package/src/layouts/MainLayout/nav/desktop/nav-list.jsx +8 -8
  38. package/src/layouts/MainLayout/nav/mobile/index.jsx +7 -6
  39. package/src/layouts/auth/classic.jsx +6 -6
  40. package/src/layouts/auth/modern.jsx +7 -6
  41. package/src/layouts/common/ProjectBar/index.jsx +13 -11
  42. package/src/layouts/common/account-popover.jsx +1 -2
  43. package/src/layouts/common/header-sim.jsx +3 -2
  44. package/src/layouts/common/header-simple.jsx +6 -3
  45. package/src/layouts/common/notifications-popover/index.jsx +18 -13
  46. package/src/layouts/common/notifications-popover/notification-item.jsx +28 -16
  47. package/src/lib/APIDialogAction/APIDialogAction.jsx +109 -0
  48. package/src/lib/APIDialogAction/index.js +1 -0
  49. package/src/lib/APIDialogAction/styles.js +6 -0
  50. package/src/lib/APIParams/APIParams.jsx +57 -0
  51. package/src/lib/APIParams/index.js +1 -0
  52. package/src/lib/APIPath/APIPath.jsx +82 -0
  53. package/src/lib/APIPath/index.js +1 -0
  54. package/src/lib/APIPath/styles.js +19 -0
  55. package/src/lib/APITree/APITree.jsx +411 -0
  56. package/src/lib/APITree/Arrow.jsx +21 -0
  57. package/src/lib/APITree/DeleteMethodDialog.jsx +41 -0
  58. package/src/lib/APITree/index.js +1 -0
  59. package/src/lib/APITree/styles.js +19 -0
  60. package/src/lib/APITypes/APITypes.jsx +141 -0
  61. package/src/lib/APITypes/TypeEditor.jsx +46 -0
  62. package/src/lib/APITypes/TypeList.jsx +180 -0
  63. package/src/lib/APITypes/index.js +1 -0
  64. package/src/lib/AddItemWizard/AddItemWizard.jsx +21 -10
  65. package/src/lib/BlankTreeMessage/BlankTreeMessage.jsx +39 -0
  66. package/src/lib/BlankTreeMessage/index.js +1 -0
  67. package/src/lib/CustomBreadcrumbs/CustomBreadcrumbs.jsx +3 -2
  68. package/src/lib/DialogTootip/DialogTooltip.jsx +67 -0
  69. package/src/lib/DialogTootip/index.js +1 -0
  70. package/src/lib/DialogTootip/styles.js +9 -0
  71. package/src/lib/Flow/connectors/DynamicConnector.jsx +179 -107
  72. package/src/lib/Flow/core/Flow.jsx +2 -0
  73. package/src/lib/Flow/core/FlowNode.jsx +2 -0
  74. package/src/lib/Flow/core/FlowViewport.jsx +41 -9
  75. package/src/lib/Flow/hooks/useNodeStyle.js +14 -0
  76. package/src/lib/Flow/layouts/CardLayout.jsx +4 -3
  77. package/src/lib/Flow/nodes/DefaultCard.jsx +6 -8
  78. package/src/lib/Flow/nodes/FlowNodeView.jsx +105 -21
  79. package/src/lib/Flow/styles.js +4 -0
  80. package/src/lib/IconSelector/IconSelector.jsx +5 -1
  81. package/src/lib/ItemSummary/ItemSummary.jsx +11 -6
  82. package/src/lib/ItemSummary/ItemsSummary.jsx +38 -26
  83. package/src/lib/NewApiBody/NewAPIBody.jsx +97 -0
  84. package/src/lib/NewApiBody/ParamView.jsx +38 -0
  85. package/src/lib/NucDialog/NucDialog.jsx +108 -0
  86. package/src/lib/NucDialog/index.js +1 -0
  87. package/src/lib/ParamTable/ParamTable.jsx +133 -0
  88. package/src/lib/ParamTable/TypeMenu.jsx +102 -0
  89. package/src/lib/ParamTable/defaults.js +47 -0
  90. package/src/lib/ParamTable/index.js +1 -0
  91. package/src/lib/ParamTable/styles.js +12 -0
  92. package/src/lib/ResourceMenu/AlertMassage.jsx +28 -0
  93. package/src/lib/ResourceMenu/DeleteResourceDialog.jsx +60 -0
  94. package/src/lib/ResourceMenu/ResourceMenu.jsx +158 -0
  95. package/src/lib/ResourceMenu/index.js +1 -0
  96. package/src/lib/ResourceMenu/styles.js +5 -0
  97. package/src/lib/Schema/Schema.jsx +204 -0
  98. package/src/lib/Schema/index.js +1 -0
  99. package/src/lib/SchemaEditor/SchemaEditor.jsx +258 -0
  100. package/src/lib/SchemaEditor/SchemaEditor.test.js +193 -0
  101. package/src/lib/SchemaEditor/SchemaPropertyEditor.jsx +135 -0
  102. package/src/lib/SchemaEditor/SchemaUtils.js +152 -0
  103. package/src/lib/SchemaEditor/index.js +1 -0
  104. package/src/lib/SparkleInput/SparkleInput.jsx +31 -28
  105. package/src/lib/TableSelectedAction/TableSelectedAction.jsx +7 -8
  106. package/src/lib/ToggleableMenu/ToggleableMenu.jsx +35 -0
  107. package/src/lib/ToggleableMenu/index.js +1 -0
  108. package/src/lib/index.js +14 -0
  109. package/src/pages/Callback.jsx +6 -8
  110. package/src/pages/ConfigError.jsx +3 -1
  111. package/src/pages/LoginPage.jsx +3 -12
  112. package/src/stories/APITree.stories.jsx +429 -0
  113. package/src/stories/FlowChart.stories.jsx +1 -1
  114. package/src/templates/ActionTemplate.js +24 -0
  115. package/src/theme/overrides/default-props.jsx +17 -11
  116. package/src/widgets/Login/CognitoLogin.jsx +165 -173
  117. package/src/widgets/Login/DemoLogin.jsx +43 -38
  118. package/src/widgets/Login/amplifyAuth.js +6 -6
  119. package/src/widgets/Login/amplifyConfig.js +3 -0
  120. package/src/widgets/LoginForm/LoginForm.jsx +8 -3
  121. package/src/widgets/SettingsDialog.jsx +206 -16
@@ -1,10 +1,19 @@
1
+ import Iconify from "../components/Iconify";
2
+ import config from "../config/config";
3
+ import { useEvent } from "@nucleoidai/react-event";
4
+ import useSettings from "../hooks/useSettings";
5
+ import { useSettingsContext } from "../components/settings/context";
6
+ import { useUser } from "../hooks/use-user";
7
+
1
8
  import {
2
9
  Avatar,
3
10
  Box,
11
+ Chip,
4
12
  FormControl,
5
13
  Grow,
6
14
  IconButton,
7
15
  InputLabel,
16
+ Link,
8
17
  List,
9
18
  ListItem,
10
19
  ListItemAvatar,
@@ -12,6 +21,7 @@ import {
12
21
  ListItemText,
13
22
  NativeSelect,
14
23
  Stack,
24
+ Switch,
15
25
  Tab,
16
26
  Tabs,
17
27
  TextField,
@@ -20,11 +30,17 @@ import {
20
30
  import { Button, Dialog, DialogActions, DialogContent } from "@mui/material";
21
31
  import React, { useEffect, useState } from "react";
22
32
 
23
- import Iconify from "../components/Iconify";
24
- import config from "../config/config";
25
- import { useEvent } from "@nucleoidai/react-event";
26
- import useSettings from "../hooks/useSettings";
27
- import { useUser } from "../hooks/use-user";
33
+ let pkg = {
34
+ name: "",
35
+ version: "",
36
+ description: "",
37
+ };
38
+
39
+ try {
40
+ pkg = require("../../../../../../package.json");
41
+ } catch (error) {
42
+ console.error("Failed to load package.json for About tab:", error);
43
+ }
28
44
 
29
45
  function a11yProps(index) {
30
46
  return {
@@ -42,6 +58,9 @@ const TabPanel = (props) => {
42
58
  const SettingsDialogTabs = ({ tabs }) => {
43
59
  const [value, setValue] = useState(0);
44
60
 
61
+ const hasPkgInfo =
62
+ pkg && (pkg.name || pkg.version || pkg.description) ? true : false;
63
+
45
64
  const handleChange = (event, newValue) => {
46
65
  setValue(newValue);
47
66
  };
@@ -95,13 +114,20 @@ const SettingsDialogTabs = ({ tabs }) => {
95
114
  sx={{ "& label": { color: "custom.grey" } }}
96
115
  {...a11yProps(1)}
97
116
  />
117
+ {hasPkgInfo && (
118
+ <Tab
119
+ label={"About"}
120
+ sx={{ "& label": { color: "custom.grey" } }}
121
+ {...a11yProps(2)}
122
+ />
123
+ )}
98
124
  {tabs?.map((tab, index) => (
99
125
  <Tab
100
126
  key={tab.label}
101
127
  iconPosition="start"
102
128
  label={tab.label}
103
129
  sx={{ "& label": { color: "custom.grey" } }}
104
- {...a11yProps(index + 2)}
130
+ {...a11yProps(index + (hasPkgInfo ? 3 : 2))}
105
131
  />
106
132
  ))}
107
133
  </Tabs>
@@ -112,8 +138,17 @@ const SettingsDialogTabs = ({ tabs }) => {
112
138
  <TabPanel value={value} index={1}>
113
139
  <Settings />
114
140
  </TabPanel>
141
+ {hasPkgInfo && (
142
+ <TabPanel value={value} index={2}>
143
+ <About />
144
+ </TabPanel>
145
+ )}
115
146
  {tabs?.map((tab, index) => (
116
- <TabPanel key={tab.label} value={value} index={index + 2}>
147
+ <TabPanel
148
+ key={tab.label}
149
+ value={value}
150
+ index={index + (hasPkgInfo ? 3 : 2)}
151
+ >
117
152
  <tab.panel />
118
153
  </TabPanel>
119
154
  ))}
@@ -132,11 +167,13 @@ function SettingsDialog({ handleClose, open }) {
132
167
  maxWidth={"md"}
133
168
  onClose={() => handleClose()}
134
169
  sx={{ bgcolor: "custom.darkDialogBg", zIndex: 2147483647 }}
135
- PaperProps={{
136
- style: {
137
- color: "white",
138
- minHeight: 600,
139
- },
170
+ slotProps={{
171
+ paper: {
172
+ style: {
173
+ color: "white",
174
+ minHeight: 600,
175
+ },
176
+ }
140
177
  }}
141
178
  >
142
179
  <DialogContent>
@@ -177,9 +214,13 @@ const Permission = () => {
177
214
  }, [event, event2]);
178
215
 
179
216
  return (
180
- <Stack direction="column" spacing={2} p={2}>
217
+ <Stack direction="column" spacing={2} sx={{
218
+ p: 2
219
+ }}>
181
220
  <Typography variant="h6">Users</Typography>
182
- <Typography variant="subtitle2" color="text.secondary">
221
+ <Typography variant="subtitle2" sx={{
222
+ color: "text.secondary"
223
+ }}>
183
224
  Users with access to the project.
184
225
  </Typography>
185
226
  <List>
@@ -249,6 +290,7 @@ const Permission = () => {
249
290
  const Settings = () => {
250
291
  const projectId = localStorage.getItem("projectId");
251
292
  const { settings, updateSettings } = useSettings(projectId);
293
+ const { beta, onUpdate } = useSettingsContext();
252
294
 
253
295
  const timeZones = [
254
296
  "Asia/Kolkata",
@@ -264,9 +306,13 @@ const Settings = () => {
264
306
  };
265
307
 
266
308
  return (
267
- <Stack direction="column" spacing={2} p={2}>
309
+ <Stack direction="column" spacing={2} sx={{
310
+ p: 2
311
+ }}>
268
312
  <Typography variant="h6">Settings</Typography>
269
- <Typography variant="subtitle2" color="text.secondary">
313
+ <Typography variant="subtitle2" sx={{
314
+ color: "text.secondary"
315
+ }}>
270
316
  Configure your application settings.
271
317
  </Typography>
272
318
  <List>
@@ -300,9 +346,153 @@ const Settings = () => {
300
346
  </NativeSelect>
301
347
  </FormControl>
302
348
  </ListItem>
349
+ <ListItem
350
+ sx={{
351
+ backgroundColor: "background.paper",
352
+ boxShadow: 1,
353
+ borderRadius: 1,
354
+ m: 1,
355
+ p: 2,
356
+ ":hover": { boxShadow: 3 },
357
+ transition: "all 0.2s ease-in-out",
358
+ }}
359
+ >
360
+ <ListItemText primary="Beta" secondary="Enable beta features" />
361
+ <Switch checked={beta} onChange={() => onUpdate("beta", !beta)} />
362
+ </ListItem>
303
363
  </List>
304
364
  </Stack>
305
365
  );
306
366
  };
307
367
 
368
+ const About = () => {
369
+ const iconSrc = config().template?.login?.icon || "";
370
+
371
+ const appName = pkg.name;
372
+ const version = pkg.version;
373
+ const description = pkg.description;
374
+
375
+ return (
376
+ <Stack direction="column" spacing={2} sx={{
377
+ p: 2
378
+ }}>
379
+ <Box
380
+ sx={{
381
+ p: 3,
382
+ borderRadius: 3,
383
+ border: "1px solid",
384
+ borderColor: "divider",
385
+ background:
386
+ "linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01))",
387
+ }}
388
+ >
389
+ <Stack direction="row" spacing={2.5} sx={{
390
+ alignItems: "center"
391
+ }}>
392
+ <Avatar
393
+ src={iconSrc}
394
+ variant="rounded"
395
+ sx={{
396
+ width: 56,
397
+ height: 56,
398
+ borderRadius: 2,
399
+ bgcolor: "background.paper",
400
+ boxShadow: 1,
401
+ }}
402
+ >
403
+ <Iconify icon="solar:widget-bold-duotone" width={28} />
404
+ </Avatar>
405
+
406
+ <Box sx={{ flex: 1, minWidth: 0 }}>
407
+ <Typography variant="h5" sx={{
408
+ fontWeight: 600
409
+ }}>
410
+ {appName.toUpperCase()}
411
+ </Typography>
412
+
413
+ {description && (
414
+ <Typography
415
+ variant="body2"
416
+ sx={{
417
+ color: "text.secondary",
418
+ mt: 0.5,
419
+ maxWidth: 520
420
+ }}>
421
+ {description}
422
+ </Typography>
423
+ )}
424
+
425
+ <Stack direction="row" spacing={1} sx={{ mt: 1 }}>
426
+ <Chip size="small" label={`v${version}`} />
427
+ </Stack>
428
+ </Box>
429
+ </Stack>
430
+
431
+ <Box
432
+ sx={{
433
+ my: 2,
434
+ borderBottom: "1px dashed",
435
+ borderColor: "divider",
436
+ }}
437
+ />
438
+
439
+ <Stack spacing={1.2}>
440
+ <InfoRow label="Version" value={version} />
441
+ <InfoRow label="Deployment" value="On-Premise" />
442
+ <InfoRow
443
+ label="Support"
444
+ value="support@greycollar.ai"
445
+ link="mailto:support@greycollar.ai"
446
+ />
447
+ <InfoRow
448
+ label="Documentation"
449
+ value="greycollar.ai/docs"
450
+ link="https://greycollar.ai/docs"
451
+ />
452
+ </Stack>
453
+
454
+ <Box
455
+ sx={{
456
+ mt: 3,
457
+ pt: 2,
458
+ borderTop: "1px dashed",
459
+ borderColor: "divider",
460
+ textAlign: "center",
461
+ }}
462
+ >
463
+ <Typography variant="caption" sx={{
464
+ color: "text.secondary"
465
+ }}>
466
+ © 2026 greycollar.ai. All rights reserved.
467
+ </Typography>
468
+ </Box>
469
+ </Box>
470
+ </Stack>
471
+ );
472
+ };
473
+
474
+ const InfoRow = ({ label, value, link }) => {
475
+ return (
476
+ <Stack direction="row" spacing={1.5} sx={{
477
+ alignItems: "center"
478
+ }}>
479
+ <Typography
480
+ variant="body2"
481
+ sx={{
482
+ color: "text.secondary",
483
+ minWidth: 110
484
+ }}>
485
+ {label}
486
+ </Typography>
487
+ {link ? (
488
+ <Link href={link} target="_blank" rel="noreferrer" underline="hover">
489
+ {value}
490
+ </Link>
491
+ ) : (
492
+ <Typography variant="body2">{value}</Typography>
493
+ )}
494
+ </Stack>
495
+ );
496
+ };
497
+
308
498
  export default SettingsDialog;