@uniformdev/canvas-next-rsc-client 19.173.2-alpha.8 → 19.175.1-alpha.35

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.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { ManifestV2, TestEvent, ContextOptions } from '@uniformdev/context';
1
+ import { ManifestV2, TestEvent, ContextOptions, Quirks, ScoreVector } from '@uniformdev/context';
2
2
  import { PersonalizationEvent } from '@uniformdev/context/*';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { PureContextualEditingComponentWrapperProps } from '@uniformdev/canvas-react/core';
@@ -6,6 +6,7 @@ import * as react from 'react';
6
6
  import { PropsWithChildren } from 'react';
7
7
  import * as _uniformdev_canvas_next_rsc_shared from '@uniformdev/canvas-next-rsc-shared';
8
8
  import { AppDirectoryContextState, PersonalizeProps, ComponentProps, TestProps, AppDirectoryContext } from '@uniformdev/canvas-next-rsc-shared';
9
+ import { VisibilityParameterValue } from '@uniformdev/canvas';
9
10
 
10
11
  type ClientContextComponentProps = {
11
12
  /**
@@ -59,11 +60,27 @@ declare const TestClient: (props: ComponentProps<TestProps>) => react.FunctionCo
59
60
 
60
61
  declare const UniformScript: () => react_jsx_runtime.JSX.Element;
61
62
 
63
+ declare const VisibilityRulesWrapperClient: ({ parameter, children, }: PropsWithChildren<{
64
+ parameter: VisibilityParameterValue;
65
+ }>) => react_jsx_runtime.JSX.Element | null;
66
+
62
67
  type CreateClientUniformContextOptions = Omit<ContextOptions, 'transitionStore'>;
63
68
  declare const createClientUniformContext: (options: CreateClientUniformContextOptions) => _uniformdev_canvas_next_rsc_shared.AppDirectoryContext;
64
69
 
65
70
  declare const useInitUniformContext: (callback: () => AppDirectoryContext) => void;
66
71
 
72
+ /**
73
+ * Provides reactive access to the Uniform Context's current visitor quirks values
74
+ * This can be used when you want to read current quirk values directly.
75
+ */
76
+ declare function useQuirks(): Quirks;
77
+
78
+ /**
79
+ * Provides reactive access to the Uniform Context's current visitor scores values.
80
+ * This can be used when you want to read current score values directly.
81
+ */
82
+ declare function useScores(): ScoreVector | undefined;
83
+
67
84
  declare global {
68
85
  interface Window {
69
86
  __UNIFORM_CONTEXT__: AppDirectoryContext | undefined;
@@ -73,4 +90,4 @@ declare const useUniformContext: () => {
73
90
  context: AppDirectoryContext | undefined;
74
91
  };
75
92
 
76
- export { type ClientContextComponent, type ClientContextComponentProps, ClientContextPersonalizationTransfer, ClientContextTestTransfer, ClientContextUpdate, ClientContextualEditingComponentWrapper, ContextUpdateTransferClient, type CreateClientUniformContextOptions, DefaultUniformClientContext, PersonalizeClient, type PersonalizeClientProps, TestClient, UniformScript, createClientUniformContext, useInitUniformContext, useUniformContext };
93
+ export { type ClientContextComponent, type ClientContextComponentProps, ClientContextPersonalizationTransfer, ClientContextTestTransfer, ClientContextUpdate, ClientContextualEditingComponentWrapper, ContextUpdateTransferClient, type CreateClientUniformContextOptions, DefaultUniformClientContext, PersonalizeClient, type PersonalizeClientProps, TestClient, UniformScript, VisibilityRulesWrapperClient, createClientUniformContext, useInitUniformContext, useQuirks, useScores, useUniformContext };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ManifestV2, TestEvent, ContextOptions } from '@uniformdev/context';
1
+ import { ManifestV2, TestEvent, ContextOptions, Quirks, ScoreVector } from '@uniformdev/context';
2
2
  import { PersonalizationEvent } from '@uniformdev/context/*';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { PureContextualEditingComponentWrapperProps } from '@uniformdev/canvas-react/core';
@@ -6,6 +6,7 @@ import * as react from 'react';
6
6
  import { PropsWithChildren } from 'react';
7
7
  import * as _uniformdev_canvas_next_rsc_shared from '@uniformdev/canvas-next-rsc-shared';
8
8
  import { AppDirectoryContextState, PersonalizeProps, ComponentProps, TestProps, AppDirectoryContext } from '@uniformdev/canvas-next-rsc-shared';
9
+ import { VisibilityParameterValue } from '@uniformdev/canvas';
9
10
 
10
11
  type ClientContextComponentProps = {
11
12
  /**
@@ -59,11 +60,27 @@ declare const TestClient: (props: ComponentProps<TestProps>) => react.FunctionCo
59
60
 
60
61
  declare const UniformScript: () => react_jsx_runtime.JSX.Element;
61
62
 
63
+ declare const VisibilityRulesWrapperClient: ({ parameter, children, }: PropsWithChildren<{
64
+ parameter: VisibilityParameterValue;
65
+ }>) => react_jsx_runtime.JSX.Element | null;
66
+
62
67
  type CreateClientUniformContextOptions = Omit<ContextOptions, 'transitionStore'>;
63
68
  declare const createClientUniformContext: (options: CreateClientUniformContextOptions) => _uniformdev_canvas_next_rsc_shared.AppDirectoryContext;
64
69
 
65
70
  declare const useInitUniformContext: (callback: () => AppDirectoryContext) => void;
66
71
 
72
+ /**
73
+ * Provides reactive access to the Uniform Context's current visitor quirks values
74
+ * This can be used when you want to read current quirk values directly.
75
+ */
76
+ declare function useQuirks(): Quirks;
77
+
78
+ /**
79
+ * Provides reactive access to the Uniform Context's current visitor scores values.
80
+ * This can be used when you want to read current score values directly.
81
+ */
82
+ declare function useScores(): ScoreVector | undefined;
83
+
67
84
  declare global {
68
85
  interface Window {
69
86
  __UNIFORM_CONTEXT__: AppDirectoryContext | undefined;
@@ -73,4 +90,4 @@ declare const useUniformContext: () => {
73
90
  context: AppDirectoryContext | undefined;
74
91
  };
75
92
 
76
- export { type ClientContextComponent, type ClientContextComponentProps, ClientContextPersonalizationTransfer, ClientContextTestTransfer, ClientContextUpdate, ClientContextualEditingComponentWrapper, ContextUpdateTransferClient, type CreateClientUniformContextOptions, DefaultUniformClientContext, PersonalizeClient, type PersonalizeClientProps, TestClient, UniformScript, createClientUniformContext, useInitUniformContext, useUniformContext };
93
+ export { type ClientContextComponent, type ClientContextComponentProps, ClientContextPersonalizationTransfer, ClientContextTestTransfer, ClientContextUpdate, ClientContextualEditingComponentWrapper, ContextUpdateTransferClient, type CreateClientUniformContextOptions, DefaultUniformClientContext, PersonalizeClient, type PersonalizeClientProps, TestClient, UniformScript, VisibilityRulesWrapperClient, createClientUniformContext, useInitUniformContext, useQuirks, useScores, useUniformContext };
package/dist/index.esm.js CHANGED
@@ -1057,6 +1057,78 @@ var UniformScript = () => {
1057
1057
  }, [router]);
1058
1058
  return /* @__PURE__ */ jsx3(Fragment5, {});
1059
1059
  };
1060
+
1061
+ // src/components/VisibilityRulesWrapperClient.tsx
1062
+ import {
1063
+ createQuirksVisibilityRule,
1064
+ evaluateNodeVisibilityParameter
1065
+ } from "@uniformdev/canvas";
1066
+ import { useMemo as useMemo3 } from "react";
1067
+
1068
+ // src/hooks/useQuirks.ts
1069
+ import { useEffect as useEffect9, useState as useState7 } from "react";
1070
+ function useQuirks() {
1071
+ var _a;
1072
+ const { context } = useUniformContext();
1073
+ const [quirks, setQuirks] = useState7((_a = context == null ? void 0 : context.quirks) != null ? _a : {});
1074
+ useEffect9(() => {
1075
+ if (!context) {
1076
+ return;
1077
+ }
1078
+ const quirkChangeListener = (updatedQuirks) => {
1079
+ setQuirks(updatedQuirks);
1080
+ };
1081
+ setQuirks(context.quirks);
1082
+ context == null ? void 0 : context.events.on("quirksUpdated", quirkChangeListener);
1083
+ return () => {
1084
+ context == null ? void 0 : context.events.off("quirksUpdated", quirkChangeListener);
1085
+ };
1086
+ }, [context]);
1087
+ return quirks;
1088
+ }
1089
+
1090
+ // src/components/VisibilityRulesWrapperClient.tsx
1091
+ import { Fragment as Fragment6, jsx as jsx4 } from "react/jsx-runtime";
1092
+ var VisibilityRulesWrapperClient = ({
1093
+ parameter,
1094
+ children
1095
+ }) => {
1096
+ const quirks = useQuirks();
1097
+ const rules = useMemo3(() => {
1098
+ return {
1099
+ ...createQuirksVisibilityRule(quirks)
1100
+ };
1101
+ }, [quirks]);
1102
+ const isVisible = useMemo3(() => {
1103
+ const result = evaluateNodeVisibilityParameter({
1104
+ rules,
1105
+ parameter
1106
+ });
1107
+ return result;
1108
+ }, [parameter, rules]);
1109
+ return isVisible ? /* @__PURE__ */ jsx4(Fragment6, { children }) : null;
1110
+ };
1111
+
1112
+ // src/hooks/useScores.ts
1113
+ import { useEffect as useEffect10, useState as useState8 } from "react";
1114
+ function useScores() {
1115
+ const { context } = useUniformContext();
1116
+ const [scores, setScores] = useState8(context == null ? void 0 : context.scores);
1117
+ useEffect10(() => {
1118
+ if (!context) {
1119
+ return;
1120
+ }
1121
+ const scoringChangeListener = (updatedScores) => {
1122
+ setScores(updatedScores);
1123
+ };
1124
+ setScores(context.scores);
1125
+ context.events.on("scoresUpdated", scoringChangeListener);
1126
+ return () => {
1127
+ context.events.off("scoresUpdated", scoringChangeListener);
1128
+ };
1129
+ }, [context]);
1130
+ return scores;
1131
+ }
1060
1132
  export {
1061
1133
  ClientContextPersonalizationTransfer,
1062
1134
  ClientContextTestTransfer,
@@ -1067,8 +1139,11 @@ export {
1067
1139
  PersonalizeClient,
1068
1140
  TestClient,
1069
1141
  UniformScript,
1142
+ VisibilityRulesWrapperClient,
1070
1143
  createClientUniformContext,
1071
1144
  useInitUniformContext,
1145
+ useQuirks,
1146
+ useScores,
1072
1147
  useUniformContext
1073
1148
  };
1074
1149
  /*! Bundled license information:
package/dist/index.js CHANGED
@@ -228,8 +228,11 @@ __export(src_exports, {
228
228
  PersonalizeClient: () => PersonalizeClient,
229
229
  TestClient: () => TestClient,
230
230
  UniformScript: () => UniformScript,
231
+ VisibilityRulesWrapperClient: () => VisibilityRulesWrapperClient,
231
232
  createClientUniformContext: () => createClientUniformContext,
232
233
  useInitUniformContext: () => useInitUniformContext,
234
+ useQuirks: () => useQuirks,
235
+ useScores: () => useScores,
233
236
  useUniformContext: () => useUniformContext
234
237
  });
235
238
  module.exports = __toCommonJS(src_exports);
@@ -1075,6 +1078,75 @@ var UniformScript = () => {
1075
1078
  }, [router]);
1076
1079
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {});
1077
1080
  };
1081
+
1082
+ // src/components/VisibilityRulesWrapperClient.tsx
1083
+ var import_canvas5 = require("@uniformdev/canvas");
1084
+ var import_react12 = require("react");
1085
+
1086
+ // src/hooks/useQuirks.ts
1087
+ var import_react11 = require("react");
1088
+ function useQuirks() {
1089
+ var _a;
1090
+ const { context } = useUniformContext();
1091
+ const [quirks, setQuirks] = (0, import_react11.useState)((_a = context == null ? void 0 : context.quirks) != null ? _a : {});
1092
+ (0, import_react11.useEffect)(() => {
1093
+ if (!context) {
1094
+ return;
1095
+ }
1096
+ const quirkChangeListener = (updatedQuirks) => {
1097
+ setQuirks(updatedQuirks);
1098
+ };
1099
+ setQuirks(context.quirks);
1100
+ context == null ? void 0 : context.events.on("quirksUpdated", quirkChangeListener);
1101
+ return () => {
1102
+ context == null ? void 0 : context.events.off("quirksUpdated", quirkChangeListener);
1103
+ };
1104
+ }, [context]);
1105
+ return quirks;
1106
+ }
1107
+
1108
+ // src/components/VisibilityRulesWrapperClient.tsx
1109
+ var import_jsx_runtime4 = require("react/jsx-runtime");
1110
+ var VisibilityRulesWrapperClient = ({
1111
+ parameter,
1112
+ children
1113
+ }) => {
1114
+ const quirks = useQuirks();
1115
+ const rules = (0, import_react12.useMemo)(() => {
1116
+ return {
1117
+ ...(0, import_canvas5.createQuirksVisibilityRule)(quirks)
1118
+ };
1119
+ }, [quirks]);
1120
+ const isVisible = (0, import_react12.useMemo)(() => {
1121
+ const result = (0, import_canvas5.evaluateNodeVisibilityParameter)({
1122
+ rules,
1123
+ parameter
1124
+ });
1125
+ return result;
1126
+ }, [parameter, rules]);
1127
+ return isVisible ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children }) : null;
1128
+ };
1129
+
1130
+ // src/hooks/useScores.ts
1131
+ var import_react13 = require("react");
1132
+ function useScores() {
1133
+ const { context } = useUniformContext();
1134
+ const [scores, setScores] = (0, import_react13.useState)(context == null ? void 0 : context.scores);
1135
+ (0, import_react13.useEffect)(() => {
1136
+ if (!context) {
1137
+ return;
1138
+ }
1139
+ const scoringChangeListener = (updatedScores) => {
1140
+ setScores(updatedScores);
1141
+ };
1142
+ setScores(context.scores);
1143
+ context.events.on("scoresUpdated", scoringChangeListener);
1144
+ return () => {
1145
+ context.events.off("scoresUpdated", scoringChangeListener);
1146
+ };
1147
+ }, [context]);
1148
+ return scores;
1149
+ }
1078
1150
  // Annotate the CommonJS export names for ESM import in node:
1079
1151
  0 && (module.exports = {
1080
1152
  ClientContextPersonalizationTransfer,
@@ -1086,8 +1158,11 @@ var UniformScript = () => {
1086
1158
  PersonalizeClient,
1087
1159
  TestClient,
1088
1160
  UniformScript,
1161
+ VisibilityRulesWrapperClient,
1089
1162
  createClientUniformContext,
1090
1163
  useInitUniformContext,
1164
+ useQuirks,
1165
+ useScores,
1091
1166
  useUniformContext
1092
1167
  });
1093
1168
  /*! Bundled license information:
package/dist/index.mjs CHANGED
@@ -1057,6 +1057,78 @@ var UniformScript = () => {
1057
1057
  }, [router]);
1058
1058
  return /* @__PURE__ */ jsx3(Fragment5, {});
1059
1059
  };
1060
+
1061
+ // src/components/VisibilityRulesWrapperClient.tsx
1062
+ import {
1063
+ createQuirksVisibilityRule,
1064
+ evaluateNodeVisibilityParameter
1065
+ } from "@uniformdev/canvas";
1066
+ import { useMemo as useMemo3 } from "react";
1067
+
1068
+ // src/hooks/useQuirks.ts
1069
+ import { useEffect as useEffect9, useState as useState7 } from "react";
1070
+ function useQuirks() {
1071
+ var _a;
1072
+ const { context } = useUniformContext();
1073
+ const [quirks, setQuirks] = useState7((_a = context == null ? void 0 : context.quirks) != null ? _a : {});
1074
+ useEffect9(() => {
1075
+ if (!context) {
1076
+ return;
1077
+ }
1078
+ const quirkChangeListener = (updatedQuirks) => {
1079
+ setQuirks(updatedQuirks);
1080
+ };
1081
+ setQuirks(context.quirks);
1082
+ context == null ? void 0 : context.events.on("quirksUpdated", quirkChangeListener);
1083
+ return () => {
1084
+ context == null ? void 0 : context.events.off("quirksUpdated", quirkChangeListener);
1085
+ };
1086
+ }, [context]);
1087
+ return quirks;
1088
+ }
1089
+
1090
+ // src/components/VisibilityRulesWrapperClient.tsx
1091
+ import { Fragment as Fragment6, jsx as jsx4 } from "react/jsx-runtime";
1092
+ var VisibilityRulesWrapperClient = ({
1093
+ parameter,
1094
+ children
1095
+ }) => {
1096
+ const quirks = useQuirks();
1097
+ const rules = useMemo3(() => {
1098
+ return {
1099
+ ...createQuirksVisibilityRule(quirks)
1100
+ };
1101
+ }, [quirks]);
1102
+ const isVisible = useMemo3(() => {
1103
+ const result = evaluateNodeVisibilityParameter({
1104
+ rules,
1105
+ parameter
1106
+ });
1107
+ return result;
1108
+ }, [parameter, rules]);
1109
+ return isVisible ? /* @__PURE__ */ jsx4(Fragment6, { children }) : null;
1110
+ };
1111
+
1112
+ // src/hooks/useScores.ts
1113
+ import { useEffect as useEffect10, useState as useState8 } from "react";
1114
+ function useScores() {
1115
+ const { context } = useUniformContext();
1116
+ const [scores, setScores] = useState8(context == null ? void 0 : context.scores);
1117
+ useEffect10(() => {
1118
+ if (!context) {
1119
+ return;
1120
+ }
1121
+ const scoringChangeListener = (updatedScores) => {
1122
+ setScores(updatedScores);
1123
+ };
1124
+ setScores(context.scores);
1125
+ context.events.on("scoresUpdated", scoringChangeListener);
1126
+ return () => {
1127
+ context.events.off("scoresUpdated", scoringChangeListener);
1128
+ };
1129
+ }, [context]);
1130
+ return scores;
1131
+ }
1060
1132
  export {
1061
1133
  ClientContextPersonalizationTransfer,
1062
1134
  ClientContextTestTransfer,
@@ -1067,8 +1139,11 @@ export {
1067
1139
  PersonalizeClient,
1068
1140
  TestClient,
1069
1141
  UniformScript,
1142
+ VisibilityRulesWrapperClient,
1070
1143
  createClientUniformContext,
1071
1144
  useInitUniformContext,
1145
+ useQuirks,
1146
+ useScores,
1072
1147
  useUniformContext
1073
1148
  };
1074
1149
  /*! Bundled license information:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/canvas-next-rsc-client",
3
- "version": "19.173.2-alpha.8+7b0bc70fd5",
3
+ "version": "19.175.1-alpha.35+f2ac62967d",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "scripts": {
6
6
  "build": "tsup",
@@ -32,9 +32,9 @@
32
32
  "react-dom": "18.2.0"
33
33
  },
34
34
  "dependencies": {
35
- "@uniformdev/canvas": "19.173.2-alpha.8+7b0bc70fd5",
36
- "@uniformdev/canvas-next-rsc-shared": "^19.173.2-alpha.8+7b0bc70fd5",
37
- "@uniformdev/canvas-react": "^19.173.2-alpha.8+7b0bc70fd5"
35
+ "@uniformdev/canvas": "19.175.1-alpha.35+f2ac62967d",
36
+ "@uniformdev/canvas-next-rsc-shared": "^19.175.1-alpha.35+f2ac62967d",
37
+ "@uniformdev/canvas-react": "^19.175.1-alpha.35+f2ac62967d"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=16.14.0"
@@ -47,5 +47,5 @@
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
50
- "gitHead": "7b0bc70fd58912415a860667c266cb339fa8133a"
50
+ "gitHead": "f2ac62967d4046285a3cf007cf90fd2889510262"
51
51
  }