@donotdev/ui 0.0.9 → 0.0.10

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 (45) hide show
  1. package/dist/crud/components/fields/display/DateFieldDisplay.d.ts.map +1 -1
  2. package/dist/crud/components/fields/display/DateFieldDisplay.js +2 -3
  3. package/dist/crud/components/fields/display/LinkFieldDisplay.d.ts.map +1 -1
  4. package/dist/crud/components/fields/display/LinkFieldDisplay.js +6 -5
  5. package/dist/crud/components/fields/display/NumberFieldDisplay.d.ts.map +1 -1
  6. package/dist/crud/components/fields/display/NumberFieldDisplay.js +2 -3
  7. package/dist/crud/components/fields/display/PhoneNumberDisplay.d.ts.map +1 -1
  8. package/dist/crud/components/fields/display/PhoneNumberDisplay.js +1 -2
  9. package/dist/dndev.css +288 -143
  10. package/dist/index.js +5 -5
  11. package/dist/internal/common/RouteErrorFallback.d.ts.map +1 -1
  12. package/dist/internal/common/RouteErrorFallback.js +1 -2
  13. package/dist/internal/layout/DnDevLayout.d.ts.map +1 -1
  14. package/dist/internal/layout/DnDevLayout.js +3 -2
  15. package/dist/internal/layout/components/footer/FooterBranding.d.ts +0 -2
  16. package/dist/internal/layout/components/footer/FooterBranding.d.ts.map +1 -1
  17. package/dist/internal/layout/components/footer/FooterBranding.js +2 -6
  18. package/dist/internal/layout/components/footer/FooterCopyright.d.ts +0 -2
  19. package/dist/internal/layout/components/footer/FooterCopyright.d.ts.map +1 -1
  20. package/dist/internal/layout/components/footer/FooterCopyright.js +2 -6
  21. package/dist/internal/layout/config/presets/moolti.js +2 -2
  22. package/dist/internal/layout/zones/DnDevFooter.d.ts.map +1 -1
  23. package/dist/internal/layout/zones/DnDevFooter.js +2 -2
  24. package/dist/routing/GoTo.d.ts +1 -1
  25. package/dist/routing/GoTo.d.ts.map +1 -1
  26. package/dist/routing/GoTo.js +1 -1
  27. package/dist/routing/hooks/hooks.next.js +1 -1
  28. package/dist/routing/hooks/hooks.vite.js +1 -1
  29. package/dist/routing/hooks/useFormNavigationBlocker.d.ts +14 -0
  30. package/dist/routing/hooks/useFormNavigationBlocker.d.ts.map +1 -0
  31. package/dist/routing/hooks/useFormNavigationBlocker.js +42 -0
  32. package/dist/routing/hooks/useNavigate.next.d.ts +1 -1
  33. package/dist/routing/hooks/useNavigate.next.d.ts.map +1 -1
  34. package/dist/routing/hooks/useNavigate.next.js +7 -1
  35. package/dist/routing/hooks/useNavigate.vite.d.ts +1 -1
  36. package/dist/routing/hooks/useNavigate.vite.d.ts.map +1 -1
  37. package/dist/routing/hooks/useNavigate.vite.js +7 -1
  38. package/dist/styles/index.css +288 -143
  39. package/dist/utils/index.d.ts +1 -0
  40. package/dist/utils/index.d.ts.map +1 -1
  41. package/dist/utils/index.js +1 -0
  42. package/dist/utils/useFormStoreSafe.d.ts +59 -0
  43. package/dist/utils/useFormStoreSafe.d.ts.map +1 -0
  44. package/dist/utils/useFormStoreSafe.js +115 -0
  45. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"DateFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/DateFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;IAC/C,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CA+CjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"DateFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/DateFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;IAC/C,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CA+CjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -8,8 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  * @since 0.0.1
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
- import { Text } from '@donotdev/components';
12
- import { Skeleton } from '@donotdev/ui';
11
+ import { Text, Spinner } from '@donotdev/components';
13
12
  /**
14
13
  * DateFieldDisplay - Displays date values in read-only mode
15
14
  *
@@ -19,7 +18,7 @@ import { Skeleton } from '@donotdev/ui';
19
18
  */
