@tailorkit/react 0.1.0-beta.22 → 0.1.0-beta.23

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.
@@ -1,7 +1,7 @@
1
1
  import type { ViewInstance } from "@tailorkit/app/client";
2
2
  import type { SlotDefinitions, ViewDefinition } from "@tailorkit/core/schema";
3
3
  import type { ReactNode } from "react";
4
- import type { ViewContext, ViewName } from "../hooks/use-register-view";
4
+ import type { ViewContext, ViewName } from "../hooks/use-view-context";
5
5
  import type { TailorKitApp } from "../tailorkit";
6
6
  type DefaultViews = Record<`/${string}`, ViewDefinition>;
7
7
  type ContextPaths<TViews extends Record<string, ViewDefinition>, TView extends ViewName<TViews>> = {
@@ -20,6 +20,6 @@ interface ErrorViewOptions<TView extends string> {
20
20
  }
21
21
  export type ViewOptions<TViews extends Record<string, ViewDefinition> = DefaultViews, TView extends ViewName<TViews> = ViewName<TViews>> = TView extends ViewName<TViews> ? ReadyViewOptions<TViews, TView> | LoadingViewOptions<TView> | ErrorViewOptions<TView> : never;
22
22
  export type ViewState<TViews extends Record<string, ViewDefinition> = DefaultViews, TView extends ViewName<TViews> = ViewName<TViews>> = Omit<ReadyViewOptions<TViews, TView>, "view"> | Omit<LoadingViewOptions<TView>, "view"> | Omit<ErrorViewOptions<TView>, "view">;
23
- export type UseRegisterView<TViews extends Record<string, ViewDefinition>> = <TView extends ViewName<TViews>>(view: TView, options: ViewState<TViews, NoInfer<TView>>) => void;
24
- export declare function useRegisterView<TViews extends Record<string, ViewDefinition> = DefaultViews, TView extends ViewName<TViews> = ViewName<TViews>>(view: TView, options: ViewState<TViews, NoInfer<TView>>): void;
23
+ export type UseViewContext<TViews extends Record<string, ViewDefinition>> = <TView extends ViewName<TViews>>(view: TView, options: ViewState<TViews, NoInfer<TView>>) => void;
24
+ export declare function useViewContext<TViews extends Record<string, ViewDefinition> = DefaultViews, TView extends ViewName<TViews> = ViewName<TViews>>(view: TView, options: ViewState<TViews, NoInfer<TView>>): void;
25
25
  export {};
@@ -1,13 +1,13 @@
1
1
  import type { TailorKitApp, SlotItem } from "@tailorkit/client-core";
2
2
  import type { UseAppsOptions, UseAppsResult } from "./use-apps";
3
3
  export type { SlotItem } from "@tailorkit/client-core";
4
- export interface UseSlotOptions<TScopeNames extends string = string, TSlot extends string = string> extends UseAppsOptions<TScopeNames> {
4
+ export interface UseViewsOptions<TScopeNames extends string = string, TSlot extends string = string> extends UseAppsOptions<TScopeNames> {
5
5
  slot: TSlot;
6
6
  }
7
- export interface UseSlotResult<TMultiple extends boolean = boolean> extends Omit<UseAppsResult, "data"> {
7
+ export interface UseViewsResult<TMultiple extends boolean = boolean> extends Omit<UseAppsResult, "data"> {
8
8
  data: SlotItem<TMultiple>[] | undefined;
9
9
  }
10
10
  /** List apps for single-view slots or resolve instances for multiple-view slots. */
11
- export declare function useSlot({ slot, scopes, appIds }: UseSlotOptions): UseSlotResult;
11
+ export declare function useViews({ slot, scopes, appIds }: UseViewsOptions): UseViewsResult;
12
12
  /** Managed Slot resolves only its explicitly supplied app. */
13
- export declare function useAppSlot(app: TailorKitApp, slot: string): UseSlotResult;
13
+ export declare function useAppSlot(app: TailorKitApp, slot: string): UseViewsResult;
package/dist/index.d.ts CHANGED
@@ -4,6 +4,6 @@ export { components, createTailorKitClient } from "./tailorkit";
4
4
  export type { TailorKitApp, TailorKitClientConfig, TailorKitInstance } from "./tailorkit";
5
5
  export { Root } from "./components/root";
6
6
  export type { UseAppsOptions, UseAppsResult } from "./hooks/use-apps";
7
- export type { SlotItem, UseSlotOptions, UseSlotResult } from "./hooks/use-slot";
8
- export type { UseRegisterView, ViewOptions, ViewState } from "./hooks/use-register-view";
7
+ export type { SlotItem, UseViewsOptions, UseViewsResult } from "./hooks/use-views";
8
+ export type { UseViewContext, ViewOptions, ViewState } from "./hooks/use-view-context";
9
9
  export { primitives } from "./primitives";
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ function useStableContext(value) {
12
12
  return ref.current.value;
13
13
  }
14
14
 
15
- // src/hooks/use-slot.ts
15
+ // src/hooks/use-views.ts
16
16
  import { createSlotStore, matchesApp as matchesApp3, serializeCacheKey } from "@tailorkit/client-core";
17
17
  import { useCallback as useCallback2, useEffect as useEffect2, useMemo as useMemo2, useSyncExternalStore as useSyncExternalStore2 } from "react";
18
18
 
@@ -80,9 +80,9 @@ function toUseAppsResult(snapshot, refetch) {
80
80
  };
81
81
  }
82
82
 
83
- // src/hooks/use-slot.ts
84
- function useSlot({ slot, scopes, appIds }) {
85
- const { store } = useTailorRootContext("useSlot");
83
+ // src/hooks/use-views.ts
84
+ function useViews({ slot, scopes, appIds }) {
85
+ const { store } = useTailorRootContext("useViews");
86
86
  const apps = useApps({ scopes, appIds });
87
87
  const items = useResolvedSlot(slot, apps.data, apps.status, apps.error);
88
88
  const refetch = useCallback2(async () => {
@@ -114,7 +114,7 @@ function useAppSlot(app, slot) {
114
114
  return useResolvedSlot(slot, [app], "ready", null);
115
115
  }
116
116
  function useResolvedSlot(slot, apps, appsStatus, appsError) {
117
- const { store } = useTailorRootContext("useSlot");
117
+ const { store } = useTailorRootContext("useViews");
118
118
  const activeView = useSyncExternalStore2(
119
119
  store.views.subscribe,
120
120
  store.views.getSnapshot,
@@ -707,10 +707,10 @@ function SlotRenderer({ app, name, state }) {
707
707
  import { createTailorKitFetchClient } from "@tailorkit/client-core";
708
708
  import { createElement as createElement2 } from "react";
709
709
 
710
- // src/hooks/use-register-view.ts
710
+ // src/hooks/use-view-context.ts
711
711
  import { useEffect as useEffect5, useMemo as useMemo6 } from "react";
712
- function useRegisterView(view, options) {
713
- const { store } = useTailorRootContext("useRegisterView");
712
+ function useViewContext(view, options) {
713
+ const { store } = useTailorRootContext("useViewContext");
714
714
  const id = useMemo6(() => /* @__PURE__ */ Symbol("tailorkit-current-view"), []);
715
715
  const status = options.status ?? "ready";
716
716
  const context = "context" in options ? options.context : void 0;
@@ -786,13 +786,13 @@ function createReactTailorKitClient(options) {
786
786
  useTailorRootContext("useApps", client);
787
787
  return useApps(options2);
788
788
  },
789
- useSlot: function useClientSlot(options2) {
790
- useTailorRootContext("useSlot", client);
791
- return useSlot(options2);
789
+ useViews: function useClientViews(options2) {
790
+ useTailorRootContext("useViews", client);
791
+ return useViews(options2);
792
792
  },
793
- useRegisterView: function useClientRegisterView(view, options2) {
794
- useTailorRootContext("useRegisterView", client);
795
- useRegisterView(view, options2);
793
+ useViewContext: function useClientViewContext(view, options2) {
794
+ useTailorRootContext("useViewContext", client);
795
+ useViewContext(view, options2);
796
796
  }
797
797
  };
798
798
  return client;
@@ -2,9 +2,9 @@ import type { TailorKitFetchClient, TailorKitCacheOptions } from "@tailorkit/cli
2
2
  import type { ReactNode } from "react";
3
3
  import type { TailorKitTheme, CallbackMap, ComponentDefinition, ComponentProps, Schema, ViewDefinition, SlotDefinitions, TailorKitSchema } from "@tailorkit/core/schema";
4
4
  import type { primitives } from "./primitives";
5
- import type { UseRegisterView } from "./hooks/use-register-view";
5
+ import type { UseViewContext } from "./hooks/use-view-context";
6
6
  import type { UseAppsOptions, UseAppsResult } from "./hooks/use-apps";
7
- import type { UseSlotOptions, UseSlotResult } from "./hooks/use-slot";
7
+ import type { UseViewsOptions, UseViewsResult } from "./hooks/use-views";
8
8
  import type { SlotComponent } from "./components/slot";
9
9
  type AnyComponentDefinition = ComponentDefinition<Schema | undefined, CallbackMap, boolean | undefined>;
10
10
  type ComponentRenderer<TComponent extends AnyComponentDefinition> = (args: {
@@ -31,8 +31,8 @@ export interface TailorKitInstance<TViews extends Record<string, ViewDefinition>
31
31
  readonly $views?: TViews;
32
32
  readonly Slot: SlotComponent<TViews, TSlots>;
33
33
  readonly useApps: (options?: UseAppsOptions<TScopeNames>) => UseAppsResult;
34
- readonly useSlot: <TSlot extends keyof TSlots & string>(options: UseSlotOptions<TScopeNames, TSlot>) => UseSlotResult<SlotMultiple<TSlots[TSlot]>>;
35
- readonly useRegisterView: UseRegisterView<TViews>;
34
+ readonly useViews: <TSlot extends keyof TSlots & string>(options: UseViewsOptions<TScopeNames, TSlot>) => UseViewsResult<SlotMultiple<TSlots[TSlot]>>;
35
+ readonly useViewContext: UseViewContext<TViews>;
36
36
  }
37
37
  type SlotMultiple<TSlot> = TSlot extends {
38
38
  multiple: infer TMultiple extends boolean;
@@ -78,4 +78,4 @@ export declare function createTailorKitClient<TTailor extends TailorKitServerSha
78
78
  }): TailorKitInstance<ServerViews<TTailor>, TTailor extends {
79
79
  readonly $slots?: infer V extends SlotDefinitions;
80
80
  } ? V : SlotDefinitions, ServerScopeNames<TTailor>>;
81
- export type { ViewOptions } from "./hooks/use-register-view";
81
+ export type { ViewOptions } from "./hooks/use-view-context";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailorkit/react",
3
- "version": "0.1.0-beta.22",
3
+ "version": "0.1.0-beta.23",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,11 +23,11 @@
23
23
  "dependencies": {
24
24
  "@floating-ui/react-dom": "^2.1.9",
25
25
  "@standard-schema/spec": "^1.1.0",
26
- "@tailorkit/app": "0.1.0-beta.22",
27
- "@tailorkit/client-core": "0.1.0-beta.22",
28
- "@tailorkit/client-platform": "0.1.0-beta.22",
29
- "@tailorkit/core": "0.1.0-beta.22",
30
- "@tailorkit/sandbox": "0.1.0-beta.22"
26
+ "@tailorkit/app": "0.1.0-beta.23",
27
+ "@tailorkit/client-core": "0.1.0-beta.23",
28
+ "@tailorkit/client-platform": "0.1.0-beta.23",
29
+ "@tailorkit/core": "0.1.0-beta.23",
30
+ "@tailorkit/sandbox": "0.1.0-beta.23"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@tailorkit/config": "0.0.0",