@amplifyup/sdk 0.1.77 → 0.1.79

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 (48) hide show
  1. package/README.md +93 -28
  2. package/dist/AmplifyRenderer-BNWBrFQN.d.ts +47 -0
  3. package/dist/AmplifyRenderer-CPUr9Bkc.d.mts +47 -0
  4. package/dist/AmplifyRenderer.d.mts +4 -40
  5. package/dist/AmplifyRenderer.d.ts +4 -40
  6. package/dist/AmplifyRenderer.js +119 -17
  7. package/dist/AmplifyRenderer.js.map +1 -1
  8. package/dist/AmplifyRenderer.mjs +119 -17
  9. package/dist/AmplifyRenderer.mjs.map +1 -1
  10. package/dist/cli.d.mts +1 -0
  11. package/dist/cli.d.ts +1 -0
  12. package/dist/cli.js +266 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/cli.mjs +260 -0
  15. package/dist/cli.mjs.map +1 -0
  16. package/dist/config.d.mts +18 -0
  17. package/dist/config.d.ts +18 -0
  18. package/dist/config.js +10 -0
  19. package/dist/config.js.map +1 -0
  20. package/dist/config.mjs +8 -0
  21. package/dist/config.mjs.map +1 -0
  22. package/dist/index.d.mts +3 -3
  23. package/dist/index.d.ts +3 -3
  24. package/dist/index.js +6 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.mjs +6 -5
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/next.d.mts +9 -0
  29. package/dist/next.d.ts +9 -0
  30. package/dist/next.js +259 -0
  31. package/dist/next.js.map +1 -0
  32. package/dist/next.mjs +253 -0
  33. package/dist/next.mjs.map +1 -0
  34. package/dist/query-DYjs4LQQ.d.mts +262 -0
  35. package/dist/query-Xo9cy-2F.d.ts +262 -0
  36. package/dist/react.d.mts +19 -21
  37. package/dist/react.d.ts +19 -21
  38. package/dist/react.js +1488 -1336
  39. package/dist/react.js.map +1 -1
  40. package/dist/react.mjs +1488 -1337
  41. package/dist/react.mjs.map +1 -1
  42. package/dist/server.d.mts +3 -3
  43. package/dist/server.d.ts +3 -3
  44. package/dist/{types-D4TSd2Yt.d.mts → types-ffQNIQCK.d.mts} +1 -102
  45. package/dist/{types-D4TSd2Yt.d.ts → types-ffQNIQCK.d.ts} +1 -102
  46. package/package.json +17 -2
  47. package/dist/query-B23UsNIv.d.ts +0 -161
  48. package/dist/query-CV8x3oQT.d.mts +0 -161
@@ -166,6 +166,7 @@ var AWSAdapter = class {
166
166
  return;
167
167
  }
168
168
  const trackingId = eventData?.trackingId || this.config?.trackingId;
169
+ const debug = this.config?.debug;
169
170
  const query = trackingId ? `?tid=${encodeURIComponent(trackingId)}` : "";
170
171
  const url = `${this.apiGatewayUrl}${endpoint}${query}`;
171
172
  try {
@@ -180,15 +181,15 @@ var AWSAdapter = class {
180
181
  keepalive: true
181
182
  });
