@okam/directus-next-component 1.7.35 → 1.7.37

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 (52) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +1 -1
  3. package/components/DirectusFile/config.d.ts +3 -2
  4. package/components/DirectusFile/index.d.ts +2 -1
  5. package/components/DirectusFile/interface.d.ts +3 -2
  6. package/components/DirectusImg/index.d.ts +2 -1
  7. package/components/DirectusImg/index.js +2 -2
  8. package/components/DirectusImg/index.mjs +2 -2
  9. package/components/DirectusImg/interface.d.ts +2 -1
  10. package/components/DirectusLink/index.d.ts +2 -1
  11. package/components/DirectusLink/index.js +2 -2
  12. package/components/DirectusLink/index.mjs +2 -2
  13. package/components/DirectusLink/interface.d.ts +8 -7
  14. package/components/DirectusVideo/index.d.ts +2 -1
  15. package/components/DirectusVideo/index.js +2 -2
  16. package/components/DirectusVideo/index.mjs +2 -2
  17. package/components/DirectusVideo/interface.d.ts +3 -2
  18. package/index.d.ts +12 -11
  19. package/index.js +14 -10
  20. package/index.mjs +14 -10
  21. package/lib/directus-next-rewrite.d.ts +2 -2
  22. package/lib/withDirectus.d.ts +2 -1
  23. package/logger.d.ts +1 -1
  24. package/package.json +13 -7
  25. package/server.d.ts +4 -4
  26. package/server.js +12 -8
  27. package/server.mjs +12 -8
  28. package/types/index.d.ts +3 -0
  29. package/types/links.d.ts +5 -4
  30. package/types/metadata.d.ts +7 -6
  31. package/types/{navigation-items.d.ts → navigationItems.d.ts} +8 -7
  32. package/{hooks/directus-file.d.ts → utils/getDirectusFile/index.d.ts} +9 -3
  33. package/{hooks/directus-file.js → utils/getDirectusFile/index.js} +7 -3
  34. package/{hooks/directus-file.mjs → utils/getDirectusFile/index.mjs} +6 -3
  35. package/utils/getDirectusLink/index.d.ts +8 -0
  36. package/utils/getDirectusLink/index.js +123 -0
  37. package/utils/getDirectusLink/index.mjs +123 -0
  38. package/utils/getDirectusMetadata/index.d.ts +15 -0
  39. package/{hooks/directus-metadata.js → utils/getDirectusMetadata/index.js} +11 -12
  40. package/{hooks/directus-metadata.mjs → utils/getDirectusMetadata/index.mjs} +10 -12
  41. package/utils/getDirectusSearchParams/index.d.ts +8 -0
  42. package/{hooks/directus-search-params.js → utils/getDirectusSearchParams/index.js} +2 -1
  43. package/{hooks/directus-search-params.mjs → utils/getDirectusSearchParams/index.mjs} +1 -1
  44. package/utils/getNavigationItems/index.d.ts +15 -0
  45. package/{hooks/navigation-items.js → utils/getNavigationItems/index.js} +6 -3
  46. package/{hooks/navigation-items.mjs → utils/getNavigationItems/index.mjs} +5 -3
  47. package/hooks/directus-link.d.ts +0 -3
  48. package/hooks/directus-link.js +0 -94
  49. package/hooks/directus-link.mjs +0 -95
  50. package/hooks/directus-metadata.d.ts +0 -6
  51. package/hooks/directus-search-params.d.ts +0 -3
  52. package/hooks/navigation-items.d.ts +0 -10
