@plasmicpkgs/antd5 0.0.230 → 0.0.231

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.
Files changed (80) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/antd.esm.js +19 -13
  3. package/dist/antd.esm.js.map +1 -1
  4. package/dist/index.js +19 -13
  5. package/dist/index.js.map +1 -1
  6. package/dist/utils.d.ts +1 -0
  7. package/package.json +4 -3
  8. package/skinny/Form.cjs.js +1 -1
  9. package/skinny/Form.esm.js +1 -1
  10. package/skinny/FormItem.cjs.js +1 -1
  11. package/skinny/FormItem.esm.js +1 -1
  12. package/skinny/SchemaForm.cjs.js +1 -1
  13. package/skinny/SchemaForm.esm.js +1 -1
  14. package/skinny/registerAvatar.cjs.js +1 -1
  15. package/skinny/registerAvatar.esm.js +1 -1
  16. package/skinny/registerBreadcrumb.cjs.js +1 -1
  17. package/skinny/registerBreadcrumb.esm.js +1 -1
  18. package/skinny/registerButton.cjs.js +1 -1
  19. package/skinny/registerButton.esm.js +1 -1
  20. package/skinny/registerCheckbox.cjs.js +1 -1
  21. package/skinny/registerCheckbox.esm.js +1 -1
  22. package/skinny/registerCollapse.cjs.js +1 -1
  23. package/skinny/registerCollapse.esm.js +1 -1
  24. package/skinny/registerColorPicker.cjs.js +1 -1
  25. package/skinny/registerColorPicker.esm.js +1 -1
  26. package/skinny/registerConfigProvider.cjs.js +1 -1
  27. package/skinny/registerConfigProvider.esm.js +1 -1
  28. package/skinny/registerDatePicker.cjs.js +1 -1
  29. package/skinny/registerDatePicker.esm.js +1 -1
  30. package/skinny/registerDateRangePicker.cjs.js +1 -1
  31. package/skinny/registerDateRangePicker.esm.js +1 -1
  32. package/skinny/registerDrawer.cjs.js +1 -1
  33. package/skinny/registerDrawer.esm.js +1 -1
  34. package/skinny/registerDropdown.cjs.js +1 -1
  35. package/skinny/registerDropdown.esm.js +1 -1
  36. package/skinny/registerForm.cjs.js +1 -1
  37. package/skinny/registerForm.esm.js +1 -1
  38. package/skinny/registerInput.cjs.js +1 -1
  39. package/skinny/registerInput.esm.js +1 -1
  40. package/skinny/registerMenu.cjs.js +1 -1
  41. package/skinny/registerMenu.esm.js +1 -1
  42. package/skinny/registerModal.cjs.js +1 -1
  43. package/skinny/registerModal.esm.js +1 -1
  44. package/skinny/registerPagination.cjs.js +1 -1
  45. package/skinny/registerPagination.esm.js +1 -1
  46. package/skinny/registerPopover.cjs.js +1 -1
  47. package/skinny/registerPopover.esm.js +1 -1
  48. package/skinny/registerProgress.cjs.js +1 -1
  49. package/skinny/registerProgress.esm.js +1 -1
  50. package/skinny/registerRadio.cjs.js +1 -1
  51. package/skinny/registerRadio.esm.js +1 -1
  52. package/skinny/registerRate.cjs.js +1 -1
  53. package/skinny/registerRate.esm.js +1 -1
  54. package/skinny/registerSegmented.cjs.js +1 -1
  55. package/skinny/registerSegmented.esm.js +1 -1
  56. package/skinny/registerSelect.cjs.js +1 -1
  57. package/skinny/registerSelect.esm.js +1 -1
  58. package/skinny/registerSlider.cjs.js +1 -1
  59. package/skinny/registerSlider.esm.js +1 -1
  60. package/skinny/registerSteps.cjs.js +1 -1
  61. package/skinny/registerSteps.esm.js +1 -1
  62. package/skinny/registerSwitch.cjs.js +1 -1
  63. package/skinny/registerSwitch.esm.js +1 -1
  64. package/skinny/registerTable.cjs.js +1 -1
  65. package/skinny/registerTable.esm.js +1 -1
  66. package/skinny/registerTabs.cjs.js +1 -1
  67. package/skinny/registerTabs.esm.js +1 -1
  68. package/skinny/registerTooltip.cjs.js +1 -1
  69. package/skinny/registerTooltip.esm.js +1 -1
  70. package/skinny/registerTree.cjs.js +1 -1
  71. package/skinny/registerTree.esm.js +1 -1
  72. package/skinny/registerUpload.cjs.js +1 -1
  73. package/skinny/registerUpload.esm.js +1 -1
  74. package/skinny/{utils-7d8f2418.esm.js → utils-5ebcaa63.esm.js} +20 -14
  75. package/skinny/utils-5ebcaa63.esm.js.map +1 -0
  76. package/skinny/{utils-174b9d45.cjs.js → utils-7711f93b.cjs.js} +20 -14
  77. package/skinny/utils-7711f93b.cjs.js.map +1 -0
  78. package/skinny/utils.d.ts +1 -0
  79. package/skinny/utils-174b9d45.cjs.js.map +0 -1
  80. package/skinny/utils-7d8f2418.esm.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  var antd = require('antd');
