@plasmicapp/loader-react 1.0.94 → 1.0.97

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.
@@ -5,12 +5,18 @@ interface PlasmicRootContextValue {
5
5
  globalContextsProps?: Record<string, any>;
6
6
  loader: InternalPlasmicComponentLoader;
7
7
  variation?: Record<string, string>;
8
+ translator?: PlasmicTranslator;
8
9
  }
9
10
  export interface GlobalVariantSpec {
10
11
  name: string;
11
12
  projectId?: string;
12
13
  value: any;
13
14
  }
15
+ export declare type PlasmicTranslator = (str: string, opts?: {
16
+ components?: {
17
+ [key: string]: React.ReactElement | React.ReactFragment;
18
+ };
19
+ }) => React.ReactNode;
14
20
  /**
15
21
  * PlasmicRootProvider should be used at the root of your page
16
22
  * or application.
@@ -60,6 +66,10 @@ export declare function PlasmicRootProvider(props: {
60
66
  * Specifies a mapping of split id to slice id that should be activated
61
67
  */
62
68
  variation?: Record<string, string>;
69
+ /**
70
+ * Translator function to be used for text blocks
71
+ */
72
+ translator?: PlasmicTranslator;
63
73
  }): JSX.Element;
64
74
  export declare function usePlasmicRootContext(): PlasmicRootContextValue | undefined;
65
75
  export {};
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { usePlasmicQueryData } from '@plasmicapp/query';
4
4
  export { convertBundlesToComponentRenderData } from './bundles';
5
5
  export { ComponentRenderData, InitOptions, initPlasmicLoader, InternalPlasmicComponentLoader, PlasmicComponentLoader, } from './loader';
6
6
  export { PlasmicComponent } from './PlasmicComponent';
7
- export { GlobalVariantSpec, PlasmicRootProvider } from './PlasmicRootProvider';
7
+ export { GlobalVariantSpec, PlasmicRootProvider, PlasmicTranslator, } from './PlasmicRootProvider';
8
8
  export { extractPlasmicQueryData, plasmicPrepass } from './prepass';
9
9
  export { hydrateFromElement, renderToElement, renderToString } from './render';
10
10
  export { usePlasmicComponent } from './usePlasmicComponent';
@@ -1317,7 +1317,8 @@ function PlasmicRootProvider(props) {
1317
1317
  prefetchedQueryData = props.prefetchedQueryData,
1318
1318
  suspenseForQueryData = props.suspenseForQueryData,
1319
1319
  globalContextsProps = props.globalContextsProps,
1320
- variation = props.variation;
1320
+ variation = props.variation,
1321
+ translator = props.translator;
1321
1322
  var loader = props.loader.__internal;
1322
1323
 
1323
1324
  if (prefetchedData) {
@@ -1348,9 +1349,10 @@ function PlasmicRootProvider(props) {
1348
1349
  globalVariants: mergeGlobalVariantsSpec(globalVariants != null ? globalVariants : [], getGlobalVariantsFromSplits(splits, variation != null ? variation : {})),
1349
1350
  globalContextsProps: globalContextsProps,
1350
1351
  loader: loader,
1351
- variation: variation
1352
+ variation: variation,
1353
+ translator: translator
1352
1354
  };
1353
- }, [globalVariants, variation, globalContextsProps, loader, splits]);
1355
+ }, [globalVariants, variation, globalContextsProps, loader, splits, translator]);
1354
1356
  return React.createElement(PlasmicQuery.PlasmicQueryDataProvider, {
1355
1357
  prefetchedCache: prefetchedQueryData,
1356
1358
  suspense: suspenseForQueryData
@@ -2341,7 +2343,8 @@ function PlasmicComponent(props) {
2341
2343
  }
2342
2344
 
2343
2345
  var loader = rootContext.loader,
2344
- globalContextsProps = rootContext.globalContextsProps;
2346
+ globalContextsProps = rootContext.globalContextsProps,
2347
+ translator = rootContext.translator;
2345
2348
  var Component = usePlasmicComponent({
2346
2349
  name: component,
2347
2350
  projectId: projectId
@@ -2370,7 +2373,9 @@ function PlasmicComponent(props) {
2370
2373
  name: component,
2371
2374
  projectId: projectId
2372
2375
  });
2373
- element = React.createElement(ReactWebRootProvider, null, React.createElement(MaybeWrap, {
2376
+ element = React.createElement(ReactWebRootProvider, {
2377
+ translator: translator
2378
+ }, React.createElement(MaybeWrap, {
2374
2379
  cond: !!GlobalContextsProvider,
2375
2380
  wrapper: function wrapper(children) {
2376
2381
  return React.createElement(GlobalContextsProvider, Object.assign({}, globalContextsProps), children);