package/CHANGELOG.md CHANGED
@@ -1,3 +1,58 @@
1
+ ## 1.7.37 (2026-01-14)
2
+
3
+ ### 🚀 Features
4
+
5
+ - ⚠️ React 19 + Next.js 15 upgrade for all @okam/* packages ([#369](https://github.com/OKAMca/stack/pull/369))
6
+ - **directus-next-component:** directus link supports search params ([21a3e46](https://github.com/OKAMca/stack/commit/21a3e46))
7
+
8
+ ### 🩹 Fixes
9
+
10
+ - **directus-next-component:** valid directus link href error handling ([#365](https://github.com/OKAMca/stack/pull/365))
11
+ - ⚠️ functions starting with "use" should be reserved to react hooks ([68f1f8f](https://github.com/OKAMca/stack/commit/68f1f8f))
12
+ - **directus-next:** bump version ([e9441ad](https://github.com/OKAMca/stack/commit/e9441ad))
13
+ - **directus-next-component:** core-lib in externals deps ([9b04ca0](https://github.com/OKAMca/stack/commit/9b04ca0))
14
+ - update vite-plugin-dts to version 3 ([5d33c77](https://github.com/OKAMca/stack/commit/5d33c77))
15
+
16
+ ### ⚠️ Breaking Changes
17
+
18
+ - Consumers must now have react and react-dom in their own
19
+
20
+ ### 🧱 Updated Dependencies
21
+
22
+ - Updated stack-ui to 1.44.0
23
+ - Updated next-component to 1.2.4
24
+ - Updated directus-next to 1.2.11
25
+
26
+ ### ❤️ Thank You
27
+
28
+ - Marie-Maxime Tanguay @marie-maxime
29
+ - Pierre-Olivier Clerson @poclerson
30
+ - poclerson
31
+
32
+ ## 1.7.36 (2026-01-13)
33
+
34
+ ### 🚀 Features
35
+
36
+ - React 19 + Next.js 15 support ([#369](https://github.com/OKAMca/stack/pull/369))
37
+ - **directus-next-component:** directus link supports search params ([21a3e46](https://github.com/OKAMca/stack/commit/21a3e46))
38
+
39
+ ### 🩹 Fixes
40
+
41
+ - **directus-next:** bump version ([e9441ad](https://github.com/OKAMca/stack/commit/e9441ad))
42
+ - **directus-next-component:** core-lib in externals deps ([9b04ca0](https://github.com/OKAMca/stack/commit/9b04ca0))
43
+ - update vite-plugin-dts to version 3 ([5d33c77](https://github.com/OKAMca/stack/commit/5d33c77))
44
+
45
+ ### 🧱 Updated Dependencies
46
+
47
+ - Updated stack-ui to 1.43.0
48
+ - Updated next-component to 1.2.3
49
+
50
+ ### ❤️ Thank You
51
+
52
+ - Marie-Maxime Tanguay @marie-maxime
53
+ - Pierre-Olivier Clerson @poclerson
54
+ - poclerson
55
+
1
56
  ## 1.7.35 (2025-11-27)
2
57
 
3
58
  ### 🚀 Features
package/README.md CHANGED
@@ -89,7 +89,7 @@ const depthMap: Record<number, object> = {
89
89
  }
90
90
 
91
91
  // Loop recursively through navigation items and assign style based on depth
92
- function renderTree(tree: Nullable<TNavigationItemsTree>): React.ReactNode {
92
+ function renderTree(tree: Nullable<TTNavigationItemsTree>): React.ReactNode {
93
93
  if (!tree) return null
94
94
  const { children, link, linkProps, depth } = tree
95
95
  const style = depthMap[depth]
@@ -1,4 +1,5 @@
1
- import type { ComponentType } from '@react-spring/web';
2
- import type { TDirectusFileProps } from './interface';
1
+ import { ComponentType } from '@react-spring/web';
2
+ import { TDirectusFileProps } from './interface';
3
+
3
4
  declare const directusFileConfig: Record<string, ComponentType<TDirectusFileProps>>;
4
5
  export default directusFileConfig;
@@ -1,3 +1,4 @@
1
- import type { TDirectusFileProps } from './interface';
1
+ import { TDirectusFileProps } from './interface';
2
+
2
3
  declare const DirectusFile: (props: TDirectusFileProps) => import("react/jsx-runtime").JSX.Element | null;
3
4
  export default DirectusFile;
@@ -1,5 +1,6 @@
1
- import type { TFiles } from '@okam/directus-next';
2
- import type { TDefaultComponent } from '@okam/stack-ui';
1
+ import { TFiles } from '../../../../directus-next/src/index.ts';
2
+ import { TDefaultComponent } from '../../../../../stack/stack-ui/src/index.ts';
3
+
3
4
  export interface TDirectusFileProps extends TFiles, TDefaultComponent {
4
5
  /**
5
6
  * Serves to fall back to different parts of the URLs. Some properties have default values:
@@ -1,3 +1,4 @@
1
- import type { TDirectusImgProps } from './interface';
1
+ import { TDirectusImgProps } from './interface';
2
+
2
3
  declare const DirectusImg: (props: TDirectusImgProps) => import("react/jsx-runtime").JSX.Element | null;
3
4
  export default DirectusImg;
@@ -2,10 +2,10 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const nextComponent = require("@okam/next-component");
4
4
  const thumbhash = require("unlazy/thumbhash");
5
- const directusFile = require("../../hooks/directus-file.js");
5
+ const index = require("../../utils/getDirectusFile/index.js");
6
6
  const DirectusImg = (props) => {
7
7
  const { fit, baseUrl, focal_point_x: focalPointX, focal_point_y: focalPointY, thumbhash: thumbhash$1, width, height } = props;
8
- const fileProps = directusFile(props, baseUrl, { fit });
8
+ const fileProps = index.getDirectusFile(props, baseUrl, { fit });
9
9
  if (!fileProps) return null;
10
10
  const hasFocalPoint = !!focalPointX && !!focalPointY && !!width && !!height;
11
11
  const style = hasFocalPoint ? {
@@ -1,10 +1,10 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Img } from "@okam/next-component";
3
3
  import { createPngDataUri } from "unlazy/thumbhash";
4
- import useDirectusFile from "../../hooks/directus-file.mjs";
4
+ import { getDirectusFile } from "../../utils/getDirectusFile/index.mjs";
5
5
  const DirectusImg = (props) => {
6
6
  const { fit, baseUrl, focal_point_x: focalPointX, focal_point_y: focalPointY, thumbhash, width, height } = props;
7
- const fileProps = useDirectusFile(props, baseUrl, { fit });
7
+ const fileProps = getDirectusFile(props, baseUrl, { fit });
8
8
  if (!fileProps) return null;
9
9
  const hasFocalPoint = !!focalPointX && !!focalPointY && !!width && !!height;
10
10
  const style = hasFocalPoint ? {
@@ -1,4 +1,5 @@
1
- import type { TDirectusFileProps } from '../DirectusFile/interface';
1
+ import { TDirectusFileProps } from '../DirectusFile/interface';
2
+
2
3
  export interface TDirectusImgProps extends TDirectusFileProps {
3
4
  fit?: 'cover' | 'contain' | 'inside' | 'outside';
4
5
  }
@@ -1,3 +1,4 @@
1
- import type { TDirectusLinkProps } from './interface';
1
+ import { TDirectusLinkProps } from './interface';
2
+
2
3
  declare const DirectusLink: (props: TDirectusLinkProps) => import("react/jsx-runtime").JSX.Element | null;
3
4
  export default DirectusLink;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const stackUi = require("@okam/stack-ui");
4
- const directusLink = require("../../hooks/directus-link.js");
4
+ const index = require("../../utils/getDirectusLink/index.js");
5
5
  const DirectusLink = (props) => {
6
6
  const { type, componentsConfig } = props;
7
- const linkProps = directusLink(props);
7
+ const linkProps = index.getDirectusLink(props);
8
8
  if (!type) return null;
9
9
  const LinkComponent = componentsConfig == null ? void 0 : componentsConfig[type];
10
10
  if (LinkComponent) return /* @__PURE__ */ jsxRuntime.jsx(LinkComponent, { ...props });
