@plasmicapp/react-web 0.2.234 → 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>;
@@ -13414,4 +13423,4 @@ interface TriggeredOverlayContextValue {
13414
13423
  }
13415
13424
  declare const TriggeredOverlayContext: React$1.Context<TriggeredOverlayContextValue | undefined>;
13416
13425
 
13417
- 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, usePlasmicTranslator, 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 };
package/dist/index.cjs.js CHANGED
@@ -2045,9 +2045,13 @@ function subscribeToValtio($$state, statePath, node) {
2045
2045
  var maybeValtioProxy = spec.valueProp
2046
2046
  ? $$state.env.$props[spec.valueProp]
2047
2047
  : get__default['default']($$state.stateValues, statePath);
2048
- if (valtio.getVersion(maybeValtioProxy) && spec.onChangeProp) {
2048
+ if (valtio.getVersion(maybeValtioProxy) &&
2049
+ (spec.onChangeProp || (spec.onMutate && node.isLeaf()))) {
2049
2050
  var unsub = valtio.subscribe(maybeValtioProxy, function () {
2050
2051
  var _a, _b;
2052
+ if (spec.onMutate && node.isLeaf()) {
2053
+ spec.onMutate(maybeValtioProxy, spec.refName ? $$state.env.$refs[spec.refName] : undefined);
2054
+ }
2051
2055
  (_b = (_a = $$state.env.$props)[spec.onChangeProp]) === null || _b === void 0 ? void 0 : _b.call(_a, spec.valueProp
2052
2056
  ? $$state.env.$props[spec.valueProp]
2053
2057
  : get__default['default']($$state.stateValues, statePath));
@@ -2216,11 +2220,12 @@ var mkUntrackedValue = function (o) {
2216
2220
  return o != null && typeof o === "object" ? valtio.ref(o) : o;
2217
2221
  };
2218
2222
  var envFieldsAreNonNill = function (env) {
2219
- var _a, _b;
2223
+ var _a, _b, _c;
2220
2224
  return ({
2221
2225
  $props: env.$props,
2222
2226
  $ctx: (_a = env.$ctx) !== null && _a !== void 0 ? _a : {},
2223
2227
  $queries: (_b = env.$queries) !== null && _b !== void 0 ? _b : {},
2228
+ $refs: (_c = env.$refs) !== null && _c !== void 0 ? _c : {},
2224
2229
  });
2225
2230
  };
2226
2231
  /**
@@ -2457,6 +2462,10 @@ function initializeCodeComponentStates($state, states, repetitionIndex, componen
2457
2462
  finally { if (e_1) throw e_1.error; }
2458
2463
  }
2459
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
+ }
2460
2469
  function initializePlasmicStates($state, states, repetitionIndex) {
2461
2470
  var e_2, _a;
2462
2471
  var _b;
@@ -3886,6 +3895,7 @@ exports.createUseScreenVariants = createUseScreenVariants;
3886
3895
  exports.deriveRenderOpts = deriveRenderOpts;
3887
3896
  exports.ensureGlobalVariants = ensureGlobalVariants;
3888
3897
  exports.genTranslatableString = genTranslatableString;
3898
+ exports.generateOnMutateForSpec = generateOnMutateForSpec;
3889
3899
  exports.generateStateOnChangeProp = generateStateOnChangeProp;
3890
3900
  exports.generateStateOnChangePropForCodeComponents = generateStateOnChangePropForCodeComponents;
3891
3901
  exports.generateStateValueProp = generateStateValueProp;