20
19
  export const DateFieldDisplay = ({ config, value, t, className, loading = false, }) => {
21
20
  if (loading) {
22
- return _jsx(Skeleton, { className: className });
21
+ return _jsx(Spinner, { className: className });
23
22
  }
24
23
  if (!value) {
25
24
  return (_jsx(Text, { as: "span", variant: "muted", className: className, children: "-" }));
@@ -1 +1 @@
1
- {"version":3,"file":"LinkFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/LinkFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;IAC7C,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CAgDjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"LinkFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/LinkFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;IAC7C,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CAkDjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -9,7 +9,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import { Text } from '@donotdev/components';
12
- import { Link } from '@donotdev/ui';
13
12
  /**
14
13
  * LinkFieldDisplay - Displays URL/email/tel values as clickable links
15
14
  *
@@ -25,23 +24,25 @@ export const LinkFieldDisplay = ({ config, value, t, className, }) => {
25
24
  switch (config.type) {
26
25
  case 'email':
27
26
  return {
28
- path: `mailto:${value}`,
27
+ href: `mailto:${value}`,
29
28
  'aria-label': t('common.sendEmailTo', { email: value }),
30
29
  };
31
30
  case 'tel':
32
31
  return {
33
- path: `tel:${value}`,
32
+ href: `tel:${value}`,
34
33
  'aria-label': t('common.callNumber', { number: value }),
35
34
  };
36
35
  case 'url':
37
36
  default:
38
37
  return {
39
- path: value,
38
+ href: value,
39
+ target: '_blank',
40
+ rel: 'noopener noreferrer',
40
41
  'aria-label': t('common.openLink'),
41
42
  };
42
43
  }
43
44
  };
44
45
  const linkProps = getLinkProps();
45
- return (_jsx(Link, { ...linkProps, className: className || '', style: { color: 'var(--primary)' }, onMouseEnter: (e) => (e.currentTarget.style.textDecoration = 'underline'), onMouseLeave: (e) => (e.currentTarget.style.textDecoration = 'none'), children: value }));
46
+ return (_jsx("a", { ...linkProps, className: className || '', style: { color: 'var(--primary)', textDecoration: 'none' }, onMouseEnter: (e) => (e.currentTarget.style.textDecoration = 'underline'), onMouseLeave: (e) => (e.currentTarget.style.textDecoration = 'none'), children: value }));
46
47
  };
47
48
  export default LinkFieldDisplay;
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/NumberFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACxC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAwBrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"NumberFieldDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/NumberFieldDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACxC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAwBrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -8,8 +8,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  * @since 0.0.1
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
- import { Text } from '@donotdev/components';
12
- import { Skeleton } from '@donotdev/ui';
11
+ import { Text, Spinner } from '@donotdev/components';
13
12
  /**
14
13
  * NumberFieldDisplay - Displays number values in read-only mode
15
14
  *
@@ -19,7 +18,7 @@ import { Skeleton } from '@donotdev/ui';
19
18
  */
20
19
  export const NumberFieldDisplay = ({ config, value, t, className, loading = false, }) => {
21
20
  if (loading) {
22
- return _jsx(Skeleton, { className: className });
21
+ return _jsx(Spinner, { className: className });
23
22
  }
24
23
  if (value === null || value === undefined) {
25
24
  return (_jsx(Text, { as: "span", variant: "muted", className: className, children: "-" }));
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumberDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/PhoneNumberDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CA0BrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PhoneNumberDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/crud/components/fields/display/PhoneNumberDisplay.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;IAC1D,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CA0BrE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -9,7 +9,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * @author AMBROISE PARK Consulting
10
10
  */
11
11
  import { Text } from '@donotdev/components';
12
- import { Link } from '@donotdev/ui';
13
12
  /**
14
13
  * PhoneNumberDisplay - Displays phone number values as clickable links
15
14
  *
@@ -21,6 +20,6 @@ export const PhoneNumberDisplay = ({ config, value, t, className, }) => {
21
20
  if (!value) {
22
21
  return (_jsx(Text, { as: "span", variant: "muted", className: className, children: "-" }));
23
22
  }
24
- return (_jsx(Link, { path: `tel:${value}`, className: className || '', style: { color: 'var(--primary)' }, onMouseEnter: (e) => (e.currentTarget.style.textDecoration = 'underline'), onMouseLeave: (e) => (e.currentTarget.style.textDecoration = 'none'), "aria-label": t('common.callNumber', { number: value }), children: value }));
23
+ return (_jsx("a", { href: `tel:${value}`, className: className || '', style: { color: 'var(--primary)', textDecoration: 'none' }, onMouseEnter: (e) => (e.currentTarget.style.textDecoration = 'underline'), onMouseLeave: (e) => (e.currentTarget.style.textDecoration = 'none'), "aria-label": t('common.callNumber', { number: value }), children: value }));
25
24
  };
26
25
  export default PhoneNumberDisplay;