4
4
  var React = require('react');
5
- var utils = require('./utils-174b9d45.cjs.js');
5
+ var utils = require('./utils-7711f93b.cjs.js');
6
6
  require('@plasmicapp/host/registerComponent');
7
7
  require('@plasmicapp/host/registerGlobalContext');
8
8
 
@@ -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-7d8f2418.esm.js';
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
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var antd = require('antd');
5
- var utils = require('./utils-174b9d45.cjs.js');
5
+ var utils = require('./utils-7711f93b.cjs.js');
6
6
  require('@plasmicapp/host/registerComponent');
7
7
  require('@plasmicapp/host/registerGlobalContext');
8
8
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Tooltip } from 'antd';
3
- import { r as registerComponentHelper } from './utils-7d8f2418.esm.js';
3
+ import { r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
4
4
  import '@plasmicapp/host/registerComponent';
5
5
  import '@plasmicapp/host/registerGlobalContext';
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var antd = require('antd');
4
4
  var React = require('react');
5
- var utils = require('./utils-174b9d45.cjs.js');
5
+ var utils = require('./utils-7711f93b.cjs.js');
6
6
  require('@plasmicapp/host/registerComponent');
7
7
  require('@plasmicapp/host/registerGlobalContext');
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { Tree } from 'antd';
2
2
  import React, { useState } from 'react';
3
- import { r as registerComponentHelper } from './utils-7d8f2418.esm.js';
3
+ import { r as registerComponentHelper } from './utils-5ebcaa63.esm.js';
4
4
  import '@plasmicapp/host/registerComponent';
5
5
  import '@plasmicapp/host/registerGlobalContext';
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var antd = require('antd');
4
4
  var React = require('react');
5
- var utils = require('./utils-174b9d45.cjs.js');
5
+ var utils = require('./utils-7711f93b.cjs.js');
6
6
  require('@plasmicapp/host/registerComponent');
7
7
  require('@plasmicapp/host/registerGlobalContext');
8
8
 
@@ -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-7d8f2418.esm.js';
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
- var hasOwnProp = Object.prototype.hasOwnProperty;
121
- function isSafeKey(key) {
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
- var keys = Array.isArray(path) ? path : path.split(".");
126
- for (var i = 0; i < keys.length; i++) {
127
- var key = keys[i];
128
- if (!obj || !hasOwnProp.call(obj, key) || !isSafeKey(key)) {
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
- var keys = Array.isArray(path) ? path : path.split(".");
138
- for (var i = 0; i < keys.length - 1; i++) {
139
- var key = keys[i];
140
- if (!isSafeKey(key))
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 (hasOwnProp.call(obj, key))
143
- obj[key] = {};
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-7d8f2418.esm.js.map
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
- var hasOwnProp = Object.prototype.hasOwnProperty;
129
- function isSafeKey(key) {
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
- var keys = Array.isArray(path) ? path : path.split(".");
134
- for (var i = 0; i < keys.length; i++) {
135
- var key = keys[i];
136
- if (!obj || !hasOwnProp.call(obj, key) || !isSafeKey(key)) {
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
- var keys = Array.isArray(path) ? path : path.split(".");
146
- for (var i = 0; i < keys.length - 1; i++) {
147
- var key = keys[i];
148
- if (!isSafeKey(key))
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 (hasOwnProp.call(obj, key))
151
- obj[key] = {};
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-174b9d45.cjs.js.map
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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"}