182
183
  if (!response.ok) {
183
- if (this.config.debug) {
184
+ if (debug) {
184
185
  console.warn(`AmplifyUp SDK: Event tracking failed: ${response.status} ${response.statusText}`);
185
186
  }
186
- } else if (this.config.debug) {
187
+ } else if (debug) {
187
188
  const result = await response.json().catch(() => ({}));
188
189
  console.log("AmplifyUp SDK: Event tracked", result);
189
190
  }
190
191
  } catch (error) {
191
- if (this.config.debug) {
192
+ if (debug) {
192
193
  console.error("AmplifyUp SDK: Event tracking error:", error);
193
194
  }
194
195
  }
@@ -3563,6 +3564,14 @@ function getSDK(adapter) {
3563
3564
  var trackContentView = (contentId, contentType, properties) => getSDK().trackContentView(contentId, contentType, properties);
3564
3565
  var refreshEventTracking = () => getSDK().refreshEventTracking();
3565
3566
  getSDK();
3567
+ var PageContentRegistryContext = createContext(null);
3568
+ function useRegisterPageContent(enabled = true) {
3569
+ const register = useContext(PageContentRegistryContext);
3570
+ useEffect(() => {
3571
+ if (!enabled || !register) return;
3572
+ return register();
3573
+ }, [enabled, register]);
3574
+ }
3566
3575
  function useInComposer(force = false) {
3567
3576
  const [detected, setDetected] = useState(false);
3568
3577
  useEffect(() => {
@@ -3701,7 +3710,89 @@ function MaybeComposerProvider({
3701
3710
  }) {
3702
3711
  return /* @__PURE__ */ jsx(ComposerProvider, { enabled, children: /* @__PURE__ */ jsx(ComposerNodeContext.Provider, { value: enabled ? layoutNodeId : void 0, children }) });
3703
3712
  }
3704
- createContext(null);
3713
+ var ComponentContext = createContext(null);
3714
+ function ComponentContextProvider({
3715
+ children,
3716
+ slots,
3717
+ props,
3718
+ layoutNodeId,
3719
+ componentId
3720
+ }) {
3721
+ const next = hydratePageResourceProps(props || {}, getPageResourceFields());
3722
+ return /* @__PURE__ */ jsx(
3723
+ ComponentContext.Provider,
3724
+ {
3725
+ value: { slots, props: next, layoutNodeId, componentId },
3726
+ children
3727
+ }
3728
+ );
3729
+ }
3730
+ var REGISTRY_BRAND = Symbol.for("amplifyup.componentRegistry");
3731
+ var isComponentRegistry = (value) => !!value && typeof value === "object" && value[REGISTRY_BRAND] === true;
3732
+ var warnedMissing = /* @__PURE__ */ new Set();
3733
+ var warnMissingOnce = (componentId) => {
3734
+ if (warnedMissing.has(componentId)) return;
3735
+ warnedMissing.add(componentId);
3736
+ console.warn(
3737
+ `[Amplify UP] No component in your component registry matches "${componentId}". Add a file with that name to your components folder.`
3738
+ );
3739
+ };
3740
+ var MissingComponentHint = ({ componentId }) => /* @__PURE__ */ jsxs(
3741
+ "div",
3742
+ {
3743
+ "data-amplifyup-missing-component": componentId,
3744
+ style: {
3745
+ margin: "0.5rem 0",
3746
+ padding: "0.75rem 1rem",
3747
+ border: "1.5px dashed currentColor",
3748
+ borderRadius: 8,
3749
+ opacity: 0.7,
3750
+ fontSize: 14,
3751
+ textAlign: "center"
3752
+ },
3753
+ children: [
3754
+ "\u201C",
3755
+ componentId,
3756
+ "\u201D isn\u2019t set up on this site yet."
3757
+ ]
3758
+ }
3759
+ );
3760
+ var RegistryComponent = ({
3761
+ registry,
3762
+ componentId,
3763
+ props,
3764
+ slots,
3765
+ layoutNodeId,
3766
+ composerPreview
3767
+ }) => {
3768
+ const Component2 = registry.resolve(componentId);
3769
+ if (!Component2) {
3770
+ warnMissingOnce(componentId);
3771
+ return composerPreview ? /* @__PURE__ */ jsx(MissingComponentHint, { componentId }) : null;
3772
+ }
3773
+ return /* @__PURE__ */ jsx(
3774
+ ComponentContextProvider,
3775
+ {
3776
+ props,
3777
+ slots,
3778
+ layoutNodeId,
3779
+ componentId,
3780
+ children: /* @__PURE__ */ jsx(Component2, { ...props })
3781
+ }
3782
+ );
3783
+ };
3784
+ var assertComponentRegistry = (owner, props) => {
3785
+ if ("renderComponent" in props) {
3786
+ throw new Error(
3787
+ `[Amplify UP] ${owner}: renderComponent was removed in @amplifyup/sdk 0.2.0. Components now load automatically \u2014 wrap next.config with withAmplifyUp and render <AmplifyPage /> from the generated component registry. See "Upgrading from 0.1" in the SDK README.`
3788
+ );
3789
+ }
3790
+ if (!isComponentRegistry(props.registry)) {
3791
+ throw new Error(
3792
+ `[Amplify UP] ${owner} needs your component registry. Render <AmplifyPage /> from the generated .amplifyup/component-registry module (created by withAmplifyUp or \`amplifyup registry\`).`
3793
+ );
3794
+ }
3795
+ };
3705
3796
  var usePathname = null;
3706
3797
  if (typeof window !== "undefined") {
3707
3798
  try {
@@ -3788,22 +3879,33 @@ function NodeWithFields({
3788
3879
  componentId,
3789
3880
  props,
3790
3881
  slots,
3791
- renderComponent,
3882
+ registry,
3792
3883
  composerPreview
3793
3884
  }) {
3794
- return /* @__PURE__ */ jsx(MaybeComposerProvider, { enabled: !!composerPreview, layoutNodeId: nodeId, children: renderComponent(componentId, props, slots, {
3795
- layoutNodeId: nodeId
3796
- }) });
3885
+ return /* @__PURE__ */ jsx(MaybeComposerProvider, { enabled: !!composerPreview, layoutNodeId: nodeId, children: /* @__PURE__ */ jsx(
3886
+ RegistryComponent,
3887
+ {
3888
+ registry,
3889
+ componentId,
3890
+ props,
3891
+ slots,
3892
+ layoutNodeId: nodeId,
3893
+ composerPreview: !!composerPreview
3894
+ }
3895
+ ) });
3797
3896
  }
3798
- function AmplifyRendererInner({
3799
- renderComponent,
3800
- pageConfig: serverPageConfig,
3801
- loadingComponent,
3802
- errorComponent,
3803
- emptyComponent,
3804
- composerPreview
3805
- }) {
3897
+ function AmplifyRendererInner(rendererProps) {
3898
+ assertComponentRegistry("AmplifyRenderer", rendererProps);
3899
+ const {
3900
+ registry,
3901
+ pageConfig: serverPageConfig,
3902
+ loadingComponent,
3903
+ errorComponent,
3904
+ emptyComponent,
3905
+ composerPreview
3906
+ } = rendererProps;
3806
3907
  const clientHook = useAmplifyUp();
3908
+ useRegisterPageContent(!serverPageConfig);
3807
3909
  const composerPreviewFlag = useComposerPreviewFlag(!!composerPreview);
3808
3910
  const pageConfig = serverPageConfig || clientHook.pageConfig || null;
3809
3911
  const loading = serverPageConfig ? false : clientHook.loading;
@@ -4137,7 +4239,7 @@ function AmplifyRendererInner({
4137
4239
  componentId: node.componentId,
4138
4240
  props: nodeRenderProps(node),
4139
4241
  slots: slotsToPass,
4140
- renderComponent,
4242
+ registry,
4141
4243
  composerPreview: composerPreviewFlag
4142
4244
  }
4143
4245
  )