@plasmicpkgs/antd5 0.0.148 → 0.0.150

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.
@@ -1,5 +1,5 @@
1
1
  import { Modal } from "antd";
2
- import React from "react";
2
+ import React, { ReactElement } from "react";
3
3
  import { Registerable } from "./utils";
4
4
  export declare function AntdModal(props: React.ComponentProps<typeof Modal> & {
5
5
  onOpenChange?: (open: boolean) => void;
@@ -7,5 +7,6 @@ export declare function AntdModal(props: React.ComponentProps<typeof Modal> & {
7
7
  modalScopeClassName: string;
8
8
  wrapClassName: string;
9
9
  hideFooter?: boolean;
10
+ trigger?: ReactElement;
10
11
  }): React.JSX.Element;
11
12
  export declare function registerModal(loader?: Registerable): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/antd5",
3
- "version": "0.0.148",
3
+ "version": "0.0.150",
4
4
  "description": "Plasmic registration calls for antd components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -65,7 +65,7 @@
65
65
  "@plasmicapp/data-sources": "0.1.128",
66
66
  "@plasmicapp/host": "1.0.173",
67
67
  "@plasmicapp/query": "0.1.74",
68
- "@plasmicapp/react-web": "0.2.272",
68
+ "@plasmicapp/react-web": "0.2.273",
69
69
  "@rollup/plugin-commonjs": "^11.0.0",
70
70
  "@rollup/plugin-json": "^4.0.0",
71
71
  "@rollup/plugin-node-resolve": "^9.0.0",
@@ -102,5 +102,5 @@
102
102
  "publishConfig": {
103
103
  "access": "public"
104
104
  },
105
- "gitHead": "7e568e741a82d5b77452edbc4d8d4492bf02441f"
105
+ "gitHead": "4a2a167f2e3c2cdedaebb3d25cba716380c505b4"
106
106
  }
@@ -41,29 +41,48 @@ var __objRest = (source, exclude) => {
41
41
  }
42
42
  return target;
43
43
  };
