@plasmicapp/react-web 0.2.233 → 0.2.235

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/all.d.ts CHANGED
@@ -44,6 +44,7 @@ type InitFuncEnv = {
44
44
  $state: Record<string, any>;
45
45
  $queries?: Record<string, any>;
46
46
  $ctx?: Record<string, any>;
47
+ $refs?: Record<string, any>;
47
48
  };
48
49
  type DollarStateEnv = Omit<InitFuncEnv, "$state">;
49
50
  type NoUndefinedField<T> = {
@@ -61,6 +62,8 @@ interface $StateSpec<T> {
61
62
  isImmutable?: boolean;
62
63
  variableType: "text" | "number" | "boolean" | "array" | "object" | "variant";
63
64
  initFuncHash?: string;
65
+ refName?: string;
66
+ onMutate?: (stateValue: T, $ref: any) => void;
64
67
  }
65
68
  interface $State {
66
69
  [key: string]: any;
@@ -11067,6 +11070,7 @@ type StateSpec = {
11067
11070
  interface StateHelpers<P, T> {
11068
11071
  initFunc?: ($props: P) => T;
11069
11072
  onChangeArgsToValue?: (...args: any) => T;
11073
+ onMutate?: (stateValue: T, $ref: any) => void;
11070
11074
  }
11071
11075
  type ComponentHelpers<P> = {
11072
11076
  states: Record<string, StateHelpers<P, any>>;
@@ -11477,15 +11481,19 @@ interface DataSourceType<P> extends PropTypeBase<P> {
11477
11481
  dataSource: "airtable" | "cms";
11478
11482
  }
11479
11483
  type DataPickerValueType = string | number | (string | number)[];
11480
- interface DataPickerType<P> extends PropTypeBaseDefault<P, DataPickerValueType> {
11484
+ interface RichDataPickerType<P> extends PropTypeBaseDefault<P, DataPickerValueType> {
11481
11485
  type: "dataSelector";
11482
- data: Record<string, any> | ContextDependentConfig<P, Record<string, any>>;
11486
+ data?: Record<string, any> | ContextDependentConfig<P, Record<string, any>>;
11483
11487
  alwaysShowValuePathAsLabel?: boolean;
11488
+ mergeWithExternalData?: boolean;
11484
11489
  }
11485
- interface ExprEditorType<P> extends PropTypeBaseDefault<P, DataPickerValueType> {
11490
+ type DataPickerType<P> = "dataPicker" | RichDataPickerType<P>;
11491
+ interface RichExprEditorType<P> extends PropTypeBaseDefault<P, DataPickerValueType> {
11486
11492
  type: "exprEditor";
11487
- data: Record<string, any> | ContextDependentConfig<P, Record<string, any>>;
11493
+ data?: Record<string, any> | ContextDependentConfig<P, Record<string, any>>;
11494
+ mergeWithExternalData?: boolean;
11488
11495
  }
11496
+ type ExprEditorType<P> = "exprEditor" | RichExprEditorType<P>;
11489
11497
  interface FormValidationRulesType<P> extends PropTypeBaseDefault<P, any> {
11490
11498
  type: "formValidationRules";
11491
11499
  }
@@ -11755,6 +11763,7 @@ declare function initializeCodeComponentStates($state: $State, states: {
11755
11763
  name: string;
11756
11764
  plasmicStateName: string;
11757
11765
  }[], repetitionIndex: number[], componentHelpers: ComponentHelpers<any>, child$Props: Record<string, any>): void;
11766
+ declare function generateOnMutateForSpec(stateName: string, componentHelpers: ComponentHelpers<any>): ((stateValue: any, $ref: any) => void) | undefined;
11758
11767
  declare function initializePlasmicStates($state: $State, states: {
11759
11768
  name: string;
11760
11769
  initFunc: InitFunc<any>;
@@ -12032,6 +12041,7 @@ interface TransProps {
12032
12041
  transKey?: string;
12033
12042
  children?: React__default.ReactNode;
12034
12043
  }
12044
+ declare function usePlasmicTranslator(): PlasmicTranslator | undefined;
12035
12045
  declare function genTranslatableString(elt: React__default.ReactNode, opts?: {
12036
12046
  tagPrefix?: string;
12037
12047
  }): {
@@ -13413,4 +13423,4 @@ interface TriggeredOverlayContextValue {
13413
13423
  }
13414
13424
  declare const TriggeredOverlayContext: React$1.Context<TriggeredOverlayContextValue | undefined>;
13415
13425
 
13416
- export { $State, $StateSpec, BaseButtonProps, BaseMenuButtonProps, BaseMenuGroupProps, BaseMenuItemProps, BaseMenuProps, BaseSelectOptionGroupProps, BaseSelectOptionProps, BaseSelectProps, BaseTextInputProps, BaseTriggeredOverlayProps, ButtonRef, CheckboxProps, CheckboxRef, CheckboxRefValue, DropdownMenu, Flex, HTMLElementRefOf, HtmlAnchorOnlyProps, HtmlButtonOnlyProps, MenuButtonRef, MenuButtonRefValue, MenuRef, MenuRefValue, MultiChoiceArg, PlasmicDataSourceContextProvider, PlasmicHead, PlasmicIcon, PlasmicImg, PlasmicLink, PlasmicPageGuard, PlasmicRootProvider, PlasmicSlot, PlasmicTranslator, PlumeButtonProps, PlumeTextInputProps, SelectContext, SelectOptionRef, SelectRef, SelectRefValue, SingleBooleanChoiceArg, SingleChoiceArg, Stack, StrictProps, SwitchProps, SwitchRef, SwitchRefValue, TextInputRef, TextInputRefValue, Trans, TriggeredOverlayConfig, TriggeredOverlayContext, TriggeredOverlayRef, classNames, createPlasmicElementProxy, createUseScreenVariants, deriveRenderOpts, ensureGlobalVariants, genTranslatableString, generateStateOnChangeProp, generateStateOnChangePropForCodeComponents, generateStateValueProp, dlv as get, getCurrentInitialValue, getDataProps, getStateCellsInPlasmicProxy, getStateSpecInPlasmicProxy, hasVariant, initializeCodeComponentStates, initializePlasmicStates, is$StateProxy, isPlasmicStateProxy, makeFragment, mergeVariantsWithStates, omit, pick, plasmicHeadMeta, renderPlasmicSlot, resetToInitialValue, set, setPlumeStrictMode, useButton, useCheckbox, useCurrentUser, useDollarState, useIsSSR, useMenu, useMenuButton, useMenuGroup, useMenuItem, useSelect, useSelectOption, useSelectOptionGroup, useSwitch, useTextInput, useTrigger, useTriggeredOverlay, withPlasmicPageGuard, wrapWithClassName };
13426
+ export { $State, $StateSpec, BaseButtonProps, BaseMenuButtonProps, BaseMenuGroupProps, BaseMenuItemProps, BaseMenuProps, BaseSelectOptionGroupProps, BaseSelectOptionProps, BaseSelectProps, BaseTextInputProps, BaseTriggeredOverlayProps, ButtonRef, CheckboxProps, CheckboxRef, CheckboxRefValue, DropdownMenu, Flex, HTMLElementRefOf, HtmlAnchorOnlyProps, HtmlButtonOnlyProps, MenuButtonRef, MenuButtonRefValue, MenuRef, MenuRefValue, MultiChoiceArg, PlasmicDataSourceContextProvider, PlasmicHead, PlasmicIcon, PlasmicImg, PlasmicLink, PlasmicPageGuard, PlasmicRootProvider, PlasmicSlot, PlasmicTranslator, PlumeButtonProps, PlumeTextInputProps, SelectContext, SelectOptionRef, SelectRef, SelectRefValue, SingleBooleanChoiceArg, SingleChoiceArg, Stack, StrictProps, SwitchProps, SwitchRef, SwitchRefValue, TextInputRef, TextInputRefValue, Trans, TriggeredOverlayConfig, TriggeredOverlayContext, TriggeredOverlayRef, classNames, createPlasmicElementProxy, createUseScreenVariants, deriveRenderOpts, ensureGlobalVariants, genTranslatableString, generateOnMutateForSpec, generateStateOnChangeProp, generateStateOnChangePropForCodeComponents, generateStateValueProp, dlv as get, getCurrentInitialValue, getDataProps, getStateCellsInPlasmicProxy, getStateSpecInPlasmicProxy, hasVariant, initializeCodeComponentStates, initializePlasmicStates, is$StateProxy, isPlasmicStateProxy, makeFragment, mergeVariantsWithStates, omit, pick, plasmicHeadMeta, renderPlasmicSlot, resetToInitialValue, set, setPlumeStrictMode, useButton, useCheckbox, useCurrentUser, useDollarState, useIsSSR, useMenu, useMenuButton, useMenuGroup, useMenuItem, usePlasmicTranslator, useSelect, useSelectOption, useSelectOptionGroup, useSwitch, useTextInput, useTrigger, useTriggeredOverlay, withPlasmicPageGuard, wrapWithClassName };
@@ -12,7 +12,7 @@ export { PlasmicSlot, renderPlasmicSlot } from "./render/PlasmicSlot";
12
12
  export { createUseScreenVariants } from "./render/screen-variants";
13
13
  export { PlasmicDataSourceContextProvider, PlasmicRootProvider, useCurrentUser, useIsSSR, } from "./render/ssr";
14
14
  export { Stack } from "./render/Stack";
15
- export { genTranslatableString, Trans, PlasmicTranslator, } from "./render/translation";
15
+ export { genTranslatableString, Trans, PlasmicTranslator, usePlasmicTranslator, } from "./render/translation";
16
16
  export { useTrigger } from "./render/triggers";
17
17
  export * from "./states";
18
18
  export declare const classNames: typeof _classNames;
package/dist/index.cjs.js CHANGED
@@ -1455,6 +1455,15 @@ var PlasmicTranslatorContext = React__default['default'].createContext(undefined
1455
1455
  function isIterable(val) {
1456
1456
  return val != null && typeof val[Symbol.iterator] === "function";
1457
1457
  }
1458
+ function usePlasmicTranslator() {
1459
+ var _t = React__default['default'].useContext(PlasmicTranslatorContext);
1460
+ var translator = _t
1461
+ ? typeof _t === "function"
1462
+ ? _t
1463
+ : _t.translator
1464
+ : undefined;
1465
+ return translator;
1466
+ }
1458
1467
  function genTranslatableString(elt, opts) {
1459
1468
  var components = {};
1460
1469
  var componentsCount = 0;
@@ -2036,9 +2045,13 @@ function subscribeToValtio($$state, statePath, node) {
2036
2045
  var maybeValtioProxy = spec.valueProp
2037
2046
  ? $$state.env.$props[spec.valueProp]
2038
2047
  : get__default['default']($$state.stateValues, statePath);
2039
- if (valtio.getVersion(maybeValtioProxy) && spec.onChangeProp) {
2048
+ if (valtio.getVersion(maybeValtioProxy) &&
2049
+ (spec.onChangeProp || (spec.onMutate && node.isLeaf()))) {
2040
2050
  var unsub = valtio.subscribe(maybeValtioProxy, function () {
2041
2051
  var _a, _b;
2052
+ if (spec.onMutate && node.isLeaf()) {
2053
+ spec.onMutate(maybeValtioProxy, spec.refName ? $$state.env.$refs[spec.refName] : undefined);
2054
+ }
2042
2055
  (_b = (_a = $$state.env.$props)[spec.onChangeProp]) === null || _b === void 0 ? void 0 : _b.call(_a, spec.valueProp
2043
2056
  ? $$state.env.$props[spec.valueProp]
2044
2057
  : get__default['default']($$state.stateValues, statePath));
@@ -2207,11 +2220,12 @@ var mkUntrackedValue = function (o) {
2207
2220
  return o != null && typeof o === "object" ? valtio.ref(o) : o;
2208
2221
  };
2209
2222
  var envFieldsAreNonNill = function (env) {
2210
- var _a, _b;
2223
+ var _a, _b, _c;
2211
2224
  return ({
2212
2225
  $props: env.$props,
2213
2226
  $ctx: (_a = env.$ctx) !== null && _a !== void 0 ? _a : {},
2214
2227
  $queries: (_b = env.$queries) !== null && _b !== void 0 ? _b : {},
2228
+ $refs: (_c = env.$refs) !== null && _c !== void 0 ? _c : {},
2215
2229
  });
2216
2230
  };
2217
2231
  /**
@@ -2448,6 +2462,10 @@ function initializeCodeComponentStates($state, states, repetitionIndex, componen
2448
2462
  finally { if (e_1) throw e_1.error; }
2449
2463
  }
2450
2464
  }
2465
+ function generateOnMutateForSpec(stateName, componentHelpers) {
2466
+ var _a, _b;
2467
+ return (_b = (_a = componentHelpers === null || componentHelpers === void 0 ? void 0 : componentHelpers.states) === null || _a === void 0 ? void 0 : _a[stateName]) === null || _b === void 0 ? void 0 : _b.onMutate;
2468
+ }
2451
2469
  function initializePlasmicStates($state, states, repetitionIndex) {
2452
2470
  var e_2, _a;
2453
2471
  var _b;
@@ -3877,6 +3895,7 @@ exports.createUseScreenVariants = createUseScreenVariants;
3877
3895
  exports.deriveRenderOpts = deriveRenderOpts;
3878
3896
  exports.ensureGlobalVariants = ensureGlobalVariants;
3879
3897
  exports.genTranslatableString = genTranslatableString;
3898
+ exports.generateOnMutateForSpec = generateOnMutateForSpec;
3880
3899
  exports.generateStateOnChangeProp = generateStateOnChangeProp;
3881
3900
  exports.generateStateOnChangePropForCodeComponents = generateStateOnChangePropForCodeComponents;
3882
3901
  exports.generateStateValueProp = generateStateValueProp;
@@ -3906,6 +3925,7 @@ exports.useMenu = useMenu;
3906
3925
  exports.useMenuButton = useMenuButton;
3907
3926
  exports.useMenuGroup = useMenuGroup;
3908
3927
  exports.useMenuItem = useMenuItem;
3928
+ exports.usePlasmicTranslator = usePlasmicTranslator;
3909
3929
  exports.useSelect = useSelect;
3910
3930
  exports.useSelectOption = useSelectOption;
3911
3931
  exports.useSelectOptionGroup = useSelectOptionGroup;