@plasmicpkgs/antd5 0.0.230 → 0.0.232
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/.tsbuildinfo +1 -1
- package/dist/antd.esm.js +19 -13
- package/dist/antd.esm.js.map +1 -1
- package/dist/index.js +19 -13
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/package.json +5 -4
- package/skinny/Form.cjs.js +1 -1
- package/skinny/Form.esm.js +1 -1
- package/skinny/FormItem.cjs.js +1 -1
- package/skinny/FormItem.esm.js +1 -1
- package/skinny/SchemaForm.cjs.js +1 -1
- package/skinny/SchemaForm.esm.js +1 -1
- package/skinny/registerAvatar.cjs.js +1 -1
- package/skinny/registerAvatar.esm.js +1 -1
- package/skinny/registerBreadcrumb.cjs.js +1 -1
- package/skinny/registerBreadcrumb.esm.js +1 -1
- package/skinny/registerButton.cjs.js +1 -1
- package/skinny/registerButton.esm.js +1 -1
- package/skinny/registerCheckbox.cjs.js +1 -1
- package/skinny/registerCheckbox.esm.js +1 -1
- package/skinny/registerCollapse.cjs.js +1 -1
- package/skinny/registerCollapse.esm.js +1 -1
- package/skinny/registerColorPicker.cjs.js +1 -1
- package/skinny/registerColorPicker.esm.js +1 -1
- package/skinny/registerConfigProvider.cjs.js +1 -1
- package/skinny/registerConfigProvider.esm.js +1 -1
- package/skinny/registerDatePicker.cjs.js +1 -1
- package/skinny/registerDatePicker.esm.js +1 -1
- package/skinny/registerDateRangePicker.cjs.js +1 -1
- package/skinny/registerDateRangePicker.esm.js +1 -1
- package/skinny/registerDrawer.cjs.js +1 -1
- package/skinny/registerDrawer.esm.js +1 -1
- package/skinny/registerDropdown.cjs.js +1 -1
- package/skinny/registerDropdown.esm.js +1 -1
- package/skinny/registerForm.cjs.js +1 -1
- package/skinny/registerForm.esm.js +1 -1
- package/skinny/registerInput.cjs.js +1 -1
- package/skinny/registerInput.esm.js +1 -1
- package/skinny/registerMenu.cjs.js +1 -1
- package/skinny/registerMenu.esm.js +1 -1
- package/skinny/registerModal.cjs.js +1 -1
- package/skinny/registerModal.esm.js +1 -1
- package/skinny/registerPagination.cjs.js +1 -1
- package/skinny/registerPagination.esm.js +1 -1
- package/skinny/registerPopover.cjs.js +1 -1
- package/skinny/registerPopover.esm.js +1 -1
- package/skinny/registerProgress.cjs.js +1 -1
- package/skinny/registerProgress.esm.js +1 -1
- package/skinny/registerRadio.cjs.js +1 -1
- package/skinny/registerRadio.esm.js +1 -1
- package/skinny/registerRate.cjs.js +1 -1
- package/skinny/registerRate.esm.js +1 -1
- package/skinny/registerSegmented.cjs.js +1 -1
- package/skinny/registerSegmented.esm.js +1 -1
- package/skinny/registerSelect.cjs.js +1 -1
- package/skinny/registerSelect.esm.js +1 -1
- package/skinny/registerSlider.cjs.js +1 -1
- package/skinny/registerSlider.esm.js +1 -1
- package/skinny/registerSteps.cjs.js +1 -1
- package/skinny/registerSteps.esm.js +1 -1
- package/skinny/registerSwitch.cjs.js +1 -1
- package/skinny/registerSwitch.esm.js +1 -1
- package/skinny/registerTable.cjs.js +1 -1
- package/skinny/registerTable.esm.js +1 -1
- package/skinny/registerTabs.cjs.js +1 -1
- package/skinny/registerTabs.esm.js +1 -1
- package/skinny/registerTooltip.cjs.js +1 -1
- package/skinny/registerTooltip.esm.js +1 -1
- package/skinny/registerTree.cjs.js +1 -1
- package/skinny/registerTree.esm.js +1 -1
- package/skinny/registerUpload.cjs.js +1 -1
- package/skinny/registerUpload.esm.js +1 -1
- package/skinny/{utils-7d8f2418.esm.js → utils-5ebcaa63.esm.js} +20 -14
- package/skinny/utils-5ebcaa63.esm.js.map +1 -0
- package/skinny/{utils-174b9d45.cjs.js → utils-7711f93b.cjs.js} +20 -14
- package/skinny/utils-7711f93b.cjs.js.map +1 -0
- package/skinny/utils.d.ts +1 -0
- package/skinny/utils-174b9d45.cjs.js.map +0 -1
- package/skinny/utils-7d8f2418.esm.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Table } from 'antd';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { b as asArray, r as registerComponentHelper } from './utils-
|
|
3
|
+
import { b as asArray, r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
|
|
4
4
|
import '@plasmicapp/host/registerComponent';
|
|
5
5
|
import '@plasmicapp/host/registerGlobalContext';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Tabs } from 'antd';
|
|
2
2
|
import React, { useMemo } from 'react';
|
|
3
|
-
import { r as registerComponentHelper, t as traverseReactEltTree } from './utils-
|
|
3
|
+
import { r as registerComponentHelper, t as traverseReactEltTree } from './utils-5ebcaa63.esm.js';
|
|
4
4
|
import '@plasmicapp/host/registerComponent';
|
|
5
5
|
import '@plasmicapp/host/registerGlobalContext';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Tooltip } from 'antd';
|
|
3
|
-
import { r as registerComponentHelper } from './utils-
|
|
3
|
+
import { r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
|
|
4
4
|
import '@plasmicapp/host/registerComponent';
|
|
5
5
|
import '@plasmicapp/host/registerGlobalContext';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Tree } from 'antd';
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
|
-
import { r as registerComponentHelper } from './utils-
|
|
3
|
+
import { r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
|
|
4
4
|
import '@plasmicapp/host/registerComponent';
|
|
5
5
|
import '@plasmicapp/host/registerGlobalContext';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Upload, Modal } from 'antd';
|
|
2
2
|
import React, { useRef, useState, useMemo } from 'react';
|
|
3
|
-
import { r as registerComponentHelper } from './utils-
|
|
3
|
+
import { r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
|
|
4
4
|
import '@plasmicapp/host/registerComponent';
|
|
5
5
|
import '@plasmicapp/host/registerGlobalContext';
|
|
6
6
|
|
|
@@ -117,15 +117,15 @@ class ErrorBoundary extends React.Component {
|
|
|
117
117
|
return this.props.children;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return key !== "__proto__" && key !== "prototype" && key !== "constructor";
|
|
120
|
+
function isUnsafeKey(key) {
|
|
121
|
+
return Array.isArray(key) && key[0] === "__proto__" || key === "__proto__" || key === "constructor" || key === "prototype";
|
|
123
122
|
}
|
|
124
123
|
function get(obj, path) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
const keys = Array.isArray(path) ? path : path.split(".");
|
|
125
|
+
let i;
|
|
126
|
+
for (i = 0; i < keys.length; i++) {
|
|
127
|
+
const key = keys[i];
|
|
128
|
+
if (!obj || !Object.hasOwn(obj, key) || isUnsafeKey(key)) {
|
|
129
129
|
obj = void 0;
|
|
130
130
|
break;
|
|
131
131
|
}
|
|
@@ -134,13 +134,19 @@ function get(obj, path) {
|
|
|
134
134
|
return obj;
|
|
135
135
|
}
|
|
136
136
|
function set(obj, path, value) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
const keys = Array.isArray(path) ? path : path.split(".");
|
|
138
|
+
let i;
|
|
139
|
+
for (i = 0; i < keys.length - 1; i++) {
|
|
140
|
+
const key = keys[i];
|
|
141
|
+
if (isUnsafeKey(key))
|
|
141
142
|
return;
|
|
142
|
-
if (
|
|
143
|
-
|
|
143
|
+
if (!Object.hasOwn(obj, key)) {
|
|
144
|
+
if (!isNaN(Number(keys[i + 1]))) {
|
|
145
|
+
obj[key] = [];
|
|
146
|
+
} else {
|
|
147
|
+
obj[key] = {};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
144
150
|
obj = obj[key];
|
|
145
151
|
}
|
|
146
152
|
obj[keys[i]] = value;
|
|
@@ -158,4 +164,4 @@ function pick(obj, ...paths) {
|
|
|
158
164
|
}
|
|
159
165
|
|
|
160
166
|
export { ErrorBoundary as E, arrayEq as a, asArray as b, capitalize as c, ensureArray as e, get as g, makeRegisterGlobalContext as m, omit as o, pick as p, registerComponentHelper as r, setFieldsToUndefined as s, traverseReactEltTree as t, usePrevious as u };
|
|
161
|
-
//# sourceMappingURL=utils-
|
|
167
|
+
//# sourceMappingURL=utils-5ebcaa63.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-5ebcaa63.esm.js","sources":["../src/utils.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n\nexport function omit<T extends object>(\n obj: T,\n ...keys: (keyof T)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function has<T extends object>(obj: T, keys: (keyof T)[]): boolean {\n if (Object.keys(obj).length === 0) {\n return true;\n }\n for (const key of keys) {\n if (Array.isArray(obj)) {\n const index = parseInt(key as string);\n if (isNaN(index) || index < 0 || index >= obj.length) {\n return false;\n }\n obj = obj[index];\n } else if (typeof obj === \"object\" && obj != null) {\n if (!Object.prototype.hasOwnProperty.call(obj, key) || !(key in obj)) {\n return false;\n }\n obj = obj[key] as T;\n } else {\n return false;\n }\n }\n return true;\n}\n\nexport function usePrevious<T>(value: T | undefined): T | undefined {\n const prevValue = React.useRef<T | undefined>(undefined);\n\n React.useEffect(() => {\n prevValue.current = value;\n\n return () => {\n prevValue.current = undefined;\n };\n });\n\n return prevValue.current;\n}\n\nexport function capitalize(value: string) {\n return value[0].toUpperCase() + value.slice(1);\n}\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n return Array.isArray(x) ? x : [x];\n}\n\nexport function setFieldsToUndefined(obj: any) {\n if (typeof obj === \"object\" && obj !== null) {\n for (const key in obj) {\n if (typeof obj[key] === \"object\") {\n setFieldsToUndefined(obj[key]);\n }\n obj[key] = undefined;\n }\n }\n}\n\nexport function arrayEq(xs: ReadonlyArray<any>, ys: ReadonlyArray<any>) {\n return xs.length === ys.length && xs.every((x, i) => x === ys[i]);\n}\n\n/**\n *\n * Forked from: https://github.com/ant-design/pro-components/blob/master/packages/utils/src/components/ErrorBoundary/index.tsx\n *\n */\nimport { Result } from \"antd\";\nimport type { ErrorInfo } from \"react\";\n\ninterface ErrorBoundaryProps {\n children?: React.ReactNode;\n message?: string;\n canvasEnvId?: number;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n errorInfo: string;\n}\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n state = { hasError: false, errorInfo: \"\" };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, errorInfo: error.message };\n }\n\n componentDidCatch(error: any, errorInfo: ErrorInfo) {\n // You can also log the error to an error reporting service\n // eslint-disable-next-line no-console\n console.log(error, errorInfo);\n }\n\n componentDidUpdate(\n prevProps: Readonly<ErrorBoundaryProps>,\n prevState: Readonly<ErrorBoundaryState>\n ) {\n if (\n prevProps.canvasEnvId !== this.props.canvasEnvId &&\n prevState.hasError\n ) {\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return (\n <Result\n status=\"error\"\n title={this.props.message ?? \"Something went wrong.\"}\n extra={this.state.errorInfo}\n />\n );\n }\n return this.props.children;\n }\n}\n\n// Forked from https://github.com/acstll/deep-get-set/blob/master/index.js\nfunction isUnsafeKey(key: string | number | symbol) {\n return (\n (Array.isArray(key) && key[0] === \"__proto__\") ||\n key === \"__proto__\" ||\n key === \"constructor\" ||\n key === \"prototype\"\n );\n}\nexport function get(obj: any, path: (string | number | symbol)[] | string) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!obj || !Object.hasOwn(obj, key) || isUnsafeKey(key)) {\n obj = undefined;\n break;\n }\n obj = obj[key];\n }\n return obj;\n}\n\nexport function set(\n obj: any,\n path: (string | number | symbol)[] | string,\n value: any\n) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (isUnsafeKey(key)) return;\n if (!Object.hasOwn(obj, key)) {\n if (!isNaN(Number(keys[i + 1]))) {\n obj[key] = [];\n } else {\n obj[key] = {};\n }\n }\n obj = obj[key];\n }\n obj[keys[i]] = value;\n return value;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...paths: (string | number | symbol)[][]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const path of paths) {\n set(res, path, get(obj, path));\n }\n return res as Partial<T>;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -125,15 +125,15 @@ class ErrorBoundary extends React__default.default.Component {
|
|
|
125
125
|
return this.props.children;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return key !== "__proto__" && key !== "prototype" && key !== "constructor";
|
|
128
|
+
function isUnsafeKey(key) {
|
|
129
|
+
return Array.isArray(key) && key[0] === "__proto__" || key === "__proto__" || key === "constructor" || key === "prototype";
|
|
131
130
|
}
|
|
132
131
|
function get(obj, path) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
const keys = Array.isArray(path) ? path : path.split(".");
|
|
133
|
+
let i;
|
|
134
|
+
for (i = 0; i < keys.length; i++) {
|
|
135
|
+
const key = keys[i];
|
|
136
|
+
if (!obj || !Object.hasOwn(obj, key) || isUnsafeKey(key)) {
|
|
137
137
|
obj = void 0;
|
|
138
138
|
break;
|
|
139
139
|
}
|
|
@@ -142,13 +142,19 @@ function get(obj, path) {
|
|
|
142
142
|
return obj;
|
|
143
143
|
}
|
|
144
144
|
function set(obj, path, value) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
const keys = Array.isArray(path) ? path : path.split(".");
|
|
146
|
+
let i;
|
|
147
|
+
for (i = 0; i < keys.length - 1; i++) {
|
|
148
|
+
const key = keys[i];
|
|
149
|
+
if (isUnsafeKey(key))
|
|
149
150
|
return;
|
|
150
|
-
if (
|
|
151
|
-
|
|
151
|
+
if (!Object.hasOwn(obj, key)) {
|
|
152
|
+
if (!isNaN(Number(keys[i + 1]))) {
|
|
153
|
+
obj[key] = [];
|
|
154
|
+
} else {
|
|
155
|
+
obj[key] = {};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
152
158
|
obj = obj[key];
|
|
153
159
|
}
|
|
154
160
|
obj[keys[i]] = value;
|
|
@@ -178,4 +184,4 @@ exports.registerComponentHelper = registerComponentHelper;
|
|
|
178
184
|
exports.setFieldsToUndefined = setFieldsToUndefined;
|
|
179
185
|
exports.traverseReactEltTree = traverseReactEltTree;
|
|
180
186
|
exports.usePrevious = usePrevious;
|
|
181
|
-
//# sourceMappingURL=utils-
|
|
187
|
+
//# sourceMappingURL=utils-7711f93b.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-7711f93b.cjs.js","sources":["../src/utils.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n\nexport function omit<T extends object>(\n obj: T,\n ...keys: (keyof T)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function has<T extends object>(obj: T, keys: (keyof T)[]): boolean {\n if (Object.keys(obj).length === 0) {\n return true;\n }\n for (const key of keys) {\n if (Array.isArray(obj)) {\n const index = parseInt(key as string);\n if (isNaN(index) || index < 0 || index >= obj.length) {\n return false;\n }\n obj = obj[index];\n } else if (typeof obj === \"object\" && obj != null) {\n if (!Object.prototype.hasOwnProperty.call(obj, key) || !(key in obj)) {\n return false;\n }\n obj = obj[key] as T;\n } else {\n return false;\n }\n }\n return true;\n}\n\nexport function usePrevious<T>(value: T | undefined): T | undefined {\n const prevValue = React.useRef<T | undefined>(undefined);\n\n React.useEffect(() => {\n prevValue.current = value;\n\n return () => {\n prevValue.current = undefined;\n };\n });\n\n return prevValue.current;\n}\n\nexport function capitalize(value: string) {\n return value[0].toUpperCase() + value.slice(1);\n}\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n return Array.isArray(x) ? x : [x];\n}\n\nexport function setFieldsToUndefined(obj: any) {\n if (typeof obj === \"object\" && obj !== null) {\n for (const key in obj) {\n if (typeof obj[key] === \"object\") {\n setFieldsToUndefined(obj[key]);\n }\n obj[key] = undefined;\n }\n }\n}\n\nexport function arrayEq(xs: ReadonlyArray<any>, ys: ReadonlyArray<any>) {\n return xs.length === ys.length && xs.every((x, i) => x === ys[i]);\n}\n\n/**\n *\n * Forked from: https://github.com/ant-design/pro-components/blob/master/packages/utils/src/components/ErrorBoundary/index.tsx\n *\n */\nimport { Result } from \"antd\";\nimport type { ErrorInfo } from \"react\";\n\ninterface ErrorBoundaryProps {\n children?: React.ReactNode;\n message?: string;\n canvasEnvId?: number;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n errorInfo: string;\n}\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n state = { hasError: false, errorInfo: \"\" };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, errorInfo: error.message };\n }\n\n componentDidCatch(error: any, errorInfo: ErrorInfo) {\n // You can also log the error to an error reporting service\n // eslint-disable-next-line no-console\n console.log(error, errorInfo);\n }\n\n componentDidUpdate(\n prevProps: Readonly<ErrorBoundaryProps>,\n prevState: Readonly<ErrorBoundaryState>\n ) {\n if (\n prevProps.canvasEnvId !== this.props.canvasEnvId &&\n prevState.hasError\n ) {\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return (\n <Result\n status=\"error\"\n title={this.props.message ?? \"Something went wrong.\"}\n extra={this.state.errorInfo}\n />\n );\n }\n return this.props.children;\n }\n}\n\n// Forked from https://github.com/acstll/deep-get-set/blob/master/index.js\nfunction isUnsafeKey(key: string | number | symbol) {\n return (\n (Array.isArray(key) && key[0] === \"__proto__\") ||\n key === \"__proto__\" ||\n key === \"constructor\" ||\n key === \"prototype\"\n );\n}\nexport function get(obj: any, path: (string | number | symbol)[] | string) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!obj || !Object.hasOwn(obj, key) || isUnsafeKey(key)) {\n obj = undefined;\n break;\n }\n obj = obj[key];\n }\n return obj;\n}\n\nexport function set(\n obj: any,\n path: (string | number | symbol)[] | string,\n value: any\n) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (isUnsafeKey(key)) return;\n if (!Object.hasOwn(obj, key)) {\n if (!isNaN(Number(keys[i + 1]))) {\n obj[key] = [];\n } else {\n obj[key] = {};\n }\n }\n obj = obj[key];\n }\n obj[keys[i]] = value;\n return value;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...paths: (string | number | symbol)[][]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const path of paths) {\n set(res, path, get(obj, path));\n }\n return res as Partial<T>;\n}\n"],"names":["registerGlobalContext","registerComponent","React","Result"],"mappings":"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"}
|
package/skinny/utils.d.ts
CHANGED
|
@@ -52,5 +52,6 @@ export declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, E
|
|
|
52
52
|
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
53
53
|
}
|
|
54
54
|
export declare function get(obj: any, path: (string | number | symbol)[] | string): any;
|
|
55
|
+
export declare function set(obj: any, path: (string | number | symbol)[] | string, value: any): any;
|
|
55
56
|
export declare function pick<T extends {}>(obj: T, ...paths: (string | number | symbol)[][]): Partial<T>;
|
|
56
57
|
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-174b9d45.cjs.js","sources":["../src/utils.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n\nexport function omit<T extends object>(\n obj: T,\n ...keys: (keyof T)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function has<T extends object>(obj: T, keys: (keyof T)[]): boolean {\n if (Object.keys(obj).length === 0) {\n return true;\n }\n for (const key of keys) {\n if (Array.isArray(obj)) {\n const index = parseInt(key as string);\n if (isNaN(index) || index < 0 || index >= obj.length) {\n return false;\n }\n obj = obj[index];\n } else if (typeof obj === \"object\" && obj != null) {\n if (!Object.prototype.hasOwnProperty.call(obj, key) || !(key in obj)) {\n return false;\n }\n obj = obj[key] as T;\n } else {\n return false;\n }\n }\n return true;\n}\n\nexport function usePrevious<T>(value: T | undefined): T | undefined {\n const prevValue = React.useRef<T | undefined>(undefined);\n\n React.useEffect(() => {\n prevValue.current = value;\n\n return () => {\n prevValue.current = undefined;\n };\n });\n\n return prevValue.current;\n}\n\nexport function capitalize(value: string) {\n return value[0].toUpperCase() + value.slice(1);\n}\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n return Array.isArray(x) ? x : [x];\n}\n\nexport function setFieldsToUndefined(obj: any) {\n if (typeof obj === \"object\" && obj !== null) {\n for (const key in obj) {\n if (typeof obj[key] === \"object\") {\n setFieldsToUndefined(obj[key]);\n }\n obj[key] = undefined;\n }\n }\n}\n\nexport function arrayEq(xs: ReadonlyArray<any>, ys: ReadonlyArray<any>) {\n return xs.length === ys.length && xs.every((x, i) => x === ys[i]);\n}\n\n/**\n *\n * Forked from: https://github.com/ant-design/pro-components/blob/master/packages/utils/src/components/ErrorBoundary/index.tsx\n *\n */\nimport { Result } from \"antd\";\nimport type { ErrorInfo } from \"react\";\n\ninterface ErrorBoundaryProps {\n children?: React.ReactNode;\n message?: string;\n canvasEnvId?: number;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n errorInfo: string;\n}\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n state = { hasError: false, errorInfo: \"\" };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, errorInfo: error.message };\n }\n\n componentDidCatch(error: any, errorInfo: ErrorInfo) {\n // You can also log the error to an error reporting service\n // eslint-disable-next-line no-console\n console.log(error, errorInfo);\n }\n\n componentDidUpdate(\n prevProps: Readonly<ErrorBoundaryProps>,\n prevState: Readonly<ErrorBoundaryState>\n ) {\n if (\n prevProps.canvasEnvId !== this.props.canvasEnvId &&\n prevState.hasError\n ) {\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return (\n <Result\n status=\"error\"\n title={this.props.message ?? \"Something went wrong.\"}\n extra={this.state.errorInfo}\n />\n );\n }\n return this.props.children;\n }\n}\n\n// Forked from https://github.com/acstll/deep-get-set/blob/master/index.js\nvar hasOwnProp = Object.prototype.hasOwnProperty;\nfunction isSafeKey(key: string | number | symbol) {\n return key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\nexport function get(obj: any, path: (string | number | symbol)[] | string) {\n var keys = Array.isArray(path) ? path : path.split(\".\");\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!obj || !hasOwnProp.call(obj, key) || !isSafeKey(key)) {\n obj = undefined;\n break;\n }\n obj = obj[key];\n }\n return obj;\n}\nfunction set(\n obj: any,\n path: (string | number | symbol)[] | string,\n value: any\n) {\n var keys = Array.isArray(path) ? path : path.split(\".\");\n for (var i = 0; i < keys.length - 1; i++) {\n var key = keys[i];\n if (!isSafeKey(key)) return;\n if (hasOwnProp.call(obj, key)) obj[key] = {};\n obj = obj[key];\n }\n obj[keys[i]] = value;\n return value;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...paths: (string | number | symbol)[][]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const path of paths) {\n set(res, path, get(obj, path));\n }\n return res as Partial<T>;\n}\n"],"names":["registerGlobalContext","registerComponent","React","Result"],"mappings":";;;;;;;;;;;;;AA0BgB,SAAA,yBAAA,CACd,WACA,IACA,EAAA;AACA,EAAA,OAAO,SAAU,MAAuB,EAAA;AACtC,IAAA,IAAI,MAAQ,EAAA;AACV,MAAO,MAAA,CAAA,qBAAA,CAAsB,WAAW,IAAI,CAAA,CAAA;AAAA,KACvC,MAAA;AACL,MAAAA,sCAAA,CAAsB,WAAW,IAAI,CAAA,CAAA;AAAA,KACvC;AAAA,GACF,CAAA;AACF,CAAA;AAEgB,SAAA,uBAAA,CACd,MACA,EAAA,SAAA,EACA,IACA,EAAA;AACA,EAAA,IAAI,MAAQ,EAAA;AACV,IAAO,MAAA,CAAA,iBAAA,CAAkB,WAAW,IAAI,CAAA,CAAA;AAAA,GACnC,MAAA;AACL,IAAAC,kCAAA,CAAkB,WAAW,IAAI,CAAA,CAAA;AAAA,GACnC;AACF,CAAA;AAYgB,SAAA,oBAAA,CACd,UACA,QACA,EAAA;AACA,EAAM,MAAA,GAAA,GAAM,CAAC,IAAuC,KAAA;AAClD,IAAC,CAAA,KAAA,CAAM,OAAQ,CAAA,IAAI,CAAI,GAAA,IAAA,GAAO,CAAC,IAAI,CAAA,EAAG,OAAQ,CAAA,CAAC,GAAQ,KAAA;AAlE3D,MAAA,IAAA,EAAA,CAAA;AAmEM,MAAA,IAAI,GAAK,EAAA;AACP,QAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AACZ,QAAA,IAAI,IAAI,QAAU,EAAA;AAChB,UAAA,GAAA,CAAI,IAAI,QAAQ,CAAA,CAAA;AAAA,SAClB;AACA,QAAI,IAAA,CAAA,CAAA,EAAA,GAAA,GAAA,CAAI,UAAJ,IAAW,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAY,IAAI,KAAM,CAAA,QAAA,KAAa,IAAI,QAAU,EAAA;AAC9D,UAAI,GAAA,CAAA,GAAA,CAAI,MAAM,QAAQ,CAAA,CAAA;AAAA,SACxB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AACA,EAAA,GAAA,CAAI,QAAe,CAAA,CAAA;AACrB,CAAA;AAEO,SAAS,QAAW,CAA+B,EAAA;AACxD,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,CAAG,EAAA;AACpB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT,MAAA,IAAW,KAAK,IAAM,EAAA;AACpB,IAAA,OAAO,EAAC,CAAA;AAAA,GACH,MAAA;AACL,IAAA,OAAO,CAAC,CAAC,CAAA,CAAA;AAAA,GACX;AACF,CAAA;AAEgB,SAAA,IAAA,CACd,QACG,IACS,EAAA;AACZ,EAAA,IAAI,MAAO,CAAA,IAAA,CAAK,GAAG,CAAA,CAAE,WAAW,CAAG,EAAA;AACjC,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AACA,EAAA,MAAM,MAAkB,EAAC,CAAA;AACzB,EAAA,KAAA,MAAW,GAAO,IAAA,MAAA,CAAO,IAAK,CAAA,GAAG,CAAkB,EAAA;AACjD,IAAA,IAAI,CAAC,IAAA,CAAK,QAAS,CAAA,GAAG,CAAG,EAAA;AACvB,MAAI,GAAA,CAAA,GAAG,CAAI,GAAA,GAAA,CAAI,GAAG,CAAA,CAAA;AAAA,KACpB;AAAA,GACF;AACA,EAAO,OAAA,GAAA,CAAA;AACT,CAAA;AAyBO,SAAS,YAAe,KAAqC,EAAA;AAClE,EAAM,MAAA,SAAA,GAAYC,sBAAM,CAAA,MAAA,CAAsB,KAAS,CAAA,CAAA,CAAA;AAEvD,EAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,SAAA,CAAU,OAAU,GAAA,KAAA,CAAA;AAEpB,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,OAAU,GAAA,KAAA,CAAA,CAAA;AAAA,KACtB,CAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,OAAO,SAAU,CAAA,OAAA,CAAA;AACnB,CAAA;AAEO,SAAS,WAAW,KAAe,EAAA;AACxC,EAAA,OAAO,MAAM,CAAC,CAAA,CAAE,aAAgB,GAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAC/C,CAAA;AAEO,SAAS,YAAe,CAAiB,EAAA;AAC9C,EAAA,OAAO,MAAM,OAAQ,CAAA,CAAC,CAAI,GAAA,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA;AAClC,CAAA;AAEO,SAAS,qBAAqB,GAAU,EAAA;AAC7C,EAAA,IAAI,OAAO,GAAA,KAAQ,QAAY,IAAA,GAAA,KAAQ,IAAM,EAAA;AAC3C,IAAA,KAAA,MAAW,OAAO,GAAK,EAAA;AACrB,MAAA,IAAI,OAAO,GAAA,CAAI,GAAG,CAAA,KAAM,QAAU,EAAA;AAChC,QAAqB,oBAAA,CAAA,GAAA,CAAI,GAAG,CAAC,CAAA,CAAA;AAAA,OAC/B;AACA,MAAA,GAAA,CAAI,GAAG,CAAI,GAAA,KAAA,CAAA,CAAA;AAAA,KACb;AAAA,GACF;AACF,CAAA;AAEgB,SAAA,OAAA,CAAQ,IAAwB,EAAwB,EAAA;AACtE,EAAA,OAAO,EAAG,CAAA,MAAA,KAAW,EAAG,CAAA,MAAA,IAAU,EAAG,CAAA,KAAA,CAAM,CAAC,CAAA,EAAG,CAAM,KAAA,CAAA,KAAM,EAAG,CAAA,CAAC,CAAC,CAAA,CAAA;AAClE,CAAA;AAoBa,MAAA,aAAA,SAAsBA,uBAAM,SAGvC,CAAA;AAAA,EAHK,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAAA;AAIL,IAAA,IAAA,CAAA,KAAA,GAAQ,EAAE,QAAA,EAAU,KAAO,EAAA,SAAA,EAAW,EAAG,EAAA,CAAA;AAAA,GAAA;AAAA,EAEzC,OAAO,yBAAyB,KAAc,EAAA;AAC5C,IAAA,OAAO,EAAE,QAAA,EAAU,IAAM,EAAA,SAAA,EAAW,MAAM,OAAQ,EAAA,CAAA;AAAA,GACpD;AAAA,EAEA,iBAAA,CAAkB,OAAY,SAAsB,EAAA;AAGlD,IAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,SAAS,CAAA,CAAA;AAAA,GAC9B;AAAA,EAEA,kBAAA,CACE,WACA,SACA,EAAA;AACA,IAAA,IACE,UAAU,WAAgB,KAAA,IAAA,CAAK,KAAM,CAAA,WAAA,IACrC,UAAU,QACV,EAAA;AACA,MAAA,IAAA,CAAK,QAAS,CAAA,EAAE,QAAU,EAAA,KAAA,EAAO,CAAA,CAAA;AAAA,KACnC;AAAA,GACF;AAAA,EAEA,MAAS,GAAA;AArNX,IAAA,IAAA,EAAA,CAAA;AAsNI,IAAI,IAAA,IAAA,CAAK,MAAM,QAAU,EAAA;AAEvB,MACE,uBAAAA,sBAAA,CAAA,aAAA;AAAA,QAACC,WAAA;AAAA,QAAA;AAAA,UACC,MAAO,EAAA,OAAA;AAAA,UACP,KAAO,EAAA,CAAA,EAAA,GAAA,IAAA,CAAK,KAAM,CAAA,OAAA,KAAX,IAAsB,GAAA,EAAA,GAAA,uBAAA;AAAA,UAC7B,KAAA,EAAO,KAAK,KAAM,CAAA,SAAA;AAAA,SAAA;AAAA,OACpB,CAAA;AAAA,KAEJ;AACA,IAAA,OAAO,KAAK,KAAM,CAAA,QAAA,CAAA;AAAA,GACpB;AACF,CAAA;AAGA,IAAI,UAAA,GAAa,OAAO,SAAU,CAAA,cAAA,CAAA;AAClC,SAAS,UAAU,GAA+B,EAAA;AAChD,EAAA,OAAO,GAAQ,KAAA,WAAA,IAAe,GAAQ,KAAA,WAAA,IAAe,GAAQ,KAAA,aAAA,CAAA;AAC/D,CAAA;AACgB,SAAA,GAAA,CAAI,KAAU,IAA6C,EAAA;AACzE,EAAI,IAAA,IAAA,GAAO,MAAM,OAAQ,CAAA,IAAI,IAAI,IAAO,GAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AACtD,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AACpC,IAAI,IAAA,GAAA,GAAM,KAAK,CAAC,CAAA,CAAA;AAChB,IAAI,IAAA,CAAC,GAAO,IAAA,CAAC,UAAW,CAAA,IAAA,CAAK,GAAK,EAAA,GAAG,CAAK,IAAA,CAAC,SAAU,CAAA,GAAG,CAAG,EAAA;AACzD,MAAM,GAAA,GAAA,KAAA,CAAA,CAAA;AACN,MAAA,MAAA;AAAA,KACF;AACA,IAAA,GAAA,GAAM,IAAI,GAAG,CAAA,CAAA;AAAA,GACf;AACA,EAAO,OAAA,GAAA,CAAA;AACT,CAAA;AACA,SAAS,GAAA,CACP,GACA,EAAA,IAAA,EACA,KACA,EAAA;AACA,EAAI,IAAA,IAAA,GAAO,MAAM,OAAQ,CAAA,IAAI,IAAI,IAAO,GAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AACtD,EAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,IAAK,CAAA,MAAA,GAAS,GAAG,CAAK,EAAA,EAAA;AACxC,IAAI,IAAA,GAAA,GAAM,KAAK,CAAC,CAAA,CAAA;AAChB,IAAI,IAAA,CAAC,UAAU,GAAG,CAAA;AAAG,MAAA,OAAA;AACrB,IAAI,IAAA,UAAA,CAAW,IAAK,CAAA,GAAA,EAAK,GAAG,CAAA;AAAG,MAAI,GAAA,CAAA,GAAG,IAAI,EAAC,CAAA;AAC3C,IAAA,GAAA,GAAM,IAAI,GAAG,CAAA,CAAA;AAAA,GACf;AACA,EAAI,GAAA,CAAA,IAAA,CAAK,CAAC,CAAC,CAAI,GAAA,KAAA,CAAA;AACf,EAAO,OAAA,KAAA,CAAA;AACT,CAAA;AAEgB,SAAA,IAAA,CACd,QACG,KACS,EAAA;AACZ,EAAA,IAAI,MAAO,CAAA,IAAA,CAAK,GAAG,CAAA,CAAE,WAAW,CAAG,EAAA;AACjC,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AACA,EAAA,MAAM,MAAW,EAAC,CAAA;AAClB,EAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,IAAA,GAAA,CAAI,GAAK,EAAA,IAAA,EAAM,GAAI,CAAA,GAAA,EAAK,IAAI,CAAC,CAAA,CAAA;AAAA,GAC/B;AACA,EAAO,OAAA,GAAA,CAAA;AACT;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-7d8f2418.esm.js","sources":["../src/utils.tsx"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n\nexport function omit<T extends object>(\n obj: T,\n ...keys: (keyof T)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function has<T extends object>(obj: T, keys: (keyof T)[]): boolean {\n if (Object.keys(obj).length === 0) {\n return true;\n }\n for (const key of keys) {\n if (Array.isArray(obj)) {\n const index = parseInt(key as string);\n if (isNaN(index) || index < 0 || index >= obj.length) {\n return false;\n }\n obj = obj[index];\n } else if (typeof obj === \"object\" && obj != null) {\n if (!Object.prototype.hasOwnProperty.call(obj, key) || !(key in obj)) {\n return false;\n }\n obj = obj[key] as T;\n } else {\n return false;\n }\n }\n return true;\n}\n\nexport function usePrevious<T>(value: T | undefined): T | undefined {\n const prevValue = React.useRef<T | undefined>(undefined);\n\n React.useEffect(() => {\n prevValue.current = value;\n\n return () => {\n prevValue.current = undefined;\n };\n });\n\n return prevValue.current;\n}\n\nexport function capitalize(value: string) {\n return value[0].toUpperCase() + value.slice(1);\n}\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n return Array.isArray(x) ? x : [x];\n}\n\nexport function setFieldsToUndefined(obj: any) {\n if (typeof obj === \"object\" && obj !== null) {\n for (const key in obj) {\n if (typeof obj[key] === \"object\") {\n setFieldsToUndefined(obj[key]);\n }\n obj[key] = undefined;\n }\n }\n}\n\nexport function arrayEq(xs: ReadonlyArray<any>, ys: ReadonlyArray<any>) {\n return xs.length === ys.length && xs.every((x, i) => x === ys[i]);\n}\n\n/**\n *\n * Forked from: https://github.com/ant-design/pro-components/blob/master/packages/utils/src/components/ErrorBoundary/index.tsx\n *\n */\nimport { Result } from \"antd\";\nimport type { ErrorInfo } from \"react\";\n\ninterface ErrorBoundaryProps {\n children?: React.ReactNode;\n message?: string;\n canvasEnvId?: number;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n errorInfo: string;\n}\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n state = { hasError: false, errorInfo: \"\" };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, errorInfo: error.message };\n }\n\n componentDidCatch(error: any, errorInfo: ErrorInfo) {\n // You can also log the error to an error reporting service\n // eslint-disable-next-line no-console\n console.log(error, errorInfo);\n }\n\n componentDidUpdate(\n prevProps: Readonly<ErrorBoundaryProps>,\n prevState: Readonly<ErrorBoundaryState>\n ) {\n if (\n prevProps.canvasEnvId !== this.props.canvasEnvId &&\n prevState.hasError\n ) {\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return (\n <Result\n status=\"error\"\n title={this.props.message ?? \"Something went wrong.\"}\n extra={this.state.errorInfo}\n />\n );\n }\n return this.props.children;\n }\n}\n\n// Forked from https://github.com/acstll/deep-get-set/blob/master/index.js\nvar hasOwnProp = Object.prototype.hasOwnProperty;\nfunction isSafeKey(key: string | number | symbol) {\n return key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\nexport function get(obj: any, path: (string | number | symbol)[] | string) {\n var keys = Array.isArray(path) ? path : path.split(\".\");\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!obj || !hasOwnProp.call(obj, key) || !isSafeKey(key)) {\n obj = undefined;\n break;\n }\n obj = obj[key];\n }\n return obj;\n}\nfunction set(\n obj: any,\n path: (string | number | symbol)[] | string,\n value: any\n) {\n var keys = Array.isArray(path) ? path : path.split(\".\");\n for (var i = 0; i < keys.length - 1; i++) {\n var key = keys[i];\n if (!isSafeKey(key)) return;\n if (hasOwnProp.call(obj, key)) obj[key] = {};\n obj = obj[key];\n }\n obj[keys[i]] = value;\n return value;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...paths: (string | number | symbol)[][]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const path of paths) {\n set(res, path, get(obj, path));\n }\n return res as Partial<T>;\n}\n"],"names":[],"mappings":"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"}
|