44
+ const styleSections = [
45
+ "visibility",
46
+ "typography",
47
+ "spacing",
48
+ "background",
49
+ "transform",
50
+ "transitions",
51
+ "layout",
52
+ "overflow",
53
+ "border",
54
+ "shadows",
55
+ "effects"
56
+ ];
44
57
  function AntdModal(props) {
58
+ const [isOpen, setIsOpen] = React.useState(false);
45
59
  const _a = props, {
46
60
  onOpenChange,
47
61
  onOk,
48
62
  onCancel,
49
63
  open,
64
+ width,
50
65
  footer,
51
66
  hideFooter,
52
67
  modalScopeClassName,
53
- wrapClassName
68
+ wrapClassName,
69
+ trigger
54
70
  } = _a, rest = __objRest(_a, [
55
71
  "onOpenChange",
56
72
  "onOk",
57
73
  "onCancel",
58
74
  "open",
75
+ "width",
59
76
  "footer",
60
77
  "hideFooter",
61
78
  "modalScopeClassName",
62
- "wrapClassName"
79
+ "wrapClassName",
80
+ "trigger"
63
81
  ]);
64
82
  const memoOnOk = React__default.default.useMemo(() => {
65
83
  if (onOpenChange || onOk) {
66
84
  return (e) => {
85
+ setIsOpen(false);
67
86
  onOpenChange == null ? void 0 : onOpenChange(false);
68
87
  onOk == null ? void 0 : onOk(e);
69
88
  };
@@ -74,6 +93,7 @@ function AntdModal(props) {
74
93
  const memoOnCancel = React__default.default.useMemo(() => {
75
94
  if (onOpenChange || onCancel) {
76
95
  return (e) => {
96
+ setIsOpen(false);
77
97
  onOpenChange == null ? void 0 : onOpenChange(false);
78
98
  onCancel == null ? void 0 : onCancel(e);
79
99
  };
@@ -81,27 +101,47 @@ function AntdModal(props) {
81
101
  return void 0;
82
102
  }
83
103
  }, [onOpenChange, onCancel]);
84
- return /* @__PURE__ */ React__default.default.createElement(
104
+ const widthProp = React.useMemo(() => {
105
+ if (!width)
106
+ return void 0;
107
+ if (typeof width === "number")
108
+ return width;
109
+ if (typeof width !== "string")
110
+ return void 0;
111
+ if (/^\d+$/.test(width)) {
112
+ return +width;
113
+ }
114
+ return width;
115
+ }, [width]);
116
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
85
117
  antd.Modal,
86
118
  __spreadProps(__spreadValues({}, rest), {
87
119
  onOk: memoOnOk,
120
+ width: widthProp,
88
121
  onCancel: memoOnCancel,
89
- open,
122
+ open: isOpen || open,
90
123
  footer: hideFooter ? null : footer != null ? footer : void 0,
91
124
  wrapClassName,
92
125
  className: `${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`
93
126
  })
94
- );
127
+ ), trigger ? /* @__PURE__ */ React__default.default.createElement("div", { onClick: () => setIsOpen(true) }, trigger) : null);
95
128
  }
96
129
  function registerModal(loader) {
97
130
  utils.registerComponentHelper(loader, AntdModal, {
98
131
  name: "plasmic-antd5-modal",
99
132
  displayName: "Modal",
133
+ styleSections,
100
134
  description: "[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)",
101
135
  props: {
102
136
  open: {
103
137
  type: "boolean"
104
138
  },
139
+ width: {
140
+ type: "string",
141
+ defaultValueHint: "520px",
142
+ description: "Change the width of the modal",
143
+ helpText: "Default unit is px. You can also use % or other units for width."
144
+ },
105
145
  children: {
106
146
  type: "slot",
107
147
  defaultValue: {
@@ -121,6 +161,22 @@ function registerModal(loader) {
121
161
  return (_a = ps.hideFooter) != null ? _a : false;
122
162
  }
123
163
  },
164
+ trigger: __spreadValues({
165
+ type: "slot",
166
+ hidePlaceholder: true,
167
+ defaultValue: {
168
+ type: "component",
169
+ name: "plasmic-antd5-button",
170
+ props: {
171
+ children: {
172
+ type: "text",
173
+ value: "Show modal"
174
+ }
175
+ }
176
+ }
177
+ }, {
178
+ mergeWithParent: true
179
+ }),
124
180
  closeIcon: {
125
181
  type: "slot",
126
182
  hidePlaceholder: true
@@ -154,7 +210,7 @@ function registerModal(loader) {
154
210
  },
155
211
  wrapClassName: {
156
212
  type: "class",
157
- displayName: "Modal container",
213
+ displayName: "Modal overlay",
158
214
  styleSections: ["background"]
159
215
  },
160
216
  modalScopeClassName: {
@@ -165,6 +221,7 @@ function registerModal(loader) {
165
221
  type: "class",
166
222
  displayName: "Modal content",
167
223
  noSelf: true,
224
+ styleSections,
168
225
  selectors: [
169
226
  {
170
227
  selector: ":modal .ant-modal-content",
@@ -1 +1 @@
1
- {"version":3,"file":"registerModal.cjs.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import { Modal } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n modalScopeClassName: string;\n wrapClassName: string;\n hideFooter?: boolean;\n }\n) {\n const {\n onOpenChange,\n onOk,\n onCancel,\n open,\n footer,\n hideFooter,\n modalScopeClassName,\n wrapClassName,\n ...rest\n } = props;\n const memoOnOk = React.useMemo(() => {\n if (onOpenChange || onOk) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onOk?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onOk]);\n const memoOnCancel = React.useMemo(() => {\n if (onOpenChange || onCancel) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onCancel?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onCancel]);\n return (\n <Modal\n {...rest}\n onOk={memoOnOk}\n onCancel={memoOnCancel}\n open={open}\n footer={hideFooter ? null : footer ?? undefined}\n wrapClassName={wrapClassName}\n className={`${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`}\n />\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)\",\n props: {\n open: {\n type: \"boolean\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Modal content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Modal title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: (ps) => ps.hideFooter ?? false,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOk: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n onCancel: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n okText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n hideFooter: {\n type: \"boolean\",\n description: \"Hide the modal footer slot\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n wrapClassName: {\n type: \"class\",\n displayName: \"Modal container\",\n styleSections: [\"background\"],\n },\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalContentClassName: {\n type: \"class\",\n displayName: \"Modal content\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n templates: {\n \"Modal Form\": {\n props: {\n children: {\n type: \"component\",\n name: \"plasmic-antd5-form\",\n },\n hideFooter: true,\n },\n },\n \"Generic Modal\": {},\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n"],"names":["React","Modal","registerComponentHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAAS,UACd,KAOA,EAAA;AACA,EAAA,MAUI,EATF,GAAA,KAAA,EAAA;AAAA,IAAA,YAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,mBAAA;AAAA,IACA,aAAA;AAAA,GArBJ,GAuBM,EADC,EAAA,IAAA,GAAA,SAAA,CACD,EADC,EAAA;AAAA,IARH,cAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,qBAAA;AAAA,IACA,eAAA;AAAA,GAAA,CAAA,CAAA;AAGF,EAAM,MAAA,QAAA,GAAWA,sBAAM,CAAA,OAAA,CAAQ,MAAM;AACnC,IAAA,IAAI,gBAAgB,IAAM,EAAA;AACxB,MAAA,OAAO,CAAC,CAA2C,KAAA;AACjD,QAAe,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACf,QAAO,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACT,CAAA;AAAA,KACK,MAAA;AACL,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACC,EAAA,CAAC,YAAc,EAAA,IAAI,CAAC,CAAA,CAAA;AACvB,EAAM,MAAA,YAAA,GAAeA,sBAAM,CAAA,OAAA,CAAQ,MAAM;AACvC,IAAA,IAAI,gBAAgB,QAAU,EAAA;AAC5B,MAAA,OAAO,CAAC,CAA2C,KAAA;AACjD,QAAe,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACf,QAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACb,CAAA;AAAA,KACK,MAAA;AACL,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACC,EAAA,CAAC,YAAc,EAAA,QAAQ,CAAC,CAAA,CAAA;AAC3B,EACE,uBAAAA,sBAAA,CAAA,aAAA;AAAA,IAACC,UAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACK,IADL,CAAA,EAAA;AAAA,MAEC,IAAM,EAAA,QAAA;AAAA,MACN,QAAU,EAAA,YAAA;AAAA,MACV,IAAA;AAAA,MACA,MAAA,EAAQ,UAAa,GAAA,IAAA,GAAO,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA;AAAA,MACtC,aAAA;AAAA,MACA,SAAW,EAAA,CAAA,EAAG,KAAM,CAAA,SAAA,CAAA,CAAA,EAAa,MAAM,sBAA0B,CAAA,CAAA,EAAA,mBAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GACnE,CAAA;AAEJ,CAAA;AAEO,SAAS,cAAc,MAAuB,EAAA;AACnD,EAAAC,6BAAA,CAAwB,QAAQ,SAAW,EAAA;AAAA,IACzC,IAAM,EAAA,qBAAA;AAAA,IACN,WAAa,EAAA,OAAA;AAAA,IACb,WACE,EAAA,mEAAA;AAAA,IACF,KAAO,EAAA;AAAA,MACL,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,SAAA;AAAA,OACR;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,MAAA;AAAA,QACN,YAAc,EAAA;AAAA,UACZ,IAAM,EAAA,MAAA;AAAA,UACN,QAAA,EAAU,CAAC,eAAe,CAAA;AAAA,SAC5B;AAAA,OACF;AAAA,MACA,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,MAAA;AAAA,QACN,YAAc,EAAA,aAAA;AAAA,OAChB;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,MAAA;AAAA,QACN,eAAiB,EAAA,IAAA;AAAA,QACjB,MAAA,EAAQ,CAAC,EAAI,KAAA;AAjFrB,UAAA,IAAA,EAAA,CAAA;AAiFwB,UAAA,OAAA,CAAA,EAAA,GAAA,EAAA,CAAG,eAAH,IAAiB,GAAA,EAAA,GAAA,KAAA,CAAA;AAAA,SAAA;AAAA,OACnC;AAAA,MACA,SAAW,EAAA;AAAA,QACT,IAAM,EAAA,MAAA;AAAA,QACN,eAAiB,EAAA,IAAA;AAAA,OACnB;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,cAAA;AAAA,QACN,UAAU,EAAC;AAAA,OACb;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,cAAA;AAAA,QACN,UAAU,EAAC;AAAA,OACb;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,CAAC,EAAO,KAAA,CAAC,CAAC,EAAG,CAAA,MAAA;AAAA,QACrB,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,UAAY,EAAA;AAAA,QACV,IAAM,EAAA,QAAA;AAAA,QACN,MAAQ,EAAA,CAAC,EAAO,KAAA,CAAC,CAAC,EAAG,CAAA,MAAA;AAAA,QACrB,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,UAAY,EAAA;AAAA,QACV,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,4BAAA;AAAA,QACb,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,YAAc,EAAA;AAAA,QACZ,IAAM,EAAA,cAAA;AAAA,QACN,UAAU,CAAC,EAAE,MAAM,MAAQ,EAAA,IAAA,EAAM,WAAW,CAAA;AAAA,OAC9C;AAAA,MACA,aAAe,EAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,iBAAA;AAAA,QACb,aAAA,EAAe,CAAC,YAAY,CAAA;AAAA,OAC9B;AAAA,MACA,mBAAqB,EAAA;AAAA,QACnB,IAAM,EAAA,iBAAA;AAAA,QACN,SAAW,EAAA,OAAA;AAAA,OACb;AAAA,MACA,qBAAuB,EAAA;AAAA,QACrB,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,eAAA;AAAA,QACb,MAAQ,EAAA,IAAA;AAAA,QACR,SAAW,EAAA;AAAA,UACT;AAAA,YACE,QAAU,EAAA,2BAAA;AAAA,YACV,KAAO,EAAA,MAAA;AAAA,WACT;AAAA,SACF;AAAA,OACF;AAAA,MACA,oBAAsB,EAAA;AAAA,QACpB,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,cAAA;AAAA,QACb,MAAQ,EAAA,IAAA;AAAA,QACR,SAAW,EAAA;AAAA,UACT;AAAA,YACE,QAAU,EAAA,yBAAA;AAAA,YACV,KAAO,EAAA,MAAA;AAAA,WACT;AAAA,SACF;AAAA,QACA,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,sBAAwB,EAAA;AAAA,QACtB,IAAM,EAAA,iBAAA;AAAA,OACR;AAAA,KACF;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,UAAA;AAAA,QACN,SAAW,EAAA,MAAA;AAAA,QACX,YAAc,EAAA,cAAA;AAAA,QACd,YAAc,EAAA,SAAA;AAAA,OAChB;AAAA,KACF;AAAA,IACA,SAAW,EAAA;AAAA,MACT,YAAc,EAAA;AAAA,QACZ,KAAO,EAAA;AAAA,UACL,QAAU,EAAA;AAAA,YACR,IAAM,EAAA,WAAA;AAAA,YACN,IAAM,EAAA,oBAAA;AAAA,WACR;AAAA,UACA,UAAY,EAAA,IAAA;AAAA,SACd;AAAA,OACF;AAAA,MACA,iBAAiB,EAAC;AAAA,KACpB;AAAA,IACA,UAAY,EAAA,yCAAA;AAAA,IACZ,UAAY,EAAA,WAAA;AAAA,GACb,CAAA,CAAA;AACH;;;;;"}
1
+ {"version":3,"file":"registerModal.cjs.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import type { StyleSection } from \"@plasmicapp/host/registerComponent\";\nimport { Modal } from \"antd\";\nimport React, { ReactElement, useState, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\n// hide sizing section, as width can only be set via a width prop, and not css!\nconst styleSections: StyleSection[] = [\n \"visibility\",\n \"typography\",\n \"spacing\",\n \"background\",\n \"transform\",\n \"transitions\",\n \"layout\",\n \"overflow\",\n \"border\",\n \"shadows\",\n \"effects\",\n];\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n modalScopeClassName: string;\n wrapClassName: string;\n hideFooter?: boolean;\n trigger?: ReactElement;\n }\n) {\n const [isOpen, setIsOpen] = useState(false);\n\n const {\n onOpenChange,\n onOk,\n onCancel,\n open,\n width,\n footer,\n hideFooter,\n modalScopeClassName,\n wrapClassName,\n trigger,\n ...rest\n } = props;\n\n const memoOnOk = React.useMemo(() => {\n if (onOpenChange || onOk) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n setIsOpen(false);\n onOpenChange?.(false);\n onOk?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onOk]);\n const memoOnCancel = React.useMemo(() => {\n if (onOpenChange || onCancel) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n setIsOpen(false);\n onOpenChange?.(false);\n onCancel?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onCancel]);\n\n const widthProp = useMemo(() => {\n if (!width) return undefined;\n if (typeof width === \"number\") return width;\n if (typeof width !== \"string\") return undefined;\n if (/^\\d+$/.test(width)) {\n return +width;\n }\n return width;\n }, [width]);\n\n return (\n <>\n <Modal\n {...rest}\n onOk={memoOnOk}\n width={widthProp}\n onCancel={memoOnCancel}\n open={isOpen || open}\n footer={hideFooter ? null : footer ?? undefined}\n wrapClassName={wrapClassName}\n className={`${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`}\n />\n {trigger ? <div onClick={() => setIsOpen(true)}>{trigger}</div> : null}\n </>\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n styleSections,\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)\",\n props: {\n open: {\n type: \"boolean\",\n },\n width: {\n type: \"string\",\n defaultValueHint: \"520px\",\n description: \"Change the width of the modal\",\n helpText:\n \"Default unit is px. You can also use % or other units for width.\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Modal content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Modal title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: (ps) => ps.hideFooter ?? false,\n },\n trigger: {\n type: \"slot\",\n hidePlaceholder: true,\n defaultValue: {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Show modal\",\n },\n },\n },\n ...({\n mergeWithParent: true,\n } as any),\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOk: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n onCancel: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n okText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n hideFooter: {\n type: \"boolean\",\n description: \"Hide the modal footer slot\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n wrapClassName: {\n type: \"class\",\n displayName: \"Modal overlay\",\n styleSections: [\"background\"],\n },\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalContentClassName: {\n type: \"class\",\n displayName: \"Modal content\",\n noSelf: true,\n styleSections,\n selectors: [\n {\n selector: \":modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n templates: {\n \"Modal Form\": {\n props: {\n children: {\n type: \"component\",\n name: \"plasmic-antd5-form\",\n },\n hideFooter: true,\n },\n },\n \"Generic Modal\": {},\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n"],"names":["useState","React","useMemo","Modal","registerComponentHelper"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Modal } from "antd";
2
- import React from "react";
2
+ import React, { ReactElement } from "react";
3
3
  import { Registerable } from "./utils";
4
4
  export declare function AntdModal(props: React.ComponentProps<typeof Modal> & {
5
5
  onOpenChange?: (open: boolean) => void;
@@ -7,5 +7,6 @@ export declare function AntdModal(props: React.ComponentProps<typeof Modal> & {
7
7
  modalScopeClassName: string;
8
8
  wrapClassName: string;
9
9
  hideFooter?: boolean;
10
+ trigger?: ReactElement;
10
11
  }): React.JSX.Element;
11
12
  export declare function registerModal(loader?: Registerable): void;
@@ -1,5 +1,5 @@
1
1
  import { Modal } from 'antd';
2
- import React from 'react';
2
+ import React, { useState, useMemo } from 'react';
3
3
  import { r as registerComponentHelper } from './utils-7d8f2418.esm.js';
4
4
  import '@plasmicapp/host/registerComponent';
5
5
  import '@plasmicapp/host/registerGlobalContext';
@@ -35,29 +35,48 @@ var __objRest = (source, exclude) => {
35
35
  }
36
36
  return target;
37
37
  };
38
+ const styleSections = [
39
+ "visibility",
40
+ "typography",
41
+ "spacing",
42
+ "background",
43
+ "transform",
44
+ "transitions",
45
+ "layout",
46
+ "overflow",
47
+ "border",
48
+ "shadows",
49
+ "effects"
50
+ ];
38
51
  function AntdModal(props) {
52
+ const [isOpen, setIsOpen] = useState(false);
39
53
  const _a = props, {
40
54
  onOpenChange,
41
55
  onOk,
42
56
  onCancel,
43
57
  open,
58
+ width,
44
59
  footer,
45
60
  hideFooter,
46
61
  modalScopeClassName,
47
- wrapClassName
62
+ wrapClassName,
63
+ trigger
48
64
  } = _a, rest = __objRest(_a, [
49
65
  "onOpenChange",
50
66
  "onOk",
51
67
  "onCancel",
52
68
  "open",
69
+ "width",
53
70
  "footer",
54
71
  "hideFooter",
55
72
  "modalScopeClassName",
56
- "wrapClassName"
73
+ "wrapClassName",
74
+ "trigger"
57
75
  ]);
58
76
  const memoOnOk = React.useMemo(() => {
59
77
  if (onOpenChange || onOk) {
60
78
  return (e) => {
79
+ setIsOpen(false);
61
80
  onOpenChange == null ? void 0 : onOpenChange(false);
62
81
  onOk == null ? void 0 : onOk(e);
63
82
  };
@@ -68,6 +87,7 @@ function AntdModal(props) {
68
87
  const memoOnCancel = React.useMemo(() => {
69
88
  if (onOpenChange || onCancel) {
70
89
  return (e) => {
90
+ setIsOpen(false);
71
91
  onOpenChange == null ? void 0 : onOpenChange(false);
72
92
  onCancel == null ? void 0 : onCancel(e);
73
93
  };
@@ -75,27 +95,47 @@ function AntdModal(props) {
75
95
  return void 0;
76
96
  }
77
97
  }, [onOpenChange, onCancel]);
78
- return /* @__PURE__ */ React.createElement(
98
+ const widthProp = useMemo(() => {
99
+ if (!width)
100
+ return void 0;
101
+ if (typeof width === "number")
102
+ return width;
103
+ if (typeof width !== "string")
104
+ return void 0;
105
+ if (/^\d+$/.test(width)) {
106
+ return +width;
107
+ }
108
+ return width;
109
+ }, [width]);
110
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
79
111
  Modal,
80
112
  __spreadProps(__spreadValues({}, rest), {
81
113
  onOk: memoOnOk,
114
+ width: widthProp,
82
115
  onCancel: memoOnCancel,
83
- open,
116
+ open: isOpen || open,
84
117
  footer: hideFooter ? null : footer != null ? footer : void 0,
85
118
  wrapClassName,
86
119
  className: `${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`
87
120
  })
88
- );
121
+ ), trigger ? /* @__PURE__ */ React.createElement("div", { onClick: () => setIsOpen(true) }, trigger) : null);
89
122
  }
90
123
  function registerModal(loader) {
91
124
  registerComponentHelper(loader, AntdModal, {
92
125
  name: "plasmic-antd5-modal",
93
126
  displayName: "Modal",
127
+ styleSections,
94
128
  description: "[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)",
95
129
  props: {
96
130
  open: {
97
131
  type: "boolean"
98
132
  },
133
+ width: {
134
+ type: "string",
135
+ defaultValueHint: "520px",
136
+ description: "Change the width of the modal",
137
+ helpText: "Default unit is px. You can also use % or other units for width."
138
+ },
99
139
  children: {
100
140
  type: "slot",
101
141
  defaultValue: {
@@ -115,6 +155,22 @@ function registerModal(loader) {
115
155
  return (_a = ps.hideFooter) != null ? _a : false;
116
156
  }
117
157
  },
158
+ trigger: __spreadValues({
159
+ type: "slot",
160
+ hidePlaceholder: true,
161
+ defaultValue: {
162
+ type: "component",
163
+ name: "plasmic-antd5-button",
164
+ props: {
165
+ children: {
166
+ type: "text",
167
+ value: "Show modal"
168
+ }
169
+ }
170
+ }
171
+ }, {
172
+ mergeWithParent: true
173
+ }),
118
174
  closeIcon: {
119
175
  type: "slot",
120
176
  hidePlaceholder: true
@@ -148,7 +204,7 @@ function registerModal(loader) {
148
204
  },
149
205
  wrapClassName: {
150
206
  type: "class",
151
- displayName: "Modal container",
207
+ displayName: "Modal overlay",
152
208
  styleSections: ["background"]
153
209
  },
154
210
  modalScopeClassName: {
@@ -159,6 +215,7 @@ function registerModal(loader) {
159
215
  type: "class",
160
216
  displayName: "Modal content",
161
217
  noSelf: true,
218
+ styleSections,
162
219
  selectors: [
163
220
  {
164
221
  selector: ":modal .ant-modal-content",
@@ -1 +1 @@
1
- {"version":3,"file":"registerModal.esm.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import { Modal } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n modalScopeClassName: string;\n wrapClassName: string;\n hideFooter?: boolean;\n }\n) {\n const {\n onOpenChange,\n onOk,\n onCancel,\n open,\n footer,\n hideFooter,\n modalScopeClassName,\n wrapClassName,\n ...rest\n } = props;\n const memoOnOk = React.useMemo(() => {\n if (onOpenChange || onOk) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onOk?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onOk]);\n const memoOnCancel = React.useMemo(() => {\n if (onOpenChange || onCancel) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onCancel?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onCancel]);\n return (\n <Modal\n {...rest}\n onOk={memoOnOk}\n onCancel={memoOnCancel}\n open={open}\n footer={hideFooter ? null : footer ?? undefined}\n wrapClassName={wrapClassName}\n className={`${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`}\n />\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)\",\n props: {\n open: {\n type: \"boolean\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Modal content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Modal title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: (ps) => ps.hideFooter ?? false,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOk: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n onCancel: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n okText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n hideFooter: {\n type: \"boolean\",\n description: \"Hide the modal footer slot\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n wrapClassName: {\n type: \"class\",\n displayName: \"Modal container\",\n styleSections: [\"background\"],\n },\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalContentClassName: {\n type: \"class\",\n displayName: \"Modal content\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n templates: {\n \"Modal Form\": {\n props: {\n children: {\n type: \"component\",\n name: \"plasmic-antd5-form\",\n },\n hideFooter: true,\n },\n },\n \"Generic Modal\": {},\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerModal.esm.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import type { StyleSection } from \"@plasmicapp/host/registerComponent\";\nimport { Modal } from \"antd\";\nimport React, { ReactElement, useState, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\n// hide sizing section, as width can only be set via a width prop, and not css!\nconst styleSections: StyleSection[] = [\n \"visibility\",\n \"typography\",\n \"spacing\",\n \"background\",\n \"transform\",\n \"transitions\",\n \"layout\",\n \"overflow\",\n \"border\",\n \"shadows\",\n \"effects\",\n];\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n modalScopeClassName: string;\n wrapClassName: string;\n hideFooter?: boolean;\n trigger?: ReactElement;\n }\n) {\n const [isOpen, setIsOpen] = useState(false);\n\n const {\n onOpenChange,\n onOk,\n onCancel,\n open,\n width,\n footer,\n hideFooter,\n modalScopeClassName,\n wrapClassName,\n trigger,\n ...rest\n } = props;\n\n const memoOnOk = React.useMemo(() => {\n if (onOpenChange || onOk) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n setIsOpen(false);\n onOpenChange?.(false);\n onOk?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onOk]);\n const memoOnCancel = React.useMemo(() => {\n if (onOpenChange || onCancel) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n setIsOpen(false);\n onOpenChange?.(false);\n onCancel?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onCancel]);\n\n const widthProp = useMemo(() => {\n if (!width) return undefined;\n if (typeof width === \"number\") return width;\n if (typeof width !== \"string\") return undefined;\n if (/^\\d+$/.test(width)) {\n return +width;\n }\n return width;\n }, [width]);\n\n return (\n <>\n <Modal\n {...rest}\n onOk={memoOnOk}\n width={widthProp}\n onCancel={memoOnCancel}\n open={isOpen || open}\n footer={hideFooter ? null : footer ?? undefined}\n wrapClassName={wrapClassName}\n className={`${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`}\n />\n {trigger ? <div onClick={() => setIsOpen(true)}>{trigger}</div> : null}\n </>\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n styleSections,\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)\",\n props: {\n open: {\n type: \"boolean\",\n },\n width: {\n type: \"string\",\n defaultValueHint: \"520px\",\n description: \"Change the width of the modal\",\n helpText:\n \"Default unit is px. You can also use % or other units for width.\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Modal content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Modal title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: (ps) => ps.hideFooter ?? false,\n },\n trigger: {\n type: \"slot\",\n hidePlaceholder: true,\n defaultValue: {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Show modal\",\n },\n },\n },\n ...({\n mergeWithParent: true,\n } as any),\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOk: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n onCancel: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n okText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n hideFooter: {\n type: \"boolean\",\n description: \"Hide the modal footer slot\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n wrapClassName: {\n type: \"class\",\n displayName: \"Modal overlay\",\n styleSections: [\"background\"],\n },\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalContentClassName: {\n type: \"class\",\n displayName: \"Modal content\",\n noSelf: true,\n styleSections,\n selectors: [\n {\n selector: \":modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n templates: {\n \"Modal Form\": {\n props: {\n children: {\n type: \"component\",\n name: \"plasmic-antd5-form\",\n },\n hideFooter: true,\n },\n },\n \"Generic Modal\": {},\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n"],"names":[],"mappings":"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"}