@bpmn-io/properties-panel 0.9.0 → 0.10.0

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 (180) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/index.esm.js +1607 -0
  3. package/dist/index.esm.js.map +1 -0
  4. package/dist/index.js +1648 -0
  5. package/dist/index.js.map +1 -0
  6. package/package.json +16 -7
  7. package/preact/LICENSE +21 -0
  8. package/preact/README.md +185 -0
  9. package/preact/compat/dist/compat.js +2 -0
  10. package/preact/compat/dist/compat.js.map +1 -0
  11. package/preact/compat/dist/compat.mjs +2 -0
  12. package/preact/compat/dist/compat.module.js +2 -0
  13. package/preact/compat/dist/compat.module.js.map +1 -0
  14. package/preact/compat/dist/compat.umd.js +2 -0
  15. package/preact/compat/dist/compat.umd.js.map +1 -0
  16. package/preact/compat/jsx-dev-runtime.js +1 -0
  17. package/preact/compat/jsx-dev-runtime.mjs +1 -0
  18. package/preact/compat/jsx-runtime.js +1 -0
  19. package/preact/compat/jsx-runtime.mjs +1 -0
  20. package/preact/compat/package.json +19 -0
  21. package/preact/compat/server.js +15 -0
  22. package/preact/compat/server.mjs +4 -0
  23. package/preact/compat/src/Children.js +21 -0
  24. package/preact/compat/src/PureComponent.js +15 -0
  25. package/preact/compat/src/forwardRef.js +51 -0
  26. package/preact/compat/src/index.d.ts +140 -0
  27. package/preact/compat/src/index.js +175 -0
  28. package/preact/compat/src/internal.d.ts +47 -0
  29. package/preact/compat/src/memo.js +34 -0
  30. package/preact/compat/src/portals.js +80 -0
  31. package/preact/compat/src/render.js +219 -0
  32. package/preact/compat/src/scheduler.js +24 -0
  33. package/preact/compat/src/suspense-list.d.ts +14 -0
  34. package/preact/compat/src/suspense-list.js +126 -0
  35. package/preact/compat/src/suspense.d.ts +15 -0
  36. package/preact/compat/src/suspense.js +270 -0
  37. package/preact/compat/src/util.js +28 -0
  38. package/preact/compat/test-utils.js +1 -0
  39. package/preact/debug/dist/debug.js +2 -0
  40. package/preact/debug/dist/debug.js.map +1 -0
  41. package/preact/debug/dist/debug.mjs +2 -0
  42. package/preact/debug/dist/debug.module.js +2 -0
  43. package/preact/debug/dist/debug.module.js.map +1 -0
  44. package/preact/debug/dist/debug.umd.js +2 -0
  45. package/preact/debug/dist/debug.umd.js.map +1 -0
  46. package/preact/debug/package.json +18 -0
  47. package/preact/debug/src/check-props.js +54 -0
  48. package/preact/debug/src/component-stack.js +146 -0
  49. package/preact/debug/src/constants.js +3 -0
  50. package/preact/debug/src/debug.js +442 -0
  51. package/preact/debug/src/index.js +6 -0
  52. package/preact/debug/src/internal.d.ts +82 -0
  53. package/preact/debug/src/util.js +11 -0
  54. package/preact/devtools/dist/devtools.js +2 -0
  55. package/preact/devtools/dist/devtools.js.map +1 -0
  56. package/preact/devtools/dist/devtools.mjs +2 -0
  57. package/preact/devtools/dist/devtools.module.js +2 -0
  58. package/preact/devtools/dist/devtools.module.js.map +1 -0
  59. package/preact/devtools/dist/devtools.umd.js +2 -0
  60. package/preact/devtools/dist/devtools.umd.js.map +1 -0
  61. package/preact/devtools/package.json +16 -0
  62. package/preact/devtools/src/devtools.js +10 -0
  63. package/preact/devtools/src/index.d.ts +8 -0
  64. package/preact/devtools/src/index.js +15 -0
  65. package/preact/dist/preact.js +2 -0
  66. package/preact/dist/preact.js.map +1 -0
  67. package/preact/dist/preact.min.js +2 -0
  68. package/preact/dist/preact.min.js.map +1 -0
  69. package/preact/dist/preact.mjs +2 -0
  70. package/preact/dist/preact.module.js +2 -0
  71. package/preact/dist/preact.module.js.map +1 -0
  72. package/preact/dist/preact.umd.js +2 -0
  73. package/preact/dist/preact.umd.js.map +1 -0
  74. package/preact/hooks/dist/hooks.js +2 -0
  75. package/preact/hooks/dist/hooks.js.map +1 -0
  76. package/preact/hooks/dist/hooks.mjs +2 -0
  77. package/preact/hooks/dist/hooks.module.js +2 -0
  78. package/preact/hooks/dist/hooks.module.js.map +1 -0
  79. package/preact/hooks/dist/hooks.umd.js +2 -0
  80. package/preact/hooks/dist/hooks.umd.js.map +1 -0
  81. package/preact/hooks/package.json +26 -0
  82. package/preact/hooks/src/index.d.ts +130 -0
  83. package/preact/hooks/src/index.js +386 -0
  84. package/preact/hooks/src/internal.d.ts +75 -0
  85. package/preact/jsx-runtime/dist/jsxRuntime.js +2 -0
  86. package/preact/jsx-runtime/dist/jsxRuntime.js.map +1 -0
  87. package/preact/jsx-runtime/dist/jsxRuntime.mjs +2 -0
  88. package/preact/jsx-runtime/dist/jsxRuntime.module.js +2 -0
  89. package/preact/jsx-runtime/dist/jsxRuntime.module.js.map +1 -0
  90. package/preact/jsx-runtime/dist/jsxRuntime.umd.js +2 -0
  91. package/preact/jsx-runtime/dist/jsxRuntime.umd.js.map +1 -0
  92. package/preact/jsx-runtime/package.json +19 -0
  93. package/preact/jsx-runtime/src/index.d.ts +50 -0
  94. package/preact/jsx-runtime/src/index.js +72 -0
  95. package/preact/package.json +268 -0
  96. package/preact/src/cjs.js +3 -0
  97. package/preact/src/clone-element.js +39 -0
  98. package/preact/src/component.js +225 -0
  99. package/preact/src/constants.js +3 -0
  100. package/preact/src/create-context.js +68 -0
  101. package/preact/src/create-element.js +100 -0
  102. package/preact/src/diff/catch-error.js +38 -0
  103. package/preact/src/diff/children.js +347 -0
  104. package/preact/src/diff/index.js +516 -0
  105. package/preact/src/diff/props.js +158 -0
  106. package/preact/src/index.d.ts +310 -0
  107. package/preact/src/index.js +13 -0
  108. package/preact/src/internal.d.ts +147 -0
  109. package/preact/src/jsx.d.ts +955 -0
  110. package/preact/src/options.js +17 -0
  111. package/preact/src/render.js +74 -0
  112. package/preact/src/util.js +23 -0
  113. package/preact/test-utils/dist/testUtils.js +2 -0
  114. package/preact/test-utils/dist/testUtils.js.map +1 -0
  115. package/preact/test-utils/dist/testUtils.mjs +2 -0
  116. package/preact/test-utils/dist/testUtils.module.js +2 -0
  117. package/preact/test-utils/dist/testUtils.module.js.map +1 -0
  118. package/preact/test-utils/dist/testUtils.umd.js +2 -0
  119. package/preact/test-utils/dist/testUtils.umd.js.map +1 -0
  120. package/preact/test-utils/package.json +19 -0
  121. package/preact/test-utils/src/index.d.ts +3 -0
  122. package/preact/test-utils/src/index.js +117 -0
  123. package/lib/PropertiesPanel.js +0 -166
  124. package/lib/PropertiesPanel.js.map +0 -1
  125. package/lib/components/DropdownButton.js +0 -109
  126. package/lib/components/DropdownButton.js.map +0 -1
  127. package/lib/components/Group.js +0 -75
  128. package/lib/components/Group.js.map +0 -1
  129. package/lib/components/Header.js +0 -49
  130. package/lib/components/Header.js.map +0 -1
  131. package/lib/components/HeaderButton.js +0 -16
  132. package/lib/components/HeaderButton.js.map +0 -1
  133. package/lib/components/ListGroup.js +0 -167
  134. package/lib/components/ListGroup.js.map +0 -1
  135. package/lib/components/ListItem.js +0 -37
  136. package/lib/components/ListItem.js.map +0 -1
  137. package/lib/components/entries/Checkbox.js +0 -83
  138. package/lib/components/entries/Checkbox.js.map +0 -1
  139. package/lib/components/entries/Collapsible.js +0 -48
  140. package/lib/components/entries/Collapsible.js.map +0 -1
  141. package/lib/components/entries/Description.js +0 -26
  142. package/lib/components/entries/Description.js.map +0 -1
  143. package/lib/components/entries/List.js +0 -204
  144. package/lib/components/entries/List.js.map +0 -1
  145. package/lib/components/entries/NumberField.js +0 -110
  146. package/lib/components/entries/NumberField.js.map +0 -1
  147. package/lib/components/entries/Select.js +0 -110
  148. package/lib/components/entries/Select.js.map +0 -1
  149. package/lib/components/entries/Simple.js +0 -56
  150. package/lib/components/entries/Simple.js.map +0 -1
  151. package/lib/components/entries/TextArea.js +0 -98
  152. package/lib/components/entries/TextArea.js.map +0 -1
  153. package/lib/components/entries/TextField.js +0 -123
  154. package/lib/components/entries/TextField.js.map +0 -1
  155. package/lib/components/entries/ToggleSwitch.js +0 -91
  156. package/lib/components/entries/ToggleSwitch.js.map +0 -1
  157. package/lib/components/icons/index.js +0 -51
  158. package/lib/components/icons/index.js.map +0 -1
  159. package/lib/context/DescriptionContext.js +0 -7
  160. package/lib/context/DescriptionContext.js.map +0 -1
  161. package/lib/context/LayoutContext.js +0 -9
  162. package/lib/context/LayoutContext.js.map +0 -1
  163. package/lib/context/index.js +0 -3
  164. package/lib/context/index.js.map +0 -1
  165. package/lib/features/debounce-input/debounceInput.js +0 -14
  166. package/lib/features/debounce-input/debounceInput.js.map +0 -1
  167. package/lib/features/debounce-input/index.js +0 -5
  168. package/lib/features/debounce-input/index.js.map +0 -1
  169. package/lib/hooks/index.js +0 -5
  170. package/lib/hooks/index.js.map +0 -1
  171. package/lib/hooks/useDescriptionContext.js +0 -25
  172. package/lib/hooks/useDescriptionContext.js.map +0 -1
  173. package/lib/hooks/useKeyFactory.js +0 -39
  174. package/lib/hooks/useKeyFactory.js.map +0 -1
  175. package/lib/hooks/useLayoutState.js +0 -36
  176. package/lib/hooks/useLayoutState.js.map +0 -1
  177. package/lib/hooks/usePrevious.js +0 -16
  178. package/lib/hooks/usePrevious.js.map +0 -1
  179. package/lib/index.js +0 -2
  180. package/lib/index.js.map +0 -1