@@ -1,9 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Anchor } from "@okam/stack-ui";
3
- import useDirectusLink from "../../hooks/directus-link.mjs";
3
+ import { getDirectusLink } from "../../utils/getDirectusLink/index.mjs";
4
4
  const DirectusLink = (props) => {
5
5
  const { type, componentsConfig } = props;
6
- const linkProps = useDirectusLink(props);
6
+ const linkProps = getDirectusLink(props);
7
7
  if (!type) return null;
8
8
  const LinkComponent = componentsConfig == null ? void 0 : componentsConfig[type];
9
9
  if (LinkComponent) return /* @__PURE__ */ jsx(LinkComponent, { ...props });
@@ -1,13 +1,14 @@
1
- import type { TDefaultComponent, TAnchorProps } from '@okam/stack-ui';
2
- import type { AriaAttributes, ComponentType } from 'react';
3
- import type { TLinks } from '../../types/links';
4
- export type TDirectusLink = Omit<TDefaultComponent, 'children'> & Omit<Partial<TLinks>, 'tokens'> & AriaAttributes;
5
- export interface TUseDirectusLink extends TDirectusLink {
1
+ import { TDefaultComponent, TAnchorProps } from '../../../../../stack/stack-ui/src/index.ts';
2
+ import { AriaAttributes, ComponentType } from 'react';
3
+ import { TLinks } from '../../types/links';
4
+
5
+ export type DirectusLink = Omit<TDefaultComponent, 'children'> & Omit<Partial<TLinks>, 'tokens'> & AriaAttributes;
6
+ export interface TGetDirectusLink extends DirectusLink {
6
7
  propsConfig?: TDirectusLinkPropsConfig;
7
8
  }
8
- export interface TDirectusLinkProps extends TDirectusLink {
9
+ export interface TDirectusLinkProps extends DirectusLink {
9
10
  componentsConfig?: TDirectusLinkComponentsConfig;
10
11
  propsConfig?: TDirectusLinkPropsConfig;
11
12
  }
12
13
  export type TDirectusLinkComponentsConfig = Record<string, ComponentType<TDirectusLinkProps>>;
13
- export type TDirectusLinkPropsConfig<ReturnProps extends TAnchorProps = TAnchorProps> = Record<string, (props: TUseDirectusLink) => ReturnProps>;
14
+ export type TDirectusLinkPropsConfig<ReturnProps extends TAnchorProps = TAnchorProps> = Record<string, (props: TGetDirectusLink) => ReturnProps>;
@@ -1,3 +1,4 @@
1
- import type { TDirectusVideoProps } from './interface';
1
+ import { TDirectusVideoProps } from './interface';
2
+
2
3
  declare const DirectusVideo: (props: TDirectusVideoProps) => import("react/jsx-runtime").JSX.Element | null;
3
4
  export default DirectusVideo;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const stackUi = require("@okam/stack-ui");
4
- const directusFile = require("../../hooks/directus-file.js");
4
+ const index = require("../../utils/getDirectusFile/index.js");
5
5
  const DirectusVideo = (props) => {
6
6
  const { baseUrl } = props;
7
- const fileProps = directusFile(props, baseUrl);
7
+ const fileProps = index.getDirectusFile(props, baseUrl);
8
8
  if (!fileProps) return null;
9
9
  const { type } = fileProps;
10
10
  return /* @__PURE__ */ jsxRuntime.jsx(stackUi.Video, { ...fileProps, type: type ?? void 0 });
@@ -1,9 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Video } from "@okam/stack-ui";
3
- import useDirectusFile from "../../hooks/directus-file.mjs";
3
+ import { getDirectusFile } from "../../utils/getDirectusFile/index.mjs";
4
4
  const DirectusVideo = (props) => {
5
5
  const { baseUrl } = props;
6
- const fileProps = useDirectusFile(props, baseUrl);
6
+ const fileProps = getDirectusFile(props, baseUrl);
7
7
  if (!fileProps) return null;
8
8
  const { type } = fileProps;
9
9
  return /* @__PURE__ */ jsx(Video, { ...fileProps, type: type ?? void 0 });
@@ -1,5 +1,6 @@
1
- import type { VideoHTMLAttributes } from 'react';
2
- import type { TDirectusFileProps } from '../DirectusFile/interface';
1
+ import { VideoHTMLAttributes } from 'react';
2
+ import { TDirectusFileProps } from '../DirectusFile/interface';
3
+
3
4
  type TDirectusVideoAttributes = Omit<VideoHTMLAttributes<HTMLVideoElement>, 'height' | 'id' | 'title' | 'width'>;
4
5
  export type TDirectusVideoProps = TDirectusVideoAttributes & TDirectusFileProps;
5
6
  export {};
package/index.d.ts CHANGED
@@ -2,22 +2,23 @@ export { default as DirectusLink } from './components/DirectusLink';
2
2
  export { default as DirectusImg } from './components/DirectusImg';
3
3
  export { default as DirectusVideo } from './components/DirectusVideo';
4
4
  export { default as DirectusFile } from './components/DirectusFile';
5
- export { default as useDirectusFile } from './hooks/directus-file';
6
- export { default as useDirectusLink } from './hooks/directus-link';
7
- export { default as getDirectusSearchParams } from './hooks/directus-search-params';
8
- export { default as useNavigationItems } from './hooks/navigation-items';
9
- export { default as useMetadata } from './hooks/directus-metadata';
5
+ export { getDirectusFile, useDirectusFile } from './utils/getDirectusFile';
6
+ export { getDirectusLink, useDirectusLink } from './utils/getDirectusLink';
7
+ export { getNavigationItems, useNavigationItems } from './utils/getNavigationItems';
8
+ export { getMetadata, useMetadata } from './utils/getDirectusMetadata';
9
+ export { getDirectusSearchParams } from './utils/getDirectusSearchParams';
10
10
  export { logger as DirectusNextComponent } from './logger';
11
+ export * from './types';
12
+ export type { TDirectusLinkProps, TDirectusLinkPropsConfig, TDirectusLinkComponentsConfig, } from './components/DirectusLink/interface';
13
+ export type { TDirectusFileProps } from './components/DirectusFile/interface';
14
+ export type { TDirectusImgProps } from './components/DirectusImg/interface';
15
+ export type { TDirectusVideoProps } from './components/DirectusVideo/interface';
11
16
  export type {
12
17
  /**
13
18
  * @deprecated Import from `@okam/directus-next` instead
14
19
  */
15
- TFiles, } from '@okam/directus-next';
20
+ TFiles, } from '../../directus-next/src/index.ts';
16
21
  export type {
17
22
  /**
18
23
  * @deprecated Import from `@okam/directus-next` instead
19
- */ TPageSettings, } from '@okam/directus-next';
20
- export type { TNavigationItems, TNavigationItemsTree } from './types/navigation-items';
21
- export type { TLinks, SearchParams } from './types/links';
22
- export type { TDirectusLinkProps, TUseDirectusLink, TDirectusLink, TDirectusLinkPropsConfig, TDirectusLinkComponentsConfig, } from './components/DirectusLink/interface';
23
- export type { TMetadataOptions } from './types/metadata';
24
+ */ TPageSettings, } from '../../directus-next/src/index.ts';
package/index.js CHANGED
@@ -4,19 +4,23 @@ const index = require("./components/DirectusLink/index.js");
4
4
  const index$1 = require("./components/DirectusImg/index.js");
5
5
  const index$2 = require("./components/DirectusVideo/index.js");
6
6
  const index$3 = require("./components/DirectusFile/index.js");
7
- const directusFile = require("./hooks/directus-file.js");
8
- const directusLink = require("./hooks/directus-link.js");
9
- const directusSearchParams = require("./hooks/directus-search-params.js");
10
- const navigationItems = require("./hooks/navigation-items.js");
11
- const directusMetadata = require("./hooks/directus-metadata.js");
7
+ const index$4 = require("./utils/getDirectusFile/index.js");
8
+ const index$5 = require("./utils/getDirectusLink/index.js");
9
+ const index$6 = require("./utils/getNavigationItems/index.js");
10
+ const index$7 = require("./utils/getDirectusMetadata/index.js");
11
+ const index$8 = require("./utils/getDirectusSearchParams/index.js");
12
12
  const logger = require("./logger.js");
13
13
  exports.DirectusLink = index;
14
14
  exports.DirectusImg = index$1;
15
15
  exports.DirectusVideo = index$2;
16
16
  exports.DirectusFile = index$3;
17
- exports.useDirectusFile = directusFile;
18
- exports.useDirectusLink = directusLink;
19
- exports.getDirectusSearchParams = directusSearchParams;
20
- exports.useNavigationItems = navigationItems;
21
- exports.useMetadata = directusMetadata;
17
+ exports.getDirectusFile = index$4.getDirectusFile;
18
+ exports.useDirectusFile = index$4.useDirectusFile;
19
+ exports.getDirectusLink = index$5.getDirectusLink;
20
+ exports.useDirectusLink = index$5.useDirectusLink;
21
+ exports.getNavigationItems = index$6.getNavigationItems;
22
+ exports.useNavigationItems = index$6.useNavigationItems;
23
+ exports.getMetadata = index$7.getMetadata;
24
+ exports.useMetadata = index$7.useMetadata;
25
+ exports.getDirectusSearchParams = index$8.getDirectusSearchParams;
22
26
  exports.DirectusNextComponent = logger.logger;
package/index.mjs CHANGED
@@ -2,11 +2,11 @@ import { default as default2 } from "./components/DirectusLink/index.mjs";
2
2
  import { default as default3 } from "./components/DirectusImg/index.mjs";
3
3
  import { default as default4 } from "./components/DirectusVideo/index.mjs";
4
4
  import { default as default5 } from "./components/DirectusFile/index.mjs";
5
- import { default as default6 } from "./hooks/directus-file.mjs";
6
- import { default as default7 } from "./hooks/directus-link.mjs";
7
- import { default as default8 } from "./hooks/directus-search-params.mjs";
8
- import { default as default9 } from "./hooks/navigation-items.mjs";
9
- import { default as default10 } from "./hooks/directus-metadata.mjs";
5
+ import { getDirectusFile, useDirectusFile } from "./utils/getDirectusFile/index.mjs";
6
+ import { getDirectusLink, useDirectusLink } from "./utils/getDirectusLink/index.mjs";
7
+ import { getNavigationItems, useNavigationItems } from "./utils/getNavigationItems/index.mjs";
8
+ import { getMetadata, useMetadata } from "./utils/getDirectusMetadata/index.mjs";
9
+ import { getDirectusSearchParams } from "./utils/getDirectusSearchParams/index.mjs";
10
10
  import { logger } from "./logger.mjs";
11
11
  export {
12
12
  default5 as DirectusFile,
@@ -14,9 +14,13 @@ export {
14
14
  default2 as DirectusLink,
15
15
  logger as DirectusNextComponent,
16
16
  default4 as DirectusVideo,
17
- default8 as getDirectusSearchParams,
18
- default6 as useDirectusFile,
19
- default7 as useDirectusLink,
20
- default10 as useMetadata,
21
- default9 as useNavigationItems
17
+ getDirectusFile,
18
+ getDirectusLink,
19
+ getDirectusSearchParams,
20
+ getMetadata,
21
+ getNavigationItems,
22
+ useDirectusFile,
23
+ useDirectusLink,
24
+ useMetadata,
25
+ useNavigationItems
22
26
  };
@@ -1,5 +1,5 @@
1
- import type { NextRequest } from 'next/server';
2
- import { NextResponse } from 'next/server';
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+
3
3
  export declare function fetchPageSettings(pathName: string, lang?: string): Promise<string | null>;
4
4
  export declare function directusRouteMiddleware(request: NextRequest, locales: string[]): Promise<NextResponse<unknown>>;
5
5
  export declare const config: {
@@ -1,4 +1,5 @@
1
- import type { NextConfig } from 'next';
1
+ import { NextConfig } from 'next';
2
+
2
3
  interface CustomPluginOptions {
3
4
  [key: string]: string;
4
5
  }
package/logger.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const logger: import("@okam/logger").Logger;
1
+ export declare const logger: import('../../../stack/logger/src/index.ts').Logger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@okam/directus-next-component",
3
- "version": "1.7.35",
3
+ "version": "1.7.37",
4
4
  "main": "./index.js",
5
5
  "types": "./index.d.ts",
6
6
  "exports": {
@@ -33,13 +33,19 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@okam/logger": "1.1.0",
36
- "@okam/next-component": "1.2.2",
37
- "@okam/stack-ui": "1.42.4",
38
- "@react-spring/web": "^9.7.5",
39
- "next": "^14.1.1",
36
+ "@okam/next-component": "1.2.4",
37
+ "@okam/stack-ui": "1.44.0",
38
+ "@react-spring/web": "^10.0.3",
39
+ "next": "^15.0.0",
40
40
  "radashi": "^12.3.0",
41
- "react": "18.3.1",
42
41
  "unlazy": "^0.12.1",
43
- "@okam/directus-next": "1.2.9"
42
+ "@okam/directus-next": "1.2.11",
43
+ "zod": "^4.2.1"
44
+ },
45
+ "peerDependencies": {
46
+ "react": "^18.0.0 || ^19.0.0"
47
+ },
48
+ "devDependencies": {
49
+ "react": "^19.0.0"
44
50
  }
45
51
  }
package/server.d.ts CHANGED
@@ -4,7 +4,7 @@ export { default as DirectusImg } from './components/DirectusImg';
4
4
  export { default as DirectusLink } from './components/DirectusLink';
5
5
  export { default as DirectusVideo } from './components/DirectusVideo';
6
6
  export { logger as DirectusNextComponent } from './logger';
7
- export { default as useDirectusFile } from './hooks/directus-file';
8
- export { default as useDirectusLink } from './hooks/directus-link';
9
- export { default as useNavigationItems } from './hooks/navigation-items';
10
- export { default as useMetadata } from './hooks/directus-metadata';
7
+ export { getDirectusFile, useDirectusFile } from './utils/getDirectusFile';
8
+ export { getDirectusLink, useDirectusLink } from './utils/getDirectusLink';
9
+ export { getNavigationItems, useNavigationItems } from './utils/getNavigationItems';
10
+ export { getMetadata, useMetadata } from './utils/getDirectusMetadata';
package/server.js CHANGED
@@ -6,17 +6,21 @@ const index$1 = require("./components/DirectusImg/index.js");
6
6
  const index$2 = require("./components/DirectusLink/index.js");
7
7
  const index$3 = require("./components/DirectusVideo/index.js");
8
8
  const logger = require("./logger.js");
9
- const directusFile = require("./hooks/directus-file.js");
10
- const directusLink = require("./hooks/directus-link.js");
11
- const navigationItems = require("./hooks/navigation-items.js");
12
- const directusMetadata = require("./hooks/directus-metadata.js");
9
+ const index$4 = require("./utils/getDirectusFile/index.js");
10
+ const index$5 = require("./utils/getDirectusLink/index.js");
11
+ const index$6 = require("./utils/getNavigationItems/index.js");
12
+ const index$7 = require("./utils/getDirectusMetadata/index.js");
13
13
  exports.withDirectus = withDirectus;
14
14
  exports.DirectusFile = index;
15
15
  exports.DirectusImg = index$1;
16
16
  exports.DirectusLink = index$2;
17
17
  exports.DirectusVideo = index$3;
18
18
  exports.DirectusNextComponent = logger.logger;
19
- exports.useDirectusFile = directusFile;
20
- exports.useDirectusLink = directusLink;
21
- exports.useNavigationItems = navigationItems;
22
- exports.useMetadata = directusMetadata;
19
+ exports.getDirectusFile = index$4.getDirectusFile;
20
+ exports.useDirectusFile = index$4.useDirectusFile;
21
+ exports.getDirectusLink = index$5.getDirectusLink;
22
+ exports.useDirectusLink = index$5.useDirectusLink;
23
+ exports.getNavigationItems = index$6.getNavigationItems;
24
+ exports.useNavigationItems = index$6.useNavigationItems;
25
+ exports.getMetadata = index$7.getMetadata;
26
+ exports.useMetadata = index$7.useMetadata;
package/server.mjs CHANGED
@@ -4,19 +4,23 @@ import { default as default4 } from "./components/DirectusImg/index.mjs";
4
4
  import { default as default5 } from "./components/DirectusLink/index.mjs";
5
5
  import { default as default6 } from "./components/DirectusVideo/index.mjs";
6
6
  import { logger } from "./logger.mjs";
7
- import { default as default7 } from "./hooks/directus-file.mjs";
8
- import { default as default8 } from "./hooks/directus-link.mjs";
9
- import { default as default9 } from "./hooks/navigation-items.mjs";
10
- import { default as default10 } from "./hooks/directus-metadata.mjs";
7
+ import { getDirectusFile, useDirectusFile } from "./utils/getDirectusFile/index.mjs";
8
+ import { getDirectusLink, useDirectusLink } from "./utils/getDirectusLink/index.mjs";
9
+ import { getNavigationItems, useNavigationItems } from "./utils/getNavigationItems/index.mjs";
10
+ import { getMetadata, useMetadata } from "./utils/getDirectusMetadata/index.mjs";
11
11
  export {
12
12
  default3 as DirectusFile,
13
13
  default4 as DirectusImg,
14
14
  default5 as DirectusLink,
15
15
  logger as DirectusNextComponent,
16
16
  default6 as DirectusVideo,
17
- default7 as useDirectusFile,
18
- default8 as useDirectusLink,
19
- default10 as useMetadata,
20
- default9 as useNavigationItems,
17
+ getDirectusFile,
18
+ getDirectusLink,
19
+ getMetadata,
20
+ getNavigationItems,
21
+ useDirectusFile,
22
+ useDirectusLink,
23
+ useMetadata,
24
+ useNavigationItems,
21
25
  default2 as withDirectus
22
26
  };
@@ -0,0 +1,3 @@
1
+ export * from './links';
2
+ export * from './metadata';
3
+ export * from './navigationItems';
package/types/links.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { TPageSettings, TFiles } from '@okam/directus-next';
2
- import type { Nullable } from '@okam/stack-ui';
1
+ import { TPageSettings, TFiles } from '../../../directus-next/src/index.ts';
2
+ import { Nullable } from '../../../../stack/stack-ui/src/index.ts';
3
+
3
4
  /**
4
5
  * Represent the directus `links` collection, not the props of the DirectusLink component
5
6
  */
@@ -15,9 +16,9 @@ export interface TLinks {
15
16
  type?: Nullable<string>;
16
17
  collection?: Nullable<TPageSettings>;
17
18
  file?: Nullable<TFiles>;
18
- params?: Nullable<Nullable<SearchParams>[]>;
19
+ params?: Nullable<Nullable<TSearchParams>[]>;
19
20
  }
20
- export interface SearchParams {
21
+ export interface TSearchParams {
21
22
  id?: string;
22
23
  name?: Nullable<string>;
23
24
  value?: Nullable<string>;
@@ -1,9 +1,10 @@
1
- import type { TPageSettings } from '@okam/directus-next';
2
- import type { Nullable } from '@okam/stack-ui';
3
- import type { AlternateURLs } from 'next/dist/lib/metadata/types/alternative-urls-types';
4
- import type { OpenGraphType } from 'next/dist/lib/metadata/types/opengraph-types';
5
- import type { StaticImageData } from 'next/image';
6
- import type { TDirectusFileProps } from '../components/DirectusFile/interface';
1
+ import { TPageSettings } from '../../../directus-next/src/index.ts';
2
+ import { Nullable } from '../../../../stack/stack-ui/src/index.ts';
3
+ import { AlternateURLs } from 'next/dist/lib/metadata/types/alternative-urls-types';
4
+ import { OpenGraphType } from 'next/dist/lib/metadata/types/opengraph-types';
5
+ import { StaticImageData } from 'next/image';
6
+ import { TDirectusFileProps } from '../components/DirectusFile/interface';
7
+
7
8
  /**
8
9
  * Configuration options for metadata generation
9
10
  */
@@ -1,5 +1,6 @@
1
- import type { Nullable } from '@okam/stack-ui';
2
- import type { TDirectusLinkProps } from '../components/DirectusLink/interface';
1
+ import { Nullable } from '../../../../stack/stack-ui/src/index.ts';
2
+ import { TDirectusLinkProps } from '../components/DirectusLink/interface';
3
+
3
4
  export type TNavigationItemsTree = {
4
5
  /**
5
6
  * Pre-rendered DirectusLink component for quick usage
@@ -20,11 +21,11 @@ export type TNavigationItemsBase<Link> = {
20
21
  tokens?: any | null;
21
22
  variant?: string | null;
22
23
  } & Link;
23
- export type TNavigationItemsParents<NavigationItems, Link, Depth extends number> = Depth extends never ? TNavigationItemsBase<Link> : {
24
- parent?: Nullable<TNavigationItemsParents<NavigationItems, Link, Depth>>;
24
+ export type TNavigationItemsParents<TNavigationItems, Link, Depth extends number> = Depth extends never ? TNavigationItemsBase<Link> : {
25
+ parent?: Nullable<TNavigationItemsParents<TNavigationItems, Link, Depth>>;
25
26
  } & TNavigationItemsBase<Link>;
26
- export type TNavigationItemsChildren<NavigationItems, Link, Depth extends number> = Depth extends never ? TNavigationItemsBase<Link> : {
27
- children?: Nullable<Nullable<TNavigationItemsChildren<NavigationItems, Link, DepthLimit[Depth]>>[]>;
27
+ export type TNavigationItemsChildren<TNavigationItems, Link, Depth extends number> = Depth extends never ? TNavigationItemsBase<Link> : {
28
+ children?: Nullable<Nullable<TNavigationItemsChildren<TNavigationItems, Link, DepthLimit[Depth]>>[]>;
28
29
  } & TNavigationItemsBase<Link>;
29
- export type TNavigationItems<NavigationItems, Link, Depth extends number> = TNavigationItemsChildren<NavigationItems, Link, Depth> & TNavigationItemsParents<NavigationItems, Link, Depth>;
30
+ export type TNavigationItems<Items, Link, Depth extends number> = TNavigationItemsChildren<Items, Link, Depth> & TNavigationItemsParents<Items, Link, Depth>;
30
31
  export {};
@@ -1,6 +1,8 @@
1
- import type { TFiles } from '@okam/directus-next';
2
- import type { Nullable } from '@okam/stack-ui';
3
- export default function useDirectusFile(file: Nullable<TFiles>, baseUrl?: URL, searchParams?: Record<string, Nullable<string>>): {
1
+ import { TFiles } from '../../../../directus-next/src/index.ts';
2
+ import { Nullable } from '../../../../../stack/stack-ui/src/index.ts';
3
+
4
+ export declare function getDirectusUrl(file: Nullable<TFiles>, baseUrl?: URL, searchParams?: Record<string, Nullable<string>>): URL | null;
5
+ export declare function getDirectusFile(file: Nullable<TFiles>, baseUrl?: URL, searchParams?: Record<string, Nullable<string>>): {
4
6
  tags?: any | null;
5
7
  location?: string | null;
6
8
  storage?: string | null;
@@ -22,3 +24,7 @@ export default function useDirectusFile(file: Nullable<TFiles>, baseUrl?: URL, s
22
24
  title: string | undefined;
23
25
  id: string;
24
26
  } | null;
27
+ /**
28
+ * @deprecated Use `getDirectusFile` instead
29
+ */
30
+ export declare const useDirectusFile: typeof getDirectusFile;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
- const logger = require("../logger.js");
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const logger = require("../../logger.js");
3
4
  const IMG_DOMAIN = process.env.NEXT_PUBLIC_IMG_DOMAIN;
4
5
  const IMG_PORT = process.env.NEXT_PUBLIC_IMG_PORT;
5
6
  const IMG_PROTOCOL = process.env.NEXT_PUBLIC_IMG_PROTOCOL ?? "https";
@@ -23,7 +24,7 @@ function getDirectusUrl(file, baseUrl, searchParams) {
23
24
  return null;
24
25
  }
25
26
  }
26
- function useDirectusFile(file, baseUrl, searchParams) {
27
+ function getDirectusFile(file, baseUrl, searchParams) {
27
28
  const { description, width, height, title, id, ...rest } = file ?? {};
28
29
  if (!file || !id) return null;
29
30
  const url = getDirectusUrl(file, baseUrl, searchParams);
@@ -38,4 +39,7 @@ function useDirectusFile(file, baseUrl, searchParams) {
38
39
  ...rest
39
40
  };
40
41
  }
41
- module.exports = useDirectusFile;
42
+ const useDirectusFile = getDirectusFile;
43
+ exports.getDirectusFile = getDirectusFile;
44
+ exports.getDirectusUrl = getDirectusUrl;
45
+ exports.useDirectusFile = useDirectusFile;