@@ -0,0 +1,50 @@
1
+ export { Fragment } from '../../';
2
+ import {
3
+ ComponentType,
4
+ ComponentChild,
5
+ ComponentChildren,
6
+ VNode,
7
+ Attributes
8
+ } from '../../';
9
+ import { JSXInternal } from '../../src/jsx';
10
+
11
+ export function jsx(
12
+ type: string,
13
+ props: JSXInternal.HTMLAttributes &
14
+ JSXInternal.SVGAttributes &
15
+ Record<string, any> & { children?: ComponentChild },
16
+ key?: string
17
+ ): VNode<any>;
18
+ export function jsx<P>(
19
+ type: ComponentType<P>,
20
+ props: Attributes & P & { children?: ComponentChild },
21
+ key?: string
22
+ ): VNode<any>;
23
+
24
+ export function jsxs(
25
+ type: string,
26
+ props: JSXInternal.HTMLAttributes &
27
+ JSXInternal.SVGAttributes &
28
+ Record<string, any> & { children?: ComponentChild[] },
29
+ key?: string
30
+ ): VNode<any>;
31
+ export function jsxs<P>(
32
+ type: ComponentType<P>,
33
+ props: Attributes & P & { children?: ComponentChild[] },
34
+ key?: string
35
+ ): VNode<any>;
36
+
37
+ export function jsxDEV(
38
+ type: string,
39
+ props: JSXInternal.HTMLAttributes &
40
+ JSXInternal.SVGAttributes &
41
+ Record<string, any> & { children?: ComponentChildren },
42
+ key?: string
43
+ ): VNode<any>;
44
+ export function jsxDEV<P>(
45
+ type: ComponentType<P>,
46
+ props: Attributes & P & { children?: ComponentChildren },
47
+ key?: string
48
+ ): VNode<any>;
49
+
50
+ export { JSXInternal as JSX };
@@ -0,0 +1,72 @@
1
+ import { options, Fragment } from '../..';
2
+
3
+ /** @typedef {import('preact').VNode} VNode */
4
+
5
+ /**
6
+ * @fileoverview
7
+ * This file exports various methods that implement Babel's "automatic" JSX runtime API:
8
+ * - jsx(type, props, key)
9
+ * - jsxs(type, props, key)
10
+ * - jsxDEV(type, props, key, __source, __self)
11
+ *
12
+ * The implementation of createVNode here is optimized for performance.
13
+ * Benchmarks: https://esbench.com/bench/5f6b54a0b4632100a7dcd2b3
14
+ */
15
+
16
+ /**
17
+ * JSX.Element factory used by Babel's {runtime:"automatic"} JSX transform
18
+ * @param {VNode['type']} type
19
+ * @param {VNode['props']} props
20
+ * @param {VNode['key']} [key]
21
+ * @param {string} [__source]
22
+ * @param {string} [__self]
23
+ */
24
+ function createVNode(type, props, key, __source, __self) {
25
+ // We'll want to preserve `ref` in props to get rid of the need for
26
+ // forwardRef components in the future, but that should happen via
27
+ // a separate PR.
28
+ let normalizedProps = {};
29
+ for (let i in props) {
30
+ if (i != 'ref') {
31
+ normalizedProps[i] = props[i];
32
+ }
33
+ }
34
+
35
+ const vnode = {
36
+ type,
37
+ props: normalizedProps,
38
+ key,
39
+ ref: props && props.ref,
40
+ _children: null,
41
+ _parent: null,
42
+ _depth: 0,
43
+ _dom: null,
44
+ _nextDom: undefined,
45
+ _component: null,
46
+ _hydrating: null,
47
+ constructor: undefined,
48
+ _original: ++options._vnodeId,
49
+ __source,
50
+ __self
51
+ };
52
+
53
+ // If a Component VNode, check for and apply defaultProps.
54
+ // Note: `type` is often a String, and can be `undefined` in development.
55
+ let defaults, i;
56
+ if (typeof type === 'function' && (defaults = type.defaultProps)) {
57
+ for (i in defaults)
58
+ if (normalizedProps[i] === undefined) {
59
+ normalizedProps[i] = defaults[i];
60
+ }
61
+ }
62
+
63
+ if (options.vnode) options.vnode(vnode);
64
+ return vnode;
65
+ }
66
+
67
+ export {
68
+ createVNode as jsx,
69
+ createVNode as jsxs,
70
+ createVNode as jsxDEV,
71
+ Fragment
72
+ };
@@ -0,0 +1,268 @@
1
+ {
2
+ "name": "preact",
3
+ "amdName": "preact",
4
+ "version": "10.5.13",
5
+ "private": false,
6
+ "description": "Fast 3kb React-compatible Virtual DOM library.",
7
+ "main": "dist/preact.js",
8
+ "module": "dist/preact.module.js",
9
+ "umd:main": "dist/preact.umd.js",
10
+ "unpkg": "dist/preact.min.js",
11
+ "source": "src/index.js",
12
+ "exports": {
13
+ ".": {
14
+ "browser": "./dist/preact.module.js",
15
+ "umd": "./dist/preact.umd.js",
16
+ "import": "./dist/preact.mjs",
17
+ "require": "./dist/preact.js"
18
+ },
19
+ "./compat": {
20
+ "browser": "./compat/dist/compat.module.js",
21
+ "umd": "./compat/dist/compat.umd.js",
22
+ "require": "./compat/dist/compat.js",
23
+ "import": "./compat/dist/compat.mjs"
24
+ },
25
+ "./debug": {
26
+ "browser": "./debug/dist/debug.module.js",
27
+ "umd": "./debug/dist/debug.umd.js",
28
+ "require": "./debug/dist/debug.js",
29
+ "import": "./debug/dist/debug.mjs"
30
+ },
31
+ "./devtools": {
32
+ "browser": "./devtools/dist/devtools.module.js",
33
+ "umd": "./devtools/dist/devtools.umd.js",
34
+ "require": "./devtools/dist/devtools.js",
35
+ "import": "./devtools/dist/devtools.mjs"
36
+ },
37
+ "./hooks": {
38
+ "browser": "./hooks/dist/hooks.module.js",
39
+ "umd": "./hooks/dist/hooks.umd.js",
40
+ "require": "./hooks/dist/hooks.js",
41
+ "import": "./hooks/dist/hooks.mjs"
42
+ },
43
+ "./test-utils": {
44
+ "browser": "./test-utils/dist/testUtils.module.js",
45
+ "umd": "./test-utils/dist/testUtils.umd.js",
46
+ "require": "./test-utils/dist/testUtils.js",
47
+ "import": "./test-utils/dist/testUtils.mjs"
48
+ },
49
+ "./jsx-runtime": {
50
+ "browser": "./jsx-runtime/dist/jsxRuntime.module.js",
51
+ "umd": "./jsx-runtime/dist/jsxRuntime.umd.js",
52
+ "require": "./jsx-runtime/dist/jsxRuntime.js",
53
+ "import": "./jsx-runtime/dist/jsxRuntime.mjs"
54
+ },
55
+ "./jsx-dev-runtime": {
56
+ "browser": "./jsx-runtime/dist/jsxRuntime.module.js",
57
+ "umd": "./jsx-runtime/dist/jsxRuntime.umd.js",
58
+ "require": "./jsx-runtime/dist/jsxRuntime.js",
59
+ "import": "./jsx-runtime/dist/jsxRuntime.mjs"
60
+ },
61
+ "./compat/server": {
62
+ "require": "./compat/server.js",
63
+ "import": "./compat/server.mjs"
64
+ },
65
+ "./package.json": "./package.json",
66
+ "./": "./"
67
+ },
68
+ "license": "MIT",
69
+ "funding": {
70
+ "type": "opencollective",
71
+ "url": "https://opencollective.com/preact"
72
+ },
73
+ "types": "src/index.d.ts",
74
+ "scripts": {
75
+ "prepare": "run-s build && check-export-map",
76
+ "build": "npm-run-all --parallel build:*",
77
+ "build:core": "microbundle build --raw",
78
+ "build:core-min": "microbundle build --raw -f iife src/cjs.js -o dist/preact.min.js",
79
+ "build:debug": "microbundle build --raw --cwd debug",
80
+ "build:devtools": "microbundle build --raw --cwd devtools",
81
+ "build:hooks": "microbundle build --raw --cwd hooks",
82
+ "build:test-utils": "microbundle build --raw --cwd test-utils",
83
+ "build:compat": "microbundle build --raw --cwd compat --globals 'preact/hooks=preactHooks'",
84
+ "build:jsx": "microbundle build --raw --cwd jsx-runtime",
85
+ "postbuild": "node ./config/node-13-exports.js && node ./config/compat-entries.js",
86
+ "dev": "microbundle watch --raw --format cjs",
87
+ "dev:hooks": "microbundle watch --raw --format cjs --cwd hooks",
88
+ "dev:compat": "microbundle watch --raw --format cjs --cwd compat --globals 'preact/hooks=preactHooks'",
89
+ "test": "npm-run-all build lint test:unit",
90
+ "test:unit": "run-p test:mocha test:karma:minify test:ts",
91
+ "test:ts": "run-p test:ts:*",
92
+ "test:ts:core": "tsc -p test/ts/ && mocha --require \"@babel/register\" test/ts/**/*-test.js",
93
+ "test:ts:compat": "tsc -p compat/test/ts/",
94
+ "test:mocha": "mocha --recursive --require \"@babel/register\" test/shared test/node",
95
+ "test:mocha:watch": "npm run test:mocha -- --watch",
96
+ "test:karma": "cross-env COVERAGE=true BABEL_NO_MODULES=true karma start karma.conf.js --single-run",
97
+ "test:karma:minify": "cross-env COVERAGE=true MINIFY=true BABEL_NO_MODULES=true karma start karma.conf.js --single-run",
98
+ "test:karma:watch": "cross-env BABEL_NO_MODULES=true karma start karma.conf.js --no-single-run",
99
+ "test:karma:hooks": "cross-env COVERAGE=false BABEL_NO_MODULES=true karma start karma.conf.js --grep=hooks/test/browser/**.js --no-single-run",
100
+ "test:karma:test-utils": "cross-env PERFORMANCE=false COVERAGE=false BABEL_NO_MODULES=true karma start karma.conf.js --grep=test-utils/test/shared/**.js --no-single-run",
101
+ "test:karma:bench": "cross-env PERFORMANCE=true COVERAGE=false BABEL_NO_MODULES=true karma start karma.conf.js --grep=test/benchmarks/**.js --single-run",
102
+ "benchmark": "npm run test:karma:bench -- no-single-run",
103
+ "lint": "eslint src test debug compat hooks test-utils"
104
+ },
105
+ "eslintConfig": {
106
+ "extends": [
107
+ "developit",
108
+ "prettier"
109
+ ],
110
+ "settings": {
111
+ "react": {
112
+ "pragma": "createElement"
113
+ }
114
+ },
115
+ "rules": {
116
+ "camelcase": [
117
+ 1,
118
+ {
119
+ "allow": [
120
+ "__test__*",
121
+ "unstable_*",
122
+ "UNSAFE_*"
123
+ ]
124
+ }
125
+ ],
126
+ "no-unused-vars": [
127
+ 2,
128
+ {
129
+ "args": "none",
130
+ "varsIgnorePattern": "^h|React$"
131
+ }
132
+ ],
133
+ "prefer-rest-params": 0,
134
+ "prefer-spread": 0,
135
+ "no-cond-assign": 0,
136
+ "react/jsx-no-bind": 0,
137
+ "react/no-danger": "off",
138
+ "react/prefer-stateless-function": 0,
139
+ "react/sort-comp": 0,
140
+ "jest/valid-expect": 0,
141
+ "jest/no-disabled-tests": 0,
142
+ "react/no-find-dom-node": 0
143
+ }
144
+ },
145
+ "eslintIgnore": [
146
+ "test/fixtures",
147
+ "test/ts/",
148
+ "*.ts",
149
+ "dist"
150
+ ],
151
+ "prettier": {
152
+ "singleQuote": true,
153
+ "trailingComma": "none",
154
+ "useTabs": true,
155
+ "tabWidth": 2
156
+ },
157
+ "lint-staged": {
158
+ "**/*.{js,jsx,ts,tsx,yml}": [
159
+ "prettier --write"
160
+ ]
161
+ },
162
+ "husky": {
163
+ "hooks": {
164
+ "pre-commit": "lint-staged"
165
+ }
166
+ },
167
+ "files": [
168
+ "src",
169
+ "dist",
170
+ "compat/dist",
171
+ "compat/src",
172
+ "compat/server.js",
173
+ "compat/server.mjs",
174
+ "compat/test-utils.js",
175
+ "compat/jsx-runtime.js",
176
+ "compat/jsx-runtime.mjs",
177
+ "compat/jsx-dev-runtime.js",
178
+ "compat/jsx-dev-runtime.mjs",
179
+ "compat/package.json",
180
+ "debug/dist",
181
+ "debug/src",
182
+ "debug/package.json",
183
+ "devtools/dist",
184
+ "devtools/src",
185
+ "devtools/package.json",
186
+ "hooks/dist",
187
+ "hooks/src",
188
+ "hooks/package.json",
189
+ "jsx-runtime/dist",
190
+ "jsx-runtime/src",
191
+ "jsx-runtime/package.json",
192
+ "test-utils/src",
193
+ "test-utils/package.json",
194
+ "test-utils/dist"
195
+ ],
196
+ "keywords": [
197
+ "preact",
198
+ "react",
199
+ "ui",
200
+ "user interface",
201
+ "virtual dom",
202
+ "vdom",
203
+ "components",
204
+ "dom diff",
205
+ "front-end",
206
+ "framework"
207
+ ],
208
+ "authors": [
209
+ "The Preact Authors (https://github.com/preactjs/preact/contributors)"
210
+ ],
211
+ "repository": "preactjs/preact",
212
+ "bugs": "https://github.com/preactjs/preact/issues",
213
+ "homepage": "https://preactjs.com",
214
+ "devDependencies": {
215
+ "@babel/core": "^7.7.0",
216
+ "@babel/plugin-proposal-object-rest-spread": "^7.6.2",
217
+ "@babel/plugin-transform-react-jsx": "^7.7.0",
218
+ "@babel/plugin-transform-react-jsx-source": "^7.7.4",
219
+ "@babel/preset-env": "^7.7.1",
220
+ "@babel/register": "^7.7.0",
221
+ "@types/chai": "^4.1.2",
222
+ "@types/mocha": "^5.0.0",
223
+ "@types/node": "^14.14.10",
224
+ "babel-plugin-istanbul": "^6.0.0",
225
+ "babel-plugin-transform-async-to-promises": "^0.8.15",
226
+ "babel-plugin-transform-rename-properties": "0.1.0",
227
+ "benchmark": "^2.1.4",
228
+ "chai": "^4.1.2",
229
+ "check-export-map": "^1.0.1",
230
+ "coveralls": "^3.0.0",
231
+ "cross-env": "^7.0.2",
232
+ "csstype": "^3.0.5",
233
+ "diff": "^5.0.0",
234
+ "errorstacks": "^2.3.0",
235
+ "esbuild": "^0.8.47",
236
+ "eslint": "5.15.1",
237
+ "eslint-config-developit": "^1.1.1",
238
+ "eslint-config-prettier": "^6.5.0",
239
+ "eslint-plugin-react": "7.12.4",
240
+ "husky": "^4.3.0",
241
+ "karma": "^5.2.3",
242
+ "karma-chai-sinon": "^0.1.5",
243
+ "karma-chrome-launcher": "^3.1.0",
244
+ "karma-coverage": "^2.0.3",
245
+ "karma-esbuild": "^1.1.4",
246
+ "karma-mocha": "^2.0.1",
247
+ "karma-mocha-reporter": "^2.2.5",
248
+ "karma-sauce-launcher": "^4.3.4",
249
+ "karma-sinon": "^1.0.5",
250
+ "karma-sourcemap-loader": "^0.3.7",
251
+ "kolorist": "^1.2.10",
252
+ "lint-staged": "^10.5.2",
253
+ "lodash": "^4.17.20",
254
+ "microbundle": "^0.11.0",
255
+ "mocha": "^8.2.1",
256
+ "npm-merge-driver-install": "^1.1.1",
257
+ "npm-run-all": "^4.0.0",
258
+ "prettier": "^1.18.2",
259
+ "prop-types": "^15.7.2",
260
+ "sinon": "^9.2.3",
261
+ "sinon-chai": "^3.5.0",
262
+ "typescript": "3.5.3"
263
+ }
264
+
265
+ ,"_resolved": "https://registry.npmjs.org/preact/-/preact-10.5.13.tgz"
266
+ ,"_integrity": "sha512-q/vlKIGNwzTLu+jCcvywgGrt+H/1P/oIRSD6mV4ln3hmlC+Aa34C7yfPI4+5bzW8pONyVXYS7SvXosy2dKKtWQ=="
267
+ ,"_from": "preact@10.5.13"
268
+ }
@@ -0,0 +1,3 @@
1
+ import * as preact from './index.js';
2
+ if (typeof module < 'u') module.exports = preact;
3
+ else self.preact = preact;
@@ -0,0 +1,39 @@
1
+ import { assign } from './util';
2
+ import { createVNode } from './create-element';
3
+
4
+ /**
5
+ * Clones the given VNode, optionally adding attributes/props and replacing its children.
6
+ * @param {import('./internal').VNode} vnode The virtual DOM element to clone
7
+ * @param {object} props Attributes/props to add when cloning
8
+ * @param {Array<import('./internal').ComponentChildren>} rest Any additional arguments will be used as replacement children.
9
+ * @returns {import('./internal').VNode}
10
+ */
11
+ export function cloneElement(vnode, props, children) {
12
+ let normalizedProps = assign({}, vnode.props),
13
+ key,
14
+ ref,
15
+ i;
16
+ for (i in props) {
17
+ if (i == 'key') key = props[i];
18
+ else if (i == 'ref') ref = props[i];
19
+ else normalizedProps[i] = props[i];
20
+ }
21
+
22
+ if (arguments.length > 3) {
23
+ children = [children];
24
+ for (i = 3; i < arguments.length; i++) {
25
+ children.push(arguments[i]);
26
+ }
27
+ }
28
+ if (children != null) {
29
+ normalizedProps.children = children;
30
+ }
31
+
32
+ return createVNode(
33
+ vnode.type,
34
+ normalizedProps,
35
+ key || vnode.key,
36
+ ref || vnode.ref,
37
+ null
38
+ );
39
+ }
@@ -0,0 +1,225 @@
1
+ import { assign } from './util';
2
+ import { diff, commitRoot } from './diff/index';
3
+ import options from './options';
4
+ import { Fragment } from './create-element';
5
+
6
+ /**
7
+ * Base Component class. Provides `setState()` and `forceUpdate()`, which
8
+ * trigger rendering
9
+ * @param {object} props The initial component props
10
+ * @param {object} context The initial context from parent components'
11
+ * getChildContext
12
+ */
13
+ export function Component(props, context) {
14
+ this.props = props;
15
+ this.context = context;
16
+ }
17
+
18
+ /**
19
+ * Update component state and schedule a re-render.
20
+ * @this {import('./internal').Component}
21
+ * @param {object | ((s: object, p: object) => object)} update A hash of state
22
+ * properties to update with new values or a function that given the current
23
+ * state and props returns a new partial state
24
+ * @param {() => void} [callback] A function to be called once component state is
25
+ * updated
26
+ */
27
+ Component.prototype.setState = function(update, callback) {
28
+ // only clone state when copying to nextState the first time.
29
+ let s;
30
+ if (this._nextState != null && this._nextState !== this.state) {
31
+ s = this._nextState;
32
+ } else {
33
+ s = this._nextState = assign({}, this.state);
34
+ }
35
+
36
+ if (typeof update == 'function') {
37
+ // Some libraries like `immer` mark the current state as readonly,
38
+ // preventing us from mutating it, so we need to clone it. See #2716
39
+ update = update(assign({}, s), this.props);
40
+ }
41
+
42
+ if (update) {
43
+ assign(s, update);
44
+ }
45
+
46
+ // Skip update if updater function returned null
47
+ if (update == null) return;
48
+
49
+ if (this._vnode) {
50
+ if (callback) this._renderCallbacks.push(callback);
51
+ enqueueRender(this);
52
+ }
53
+ };
54
+
55
+ /**
56
+ * Immediately perform a synchronous re-render of the component
57
+ * @this {import('./internal').Component}
58
+ * @param {() => void} [callback] A function to be called after component is
59
+ * re-rendered
60
+ */
61
+ Component.prototype.forceUpdate = function(callback) {
62
+ if (this._vnode) {
63
+ // Set render mode so that we can differentiate where the render request
64
+ // is coming from. We need this because forceUpdate should never call
65
+ // shouldComponentUpdate
66
+ this._force = true;
67
+ if (callback) this._renderCallbacks.push(callback);
68
+ enqueueRender(this);
69
+ }
70
+ };
71
+
72
+ /**
73
+ * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.
74
+ * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).
75
+ * @param {object} props Props (eg: JSX attributes) received from parent
76
+ * element/component
77
+ * @param {object} state The component's current state
78
+ * @param {object} context Context object, as returned by the nearest
79
+ * ancestor's `getChildContext()`
80
+ * @returns {import('./index').ComponentChildren | void}
81
+ */
82
+ Component.prototype.render = Fragment;
83
+
84
+ /**
85
+ * @param {import('./internal').VNode} vnode
86
+ * @param {number | null} [childIndex]
87
+ */
88
+ export function getDomSibling(vnode, childIndex) {
89
+ if (childIndex == null) {
90
+ // Use childIndex==null as a signal to resume the search from the vnode's sibling
91
+ return vnode._parent
92
+ ? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)
93
+ : null;
94
+ }
95
+
96
+ let sibling;
97
+ for (; childIndex < vnode._children.length; childIndex++) {
98
+ sibling = vnode._children[childIndex];
99
+
100
+ if (sibling != null && sibling._dom != null) {
101
+ // Since updateParentDomPointers keeps _dom pointer correct,
102
+ // we can rely on _dom to tell us if this subtree contains a
103
+ // rendered DOM node, and what the first rendered DOM node is
104
+ return sibling._dom;
105
+ }
106
+ }
107
+
108
+ // If we get here, we have not found a DOM node in this vnode's children.
109
+ // We must resume from this vnode's sibling (in it's parent _children array)
110
+ // Only climb up and search the parent if we aren't searching through a DOM
111
+ // VNode (meaning we reached the DOM parent of the original vnode that began
112
+ // the search)
113
+ return typeof vnode.type == 'function' ? getDomSibling(vnode) : null;
114
+ }
115
+
116
+ /**
117
+ * Trigger in-place re-rendering of a component.
118
+ * @param {import('./internal').Component} component The component to rerender
119
+ */
120
+ function renderComponent(component) {
121
+ let vnode = component._vnode,
122
+ oldDom = vnode._dom,
123
+ parentDom = component._parentDom;
124
+
125
+ if (parentDom) {
126
+ let commitQueue = [];
127
+ const oldVNode = assign({}, vnode);
128
+ oldVNode._original = vnode._original + 1;
129
+
130
+ diff(
131
+ parentDom,
132
+ vnode,
133
+ oldVNode,
134
+ component._globalContext,
135
+ parentDom.ownerSVGElement !== undefined,
136
+ vnode._hydrating != null ? [oldDom] : null,
137
+ commitQueue,
138
+ oldDom == null ? getDomSibling(vnode) : oldDom,
139
+ vnode._hydrating
140
+ );
141
+ commitRoot(commitQueue, vnode);
142
+
143
+ if (vnode._dom != oldDom) {
144
+ updateParentDomPointers(vnode);
145
+ }
146
+ }
147
+ }
148
+
149
+ /**
150
+ * @param {import('./internal').VNode} vnode
151
+ */
152
+ function updateParentDomPointers(vnode) {
153
+ if ((vnode = vnode._parent) != null && vnode._component != null) {
154
+ vnode._dom = vnode._component.base = null;
155
+ for (let i = 0; i < vnode._children.length; i++) {
156
+ let child = vnode._children[i];
157
+ if (child != null && child._dom != null) {
158
+ vnode._dom = vnode._component.base = child._dom;
159
+ break;
160
+ }
161
+ }
162
+
163
+ return updateParentDomPointers(vnode);
164
+ }
165
+ }
166
+
167
+ /**
168
+ * The render queue
169
+ * @type {Array<import('./internal').Component>}
170
+ */
171
+ let rerenderQueue = [];
172
+
173
+ /**
174
+ * Asynchronously schedule a callback
175
+ * @type {(cb: () => void) => void}
176
+ */
177
+ /* istanbul ignore next */
178
+ // Note the following line isn't tree-shaken by rollup cuz of rollup/rollup#2566
179
+ const defer =
180
+ typeof Promise == 'function'
181
+ ? Promise.prototype.then.bind(Promise.resolve())
182
+ : setTimeout;
183
+
184
+ /*
185
+ * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is
186
+ * important that contributors to Preact can consistently reason about what calls to `setState`, etc.
187
+ * do, and when their effects will be applied. See the links below for some further reading on designing
188
+ * asynchronous APIs.
189
+ * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)
190
+ * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)
191
+ */
192
+
193
+ let prevDebounce;
194
+
195
+ /**
196
+ * Enqueue a rerender of a component
197
+ * @param {import('./internal').Component} c The component to rerender
198
+ */
199
+ export function enqueueRender(c) {
200
+ if (
201
+ (!c._dirty &&
202
+ (c._dirty = true) &&
203
+ rerenderQueue.push(c) &&
204
+ !process._rerenderCount++) ||
205
+ prevDebounce !== options.debounceRendering
206
+ ) {
207
+ prevDebounce = options.debounceRendering;
208
+ (prevDebounce || defer)(process);
209
+ }
210
+ }
211
+
212
+ /** Flush the render queue by rerendering all queued components */
213
+ function process() {
214
+ let queue;
215
+ while ((process._rerenderCount = rerenderQueue.length)) {
216
+ queue = rerenderQueue.sort((a, b) => a._vnode._depth - b._vnode._depth);
217
+ rerenderQueue = [];
218
+ // Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary
219
+ // process() calls from getting scheduled while `queue` is still being consumed.
220
+ queue.some(c => {
221
+ if (c._dirty) renderComponent(c);
222
+ });
223
+ }
224
+ }
225
+ process._rerenderCount = 0;
@@ -0,0 +1,3 @@
1
+ export const EMPTY_OBJ = {};
2
+ export const EMPTY_ARR = [];
3
+ export const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;