@chamn/engine 0.0.10 → 0.0.11

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 (204) hide show
  1. package/dist/component/CustomSchemaForm/components/Form/context.d.ts +2 -0
  2. package/dist/component/CustomSchemaForm/components/Form/index.d.ts +1 -0
  3. package/dist/component/CustomSchemaForm/components/SetterSwitcher/index.d.ts +2 -0
  4. package/dist/component/CustomSchemaForm/index.d.ts +3 -0
  5. package/dist/component/Workbench/index.d.ts +4 -0
  6. package/dist/core/pluginManager.d.ts +5 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +197 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/{index.es.js → index.mjs} +2995 -2944
  11. package/dist/index.mjs.map +1 -0
  12. package/dist/plugins/RightPanel/view.d.ts +4 -0
  13. package/package.json +12 -9
  14. package/.eslintignore +0 -1
  15. package/.eslintrc.js +0 -36
  16. package/.prettierrc.json +0 -7
  17. package/.storybook/main.js +0 -24
  18. package/.storybook/preview.js +0 -9
  19. package/CHANGELOG.md +0 -54
  20. package/__tests__/demo.test.ts +0 -3
  21. package/build.config.js +0 -88
  22. package/dist/index.cjs.js +0 -197
  23. package/dist/index.cjs.js.map +0 -1
  24. package/dist/index.es.js.map +0 -1
  25. package/index.html +0 -16
  26. package/jest.config.js +0 -196
  27. package/public/Engine.module.scss.d.ts +0 -5
  28. package/public/_dev_/render.d.ts +0 -2
  29. package/public/component/CSSEditor/style.module.scss.d.ts +0 -6
  30. package/public/component/CSSPropertiesEditor/style.module.scss.d.ts +0 -15
  31. package/public/component/CSSPropertiesVariableBindEditor/style.module.scss.d.ts +0 -15
  32. package/public/component/CustomSchemaForm/components/Form/Field/style.module.scss.d.ts +0 -8
  33. package/public/component/CustomSchemaForm/components/SetterSwitcher/style.module.scss.d.ts +0 -7
  34. package/public/component/CustomSchemaForm/components/Setters/ArraySetter/style.module.scss.d.ts +0 -7
  35. package/public/component/CustomSchemaForm/components/Setters/CSSValueSetter/style.module.scss.d.ts +0 -6
  36. package/public/component/CustomSchemaForm/style.module.scss.d.ts +0 -11
  37. package/public/component/Workbench/style.module.scss.d.ts +0 -25
  38. package/public/plugins/AdvancePanel/style.module.scss.d.ts +0 -7
  39. package/public/plugins/ComponentLibrary/components/DragItem/style.module.scss.d.ts +0 -9
  40. package/public/plugins/ComponentLibrary/components/ListView/style.module.scss.d.ts +0 -12
  41. package/public/plugins/ComponentLibrary/style.module.scss.d.ts +0 -11
  42. package/public/plugins/Designer/components/DefaultSelectToolBar/style.module.scss.d.ts +0 -11
  43. package/public/plugins/Designer/style.module.scss.d.ts +0 -5
  44. package/public/plugins/GlobalStatePanel/style.module.scss.d.ts +0 -5
  45. package/public/plugins/OutlineTree/components/TreeView/style.module.scss.d.ts +0 -16
  46. package/public/plugins/PropertyPanel/style.module.scss.d.ts +0 -10
  47. package/public/plugins/RightPanel/style.module.scss.d.ts +0 -10
  48. package/public/plugins/VisualPanelPlus/style.module.scss.d.ts +0 -10
  49. package/public/render.umd.js +0 -42
  50. package/public/render.umd.js.map +0 -1
  51. package/src/Engine.module.scss +0 -10
  52. package/src/Engine.module.scss.d.ts +0 -5
  53. package/src/_dev_/index.css +0 -22
  54. package/src/_dev_/index.tsx +0 -5
  55. package/src/_dev_/page/Editor/index.tsx +0 -198
  56. package/src/_dev_/page/Editor/indexCustom.tsx +0 -274
  57. package/src/_dev_/page/Preview/index.tsx +0 -56
  58. package/src/_dev_/render.ts +0 -3
  59. package/src/_dev_/router.tsx +0 -14
  60. package/src/assets/react.svg +0 -4
  61. package/src/assets/styles/mixin.scss +0 -15
  62. package/src/component/CSSEditor/index.tsx +0 -247
  63. package/src/component/CSSEditor/style.module.scss +0 -22
  64. package/src/component/CSSEditor/style.module.scss.d.ts +0 -6
  65. package/src/component/CSSPropertiesEditor/cssProperties.ts +0 -1062
  66. package/src/component/CSSPropertiesEditor/index.tsx +0 -389
  67. package/src/component/CSSPropertiesEditor/style.module.scss +0 -46
  68. package/src/component/CSSPropertiesEditor/style.module.scss.d.ts +0 -15
  69. package/src/component/CSSPropertiesEditor/util.ts +0 -19
  70. package/src/component/CSSPropertiesVariableBindEditor/cssProperties.ts +0 -782
  71. package/src/component/CSSPropertiesVariableBindEditor/index.tsx +0 -366
  72. package/src/component/CSSPropertiesVariableBindEditor/style.module.scss +0 -48
  73. package/src/component/CSSPropertiesVariableBindEditor/style.module.scss.d.ts +0 -15
  74. package/src/component/CSSPropertiesVariableBindEditor/util.ts +0 -19
  75. package/src/component/ClassNameEditor/index.tsx +0 -91
  76. package/src/component/ClassNameEditor/style.module.scss +0 -0
  77. package/src/component/CustomSchemaForm/components/Form/Field/index.tsx +0 -81
  78. package/src/component/CustomSchemaForm/components/Form/Field/style.module.scss +0 -32
  79. package/src/component/CustomSchemaForm/components/Form/Field/style.module.scss.d.ts +0 -8
  80. package/src/component/CustomSchemaForm/components/Form/context.ts +0 -23
  81. package/src/component/CustomSchemaForm/components/Form/index.tsx +0 -71
  82. package/src/component/CustomSchemaForm/components/SetterSwitcher/index.tsx +0 -273
  83. package/src/component/CustomSchemaForm/components/SetterSwitcher/style.module.scss +0 -16
  84. package/src/component/CustomSchemaForm/components/SetterSwitcher/style.module.scss.d.ts +0 -7
  85. package/src/component/CustomSchemaForm/components/Setters/ArraySetter/ArrayItem.tsx +0 -55
  86. package/src/component/CustomSchemaForm/components/Setters/ArraySetter/SortItemOrderModal.tsx +0 -160
  87. package/src/component/CustomSchemaForm/components/Setters/ArraySetter/index.tsx +0 -129
  88. package/src/component/CustomSchemaForm/components/Setters/ArraySetter/style.module.scss +0 -22
  89. package/src/component/CustomSchemaForm/components/Setters/ArraySetter/style.module.scss.d.ts +0 -7
  90. package/src/component/CustomSchemaForm/components/Setters/BooleanSetter/index.tsx +0 -32
  91. package/src/component/CustomSchemaForm/components/Setters/CSSValueSetter/index.tsx +0 -78
  92. package/src/component/CustomSchemaForm/components/Setters/CSSValueSetter/style.module.scss +0 -7
  93. package/src/component/CustomSchemaForm/components/Setters/CSSValueSetter/style.module.scss.d.ts +0 -6
  94. package/src/component/CustomSchemaForm/components/Setters/ExpressionSetter/index.tsx +0 -47
  95. package/src/component/CustomSchemaForm/components/Setters/FunctionSetter/defaultDts.ts +0 -28
  96. package/src/component/CustomSchemaForm/components/Setters/FunctionSetter/index.tsx +0 -93
  97. package/src/component/CustomSchemaForm/components/Setters/JSONSetter/index.tsx +0 -80
  98. package/src/component/CustomSchemaForm/components/Setters/NumberSetter/index.tsx +0 -34
  99. package/src/component/CustomSchemaForm/components/Setters/SelectSetter/index.tsx +0 -35
  100. package/src/component/CustomSchemaForm/components/Setters/ShapeSetter/index.tsx +0 -65
  101. package/src/component/CustomSchemaForm/components/Setters/StringSetter/index.tsx +0 -30
  102. package/src/component/CustomSchemaForm/components/Setters/TextAreaSetter/index.tsx +0 -31
  103. package/src/component/CustomSchemaForm/components/Setters/index.ts +0 -26
  104. package/src/component/CustomSchemaForm/components/Setters/type.ts +0 -18
  105. package/src/component/CustomSchemaForm/context.ts +0 -20
  106. package/src/component/CustomSchemaForm/index.tsx +0 -93
  107. package/src/component/CustomSchemaForm/style.module.scss +0 -15
  108. package/src/component/CustomSchemaForm/style.module.scss.d.ts +0 -11
  109. package/src/component/CustomSchemaForm/utils.ts +0 -13
  110. package/src/component/MonacoEditor/index.tsx +0 -81
  111. package/src/component/Workbench/index.tsx +0 -329
  112. package/src/component/Workbench/style.module.scss +0 -159
  113. package/src/component/Workbench/style.module.scss.d.ts +0 -25
  114. package/src/core/pluginManager.ts +0 -151
  115. package/src/i18n/en_US/index.ts +0 -5
  116. package/src/i18n/index.ts +0 -39
  117. package/src/i18n/zh_CN/index.ts +0 -5
  118. package/src/index.tsx +0 -150
  119. package/src/material/innerMaterial.ts +0 -343
  120. package/src/plugins/AdvancePanel/index.tsx +0 -191
  121. package/src/plugins/AdvancePanel/style.module.scss +0 -8
  122. package/src/plugins/AdvancePanel/style.module.scss.d.ts +0 -7
  123. package/src/plugins/ComponentLibrary/components/DragItem/index.tsx +0 -65
  124. package/src/plugins/ComponentLibrary/components/DragItem/style.module.scss +0 -58
  125. package/src/plugins/ComponentLibrary/components/DragItem/style.module.scss.d.ts +0 -9
  126. package/src/plugins/ComponentLibrary/components/ListView/index.tsx +0 -50
  127. package/src/plugins/ComponentLibrary/components/ListView/style.module.scss +0 -27
  128. package/src/plugins/ComponentLibrary/components/ListView/style.module.scss.d.ts +0 -12
  129. package/src/plugins/ComponentLibrary/index.tsx +0 -184
  130. package/src/plugins/ComponentLibrary/localize/en_US/index.ts +0 -3
  131. package/src/plugins/ComponentLibrary/localize/index.ts +0 -3
  132. package/src/plugins/ComponentLibrary/localize/zh_CN/index.ts +0 -3
  133. package/src/plugins/ComponentLibrary/style.module.scss +0 -31
  134. package/src/plugins/ComponentLibrary/style.module.scss.d.ts +0 -11
  135. package/src/plugins/ComponentLibrary/util.ts +0 -14
  136. package/src/plugins/ComponentStatePanel/index.tsx +0 -59
  137. package/src/plugins/Designer/components/DefaultSelectToolBar/index.tsx +0 -94
  138. package/src/plugins/Designer/components/DefaultSelectToolBar/style.module.scss +0 -59
  139. package/src/plugins/Designer/components/DefaultSelectToolBar/style.module.scss.d.ts +0 -11
  140. package/src/plugins/Designer/components/GhostView/index.tsx +0 -18
  141. package/src/plugins/Designer/config.ts +0 -1
  142. package/src/plugins/Designer/index.tsx +0 -61
  143. package/src/plugins/Designer/localize/en_US/index.ts +0 -3
  144. package/src/plugins/Designer/localize/index.ts +0 -3
  145. package/src/plugins/Designer/localize/zh_CN/index.ts +0 -3
  146. package/src/plugins/Designer/style.module.scss +0 -10
  147. package/src/plugins/Designer/style.module.scss.d.ts +0 -5
  148. package/src/plugins/Designer/util.ts +0 -18
  149. package/src/plugins/Designer/view.tsx +0 -225
  150. package/src/plugins/DisplaySourceSchema/index.tsx +0 -76
  151. package/src/plugins/GlobalStatePanel/index.tsx +0 -96
  152. package/src/plugins/GlobalStatePanel/localize/en_US/index.ts +0 -3
  153. package/src/plugins/GlobalStatePanel/localize/index.ts +0 -3
  154. package/src/plugins/GlobalStatePanel/localize/zh_CN/index.ts +0 -3
  155. package/src/plugins/GlobalStatePanel/style.module.scss +0 -8
  156. package/src/plugins/GlobalStatePanel/style.module.scss.d.ts +0 -5
  157. package/src/plugins/History/index.tsx +0 -110
  158. package/src/plugins/OutlineTree/components/TreeView/context.ts +0 -43
  159. package/src/plugins/OutlineTree/components/TreeView/dataStruct.ts +0 -58
  160. package/src/plugins/OutlineTree/components/TreeView/index.tsx +0 -376
  161. package/src/plugins/OutlineTree/components/TreeView/style.module.scss +0 -93
  162. package/src/plugins/OutlineTree/components/TreeView/style.module.scss.d.ts +0 -16
  163. package/src/plugins/OutlineTree/components/TreeView/treeNode.tsx +0 -271
  164. package/src/plugins/OutlineTree/index.tsx +0 -39
  165. package/src/plugins/OutlineTree/localize/en_US/index.ts +0 -3
  166. package/src/plugins/OutlineTree/localize/index.ts +0 -3
  167. package/src/plugins/OutlineTree/localize/zh_CN/index.ts +0 -3
  168. package/src/plugins/OutlineTree/util.tsx +0 -302
  169. package/src/plugins/PropertyPanel/index.tsx +0 -63
  170. package/src/plugins/PropertyPanel/style.module.scss +0 -12
  171. package/src/plugins/PropertyPanel/style.module.scss.d.ts +0 -10
  172. package/src/plugins/PropertyPanel/utils.ts +0 -13
  173. package/src/plugins/RightPanel/index.tsx +0 -30
  174. package/src/plugins/RightPanel/style.module.scss +0 -16
  175. package/src/plugins/RightPanel/style.module.scss.d.ts +0 -10
  176. package/src/plugins/RightPanel/view.tsx +0 -177
  177. package/src/plugins/VisualPanel/index.tsx +0 -185
  178. package/src/plugins/VisualPanel/style.module.scss +0 -17
  179. package/src/plugins/VisualPanelPlus/index.tsx +0 -103
  180. package/src/plugins/VisualPanelPlus/style.module.scss +0 -20
  181. package/src/plugins/VisualPanelPlus/style.module.scss.d.ts +0 -10
  182. package/src/plugins/index.tsx +0 -26
  183. package/src/stories/Button.jsx +0 -50
  184. package/src/stories/Button.stories.jsx +0 -40
  185. package/src/stories/Introduction.stories.mdx +0 -194
  186. package/src/stories/assets/code-brackets.svg +0 -1
  187. package/src/stories/assets/colors.svg +0 -1
  188. package/src/stories/assets/comments.svg +0 -1
  189. package/src/stories/assets/direction.svg +0 -1
  190. package/src/stories/assets/flow.svg +0 -1
  191. package/src/stories/assets/plugin.svg +0 -1
  192. package/src/stories/assets/repo.svg +0 -1
  193. package/src/stories/assets/stackalt.svg +0 -1
  194. package/src/stories/button.css +0 -30
  195. package/src/stories/plugins/CSSEditor.stories.tsx +0 -75
  196. package/src/stories/plugins/VisualPanelPlus.stories.tsx +0 -74
  197. package/src/style.d.ts +0 -2
  198. package/src/typing.d.ts +0 -9
  199. package/src/utils/css.ts +0 -88
  200. package/src/utils/defaultEngineConfig.tsx +0 -55
  201. package/src/utils/index.ts +0 -12
  202. package/src/utils/logger.ts +0 -4
  203. package/src/vite-env.d.ts +0 -1
  204. package/tsconfig.json +0 -32
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/.pnpm/registry.npmmirror.com+react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/registry.npmmirror.com+react@18.2.0/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/registry.npmmirror.com+react@18.2.0/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/registry.npmmirror.com+re-resizable@6.9.9_react-dom@18.2.0_react@18.2.0/node_modules/re-resizable/lib/resizer.js","../../../node_modules/.pnpm/registry.npmmirror.com+re-resizable@6.9.9_react-dom@18.2.0_react@18.2.0/node_modules/re-resizable/lib/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/Context.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/.pnpm/registry.npmmirror.com+classnames@2.3.2/node_modules/classnames/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ctrl+tinycolor@3.6.0/node_modules/@ctrl/tinycolor/dist/module/util.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ctrl+tinycolor@3.6.0/node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ctrl+tinycolor@3.6.0/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ctrl+tinycolor@3.6.0/node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ctrl+tinycolor@3.6.0/node_modules/@ctrl/tinycolor/dist/module/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+colors@6.0.0/node_modules/@ant-design/colors/dist/index.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/warning.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/contains.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/dynamicCSS.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/utils.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/IconBase.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/AntdIcon.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/ApartmentOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/ApartmentOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/AppstoreAddOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/AppstoreAddOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/CloseOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/CopyOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/CopyOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/DatabaseOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/DatabaseOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/DeleteOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/DeleteOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/DoubleRightOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/DoubleRightOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/EyeOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/MinusCircleOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/MinusCircleOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/MinusOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/MinusOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/PlusOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/PushpinOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/PushpinOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/RightOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons-svg@4.2.1/node_modules/@ant-design/icons-svg/es/asn/SwapOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@4.8.0_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/SwapOutlined.js","../../../node_modules/.pnpm/registry.npmmirror.com+clsx@1.2.1/node_modules/clsx/dist/clsx.m.js","../../../node_modules/.pnpm/registry.npmmirror.com+mitt@3.0.0/node_modules/mitt/dist/mitt.mjs","../src/utils/index.ts","../src/component/Workbench/index.tsx","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+i18next@22.4.13/node_modules/i18next/dist/esm/i18next.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/utils.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/unescape.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/defaults.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/i18nInstance.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/initReactI18next.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/context.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/useTranslation.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-i18next@12.2.0_i18next@22.4.13_react-dom@18.2.0_react@18.2.0/node_modules/react-i18next/dist/es/withTranslation.js","../src/i18n/zh_CN/index.ts","../src/i18n/en_US/index.ts","../src/i18n/index.ts","../src/core/pluginManager.ts","../src/utils/defaultEngineConfig.tsx","../src/plugins/ComponentLibrary/localize/zh_CN/index.ts","../src/plugins/ComponentLibrary/localize/en_US/index.ts","../src/plugins/ComponentLibrary/localize/index.ts","../src/plugins/ComponentLibrary/components/DragItem/index.tsx","../src/plugins/ComponentLibrary/components/ListView/index.tsx","../src/plugins/ComponentLibrary/util.ts","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_root.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isObject.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/eq.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isLength.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isArguments.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_overArg.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/keys.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/keysIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Hash.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Map.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/toString.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseSlice.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_castSlice.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_hasUnicode.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_asciiToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_unicodeToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_stringToArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_createCaseFirst.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/upperFirst.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/capitalize.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Stack.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseAssign.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseAssignIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/stubArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_copySymbols.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getSymbolsIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_copySymbolsIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getAllKeysIn.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_DataView.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Promise.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Set.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_getTag.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_initCloneArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_cloneDataView.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_cloneRegExp.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseIsMap.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isMap.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseIsSet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/isSet.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/_baseClone.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.js","../src/plugins/ComponentLibrary/index.tsx","../src/plugins/Designer/config.ts","../src/plugins/Designer/localize/zh_CN/index.ts","../src/plugins/Designer/localize/en_US/index.ts","../src/plugins/Designer/localize/index.ts","../src/plugins/Designer/components/DefaultSelectToolBar/index.tsx","../src/plugins/Designer/util.ts","../src/plugins/Designer/components/GhostView/index.tsx","../src/plugins/Designer/view.tsx","../src/plugins/Designer/index.tsx","../../../node_modules/.pnpm/registry.npmmirror.com+consola@2.15.3/node_modules/consola/dist/consola.browser.js","../src/utils/logger.ts","../src/plugins/OutlineTree/util.tsx","../src/plugins/OutlineTree/components/TreeView/context.ts","../src/plugins/OutlineTree/components/TreeView/treeNode.tsx","../src/plugins/OutlineTree/components/TreeView/index.tsx","../src/plugins/OutlineTree/localize/zh_CN/index.ts","../src/plugins/OutlineTree/localize/en_US/index.ts","../src/plugins/OutlineTree/localize/index.ts","../src/plugins/OutlineTree/index.tsx","../src/component/CustomSchemaForm/components/Form/context.ts","../src/component/CustomSchemaForm/components/Form/index.tsx","../../../node_modules/.pnpm/registry.npmmirror.com+superstruct@0.16.7/node_modules/superstruct/lib/index.mjs","../../model/src/types/base.ts","../../model/src/const/schema.ts","../../model/src/types/node.ts","../../model/src/types/material.ts","../src/component/CustomSchemaForm/components/Setters/StringSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/NumberSetter/index.tsx","../src/component/CustomSchemaForm/utils.ts","../src/component/CustomSchemaForm/components/Setters/ArraySetter/ArrayItem.tsx","../../../node_modules/.pnpm/registry.npmmirror.com+@dnd-kit+utilities@3.2.1_react@18.2.0/node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+@dnd-kit+accessibility@3.0.1_react@18.2.0/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+@dnd-kit+core@6.0.8_react-dom@18.2.0_react@18.2.0/node_modules/@dnd-kit/core/dist/core.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+@dnd-kit+sortable@7.0.2_@dnd-kit+core@6.0.8_react@18.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+@dnd-kit+modifiers@6.0.1_@dnd-kit+core@6.0.8_react@18.2.0/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js","../src/component/CustomSchemaForm/components/Setters/ArraySetter/SortItemOrderModal.tsx","../src/component/CustomSchemaForm/components/Setters/ArraySetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/ShapeSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/ExpressionSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/BooleanSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/SelectSetter/index.tsx","../src/component/MonacoEditor/index.tsx","../src/component/CustomSchemaForm/components/Setters/JSONSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/FunctionSetter/defaultDts.ts","../src/component/CustomSchemaForm/components/Setters/FunctionSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/TextAreaSetter/index.tsx","../../../node_modules/.pnpm/registry.npmmirror.com+tslib@2.5.0/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/registry.npmmirror.com+ahooks@3.7.6_react@18.2.0/node_modules/ahooks/es/utils/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+ahooks@3.7.6_react@18.2.0/node_modules/ahooks/es/utils/isDev.js","../../../node_modules/.pnpm/registry.npmmirror.com+ahooks@3.7.6_react@18.2.0/node_modules/ahooks/es/useLatest/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+ahooks@3.7.6_react@18.2.0/node_modules/ahooks/es/useUnmount/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/isObject.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_freeGlobal.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_root.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/now.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_baseTrim.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_Symbol.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_getRawTag.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_objectToString.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/_baseGetTag.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/isObjectLike.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/isSymbol.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/toNumber.js","../../../node_modules/.pnpm/registry.npmmirror.com+lodash@4.17.21/node_modules/lodash/debounce.js","../../../node_modules/.pnpm/registry.npmmirror.com+ahooks@3.7.6_react@18.2.0/node_modules/ahooks/es/useDebounceFn/index.js","../src/component/CSSPropertiesEditor/cssProperties.ts","../src/component/CustomSchemaForm/components/Setters/CSSValueSetter/index.tsx","../src/component/CustomSchemaForm/components/Setters/index.ts","../src/component/CustomSchemaForm/components/Form/Field/index.tsx","../src/component/CustomSchemaForm/context.ts","../src/component/CustomSchemaForm/components/SetterSwitcher/index.tsx","../src/component/CustomSchemaForm/index.tsx","../src/plugins/PropertyPanel/index.tsx","../src/plugins/ComponentStatePanel/index.tsx","../src/plugins/AdvancePanel/index.tsx","../src/component/CSSPropertiesVariableBindEditor/cssProperties.ts","../src/component/CSSPropertiesVariableBindEditor/util.ts","../src/component/CSSPropertiesVariableBindEditor/index.tsx","../src/component/ClassNameEditor/index.tsx","../src/utils/css.ts","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+@emotion+hash@0.8.0/node_modules/@emotion/hash/dist/hash.browser.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/hooks/useMemo.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/isEqual.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/Cache.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/StyleContext.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/util.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","../../../node_modules/.pnpm/registry.npmmirror.com+@emotion+unitless@0.7.5/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../../../node_modules/.pnpm/registry.npmmirror.com+stylis@4.1.3/node_modules/stylis/src/Enum.js","../../../node_modules/.pnpm/registry.npmmirror.com+stylis@4.1.3/node_modules/stylis/src/Utility.js","../../../node_modules/.pnpm/registry.npmmirror.com+stylis@4.1.3/node_modules/stylis/src/Tokenizer.js","../../../node_modules/.pnpm/registry.npmmirror.com+stylis@4.1.3/node_modules/stylis/src/Parser.js","../../../node_modules/.pnpm/registry.npmmirror.com+stylis@4.1.3/node_modules/stylis/src/Serializer.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/linters/utils.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/linters/contentQuotesLinter.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/linters/hashedAnimationLinter.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/theme/Theme.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/theme/createTheme.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+cssinjs@1.6.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+icons@5.0.1_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/Context.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/.pnpm/registry.npmmirror.com+react-is@16.13.1/node_modules/react-is/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Children/toArray.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/FieldContext.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/typeUtil.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../../../node_modules/.pnpm/registry.npmmirror.com+@babel+runtime@7.21.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../node_modules/.pnpm/registry.npmmirror.com+async-validator@4.2.5/node_modules/async-validator/dist-web/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/messages.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/utils/get.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-util@5.29.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/utils/set.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/cloneDeep.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/valueUtil.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/validateUtil.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/Field.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/ListContext.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/List.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/asyncUtil.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/NameMap.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/useForm.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/FormContext.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/Form.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/useWatch.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-field-form@1.28.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/warning.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-pagination@3.3.1_react-dom@18.2.0_react@18.2.0/node_modules/rc-pagination/es/locale/en_US.js","../../../node_modules/.pnpm/registry.npmmirror.com+rc-picker@3.3.4_dayjs@1.11.7_react-dom@18.2.0_react@18.2.0/node_modules/rc-picker/es/locale/en_US.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/time-picker/locale/en_US.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/date-picker/locale/en_US.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/en_US.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/locale.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/context.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/version/version.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/interface/presetColors.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+colors@7.0.0/node_modules/@ant-design/colors/es/generate.js","../../../node_modules/.pnpm/registry.npmmirror.com+@ant-design+colors@7.0.0/node_modules/@ant-design/colors/es/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genControlHeight.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/seed.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genColorMapToken.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genRadius.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/default/colorAlgorithm.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/default/colors.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genFontSizes.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genFontMapToken.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/default/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/getAlphaColor.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/alias.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/presetColor.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/context.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/genComponentStyleHook.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/statistic.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/internal.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/cssVariables.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/DisabledContext.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/SizeContext.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/hooks/useConfig.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/hooks/useTheme.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/style/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/capitalize.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/tag/style/index.js","../../../node_modules/.pnpm/registry.npmmirror.com+antd@5.3.2_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/tag/CheckableTag.js","../src/component/CSSPropertiesEditor/util.ts","../src/component/CSSPropertiesEditor/index.tsx","../src/component/CSSEditor/index.tsx","../src/plugins/VisualPanelPlus/index.tsx","../src/plugins/RightPanel/view.tsx","../src/plugins/RightPanel/index.tsx","../src/plugins/GlobalStatePanel/localize/zh_CN/index.ts","../src/plugins/GlobalStatePanel/localize/en_US/index.ts","../src/plugins/GlobalStatePanel/localize/index.ts","../src/plugins/GlobalStatePanel/index.tsx","../src/plugins/DisplaySourceSchema/index.tsx","../src/plugins/History/index.tsx","../src/plugins/index.tsx","../src/material/innerMaterial.ts","../src/index.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nvar rowSizeBase = {\n width: '100%',\n height: '10px',\n top: '0px',\n left: '0px',\n cursor: 'row-resize',\n};\nvar colSizeBase = {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '0px',\n cursor: 'col-resize',\n};\nvar edgeBase = {\n width: '20px',\n height: '20px',\n position: 'absolute',\n};\nvar styles = {\n top: __assign(__assign({}, rowSizeBase), { top: '-5px' }),\n right: __assign(__assign({}, colSizeBase), { left: undefined, right: '-5px' }),\n bottom: __assign(__assign({}, rowSizeBase), { top: undefined, bottom: '-5px' }),\n left: __assign(__assign({}, colSizeBase), { left: '-5px' }),\n topRight: __assign(__assign({}, edgeBase), { right: '-10px', top: '-10px', cursor: 'ne-resize' }),\n bottomRight: __assign(__assign({}, edgeBase), { right: '-10px', bottom: '-10px', cursor: 'se-resize' }),\n bottomLeft: __assign(__assign({}, edgeBase), { left: '-10px', bottom: '-10px', cursor: 'sw-resize' }),\n topLeft: __assign(__assign({}, edgeBase), { left: '-10px', top: '-10px', cursor: 'nw-resize' }),\n};\nvar Resizer = /** @class */ (function (_super) {\n __extends(Resizer, _super);\n function Resizer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onMouseDown = function (e) {\n _this.props.onResizeStart(e, _this.props.direction);\n };\n _this.onTouchStart = function (e) {\n _this.props.onResizeStart(e, _this.props.direction);\n };\n return _this;\n }\n Resizer.prototype.render = function () {\n return (React.createElement(\"div\", { className: this.props.className || '', style: __assign(__assign({ position: 'absolute', userSelect: 'none' }, styles[this.props.direction]), (this.props.replaceStyles || {})), onMouseDown: this.onMouseDown, onTouchStart: this.onTouchStart }, this.props.children));\n };\n return Resizer;\n}(React.PureComponent));\nexport { Resizer };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { flushSync } from 'react-dom';\nimport { Resizer } from './resizer';\nvar DEFAULT_SIZE = {\n width: 'auto',\n height: 'auto',\n};\nvar clamp = function (n, min, max) { return Math.max(Math.min(n, max), min); };\nvar snap = function (n, size) { return Math.round(n / size) * size; };\nvar hasDirection = function (dir, target) {\n return new RegExp(dir, 'i').test(target);\n};\n// INFO: In case of window is a Proxy and does not porxy Events correctly, use isTouchEvent & isMouseEvent to distinguish event type instead of `instanceof`.\nvar isTouchEvent = function (event) {\n return Boolean(event.touches && event.touches.length);\n};\nvar isMouseEvent = function (event) {\n return Boolean((event.clientX || event.clientX === 0) &&\n (event.clientY || event.clientY === 0));\n};\nvar findClosestSnap = function (n, snapArray, snapGap) {\n if (snapGap === void 0) { snapGap = 0; }\n var closestGapIndex = snapArray.reduce(function (prev, curr, index) { return (Math.abs(curr - n) < Math.abs(snapArray[prev] - n) ? index : prev); }, 0);\n var gap = Math.abs(snapArray[closestGapIndex] - n);\n return snapGap === 0 || gap < snapGap ? snapArray[closestGapIndex] : n;\n};\nvar getStringSize = function (n) {\n n = n.toString();\n if (n === 'auto') {\n return n;\n }\n if (n.endsWith('px')) {\n return n;\n }\n if (n.endsWith('%')) {\n return n;\n }\n if (n.endsWith('vh')) {\n return n;\n }\n if (n.endsWith('vw')) {\n return n;\n }\n if (n.endsWith('vmax')) {\n return n;\n }\n if (n.endsWith('vmin')) {\n return n;\n }\n return n + \"px\";\n};\nvar getPixelSize = function (size, parentSize, innerWidth, innerHeight) {\n if (size && typeof size === 'string') {\n if (size.endsWith('px')) {\n return Number(size.replace('px', ''));\n }\n if (size.endsWith('%')) {\n var ratio = Number(size.replace('%', '')) / 100;\n return parentSize * ratio;\n }\n if (size.endsWith('vw')) {\n var ratio = Number(size.replace('vw', '')) / 100;\n return innerWidth * ratio;\n }\n if (size.endsWith('vh')) {\n var ratio = Number(size.replace('vh', '')) / 100;\n return innerHeight * ratio;\n }\n }\n return size;\n};\nvar calculateNewMax = function (parentSize, innerWidth, innerHeight, maxWidth, maxHeight, minWidth, minHeight) {\n maxWidth = getPixelSize(maxWidth, parentSize.width, innerWidth, innerHeight);\n maxHeight = getPixelSize(maxHeight, parentSize.height, innerWidth, innerHeight);\n minWidth = getPixelSize(minWidth, parentSize.width, innerWidth, innerHeight);\n minHeight = getPixelSize(minHeight, parentSize.height, innerWidth, innerHeight);\n return {\n maxWidth: typeof maxWidth === 'undefined' ? undefined : Number(maxWidth),\n maxHeight: typeof maxHeight === 'undefined' ? undefined : Number(maxHeight),\n minWidth: typeof minWidth === 'undefined' ? undefined : Number(minWidth),\n minHeight: typeof minHeight === 'undefined' ? undefined : Number(minHeight),\n };\n};\nvar definedProps = [\n 'as',\n 'style',\n 'className',\n 'grid',\n 'snap',\n 'bounds',\n 'boundsByDirection',\n 'size',\n 'defaultSize',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'lockAspectRatio',\n 'lockAspectRatioExtraWidth',\n 'lockAspectRatioExtraHeight',\n 'enable',\n 'handleStyles',\n 'handleClasses',\n 'handleWrapperStyle',\n 'handleWrapperClass',\n 'children',\n 'onResizeStart',\n 'onResize',\n 'onResizeStop',\n 'handleComponent',\n 'scale',\n 'resizeRatio',\n 'snapGap',\n];\n// HACK: This class is used to calculate % size.\nvar baseClassName = '__resizable_base__';\nvar Resizable = /** @class */ (function (_super) {\n __extends(Resizable, _super);\n function Resizable(props) {\n var _this = _super.call(this, props) || this;\n _this.ratio = 1;\n _this.resizable = null;\n // For parent boundary\n _this.parentLeft = 0;\n _this.parentTop = 0;\n // For boundary\n _this.resizableLeft = 0;\n _this.resizableRight = 0;\n _this.resizableTop = 0;\n _this.resizableBottom = 0;\n // For target boundary\n _this.targetLeft = 0;\n _this.targetTop = 0;\n _this.appendBase = function () {\n if (!_this.resizable || !_this.window) {\n return null;\n }\n var parent = _this.parentNode;\n if (!parent) {\n return null;\n }\n var element = _this.window.document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '0';\n element.style.flex = '0 0 100%';\n if (element.classList) {\n element.classList.add(baseClassName);\n }\n else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n return element;\n };\n _this.removeBase = function (base) {\n var parent = _this.parentNode;\n if (!parent) {\n return;\n }\n parent.removeChild(base);\n };\n _this.ref = function (c) {\n if (c) {\n _this.resizable = c;\n }\n };\n _this.state = {\n isResizing: false,\n width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined'\n ? 'auto'\n : _this.propsSize && _this.propsSize.width,\n height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined'\n ? 'auto'\n : _this.propsSize && _this.propsSize.height,\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n },\n backgroundStyle: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: 'auto',\n opacity: 0,\n position: 'fixed',\n zIndex: 9999,\n top: '0',\n left: '0',\n bottom: '0',\n right: '0',\n },\n flexBasis: undefined,\n };\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n return _this;\n }\n Object.defineProperty(Resizable.prototype, \"parentNode\", {\n get: function () {\n if (!this.resizable) {\n return null;\n }\n return this.resizable.parentNode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"window\", {\n get: function () {\n if (!this.resizable) {\n return null;\n }\n if (!this.resizable.ownerDocument) {\n return null;\n }\n return this.resizable.ownerDocument.defaultView;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"propsSize\", {\n get: function () {\n return this.props.size || this.props.defaultSize || DEFAULT_SIZE;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"size\", {\n get: function () {\n var width = 0;\n var height = 0;\n if (this.resizable && this.window) {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Resizable.prototype, \"sizeStyle\", {\n get: function () {\n var _this = this;\n var size = this.props.size;\n var getSize = function (key) {\n if (typeof _this.state[key] === 'undefined' || _this.state[key] === 'auto') {\n return 'auto';\n }\n if (_this.propsSize && _this.propsSize[key] && _this.propsSize[key].toString().endsWith('%')) {\n if (_this.state[key].toString().endsWith('%')) {\n return _this.state[key].toString();\n }\n var parentSize = _this.getParentSize();\n var value = Number(_this.state[key].toString().replace('px', ''));\n var percent = (value / parentSize[key]) * 100;\n return percent + \"%\";\n }\n return getStringSize(_this.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing\n ? getStringSize(size.width)\n : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing\n ? getStringSize(size.height)\n : getSize('height');\n return { width: width, height: height };\n },\n enumerable: false,\n configurable: true\n });\n Resizable.prototype.getParentSize = function () {\n if (!this.parentNode) {\n if (!this.window) {\n return { width: 0, height: 0 };\n }\n return { width: this.window.innerWidth, height: this.window.innerHeight };\n }\n var base = this.appendBase();\n if (!base) {\n return { width: 0, height: 0 };\n }\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n base.style.minHeight = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight,\n };\n if (wrapChanged) {\n this.parentNode.style.flexWrap = wrap;\n }\n this.removeBase(base);\n return size;\n };\n Resizable.prototype.bindEvents = function () {\n if (this.window) {\n this.window.addEventListener('mouseup', this.onMouseUp);\n this.window.addEventListener('mousemove', this.onMouseMove);\n this.window.addEventListener('mouseleave', this.onMouseUp);\n this.window.addEventListener('touchmove', this.onMouseMove, {\n capture: true,\n passive: false,\n });\n this.window.addEventListener('touchend', this.onMouseUp);\n }\n };\n Resizable.prototype.unbindEvents = function () {\n if (this.window) {\n this.window.removeEventListener('mouseup', this.onMouseUp);\n this.window.removeEventListener('mousemove', this.onMouseMove);\n this.window.removeEventListener('mouseleave', this.onMouseUp);\n this.window.removeEventListener('touchmove', this.onMouseMove, true);\n this.window.removeEventListener('touchend', this.onMouseUp);\n }\n };\n Resizable.prototype.componentDidMount = function () {\n if (!this.resizable || !this.window) {\n return;\n }\n var computedStyle = this.window.getComputedStyle(this.resizable);\n this.setState({\n width: this.state.width || this.size.width,\n height: this.state.height || this.size.height,\n flexBasis: computedStyle.flexBasis !== 'auto' ? computedStyle.flexBasis : undefined,\n });\n };\n Resizable.prototype.componentWillUnmount = function () {\n if (this.window) {\n this.unbindEvents();\n }\n };\n Resizable.prototype.createSizeForCssProperty = function (newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' &&\n this.state.original[kind] === newSize &&\n (typeof propsSize === 'undefined' || propsSize === 'auto')\n ? 'auto'\n : newSize;\n };\n Resizable.prototype.calculateNewMaxFromBoundary = function (maxWidth, maxHeight) {\n var boundsByDirection = this.props.boundsByDirection;\n var direction = this.state.direction;\n var widthByDirection = boundsByDirection && hasDirection('left', direction);\n var heightByDirection = boundsByDirection && hasDirection('top', direction);\n var boundWidth;\n var boundHeight;\n if (this.props.bounds === 'parent') {\n var parent_1 = this.parentNode;\n if (parent_1) {\n boundWidth = widthByDirection\n ? this.resizableRight - this.parentLeft\n : parent_1.offsetWidth + (this.parentLeft - this.resizableLeft);\n boundHeight = heightByDirection\n ? this.resizableBottom - this.parentTop\n : parent_1.offsetHeight + (this.parentTop - this.resizableTop);\n }\n }\n else if (this.props.bounds === 'window') {\n if (this.window) {\n boundWidth = widthByDirection ? this.resizableRight : this.window.innerWidth - this.resizableLeft;\n boundHeight = heightByDirection ? this.resizableBottom : this.window.innerHeight - this.resizableTop;\n }\n }\n else if (this.props.bounds) {\n boundWidth = widthByDirection\n ? this.resizableRight - this.targetLeft\n : this.props.bounds.offsetWidth + (this.targetLeft - this.resizableLeft);\n boundHeight = heightByDirection\n ? this.resizableBottom - this.targetTop\n : this.props.bounds.offsetHeight + (this.targetTop - this.resizableTop);\n }\n if (boundWidth && Number.isFinite(boundWidth)) {\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n }\n if (boundHeight && Number.isFinite(boundHeight)) {\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n return { maxWidth: maxWidth, maxHeight: maxHeight };\n };\n Resizable.prototype.calculateNewSizeFromDirection = function (clientX, clientY) {\n var scale = this.props.scale || 1;\n var resizeRatio = this.props.resizeRatio || 1;\n var _a = this.state, direction = _a.direction, original = _a.original;\n var _b = this.props, lockAspectRatio = _b.lockAspectRatio, lockAspectRatioExtraHeight = _b.lockAspectRatioExtraHeight, lockAspectRatioExtraWidth = _b.lockAspectRatioExtraWidth;\n var newWidth = original.width;\n var newHeight = original.height;\n var extraHeight = lockAspectRatioExtraHeight || 0;\n var extraWidth = lockAspectRatioExtraWidth || 0;\n if (hasDirection('right', direction)) {\n newWidth = original.width + ((clientX - original.x) * resizeRatio) / scale;\n if (lockAspectRatio) {\n newHeight = (newWidth - extraWidth) / this.ratio + extraHeight;\n }\n }\n if (hasDirection('left', direction)) {\n newWidth = original.width - ((clientX - original.x) * resizeRatio) / scale;\n if (lockAspectRatio) {\n newHeight = (newWidth - extraWidth) / this.ratio + extraHeight;\n }\n }\n if (hasDirection('bottom', direction)) {\n newHeight = original.height + ((clientY - original.y) * resizeRatio) / scale;\n if (lockAspectRatio) {\n newWidth = (newHeight - extraHeight) * this.ratio + extraWidth;\n }\n }\n if (hasDirection('top', direction)) {\n newHeight = original.height - ((clientY - original.y) * resizeRatio) / scale;\n if (lockAspectRatio) {\n newWidth = (newHeight - extraHeight) * this.ratio + extraWidth;\n }\n }\n return { newWidth: newWidth, newHeight: newHeight };\n };\n Resizable.prototype.calculateNewSizeFromAspectRatio = function (newWidth, newHeight, max, min) {\n var _a = this.props, lockAspectRatio = _a.lockAspectRatio, lockAspectRatioExtraHeight = _a.lockAspectRatioExtraHeight, lockAspectRatioExtraWidth = _a.lockAspectRatioExtraWidth;\n var computedMinWidth = typeof min.width === 'undefined' ? 10 : min.width;\n var computedMaxWidth = typeof max.width === 'undefined' || max.width < 0 ? newWidth : max.width;\n var computedMinHeight = typeof min.height === 'undefined' ? 10 : min.height;\n var computedMaxHeight = typeof max.height === 'undefined' || max.height < 0 ? newHeight : max.height;\n var extraHeight = lockAspectRatioExtraHeight || 0;\n var extraWidth = lockAspectRatioExtraWidth || 0;\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - extraHeight) * this.ratio + extraWidth;\n var extraMaxWidth = (computedMaxHeight - extraHeight) * this.ratio + extraWidth;\n var extraMinHeight = (computedMinWidth - extraWidth) / this.ratio + extraHeight;\n var extraMaxHeight = (computedMaxWidth - extraWidth) / this.ratio + extraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n }\n else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n return { newWidth: newWidth, newHeight: newHeight };\n };\n Resizable.prototype.setBoundingClientRect = function () {\n // For parent boundary\n if (this.props.bounds === 'parent') {\n var parent_2 = this.parentNode;\n if (parent_2) {\n var parentRect = parent_2.getBoundingClientRect();\n this.parentLeft = parentRect.left;\n this.parentTop = parentRect.top;\n }\n }\n // For target(html element) boundary\n if (this.props.bounds && typeof this.props.bounds !== 'string') {\n var targetRect = this.props.bounds.getBoundingClientRect();\n this.targetLeft = targetRect.left;\n this.targetTop = targetRect.top;\n }\n // For boundary\n if (this.resizable) {\n var _a = this.resizable.getBoundingClientRect(), left = _a.left, top_1 = _a.top, right = _a.right, bottom = _a.bottom;\n this.resizableLeft = left;\n this.resizableRight = right;\n this.resizableTop = top_1;\n this.resizableBottom = bottom;\n }\n };\n Resizable.prototype.onResizeStart = function (event, direction) {\n if (!this.resizable || !this.window) {\n return;\n }\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent && isMouseEvent(event.nativeEvent)) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n }\n else if (event.nativeEvent && isTouchEvent(event.nativeEvent)) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n if (this.resizable) {\n var startResize = this.props.onResizeStart(event, direction, this.resizable);\n if (startResize === false) {\n return;\n }\n }\n }\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n // For lockAspectRatio case\n this.ratio =\n typeof this.props.lockAspectRatio === 'number' ? this.props.lockAspectRatio : this.size.width / this.size.height;\n var flexBasis;\n var computedStyle = this.window.getComputedStyle(this.resizable);\n if (computedStyle.flexBasis !== 'auto') {\n var parent_3 = this.parentNode;\n if (parent_3) {\n var dir = this.window.getComputedStyle(parent_3).flexDirection;\n this.flexDir = dir.startsWith('row') ? 'row' : 'column';\n flexBasis = computedStyle.flexBasis;\n }\n }\n // For boundary\n this.setBoundingClientRect();\n this.bindEvents();\n var state = {\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height,\n },\n isResizing: true,\n backgroundStyle: __assign(__assign({}, this.state.backgroundStyle), { cursor: this.window.getComputedStyle(event.target).cursor || 'auto' }),\n direction: direction,\n flexBasis: flexBasis,\n };\n this.setState(state);\n };\n Resizable.prototype.onMouseMove = function (event) {\n var _this = this;\n if (!this.state.isResizing || !this.resizable || !this.window) {\n return;\n }\n if (this.window.TouchEvent && isTouchEvent(event)) {\n try {\n event.preventDefault();\n event.stopPropagation();\n }\n catch (e) {\n // Ignore on fail\n }\n }\n var _a = this.props, maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, minWidth = _a.minWidth, minHeight = _a.minHeight;\n var clientX = isTouchEvent(event) ? event.touches[0].clientX : event.clientX;\n var clientY = isTouchEvent(event) ? event.touches[0].clientY : event.clientY;\n var _b = this.state, direction = _b.direction, original = _b.original, width = _b.width, height = _b.height;\n var parentSize = this.getParentSize();\n var max = calculateNewMax(parentSize, this.window.innerWidth, this.window.innerHeight, maxWidth, maxHeight, minWidth, minHeight);\n maxWidth = max.maxWidth;\n maxHeight = max.maxHeight;\n minWidth = max.minWidth;\n minHeight = max.minHeight;\n // Calculate new size\n var _c = this.calculateNewSizeFromDirection(clientX, clientY), newHeight = _c.newHeight, newWidth = _c.newWidth;\n // Calculate max size from boundary settings\n var boundaryMax = this.calculateNewMaxFromBoundary(maxWidth, maxHeight);\n if (this.props.snap && this.props.snap.x) {\n newWidth = findClosestSnap(newWidth, this.props.snap.x, this.props.snapGap);\n }\n if (this.props.snap && this.props.snap.y) {\n newHeight = findClosestSnap(newHeight, this.props.snap.y, this.props.snapGap);\n }\n // Calculate new size from aspect ratio\n var newSize = this.calculateNewSizeFromAspectRatio(newWidth, newHeight, { width: boundaryMax.maxWidth, height: boundaryMax.maxHeight }, { width: minWidth, height: minHeight });\n newWidth = newSize.newWidth;\n newHeight = newSize.newHeight;\n if (this.props.grid) {\n var newGridWidth = snap(newWidth, this.props.grid[0]);\n var newGridHeight = snap(newHeight, this.props.grid[1]);\n var gap = this.props.snapGap || 0;\n newWidth = gap === 0 || Math.abs(newGridWidth - newWidth) <= gap ? newGridWidth : newWidth;\n newHeight = gap === 0 || Math.abs(newGridHeight - newHeight) <= gap ? newGridHeight : newHeight;\n }\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height,\n };\n if (width && typeof width === 'string') {\n if (width.endsWith('%')) {\n var percent = (newWidth / parentSize.width) * 100;\n newWidth = percent + \"%\";\n }\n else if (width.endsWith('vw')) {\n var vw = (newWidth / this.window.innerWidth) * 100;\n newWidth = vw + \"vw\";\n }\n else if (width.endsWith('vh')) {\n var vh = (newWidth / this.window.innerHeight) * 100;\n newWidth = vh + \"vh\";\n }\n }\n if (height && typeof height === 'string') {\n if (height.endsWith('%')) {\n var percent = (newHeight / parentSize.height) * 100;\n newHeight = percent + \"%\";\n }\n else if (height.endsWith('vw')) {\n var vw = (newHeight / this.window.innerWidth) * 100;\n newHeight = vw + \"vw\";\n }\n else if (height.endsWith('vh')) {\n var vh = (newHeight / this.window.innerHeight) * 100;\n newHeight = vh + \"vh\";\n }\n }\n var newState = {\n width: this.createSizeForCssProperty(newWidth, 'width'),\n height: this.createSizeForCssProperty(newHeight, 'height'),\n };\n if (this.flexDir === 'row') {\n newState.flexBasis = newState.width;\n }\n else if (this.flexDir === 'column') {\n newState.flexBasis = newState.height;\n }\n // For v18, update state sync\n flushSync(function () {\n _this.setState(newState);\n });\n if (this.props.onResize) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n };\n Resizable.prototype.onMouseUp = function (event) {\n var _a = this.state, isResizing = _a.isResizing, direction = _a.direction, original = _a.original;\n if (!isResizing || !this.resizable) {\n return;\n }\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height,\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState(this.props.size);\n }\n this.unbindEvents();\n this.setState({\n isResizing: false,\n backgroundStyle: __assign(__assign({}, this.state.backgroundStyle), { cursor: 'auto' }),\n });\n };\n Resizable.prototype.updateSize = function (size) {\n this.setState({ width: size.width, height: size.height });\n };\n Resizable.prototype.renderResizer = function () {\n var _this = this;\n var _a = this.props, enable = _a.enable, handleStyles = _a.handleStyles, handleClasses = _a.handleClasses, handleWrapperStyle = _a.handleWrapperStyle, handleWrapperClass = _a.handleWrapperClass, handleComponent = _a.handleComponent;\n if (!enable) {\n return null;\n }\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return (React.createElement(Resizer, { key: dir, direction: dir, onResizeStart: _this.onResizeStart, replaceStyles: handleStyles && handleStyles[dir], className: handleClasses && handleClasses[dir] }, handleComponent && handleComponent[dir] ? handleComponent[dir] : null));\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return (React.createElement(\"div\", { className: handleWrapperClass, style: handleWrapperStyle }, resizers));\n };\n Resizable.prototype.render = function () {\n var _this = this;\n var extendsProps = Object.keys(this.props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) {\n return acc;\n }\n acc[key] = _this.props[key];\n return acc;\n }, {});\n var style = __assign(__assign(__assign({ position: 'relative', userSelect: this.state.isResizing ? 'none' : 'auto' }, this.props.style), this.sizeStyle), { maxWidth: this.props.maxWidth, maxHeight: this.props.maxHeight, minWidth: this.props.minWidth, minHeight: this.props.minHeight, boxSizing: 'border-box', flexShrink: 0 });\n if (this.state.flexBasis) {\n style.flexBasis = this.state.flexBasis;\n }\n var Wrapper = this.props.as || 'div';\n return (React.createElement(Wrapper, __assign({ ref: this.ref, style: style, className: this.props.className }, extendsProps),\n this.state.isResizing && React.createElement(\"div\", { style: this.state.backgroundStyle }),\n this.props.children,\n this.renderResizer()));\n };\n Resizable.defaultProps = {\n as: 'div',\n onResizeStart: function () { },\n onResize: function () { },\n onResizeStop: function () { },\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true,\n },\n style: {},\n grid: [1, 1],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0,\n scale: 1,\n resizeRatio: 1,\n snapGap: 0,\n };\n return Resizable;\n}(React.PureComponent));\nexport { Resizable };\n","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion';\nimport { names } from './css-color-names';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend;\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, getOrder(prepend));\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (prepend === 'queue') {\n var existStyle = findStyles(container).filter(function (node) {\n return ['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER));\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return findStyles(container).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option);\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n}\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n if (!isIconDefinition(icon)) {\n return null;\n }\n var target = icon;\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils';\n// Initial setting\n// should move it to antd main repo?\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,\n rootClassName = _React$useContext.rootClassName;\n var classString = classNames(rootClassName, prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","// This icon file is generated automatically.\nvar ApartmentOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M908 640H804V488c0-4.4-3.6-8-8-8H548v-96h108c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h108v96H228c-4.4 0-8 3.6-8 8v152H116c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16H292v-88h440v88H620c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16zm-564 76v168H176V716h168zm84-408V140h168v168H428zm420 576H680V716h168v168z\" } }] }, \"name\": \"apartment\", \"theme\": \"outlined\" };\nexport default ApartmentOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ApartmentOutlinedSvg from \"@ant-design/icons-svg/es/asn/ApartmentOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar ApartmentOutlined = function ApartmentOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ApartmentOutlinedSvg\n }));\n};\nApartmentOutlined.displayName = 'ApartmentOutlined';\nexport default /*#__PURE__*/React.forwardRef(ApartmentOutlined);","// This icon file is generated automatically.\nvar AppstoreAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zm52 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"appstore-add\", \"theme\": \"outlined\" };\nexport default AppstoreAddOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport AppstoreAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/AppstoreAddOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar AppstoreAddOutlined = function AppstoreAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: AppstoreAddOutlinedSvg\n }));\n};\nAppstoreAddOutlined.displayName = 'AppstoreAddOutlined';\nexport default /*#__PURE__*/React.forwardRef(AppstoreAddOutlined);","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseOutlinedSvg\n }));\n};\nCloseOutlined.displayName = 'CloseOutlined';\nexport default /*#__PURE__*/React.forwardRef(CloseOutlined);","// This icon file is generated automatically.\nvar CopyOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\" } }] }, \"name\": \"copy\", \"theme\": \"outlined\" };\nexport default CopyOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CopyOutlinedSvg from \"@ant-design/icons-svg/es/asn/CopyOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CopyOutlined = function CopyOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CopyOutlinedSvg\n }));\n};\nCopyOutlined.displayName = 'CopyOutlined';\nexport default /*#__PURE__*/React.forwardRef(CopyOutlined);","// This icon file is generated automatically.\nvar DatabaseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z\" } }] }, \"name\": \"database\", \"theme\": \"outlined\" };\nexport default DatabaseOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DatabaseOutlinedSvg from \"@ant-design/icons-svg/es/asn/DatabaseOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DatabaseOutlined = function DatabaseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DatabaseOutlinedSvg\n }));\n};\nDatabaseOutlined.displayName = 'DatabaseOutlined';\nexport default /*#__PURE__*/React.forwardRef(DatabaseOutlined);","// This icon file is generated automatically.\nvar DeleteOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z\" } }] }, \"name\": \"delete\", \"theme\": \"outlined\" };\nexport default DeleteOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DeleteOutlinedSvg from \"@ant-design/icons-svg/es/asn/DeleteOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DeleteOutlined = function DeleteOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DeleteOutlinedSvg\n }));\n};\nDeleteOutlined.displayName = 'DeleteOutlined';\nexport default /*#__PURE__*/React.forwardRef(DeleteOutlined);","// This icon file is generated automatically.\nvar DoubleRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\" } }] }, \"name\": \"double-right\", \"theme\": \"outlined\" };\nexport default DoubleRightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DoubleRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/DoubleRightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DoubleRightOutlined = function DoubleRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DoubleRightOutlinedSvg\n }));\n};\nDoubleRightOutlined.displayName = 'DoubleRightOutlined';\nexport default /*#__PURE__*/React.forwardRef(DoubleRightOutlined);","// This icon file is generated automatically.\nvar EyeInvisibleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z\" } }] }, \"name\": \"eye-invisible\", \"theme\": \"outlined\" };\nexport default EyeInvisibleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeInvisibleOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeInvisibleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\nEyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeInvisibleOutlined);","// This icon file is generated automatically.\nvar EyeOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\" } }] }, \"name\": \"eye\", \"theme\": \"outlined\" };\nexport default EyeOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeOutlined = function EyeOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeOutlinedSvg\n }));\n};\nEyeOutlined.displayName = 'EyeOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeOutlined);","// This icon file is generated automatically.\nvar MinusCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"minus-circle\", \"theme\": \"outlined\" };\nexport default MinusCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport MinusCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar MinusCircleOutlined = function MinusCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: MinusCircleOutlinedSvg\n }));\n};\nMinusCircleOutlined.displayName = 'MinusCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(MinusCircleOutlined);","// This icon file is generated automatically.\nvar MinusOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"minus\", \"theme\": \"outlined\" };\nexport default MinusOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport MinusOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar MinusOutlined = function MinusOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: MinusOutlinedSvg\n }));\n};\nMinusOutlined.displayName = 'MinusOutlined';\nexport default /*#__PURE__*/React.forwardRef(MinusOutlined);","// This icon file is generated automatically.\nvar PlusOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"defs\", \"attrs\": {}, \"children\": [{ \"tag\": \"style\", \"attrs\": {} }] }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z\" } }] }, \"name\": \"plus\", \"theme\": \"outlined\" };\nexport default PlusOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport PlusOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PlusOutlinedSvg\n }));\n};\nPlusOutlined.displayName = 'PlusOutlined';\nexport default /*#__PURE__*/React.forwardRef(PlusOutlined);","// This icon file is generated automatically.\nvar PushpinOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 00-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 00-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 01-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z\" } }] }, \"name\": \"pushpin\", \"theme\": \"outlined\" };\nexport default PushpinOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport PushpinOutlinedSvg from \"@ant-design/icons-svg/es/asn/PushpinOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar PushpinOutlined = function PushpinOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: PushpinOutlinedSvg\n }));\n};\nPushpinOutlined.displayName = 'PushpinOutlined';\nexport default /*#__PURE__*/React.forwardRef(PushpinOutlined);","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\nRightOutlined.displayName = 'RightOutlined';\nexport default /*#__PURE__*/React.forwardRef(RightOutlined);","// This icon file is generated automatically.\nvar SwapOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"swap\", \"theme\": \"outlined\" };\nexport default SwapOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SwapOutlinedSvg from \"@ant-design/icons-svg/es/asn/SwapOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar SwapOutlined = function SwapOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SwapOutlinedSvg\n }));\n};\nSwapOutlined.displayName = 'SwapOutlined';\nexport default /*#__PURE__*/React.forwardRef(SwapOutlined);","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","/**\n *\n * @param time 毫秒\n * @returns\n */\nexport const waitReactUpdate = (time?: number) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve('ok');\n }, time ?? 16);\n });\n};\n","import React from 'react';\nimport { Resizable, ResizeCallback } from 're-resizable';\nimport styles from './style.module.scss';\nimport { Button } from 'antd';\nimport { CloseOutlined, DoubleRightOutlined, PushpinOutlined } from '@ant-design/icons';\nimport clsx from 'clsx';\nimport mitt, { Emitter } from 'mitt';\nimport { waitReactUpdate } from '../../utils';\n\nexport interface PluginContext {\n openPanel: () => void;\n closePanel: () => void;\n getPlugin: (pluginName: string) => any;\n emitter: Emitter<any>;\n}\n\ntype PanelItem = {\n name: string;\n title: string | React.ReactNode;\n icon: React.ReactNode;\n render: React.ReactNode;\n};\n\ntype WorkbenchStateType = {\n leftBoxVisible: boolean;\n leftBoxSize: {\n width: number;\n height: number | string;\n };\n leftBoxFixed: boolean;\n rightBoxSize: {\n width: number;\n height: number | string;\n };\n rightBoxVisible: boolean;\n currentActiveLeftPanel: string;\n leftPanels: PanelItem[];\n bodyView: React.ReactNode | null;\n rightView: React.ReactNode | null;\n topToolBarView: React.ReactNode | null;\n};\n\nexport type WorkbenchPropsType = {\n emitter: Emitter<any>;\n};\n\nexport class Workbench extends React.Component<WorkbenchPropsType, WorkbenchStateType> {\n emitter: Emitter<any>;\n leftPanelContentRef: React.RefObject<HTMLDivElement>;\n constructor(props: WorkbenchPropsType) {\n super(props);\n this.emitter = props.emitter || mitt();\n this.leftPanelContentRef = React.createRef<HTMLDivElement>();\n this.state = {\n leftBoxVisible: true,\n leftBoxSize: {\n width: 300,\n height: '100%',\n },\n leftBoxFixed: true,\n rightBoxVisible: true,\n rightBoxSize: {\n width: 350,\n height: '100%',\n },\n currentActiveLeftPanel: 'OutlineTree',\n leftPanels: [],\n bodyView: null,\n rightView: null,\n topToolBarView: null,\n };\n }\n\n addLeftPanel = (panel: PanelItem) => {\n this.state.leftPanels.push(panel);\n this.setState({\n leftPanels: [...this.state.leftPanels],\n });\n };\n\n openLeftPanel = async (currentActiveLeftPanel?: string) => {\n const newActive = currentActiveLeftPanel || this.state.currentActiveLeftPanel;\n this.setState({\n leftBoxVisible: true,\n leftBoxSize: {\n width: 350,\n height: '100%',\n },\n currentActiveLeftPanel: newActive,\n });\n\n await waitReactUpdate();\n this.emitter.emit('leftPanelVisible', {\n visible: true,\n panelName: newActive,\n });\n };\n\n closeLeftPanel = async () => {\n this.setState({\n leftBoxVisible: false,\n leftBoxSize: {\n width: 0,\n height: '100%',\n },\n });\n await waitReactUpdate();\n this.emitter.emit('leftPanelVisible', {\n visible: false,\n panelName: this.state.currentActiveLeftPanel,\n });\n };\n\n toggleLeftPanel = () => {\n const { leftBoxVisible } = this.state;\n const newVisible = !leftBoxVisible;\n if (newVisible) {\n this.openLeftPanel();\n } else {\n this.closeLeftPanel();\n }\n };\n\n onPluginIconClick = (panel: PanelItem) => {\n const { currentActiveLeftPanel } = this.state;\n if (currentActiveLeftPanel === panel.name && this.state.leftBoxVisible) {\n this.closeLeftPanel();\n } else {\n this.openLeftPanel(panel.name);\n }\n };\n\n openRightPanel = () => {\n const { rightBoxSize } = this.state;\n this.setState({\n rightBoxVisible: true,\n rightBoxSize: {\n width: 400,\n height: rightBoxSize.height,\n },\n });\n };\n\n closeRightPanel = () => {\n const { rightBoxSize } = this.state;\n this.setState({\n rightBoxVisible: false,\n rightBoxSize: {\n width: 0,\n height: rightBoxSize.height,\n },\n });\n };\n\n replaceBodyView = (newView: React.ReactNode) => {\n this.setState({\n bodyView: newView,\n });\n };\n\n replaceRightView = (newView: React.ReactNode) => {\n this.setState({\n rightView: newView,\n });\n };\n\n replaceTopBarView = (newView: React.ReactNode) => {\n this.setState({\n topToolBarView: newView,\n });\n };\n\n toggleRightPanel = () => {\n const { rightBoxVisible, rightBoxSize } = this.state;\n const newVisible = !rightBoxVisible;\n this.setState({\n rightBoxVisible: newVisible,\n rightBoxSize: {\n width: newVisible ? 400 : 0,\n height: rightBoxSize.height,\n },\n });\n };\n\n onLeftBoxResizeStop: ResizeCallback = (_e, _direction, _ref, d) => {\n const newW = this.state.leftBoxSize.width + d.width;\n this.setState({\n leftBoxSize: {\n width: newW,\n height: this.state.leftBoxSize.height,\n },\n });\n };\n\n onGlobalClick = (e: MouseEvent) => {\n if (e.target && this.leftPanelContentRef.current?.contains(e.target as any)) {\n return;\n }\n\n if (!this.state.leftBoxFixed && this.state.leftBoxVisible) {\n this.closeLeftPanel();\n }\n };\n\n componentDidMount() {\n document.addEventListener('click', this.onGlobalClick);\n }\n\n render() {\n const {\n leftBoxVisible,\n leftBoxSize,\n leftBoxFixed,\n rightBoxSize,\n rightBoxVisible,\n leftPanels,\n currentActiveLeftPanel,\n bodyView,\n rightView,\n topToolBarView,\n } = this.state;\n const leftBoContentStyle: React.CSSProperties = {};\n if (!leftBoxFixed) {\n leftBoContentStyle.position = 'absolute';\n leftBoContentStyle.left = '50px';\n leftBoContentStyle.top = 0;\n }\n\n const currentActivePluginObj = leftPanels.find((el) => el.name === currentActiveLeftPanel);\n\n const CurrentPluginRenderView = currentActivePluginObj?.render || null;\n const { onPluginIconClick, toggleRightPanel, toggleLeftPanel, onLeftBoxResizeStop } = this;\n return (\n <div className={styles.workbenchContainer}>\n <div className={styles.topToolBarBox}>\n <div className={styles.topToolBarView}>{topToolBarView}</div>\n </div>\n <div className={styles.bodyContent}>\n <div className={styles.leftBox} ref={this.leftPanelContentRef}>\n <div className={styles.pluginIconBar}>\n {leftPanels.map((pl) => {\n return (\n <div\n key={pl.name}\n onClick={() => onPluginIconClick(pl)}\n className={clsx([styles.pluginIconItem, currentActivePluginObj?.name === pl.name && styles.active])}\n >\n {pl.icon}\n </div>\n );\n })}\n </div>\n {leftBoxVisible && (\n <Resizable\n className={styles.pluginPanelBoxResizeBox}\n size={leftBoxSize}\n style={leftBoContentStyle}\n minWidth={300}\n maxWidth={600}\n enable={{\n right: leftBoxVisible,\n }}\n onResizeStop={onLeftBoxResizeStop}\n >\n <div className={styles.pluginHeader}>\n <span className={styles.pluginNameText}>\n {currentActivePluginObj?.title || currentActivePluginObj?.name}\n </span>\n <Button\n className={clsx([styles.fixedBtn])}\n type=\"text\"\n size=\"small\"\n onClick={() => {\n this.setState({\n leftBoxFixed: !this.state.leftBoxFixed,\n });\n }}\n >\n <PushpinOutlined className={clsx([leftBoxFixed && styles.active])} />\n </Button>\n <Button className={styles.closeBtn} type=\"text\" size=\"small\" onClick={toggleLeftPanel}>\n <CloseOutlined />\n </Button>\n </div>\n <div className={styles.pluginPanelBox}>{CurrentPluginRenderView}</div>\n </Resizable>\n )}\n </div>\n <div className={styles.centerBox}>\n {/* <div className={styles.subTopToolbarBox}></div> */}\n <div className={styles.canvasBox}>\n <div className={styles.scrollBox}>{bodyView}</div>\n </div>\n </div>\n <div className={styles.rightResizeBox}>\n <div className={styles.arrowCursor} onClick={toggleRightPanel}>\n <DoubleRightOutlined className={clsx([!rightBoxVisible && styles.active])} />\n </div>\n <div\n style={{\n display: rightBoxVisible ? 'block' : 'none',\n height: '100%',\n }}\n >\n <Resizable\n minWidth={400}\n maxWidth={600}\n enable={{\n left: rightBoxVisible,\n }}\n size={rightBoxSize}\n onResizeStop={(_e, _direction, _ref, d) => {\n this.setState({\n rightBoxSize: {\n width: this.state.rightBoxSize.width + d.width,\n height: this.state.rightBoxSize.height,\n },\n });\n }}\n >\n <div className={styles.rightBox}>{rightView}</div>\n </Resizable>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}","var i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils.js';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k, optsOrDefaultValue) {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && _typeof(optsOrDefaultValue) === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation.js';\nimport { getDisplayName } from './utils.js';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","export const zh_CN = {\n translation: {\n 'Welcome to React': '欢迎使用 React',\n },\n};\n","export const en_US = {\n translation: {\n 'Welcome to React': 'Welcome to React and react-i18next',\n },\n};\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport { zh_CN } from './zh_CN';\nimport { en_US } from './en_US';\n\n// the translations\n// (tip move them in a JSON file and import them,\n// or even better, manage them separated from your code: https://react.i18next.com/guides/multiple-translation-files)\nconst resources = {\n zh_CN,\n en_US,\n};\n\ni18n\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n resources,\n lng: 'zh_CN', // language to use, more information here: https://www.i18next.com/overview/configuration-options#languages-namespaces-resources\n // you can use the i18n.changeLanguage function to change the language manually: https://www.i18next.com/overview/api#changelanguage\n // if you're using a language detector, do not define the lng option\n react: {\n bindI18n: 'added languageChanged',\n bindI18nStore: 'added',\n },\n });\n\nexport type CustomI18n = typeof i18n & {\n update: () => void;\n};\n\nconst customI18n: CustomI18n = i18n as any;\n\ncustomI18n.update = () => {\n setTimeout(() => {\n i18n.emit('added');\n }, 0);\n};\n\nexport default customI18n;\n","import { Engine } from '@/index';\nimport { AssetPackage, CPage } from '@chamn/model';\nimport { i18n } from 'i18next';\nimport mitt, { Emitter } from 'mitt';\nimport { Workbench } from '../component/Workbench';\nimport { CustomI18n } from '../i18n';\n\nexport type PluginObj = {\n name: string;\n init: (ctx: CPluginCtx) => Promise<void>;\n destroy: (ctx: CPluginCtx) => Promise<void>;\n exports: (ctx: CPluginCtx) => any;\n meta: {\n engine: {\n version: string;\n };\n };\n};\n\nexport type CPlugin = PluginObj | ((ctx: CPluginCtx) => PluginObj);\n\ntype PluginManagerOptions = {\n getWorkbench: () => Workbench;\n emitter: Emitter<any>;\n pageModel: CPage;\n i18n: CustomI18n;\n assets: AssetPackage[];\n engine: Engine;\n};\n\nexport type CPluginCtx<C = any> = {\n globalEmitter: Emitter<any>;\n config: C;\n pluginManager: PluginManager;\n pluginReadyOk: () => void;\n} & PluginManagerOptions;\n\nexport type PluginInstance = {\n ctx: CPluginCtx;\n exports: any;\n source: PluginObj;\n ready: boolean;\n};\n\nexport type CustomPluginHook = (pluginInstance: PluginInstance) => PluginInstance;\n\nexport class PluginManager {\n plugins: Map<string, PluginInstance> = new Map();\n emitter: Emitter<any> = mitt();\n getWorkbench!: () => Workbench;\n pageModel!: CPage;\n i18n: CustomI18n;\n assets: AssetPackage[];\n engine: Engine;\n customPluginHooks: Record<string, CustomPluginHook[]> = {};\n\n constructor({ getWorkbench, emitter, pageModel, i18n, assets, engine }: PluginManagerOptions) {\n this.getWorkbench = getWorkbench;\n this.emitter = emitter;\n this.pageModel = pageModel;\n this.i18n = i18n;\n this.assets = assets;\n this.engine = engine;\n }\n\n customPlugin = (pluginName: string, customPluginHook: CustomPluginHook) => {\n const customPluginHooks = this.customPluginHooks;\n const hookList = customPluginHooks[pluginName] || [];\n hookList.push(customPluginHook);\n customPluginHooks[pluginName] = hookList;\n this.customPluginHooks = customPluginHooks;\n };\n\n createPluginCtx = () => {\n const ctx: CPluginCtx = {\n globalEmitter: this.emitter,\n emitter: mitt(),\n config: {},\n getWorkbench: this.getWorkbench,\n pluginManager: this,\n pageModel: this.pageModel,\n i18n: this.i18n,\n assets: this.assets,\n engine: this.engine,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n pluginReadyOk: () => {},\n };\n return ctx;\n };\n\n async add(plugin: CPlugin) {\n const ctx = this.createPluginCtx();\n\n let innerPlugin: PluginObj;\n if (typeof plugin === 'function') {\n innerPlugin = plugin(ctx);\n } else {\n innerPlugin = plugin;\n }\n let pluginCtx: PluginInstance = {\n source: innerPlugin,\n ctx: ctx,\n exports: innerPlugin.exports?.(ctx) || {},\n ready: false,\n };\n const customHookList = this.customPluginHooks[innerPlugin.name] || [];\n customHookList.forEach((cb) => {\n pluginCtx = cb(pluginCtx);\n });\n ctx.pluginReadyOk = () => {\n this.emitter.emit(`${innerPlugin.name}:ready`);\n pluginCtx.ready = true;\n };\n this.plugins.set(innerPlugin.name, pluginCtx);\n await innerPlugin.init(ctx);\n }\n\n async get(pluginName: string) {\n const pluginInstance = this.plugins.get(pluginName);\n if (pluginInstance?.ready) {\n return pluginInstance;\n } else {\n await this.onPluginReadyOk(pluginName);\n return pluginInstance;\n }\n return;\n }\n\n async remove(name: string) {\n const p = this.plugins.get(name);\n await p?.source.destroy(p.ctx);\n this.plugins.delete(name);\n }\n\n onPluginReadyOk(pluginName: string, cb?: (pluginHandle: PluginInstance) => void) {\n const pluginObj = this.plugins.get(pluginName);\n if (pluginObj?.ready) {\n return;\n }\n\n return new Promise<PluginInstance>((resolve) => {\n this.emitter.on(`${pluginName}:ready`, () => {\n if (pluginObj) {\n pluginObj.ready = true;\n cb?.(pluginObj);\n resolve(pluginObj);\n }\n });\n });\n }\n}\n","import { LayoutPropsType, collectVariable, flatObject } from '@chamn/layout';\n\n/** 默认使用 react 18 模式渲染 */\nexport const beforeInitRender: LayoutPropsType['beforeInitRender'] = async ({ iframe }) => {\n const subWin = iframe.getWindow();\n if (!subWin) {\n return;\n }\n (subWin as any).React = window.React;\n (subWin as any).ReactDOM = window.ReactDOM;\n (subWin as any).ReactDOMClient = (window as any).ReactDOMClient;\n};\n\n/** 默认使用 react 18 模式渲染 */\nexport const defaultRender: LayoutPropsType['customRender'] = async ({\n iframe: iframeContainer,\n assets,\n page,\n pageModel,\n ready,\n renderJSUrl,\n}) => {\n await iframeContainer.injectJS(renderJSUrl || '');\n const iframeWindow = iframeContainer.getWindow()!;\n const iframeDoc = iframeContainer.getDocument()!;\n const IframeReact = iframeWindow.React!;\n const IframeReactDOM = iframeWindow.ReactDOMClient!;\n const CRender = iframeWindow.CRender!;\n\n // 注入组件物料资源\n const assetLoader = new CRender.AssetLoader(assets, {\n window: iframeContainer.getWindow()!,\n });\n assetLoader\n .onSuccess(() => {\n // 从子窗口获取物料对象\n const componentCollection = collectVariable(assets, iframeWindow);\n const components = flatObject(componentCollection);\n\n const App = IframeReact?.createElement(CRender.DesignRender, {\n adapter: CRender?.ReactAdapter,\n page: page,\n pageModel: pageModel,\n components,\n onMount: (designRenderInstance) => {\n ready(designRenderInstance);\n },\n });\n IframeReactDOM.createRoot(iframeDoc.getElementById('app')!).render(App);\n })\n .onError(() => {\n console.log('资源加载出粗');\n })\n .load();\n};\n","export const zh_CN: Record<string, any> = {\n pluginName: '组件库',\n};\n","export const en_US: Record<string, any> = {\n pluginName: 'Component Store',\n};\n","import { zh_CN } from './zh_CN';\nimport { en_US } from './en_US';\nexport default { zh_CN, en_US } as Record<string, any>;\n","import { Popover } from 'antd';\nimport clsx from 'clsx';\nimport React, { useMemo } from 'react';\nimport styles from './style.module.scss';\n\nexport type DragComponentItemProps = {\n id: string;\n name: string;\n description?: any;\n icon: React.ReactNode | string;\n iconText?: string;\n style?: React.CSSProperties;\n containerClassName?: string;\n};\n\nexport const DragComponentItem = (props: DragComponentItemProps) => {\n const dragInfo = {\n [DRAG_ITEM_KEY]: props.id,\n };\n\n const icon = useMemo(() => {\n if (props.iconText) {\n return (\n <div className={styles.iconText}>\n {String(props.iconText).toUpperCase()}\n </div>\n );\n }\n if (typeof props.icon === 'string') {\n return <img className={styles.iconImg} src={props.icon} />;\n } else {\n return props.icon;\n }\n }, [props.icon]);\n\n const contentView = (\n <div className={clsx([styles.square, props.containerClassName])}>\n <div {...dragInfo} className={styles.componentItem} style={props.style}>\n <div className={styles.iconBox}>{icon}</div>\n <span>{props.name}</span>\n </div>\n </div>\n );\n\n if (props.description) {\n return (\n <Popover\n overlayInnerStyle={{\n maxWidth: '300px',\n maxHeight: '200px',\n overflow: 'auto',\n }}\n content={props.description || ''}\n zIndex={1000}\n placement=\"right\"\n >\n {contentView}\n </Popover>\n );\n } else {\n return contentView;\n }\n};\n\nexport const DRAG_ITEM_KEY = 'data-drag-key';\n","import React from 'react';\nimport { SnippetsType } from '@chamn/model';\nimport { Collapse } from 'antd';\nimport { DragComponentItem } from '../DragItem';\nimport styles from './style.module.scss';\nconst { Panel } = Collapse;\n\nexport type ListViewProps = {\n dataSource: {\n name: string;\n list: SnippetsType[];\n }[];\n};\nexport const ListView = (props: ListViewProps) => {\n const { dataSource } = props;\n const defaultActiveKey = dataSource.map((el) => el.name || '');\n if (!dataSource.length) {\n return null;\n }\n return (\n <div className={styles.ListBox}>\n <Collapse style={{ width: '100%' }} defaultActiveKey={defaultActiveKey}>\n {dataSource.map((el) => {\n const category = el.name || '';\n const contentView = (\n <div className={styles.collapsePanel}>\n {el.list.map((it) => {\n return (\n <DragComponentItem\n id={it.id!}\n key={it.id!}\n name={it.title}\n icon={it.snapshot || it.snapshotText}\n iconText={it.snapshotText}\n description={it.description || ''}\n />\n );\n })}\n </div>\n );\n return (\n <Panel header={category} key={category}>\n {contentView}\n </Panel>\n );\n })}\n </Collapse>\n </div>\n );\n};\n","export const getTargetMNodeKeyVal = (\n dom: HTMLElement | null,\n key: string\n): null | string => {\n if (!dom) {\n return null;\n }\n const val = dom.getAttribute(key);\n if (!val) {\n return getTargetMNodeKeyVal(dom.parentElement, key);\n } else {\n return val;\n }\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nexport default hasUnicode;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nexport default asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nexport default unicodeToArray;\n","import asciiToArray from './_asciiToArray.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeToArray from './_unicodeToArray.js';\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nexport default stringToArray;\n","import castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nexport default createCaseFirst;\n","import createCaseFirst from './_createCaseFirst.js';\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nexport default upperFirst;\n","import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import React from 'react';\nimport { AppstoreAddOutlined } from '@ant-design/icons';\nimport { LayoutDragAndDropExtraDataType, Sensor, SensorEventObjType } from '@chamn/layout';\nimport { Tabs } from 'antd';\nimport { CPlugin, CPluginCtx } from '../../core/pluginManager';\nimport { DesignerExports } from '../Designer';\nimport localize from './localize';\nimport styles from './style.module.scss';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport { ListView } from './components/ListView';\nimport { getTargetMNodeKeyVal } from './util';\nimport { DRAG_ITEM_KEY } from './components/DragItem';\nimport { SnippetsCollection } from '@chamn/model';\nimport { capitalize } from 'lodash-es';\n\ninterface ComponentLibViewProps extends WithTranslation {\n pluginCtx: CPluginCtx;\n}\n\nexport const PLUGIN_NAME = 'ComponentLib';\nconst i18nNamespace = `plugin:${PLUGIN_NAME}`;\n\nconst TabTitle = ({ children }: { children: any }) => {\n return <div className={styles.tabTitle}>{children}</div>;\n};\n\ntype ComponentLibViewState = {\n componentsList: SnippetsCollection;\n};\nclass ComponentLibView extends React.Component<ComponentLibViewProps, ComponentLibViewState> {\n containerRef: React.RefObject<HTMLDivElement>;\n disposeList: (() => void)[] = [];\n constructor(props: ComponentLibViewProps) {\n super(props);\n this.containerRef = React.createRef<HTMLDivElement>();\n this.state = {\n componentsList: [],\n };\n }\n\n leftPanelVisibleCb = async ({ visible, panelName }: { visible: boolean; panelName: string }) => {\n await this.props.pluginCtx.pluginManager.onPluginReadyOk('Designer');\n if (panelName === PLUGIN_NAME && visible) {\n this.registerDragEvent();\n }\n };\n\n async componentDidMount() {\n const { pluginCtx } = this.props;\n const { pageModel, i18n } = pluginCtx;\n const { materialsModel } = pageModel;\n await this.props.pluginCtx.pluginManager.onPluginReadyOk('Designer');\n this.registerDragEvent();\n\n Object.keys(localize).forEach((lng) => {\n i18n.addResourceBundle(lng, i18nNamespace, localize[lng], true, true);\n });\n\n i18n.update();\n const allSnippets = materialsModel.getAllSnippets();\n this.setState({\n componentsList: allSnippets,\n });\n }\n\n componentWillUnmount(): void {\n this.disposeList.map((el) => el());\n }\n\n registerDragEvent = async () => {\n const { containerRef } = this;\n const { pluginCtx } = this.props;\n const designerHandle = await pluginCtx.pluginManager.get('Designer');\n\n if (!designerHandle) {\n return;\n }\n if (!containerRef.current) {\n return;\n }\n const pageModel = pluginCtx.pageModel;\n const designerExports: DesignerExports = designerHandle.exports;\n const dnd = designerExports.getDnd();\n const boxSensor = new Sensor({\n name: 'ComponentListBox',\n container: containerRef.current,\n });\n\n boxSensor.setCanDrag((eventObj: SensorEventObjType) => {\n const targetDom = eventObj.event.target;\n if (!targetDom) {\n return;\n }\n const targetNodeId = getTargetMNodeKeyVal(targetDom as HTMLElement, DRAG_ITEM_KEY);\n\n if (!targetNodeId) {\n return;\n }\n\n const meta = pageModel.materialsModel.findSnippetById(targetNodeId);\n if (!meta) {\n return;\n }\n const newNode = pageModel?.createNode(meta.schema);\n\n this.props.pluginCtx.pluginManager.get('Designer').then((designerHandle) => {\n const designerExports: DesignerExports = designerHandle?.exports;\n designerExports.selectNode('');\n });\n\n return {\n ...eventObj,\n extraData: {\n type: 'NEW_ADD',\n startNode: newNode,\n } as LayoutDragAndDropExtraDataType,\n };\n });\n dnd.registerSensor(boxSensor);\n\n const dragStart = () => {\n const { getWorkbench } = this.props.pluginCtx;\n const workbench = getWorkbench();\n if (!workbench.state.leftBoxFixed) {\n workbench.closeLeftPanel();\n }\n };\n\n this.disposeList.push(() => {\n dnd.emitter.off('dragStart', dragStart);\n });\n dnd.emitter.on('dragStart', dragStart);\n };\n\n render(): React.ReactNode {\n const { componentsList } = this.state;\n const items = componentsList.map((el) => {\n return {\n label: <TabTitle>{capitalize(el.name)}</TabTitle>,\n key: el.name,\n children: <ListView dataSource={el.list} />,\n };\n });\n return (\n <div ref={this.containerRef} className={styles.container}>\n <Tabs\n defaultActiveKey=\"BaseComponent\"\n items={items}\n style={{\n flex: 1,\n }}\n />\n </div>\n );\n }\n}\n\nexport const ComponentLibPlugin: CPlugin = {\n name: PLUGIN_NAME,\n async init(ctx) {\n const ComponentLibViewWithLocalize = withTranslation(i18nNamespace)(ComponentLibView);\n const Title = withTranslation(i18nNamespace)(({ t }) => {\n return <>{t('pluginName')}</>;\n });\n const workbench = ctx.getWorkbench();\n workbench.addLeftPanel({\n title: <Title />,\n name: 'ComponentLib',\n icon: <AppstoreAddOutlined />,\n render: <ComponentLibViewWithLocalize pluginCtx={ctx} />,\n });\n },\n async destroy(ctx) {\n console.log('destroy', ctx);\n },\n exports: (ctx) => {\n return {};\n },\n meta: {\n engine: {\n version: '1.0.0',\n },\n },\n};\n","export const PLUGIN_NAME = 'Designer';\n","export const zh_CN: Record<string, any> = {\n pluginName: '组件库',\n};\n","export const en_US: Record<string, any> = {\n pluginName: 'Component Store',\n};\n","import { zh_CN } from './zh_CN';\nimport { en_US } from './en_US';\nexport default { zh_CN, en_US } as Record<string, any>;\n","import React, { useState } from 'react';\nimport { CopyOutlined, DeleteOutlined, EyeInvisibleOutlined } from '@ant-design/icons';\nimport styles from './style.module.scss';\nimport { CNode } from '@chamn/model';\nimport clsx from 'clsx';\n\nexport type DefaultSelectToolBarProps = {\n nodeList: CNode[];\n toSelectNode: (id: string) => void;\n toDelete: (id: string) => void;\n toCopy: (idd: string) => void;\n toHidden: (idd: string) => void;\n};\n\nconst LayoutSelect = ({\n dataSource,\n children,\n onSelect,\n}: {\n dataSource: { key: string; label: string }[];\n children: React.ReactNode;\n onSelect: (key: string) => void;\n}) => {\n const [hover, setHover] = useState(false);\n return (\n <div className={styles.layoutSelectBox}>\n <div className={clsx([styles.hoverBox, hover && styles.hoverBoxActive])}>\n {dataSource.map((el) => {\n return (\n <div className={styles.hoverItem} key={el.key} onClick={() => onSelect(el.key)}>\n {el.label}\n </div>\n );\n })}\n </div>\n <div className={styles.placeholder} onMouseOver={() => setHover(true)} onMouseOut={() => setHover(false)}>\n {children}\n </div>\n </div>\n );\n};\n\nexport const DefaultSelectToolBar = ({\n nodeList,\n toSelectNode,\n toDelete,\n toCopy,\n toHidden,\n}: DefaultSelectToolBarProps) => {\n const tempList = [...nodeList];\n const currentNode = tempList.shift();\n const parentNodeItems = tempList.map((el) => {\n const node = el;\n const nodeMeta = node.materialsModel.findByComponentName(node.value.componentName)?.value.title;\n const label = node.value.title || nodeMeta || node.value.componentName || '';\n return {\n key: el.id,\n label: label || 'Empty',\n };\n });\n\n const copyItem = (\n <div className={styles.item} onClick={() => toCopy(currentNode?.id || '')}>\n <CopyOutlined />\n </div>\n );\n\n const deleteItem = (\n <div className={styles.item} onClick={() => toDelete(currentNode?.id || '')}>\n <DeleteOutlined />\n </div>\n );\n\n const visibleItem = (\n <div className={styles.item} onClick={() => toHidden(currentNode?.id || '')}>\n <EyeInvisibleOutlined />\n </div>\n );\n\n const nodeLayout = (\n <LayoutSelect dataSource={parentNodeItems.reverse()} onSelect={toSelectNode}>\n <div>{currentNode?.value.title || currentNode?.material?.value.title || 'Empty'}</div>\n </LayoutSelect>\n );\n\n return (\n <div className={styles.toolBarBox}>\n {nodeLayout}\n {visibleItem}\n {copyItem}\n {deleteItem}\n </div>\n );\n};\n","import { CNode, CPage, CProp, CRootNode, CSlot, isNodeModel } from '@chamn/model';\n\nexport const getClosestNodeList = (node: CNode | CRootNode, level = 5) => {\n const res = [];\n let count = 0;\n let currentNode: CNode | CRootNode | CSlot | CProp | CPage | null = node;\n\n while (count < level && currentNode) {\n if (isNodeModel(currentNode)) {\n res.push(currentNode);\n count++;\n }\n\n currentNode = currentNode.parent || null;\n }\n\n return res;\n};\n","import React from 'react';\nimport { CNode, CRootNode } from '@chamn/model';\n\nexport const GhostView = ({ node }: { node: CNode | CRootNode }) => {\n return (\n <div\n style={{\n backgroundColor: 'rgba(100,100,100)',\n padding: '3px 10px 3px 15px',\n borderRadius: '2px',\n opacity: 0.9,\n color: 'rgba(220,220,220)',\n }}\n >\n {node.value.componentName}\n </div>\n );\n};\n","import React from 'react';\nimport { Layout, LayoutDragAndDropExtraDataType } from '@chamn/layout';\nimport { CNode, CPage, CRootNode, InsertNodePosType } from '@chamn/model';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport localize from './localize';\nimport { PLUGIN_NAME } from './config';\nimport { DefaultSelectToolBar } from './components/DefaultSelectToolBar';\nimport { getClosestNodeList } from './util';\nimport { GhostView } from './components/GhostView';\n\nimport styles from './style.module.scss';\nimport '@chamn/layout/dist/style.css';\nimport { AssetPackage } from '@chamn/model';\n\nexport type DesignerPropsType = {\n pluginCtx: CPluginCtx;\n};\n\ntype DesignerStateType = {\n pageModel: CPage;\n hoverToolBar: React.ReactNode;\n selectToolBar: React.ReactNode;\n ghostView: React.ReactNode;\n assets: AssetPackage[];\n};\n\nexport class Designer extends React.Component<DesignerPropsType, DesignerStateType> {\n layoutRef: React.RefObject<Layout>;\n constructor(props: DesignerPropsType) {\n super(props);\n\n this.state = {\n pageModel: props.pluginCtx.pageModel,\n hoverToolBar: null,\n selectToolBar: null,\n ghostView: null,\n assets: props.pluginCtx.assets || ([] as AssetPackage[]),\n };\n this.layoutRef = React.createRef<Layout>();\n }\n\n componentDidMount(): void {\n const { i18n } = this.props.pluginCtx;\n Object.keys(localize).forEach((lng) => {\n i18n.addResourceBundle(lng, `plugin:${PLUGIN_NAME}`, localize[lng], true, true);\n });\n this.init();\n }\n\n updateAssets(assets: AssetPackage[]) {\n this.setState({\n assets: assets,\n });\n }\n\n reloadRender({ assets }: { assets?: AssetPackage[] }) {\n this.layoutRef.current?.reload({ assets });\n }\n\n async init() {\n const { layoutRef } = this;\n const { pluginCtx } = this.props;\n if (!layoutRef.current) {\n console.warn('layout not ready ok');\n return;\n }\n\n await layoutRef.current.ready();\n const layoutInstance = layoutRef.current;\n layoutInstance.dnd?.emitter.on('drop', (eventObj) => {\n const pageModel = this.props.pluginCtx.pageModel;\n const extraData = eventObj.extraData as LayoutDragAndDropExtraDataType;\n const dropPosInfo = extraData.dropPosInfo;\n const posFlag = {\n before: 'BEFORE',\n after: 'AFTER',\n current: 'CHILD_START',\n }[dropPosInfo?.pos || 'after'] as InsertNodePosType;\n\n if (!extraData.dropNode) {\n console.warn('cancel drop, because drop node is null');\n return;\n }\n if (extraData.type === 'NEW_ADD') {\n if (extraData.dropNode?.nodeType !== 'NODE') {\n pageModel?.addNode(extraData.startNode as CNode, extraData.dropNode!, 'CHILD_START');\n } else {\n pageModel?.addNode(extraData.startNode as CNode, extraData.dropNode!, posFlag);\n }\n } else {\n if (extraData.dropNode?.id === extraData.startNode?.id) {\n console.warn(' id is the same');\n return;\n }\n const res = pageModel.moveNodeById(extraData.startNode?.id || '', extraData?.dropNode?.id || '', posFlag);\n if (!res) {\n console.warn('drop failed');\n }\n }\n layoutRef.current?.selectNode(extraData.startNode?.id || '');\n this.props.pluginCtx.emitter.emit('onDrop', eventObj);\n });\n\n pluginCtx.emitter.emit('ready', {\n UIInstance: this,\n });\n\n layoutInstance.dnd.emitter.on('click', ({ event }) => {\n const workbench = pluginCtx.getWorkbench();\n workbench.onGlobalClick(event);\n });\n\n this.props.pluginCtx.pageModel.emitter.on('onPageChange', ({ node }) => {\n layoutRef.current?.designRenderRef?.current?.rerender(node);\n });\n\n this.props.pluginCtx.pageModel.emitter.on('onReloadPage', ({ node }) => {\n layoutRef.current?.designRenderRef?.current?.rerender(node);\n });\n\n pluginCtx.pluginReadyOk();\n }\n\n onSelectNode = (node: CNode | CRootNode | null) => {\n if (!node) {\n return;\n }\n const { pluginCtx } = this.props;\n pluginCtx.engine.updateCurrentSelectNode(node);\n const pageModel = this.props.pluginCtx.pageModel;\n const list = getClosestNodeList(node, 5);\n const { layoutRef } = this;\n this.setState({\n selectToolBar: (\n <DefaultSelectToolBar\n nodeList={list}\n toSelectNode={(id) => {\n layoutRef.current?.selectNode(id);\n this.onSelectNode(pageModel.getNode(id));\n }}\n toCopy={(id) => {\n const newNode = this.props.pluginCtx.pageModel.copyNodeById(id);\n if (newNode) {\n layoutRef.current?.selectNode(newNode.id);\n this.onSelectNode(newNode);\n } else {\n layoutRef.current?.selectNode('');\n this.onSelectNode(null);\n }\n }}\n toDelete={(id) => {\n this.props.pluginCtx.pageModel.deleteNodeById(id);\n layoutRef.current?.selectNode('');\n this.onSelectNode(null);\n }}\n toHidden={(id) => {\n const targetNodeModel = this.props.pluginCtx.pageModel.getNode(id) as CNode;\n if (!targetNodeModel) {\n return;\n }\n const devState = targetNodeModel.value.configure.devState ?? {};\n devState.condition = false;\n targetNodeModel.value.configure.devState = devState;\n targetNodeModel.updateValue();\n }}\n />\n ),\n });\n };\n\n onDragStart = (startNode: CNode | CRootNode | null) => {\n if (!startNode) {\n return;\n }\n this.setState({\n ghostView: <GhostView node={startNode} />,\n });\n };\n\n onHoverNode = (node: CNode | CRootNode | null, startNode: CNode | CRootNode) => {\n this.props.pluginCtx.emitter.emit('onHover', node);\n const material = node?.material;\n if (!material) {\n console.warn('material not found', node);\n }\n if (!startNode) {\n this.setState({\n hoverToolBar: <div className={styles.hoverTips}>{material?.value.title || material?.componentName}</div>,\n ghostView: null,\n });\n return;\n }\n\n this.setState({\n hoverToolBar: <div className={styles.hoverTips}>{material?.value.title || material?.componentName}</div>,\n ghostView: <GhostView node={startNode} />,\n });\n };\n\n render() {\n const { layoutRef, props, onSelectNode, onDragStart, onHoverNode } = this;\n const { pageModel, hoverToolBar, selectToolBar, ghostView, assets } = this.state;\n const { pluginCtx } = props;\n const renderJSUrl = pluginCtx.engine.props.renderJSUrl || './render.umd.js';\n return (\n <Layout\n beforeInitRender={props.pluginCtx.config.beforeInitRender}\n customRender={props.pluginCtx.config.customRender}\n ref={layoutRef}\n pageModel={pageModel}\n renderJSUrl={renderJSUrl}\n {...props}\n hoverToolBar={hoverToolBar}\n selectToolBar={selectToolBar}\n selectBoxStyle={{}}\n hoverBoxStyle={{}}\n onSelectNode={onSelectNode}\n onDragStart={onDragStart}\n onHoverNode={onHoverNode}\n ghostView={ghostView}\n assets={assets}\n />\n );\n }\n}\n","import React from 'react';\nimport { DragAndDrop } from '@chamn/layout';\nimport '@chamn/layout/dist/style.css';\nimport { CPlugin } from '../../core/pluginManager';\nimport { PLUGIN_NAME } from './config';\nimport { Designer } from './view';\nimport { AssetPackage, CPage, CPageDataType } from '@chamn/model';\nimport { RenderInstance } from '@chamn/render';\n\nexport const DesignerPlugin: CPlugin = (ctx) => {\n const designerRef = React.createRef<Designer>();\n return {\n name: PLUGIN_NAME,\n async init(ctx) {\n const workbench = ctx.getWorkbench();\n workbench.replaceBodyView(<Designer ref={designerRef} pluginCtx={ctx} />);\n },\n async destroy(ctx) {\n console.log('destroy', ctx);\n },\n exports: () => {\n return {\n getDnd: () => {\n return designerRef.current?.layoutRef.current?.dnd;\n },\n selectNode: (nodeId) => {\n designerRef.current?.layoutRef.current?.selectNode(nodeId);\n },\n updatePage: (page: CPageDataType | CPage) => {\n designerRef.current?.layoutRef.current?.designRenderRef?.current?.rerender(page);\n },\n reload: ({ assets } = {}) => {\n designerRef.current?.reloadRender({ assets });\n },\n getComponentInstances: (id: string) => {\n return designerRef.current?.layoutRef.current?.designRenderRef.current?.getInstancesById(id) || [];\n },\n getDynamicComponentInstances: (id: string) => {\n const map =\n designerRef.current?.layoutRef.current?.designRenderRef.current?.renderRef.current\n ?.dynamicComponentInstanceMap;\n return map?.get(id) || [];\n },\n } as DesignerExports;\n },\n meta: {\n engine: {\n version: '1.0.0',\n },\n },\n };\n};\n\nexport type DesignerExports = {\n reload: (params?: { assets?: AssetPackage[] }) => void;\n getDnd: () => DragAndDrop;\n selectNode: (nodeId: string) => void;\n updatePage: (page: CPageDataType) => void;\n getComponentInstances: (id: string) => RenderInstance[];\n getDynamicComponentInstances: (id: string) => RenderInstance;\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).consola=e()}(this,(function(){\"use strict\";function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function r(t,r,o){return r&&e(t.prototype,r),o&&e(t,o),t}function o(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,o)}return r}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach((function(e){o(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function i(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||a(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){if(t){if(\"string\"==typeof t)return l(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(t,e):void 0}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}function u(t){if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=a(t))){var e=0,r=function(){};return{s:r,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,n,s=!0,i=!1;return{s:function(){o=t[Symbol.iterator]()},n:function(){var t=o.next();return s=t.done,t},e:function(t){i=!0,n=t},f:function(){try{s||null==o.return||o.return()}finally{if(i)throw n}}}}var c={};c[c.Fatal=0]=\"Fatal\",c[c.Error=0]=\"Error\",c[c.Warn=1]=\"Warn\",c[c.Log=2]=\"Log\",c[c.Info=3]=\"Info\",c[c.Success=3]=\"Success\",c[c.Debug=4]=\"Debug\",c[c.Trace=5]=\"Trace\",c[c.Silent=-1/0]=\"Silent\",c[c.Verbose=1/0]=\"Verbose\";var f={silent:{level:-1},fatal:{level:c.Fatal},error:{level:c.Error},warn:{level:c.Warn},log:{level:c.Log},info:{level:c.Info},success:{level:c.Success},debug:{level:c.Debug},trace:{level:c.Trace},verbose:{level:c.Trace},ready:{level:c.Info},start:{level:c.Info}};function h(t){return e=t,\"[object Object]\"===Object.prototype.toString.call(e)&&(!(!t.message&&!t.args)&&!t.stack);var e}var p=!1,y=[],d=function(){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var o in t(this,e),this._reporters=r.reporters||[],this._types=r.types||f,this.level=void 0!==r.level?r.level:3,this._defaults=r.defaults||{},this._async=void 0!==r.async?r.async:void 0,this._stdout=r.stdout,this._stderr=r.stderr,this._mockFn=r.mockFn,this._throttle=r.throttle||1e3,this._throttleMin=r.throttleMin||5,this._types){var n=s(s({type:o},this._types[o]),this._defaults);this[o]=this._wrapLogFn(n),this[o].raw=this._wrapLogFn(n,!0)}this._mockFn&&this.mockTypes(),this._lastLogSerialized=void 0,this._lastLog=void 0,this._lastLogTime=void 0,this._lastLogCount=0,this._throttleTimeout=void 0}return r(e,[{key:\"create\",value:function(t){return new e(Object.assign({reporters:this._reporters,level:this.level,types:this._types,defaults:this._defaults,stdout:this._stdout,stderr:this._stderr,mockFn:this._mockFn},t))}},{key:\"withDefaults\",value:function(t){return this.create({defaults:Object.assign({},this._defaults,t)})}},{key:\"withTag\",value:function(t){return this.withDefaults({tag:this._defaults.tag?this._defaults.tag+\":\"+t:t})}},{key:\"addReporter\",value:function(t){return this._reporters.push(t),this}},{key:\"removeReporter\",value:function(t){if(t){var e=this._reporters.indexOf(t);if(e>=0)return this._reporters.splice(e,1)}else this._reporters.splice(0);return this}},{key:\"setReporters\",value:function(t){return this._reporters=Array.isArray(t)?t:[t],this}},{key:\"wrapAll\",value:function(){this.wrapConsole(),this.wrapStd()}},{key:\"restoreAll\",value:function(){this.restoreConsole(),this.restoreStd()}},{key:\"wrapConsole\",value:function(){for(var t in this._types)console[\"__\"+t]||(console[\"__\"+t]=console[t]),console[t]=this[t].raw}},{key:\"restoreConsole\",value:function(){for(var t in this._types)console[\"__\"+t]&&(console[t]=console[\"__\"+t],delete console[\"__\"+t])}},{key:\"wrapStd\",value:function(){this._wrapStream(this.stdout,\"log\"),this._wrapStream(this.stderr,\"log\")}},{key:\"_wrapStream\",value:function(t,e){var r=this;t&&(t.__write||(t.__write=t.write),t.write=function(t){r[e].raw(String(t).trim())})}},{key:\"restoreStd\",value:function(){this._restoreStream(this.stdout),this._restoreStream(this.stderr)}},{key:\"_restoreStream\",value:function(t){t&&t.__write&&(t.write=t.__write,delete t.__write)}},{key:\"pauseLogs\",value:function(){p=!0}},{key:\"resumeLogs\",value:function(){p=!1;var t,e=u(y.splice(0));try{for(e.s();!(t=e.n()).done;){var r=t.value;r[0]._logFn(r[1],r[2])}}catch(t){e.e(t)}finally{e.f()}}},{key:\"mockTypes\",value:function(t){if(this._mockFn=t||this._mockFn,\"function\"==typeof this._mockFn)for(var e in this._types)this[e]=this._mockFn(e,this._types[e])||this[e],this[e].raw=this[e]}},{key:\"_wrapLogFn\",value:function(t,e){var r=this;return function(){for(var o=arguments.length,n=new Array(o),s=0;s<o;s++)n[s]=arguments[s];if(!p)return r._logFn(t,n,e);y.push([r,t,n,e])}}},{key:\"_logFn\",value:function(t,e,r){var o=this;if(t.level>this.level)return!!this._async&&Promise.resolve(!1);var n=Object.assign({date:new Date,args:[]},t);!r&&1===e.length&&h(e[0])?Object.assign(n,e[0]):n.args=Array.from(e),n.message&&(n.args.unshift(n.message),delete n.message),n.additional&&(Array.isArray(n.additional)||(n.additional=n.additional.split(\"\\n\")),n.args.push(\"\\n\"+n.additional.join(\"\\n\")),delete n.additional),n.type=\"string\"==typeof n.type?n.type.toLowerCase():\"\",n.tag=\"string\"==typeof n.tag?n.tag.toLowerCase():\"\";var a=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=o._lastLogCount-o._throttleMin;if(o._lastLog&&e>0){var r=i(o._lastLog.args);e>1&&r.push(\"(repeated \".concat(e,\" times)\")),o._log(s(s({},o._lastLog),{},{args:r})),o._lastLogCount=1}if(t){if(o._lastLog=n,o._async)return o._logAsync(n);o._log(n)}};clearTimeout(this._throttleTimeout);var l=this._lastLogTime?n.date-this._lastLogTime:0;if(this._lastLogTime=n.date,l<this._throttle)try{var u=JSON.stringify([n.type,n.tag,n.args]),c=this._lastLogSerialized===u;if(this._lastLogSerialized=u,c&&(this._lastLogCount++,this._lastLogCount>this._throttleMin))return void(this._throttleTimeout=setTimeout(a,this._throttle))}catch(t){}a(!0)}},{key:\"_log\",value:function(t){var e,r=u(this._reporters);try{for(r.s();!(e=r.n()).done;){e.value.log(t,{async:!1,stdout:this.stdout,stderr:this.stderr})}}catch(t){r.e(t)}finally{r.f()}}},{key:\"_logAsync\",value:function(t){var e=this;return Promise.all(this._reporters.map((function(r){return r.log(t,{async:!0,stdout:e.stdout,stderr:e.stderr})})))}},{key:\"stdout\",get:function(){return this._stdout||console._stdout}},{key:\"stderr\",get:function(){return this._stderr||console._stderr}}]),e}();d.prototype.add=d.prototype.addReporter,d.prototype.remove=d.prototype.removeReporter,d.prototype.clear=d.prototype.removeReporter,d.prototype.withScope=d.prototype.withTag,d.prototype.mock=d.prototype.mockTypes,d.prototype.pause=d.prototype.pauseLogs,d.prototype.resume=d.prototype.resumeLogs;var v,g=function(){function e(r){t(this,e),this.options=Object.assign({},r),this.defaultColor=\"#7f8c8d\",this.levelColorMap={0:\"#c0392b\",1:\"#f39c12\",3:\"#00BCD4\"},this.typeColorMap={success:\"#2ecc71\"}}return r(e,[{key:\"log\",value:function(t){var e=t.level<1?console.__error||console.error:1===t.level&&console.warn?console.__warn||console.warn:console.__log||console.log,r=\"log\"!==t.type?t.type:\"\",o=t.tag?t.tag:\"\",n=this.typeColorMap[t.type]||this.levelColorMap[t.level]||this.defaultColor,s=\"\\n background: \".concat(n,\";\\n border-radius: 0.5em;\\n color: white;\\n font-weight: bold;\\n padding: 2px 0.5em;\\n \"),a=\"%c\".concat([o,r].filter(Boolean).join(\":\"));\"string\"==typeof t.args[0]?e.apply(void 0,[\"\".concat(a,\"%c \").concat(t.args[0]),s,\"\"].concat(i(t.args.slice(1)))):e.apply(void 0,[a,s].concat(i(t.args)))}}]),e}();return\"undefined\"!=typeof window&&window.consola||((v=new d({reporters:[new g]})).Consola=d,v.LogLevel=c,v.BrowserReporter=g,v)}));\n","import consola from 'consola';\nexport const LOGGER = consola.create({\n level: 1,\n});\n","import React from 'react';\nimport { DropPosType } from '@chamn/layout/dist/components/DropAnchor/util';\nimport {\n ArraySetterObjType,\n CNode,\n CNodeDataType,\n CPage,\n CPageDataType,\n getMTitle,\n isJSSlotPropNode,\n isSpecialMaterialPropType,\n MaterialPropType,\n MTitle,\n RenderPropType,\n SetterObjType,\n SetterType,\n} from '@chamn/model';\nimport { isPlainObject } from 'lodash-es';\nimport { TreeNodeData } from './components/TreeView/dataStruct';\nimport { ShapeSetterObjType } from '@chamn/model/src/types/material';\n\nexport const getTargetMNodeKeyVal = (dom: HTMLElement | null, key: string): null | string => {\n if (!dom) {\n return null;\n }\n const val = dom.getAttribute(key);\n if (!val) {\n return getTargetMNodeKeyVal(dom.parentElement, key);\n } else {\n return val;\n }\n};\n\nexport const transformNodeSchemaToTreeData = (\n nodeSchema: CNodeDataType | CNodeDataType[],\n parent: TreeNodeData,\n pageModel: CPage\n): TreeNodeData | TreeNodeData[] => {\n const tb = (node: CNodeDataType, parent?: TreeNodeData | null): TreeNodeData => {\n let nodeChild: any[] = node.children || [];\n if (!Array.isArray(nodeChild)) {\n // TODO: 暂时不处理字符串的情况\n nodeChild = [];\n }\n // 过滤掉字符串的情况\n nodeChild = nodeChild.filter((el) => typeof el !== 'string');\n const nodeMeta = pageModel.materialsModel.findByComponentName(node.componentName)?.value.title;\n const newCurrentNode: TreeNodeData = {\n title: node.title || nodeMeta || node.componentName,\n key: node.id,\n children: [],\n parent: parent,\n };\n // 还需要处理 props 中的节点\n const propsNodeList: TreeNodeData[] = [];\n const slotNode: TreeNodeData = {\n title: 'SLOT',\n key: `${node.id}-SLOT`,\n children: propsNodeList,\n canBeSelected: false,\n canDrop: false,\n parent: null,\n containerRender: ({ treeNodeView }) => {\n return (\n <div\n style={{\n border: '1px solid #a97cf8',\n borderTopWidth: '6px',\n marginRight: '2px',\n marginTop: '5px',\n }}\n >\n {treeNodeView}\n </div>\n );\n },\n };\n const props = node.props || {};\n\n const processProps = (val: unknown, key: string, keys: string[]) => {\n const flag = isJSSlotPropNode(val);\n\n if (flag) {\n const tempVal = val as RenderPropType;\n const pageModeNode = pageModel.getNode(node.id!);\n let propsTitle = '';\n if (pageModeNode) {\n const tempTitle = getPropsLabel(pageModeNode as CNode, [...keys, key]);\n propsTitle = getMTitle(tempTitle);\n }\n let plainTitle = key;\n if (propsTitle) {\n plainTitle = getMTitle(propsTitle) || key;\n }\n const tempNode: TreeNodeData = {\n title: plainTitle,\n key: `${node.id}-${keys.join('_')}`,\n children: [],\n canBeSelected: false,\n canDrag: false,\n canDrop: ['current'],\n parent: slotNode,\n };\n\n let propValue: CNodeDataType[] = [];\n if (tempVal.value && !Array.isArray(tempVal.value)) {\n propValue = [tempVal.value];\n } else {\n propValue = tempVal.value;\n }\n\n tempNode.children = transformNodeSchemaToTreeData(propValue, tempNode, pageModel) as TreeNodeData[];\n propsNodeList.push(tempNode);\n return;\n }\n if (isPlainObject(val)) {\n const tempVal = val as any;\n Object.keys(tempVal).forEach((newKey) => {\n processProps(tempVal[newKey], newKey, [...keys, key]);\n });\n }\n if (Array.isArray(val)) {\n const tempVal = val as any[];\n tempVal.forEach((item, index) => {\n processProps(item, String(index), [...keys, key]);\n });\n }\n };\n const getPropsLabel = (nodeModel: CNode, keyPath: string[]) => {\n const propsLabelMap = getNodePropsLabelMap(nodeModel);\n const newKeyPath = keyPath.map((el) => {\n if (String(parseInt(el, 10)) === el) {\n return '$NUM';\n } else {\n return el;\n }\n });\n return propsLabelMap[newKeyPath.join('.')] || '';\n };\n\n Object.keys(props).forEach((key) => {\n processProps(props[key], key, []);\n });\n\n if (propsNodeList.length > 0) {\n newCurrentNode.children?.push(slotNode);\n slotNode.parent = newCurrentNode;\n }\n const childNodeList = nodeChild.map((el) => tb(el, newCurrentNode)) || [];\n newCurrentNode.children = [...newCurrentNode.children!, ...childNodeList];\n return newCurrentNode;\n };\n\n if (Array.isArray(nodeSchema)) {\n return nodeSchema.map((el) => {\n return tb(el, parent);\n });\n } else {\n return tb(nodeSchema, parent);\n }\n};\n\nexport const transformPageSchemaToTreeData = (pageSchema: CPageDataType, pageModel: CPage): TreeNodeData[] => {\n const tree = pageSchema.componentsTree;\n let child = (tree.children || []) as CNodeDataType[];\n if (!Array.isArray(child)) {\n child = [];\n }\n\n const rootNode: TreeNodeData = {\n title: 'Page',\n key: tree.id || 'Page',\n rootNode: true,\n children: [],\n };\n rootNode.children = transformNodeSchemaToTreeData(child, rootNode, pageModel) as TreeNodeData[];\n return [rootNode];\n};\n\nexport const traverseTree = (tree: TreeNodeData | TreeNodeData[], handler: (node: TreeNodeData) => boolean) => {\n let tempTree: TreeNodeData[] = [];\n if (Array.isArray(tree)) {\n tempTree = tree;\n } else {\n tempTree = [tree];\n }\n\n let stop = false;\n\n const traverseCb = (node: TreeNodeData, conditionCb: (node: TreeNodeData) => boolean) => {\n if (stop) {\n return;\n }\n const res = conditionCb(node);\n if (res) {\n stop = true;\n } else {\n node.children?.forEach((el) => {\n traverseCb(el, conditionCb);\n });\n }\n };\n tempTree.forEach((el) => {\n traverseCb(el, handler);\n });\n};\n\nexport function calculateDropPosInfo(params: { point: { x: number; y: number }; dom: HTMLElement }): DropPosType {\n const { point, dom } = params;\n let pos: DropPosType['pos'];\n\n const mousePos = point;\n const targetRect = dom.getBoundingClientRect();\n const targetDomH = targetRect.height;\n const xCenter = targetRect.x + 50;\n const yCenter = targetRect.y + Math.round(targetDomH / 2);\n\n if (mousePos.y > yCenter) {\n pos = 'after';\n } else {\n pos = 'before';\n }\n\n if (mousePos.x > xCenter && pos == 'after') {\n pos = 'current';\n }\n\n return {\n pos,\n direction: 'vertical',\n };\n}\n\n//TODO: 移动到 model 包中去\nexport const getNodePropsLabelMap = (node: CNode) => {\n const resMap: Record<string, MTitle> = {};\n const props = node.material?.value.props;\n if (!props) {\n return resMap;\n }\n const singleProcessUnit = (val: SetterType, paths: string[]) => {\n if (isPlainObject(val)) {\n const newPaths = [...paths];\n const objSetter = val as SetterObjType;\n const componentName = objSetter.componentName;\n if (componentName === 'ArraySetter') {\n const setter = objSetter as ArraySetterObjType;\n const arrItemSetter = setter.props?.item.setters || [];\n const parentTitle = resMap[paths.join('.')];\n let currentTitle = '';\n if (typeof parentTitle === 'string') {\n currentTitle = parentTitle;\n } else {\n currentTitle = parentTitle.label;\n }\n newPaths.push('$NUM');\n arrItemSetter.forEach((el) => {\n currentTitle = `${currentTitle}`;\n resMap[newPaths.join('.')] = currentTitle;\n singleProcessUnit(el, newPaths);\n });\n } else if (componentName === 'ShapeSetter') {\n const setter = objSetter as ShapeSetterObjType;\n const elements = setter.props?.elements || [];\n elements.forEach((it) => {\n const newObjPaths = [...newPaths];\n newObjPaths.push(it.name);\n resMap[newObjPaths.join('.')] = it.title;\n const subSetter = it.setters || [];\n subSetter.forEach((it2) => {\n singleProcessUnit(it2, [...newObjPaths]);\n });\n });\n }\n }\n };\n\n props.forEach((item) => {\n let targetItem: MaterialPropType | MaterialPropType[] | null = null;\n if (isSpecialMaterialPropType(item)) {\n targetItem = item.content;\n } else {\n targetItem = item;\n }\n let itemArr: MaterialPropType[] = [];\n if (Array.isArray(targetItem)) {\n itemArr = targetItem;\n } else {\n itemArr = [targetItem];\n }\n\n itemArr.forEach((it) => {\n const newPaths: string[] = [it.name];\n resMap[newPaths.join('.')] = it.title;\n it.setters?.forEach((it2) => {\n singleProcessUnit(it2, newPaths);\n });\n });\n });\n\n return resMap;\n};\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Sensor } from '@chamn/layout';\nimport { CPage } from '@chamn/model';\nimport React from 'react';\nimport { DesignerExports } from '../../../Designer';\nimport { TreeNodeData } from './dataStruct';\nexport enum DragState {\n DRAGGING = 'DRAGGING',\n NORMAL = 'NORMAL',\n}\nexport type ContextState = {\n treeData: TreeNodeData[];\n currentSelectNodeKeys: string[];\n expandKeys: string[];\n multiSelect: boolean;\n dragState: DragState;\n pageModel: CPage | null;\n};\n\nexport type CTreeContextData = {\n sensor?: Sensor;\n state: ContextState;\n updateState: (state: Partial<ContextState>) => void;\n onSelectNode: (params: { keys: string[]; node: TreeNodeData }) => void;\n onDeleteNode: (id: string) => void;\n onCopyNode: (id: string) => void;\n getDesignerHandler?: () => Promise<DesignerExports>;\n};\n\nexport const CTreeContext = React.createContext<CTreeContextData>({\n state: {\n treeData: [],\n currentSelectNodeKeys: [],\n expandKeys: [],\n multiSelect: false,\n dragState: DragState.NORMAL,\n pageModel: null,\n },\n updateState: () => {},\n onSelectNode: () => {},\n onDeleteNode: (id: string) => {},\n onCopyNode: (id: string) => {},\n});\n","import { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { CopyOutlined, DeleteOutlined, EyeInvisibleOutlined, EyeOutlined, RightOutlined } from '@ant-design/icons';\nimport clsx from 'clsx';\nimport { CTreeContext, DragState } from './context';\nimport { TreeNodeData } from './dataStruct';\nimport styles from './style.module.scss';\nimport { LOGGER } from '../../../../utils/logger';\nimport { CNode } from '@chamn/model';\nimport { Input, InputRef } from 'antd';\n\nexport const DRAG_ITEM_KEY = 'data-drag-key';\n\nexport type TreeNodeProps = {\n item: TreeNodeData;\n level?: number;\n paths?: (string | number)[];\n};\nexport const TreeNode = (props: TreeNodeProps) => {\n const allStateRef = useRef<{ titleEditable: boolean }>({\n titleEditable: false,\n });\n const { level = 0, item, paths = ['0'] } = props;\n const [nodeVisible, setNodeVisible] = useState(true);\n const {\n state: ctxState,\n updateState,\n onSelectNode,\n onDeleteNode,\n getDesignerHandler,\n onCopyNode,\n } = useContext(CTreeContext);\n\n const [titleEditable, setTitleEditable] = useState(allStateRef.current?.titleEditable);\n const [editInputValue, setEditInputValue] = useState('');\n allStateRef.current.titleEditable = titleEditable;\n const expanded = ctxState.expandKeys.find((el) => el === item.key);\n const toggleExpandNode = () => {\n let newExpandKeys = ctxState.expandKeys;\n if (expanded) {\n newExpandKeys = newExpandKeys.filter((el) => el !== item.key);\n } else {\n newExpandKeys.push(item.key || '');\n }\n updateState({\n expandKeys: newExpandKeys,\n });\n };\n const selected = ctxState.currentSelectNodeKeys.find((el) => el === item.key);\n const titleEditInputRef = useRef<InputRef>(null);\n const toggleSelectNode = () => {\n if (titleEditable) {\n titleEditInputRef?.current?.focus();\n return;\n }\n if (item.canBeSelected !== undefined && item.canBeSelected === false) {\n return;\n }\n let newKeys = ctxState.currentSelectNodeKeys;\n if (!ctxState.multiSelect) {\n if (item.key) {\n onSelectNode?.({ keys: [item.key], node: item });\n } else {\n onSelectNode?.({ keys: [], node: item });\n }\n\n updateState({\n currentSelectNodeKeys: [String(item.key)],\n });\n return;\n }\n if (selected) {\n newKeys = newKeys.filter((el) => el !== item.key);\n } else {\n newKeys.push(String(item.key));\n }\n onSelectNode?.({ keys: newKeys, node: item });\n updateState({\n currentSelectNodeKeys: newKeys,\n });\n };\n const singPadding = 20;\n const indent = singPadding * level;\n const canBeSelected = item.canBeSelected ?? true;\n\n const dragKeyProps = {\n [DRAG_ITEM_KEY]: item.key,\n };\n const updateExpandKeyRef = useRef<(key: string) => void>();\n const ctxStateRef = useRef<typeof ctxState>();\n ctxStateRef.current = ctxState;\n updateExpandKeyRef.current = (key) => {\n const oldExpandKeys = ctxState.expandKeys;\n const newExpandKeys = Array.from(new Set([...oldExpandKeys, key]));\n updateState({\n expandKeys: newExpandKeys,\n });\n };\n const domRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n // auto expand on dragging\n let timerHandler = 0;\n domRef.current?.addEventListener('mouseenter', () => {\n timerHandler = window.setTimeout(() => {\n if (ctxStateRef.current?.dragState === DragState.DRAGGING) {\n updateExpandKeyRef.current?.(item.key || '');\n }\n }, 0.8 * 1000);\n });\n domRef.current?.addEventListener('mouseleave', () => {\n clearTimeout(timerHandler);\n });\n\n const clickHandle = (e: MouseEvent) => {\n if (allStateRef.current.titleEditable) {\n if (e.target === titleEditInputRef.current?.input) {\n return;\n }\n setTitleEditable(false);\n targetNodeModel.updateValue();\n }\n };\n\n document.addEventListener('click', clickHandle);\n\n return () => {\n if (timerHandler) {\n clearTimeout(timerHandler);\n }\n document.removeEventListener('click', clickHandle);\n };\n }, []);\n\n const targetNodeModel = ctxState.pageModel?.getNode(item.key || '') as CNode;\n\n const toggleNodeVisible = () => {\n const newVisible = !nodeVisible;\n\n if (!targetNodeModel) {\n return;\n }\n const devState = targetNodeModel.value.configure.devState ?? {};\n devState.condition = newVisible;\n targetNodeModel.value.configure.devState = devState;\n targetNodeModel.updateValue();\n setNodeVisible(newVisible);\n };\n\n let titleView = item.title;\n if (item.titleViewRender) {\n titleView = item.titleViewRender({\n item,\n titleView: item.title,\n });\n }\n const titleText = targetNodeModel?.value.title || targetNodeModel?.value.componentName;\n\n const bodyView = (\n <div className={styles.nodeBox}>\n <div\n className={clsx([styles.nodeContent, selected && canBeSelected && styles.selected])}\n style={{ marginLeft: `${-indent}px`, paddingLeft: `${indent + 8}px` }}\n onMouseMove={async () => {\n if (!item.key) {\n return;\n }\n const designerHandler = await getDesignerHandler?.();\n const compInstances = designerHandler?.getDynamicComponentInstances(item.key);\n if (typeof compInstances?._CONDITION !== 'undefined') {\n setNodeVisible(compInstances?._CONDITION);\n }\n }}\n >\n {item.children?.length ? (\n <span style={{ paddingRight: '5px' }} className={styles.arrowSpan} onClickCapture={toggleExpandNode}>\n <RightOutlined className={clsx([styles.nodeArrow, expanded && styles.expanded])} />\n </span>\n ) : null}\n <div\n className={styles.nodeRenderView}\n {...dragKeyProps}\n ref={domRef}\n onClick={toggleSelectNode}\n onDoubleClick={() => {\n // slot 节点,属性节点不能编辑 title\n if (!targetNodeModel) {\n return;\n }\n const node = targetNodeModel;\n const nodeMeta = node.materialsModel.findByComponentName(node.value.componentName)?.value.title;\n const inputValue = node.value.title || nodeMeta || node.value.componentName || '';\n setEditInputValue(inputValue);\n setTitleEditable(true);\n setTimeout(() => {\n titleEditInputRef.current?.focus();\n }, 100);\n }}\n >\n {!titleEditable && titleView}\n {titleEditable && (\n <div\n style={{\n paddingRight: '10px',\n }}\n >\n <Input\n size=\"small\"\n maxLength={20}\n ref={titleEditInputRef}\n value={editInputValue}\n onPressEnter={() => {\n setTitleEditable(false);\n targetNodeModel.updateValue();\n }}\n onChange={(e) => {\n targetNodeModel.value.title = e.target.value;\n setEditInputValue(e.target.value);\n }}\n />\n </div>\n )}\n </div>\n\n {!titleEditable && !item.rootNode && (\n <div className={styles.toolbarBox}>\n <div className={styles.iconItem}>\n {!nodeVisible && <EyeOutlined onClick={toggleNodeVisible} />}\n {nodeVisible && <EyeInvisibleOutlined onClick={toggleNodeVisible} />}\n </div>\n <div\n className={styles.iconItem}\n onClick={() => {\n onCopyNode(item.key || '');\n }}\n >\n <CopyOutlined />\n </div>\n <div\n className={styles.iconItem}\n onClick={() => {\n onDeleteNode(item.key || '');\n }}\n >\n <DeleteOutlined />\n </div>\n </div>\n )}\n </div>\n <div\n className={clsx([styles.nodeChildren, selected && styles.selected])}\n style={{\n paddingLeft: `${singPadding}px`,\n height: expanded ? 'auto' : '0',\n }}\n >\n {expanded &&\n item.children?.map((el, index) => {\n const key = `${el.key}-${index}`;\n return <TreeNode key={key} item={el} paths={[...paths, index]} level={level + 1} />;\n })}\n </div>\n </div>\n );\n if (item.containerRender) {\n const containerView = item.containerRender({\n item: item,\n treeNodeView: bodyView,\n });\n return containerView;\n }\n return bodyView;\n};\n","import { LayoutDragAndDropExtraDataType, Sensor, SensorEventObjType } from '@chamn/layout';\nimport { DropPosType } from '@chamn/layout/dist/components/DropAnchor/util';\nimport { CNode, CRootNode } from '@chamn/model';\nimport React from 'react';\nimport { WithTranslation } from 'react-i18next';\nimport { CPluginCtx } from '../../../../core/pluginManager';\nimport { LOGGER } from '../../../../utils/logger';\nimport { DesignerExports } from '../../../Designer';\nimport { calculateDropPosInfo, getTargetMNodeKeyVal, transformPageSchemaToTreeData, traverseTree } from '../../util';\nimport { ContextState, CTreeContext, DragState } from './context';\nimport { TreeNodeData } from './dataStruct';\nimport styles from './style.module.scss';\nimport { DRAG_ITEM_KEY, TreeNode } from './treeNode';\n\ninterface TreeViewProps extends WithTranslation {\n pluginCtx: CPluginCtx;\n multiSelect?: boolean;\n}\n\nexport class TreeView extends React.Component<\n TreeViewProps,\n ContextState & {\n dropPosInfo: { x: number; y: number } | null;\n }\n> {\n domRef: React.RefObject<HTMLDivElement>;\n disposeCbList: (() => void)[] = [];\n sensor?: Sensor;\n constructor(props: TreeViewProps) {\n super(props);\n this.domRef = React.createRef<HTMLDivElement>();\n\n this.state = {\n treeData: [],\n currentSelectNodeKeys: [],\n expandKeys: [],\n multiSelect: props.multiSelect || false,\n dropPosInfo: {\n x: 0,\n y: 0,\n },\n pageModel: props.pluginCtx.pageModel,\n dragState: DragState.NORMAL,\n };\n }\n\n getDesignerHandler = async () => {\n const designerPluginInstance = await this.props.pluginCtx.pluginManager.get('Designer');\n const designerHandler: DesignerExports = designerPluginInstance?.exports;\n return designerHandler;\n };\n\n updateTreeDataFromNode = () => {\n const { pluginCtx } = this.props;\n const { pageModel } = pluginCtx;\n const plainTreeData = pageModel.export();\n const tempTreeData = transformPageSchemaToTreeData(plainTreeData, pageModel);\n this.setState({\n treeData: tempTreeData,\n });\n };\n\n getParentKeyPaths = (targetKey: string) => {\n const { treeData } = this.state;\n let target: TreeNodeData = null as any;\n traverseTree(treeData, (node) => {\n if (node.key === targetKey) {\n target = node;\n return true;\n }\n return false;\n });\n if (target) {\n let tempNode = target?.parent as TreeNodeData | undefined | null;\n const res = [];\n while (tempNode) {\n if (tempNode.key) {\n res.push(tempNode.key);\n }\n tempNode = tempNode.parent;\n }\n return res;\n } else {\n return [];\n }\n };\n\n scrollNodeToView = (key: string) => {\n const dom = document.querySelector(`[${DRAG_ITEM_KEY}=\"${key}\"]`);\n dom?.scrollIntoView?.({\n behavior: 'smooth',\n block: 'center',\n });\n };\n\n async componentDidMount() {\n this.updateTreeDataFromNode();\n const { pluginCtx } = this.props;\n const { pageModel } = pluginCtx;\n\n pageModel.emitter.on('*', () => {\n this.updateTreeDataFromNode();\n });\n\n pluginCtx.globalEmitter.on('onSelectNodeChange', ({ node }) => {\n this.toSelectTreeNode(node);\n });\n\n const workbench = pluginCtx.getWorkbench();\n\n workbench.emitter.on('leftPanelVisible', ({ visible, panelName }) => {\n if (visible && panelName === 'OutlineTree') {\n console.log('visible, panelName', visible, panelName);\n const currentSelectNode = pluginCtx.engine.getActiveNode();\n if (currentSelectNode) {\n this.toSelectTreeNode(currentSelectNode);\n }\n }\n });\n\n const currentSelectNode = pluginCtx.engine.getActiveNode();\n if (currentSelectNode) {\n this.toSelectTreeNode(currentSelectNode);\n }\n\n await this.props.pluginCtx.pluginManager.onPluginReadyOk('Designer');\n this.registerDragEvent();\n }\n\n toSelectTreeNode = (node: CNode | CRootNode) => {\n const parentPaths = this.getParentKeyPaths(node.id);\n LOGGER.debug('onSelectNodeChange parent path', parentPaths, node);\n const newExpandKeys = Array.from(new Set([...this.state.expandKeys, ...parentPaths]));\n\n LOGGER.debug('onSelectNodeChange newExpandKeys', newExpandKeys, node);\n\n this.setState({\n currentSelectNodeKeys: [node.id],\n expandKeys: newExpandKeys,\n });\n\n setTimeout(() => {\n this.scrollNodeToView(node.id);\n }, 100);\n };\n\n containNode = (parentNode: TreeNodeData, targetNode: TreeNodeData) => {\n let res = null;\n traverseTree(parentNode, (node) => {\n if (node.key === targetNode.key) {\n res = node;\n return true;\n }\n return false;\n });\n return res;\n };\n\n getTreeNodeByKey = (key: string): TreeNodeData | null => {\n const { treeData } = this.state;\n let target: TreeNodeData | null = null;\n traverseTree(treeData, (node) => {\n if (node.key === key) {\n target = node;\n return true;\n }\n return false;\n });\n return target;\n };\n\n registerDragEvent = async () => {\n if (!this.domRef.current) {\n return;\n }\n const sensor = new Sensor({\n container: this.domRef.current,\n name: 'OutlineTree',\n eventPriority: 999,\n });\n const { pluginCtx } = this.props;\n\n const pageModel = pluginCtx.pageModel;\n const designerExports: DesignerExports = await this.getDesignerHandler();\n const dnd = designerExports.getDnd();\n sensor.setCanDrag((eventObj: SensorEventObjType) => {\n const targetDom = eventObj.event.target as HTMLDivElement;\n if (!targetDom) {\n return;\n }\n const targetNodeId = getTargetMNodeKeyVal(targetDom, DRAG_ITEM_KEY);\n\n if (!targetNodeId) {\n return;\n }\n\n const targetNode = pageModel.getNode(targetNodeId);\n const targetTreeNode = this.getTreeNodeByKey(targetNodeId);\n if (targetTreeNode?.canDrag !== undefined && targetTreeNode?.canDrag === false) {\n return;\n }\n if (!targetNode) {\n console.log('targetNode not found');\n return;\n }\n\n return {\n ...eventObj,\n extraData: {\n startNode: targetNode,\n } as LayoutDragAndDropExtraDataType,\n };\n });\n\n sensor.setCanDrop((eventObj: SensorEventObjType) => {\n const targetDom = eventObj.event.target as HTMLDivElement;\n\n if (!targetDom) {\n LOGGER.debug('drop dom not found');\n return eventObj;\n }\n const targetNodeId = getTargetMNodeKeyVal(targetDom, DRAG_ITEM_KEY);\n\n if (!targetNodeId) {\n LOGGER.debug('targetNodeId dom not found', eventObj, targetDom, DRAG_ITEM_KEY);\n return eventObj;\n }\n const targetTreeNode = this.getTreeNodeByKey(targetNodeId);\n if (targetTreeNode?.canDrop !== undefined && targetTreeNode.canDrop === false) {\n LOGGER.debug('node can not be drop by tree node config');\n return eventObj;\n }\n\n const targetNode = pageModel.getNode(targetNodeId);\n\n if (!targetNode) {\n LOGGER.debug('targetNode not found');\n return eventObj;\n }\n const startNode = eventObj.extraData?.startNode as CNode;\n if (!startNode) {\n LOGGER.debug('startNode not found');\n return eventObj;\n }\n\n if (startNode?.id === targetNode.id) {\n LOGGER.debug('startNode and dropNode is the same');\n return eventObj;\n }\n const hasContain = startNode.contains(targetNode.id);\n\n if (hasContain) {\n LOGGER.debug('startNode contain dropNode');\n return eventObj;\n }\n\n const dropInfo = calculateDropPosInfo({\n point: eventObj.pointer,\n dom: targetDom,\n });\n\n if (Array.isArray(targetTreeNode?.canDrop) && !targetTreeNode?.canDrop.includes(dropInfo.pos)) {\n return eventObj;\n }\n\n LOGGER.info('can dropNode', targetNode);\n\n const res = {\n ...eventObj,\n extraData: {\n ...eventObj.extraData,\n dropPosInfo: dropInfo,\n dropNode: targetNode,\n dropNodeUid: undefined,\n } as LayoutDragAndDropExtraDataType,\n };\n return res;\n });\n\n dnd.registerSensor(sensor);\n\n sensor.emitter.on('dragging', (e) => {\n const dropNode = e.extraData.dropNode as CNode;\n this.setState({\n dragState: DragState.DRAGGING,\n });\n\n if (!dropNode) {\n this.setState({\n dropPosInfo: null,\n });\n return;\n }\n const dropDom = document.querySelectorAll(`[${DRAG_ITEM_KEY}=\"${dropNode.id}\"]`)?.[0];\n if (!dropDom) {\n return;\n }\n const dropPosInfo = e.extraData?.dropPosInfo as DropPosType;\n const rect = dropDom.getBoundingClientRect();\n const newDropInfo = { x: 0, y: 0 };\n\n newDropInfo.x = rect.x;\n if (dropPosInfo.pos === 'before') {\n newDropInfo.y = rect.y;\n } else if (dropPosInfo.pos == 'after') {\n newDropInfo.y = rect.y + rect.height;\n } else {\n newDropInfo.y = rect.y + rect.height;\n newDropInfo.x = rect.x + 20;\n }\n this.setState({\n dropPosInfo: newDropInfo,\n });\n });\n\n sensor.emitter.on('dragEnd', () => {\n this.setState({\n dragState: DragState.NORMAL,\n });\n });\n this.sensor = sensor;\n };\n\n render() {\n const { treeData, dragState, dropPosInfo } = this.state;\n const { pluginCtx } = this.props;\n\n return (\n <CTreeContext.Provider\n value={{\n sensor: this.sensor,\n state: this.state,\n getDesignerHandler: this.getDesignerHandler,\n onSelectNode: async ({ keys: sk }) => {\n const designer = await pluginCtx.pluginManager.get('Designer');\n if (!designer) {\n console.warn('Designer is empty');\n return;\n }\n const nodeId = sk?.[0] || '';\n const nn = pluginCtx.pageModel.getNode(nodeId);\n const designerExports: DesignerExports = designer.exports;\n designerExports.selectNode(nodeId);\n if (nn) {\n pluginCtx.engine.updateCurrentSelectNode(nn);\n }\n },\n updateState: (newVal) => {\n this.setState(newVal as any);\n },\n onDeleteNode: (id) => {\n pluginCtx.pageModel.deleteNodeById(id);\n },\n onCopyNode: (id) => {\n pluginCtx.pageModel.copyNodeById(id);\n },\n }}\n >\n <div className={styles.contentBox} ref={this.domRef}>\n {treeData.map((item, index) => {\n return <TreeNode item={item} key={item.key + `${index}`}></TreeNode>;\n })}\n {dragState === DragState.DRAGGING && dropPosInfo && (\n <div\n className={styles.dropAnchorLine}\n style={{\n left: `${dropPosInfo.x}px`,\n top: `${dropPosInfo.y}px`,\n }}\n ></div>\n )}\n </div>\n </CTreeContext.Provider>\n );\n }\n}\n","export const zh_CN: Record<string, any> = {\n pluginName: '大纲树',\n};\n","export const en_US: Record<string, any> = {\n pluginName: 'Layout Tree',\n};\n","import { zh_CN } from './zh_CN';\nimport { en_US } from './en_US';\nexport default { zh_CN, en_US } as Record<string, any>;\n","import { ApartmentOutlined } from '@ant-design/icons';\nimport { CPlugin } from '../../core/pluginManager';\nimport { withTranslation } from 'react-i18next';\nimport { TreeView } from './components/TreeView';\nimport localize from './localize';\n\nexport const PLUGIN_NAME = 'OutlineTree';\nconst i18nNamespace = `plugin:${PLUGIN_NAME}`;\n\nexport const OutlineTreePlugin: CPlugin = {\n name: PLUGIN_NAME,\n async init(ctx) {\n const { i18n } = ctx;\n Object.keys(localize).forEach((lng) => {\n i18n.addResourceBundle(lng, i18nNamespace, localize[lng], true, true);\n });\n\n const TreeViewWithLocalize = withTranslation(i18nNamespace)(TreeView);\n const Title = withTranslation(i18nNamespace)(({ t }) => <>{t('pluginName')}</>);\n const workbench = ctx.getWorkbench();\n workbench.addLeftPanel({\n title: <Title />,\n name: PLUGIN_NAME,\n icon: <ApartmentOutlined />,\n render: <TreeViewWithLocalize pluginCtx={ctx} />,\n });\n },\n async destroy(ctx) {\n console.log('destroy', ctx);\n },\n exports: (ctx) => {\n return {};\n },\n meta: {\n engine: {\n version: '1.0.0',\n },\n },\n};\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport React from 'react';\n\nexport type ContextState = Record<string, any>;\n\nexport type CFormContextData = {\n formName: string;\n formState: ContextState;\n conditionConfig: Record<string, (state: ContextState) => boolean>;\n updateContext: (newState: ContextState) => void;\n updateConditionConfig: (\n name: string,\n cb: (state: ContextState) => boolean\n ) => void;\n};\n\nexport const CFormContext = React.createContext<CFormContextData>({\n formName: '',\n formState: {},\n conditionConfig: {},\n updateContext: () => {},\n updateConditionConfig: () => {},\n});\n","import React from 'react';\nimport { ReactNode } from 'react';\nimport { CFormContext, CFormContextData, ContextState } from './context';\n\nexport type CFormProps = {\n name: string;\n children?: ReactNode | ReactNode[];\n initialValue?: Record<string, any>;\n onValueChange?: (formData: Record<string, any>) => void;\n};\nexport class CForm extends React.Component<CFormProps, CFormContextData> {\n updateContext: (newState: ContextState) => void;\n\n constructor(props: CFormProps) {\n super(props);\n this.updateContext = (newState: ContextState) => {\n this.setState({\n formState: newState,\n });\n this.props.onValueChange?.(this.formatValue(newState));\n };\n this.state = {\n formName: props.name,\n formState: props.initialValue ?? {},\n conditionConfig: {},\n updateContext: this.updateContext,\n updateConditionConfig: (\n name: string,\n cb: (state: Record<string, any>) => boolean\n ) => {\n this.setState({\n conditionConfig: {\n ...this.state.conditionConfig,\n [name]: cb,\n },\n });\n },\n };\n }\n\n getFieldsValue = () => {\n return this.formatValue(this.state.formState);\n };\n\n setFields = (state: Record<string, any>) => {\n this.setState({\n formState: state,\n });\n };\n\n formatValue = (data: Record<string, any>) => {\n const res: Record<string, any> = {};\n const conditionConfig = this.state.conditionConfig;\n Object.keys(data).forEach((key) => {\n const isValid = conditionConfig[key]?.(data) ?? true;\n if (isValid) {\n res[key] = data[key];\n }\n });\n return res;\n };\n\n render(): ReactNode {\n const { state } = this;\n const { children } = this.props;\n\n return (\n <CFormContext.Provider value={state}>{children}</CFormContext.Provider>\n );\n }\n}\n","/**\n * A `StructFailure` represents a single specific failure in validation.\n */\n\n/**\n * `StructError` objects are thrown (or returned) when validation fails.\n *\n * Validation logic is design to exit early for maximum performance. The error\n * represents the first error encountered during validation. For more detail,\n * the `error.failures` property is a generator function that can be run to\n * continue validation and receive all the failures in the data.\n */\nclass StructError extends TypeError {\n constructor(failure, failures) {\n let cached;\n const {\n message,\n ...rest\n } = failure;\n const {\n path\n } = failure;\n const msg = path.length === 0 ? message : `At path: ${path.join('.')} -- ${message}`;\n super(msg);\n this.value = void 0;\n this.key = void 0;\n this.type = void 0;\n this.refinement = void 0;\n this.path = void 0;\n this.branch = void 0;\n this.failures = void 0;\n Object.assign(this, rest);\n this.name = this.constructor.name;\n\n this.failures = () => {\n return cached ?? (cached = [failure, ...failures()]);\n };\n }\n\n}\n\n/**\n * Check if a value is an iterator.\n */\nfunction isIterable(x) {\n return isObject(x) && typeof x[Symbol.iterator] === 'function';\n}\n/**\n * Check if a value is a plain object.\n */\n\n\nfunction isObject(x) {\n return typeof x === 'object' && x != null;\n}\n/**\n * Check if a value is a plain object.\n */\n\nfunction isPlainObject(x) {\n if (Object.prototype.toString.call(x) !== '[object Object]') {\n return false;\n }\n\n const prototype = Object.getPrototypeOf(x);\n return prototype === null || prototype === Object.prototype;\n}\n/**\n * Return a value as a printable string.\n */\n\nfunction print(value) {\n if (typeof value === 'symbol') {\n return value.toString();\n }\n\n return typeof value === 'string' ? JSON.stringify(value) : `${value}`;\n}\n/**\n * Shifts (removes and returns) the first value from the `input` iterator.\n * Like `Array.prototype.shift()` but for an `Iterator`.\n */\n\nfunction shiftIterator(input) {\n const {\n done,\n value\n } = input.next();\n return done ? undefined : value;\n}\n/**\n * Convert a single validation result to a failure.\n */\n\nfunction toFailure(result, context, struct, value) {\n if (result === true) {\n return;\n } else if (result === false) {\n result = {};\n } else if (typeof result === 'string') {\n result = {\n message: result\n };\n }\n\n const {\n path,\n branch\n } = context;\n const {\n type\n } = struct;\n const {\n refinement,\n message = `Expected a value of type \\`${type}\\`${refinement ? ` with refinement \\`${refinement}\\`` : ''}, but received: \\`${print(value)}\\``\n } = result;\n return {\n value,\n type,\n refinement,\n key: path[path.length - 1],\n path,\n branch,\n ...result,\n message\n };\n}\n/**\n * Convert a validation result to an iterable of failures.\n */\n\nfunction* toFailures(result, context, struct, value) {\n if (!isIterable(result)) {\n result = [result];\n }\n\n for (const r of result) {\n const failure = toFailure(r, context, struct, value);\n\n if (failure) {\n yield failure;\n }\n }\n}\n/**\n * Check a value against a struct, traversing deeply into nested values, and\n * returning an iterator of failures or success.\n */\n\nfunction* run(value, struct, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n path = [],\n branch = [value],\n coerce = false,\n mask = false\n } = options;\n const ctx = {\n path,\n branch\n };\n\n if (coerce) {\n value = struct.coercer(value, ctx);\n\n if (mask && struct.type !== 'type' && isObject(struct.schema) && isObject(value) && !Array.isArray(value)) {\n for (const key in value) {\n if (struct.schema[key] === undefined) {\n delete value[key];\n }\n }\n }\n }\n\n let status = 'valid';\n\n for (const failure of struct.validator(value, ctx)) {\n status = 'not_valid';\n yield [failure, undefined];\n }\n\n for (let [k, v, s] of struct.entries(value, ctx)) {\n const ts = run(v, s, {\n path: k === undefined ? path : [...path, k],\n branch: k === undefined ? branch : [...branch, v],\n coerce,\n mask\n });\n\n for (const t of ts) {\n if (t[0]) {\n status = t[0].refinement != null ? 'not_refined' : 'not_valid';\n yield [t[0], undefined];\n } else if (coerce) {\n v = t[1];\n\n if (k === undefined) {\n value = v;\n } else if (value instanceof Map) {\n value.set(k, v);\n } else if (value instanceof Set) {\n value.add(v);\n } else if (isObject(value)) {\n if (v !== undefined || k in value) value[k] = v;\n }\n }\n }\n }\n\n if (status !== 'not_valid') {\n for (const failure of struct.refiner(value, ctx)) {\n status = 'not_refined';\n yield [failure, undefined];\n }\n }\n\n if (status === 'valid') {\n yield [undefined, value];\n }\n}\n\n/**\n * `Struct` objects encapsulate the validation logic for a specific type of\n * values. Once constructed, you use the `assert`, `is` or `validate` helpers to\n * validate unknown input data against the struct.\n */\n\nclass Struct {\n constructor(props) {\n this.TYPE = void 0;\n this.type = void 0;\n this.schema = void 0;\n this.coercer = void 0;\n this.validator = void 0;\n this.refiner = void 0;\n this.entries = void 0;\n const {\n type,\n schema,\n validator,\n refiner,\n coercer = value => value,\n entries = function* () {}\n } = props;\n this.type = type;\n this.schema = schema;\n this.entries = entries;\n this.coercer = coercer;\n\n if (validator) {\n this.validator = (value, context) => {\n const result = validator(value, context);\n return toFailures(result, context, this, value);\n };\n } else {\n this.validator = () => [];\n }\n\n if (refiner) {\n this.refiner = (value, context) => {\n const result = refiner(value, context);\n return toFailures(result, context, this, value);\n };\n } else {\n this.refiner = () => [];\n }\n }\n /**\n * Assert that a value passes the struct's validation, throwing if it doesn't.\n */\n\n\n assert(value) {\n return assert(value, this);\n }\n /**\n * Create a value with the struct's coercion logic, then validate it.\n */\n\n\n create(value) {\n return create(value, this);\n }\n /**\n * Check if a value passes the struct's validation.\n */\n\n\n is(value) {\n return is(value, this);\n }\n /**\n * Mask a value, coercing and validating it, but returning only the subset of\n * properties defined by the struct's schema.\n */\n\n\n mask(value) {\n return mask(value, this);\n }\n /**\n * Validate a value with the struct's validation logic, returning a tuple\n * representing the result.\n *\n * You may optionally pass `true` for the `withCoercion` argument to coerce\n * the value before attempting to validate it. If you do, the result will\n * contain the coerced result when successful.\n */\n\n\n validate(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n return validate(value, this, options);\n }\n\n}\n/**\n * Assert that a value passes a struct, throwing if it doesn't.\n */\n\nfunction assert(value, struct) {\n const result = validate(value, struct);\n\n if (result[0]) {\n throw result[0];\n }\n}\n/**\n * Create a value with the coercion logic of struct and validate it.\n */\n\nfunction create(value, struct) {\n const result = validate(value, struct, {\n coerce: true\n });\n\n if (result[0]) {\n throw result[0];\n } else {\n return result[1];\n }\n}\n/**\n * Mask a value, returning only the subset of properties defined by a struct.\n */\n\nfunction mask(value, struct) {\n const result = validate(value, struct, {\n coerce: true,\n mask: true\n });\n\n if (result[0]) {\n throw result[0];\n } else {\n return result[1];\n }\n}\n/**\n * Check if a value passes a struct.\n */\n\nfunction is(value, struct) {\n const result = validate(value, struct);\n return !result[0];\n}\n/**\n * Validate a value against a struct, returning an error if invalid, or the\n * value (with potential coercion) if valid.\n */\n\nfunction validate(value, struct, options) {\n if (options === void 0) {\n options = {};\n }\n\n const tuples = run(value, struct, options);\n const tuple = shiftIterator(tuples);\n\n if (tuple[0]) {\n const error = new StructError(tuple[0], function* () {\n for (const t of tuples) {\n if (t[0]) {\n yield t[0];\n }\n }\n });\n return [error, undefined];\n } else {\n const v = tuple[1];\n return [undefined, v];\n }\n}\n\nfunction assign() {\n for (var _len = arguments.length, Structs = new Array(_len), _key = 0; _key < _len; _key++) {\n Structs[_key] = arguments[_key];\n }\n\n const isType = Structs[0].type === 'type';\n const schemas = Structs.map(s => s.schema);\n const schema = Object.assign({}, ...schemas);\n return isType ? type(schema) : object(schema);\n}\n/**\n * Define a new struct type with a custom validation function.\n */\n\nfunction define(name, validator) {\n return new Struct({\n type: name,\n schema: null,\n validator\n });\n}\n/**\n * Create a new struct based on an existing struct, but the value is allowed to\n * be `undefined`. `log` will be called if the value is not `undefined`.\n */\n\nfunction deprecated(struct, log) {\n return new Struct({ ...struct,\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx),\n\n validator(value, ctx) {\n if (value === undefined) {\n return true;\n } else {\n log(value, ctx);\n return struct.validator(value, ctx);\n }\n }\n\n });\n}\n/**\n * Create a struct with dynamic validation logic.\n *\n * The callback will receive the value currently being validated, and must\n * return a struct object to validate it with. This can be useful to model\n * validation logic that changes based on its input.\n */\n\nfunction dynamic(fn) {\n return new Struct({\n type: 'dynamic',\n schema: null,\n\n *entries(value, ctx) {\n const struct = fn(value, ctx);\n yield* struct.entries(value, ctx);\n },\n\n validator(value, ctx) {\n const struct = fn(value, ctx);\n return struct.validator(value, ctx);\n },\n\n coercer(value, ctx) {\n const struct = fn(value, ctx);\n return struct.coercer(value, ctx);\n },\n\n refiner(value, ctx) {\n const struct = fn(value, ctx);\n return struct.refiner(value, ctx);\n }\n\n });\n}\n/**\n * Create a struct with lazily evaluated validation logic.\n *\n * The first time validation is run with the struct, the callback will be called\n * and must return a struct object to use. This is useful for cases where you\n * want to have self-referential structs for nested data structures to avoid a\n * circular definition problem.\n */\n\nfunction lazy(fn) {\n let struct;\n return new Struct({\n type: 'lazy',\n schema: null,\n\n *entries(value, ctx) {\n struct ?? (struct = fn());\n yield* struct.entries(value, ctx);\n },\n\n validator(value, ctx) {\n struct ?? (struct = fn());\n return struct.validator(value, ctx);\n },\n\n coercer(value, ctx) {\n struct ?? (struct = fn());\n return struct.coercer(value, ctx);\n },\n\n refiner(value, ctx) {\n struct ?? (struct = fn());\n return struct.refiner(value, ctx);\n }\n\n });\n}\n/**\n * Create a new struct based on an existing object struct, but excluding\n * specific properties.\n *\n * Like TypeScript's `Omit` utility.\n */\n\nfunction omit(struct, keys) {\n const {\n schema\n } = struct;\n const subschema = { ...schema\n };\n\n for (const key of keys) {\n delete subschema[key];\n }\n\n switch (struct.type) {\n case 'type':\n return type(subschema);\n\n default:\n return object(subschema);\n }\n}\n/**\n * Create a new struct based on an existing object struct, but with all of its\n * properties allowed to be `undefined`.\n *\n * Like TypeScript's `Partial` utility.\n */\n\nfunction partial(struct) {\n const schema = struct instanceof Struct ? { ...struct.schema\n } : { ...struct\n };\n\n for (const key in schema) {\n schema[key] = optional(schema[key]);\n }\n\n return object(schema);\n}\n/**\n * Create a new struct based on an existing object struct, but only including\n * specific properties.\n *\n * Like TypeScript's `Pick` utility.\n */\n\nfunction pick(struct, keys) {\n const {\n schema\n } = struct;\n const subschema = {};\n\n for (const key of keys) {\n subschema[key] = schema[key];\n }\n\n return object(subschema);\n}\n/**\n * Define a new struct type with a custom validation function.\n *\n * @deprecated This function has been renamed to `define`.\n */\n\nfunction struct(name, validator) {\n console.warn('superstruct@0.11 - The `struct` helper has been renamed to `define`.');\n return define(name, validator);\n}\n\n/**\n * Ensure that any value passes validation.\n */\n\nfunction any() {\n return define('any', () => true);\n}\nfunction array(Element) {\n return new Struct({\n type: 'array',\n schema: Element,\n\n *entries(value) {\n if (Element && Array.isArray(value)) {\n for (const [i, v] of value.entries()) {\n yield [i, v, Element];\n }\n }\n },\n\n coercer(value) {\n return Array.isArray(value) ? value.slice() : value;\n },\n\n validator(value) {\n return Array.isArray(value) || `Expected an array value, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that a value is a bigint.\n */\n\nfunction bigint() {\n return define('bigint', value => {\n return typeof value === 'bigint';\n });\n}\n/**\n * Ensure that a value is a boolean.\n */\n\nfunction boolean() {\n return define('boolean', value => {\n return typeof value === 'boolean';\n });\n}\n/**\n * Ensure that a value is a valid `Date`.\n *\n * Note: this also ensures that the value is *not* an invalid `Date` object,\n * which can occur when parsing a date fails but still returns a `Date`.\n */\n\nfunction date() {\n return define('date', value => {\n return value instanceof Date && !isNaN(value.getTime()) || `Expected a valid \\`Date\\` object, but received: ${print(value)}`;\n });\n}\nfunction enums(values) {\n const schema = {};\n const description = values.map(v => print(v)).join();\n\n for (const key of values) {\n schema[key] = key;\n }\n\n return new Struct({\n type: 'enums',\n schema,\n\n validator(value) {\n return values.includes(value) || `Expected one of \\`${description}\\`, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that a value is a function.\n */\n\nfunction func() {\n return define('func', value => {\n return typeof value === 'function' || `Expected a function, but received: ${print(value)}`;\n });\n}\n/**\n * Ensure that a value is an instance of a specific class.\n */\n\nfunction instance(Class) {\n return define('instance', value => {\n return value instanceof Class || `Expected a \\`${Class.name}\\` instance, but received: ${print(value)}`;\n });\n}\n/**\n * Ensure that a value is an integer.\n */\n\nfunction integer() {\n return define('integer', value => {\n return typeof value === 'number' && !isNaN(value) && Number.isInteger(value) || `Expected an integer, but received: ${print(value)}`;\n });\n}\n/**\n * Ensure that a value matches all of a set of types.\n */\n\nfunction intersection(Structs) {\n return new Struct({\n type: 'intersection',\n schema: null,\n\n *entries(value, ctx) {\n for (const S of Structs) {\n yield* S.entries(value, ctx);\n }\n },\n\n *validator(value, ctx) {\n for (const S of Structs) {\n yield* S.validator(value, ctx);\n }\n },\n\n *refiner(value, ctx) {\n for (const S of Structs) {\n yield* S.refiner(value, ctx);\n }\n }\n\n });\n}\nfunction literal(constant) {\n const description = print(constant);\n const t = typeof constant;\n return new Struct({\n type: 'literal',\n schema: t === 'string' || t === 'number' || t === 'boolean' ? constant : null,\n\n validator(value) {\n return value === constant || `Expected the literal \\`${description}\\`, but received: ${print(value)}`;\n }\n\n });\n}\nfunction map(Key, Value) {\n return new Struct({\n type: 'map',\n schema: null,\n\n *entries(value) {\n if (Key && Value && value instanceof Map) {\n for (const [k, v] of value.entries()) {\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n\n coercer(value) {\n return value instanceof Map ? new Map(value) : value;\n },\n\n validator(value) {\n return value instanceof Map || `Expected a \\`Map\\` object, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that no value ever passes validation.\n */\n\nfunction never() {\n return define('never', () => false);\n}\n/**\n * Augment an existing struct to allow `null` values.\n */\n\nfunction nullable(struct) {\n return new Struct({ ...struct,\n validator: (value, ctx) => value === null || struct.validator(value, ctx),\n refiner: (value, ctx) => value === null || struct.refiner(value, ctx)\n });\n}\n/**\n * Ensure that a value is a number.\n */\n\nfunction number() {\n return define('number', value => {\n return typeof value === 'number' && !isNaN(value) || `Expected a number, but received: ${print(value)}`;\n });\n}\nfunction object(schema) {\n const knowns = schema ? Object.keys(schema) : [];\n const Never = never();\n return new Struct({\n type: 'object',\n schema: schema ? schema : null,\n\n *entries(value) {\n if (schema && isObject(value)) {\n const unknowns = new Set(Object.keys(value));\n\n for (const key of knowns) {\n unknowns.delete(key);\n yield [key, value[key], schema[key]];\n }\n\n for (const key of unknowns) {\n yield [key, value[key], Never];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || `Expected an object, but received: ${print(value)}`;\n },\n\n coercer(value) {\n return isObject(value) ? { ...value\n } : value;\n }\n\n });\n}\n/**\n * Augment a struct to allow `undefined` values.\n */\n\nfunction optional(struct) {\n return new Struct({ ...struct,\n validator: (value, ctx) => value === undefined || struct.validator(value, ctx),\n refiner: (value, ctx) => value === undefined || struct.refiner(value, ctx)\n });\n}\n/**\n * Ensure that a value is an object with keys and values of specific types, but\n * without ensuring any specific shape of properties.\n *\n * Like TypeScript's `Record` utility.\n */\n\nfunction record(Key, Value) {\n return new Struct({\n type: 'record',\n schema: null,\n\n *entries(value) {\n if (isObject(value)) {\n for (const k in value) {\n const v = value[k];\n yield [k, k, Key];\n yield [k, v, Value];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || `Expected an object, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that a value is a `RegExp`.\n *\n * Note: this does not test the value against the regular expression! For that\n * you need to use the `pattern()` refinement.\n */\n\nfunction regexp() {\n return define('regexp', value => {\n return value instanceof RegExp;\n });\n}\nfunction set(Element) {\n return new Struct({\n type: 'set',\n schema: null,\n\n *entries(value) {\n if (Element && value instanceof Set) {\n for (const v of value) {\n yield [v, v, Element];\n }\n }\n },\n\n coercer(value) {\n return value instanceof Set ? new Set(value) : value;\n },\n\n validator(value) {\n return value instanceof Set || `Expected a \\`Set\\` object, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that a value is a string.\n */\n\nfunction string() {\n return define('string', value => {\n return typeof value === 'string' || `Expected a string, but received: ${print(value)}`;\n });\n}\n/**\n * Ensure that a value is a tuple of a specific length, and that each of its\n * elements is of a specific type.\n */\n\nfunction tuple(Structs) {\n const Never = never();\n return new Struct({\n type: 'tuple',\n schema: null,\n\n *entries(value) {\n if (Array.isArray(value)) {\n const length = Math.max(Structs.length, value.length);\n\n for (let i = 0; i < length; i++) {\n yield [i, value[i], Structs[i] || Never];\n }\n }\n },\n\n validator(value) {\n return Array.isArray(value) || `Expected an array, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that a value has a set of known properties of specific types.\n *\n * Note: Unrecognized properties are allowed and untouched. This is similar to\n * how TypeScript's structural typing works.\n */\n\nfunction type(schema) {\n const keys = Object.keys(schema);\n return new Struct({\n type: 'type',\n schema,\n\n *entries(value) {\n if (isObject(value)) {\n for (const k of keys) {\n yield [k, value[k], schema[k]];\n }\n }\n },\n\n validator(value) {\n return isObject(value) || `Expected an object, but received: ${print(value)}`;\n }\n\n });\n}\n/**\n * Ensure that a value matches one of a set of types.\n */\n\nfunction union(Structs) {\n const description = Structs.map(s => s.type).join(' | ');\n return new Struct({\n type: 'union',\n schema: null,\n\n coercer(value, ctx) {\n const firstMatch = Structs.find(s => {\n const [e] = s.validate(value, {\n coerce: true\n });\n return !e;\n }) || unknown();\n return firstMatch.coercer(value, ctx);\n },\n\n validator(value, ctx) {\n const failures = [];\n\n for (const S of Structs) {\n const [...tuples] = run(value, S, ctx);\n const [first] = tuples;\n\n if (!first[0]) {\n return [];\n } else {\n for (const [failure] of tuples) {\n if (failure) {\n failures.push(failure);\n }\n }\n }\n }\n\n return [`Expected the value to satisfy a union of \\`${description}\\`, but received: ${print(value)}`, ...failures];\n }\n\n });\n}\n/**\n * Ensure that any value passes validation, without widening its type to `any`.\n */\n\nfunction unknown() {\n return define('unknown', () => true);\n}\n\n/**\n * Augment a `Struct` to add an additional coercion step to its input.\n *\n * This allows you to transform input data before validating it, to increase the\n * likelihood that it passes validation—for example for default values, parsing\n * different formats, etc.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction coerce(struct, condition, coercer) {\n return new Struct({ ...struct,\n coercer: (value, ctx) => {\n return is(value, condition) ? struct.coercer(coercer(value, ctx), ctx) : struct.coercer(value, ctx);\n }\n });\n}\n/**\n * Augment a struct to replace `undefined` values with a default.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction defaulted(struct, fallback, options) {\n if (options === void 0) {\n options = {};\n }\n\n return coerce(struct, unknown(), x => {\n const f = typeof fallback === 'function' ? fallback() : fallback;\n\n if (x === undefined) {\n return f;\n }\n\n if (!options.strict && isPlainObject(x) && isPlainObject(f)) {\n const ret = { ...x\n };\n let changed = false;\n\n for (const key in f) {\n if (ret[key] === undefined) {\n ret[key] = f[key];\n changed = true;\n }\n }\n\n if (changed) {\n return ret;\n }\n }\n\n return x;\n });\n}\n/**\n * Augment a struct to trim string inputs.\n *\n * Note: You must use `create(value, Struct)` on the value to have the coercion\n * take effect! Using simply `assert()` or `is()` will not use coercion.\n */\n\nfunction trimmed(struct) {\n return coerce(struct, string(), x => x.trim());\n}\n\n/**\n * Ensure that a string, array, map, or set is empty.\n */\n\nfunction empty(struct) {\n return refine(struct, 'empty', value => {\n const size = getSize(value);\n return size === 0 || `Expected an empty ${struct.type} but received one with a size of \\`${size}\\``;\n });\n}\n\nfunction getSize(value) {\n if (value instanceof Map || value instanceof Set) {\n return value.size;\n } else {\n return value.length;\n }\n}\n/**\n * Ensure that a number or date is below a threshold.\n */\n\n\nfunction max(struct, threshold, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n exclusive\n } = options;\n return refine(struct, 'max', value => {\n return exclusive ? value < threshold : value <= threshold || `Expected a ${struct.type} less than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a number or date is above a threshold.\n */\n\nfunction min(struct, threshold, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n exclusive\n } = options;\n return refine(struct, 'min', value => {\n return exclusive ? value > threshold : value >= threshold || `Expected a ${struct.type} greater than ${exclusive ? '' : 'or equal to '}${threshold} but received \\`${value}\\``;\n });\n}\n/**\n * Ensure that a string, array, map or set is not empty.\n */\n\nfunction nonempty(struct) {\n return refine(struct, 'nonempty', value => {\n const size = getSize(value);\n return size > 0 || `Expected a nonempty ${struct.type} but received an empty one`;\n });\n}\n/**\n * Ensure that a string matches a regular expression.\n */\n\nfunction pattern(struct, regexp) {\n return refine(struct, 'pattern', value => {\n return regexp.test(value) || `Expected a ${struct.type} matching \\`/${regexp.source}/\\` but received \"${value}\"`;\n });\n}\n/**\n * Ensure that a string, array, number, date, map, or set has a size (or length, or time) between `min` and `max`.\n */\n\nfunction size(struct, min, max) {\n if (max === void 0) {\n max = min;\n }\n\n const expected = `Expected a ${struct.type}`;\n const of = min === max ? `of \\`${min}\\`` : `between \\`${min}\\` and \\`${max}\\``;\n return refine(struct, 'size', value => {\n if (typeof value === 'number' || value instanceof Date) {\n return min <= value && value <= max || `${expected} ${of} but received \\`${value}\\``;\n } else if (value instanceof Map || value instanceof Set) {\n const {\n size\n } = value;\n return min <= size && size <= max || `${expected} with a size ${of} but received one with a size of \\`${size}\\``;\n } else {\n const {\n length\n } = value;\n return min <= length && length <= max || `${expected} with a length ${of} but received one with a length of \\`${length}\\``;\n }\n });\n}\n/**\n * Augment a `Struct` to add an additional refinement to the validation.\n *\n * The refiner function is guaranteed to receive a value of the struct's type,\n * because the struct's existing validation will already have passed. This\n * allows you to layer additional validation on top of existing structs.\n */\n\nfunction refine(struct, name, refiner) {\n return new Struct({ ...struct,\n\n *refiner(value, ctx) {\n yield* struct.refiner(value, ctx);\n const result = refiner(value, ctx);\n const failures = toFailures(result, ctx, struct, value);\n\n for (const failure of failures) {\n yield { ...failure,\n refinement: name\n };\n }\n }\n\n });\n}\n\nexport { Struct, StructError, any, array, assert, assign, bigint, boolean, coerce, create, date, defaulted, define, deprecated, dynamic, empty, enums, func, instance, integer, intersection, is, lazy, literal, map, mask, max, min, never, nonempty, nullable, number, object, omit, optional, partial, pattern, pick, record, refine, regexp, set, size, string, struct, trimmed, tuple, type, union, unknown, validate };\n//# sourceMappingURL=index.mjs.map\n","import { array, boolean, object, optional, string } from 'superstruct';\nimport { htmlTagNames } from 'html-tag-names';\n\nexport const HTMl_TAGS = htmlTagNames;\n\nexport enum SetterTypeEnum {\n STRING_SETTER = 'StringSetter',\n BOOLEAN_SETTER = 'BooleanSetter',\n JSON_SETTER = 'JSONSetter',\n SElECT_SETTER = 'SelectSetter',\n NUMBER_SETTER = 'NumberSetter',\n EXPRESSION_SETTER = 'ExpressionSetter',\n FUNCTION_SETTER = 'FunctionSetter',\n COMPONENT_SETTER = 'ComponentSetter',\n TEXT_AREA_SETTER = 'TextAreaSetter',\n}\n\nexport type SetterBasicType = string;\n\nexport enum ComplexSetterTypeEnum {\n SHAPE_SETTER = 'ShapeSetter',\n ARRAY_SETTER = 'ArraySetter',\n}\n\nexport type AssetItem = {\n id?: string;\n type?: 'CSS' | 'JS';\n src: string;\n};\n\nexport type AssetPackage = {\n id?: string;\n package: string;\n // window.[globalName]\n globalName: string;\n resources: AssetItem[];\n};\n\nexport type LibMetaType = {\n // unique\n package: string;\n version: string;\n exportName: string;\n destructuring?: boolean;\n // some library need to import css file\n css?: string;\n subName?: string;\n main?: string;\n};\n\nexport const LibMetaTypeDescribe = object({\n package: string(),\n version: string(),\n exportName: string(),\n destructuring: optional(boolean()),\n subName: optional(string()),\n main: optional(string()),\n});\n\nexport const ThirdLibTypeDescribe = array(LibMetaTypeDescribe);\n\nexport type MaterialAssetPackage = {\n name: string;\n material: AssetPackage;\n component: AssetPackage;\n version?: string;\n};\n\nexport type CSSValue = {\n /** 'normal' | 'hover' | 'active' | 'focus' etc */\n state: string;\n media: {\n type: 'max-width';\n value: string;\n style: Record<string, string>;\n }[];\n style: Record<string, string>;\n};\n\nexport type CSSType = {\n class: string;\n value: CSSValue[];\n};\n\n/** 基础的组件列表 */\nexport const BaseComponentTagList = [\n 'CBlock',\n 'CContainer',\n 'CImage',\n 'CCanvas',\n 'CVideo',\n 'CAudio',\n 'CText',\n 'CNativeTag',\n];\n","export enum CNodePropsTypeEnum {\n SLOT = 'SLOT',\n FUNCTION = 'FUNCTION',\n EXPRESSION = 'EXPRESSION',\n}\n\nexport enum ExportTypeEnum {\n DESIGN = 'design',\n SAVE = 'save',\n}\n\nexport type ExportType = ExportTypeEnum | `${ExportTypeEnum}`;\n\nexport enum SlotRenderType {\n FUNC = 'FUNC',\n COMP = 'COMP',\n}\n","import {\n string,\n number,\n boolean,\n any,\n union,\n object,\n literal,\n optional,\n record,\n dynamic,\n array,\n define,\n validate,\n enums,\n} from 'superstruct';\nimport { CNodePropsTypeEnum, SlotRenderType } from '../const/schema';\nimport { isPlainObject } from '../util/lodash';\nimport { CSSType } from './base';\nimport { CPageDataType } from './page';\n\nexport type NormalPropType = string | boolean | number | Record<string, any>;\n\n// get enum value list\ntype IValue = `${SlotRenderType}`;\n\nexport type RenderPropType = {\n type: CNodePropsTypeEnum.SLOT | `${CNodePropsTypeEnum.SLOT}`;\n params?: string[];\n renderType: SlotRenderType | IValue;\n value: CNodeDataType | CNodeDataType[];\n};\n\nexport type JSExpressionPropType = {\n type: CNodePropsTypeEnum.EXPRESSION | `${CNodePropsTypeEnum.EXPRESSION}`;\n value: string;\n};\n\nexport type FunctionPropType = {\n type: CNodePropsTypeEnum.FUNCTION | `${CNodePropsTypeEnum.FUNCTION}`;\n value: string;\n};\n\nexport type SpecialProp = RenderPropType | JSExpressionPropType | FunctionPropType;\n\nexport type CPropDataType = NormalPropType | SpecialProp | CPropObjDataType;\n\nexport type CPropObjDataType = {\n [key: string]: CPropDataType | CPropDataType[] | Record<string, CPropDataType>;\n};\n\nconst normalObj = () =>\n define('normalObj', (value: any) => {\n if (!isPlainObject(value)) {\n return false;\n }\n if ([CNodePropsTypeEnum.SLOT, CNodePropsTypeEnum.EXPRESSION, CNodePropsTypeEnum.FUNCTION].includes(value?.type)) {\n return false;\n }\n validate(value, record(string(), PropsDataStructDescribe));\n return true;\n });\n\nexport const PropsDataStructDescribe: any = union([\n string(),\n number(),\n boolean(),\n object({\n type: literal(CNodePropsTypeEnum.SLOT),\n renderType: enums([SlotRenderType.FUNC, SlotRenderType.COMP]),\n // if renderType is Func, params will be useful\n params: optional(array(string())),\n // here can't use PropsDataStructDescribe, it will caused \"Maximum call stack size exceeded\" error\n value: dynamic(() => {\n return union([CNodeDataStructDescribe, array(CNodeDataStructDescribe)]);\n }),\n }),\n object({\n type: literal(CNodePropsTypeEnum.EXPRESSION),\n value: string(),\n }),\n object({\n type: literal(CNodePropsTypeEnum.FUNCTION),\n value: string(),\n }),\n normalObj(),\n array(\n dynamic(() => {\n return PropsDataStructDescribe;\n })\n ),\n]);\n\n// 开发模式使用的 key,导出为生产模式时,需要移除\nexport const DevKey = ['configure'];\n\nexport type ClassNameType = {\n name: string;\n status?: JSExpressionPropType;\n};\n\nexport type CNodeDataType = {\n id?: string;\n title?: string;\n componentName: string;\n // 组件类型\n type?: 'lowcode' | 'normal';\n // 所有的 props 的 value 需要支持表达式 $$context\n props?: CPropObjDataType;\n state?: Record<string, any>;\n stateName?: string;\n // if type is low code, schema is required\n schema?: CPageDataType;\n children?: (string | CNodeDataType)[];\n /**\n * only used in dev mode, if you are run in prod, this key will be undefined\n *\n * @type {Record<any, any>}\n */\n configure?: {\n // 由于一个 prop 可能会有多个设置器,这里用来存储当前使用的那个设置器\n propsSetter?: Record<\n string,\n {\n name: string;\n setter: string;\n }\n >;\n advanceSetter?: Record<\n string,\n {\n name: string;\n setter: string;\n }\n >;\n // 开发模式下中的临时状态存储\n devState?: {\n condition?: boolean | JSExpressionPropType;\n props?: CPropObjDataType;\n };\n };\n classNames?: ClassNameType[];\n css?: CSSType;\n style?: Record<string, string | JSExpressionPropType>;\n refId?: string;\n // 逻辑编排使用\n onEvents?: Record<\n string,\n {\n actions?: {\n // 需要场景化,暂时 string ,需要嘿编辑器 行为绑定\n actionType: string;\n options?: Record<any, any>;\n }[];\n }\n >;\n // 组件的一些方法,可用于逻辑编排\n actions?: any[];\n loop?: {\n open: boolean;\n data: any[] | JSExpressionPropType;\n forName?: string;\n forIndex?: string;\n key?: JSExpressionPropType | string;\n name?: string;\n };\n // 是否渲染\n condition?: boolean | JSExpressionPropType;\n\n extra?: Record<any, any>;\n};\n\nconst JSExpressionDescribe = object({\n type: literal(CNodePropsTypeEnum.EXPRESSION),\n value: string(),\n});\n\nexport const CNodeDataStructDescribe: any = object({\n id: optional(string()),\n title: optional(string()),\n componentName: string(),\n props: optional(record(string(), PropsDataStructDescribe)),\n stateName: optional(string()),\n state: optional(record(string(), any())),\n children: dynamic(() => {\n return optional(array(union([string(), CNodeDataStructDescribe])));\n }),\n configure: optional(any()),\n css: optional(any()),\n style: optional(any()),\n classNames: optional(array(any())),\n refId: optional(string()),\n extra: optional(record(any(), any())),\n condition: optional(union([boolean(), JSExpressionDescribe])),\n tempDevConfig: optional(any()),\n loop: optional(\n object({\n open: boolean(),\n data: union([array(any()), JSExpressionDescribe]),\n args: optional(array(string())),\n forName: optional(string()),\n forIndex: optional(string()),\n key: optional(any()),\n name: optional(string()),\n })\n ),\n});\n","/* eslint-disable @typescript-eslint/ban-types */\nimport { isPlainObject } from 'lodash-es';\nimport React from 'react';\nimport {\n object,\n string,\n optional,\n boolean,\n enums,\n literal,\n any,\n array,\n func,\n union,\n number,\n omit,\n record,\n dynamic,\n assign,\n} from 'superstruct';\nimport { ComplexSetterTypeEnum, LibMetaType, LibMetaTypeDescribe, SetterBasicType, SetterTypeEnum } from './base';\nimport { CNodeDataStructDescribe, CNodeDataType } from './node';\n\nexport enum BaseDataType {\n STRING = 'string',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n OBJECT = 'object',\n ARRAY = 'array',\n}\n\nexport enum AdvanceDataType {\n SHAPE = 'shape',\n ENUMS = 'enums',\n UNION = 'union',\n}\n\nexport enum SpecialDataType {\n COMPONENT = 'component',\n EXPRESSION = 'expression',\n FUNCTION = 'function',\n}\n\nexport type MTitle =\n | string\n | {\n label: string;\n tip?: string;\n };\n\nexport const getMTitle = (title: MTitle) => {\n if (isPlainObject(title)) {\n return (title as any).label;\n } else {\n return title;\n }\n};\n\nexport const getMTitleTip = (title: MTitle) => {\n if (isPlainObject(title)) {\n return (title as any).tip;\n } else {\n return '';\n }\n};\n\nexport const MTitleDescribe = union([\n string(),\n object({\n label: string(),\n tip: optional(string()),\n }),\n]);\n\nexport type ShapeDataType = {\n type: AdvanceDataType.SHAPE | `${AdvanceDataType.SHAPE}`;\n value: {\n name: string;\n title: MTitle;\n valueType: PropsValueType;\n }[];\n};\n\nexport const ShapeDataTypeDescribe = object({\n type: literal(AdvanceDataType.SHAPE),\n value: array(\n object({\n name: string(),\n title: MTitleDescribe,\n valueType: dynamic(() => {\n return PropsValueTypeDescribe;\n }),\n })\n ),\n});\n\nexport type EnumDataType = {\n type: AdvanceDataType.ENUMS | `${AdvanceDataType.ENUMS}`;\n value: string[];\n};\n\nexport const EnumDataTypeDescribe = object({\n type: literal(AdvanceDataType.ENUMS),\n value: array(string()),\n});\n\nexport type ArrayDataType = {\n type: BaseDataType.ARRAY | `${BaseDataType.ARRAY}`;\n value: PropsValueType;\n};\n\nexport const ArrayDataTypeDescribe = object({\n type: literal(BaseDataType.ARRAY),\n value: dynamic(() => {\n return PropsValueTypeDescribe;\n }),\n});\n\nexport type UnionDataType = {\n type: AdvanceDataType.UNION | `${AdvanceDataType.UNION}`;\n value: PropsValueType[];\n};\n\nexport const UnionDataTypeDescribe = object({\n type: literal(BaseDataType.ARRAY),\n value: dynamic(() => {\n return array(PropsValueTypeDescribe);\n }),\n});\n\nexport type PropsValueType =\n | BaseDataType\n | `${BaseDataType}`\n | SpecialDataType\n | `${SpecialDataType}`\n | ShapeDataType\n | EnumDataType\n | ArrayDataType\n | UnionDataType;\n\nexport const PropsValueTypeDescribe: any = union([\n enums([BaseDataType.ARRAY, BaseDataType.BOOLEAN, BaseDataType.NUMBER, BaseDataType.OBJECT, BaseDataType.STRING]),\n enums([SpecialDataType.COMPONENT, SpecialDataType.EXPRESSION, SpecialDataType.FUNCTION]),\n ShapeDataTypeDescribe,\n EnumDataTypeDescribe,\n UnionDataTypeDescribe,\n]);\n\nexport type SetterType<T extends SetterBasicType = ''> =\n | SetterTypeEnum\n | `${SetterTypeEnum}`\n | ComplexSetterTypeEnum\n | `${ComplexSetterTypeEnum}`\n | SetterObjType<T>\n | T\n | `${T}`;\n\nexport type BasicSetterObjType<T extends SetterBasicType = ''> = {\n componentName: SetterTypeEnum | `${SetterTypeEnum}` | T | `${T}`;\n props?: Record<any, any>;\n /** 被设置属性的初始值 */\n initialValue?: any;\n /** props reference CSetterProps<T> from engine */\n component?: (props: any) => React.ReactNode;\n};\n\nexport type ShapeSetterObjType<T extends SetterBasicType = ''> = {\n componentName: ComplexSetterTypeEnum.SHAPE_SETTER | `${ComplexSetterTypeEnum.SHAPE_SETTER}` | T | `${T}`;\n props?: {\n elements: MaterialPropType<T>[];\n /** 是否可以收缩,默认: true */\n collapse?: boolean;\n } & {};\n initialValue: any;\n /** props reference CSetterProps<T> from engine */\n component?: (props: any) => React.ReactNode;\n};\n\nexport type ArraySetterObjType<T extends SetterBasicType = ''> = {\n componentName: ComplexSetterTypeEnum.ARRAY_SETTER | `${ComplexSetterTypeEnum.ARRAY_SETTER}` | T | `${T}`;\n props?: {\n item: {\n setters: SetterType<T>[];\n initialValue: any;\n };\n sortLabelKey?: any;\n };\n initialValue: any;\n /** props reference CSetterProps<T> from engine */\n component?: (props: any) => React.ReactNode;\n};\n\nexport type SetterObjType<T extends SetterBasicType = ''> =\n | BasicSetterObjType<T>\n | ShapeSetterObjType<T>\n | ArraySetterObjType<T>;\n\nexport const SetterTypeDescribe = union([\n string(),\n object({\n componentName: string(),\n props: optional(any()),\n /** 用于标记当前数据的初始值,如添加一个数组元素可以使用该值填充 */\n initialValue: optional(any()),\n component: optional(any()),\n }),\n]);\n\nexport type MaterialPropType<CustomSetter extends SetterBasicType = ''> = {\n name: string;\n title: MTitle;\n valueType: PropsValueType;\n description?: string;\n defaultValue?: any;\n setters?: SetterType<CustomSetter>[];\n condition?: (state: any) => boolean;\n};\n\nexport const MaterialPropDescribe = object({\n name: string(),\n title: MTitleDescribe,\n // 描述 name 对应值的类型\n valueType: PropsValueTypeDescribe,\n description: optional(string()),\n defaultValue: any(),\n //用于产生 valueType 类型的值\n setters: optional(array(SetterTypeDescribe)),\n condition: optional(func()),\n});\n\nexport type ActionType = string | ((context: any) => React.ReactNode);\n\nexport const ActionTypeDescribe = union([string(), func()]);\n\nexport enum PropsUIType {\n SINGLE = 'single',\n GROUP = 'group',\n}\n\nexport type SpecialMaterialPropType<CustomSetter extends SetterBasicType = ''> =\n | {\n title: MTitle;\n type: PropsUIType.SINGLE | `${PropsUIType.SINGLE}`;\n content: MaterialPropType<CustomSetter>;\n }\n | {\n title: MTitle;\n type: PropsUIType.GROUP | `${PropsUIType.GROUP}`;\n content: MaterialPropType<CustomSetter>[];\n };\n\nexport type CMaterialPropsType<CustomSetter extends SetterBasicType = ''> = (\n | MaterialPropType<CustomSetter>\n | SpecialMaterialPropType<CustomSetter>\n)[];\n\nexport const isSpecialMaterialPropType = <CustomSetter extends SetterBasicType = ''>(\n val: any\n): val is SpecialMaterialPropType<CustomSetter> => {\n if (val.type && [PropsUIType.GROUP, PropsUIType.SINGLE].includes(val.type)) {\n return true;\n } else {\n return false;\n }\n};\n\nexport type CMaterialEventType =\n | string\n | {\n name: string;\n descriptions?: string;\n // 事件参数描述\n params?: {\n name: string;\n title: MTitle;\n }[];\n // function string\n template: string;\n };\nexport const CMaterialEventTypeDescribe = union([\n string(),\n object({\n name: string(),\n describe: optional(string()),\n params: optional(\n object({\n name: string(),\n description: string(),\n })\n ),\n template: string(),\n }),\n]);\n\nexport type SnippetsType = {\n id?: string;\n title: string;\n snapshotText?: string;\n snapshot?: string | React.ReactNode;\n description?: string | React.ReactNode;\n // 组件标签用于搜索\n tags?: string[];\n // 分 tab 面板\n groupName?: string;\n // 分类\n category?: string;\n schema: Omit<CNodeDataType, 'id' | 'componentName'> & {\n componentName?: string;\n };\n};\n\nexport type SnippetsStanderType = Omit<SnippetsType, 'schema'> & {\n schema: Omit<CNodeDataType, 'id'>;\n};\n\nexport const SnippetsTypeDescribe = object({\n id: optional(string()),\n title: string(),\n snapshot: union([string(), any()]),\n snapshotText: optional(string()),\n description: optional(string()),\n // 组件分类,用于搜索\n tags: optional(array(string())),\n // 分 tab 面板\n groupName: optional(string()),\n // 分类\n category: optional(string()),\n schema: assign(omit(CNodeDataStructDescribe, ['id']), object({ componentName: optional(string()) })),\n});\n\nexport type ContainerConfig = {\n placeholder: string;\n width: string;\n height: string;\n style?: React.CSSProperties;\n};\n\nexport type CMaterialType = {\n componentName: string;\n title: string;\n screenshot?: string;\n icon?: string;\n /** 组件标签用于搜索 */\n tags?: string[];\n /** 分 tab 面板 */\n groupName?: string;\n /** 分类 */\n category?: string;\n /** 排序 */\n priority?: number;\n npm?: LibMetaType;\n snippets: SnippetsType[];\n props: CMaterialPropsType;\n /** 固定的props, 不被 setter 的值覆盖 */\n fixedProps?: Record<string, any> | ((props: Record<string, any>) => Record<string, any>);\n /** 可以拖入组件 */\n isContainer?: boolean | ContainerConfig;\n /** 如果是布局组件,可以考虑将拖拽控制权转移 or 实现 resize */\n isLayout?: boolean;\n isSupportStyle?: boolean;\n rootSelector?: string;\n /** 是否可以派发dom事件,默认被禁止: click、mousedown、mouseup 等等 */\n isSupportDispatchNativeEvent?: boolean;\n /** 组件支持的可被调用的方法, todo: 没有补充验证 类型 describe */\n actions?: {\n title: string;\n // 方法名\n name: string;\n params?: {\n name: string;\n description: string;\n }[];\n template?: string;\n }[];\n /** 组件可能触发的事件 */\n events?: CMaterialEventType[];\n // 用于定制组件额外的交互行为,\n panels?: {\n title: string;\n key: string;\n component: ($$context: any) => React.ReactNode;\n }[];\n /** 用于定制组件特有的一些选中交互, todo: 没有补充验证 类型 describe */\n selection?: ($$context: any) => React.ReactNode;\n selectionToolBars?: ActionType[];\n /**定制组件释放时的行为 */\n advance?: {\n onDragStart: ($$context: any) => Promise<void>;\n onDrop: ($$context: any) => Promise<void>;\n };\n /** 扩展配置 */\n extra?: Record<any, any>;\n};\n\nexport type CMaterialStanderType = Omit<CMaterialType, 'snippets'> & {\n snippets: SnippetsStanderType[];\n};\n\nexport const CMaterialTypeDescribe = object({\n componentName: string(),\n title: string(),\n screenshot: optional(string()),\n icon: optional(string()),\n // 组件分类,用于搜索\n tags: optional(array(string())),\n // 分 tab 面板\n groupName: optional(string()),\n // 分类\n category: optional(string()),\n // 排序\n priority: optional(number()),\n npm: optional(LibMetaTypeDescribe),\n snippets: array(SnippetsTypeDescribe),\n props: array(\n union([\n MaterialPropDescribe,\n object({\n title: optional(MTitleDescribe),\n type: literal(PropsUIType.SINGLE),\n content: MaterialPropDescribe,\n }),\n object({\n title: optional(MTitleDescribe),\n type: literal(PropsUIType.GROUP),\n content: array(MaterialPropDescribe),\n }),\n ])\n ),\n fixedProps: optional(any()),\n // 可以拖入组件\n isContainer: optional(\n union([\n boolean(),\n object({\n placeholder: string(),\n width: string(),\n height: string(),\n }),\n ])\n ),\n isModal: optional(\n union([\n boolean(),\n object({\n visibleKey: string(),\n }),\n ])\n ),\n isSupportStyle: optional(boolean()),\n isSupportDispatchNativeEvent: optional(boolean()),\n // 如果是布局组件,可以考虑将拖拽控制权转移 or 实现 resize\n isLayout: optional(boolean()),\n rootSelector: optional(string()),\n selectionToolBars: optional(array(ActionTypeDescribe)),\n // 扩展配置\n extra: optional(record(any(), any())),\n});\n","import React from 'react';\nimport { ConfigProvider, Input, InputProps } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\n\nexport const StringSetter: CSetter<InputProps> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<InputProps>) => {\n const { keyPaths, onSetterChange } = setterContext;\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Input\n {...props}\n onChange={(e) => {\n props.onChange?.(e);\n onValueChange?.(e.target.value);\n }}\n />\n </ConfigProvider>\n );\n};\n\nStringSetter.setterName = '字符设置器';\n","import React from 'react';\nimport { ConfigProvider, InputNumber, InputNumberProps } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\n\nexport const NumberSetter: CSetter<InputNumberProps> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<InputNumberProps>) => {\n const { keyPaths, onSetterChange } = setterContext;\n\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <InputNumber\n style={{\n width: '100%',\n }}\n {...props}\n onChange={(value) => {\n props.onChange?.(value);\n onValueChange?.(value);\n }}\n />\n </ConfigProvider>\n );\n};\n\nNumberSetter.setterName = '数字设置器';\n","import { SetterBasicType, SetterObjType, SetterType } from '@chamn/model';\n\nexport const getSetterList = <T extends SetterBasicType = ''>(setters: SetterType<T>[] = []): SetterObjType<T>[] => {\n return setters.map((setter) => {\n if (typeof setter === 'string') {\n return {\n componentName: setter as any,\n };\n } else {\n return setter;\n }\n });\n};\n","import React, { useEffect, useRef } from 'react';\nimport { CForm } from '../../Form';\nimport { SetterSwitcher } from '../../SetterSwitcher';\nimport { DeleteOutlined } from '@ant-design/icons';\nimport { SetterObjType } from '@chamn/model';\n\nexport function ArrayItem(props: {\n index: number;\n keyPaths: string[];\n value: Record<string, any>;\n setters: SetterObjType[];\n style: React.CSSProperties;\n onValueChange: (val: Record<string, any>) => void;\n onDelete: () => void;\n}) {\n const { index, keyPaths, setters } = props;\n\n const style = {\n ...props.style,\n };\n const objectValue = {\n [index]: props.value,\n };\n const formRef = useRef<CForm>(null);\n useEffect(() => {\n formRef.current?.setFields({\n [index]: props.value,\n });\n }, [props.value]);\n\n return (\n <div style={style}>\n <CForm ref={formRef} name={String(index)} initialValue={objectValue || {}} onValueChange={props.onValueChange}>\n <SetterSwitcher\n suffix={\n <div\n onClick={props.onDelete}\n style={{\n marginLeft: '8px',\n cursor: 'pointer',\n fontSize: '12px',\n }}\n >\n <DeleteOutlined />\n </div>\n }\n name={String(index)}\n label={`元素${index}`}\n keyPaths={[...keyPaths, String(index)]}\n setters={setters}\n ></SetterSwitcher>\n </CForm>\n </div>\n );\n}\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import { getEventCoordinates } from '@dnd-kit/utilities';\n\nfunction createSnapModifier(gridSize) {\n return _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n x: Math.ceil(transform.x / gridSize) * gridSize,\n y: Math.ceil(transform.y / gridSize) * gridSize\n };\n };\n}\n\nconst restrictToHorizontalAxis = _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n y: 0\n };\n};\n\nfunction restrictToBoundingRect(transform, rect, boundingRect) {\n const value = { ...transform\n };\n\n if (rect.top + transform.y <= boundingRect.top) {\n value.y = boundingRect.top - rect.top;\n } else if (rect.bottom + transform.y >= boundingRect.top + boundingRect.height) {\n value.y = boundingRect.top + boundingRect.height - rect.bottom;\n }\n\n if (rect.left + transform.x <= boundingRect.left) {\n value.x = boundingRect.left - rect.left;\n } else if (rect.right + transform.x >= boundingRect.left + boundingRect.width) {\n value.x = boundingRect.left + boundingRect.width - rect.right;\n }\n\n return value;\n}\n\nconst restrictToParentElement = _ref => {\n let {\n containerNodeRect,\n draggingNodeRect,\n transform\n } = _ref;\n\n if (!draggingNodeRect || !containerNodeRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, containerNodeRect);\n};\n\nconst restrictToFirstScrollableAncestor = _ref => {\n let {\n draggingNodeRect,\n transform,\n scrollableAncestorRects\n } = _ref;\n const firstScrollableAncestorRect = scrollableAncestorRects[0];\n\n if (!draggingNodeRect || !firstScrollableAncestorRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, firstScrollableAncestorRect);\n};\n\nconst restrictToVerticalAxis = _ref => {\n let {\n transform\n } = _ref;\n return { ...transform,\n x: 0\n };\n};\n\nconst restrictToWindowEdges = _ref => {\n let {\n transform,\n draggingNodeRect,\n windowRect\n } = _ref;\n\n if (!draggingNodeRect || !windowRect) {\n return transform;\n }\n\n return restrictToBoundingRect(transform, draggingNodeRect, windowRect);\n};\n\nconst snapCenterToCursor = _ref => {\n let {\n activatorEvent,\n draggingNodeRect,\n transform\n } = _ref;\n\n if (draggingNodeRect && activatorEvent) {\n const activatorCoordinates = getEventCoordinates(activatorEvent);\n\n if (!activatorCoordinates) {\n return transform;\n }\n\n const offsetX = activatorCoordinates.x - draggingNodeRect.left;\n const offsetY = activatorCoordinates.y - draggingNodeRect.top;\n return { ...transform,\n x: transform.x + offsetX - draggingNodeRect.width / 2,\n y: transform.y + offsetY - draggingNodeRect.height / 2\n };\n }\n\n return transform;\n};\n\nexport { createSnapModifier, restrictToFirstScrollableAncestor, restrictToHorizontalAxis, restrictToParentElement, restrictToVerticalAxis, restrictToWindowEdges, snapCenterToCursor };\n//# sourceMappingURL=modifiers.esm.js.map\n","import React, { useEffect, useRef, useState } from 'react';\nimport { CSS, Transform } from '@dnd-kit/utilities';\nimport { Modal, ModalProps } from 'antd';\nimport {\n DndContext,\n DragEndEvent,\n KeyboardSensor,\n PointerSensor,\n useDraggable,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { arrayMove, SortableContext, sortableKeyboardCoordinates, useSortable } from '@dnd-kit/sortable';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport { getRandomStr } from '@chamn/model';\nimport styles from './style.module.scss';\n\nexport type SortItemOrderProps = {\n list: any[];\n keyPaths: string[];\n label: string;\n sortLabelKey?: string;\n onValueChange?: (newList: any[]) => void;\n} & ModalProps;\n\nexport const SortItemOrderModal = ({\n list,\n onValueChange,\n keyPaths,\n label,\n sortLabelKey,\n ...modalProps\n}: SortItemOrderProps) => {\n const [listValue, setListValue] = useState<{ val: any; id: string }[]>([]);\n useEffect(() => {\n const innerList = list.map((el, index) => ({\n val: el,\n oldIndex: index,\n id: getRandomStr(),\n }));\n setListValue(innerList);\n }, [modalProps.open]);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 15,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n function handleDragEnd(event: DragEndEvent) {\n const { active, over } = event;\n if (active.id !== over?.id) {\n const oldIndex = listValue.findIndex((el) => el.id === active?.id);\n const newIndex = listValue.findIndex((el) => el.id === over?.id);\n const newInnerListVal = arrayMove(listValue, oldIndex, newIndex);\n const newVal = newInnerListVal.map((el) => {\n return el.val;\n });\n setListValue(newInnerListVal);\n onValueChange?.(newVal);\n }\n }\n\n const [modalTransform, setModalTransform] = useState<Transform>({\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1,\n });\n\n return (\n <Modal\n {...modalProps}\n title={`Sort: ${label} [${keyPaths.join('.')}]`}\n maskStyle={{\n backgroundColor: 'rgba(0, 0, 0, 0.1)',\n }}\n modalRender={(modal) => {\n return (\n <DndContext\n sensors={sensors}\n onDragEnd={({ delta }) => {\n const res = {\n ...modalTransform,\n ...delta,\n x: modalTransform.x + (delta?.x || 0),\n y: modalTransform.y + (delta?.y || 0),\n };\n setModalTransform(res);\n }}\n >\n <ModalDragView modal={modal} transform={modalTransform} />\n </DndContext>\n );\n }}\n >\n <div className={styles.sortModalBox}>\n <DndContext sensors={sensors} onDragEnd={handleDragEnd} modifiers={[restrictToVerticalAxis]}>\n <SortableContext items={listValue}>\n {listValue.map(({ id, val }, index) => {\n return <SortableItem key={id} id={id} index={index} label={val[sortLabelKey || '']} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Modal>\n );\n};\n\nconst ModalDragView = ({ modal, transform }: { modal: React.ReactNode; transform: Transform }) => {\n const id = useRef(getRandomStr());\n const {\n setNodeRef,\n attributes,\n listeners,\n transform: tempTransform,\n } = useDraggable({\n id: id.current,\n });\n\n const finalTransform = {\n ...transform,\n ...tempTransform,\n x: transform.x + (tempTransform?.x || 0),\n y: transform.y + (tempTransform?.y || 0),\n };\n\n return (\n <div\n ref={setNodeRef}\n style={{\n pointerEvents: 'auto',\n transform: CSS.Transform.toString(finalTransform),\n }}\n {...attributes}\n {...listeners}\n >\n {modal}\n </div>\n );\n};\n\nconst SortableItem = (props: { id: string; index: string | number; label?: string }) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: props.id });\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n const labelText = props.label || `Ele ${props.index}`;\n return (\n <div className={styles.dragItem} ref={setNodeRef} style={style} {...attributes} {...listeners}>\n {labelText}\n </div>\n );\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { Button, ConfigProvider } from 'antd';\nimport { CSetterProps } from '../type';\nimport { getSetterList } from '../../../utils';\nimport { SetterType } from '@chamn/model';\n\nimport { ArrayItem } from './ArrayItem';\nimport { SortItemOrderModal } from './SortItemOrderModal';\nimport styles from './style.module.scss';\n\nexport type CArraySetterProps = {\n item: {\n setters: SetterType[];\n initialValue?: any;\n };\n sortLabelKey?: string;\n};\n\nfunction formatValue(value: unknown) {\n if (Array.isArray(value)) {\n return value;\n } else {\n return [];\n }\n}\n\nexport const ArraySetter = ({\n onValueChange,\n setterContext,\n item: { setters, initialValue },\n sortLabelKey,\n ...props\n}: CSetterProps<CArraySetterProps>) => {\n const { keyPaths, label } = setterContext;\n const listValue: any[] = useMemo(() => {\n return formatValue(props.value);\n }, [props.value]);\n\n const [sortVisible, setSortVisible] = useState(false);\n const innerSetters = getSetterList(\n setters || [\n {\n component: 'StringSetter',\n },\n ]\n );\n\n useEffect(() => {\n if (setterContext.setCollapseHeaderExt) {\n setterContext.setCollapseHeaderExt?.(\n <Button\n type=\"text\"\n size=\"small\"\n style={{\n color: 'gray',\n }}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setSortVisible(true);\n }}\n >\n sort\n </Button>\n );\n }\n }, []);\n\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n {listValue.map((val, index) => {\n return (\n <ArrayItem\n key={index}\n style={{ paddingBottom: '10px' }}\n index={index}\n keyPaths={keyPaths}\n value={val}\n onValueChange={(val) => {\n listValue[index] = val[index];\n onValueChange?.([...listValue]);\n }}\n setters={innerSetters}\n onDelete={() => {\n const newVal = [...listValue];\n newVal.splice(index);\n onValueChange?.(newVal);\n }}\n />\n );\n })}\n\n <Button\n className={styles.addOneBtn}\n size=\"small\"\n onClick={() => {\n const newVal = [...listValue];\n onValueChange?.([...newVal, initialValue ?? '']);\n }}\n >\n Add One\n </Button>\n <SortItemOrderModal\n label={label}\n sortLabelKey={sortLabelKey}\n onValueChange={(newVal) => {\n onValueChange?.([...newVal]);\n }}\n open={sortVisible}\n list={listValue}\n keyPaths={keyPaths}\n onCancel={() => {\n setSortVisible(false);\n }}\n onOk={() => {\n setSortVisible(false);\n }}\n />\n </ConfigProvider>\n );\n};\n\nArraySetter.setterName = '数组设置器';\n","import React, { useEffect, useMemo, useRef } from 'react';\nimport { ConfigProvider } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\nimport { CForm } from '../../Form';\nimport { SetterSwitcher } from '../../SetterSwitcher';\nimport { getSetterList } from '../../../utils';\nimport { getMTitle, getMTitleTip, MaterialPropType } from '@chamn/model';\n\nexport type CShapeSetterProps = {\n elements: MaterialPropType[];\n initialValue?: Record<string, any>;\n value: Record<string, any>;\n};\n\nexport const ShapeSetter: CSetter<CShapeSetterProps> = ({\n onValueChange,\n elements,\n value,\n setterContext,\n}: CSetterProps<CShapeSetterProps>) => {\n const { keyPaths } = setterContext;\n const formRef = useRef<CForm>(null);\n useEffect(() => {\n formRef.current?.setFields(value || {});\n }, [value]);\n\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <CForm\n ref={formRef}\n name={keyPaths.join('.')}\n initialValue={value || {}}\n onValueChange={(val) => {\n onValueChange?.(val);\n }}\n >\n {elements.map((el, index) => {\n const setters = getSetterList(el.setters);\n const title = getMTitle(el.title);\n const tip = getMTitleTip(el.title);\n return (\n <div key={index}>\n <SetterSwitcher\n name={el.name}\n label={title}\n tips={tip}\n condition={el.condition}\n keyPaths={[...keyPaths, el.name]}\n setters={setters}\n />\n </div>\n );\n })}\n </CForm>\n </ConfigProvider>\n );\n};\n\nShapeSetter.setterName = '对象设置器';\n","import { ConfigProvider, Input, InputProps } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\nimport { CNodePropsTypeEnum } from '@chamn/model';\n\nexport const ExpressionSetter: CSetter<\n InputProps & {\n value: {\n type: string;\n value: string;\n };\n }\n> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<\n InputProps & {\n value: {\n type: string;\n value: string;\n };\n }\n>) => {\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Input\n {...props}\n value={props.value?.value || ''}\n onChange={(e) => {\n props.onChange?.(e);\n onValueChange?.({\n type: CNodePropsTypeEnum.EXPRESSION,\n value: e.target.value,\n });\n }}\n />\n </ConfigProvider>\n );\n};\n\nExpressionSetter.setterName = '表达式设置器';\n","import React from 'react';\nimport { ConfigProvider, Switch, SwitchProps } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\n\ntype BooleanSetterProps = SwitchProps;\n\nexport const BooleanSetter: CSetter<BooleanSetterProps> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<BooleanSetterProps>) => {\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Switch\n {...props}\n checked={props.value as boolean}\n onChange={(open, e) => {\n props.onChange?.(open, e);\n onValueChange?.(open);\n }}\n />\n </ConfigProvider>\n );\n};\n\nBooleanSetter.setterName = 'Bool 设置器';\n","import React from 'react';\nimport { ConfigProvider, Select, SelectProps } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\n\nexport const SelectSetter: CSetter<SelectProps> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<SelectProps>) => {\n const { keyPaths, onSetterChange } = setterContext;\n\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Select\n showSearch\n style={{\n width: '100%',\n }}\n {...props}\n onChange={(val, option) => {\n props.onChange?.(val, option);\n onValueChange?.(val);\n }}\n />\n </ConfigProvider>\n );\n};\n\nSelectSetter.setterName = '选择设置器';\n","import { useEffect } from 'react';\nimport * as monaco from 'monaco-editor';\n\nimport { useRef } from 'react';\nimport * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';\n\nexport type MonacoEditorInstance = monacoEditor.editor.IStandaloneCodeEditor;\n\nexport type MonacoEditorProps = {\n beforeMount?: (monaco: typeof monacoEditor) => void;\n onDidMount?: (editor: MonacoEditorInstance) => void;\n options?: monaco.editor.IStandaloneEditorConstructionOptions;\n override?: monaco.editor.IEditorOverrideServices;\n onChange?: (val: string, e: monaco.editor.IModelContentChangedEvent) => void;\n onDidChangeMarkers?: (markers: monaco.editor.IMarker[]) => void;\n initialValue?: string;\n language?: 'json' | 'javascript' | 'typescript';\n};\n\nexport const MonacoEditor = (props: MonacoEditorProps) => {\n const editorDomRef = useRef<HTMLDivElement>(null);\n const onChangeRef = useRef<MonacoEditorProps['onChange'] | undefined>();\n onChangeRef.current = props.onChange;\n const onDidChangeMarkersRef = useRef<MonacoEditorProps['onDidChangeMarkers'] | undefined>();\n onDidChangeMarkersRef.current = props.onDidChangeMarkers;\n const editorInstance = useRef<MonacoEditorInstance | null>(null);\n\n useEffect(() => {\n if (!editorDomRef.current) {\n return;\n }\n props.beforeMount?.(monaco);\n const editor = monaco.editor.create(\n editorDomRef.current,\n {\n ...(props.options || {}),\n value: props.initialValue || props.options?.value,\n language: props.language || props.options?.language,\n },\n { ...(props.override || {}) }\n );\n\n editorInstance.current = editor;\n props.onDidMount?.(editor);\n const subscription = editor?.onDidChangeModelContent((event) => {\n if (!event.isFlush) {\n onChangeRef.current?.(editor.getValue(), event);\n }\n });\n\n monaco.editor.onDidChangeMarkers((uris) => {\n const editorModel = editor.getModel();\n if (!editorModel) {\n return;\n }\n const editorUri = editorModel.uri;\n const changeUri = uris.find((el) => el.path === editorUri.path);\n if (changeUri) {\n const res = monaco.editor.getModelMarkers({\n resource: editorUri,\n });\n onDidChangeMarkersRef.current?.(res);\n }\n });\n\n () => {\n editor.dispose();\n subscription?.dispose();\n };\n }, []);\n\n return (\n <div\n style={{\n width: '100%',\n height: '100%',\n }}\n ref={editorDomRef}\n ></div>\n );\n};\n","import React, { useRef, useState } from 'react';\nimport { Button, ConfigProvider, Modal } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\nimport { MonacoEditor, MonacoEditorInstance } from '../../../../MonacoEditor';\n\nexport const JSONSetter: CSetter<any> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<any>) => {\n const { keyPaths, onSetterChange } = setterContext;\n\n const editorRef = useRef<MonacoEditorInstance | null>(null);\n\n const [open, setOpen] = useState(false);\n const onInnerValueChange = () => {\n const newValStr = editorRef.current?.getValue() || '';\n try {\n const newVal = JSON.parse(newValStr);\n onValueChange(newVal);\n } catch (e) {\n console.warn(e);\n }\n };\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Button\n size=\"small\"\n style={{\n marginTop: '5px',\n width: '100%',\n color: '#676767',\n fontSize: '12px',\n }}\n onClick={() => {\n setOpen(true);\n }}\n >\n Edit\n </Button>\n <Modal\n destroyOnClose\n open={open}\n title=\"JSON Editor\"\n width=\"800px\"\n onCancel={() => setOpen(false)}\n onOk={() => {\n onInnerValueChange();\n setOpen(false);\n }}\n style={{}}\n >\n <div style={{ height: '500px' }}>\n {open && (\n <MonacoEditor\n onDidMount={(editor) => {\n editorRef.current = editor;\n }}\n initialValue={JSON.stringify(props.value || {}, null, 2)}\n language={'json'}\n options={{\n automaticLayout: true,\n tabSize: 2,\n suggestOnTriggerCharacters: false,\n }}\n />\n )}\n </div>\n </Modal>\n </ConfigProvider>\n );\n};\n\nJSONSetter.setterName = 'JSON 设置器';\n","export const DefaultTslibSource = `\ntype ContextType = {\n /** 渲染函数的入口参数 */\n params?: Record<any, any>;\n /** 全局状态 */\n globalState?: Record<any, any>;\n /** 更新全局状态 */\n updateGlobalState?: (newState: any) => void;\n /** 当前节点状态 **/\n state?: Record<any, any>;\n /** 存储当前节点的数据,不具有响应性 **/\n staticState?: Record<any, any>;\n /** 更新当前节点状态 */\n updateState?: (newState: any) => void;\n /** 所有节点的索引 */\n refs?: RefManager;\n /** 循环渲染中的单个循环数据 */\n loopData?: Record<any, any>;\n /** 用于访访问和管理页面被注册为全局的局部 state */\n stateManager?: Record<string, {\n state: any,\n updateState: (newState: Record<string, any>) => void\n }>;\n};\n\n/** 渲染上下文 */\ndeclare var $$context: ContextType;\n`;\n","import React, { useRef, useState } from 'react';\nimport { Button, ConfigProvider, Modal } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\nimport { MonacoEditor, MonacoEditorInstance } from '../../../../MonacoEditor';\nimport { DefaultTslibSource } from './defaultDts';\nimport { CNodePropsTypeEnum } from '@chamn/model';\n\nexport const FunctionSetter: CSetter<any> = ({ onValueChange, setterContext, ...props }: CSetterProps<any>) => {\n const editorRef = useRef<MonacoEditorInstance | null>(null);\n const [open, setOpen] = useState(false);\n const onInnerValueChange = () => {\n const newValStr = editorRef.current?.getValue() || '';\n onValueChange({\n type: CNodePropsTypeEnum.FUNCTION,\n value: newValStr,\n });\n };\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Button\n size=\"small\"\n style={{\n marginTop: '5px',\n width: '100%',\n color: '#676767',\n fontSize: '12px',\n }}\n onClick={() => {\n setOpen(true);\n }}\n >\n Edit\n </Button>\n <Modal\n destroyOnClose\n open={open}\n title=\"Function Editor\"\n width=\"800px\"\n onCancel={() => setOpen(false)}\n onOk={() => {\n onInnerValueChange();\n setOpen(false);\n }}\n style={{}}\n >\n <div style={{ height: '500px' }}>\n {open && (\n <MonacoEditor\n beforeMount={(monaco) => {\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: false,\n });\n\n // compiler options\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES5,\n allowNonTsExtensions: true,\n });\n\n const libUri = 'ts:filename/chameleon.default.variable.d.ts';\n monaco.languages.typescript.javascriptDefaults.addExtraLib(DefaultTslibSource, libUri);\n // When resolving definitions and references, the editor will try to use created models.\n // Creating a model for the library allows \"peek definition/references\" commands to work with the library.\n const model = monaco.editor.getModel(monaco.Uri.parse(libUri));\n if (!model) {\n monaco.editor.createModel(DefaultTslibSource, 'typescript', monaco.Uri.parse(libUri));\n }\n }}\n onDidMount={(editor) => {\n editorRef.current = editor;\n }}\n initialValue={props.value?.value || ''}\n language={'javascript'}\n options={{\n automaticLayout: true,\n tabSize: 2,\n }}\n />\n )}\n </div>\n </Modal>\n </ConfigProvider>\n );\n};\n\nFunctionSetter.setterName = '函数 设置器';\n","import React from 'react';\nimport { ConfigProvider, Input } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\nimport { TextAreaProps } from 'antd/es/input';\n\nexport const TextAreaSetter: CSetter<TextAreaProps> = ({\n onValueChange,\n setterContext,\n ...props\n}: CSetterProps<TextAreaProps>) => {\n const { keyPaths, onSetterChange } = setterContext;\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Input.TextArea\n {...props}\n onChange={(e) => {\n props.onChange?.(e);\n onValueChange?.(e.target.value);\n }}\n />\n </ConfigProvider>\n );\n};\n\nTextAreaSetter.setterName = '长文本设置器';\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export var isObject = function (value) {\n return value !== null && typeof value === 'object';\n};\nexport var isFunction = function (value) {\n return typeof value === 'function';\n};\nexport var isString = function (value) {\n return typeof value === 'string';\n};\nexport var isBoolean = function (value) {\n return typeof value === 'boolean';\n};\nexport var isNumber = function (value) {\n return typeof value === 'number';\n};\nexport var isUndef = function (value) {\n return typeof value === 'undefined';\n};","var isDev = process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test';\nexport default isDev;","import { useRef } from 'react';\nfunction useLatest(value) {\n var ref = useRef(value);\n ref.current = value;\n return ref;\n}\nexport default useLatest;","import { useEffect } from 'react';\nimport useLatest from '../useLatest';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nvar useUnmount = function (fn) {\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useUnmount expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n useEffect(function () {\n return function () {\n fnRef.current();\n };\n }, []);\n};\nexport default useUnmount;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","import { __read, __spreadArray } from \"tslib\";\nimport debounce from 'lodash/debounce';\nimport { useMemo } from 'react';\nimport useLatest from '../useLatest';\nimport useUnmount from '../useUnmount';\nimport { isFunction } from '../utils';\nimport isDev from '../utils/isDev';\nfunction useDebounceFn(fn, options) {\n var _a;\n if (isDev) {\n if (!isFunction(fn)) {\n console.error(\"useDebounceFn expected parameter is a function, got \".concat(typeof fn));\n }\n }\n var fnRef = useLatest(fn);\n var wait = (_a = options === null || options === void 0 ? void 0 : options.wait) !== null && _a !== void 0 ? _a : 1000;\n var debounced = useMemo(function () {\n return debounce(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return fnRef.current.apply(fnRef, __spreadArray([], __read(args), false));\n }, wait, options);\n }, []);\n useUnmount(function () {\n debounced.cancel();\n });\n return {\n run: debounced,\n cancel: debounced.cancel,\n flush: debounced.flush\n };\n}\nexport default useDebounceFn;","const CSSSourceInfo = {\n cssColors: {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n },\n cssKeyValue: {\n 'align-content': {\n values: [\n 'center',\n 'flex-end',\n 'flex-start',\n 'space-around',\n 'space-between',\n 'stretch',\n ],\n },\n 'align-items': {\n values: ['baseline', 'center', 'flex-end', 'flex-start', 'stretch'],\n },\n 'align-self': {\n values: [\n 'auto',\n 'normal',\n 'self-start',\n 'self-end',\n 'baseline',\n 'center',\n 'start',\n 'end',\n 'flex-end',\n 'flex-start',\n 'safe',\n 'stretch',\n 'unsafe',\n ],\n },\n all: { values: [] },\n animation: { values: [] },\n 'animation-delay': { values: [] },\n 'animation-direction': {\n values: ['alternate', 'alternate-reverse', 'normal', 'reverse'],\n },\n 'animation-duration': { values: [] },\n 'animation-fill-mode': {\n values: ['backwards', 'both', 'forwards', 'none'],\n },\n 'animation-iteration-count': { values: ['infinite'] },\n 'animation-name': { values: ['none'] },\n 'animation-play-state': { values: ['paused', 'running'] },\n 'animation-timing-function': {\n values: [\n 'cubic-bezier()',\n 'ease',\n 'ease-in',\n 'ease-in-out',\n 'ease-out',\n 'linear',\n 'step-end',\n 'step-start',\n 'steps()',\n ],\n },\n 'backface-visibility': { values: ['hidden', 'visible'] },\n background: { values: [], type: 'color' },\n 'background-attachment': { values: ['fixed', 'local', 'scroll'] },\n 'background-blend-mode': {\n values: [\n 'color',\n 'color-burn',\n 'color-dodge',\n 'darken',\n 'difference',\n 'exclusion',\n 'hard-light',\n 'hue',\n 'lighten',\n 'luminosity',\n 'multiply',\n 'normal',\n 'overlay',\n 'saturation',\n 'screen',\n 'soft-light',\n ],\n },\n 'background-clip': { values: ['border-box', 'content-box', 'padding-box'] },\n 'background-color': { values: [], type: 'color' },\n 'background-image': {\n values: [\n 'image()',\n 'linear-gradient()',\n 'radial-gradient()',\n 'repeating-linear-gradient()',\n 'repeating-radial-gradient()',\n 'url()',\n ],\n },\n 'background-origin': {\n values: ['border-box', 'content-box', 'padding-box'],\n },\n 'background-position': {\n values: ['left', 'center', 'right', 'bottom', 'top'],\n },\n 'background-repeat': {\n values: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y', 'round', 'space'],\n },\n 'background-size': { values: ['auto', 'contain', 'cover'] },\n border: { values: [] },\n 'border-collapse': { values: ['collapse', 'separate'] },\n 'border-color': { values: [], type: 'color' },\n 'border-spacing': { values: [] },\n 'border-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'border-bottom': { values: [] },\n 'border-bottom-color': { values: [], type: 'color' },\n 'border-bottom-left-radius': { values: [] },\n 'border-bottom-right-radius': { values: [] },\n 'border-bottom-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'border-bottom-width': { values: ['medium', 'thin', 'thick'] },\n 'border-image': { values: ['url()'] },\n 'border-image-outset': { values: [] },\n 'border-image-slice': { values: [] },\n 'border-image-source': { values: [] },\n 'border-image-repeat': { values: ['repeat', 'round', 'space', 'stretch'] },\n 'border-image-width': { values: ['auto'] },\n 'border-left': { values: [] },\n 'border-left-color': { values: [], type: 'color' },\n 'border-left-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'border-left-width': { values: ['medium', 'thin', 'thick'] },\n 'border-radius': { values: [] },\n 'border-right': { values: [] },\n 'border-right-color': { values: [], type: 'color' },\n 'border-right-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'border-right-width': { values: ['medium', 'thin', 'thick'] },\n 'border-top': { values: [] },\n 'border-top-color': { values: [], type: 'color' },\n 'border-top-left-radius': { values: [] },\n 'border-top-right-radius': { values: [] },\n 'border-top-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'border-top-width': { values: ['medium', 'thin', 'thick'] },\n 'border-width': { values: ['medium', 'thin', 'thick'] },\n 'box-decoration-break': { values: ['clone', 'slice'] },\n 'box-shadow': { values: ['none'] },\n 'box-sizing': { values: ['border-box', 'content-box'] },\n bottom: { values: ['auto'] },\n 'break-after': {\n values: [\n 'always',\n 'auto',\n 'avoid',\n 'avoid-column',\n 'avoid-page',\n 'avoid-region',\n 'column',\n 'left',\n 'page',\n 'region',\n 'right',\n ],\n },\n 'break-before': {\n values: [\n 'always',\n 'auto',\n 'avoid',\n 'avoid-column',\n 'avoid-page',\n 'avoid-region',\n 'column',\n 'left',\n 'page',\n 'region',\n 'right',\n ],\n },\n 'break-inside': {\n values: ['auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region'],\n },\n 'caption-side': { values: ['bottom', 'top'] },\n 'caret-color': { values: ['auto'], type: 'color' },\n clear: { values: ['both', 'left', 'none', 'right'] },\n clip: { values: ['auto'] },\n color: { values: [], type: 'color' },\n columns: { values: [] },\n 'column-count': { values: [] },\n 'column-fill': { values: ['auto', 'balance'] },\n 'column-gap': { values: ['normal'] },\n 'column-rule': { values: [] },\n 'column-rule-color': { values: [], type: 'color' },\n 'column-rule-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'column-rule-width': { values: ['medium', 'thin', 'thick'] },\n 'column-span': { values: ['all', 'none'] },\n 'column-width': { values: ['auto'] },\n content: {\n values: [\n 'attr()',\n 'close-quote',\n 'no-close-quote',\n 'no-open-quote',\n 'normal',\n 'none',\n 'open-quote',\n ],\n },\n 'counter-increment': { values: ['none'] },\n 'counter-reset': { values: ['none'] },\n cursor: {\n values: [\n 'alias',\n 'all-scroll',\n 'auto',\n 'cell',\n 'col-resize',\n 'context-menu',\n 'copy',\n 'crosshair',\n 'default',\n 'e-resize',\n 'ew-resize',\n 'grab',\n 'grabbing',\n 'help',\n 'move',\n 'n-resize',\n 'ne-resize',\n 'nesw-resize',\n 'no-drop',\n 'none',\n 'not-allowed',\n 'ns-resize',\n 'nw-resize',\n 'nwse-resize',\n 'pointer',\n 'progress',\n 'row-resize',\n 's-resize',\n 'se-resize',\n 'sw-resize',\n 'text',\n 'vertical-text',\n 'w-resize',\n 'wait',\n 'zoom-in',\n 'zoom-out',\n ],\n },\n direction: { values: ['ltr', 'rtl'] },\n display: {\n values: [\n 'block',\n 'contents',\n 'flex',\n 'flow-root',\n 'grid',\n 'inline',\n 'inline-block',\n 'inline-flex',\n 'inline-grid',\n 'inline-table',\n 'list-item',\n 'none',\n 'run-in',\n 'subgrid',\n 'table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row',\n 'table-row-group',\n ],\n },\n 'empty-cells': { values: ['hide', 'show'] },\n fill: { values: [] },\n filter: {\n values: [\n 'blur()',\n 'brightness()',\n 'contrast()',\n 'custom()',\n 'drop-shadow()',\n 'grayscale()',\n 'hue-rotate()',\n 'invert()',\n 'none',\n 'opacity()',\n 'sepia()',\n 'saturate()',\n 'url()',\n ],\n },\n flex: { values: ['auto', 'none'] },\n 'flex-basis': { values: ['auto'] },\n 'flex-direction': {\n values: ['column', 'column-reverse', 'row', 'row-reverse'],\n },\n 'flex-flow': {\n values: [\n 'column',\n 'column-reverse',\n 'nowrap',\n 'row',\n 'row-reverse',\n 'wrap',\n 'wrap-reverse',\n ],\n },\n 'flex-grow': { values: [] },\n 'flex-shrink': { values: [] },\n 'flex-wrap': { values: ['nowrap', 'wrap', 'wrap-reverse'] },\n float: { values: ['left', 'right', 'none', 'inline-start', 'inline-end'] },\n 'flow-into': { values: ['none'], type: 'named-flow' },\n 'flow-from': { values: ['none'], type: 'named-flow' },\n font: { values: [] },\n 'font-display': {\n values: ['auto', 'block', 'swap', 'fallback', 'optional'],\n },\n 'font-family': {\n values: [\n 'auto',\n 'cursive',\n 'fantasy',\n 'monospace',\n 'sans-serif',\n 'serif',\n ],\n },\n 'font-feature-settings': { values: ['normal'] },\n 'font-kerning': { values: ['auto', 'none', 'normal'] },\n 'font-language-override': { values: ['normal'] },\n 'font-size': {\n values: [\n 'xx-small',\n 'x-small',\n 'small',\n 'medium',\n 'large',\n 'x-large',\n 'xx-large',\n 'xxx-large',\n 'larger',\n 'smaller',\n ],\n },\n 'font-size-adjust': { values: ['auto', 'none'] },\n 'font-stretch': {\n values: [\n 'condensed',\n 'expanded',\n 'extra-condensed',\n 'extra-expanded',\n 'normal',\n 'semi-condensed',\n 'semi-expanded',\n 'ultra-condensed',\n 'ultra-expanded',\n ],\n },\n 'font-style': { values: ['italic', 'normal', 'oblique'] },\n 'font-synthesis': { values: ['none', 'style', 'weight'] },\n 'font-variant': { values: ['normal', 'small-caps'] },\n 'font-variant-alternates': { values: ['normal'] },\n 'font-variant-caps': {\n values: [\n 'normal',\n 'small-caps',\n 'all-small-caps',\n 'petite-caps',\n 'all-petite-caps',\n 'unicase',\n 'titling-caps',\n ],\n },\n 'font-variant-east-asian': { values: ['normal'] },\n 'font-variant-ligatures': { values: ['normal', 'none'] },\n 'font-variant-numeric': { values: ['normal'] },\n 'font-variant-position': { values: ['normal', 'sub', 'super'] },\n 'font-weight': {\n values: [\n 'bold',\n 'bolder',\n 'lighter',\n 'normal',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n },\n gap: { values: ['revert-layer'] },\n grid: { values: [] },\n 'grid-area': { values: [] },\n 'grid-auto-columns': { values: [] },\n 'grid-auto-flow': { values: ['row', 'column', 'dense'] },\n 'grid-auto-rows': { values: [] },\n 'grid-column': { values: ['auto'] },\n 'grid-column-end': { values: [] },\n 'grid-column-gap': { values: [] },\n 'grid-column-start': { values: [] },\n 'grid-gap': { values: [] },\n 'grid-row': { values: ['auto'] },\n 'grid-row-end': { values: [] },\n 'grid-row-start': { values: [] },\n 'grid-row-gap': { values: [] },\n 'grid-template': { values: ['none'] },\n 'grid-template-areas': { values: [] },\n 'grid-template-columns': { values: ['auto'] },\n 'grid-template-rows': { values: ['auto'] },\n 'hanging-punctuation': {\n values: ['allow-end', 'first', 'force-end', 'last', 'none'],\n },\n height: { values: ['auto', 'max-content', 'min-content', 'fit-content'] },\n hyphens: { values: ['auto', 'manual', 'none'] },\n 'image-orientation': { values: [] },\n 'image-resolution': { values: ['from-image', 'snap'] },\n isolation: { values: ['auto', 'isolate'] },\n 'justify-content': {\n values: [\n 'center',\n 'flex-end',\n 'flex-start',\n 'space-around',\n 'space-between',\n ],\n },\n 'justify-items': {\n values: [\n 'auto',\n 'normal',\n 'stretch',\n 'center',\n 'start',\n 'end',\n 'flex-start',\n 'flex-end',\n 'self-start',\n 'self-end',\n 'left',\n 'right',\n 'baseline',\n 'first',\n 'last',\n 'safe',\n 'unsafe',\n 'legacy',\n ],\n },\n 'justify-self': {\n values: [\n 'auto',\n 'normal',\n 'stretch',\n 'center',\n 'start',\n 'end',\n 'flex-start',\n 'flex-end',\n 'self-start',\n 'self-end',\n 'left',\n 'right',\n 'baseline',\n 'first',\n 'last',\n 'safe',\n 'unsafe',\n ],\n },\n left: { values: ['auto'] },\n 'letter-spacing': { values: ['normal'] },\n 'line-height': { values: ['normal'] },\n 'list-style': {\n values: [\n 'none',\n 'url()',\n 'armenian',\n 'circle',\n 'decimal',\n 'decimal-leading-zero',\n 'disc',\n 'georgian',\n 'inside',\n 'lower-alpha',\n 'lower-greek',\n 'lower-latin',\n 'lower-roman',\n 'outside',\n 'square',\n 'upper-alpha',\n 'upper-latin',\n 'upper-roman',\n ],\n },\n 'list-style-image': { values: ['none', 'url()'] },\n 'list-style-position': { values: ['inside', 'outside'] },\n 'list-style-type': {\n values: [\n 'armenian',\n 'circle',\n 'decimal',\n 'decimal-leading-zero',\n 'disc',\n 'georgian',\n 'lower-alpha',\n 'lower-greek',\n 'lower-latin',\n 'lower-roman',\n 'none',\n 'square',\n 'upper-alpha',\n 'upper-latin',\n 'upper-roman',\n ],\n },\n margin: { values: ['auto'] },\n 'margin-bottom': { values: ['auto'] },\n 'margin-left': { values: ['auto'] },\n 'margin-right': { values: ['auto'] },\n 'margin-top': { values: ['auto'] },\n 'max-height': { values: ['none'] },\n 'max-width': { values: ['none'] },\n 'min-height': { values: [] },\n 'min-width': { values: [] },\n 'mix-blend-mode': {\n values: [\n 'color',\n 'color-burn',\n 'color-dodge',\n 'darken',\n 'difference',\n 'exclusion',\n 'hard-light',\n 'hue',\n 'lighten',\n 'luminosity',\n 'multiply',\n 'normal',\n 'overlay',\n 'saturation',\n 'screen',\n 'soft-light',\n ],\n },\n 'object-fit': {\n values: ['contain', 'cover', 'fill', 'none', 'scale-down'],\n },\n 'object-position': { values: ['left', 'center', 'right', 'bottom', 'top'] },\n opacity: { values: [] },\n order: { values: [] },\n orphans: { values: [] },\n outline: { values: [] },\n 'outline-color': { values: ['invert'], type: 'color' },\n 'outline-offset': { values: [] },\n 'outline-style': {\n values: [\n 'dashed',\n 'dotted',\n 'double',\n 'groove',\n 'hidden',\n 'inset',\n 'none',\n 'outset',\n 'ridge',\n 'solid',\n ],\n },\n 'outline-width': { values: ['medium', 'thin', 'thick'] },\n overflow: { values: ['auto', 'hidden', 'scroll', 'visible'] },\n 'overflow-x': { values: ['auto', 'hidden', 'scroll', 'visible'] },\n 'overflow-y': { values: ['auto', 'hidden', 'scroll', 'visible'] },\n 'overflow-wrap': { values: ['normal', 'anywhere', 'break-word'] },\n padding: { values: [] },\n 'padding-bottom': { values: [] },\n 'padding-left': { values: [] },\n 'padding-right': { values: [] },\n 'padding-top': { values: [] },\n 'page-break-after': {\n values: ['always', 'auto', 'avoid', 'left', 'right'],\n },\n 'page-break-before': {\n values: ['always', 'auto', 'avoid', 'left', 'right'],\n },\n 'page-break-inside': { values: ['auto', 'avoid'] },\n perspective: { values: ['none'] },\n 'perspective-origin': {\n values: ['bottom', 'center', 'left', 'right', 'top'],\n },\n 'pointer-events': {\n values: [\n 'all',\n 'auto',\n 'fill',\n 'none',\n 'painted',\n 'stroke',\n 'visible',\n 'visibleFill',\n 'visiblePainted',\n 'visibleStroke',\n ],\n },\n position: { values: ['absolute', 'fixed', 'relative', 'static', 'sticky'] },\n quotes: { values: ['none'] },\n 'region-break-after': {\n values: [\n 'always',\n 'auto',\n 'avoid',\n 'avoid-column',\n 'avoid-page',\n 'avoid-region',\n 'column',\n 'left',\n 'page',\n 'region',\n 'right',\n ],\n },\n 'region-break-before': {\n values: [\n 'always',\n 'auto',\n 'avoid',\n 'avoid-column',\n 'avoid-page',\n 'avoid-region',\n 'column',\n 'left',\n 'page',\n 'region',\n 'right',\n ],\n },\n 'region-break-inside': {\n values: ['auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region'],\n },\n 'region-fragment': { values: ['auto', 'break'] },\n resize: { values: ['both', 'horizontal', 'none', 'vertical'] },\n right: { values: ['auto'] },\n 'scroll-behavior': { values: ['auto', 'smooth'] },\n 'scroll-snap-type': {\n values: [\n 'none',\n 'x',\n 'y',\n 'block',\n 'inline',\n 'both',\n 'mandatory',\n 'proximity',\n ],\n },\n src: { values: ['url()'] },\n 'shape-image-threshold': { values: [] },\n 'shape-inside': {\n values: [\n 'auto',\n 'circle()',\n 'ellipse()',\n 'outside-shape',\n 'polygon()',\n 'rectangle()',\n ],\n },\n 'shape-margin': { values: [] },\n 'shape-outside': {\n values: [\n 'none',\n 'circle()',\n 'ellipse()',\n 'polygon()',\n 'inset()',\n 'margin-box',\n 'border-box',\n 'padding-box',\n 'content-box',\n 'url()',\n 'image()',\n 'linear-gradient()',\n 'radial-gradient()',\n 'repeating-linear-gradient()',\n 'repeating-radial-gradient()',\n ],\n },\n 'tab-size': { values: [] },\n 'table-layout': { values: ['auto', 'fixed'] },\n 'text-align': {\n values: [\n 'start',\n 'end',\n 'center',\n 'left',\n 'justify',\n 'right',\n 'match-parent',\n 'justify-all',\n ],\n },\n 'text-align-last': { values: ['center', 'left', 'justify', 'right'] },\n 'text-decoration': {\n values: ['line-through', 'none', 'overline', 'underline'],\n },\n 'text-decoration-color': { values: [], type: 'color' },\n 'text-decoration-line': {\n values: ['line-through', 'none', 'overline', 'underline'],\n },\n 'text-decoration-skip': {\n values: ['edges', 'ink', 'none', 'objects', 'spaces'],\n },\n 'text-decoration-style': {\n values: ['dashed', 'dotted', 'double', 'solid', 'wavy'],\n },\n 'text-emphasis': { values: [] },\n 'text-emphasis-color': { values: [], type: 'color' },\n 'text-emphasis-position': { values: ['above', 'below', 'left', 'right'] },\n 'text-emphasis-style': {\n values: [\n 'circle',\n 'dot',\n 'double-circle',\n 'filled',\n 'none',\n 'open',\n 'sesame',\n 'triangle',\n ],\n },\n 'text-indent': { values: [] },\n 'text-justify': {\n values: ['auto', 'none', 'inter-word', 'inter-character'],\n },\n 'text-overflow': { values: ['clip', 'ellipsis'] },\n 'text-shadow': { values: [] },\n 'text-rendering': {\n values: [\n 'auto',\n 'geometricPrecision',\n 'optimizeLegibility',\n 'optimizeSpeed',\n ],\n },\n 'text-transform': {\n values: ['capitalize', 'full-width', 'lowercase', 'none', 'uppercase'],\n },\n 'text-underline-position': {\n values: ['alphabetic', 'auto', 'below', 'left', 'right'],\n },\n top: { values: ['auto'] },\n transform: {\n values: [\n 'matrix()',\n 'matrix3d()',\n 'none',\n 'perspective()',\n 'rotate()',\n 'rotate3d()',\n 'rotateX()',\n 'rotateY()',\n 'rotateZ()',\n 'scale()',\n 'scale3d()',\n 'scaleX()',\n 'scaleY()',\n 'scaleZ()',\n 'skewX()',\n 'skewY()',\n 'translate()',\n 'translate3d()',\n 'translateX()',\n 'translateY()',\n 'translateZ()',\n ],\n },\n 'transform-origin': {\n values: ['bottom', 'center', 'left', 'right', 'top'],\n },\n 'transform-style': { values: ['flat', 'preserve-3d'] },\n transition: { values: [] },\n 'transition-delay': { values: [] },\n 'transition-duration': { values: [] },\n 'transition-property': { values: ['all', 'none'] },\n 'transition-timing-function': {\n values: [\n 'cubic-bezier()',\n 'ease',\n 'ease-in',\n 'ease-in-out',\n 'ease-out',\n 'linear',\n 'step-end',\n 'step-start',\n 'steps()',\n ],\n },\n 'unicode-bidi': { values: ['bidi-override', 'embed', 'normal'] },\n 'unicode-range': { values: [] },\n 'user-select': { values: ['all', 'auto', 'contain', 'none', 'text'] },\n 'vertical-align': {\n values: [\n 'baseline',\n 'bottom',\n 'middle',\n 'sub',\n 'super',\n 'text-bottom',\n 'text-top',\n 'top',\n ],\n },\n visibility: { values: ['collapse', 'hidden', 'visible'] },\n 'white-space': {\n values: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap'],\n },\n widows: { values: [] },\n width: { values: ['auto', 'max-content', 'min-content', 'fit-content'] },\n 'will-change': {\n values: ['auto', 'contents', 'opacity', 'scroll-position'],\n },\n 'word-break': { values: ['normal', 'break-all', 'keep-all'] },\n 'word-spacing': { values: ['normal'] },\n 'z-index': { values: ['auto'] },\n },\n};\n\nexport const CSSProperties = CSSSourceInfo.cssKeyValue;\n\nexport const CSSColors = CSSSourceInfo.cssColors;\n\nexport type CSSPropertiesKey = keyof typeof CSSProperties;\n\nexport const CSSPropertyList = Object.keys(CSSSourceInfo.cssKeyValue);\n","import React, { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { AutoComplete, ConfigProvider, Input, InputProps } from 'antd';\nimport { CSetter, CSetterProps } from '../type';\nimport { BaseSelectRef } from 'rc-select';\nimport { useDebounceFn } from 'ahooks';\nimport clsx from 'clsx';\nimport styles from './style.module.scss';\nimport { CSSProperties, CSSPropertiesKey } from '../../../../CSSPropertiesEditor/cssProperties';\n\ntype CSSValueSetterProps = {\n propertyKey: string;\n};\n\nexport const CSSValueSetter: CSetter<CSSValueSetterProps> = ({\n onValueChange,\n setterContext,\n propertyKey = '',\n value,\n ...props\n}: CSetterProps<CSSValueSetterProps>) => {\n const { keyPaths, onSetterChange } = setterContext;\n const propertyValueRef = useRef<BaseSelectRef | null>(null);\n const [innerValue, setInnerVal] = useState<any>(value || '');\n const [focusState, setFocusState] = useState(false);\n const updateOuterValue = () => {\n onValueChange?.(innerValue);\n };\n useLayoutEffect(() => {\n setInnerVal(value);\n }, [value]);\n const { run: updateOuterValueDebounce } = useDebounceFn(updateOuterValue, {\n wait: 10,\n });\n\n const optionsValue = useMemo(() => {\n const list = CSSProperties[propertyKey as unknown as CSSPropertiesKey]?.values || [];\n return list.map((el) => {\n return {\n value: el,\n };\n });\n }, [propertyKey]);\n\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <AutoComplete\n ref={propertyValueRef}\n dropdownMatchSelectWidth={200}\n bordered={false}\n value={innerValue}\n onChange={(val) => {\n setInnerVal(val);\n updateOuterValueDebounce();\n }}\n style={{\n flex: 1,\n }}\n onFocus={() => {\n setFocusState(true);\n }}\n onBlur={() => {\n setFocusState(false);\n }}\n className={clsx([styles.inputAuto, focusState && styles.active])}\n placeholder=\"value\"\n options={optionsValue}\n ></AutoComplete>\n </ConfigProvider>\n );\n};\n\nCSSValueSetter.setterName = 'CSS值设置器';\n","import { CSetter } from './type';\nimport { StringSetter } from './StringSetter';\nimport { NumberSetter } from './NumberSetter';\nimport { ArraySetter } from './ArraySetter';\nimport { ShapeSetter } from './ShapeSetter';\nimport { ExpressionSetter } from './ExpressionSetter';\nimport { BooleanSetter } from './BooleanSetter';\nimport { SelectSetter } from './SelectSetter';\nimport { JSONSetter } from './JSONSetter';\nimport { FunctionSetter } from './FunctionSetter';\nimport { TextAreaSetter } from './TextAreaSetter';\nimport { CSSValueSetter } from './CSSValueSetter';\n\nexport default {\n StringSetter,\n ArraySetter,\n ShapeSetter,\n NumberSetter,\n ExpressionSetter,\n BooleanSetter,\n SelectSetter,\n JSONSetter,\n FunctionSetter,\n TextAreaSetter,\n CSSValueSetter,\n} as Record<string, CSetter>;\n","import React, { isValidElement, ReactNode, useEffect } from 'react';\nimport styles from './style.module.scss';\nimport { Tooltip } from 'antd';\nimport { CFormContext } from '../context';\nexport type CFieldProps = {\n children: React.ReactNode;\n label?: string;\n tips?: ReactNode | (() => ReactNode);\n name: string;\n condition?: (formState: Record<string, any>) => boolean;\n onConditionValueChange?: (val: boolean) => void;\n noStyle?: boolean;\n};\n\nexport const CField = (props: CFieldProps) => {\n const { children, label, tips, name } = props;\n let labelView: ReactNode = label;\n const { formState, updateContext, updateConditionConfig } =\n React.useContext(CFormContext);\n useEffect(() => {\n if (props.condition) {\n updateConditionConfig(name, props.condition);\n }\n }, []);\n\n useEffect(() => {\n const condition = props.condition ?? (() => true);\n const canRender = condition(formState);\n props.onConditionValueChange?.(canRender);\n }, [formState, props]);\n\n if (tips) {\n let newTip: any = tips;\n if (typeof tips === 'function') {\n newTip = tips();\n }\n labelView = (\n <Tooltip\n title={\n <span style={{ color: 'rgba(255,255,255,0.9', fontSize: '12px' }}>\n {newTip}\n </span>\n }\n color=\"rgba(50,50,50,0.8)\"\n >\n <span className={styles.tipsLabel}>{label}</span>\n </Tooltip>\n );\n }\n let newChildren = children;\n\n if (isValidElement(children)) {\n const extraProps: any = {\n onValueChange: (val: any) => {\n updateContext({\n ...formState,\n [name]: val,\n });\n },\n };\n if ((formState as any)[name] !== undefined) {\n extraProps.value = (formState as any)[name];\n }\n newChildren = React.cloneElement(children, extraProps);\n }\n const condition = props.condition ?? (() => true);\n const canRender = condition(formState);\n if (!canRender) {\n return null;\n }\n if (props.noStyle) {\n return <>{newChildren}</>;\n }\n\n return (\n <div className={styles.fieldBox}>\n <div className={styles.label}>{labelView}</div>\n <div className={styles.content}>{newChildren}</div>\n </div>\n );\n};\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport React, { Ref } from 'react';\nimport { CustomSchemaFormInstance } from '.';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport { CForm } from './components/Form';\n\nexport type ContextState = Record<string, any>;\n\nexport type CCustomSchemaFormContextData = {\n onSetterChange: (keyPaths: string[], setterName: string) => void;\n defaultSetterConfig: Record<string, { name: string; setter: string }>;\n formRef?: Ref<CustomSchemaFormInstance | CForm>;\n pluginCtx?: CPluginCtx;\n};\n\nexport const CCustomSchemaFormContext =\n React.createContext<CCustomSchemaFormContextData>({\n defaultSetterConfig: {},\n onSetterChange: () => {},\n });\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { SetterObjType } from '@chamn/model';\nimport Setters from '../Setters/index';\nimport { CField, CFieldProps } from '../Form/Field';\nimport { Collapse, Dropdown, MenuProps } from 'antd';\nimport { SwapOutlined } from '@ant-design/icons';\nimport styles from './style.module.scss';\nimport { CCustomSchemaFormContext } from '../../context';\n\nexport type SetterSwitcherProps = {\n setters: SetterObjType[];\n keyPaths: string[];\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n style?: React.CSSProperties;\n useField?: boolean;\n} & Omit<CFieldProps, 'children'>;\n\nexport const SetterSwitcher = ({ setters, keyPaths, condition, useField = true, ...props }: SetterSwitcherProps) => {\n const [visible, setVisible] = useState(true);\n const { onSetterChange, defaultSetterConfig, formRef, pluginCtx } = useContext(CCustomSchemaFormContext);\n\n const [currentSetter, setCurrentSetter] = useState<SetterObjType | null>(() => {\n const currentSetterName = defaultSetterConfig[keyPaths.join('.')]?.setter || '';\n return setters.find((el) => el.componentName === currentSetterName) || setters[0];\n });\n\n let CurrentSetterComp = null;\n if (currentSetter?.componentName) {\n CurrentSetterComp = (Setters as any)[currentSetter?.componentName];\n }\n\n if (!CurrentSetterComp) {\n CurrentSetterComp = () =>\n (\n <div\n style={{\n backgroundColor: 'whitesmoke',\n margin: '5px 0',\n padding: '5px',\n borderRadius: '2px',\n color: 'gray',\n }}\n >{`${currentSetter?.componentName} is not found.`}</div>\n ) as any;\n }\n\n const menuItems = setters.map((setter) => {\n const setterName = setter?.componentName || '';\n const setterRuntime = Setters[setterName];\n return {\n key: setter.componentName,\n label: setterRuntime?.setterName || setter.componentName,\n };\n });\n\n const onChooseSetter: MenuProps['onClick'] = ({ key }) => {\n const targetSetter = setters.find((setter) => setter.componentName === key);\n if (targetSetter) {\n setCurrentSetter(targetSetter);\n onSetterChange?.(keyPaths, targetSetter.componentName);\n }\n };\n\n let switcher: any = (\n <div\n className={styles.switchBtn}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Dropdown\n trigger={['click']}\n menu={{\n selectable: true,\n items: menuItems,\n onClick: onChooseSetter,\n defaultSelectedKeys: [currentSetter?.componentName || ''],\n }}\n >\n <SwapOutlined />\n </Dropdown>\n </div>\n );\n\n if (menuItems.length === 1) {\n switcher = null;\n }\n\n const setterProps = useMemo(() => {\n let newProps = {\n ...(currentSetter?.props || {}),\n };\n const target = setters.find((el) => el.componentName === currentSetter?.componentName);\n if (target) {\n newProps = {\n ...newProps,\n ...target.props,\n };\n }\n return newProps;\n }, [setters]);\n\n const setterContext = {\n formRef,\n pluginCtx,\n };\n\n const [collapseHeaderExt, setCollapseHeaderExt] = useState<any>([]);\n const conditionProps = {\n condition,\n onConditionValueChange: (val: boolean) => {\n setVisible(val);\n },\n };\n let bodyView: any = null;\n if (['ArraySetter'].includes(currentSetter?.componentName || '')) {\n bodyView = (\n <Collapse\n bordered={false}\n style={{\n marginBottom: '10px',\n }}\n defaultActiveKey={[props.name]}\n >\n <Collapse.Panel\n header={\n <div className={styles.collapseHeader}>\n <span\n style={{\n flex: 1,\n }}\n >\n {props.label}\n </span>\n {collapseHeaderExt}\n {switcher}\n </div>\n }\n key={props.name}\n >\n {useField && (\n <CField {...props} noStyle {...conditionProps}>\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n label: props.label,\n setCollapseHeaderExt: setCollapseHeaderExt,\n }}\n />\n </CField>\n )}\n {!useField && (\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n label: props.label,\n setCollapseHeaderExt: setCollapseHeaderExt,\n }}\n />\n )}\n </Collapse.Panel>\n </Collapse>\n );\n } else if (['ShapeSetter'].includes(currentSetter?.componentName || '')) {\n bodyView = (\n <div className={styles.shapeFieldBox}>\n {props.prefix ?? null}\n {(currentSetter?.props as any)?.collapse === false && (\n <div style={{ width: '100%' }}>\n {useField && (\n <CField {...props} noStyle {...conditionProps}>\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n }}\n />\n </CField>\n )}\n {!useField && (\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n }}\n />\n )}\n </div>\n )}\n {(currentSetter?.props as any)?.collapse !== false && (\n <Collapse\n bordered={false}\n // defaultActiveKey={[props.name]}\n style={{ flex: 1 }}\n >\n <Collapse.Panel\n header={\n <div className={styles.collapseHeader}>\n <span\n style={{\n flex: 1,\n }}\n >\n {props.label}\n </span>\n {switcher}\n </div>\n }\n key={props.name}\n >\n <CField {...props} noStyle {...conditionProps}>\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n }}\n />\n </CField>\n </Collapse.Panel>\n </Collapse>\n )}\n\n {props.suffix ?? null}\n </div>\n );\n } else {\n bodyView = (\n <div style={{ display: 'flex', alignItems: 'center', paddingBottom: '8px' }}>\n {props.prefix ?? null}\n {useField && (\n <CField\n {...props}\n condition={condition}\n onConditionValueChange={(val) => {\n setVisible(val);\n }}\n >\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n }}\n />\n </CField>\n )}\n {!useField && (\n <CurrentSetterComp\n {...setterProps}\n setterContext={{\n ...setterContext,\n keyPaths: [...keyPaths],\n }}\n />\n )}\n\n {switcher}\n {props.suffix ?? null}\n </div>\n );\n }\n\n return <div style={{ display: visible ? 'block' : 'none', overflow: 'auto' }}>{bodyView}</div>;\n};\n","import React, { Ref } from 'react';\nimport { CMaterialPropsType, getMTitleTip } from '@chamn/model';\nimport { CForm } from './components/Form';\nimport { isSpecialMaterialPropType } from '@chamn/model';\nimport { getMTitle } from '@chamn/model/src/types/material';\nimport { SetterSwitcher } from './components/SetterSwitcher';\nimport { getSetterList } from './utils';\nimport styles from './style.module.scss';\nimport { ConfigProvider } from 'antd';\nimport { CCustomSchemaFormContext } from './context';\nimport { CPluginCtx } from '../../core/pluginManager';\n\nexport type CustomSchemaFormInstance = CForm;\n\nexport type CustomSchemaFormProps = {\n pluginCtx?: CPluginCtx;\n initialValue: Record<string, any>;\n properties: CMaterialPropsType<any>;\n onValueChange?: (val: any) => void;\n onSetterChange: (keyPaths: string[], setterName: string) => void;\n defaultSetterConfig: Record<string, { name: string; setter: string }>;\n};\n\nconst CustomSchemaFormCore = (props: CustomSchemaFormProps, ref: Ref<CustomSchemaFormInstance | CForm>) => {\n const {\n properties: originProperties,\n initialValue,\n onValueChange,\n onSetterChange,\n defaultSetterConfig,\n pluginCtx,\n } = props;\n const properties: CMaterialPropsType = originProperties;\n return (\n <CCustomSchemaFormContext.Provider\n value={{\n defaultSetterConfig,\n onSetterChange,\n formRef: ref,\n pluginCtx: pluginCtx,\n }}\n >\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <div\n className={styles.CFromRenderBox}\n style={{\n overflow: 'auto',\n height: '100%',\n }}\n >\n <CForm\n ref={ref as any}\n name=\"root-form\"\n initialValue={initialValue}\n onValueChange={(val) => {\n onValueChange?.(val);\n }}\n >\n {properties.map((property) => {\n if (isSpecialMaterialPropType(property)) {\n property.content;\n } else {\n const title = getMTitle(property.title);\n const tip = getMTitleTip(property.title);\n const setterList = getSetterList(property.setters);\n const keyPaths = [property.name];\n return (\n <SetterSwitcher\n key={property.name}\n condition={property.condition}\n keyPaths={keyPaths}\n setters={setterList}\n label={title}\n name={property.name || ''}\n tips={tip}\n />\n );\n }\n })}\n </CForm>\n </div>\n </ConfigProvider>\n </CCustomSchemaFormContext.Provider>\n );\n};\n\nexport const CustomSchemaForm = React.forwardRef(CustomSchemaFormCore);\n","import React, { useEffect, useRef } from 'react';\nimport { CNode, CRootNode } from '@chamn/model';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport { CRightPanelItem } from '../RightPanel/view';\n\nimport styles from './style.module.scss';\nimport { CustomSchemaForm, CustomSchemaFormInstance, CustomSchemaFormProps } from '../../component/CustomSchemaForm';\n\nexport const PropertyPanel = (props: { node: CNode | CRootNode; pluginCtx: CPluginCtx }) => {\n const { node } = props;\n const properties = node.material?.value.props || [];\n const formRef = useRef<CustomSchemaFormInstance>(null);\n\n useEffect(() => {\n const handel = () => {\n const newVal = node.getPlainProps?.() || {};\n formRef.current?.setFields(newVal);\n };\n handel();\n node.emitter.on('onNodeChange', handel);\n () => {\n node.emitter.off('onNodeChange', handel);\n };\n }, [node]);\n\n const value = node.getPlainProps?.() || {};\n\n const onValueChange: CustomSchemaFormProps['onValueChange'] = (val) => {\n node.updateValue({\n props: val,\n });\n };\n\n const onSetterChange: CustomSchemaFormProps['onSetterChange'] = (keyPaths, setterName) => {\n node.value.configure = node.value.configure || {};\n node.value.configure.propsSetter = node.value.configure.propsSetter || {};\n node.value.configure.propsSetter[keyPaths.join('.')] = {\n name: keyPaths.join('.'),\n setter: setterName,\n };\n };\n\n return (\n <div className={styles.CFromRenderBox}>\n <CustomSchemaForm\n pluginCtx={props.pluginCtx}\n key={node.id}\n defaultSetterConfig={node.value.configure.propsSetter || {}}\n onSetterChange={onSetterChange}\n properties={properties}\n initialValue={value}\n ref={formRef}\n onValueChange={onValueChange}\n />\n </div>\n );\n};\n\nexport const PropertyPanelConfig: CRightPanelItem = {\n key: 'Property',\n name: 'Property',\n view: ({ node, pluginCtx }) => <PropertyPanel node={node} pluginCtx={pluginCtx} />,\n};\n","import { useEffect, useRef } from 'react';\nimport { CNode, CRootNode } from '@chamn/model';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport { CRightPanelItem } from '../RightPanel/view';\nimport { MonacoEditor, MonacoEditorInstance } from '../../component/MonacoEditor';\n\nexport type ComponentStatePanelProps = {\n node: CNode | CRootNode;\n pluginCtx: CPluginCtx;\n};\n\nexport const ComponentStatePanel = (props: ComponentStatePanelProps) => {\n const { node } = props;\n const nodeState = node.value.state || {};\n const editorRef = useRef<MonacoEditorInstance | null>(null);\n useEffect(() => {\n const currentState = node.value.state || {};\n editorRef?.current?.setValue(JSON.stringify(currentState, null, 2));\n }, [node]);\n\n const onValueChange = (newValStr: string) => {\n try {\n const newVal = JSON.parse(newValStr);\n node.value.state = newVal;\n node.updateValue();\n } catch (e) {\n console.warn(e);\n }\n };\n\n return (\n <>\n <MonacoEditor\n initialValue={JSON.stringify(nodeState, null, 2)}\n language={'json'}\n options={{\n automaticLayout: true,\n // lineDecorationsWidth: 0,\n tabSize: 2,\n minimap: { enabled: false },\n quickSuggestions: false,\n // lineNumbers: 'off',\n suggestOnTriggerCharacters: false,\n folding: false,\n }}\n onDidMount={(editor) => {\n editorRef.current = editor;\n }}\n onChange={onValueChange}\n />\n </>\n );\n};\n\nexport const ComponentStatePanelConfig: CRightPanelItem = {\n key: 'State',\n name: 'State',\n view: ({ node, pluginCtx }) => <ComponentStatePanel node={node} pluginCtx={pluginCtx} />,\n};\n","import { useEffect, useRef } from 'react';\nimport { CMaterialPropsType, CNode, CRootNode } from '@chamn/model';\nimport { CustomSchemaForm, CustomSchemaFormInstance, CustomSchemaFormProps } from '../../component/CustomSchemaForm';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport { CRightPanelItem } from '../RightPanel/view';\nimport styles from './style.module.scss';\n\nexport type AdvancePanelProps = {\n node: CNode | CRootNode;\n pluginCtx: CPluginCtx;\n};\n\nconst properties: CMaterialPropsType = [\n {\n name: 'condition',\n title: {\n label: 'Render',\n tip: 'controller component render',\n },\n valueType: 'boolean',\n setters: ['BooleanSetter', 'ExpressionSetter'],\n },\n {\n name: 'loop',\n title: 'loop render',\n valueType: 'object',\n setters: [\n {\n componentName: 'ShapeSetter',\n props: {\n elements: [\n {\n name: 'open',\n title: 'open',\n valueType: 'boolean',\n setters: ['BooleanSetter', 'ExpressionSetter'],\n },\n {\n name: 'data',\n title: 'data',\n valueType: 'array',\n setters: [\n {\n componentName: 'ArraySetter',\n initialValue: [],\n props: {\n item: {\n setters: ['JSONSetter', 'ExpressionSetter'],\n initialValue: {},\n },\n },\n },\n 'JSONSetter',\n 'ExpressionSetter',\n ],\n },\n {\n name: 'forName',\n title: {\n label: 'name',\n tip: 'loop element name',\n },\n valueType: 'string',\n setters: ['StringSetter'],\n },\n {\n name: 'forIndex',\n title: {\n label: 'index',\n tip: 'loop element index',\n },\n valueType: 'string',\n setters: ['StringSetter'],\n },\n {\n name: 'key',\n title: {\n label: 'key',\n tip: 'loop element key',\n },\n valueType: 'expression',\n setters: ['ExpressionSetter'],\n },\n {\n name: 'name',\n title: {\n label: 'variable \\n name',\n tip: 'loop variable name',\n },\n valueType: 'string',\n setters: [\n {\n componentName: 'StringSetter',\n props: {\n prefix: 'loopData',\n },\n },\n ],\n },\n ],\n },\n initialValue: {\n open: false,\n data: [],\n },\n },\n ],\n },\n {\n name: 'refId',\n title: {\n label: 'refId',\n tip: 'unique node flag',\n },\n valueType: 'string',\n setters: ['StringSetter'],\n },\n {\n name: 'stateName',\n title: {\n label: (\n <>\n state <br></br> name\n </>\n ) as any,\n tip: 'alias for state',\n },\n valueType: 'string',\n setters: ['StringSetter'],\n },\n];\n\nexport const AdvancePanel = (props: AdvancePanelProps) => {\n const { node } = props;\n const onSetterChange: CustomSchemaFormProps['onSetterChange'] = (keyPaths, setterName) => {\n node.value.configure = node.value.configure || {};\n node.value.configure.advanceSetter = node.value.configure.advanceSetter || {};\n node.value.configure.advanceSetter[keyPaths.join('.')] = {\n name: keyPaths.join('.'),\n setter: setterName,\n };\n };\n\n const loopObj = node.value.loop;\n const formRef = useRef<CustomSchemaFormInstance>(null);\n\n useEffect(() => {\n const newValue = {\n condition: node.value.condition || true,\n loop: {\n open: loopObj?.open || false,\n data: loopObj?.data || [],\n forName: loopObj?.forName || 'item',\n forIndex: loopObj?.forIndex || 'index',\n key: loopObj?.key || '',\n name: loopObj?.name || '',\n },\n refId: node.value.refId,\n stateName: node.value.stateName,\n };\n formRef.current?.setFields(newValue);\n }, [node]);\n\n const onValueChange = (newVal: { refId: string; loop: any; condition: any; stateName: any }) => {\n node.value.loop = newVal.loop;\n node.value.condition = newVal.condition;\n node.value.refId = newVal.refId;\n node.value.stateName = newVal.stateName;\n\n node.updateValue();\n };\n return (\n <div className={styles.advanceBox}>\n <CustomSchemaForm\n key={node.id}\n defaultSetterConfig={node.value.configure?.advanceSetter || {}}\n onSetterChange={onSetterChange}\n properties={properties}\n initialValue={{}}\n ref={formRef}\n onValueChange={onValueChange}\n />\n </div>\n );\n};\n\nexport const AdvancePanelConfig: CRightPanelItem = {\n key: 'Advance',\n name: 'Advance',\n view: ({ node, pluginCtx }) => <AdvancePanel node={node} pluginCtx={pluginCtx} />,\n};\n","const CSSSourceInfo = {\n cssColors: {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n },\n cssKeyValue: {\n 'align-content': {\n values: ['center', 'flex-end', 'flex-start', 'space-around', 'space-between', 'stretch'],\n },\n 'align-items': {\n values: ['baseline', 'center', 'flex-end', 'flex-start', 'stretch'],\n },\n 'align-self': {\n values: [\n 'auto',\n 'normal',\n 'self-start',\n 'self-end',\n 'baseline',\n 'center',\n 'start',\n 'end',\n 'flex-end',\n 'flex-start',\n 'safe',\n 'stretch',\n 'unsafe',\n ],\n },\n all: { values: [] },\n animation: { values: [] },\n 'animation-delay': { values: [] },\n 'animation-direction': {\n values: ['alternate', 'alternate-reverse', 'normal', 'reverse'],\n },\n 'animation-duration': { values: [] },\n 'animation-fill-mode': {\n values: ['backwards', 'both', 'forwards', 'none'],\n },\n 'animation-iteration-count': { values: ['infinite'] },\n 'animation-name': { values: ['none'] },\n 'animation-play-state': { values: ['paused', 'running'] },\n 'animation-timing-function': {\n values: ['cubic-bezier()', 'ease', 'ease-in', 'ease-in-out', 'ease-out', 'linear', 'step-end', 'step-start', 'steps()'],\n },\n 'backface-visibility': { values: ['hidden', 'visible'] },\n background: { values: [], type: 'color' },\n 'background-attachment': { values: ['fixed', 'local', 'scroll'] },\n 'background-blend-mode': {\n values: [\n 'color',\n 'color-burn',\n 'color-dodge',\n 'darken',\n 'difference',\n 'exclusion',\n 'hard-light',\n 'hue',\n 'lighten',\n 'luminosity',\n 'multiply',\n 'normal',\n 'overlay',\n 'saturation',\n 'screen',\n 'soft-light',\n ],\n },\n 'background-clip': { values: ['border-box', 'content-box', 'padding-box'] },\n 'background-color': { values: [], type: 'color' },\n 'background-image': {\n values: ['image()', 'linear-gradient()', 'radial-gradient()', 'repeating-linear-gradient()', 'repeating-radial-gradient()', 'url()'],\n },\n 'background-origin': {\n values: ['border-box', 'content-box', 'padding-box'],\n },\n 'background-position': {\n values: ['left', 'center', 'right', 'bottom', 'top'],\n },\n 'background-repeat': {\n values: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y', 'round', 'space'],\n },\n 'background-size': { values: ['auto', 'contain', 'cover'] },\n border: { values: [] },\n 'border-collapse': { values: ['collapse', 'separate'] },\n 'border-color': { values: [], type: 'color' },\n 'border-spacing': { values: [] },\n 'border-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'border-bottom': { values: [] },\n 'border-bottom-color': { values: [], type: 'color' },\n 'border-bottom-left-radius': { values: [] },\n 'border-bottom-right-radius': { values: [] },\n 'border-bottom-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'border-bottom-width': { values: ['medium', 'thin', 'thick'] },\n 'border-image': { values: ['url()'] },\n 'border-image-outset': { values: [] },\n 'border-image-slice': { values: [] },\n 'border-image-source': { values: [] },\n 'border-image-repeat': { values: ['repeat', 'round', 'space', 'stretch'] },\n 'border-image-width': { values: ['auto'] },\n 'border-left': { values: [] },\n 'border-left-color': { values: [], type: 'color' },\n 'border-left-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'border-left-width': { values: ['medium', 'thin', 'thick'] },\n 'border-radius': { values: [] },\n 'border-right': { values: [] },\n 'border-right-color': { values: [], type: 'color' },\n 'border-right-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'border-right-width': { values: ['medium', 'thin', 'thick'] },\n 'border-top': { values: [] },\n 'border-top-color': { values: [], type: 'color' },\n 'border-top-left-radius': { values: [] },\n 'border-top-right-radius': { values: [] },\n 'border-top-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'border-top-width': { values: ['medium', 'thin', 'thick'] },\n 'border-width': { values: ['medium', 'thin', 'thick'] },\n 'box-decoration-break': { values: ['clone', 'slice'] },\n 'box-shadow': { values: ['none'] },\n 'box-sizing': { values: ['border-box', 'content-box'] },\n bottom: { values: ['auto'] },\n 'break-after': {\n values: ['always', 'auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region', 'column', 'left', 'page', 'region', 'right'],\n },\n 'break-before': {\n values: ['always', 'auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region', 'column', 'left', 'page', 'region', 'right'],\n },\n 'break-inside': {\n values: ['auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region'],\n },\n 'caption-side': { values: ['bottom', 'top'] },\n 'caret-color': { values: ['auto'], type: 'color' },\n clear: { values: ['both', 'left', 'none', 'right'] },\n clip: { values: ['auto'] },\n color: { values: [], type: 'color' },\n columns: { values: [] },\n 'column-count': { values: [] },\n 'column-fill': { values: ['auto', 'balance'] },\n 'column-gap': { values: ['normal'] },\n 'column-rule': { values: [] },\n 'column-rule-color': { values: [], type: 'color' },\n 'column-rule-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'column-rule-width': { values: ['medium', 'thin', 'thick'] },\n 'column-span': { values: ['all', 'none'] },\n 'column-width': { values: ['auto'] },\n content: {\n values: ['attr()', 'close-quote', 'no-close-quote', 'no-open-quote', 'normal', 'none', 'open-quote'],\n },\n 'counter-increment': { values: ['none'] },\n 'counter-reset': { values: ['none'] },\n cursor: {\n values: [\n 'alias',\n 'all-scroll',\n 'auto',\n 'cell',\n 'col-resize',\n 'context-menu',\n 'copy',\n 'crosshair',\n 'default',\n 'e-resize',\n 'ew-resize',\n 'grab',\n 'grabbing',\n 'help',\n 'move',\n 'n-resize',\n 'ne-resize',\n 'nesw-resize',\n 'no-drop',\n 'none',\n 'not-allowed',\n 'ns-resize',\n 'nw-resize',\n 'nwse-resize',\n 'pointer',\n 'progress',\n 'row-resize',\n 's-resize',\n 'se-resize',\n 'sw-resize',\n 'text',\n 'vertical-text',\n 'w-resize',\n 'wait',\n 'zoom-in',\n 'zoom-out',\n ],\n },\n direction: { values: ['ltr', 'rtl'] },\n display: {\n values: [\n 'block',\n 'contents',\n 'flex',\n 'flow-root',\n 'grid',\n 'inline',\n 'inline-block',\n 'inline-flex',\n 'inline-grid',\n 'inline-table',\n 'list-item',\n 'none',\n 'run-in',\n 'subgrid',\n 'table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row',\n 'table-row-group',\n ],\n },\n 'empty-cells': { values: ['hide', 'show'] },\n fill: { values: [] },\n filter: {\n values: [\n 'blur()',\n 'brightness()',\n 'contrast()',\n 'custom()',\n 'drop-shadow()',\n 'grayscale()',\n 'hue-rotate()',\n 'invert()',\n 'none',\n 'opacity()',\n 'sepia()',\n 'saturate()',\n 'url()',\n ],\n },\n flex: { values: ['auto', 'none'] },\n 'flex-basis': { values: ['auto'] },\n 'flex-direction': {\n values: ['column', 'column-reverse', 'row', 'row-reverse'],\n },\n 'flex-flow': {\n values: ['column', 'column-reverse', 'nowrap', 'row', 'row-reverse', 'wrap', 'wrap-reverse'],\n },\n 'flex-grow': { values: [] },\n 'flex-shrink': { values: [] },\n 'flex-wrap': { values: ['nowrap', 'wrap', 'wrap-reverse'] },\n float: { values: ['left', 'right', 'none', 'inline-start', 'inline-end'] },\n 'flow-into': { values: ['none'], type: 'named-flow' },\n 'flow-from': { values: ['none'], type: 'named-flow' },\n font: { values: [] },\n 'font-display': {\n values: ['auto', 'block', 'swap', 'fallback', 'optional'],\n },\n 'font-family': {\n values: ['auto', 'cursive', 'fantasy', 'monospace', 'sans-serif', 'serif'],\n },\n 'font-feature-settings': { values: ['normal'] },\n 'font-kerning': { values: ['auto', 'none', 'normal'] },\n 'font-language-override': { values: ['normal'] },\n 'font-size': {\n values: ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', 'xxx-large', 'larger', 'smaller'],\n },\n 'font-size-adjust': { values: ['auto', 'none'] },\n 'font-stretch': {\n values: [\n 'condensed',\n 'expanded',\n 'extra-condensed',\n 'extra-expanded',\n 'normal',\n 'semi-condensed',\n 'semi-expanded',\n 'ultra-condensed',\n 'ultra-expanded',\n ],\n },\n 'font-style': { values: ['italic', 'normal', 'oblique'] },\n 'font-synthesis': { values: ['none', 'style', 'weight'] },\n 'font-variant': { values: ['normal', 'small-caps'] },\n 'font-variant-alternates': { values: ['normal'] },\n 'font-variant-caps': {\n values: ['normal', 'small-caps', 'all-small-caps', 'petite-caps', 'all-petite-caps', 'unicase', 'titling-caps'],\n },\n 'font-variant-east-asian': { values: ['normal'] },\n 'font-variant-ligatures': { values: ['normal', 'none'] },\n 'font-variant-numeric': { values: ['normal'] },\n 'font-variant-position': { values: ['normal', 'sub', 'super'] },\n 'font-weight': {\n values: ['bold', 'bolder', 'lighter', 'normal', '100', '200', '300', '400', '500', '600', '700', '800', '900'],\n },\n gap: { values: ['revert-layer'] },\n grid: { values: [] },\n 'grid-area': { values: [] },\n 'grid-auto-columns': { values: [] },\n 'grid-auto-flow': { values: ['row', 'column', 'dense'] },\n 'grid-auto-rows': { values: [] },\n 'grid-column': { values: ['auto'] },\n 'grid-column-end': { values: [] },\n 'grid-column-gap': { values: [] },\n 'grid-column-start': { values: [] },\n 'grid-gap': { values: [] },\n 'grid-row': { values: ['auto'] },\n 'grid-row-end': { values: [] },\n 'grid-row-start': { values: [] },\n 'grid-row-gap': { values: [] },\n 'grid-template': { values: ['none'] },\n 'grid-template-areas': { values: [] },\n 'grid-template-columns': { values: ['auto'] },\n 'grid-template-rows': { values: ['auto'] },\n 'hanging-punctuation': {\n values: ['allow-end', 'first', 'force-end', 'last', 'none'],\n },\n height: { values: ['auto', 'max-content', 'min-content', 'fit-content'] },\n hyphens: { values: ['auto', 'manual', 'none'] },\n 'image-orientation': { values: [] },\n 'image-resolution': { values: ['from-image', 'snap'] },\n isolation: { values: ['auto', 'isolate'] },\n 'justify-content': {\n values: ['center', 'flex-end', 'flex-start', 'space-around', 'space-between'],\n },\n 'justify-items': {\n values: [\n 'auto',\n 'normal',\n 'stretch',\n 'center',\n 'start',\n 'end',\n 'flex-start',\n 'flex-end',\n 'self-start',\n 'self-end',\n 'left',\n 'right',\n 'baseline',\n 'first',\n 'last',\n 'safe',\n 'unsafe',\n 'legacy',\n ],\n },\n 'justify-self': {\n values: [\n 'auto',\n 'normal',\n 'stretch',\n 'center',\n 'start',\n 'end',\n 'flex-start',\n 'flex-end',\n 'self-start',\n 'self-end',\n 'left',\n 'right',\n 'baseline',\n 'first',\n 'last',\n 'safe',\n 'unsafe',\n ],\n },\n left: { values: ['auto'] },\n 'letter-spacing': { values: ['normal'] },\n 'line-height': { values: ['normal'] },\n 'list-style': {\n values: [\n 'none',\n 'url()',\n 'armenian',\n 'circle',\n 'decimal',\n 'decimal-leading-zero',\n 'disc',\n 'georgian',\n 'inside',\n 'lower-alpha',\n 'lower-greek',\n 'lower-latin',\n 'lower-roman',\n 'outside',\n 'square',\n 'upper-alpha',\n 'upper-latin',\n 'upper-roman',\n ],\n },\n 'list-style-image': { values: ['none', 'url()'] },\n 'list-style-position': { values: ['inside', 'outside'] },\n 'list-style-type': {\n values: [\n 'armenian',\n 'circle',\n 'decimal',\n 'decimal-leading-zero',\n 'disc',\n 'georgian',\n 'lower-alpha',\n 'lower-greek',\n 'lower-latin',\n 'lower-roman',\n 'none',\n 'square',\n 'upper-alpha',\n 'upper-latin',\n 'upper-roman',\n ],\n },\n margin: { values: ['auto'] },\n 'margin-bottom': { values: ['auto'] },\n 'margin-left': { values: ['auto'] },\n 'margin-right': { values: ['auto'] },\n 'margin-top': { values: ['auto'] },\n 'max-height': { values: ['none'] },\n 'max-width': { values: ['none'] },\n 'min-height': { values: [] },\n 'min-width': { values: [] },\n 'mix-blend-mode': {\n values: [\n 'color',\n 'color-burn',\n 'color-dodge',\n 'darken',\n 'difference',\n 'exclusion',\n 'hard-light',\n 'hue',\n 'lighten',\n 'luminosity',\n 'multiply',\n 'normal',\n 'overlay',\n 'saturation',\n 'screen',\n 'soft-light',\n ],\n },\n 'object-fit': {\n values: ['contain', 'cover', 'fill', 'none', 'scale-down'],\n },\n 'object-position': { values: ['left', 'center', 'right', 'bottom', 'top'] },\n opacity: { values: [] },\n order: { values: [] },\n orphans: { values: [] },\n outline: { values: [] },\n 'outline-color': { values: ['invert'], type: 'color' },\n 'outline-offset': { values: [] },\n 'outline-style': {\n values: ['dashed', 'dotted', 'double', 'groove', 'hidden', 'inset', 'none', 'outset', 'ridge', 'solid'],\n },\n 'outline-width': { values: ['medium', 'thin', 'thick'] },\n overflow: { values: ['auto', 'hidden', 'scroll', 'visible'] },\n 'overflow-x': { values: ['auto', 'hidden', 'scroll', 'visible'] },\n 'overflow-y': { values: ['auto', 'hidden', 'scroll', 'visible'] },\n 'overflow-wrap': { values: ['normal', 'anywhere', 'break-word'] },\n padding: { values: [] },\n 'padding-bottom': { values: [] },\n 'padding-left': { values: [] },\n 'padding-right': { values: [] },\n 'padding-top': { values: [] },\n 'page-break-after': {\n values: ['always', 'auto', 'avoid', 'left', 'right'],\n },\n 'page-break-before': {\n values: ['always', 'auto', 'avoid', 'left', 'right'],\n },\n 'page-break-inside': { values: ['auto', 'avoid'] },\n perspective: { values: ['none'] },\n 'perspective-origin': {\n values: ['bottom', 'center', 'left', 'right', 'top'],\n },\n 'pointer-events': {\n values: ['all', 'auto', 'fill', 'none', 'painted', 'stroke', 'visible', 'visibleFill', 'visiblePainted', 'visibleStroke'],\n },\n position: { values: ['absolute', 'fixed', 'relative', 'static', 'sticky'] },\n quotes: { values: ['none'] },\n 'region-break-after': {\n values: ['always', 'auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region', 'column', 'left', 'page', 'region', 'right'],\n },\n 'region-break-before': {\n values: ['always', 'auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region', 'column', 'left', 'page', 'region', 'right'],\n },\n 'region-break-inside': {\n values: ['auto', 'avoid', 'avoid-column', 'avoid-page', 'avoid-region'],\n },\n 'region-fragment': { values: ['auto', 'break'] },\n resize: { values: ['both', 'horizontal', 'none', 'vertical'] },\n right: { values: ['auto'] },\n 'scroll-behavior': { values: ['auto', 'smooth'] },\n 'scroll-snap-type': {\n values: ['none', 'x', 'y', 'block', 'inline', 'both', 'mandatory', 'proximity'],\n },\n src: { values: ['url()'] },\n 'shape-image-threshold': { values: [] },\n 'shape-inside': {\n values: ['auto', 'circle()', 'ellipse()', 'outside-shape', 'polygon()', 'rectangle()'],\n },\n 'shape-margin': { values: [] },\n 'shape-outside': {\n values: [\n 'none',\n 'circle()',\n 'ellipse()',\n 'polygon()',\n 'inset()',\n 'margin-box',\n 'border-box',\n 'padding-box',\n 'content-box',\n 'url()',\n 'image()',\n 'linear-gradient()',\n 'radial-gradient()',\n 'repeating-linear-gradient()',\n 'repeating-radial-gradient()',\n ],\n },\n 'tab-size': { values: [] },\n 'table-layout': { values: ['auto', 'fixed'] },\n 'text-align': {\n values: ['start', 'end', 'center', 'left', 'justify', 'right', 'match-parent', 'justify-all'],\n },\n 'text-align-last': { values: ['center', 'left', 'justify', 'right'] },\n 'text-decoration': {\n values: ['line-through', 'none', 'overline', 'underline'],\n },\n 'text-decoration-color': { values: [], type: 'color' },\n 'text-decoration-line': {\n values: ['line-through', 'none', 'overline', 'underline'],\n },\n 'text-decoration-skip': {\n values: ['edges', 'ink', 'none', 'objects', 'spaces'],\n },\n 'text-decoration-style': {\n values: ['dashed', 'dotted', 'double', 'solid', 'wavy'],\n },\n 'text-emphasis': { values: [] },\n 'text-emphasis-color': { values: [], type: 'color' },\n 'text-emphasis-position': { values: ['above', 'below', 'left', 'right'] },\n 'text-emphasis-style': {\n values: ['circle', 'dot', 'double-circle', 'filled', 'none', 'open', 'sesame', 'triangle'],\n },\n 'text-indent': { values: [] },\n 'text-justify': {\n values: ['auto', 'none', 'inter-word', 'inter-character'],\n },\n 'text-overflow': { values: ['clip', 'ellipsis'] },\n 'text-shadow': { values: [] },\n 'text-rendering': {\n values: ['auto', 'geometricPrecision', 'optimizeLegibility', 'optimizeSpeed'],\n },\n 'text-transform': {\n values: ['capitalize', 'full-width', 'lowercase', 'none', 'uppercase'],\n },\n 'text-underline-position': {\n values: ['alphabetic', 'auto', 'below', 'left', 'right'],\n },\n top: { values: ['auto'] },\n transform: {\n values: [\n 'matrix()',\n 'matrix3d()',\n 'none',\n 'perspective()',\n 'rotate()',\n 'rotate3d()',\n 'rotateX()',\n 'rotateY()',\n 'rotateZ()',\n 'scale()',\n 'scale3d()',\n 'scaleX()',\n 'scaleY()',\n 'scaleZ()',\n 'skewX()',\n 'skewY()',\n 'translate()',\n 'translate3d()',\n 'translateX()',\n 'translateY()',\n 'translateZ()',\n ],\n },\n 'transform-origin': {\n values: ['bottom', 'center', 'left', 'right', 'top'],\n },\n 'transform-style': { values: ['flat', 'preserve-3d'] },\n transition: { values: [] },\n 'transition-delay': { values: [] },\n 'transition-duration': { values: [] },\n 'transition-property': { values: ['all', 'none'] },\n 'transition-timing-function': {\n values: ['cubic-bezier()', 'ease', 'ease-in', 'ease-in-out', 'ease-out', 'linear', 'step-end', 'step-start', 'steps()'],\n },\n 'unicode-bidi': { values: ['bidi-override', 'embed', 'normal'] },\n 'unicode-range': { values: [] },\n 'user-select': { values: ['all', 'auto', 'contain', 'none', 'text'] },\n 'vertical-align': {\n values: ['baseline', 'bottom', 'middle', 'sub', 'super', 'text-bottom', 'text-top', 'top'],\n },\n visibility: { values: ['collapse', 'hidden', 'visible'] },\n 'white-space': {\n values: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap'],\n },\n widows: { values: [] },\n width: { values: ['auto', 'max-content', 'min-content', 'fit-content'] },\n 'will-change': {\n values: ['auto', 'contents', 'opacity', 'scroll-position'],\n },\n 'word-break': { values: ['normal', 'break-all', 'keep-all'] },\n 'word-spacing': { values: ['normal'] },\n 'z-index': { values: ['auto'] },\n },\n};\n\nexport const CSSProperties = CSSSourceInfo.cssKeyValue;\n\nexport const CSSColors = CSSSourceInfo.cssColors;\n\nexport type CSSPropertiesKey = keyof typeof CSSProperties;\n\nexport const CSSPropertyList = Object.keys(CSSSourceInfo.cssKeyValue);\n","export const getTextWidth = async (text: string, fontSize = 14) => {\n return new Promise<string>((resolve, reject) => {\n const span = document.createElement('span');\n span.innerHTML = text;\n span.style.fontSize = `${fontSize}px`;\n span.style.position = 'fixed';\n span.style.left = '-1000px';\n span.style.bottom = '-1000px';\n span.style.display = 'inline-block';\n document.body.appendChild(span);\n setTimeout(() => {\n const style = window.getComputedStyle(span);\n resolve(style.width);\n setTimeout(() => {\n document.body.removeChild(span);\n });\n });\n });\n};\n","import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { CSSPropertyList } from './cssProperties';\n\nimport styles from './style.module.scss';\n\nimport { AutoComplete, Button, ConfigProvider, Input, message } from 'antd';\nimport { MinusOutlined, PlusOutlined } from '@ant-design/icons';\nimport { getTextWidth } from './util';\nimport { BaseSelectRef } from 'rc-select';\nimport { useDebounceFn } from 'ahooks';\nimport clsx from 'clsx';\nimport { CNodePropsTypeEnum, JSExpressionPropType } from '@chamn/model';\nimport { InputStatus } from 'antd/es/_util/statusUtils';\n\nconst defaultPropertyOptions = CSSPropertyList.map((el) => {\n return {\n value: el,\n };\n});\n\nexport type SinglePropertyEditorProps = {\n value?: {\n key: string;\n value: JSExpressionPropType;\n };\n onValueChange: (value: { key: string; value: JSExpressionPropType }) => void;\n onDelete?: () => void;\n onCreate?: (value: { key: string; value: JSExpressionPropType }) => {\n errorKey?: string[];\n } | void;\n mod?: 'create' | 'edit';\n};\n\ntype SinglePropertyEditorRef = {\n reset: () => void;\n};\n\nconst SinglePropertyEditor = forwardRef<SinglePropertyEditorRef, SinglePropertyEditorProps>(\n function SinglePropertyEditorCore(props, ref) {\n const [keyFormatStatus, setKeyFormatStatus] = useState<InputStatus>('');\n const [valueFormatStatus, setValueFormatStatus] = useState<InputStatus>('');\n\n const { mod = 'create' } = props;\n const [innerValue, setInnerVal] = useState<{\n key: string;\n value: JSExpressionPropType;\n }>({\n key: props.value?.key || '',\n value: props.value?.value || {\n type: CNodePropsTypeEnum.EXPRESSION,\n value: '',\n },\n });\n\n useEffect(() => {\n if (props.value) {\n setInnerVal(props.value);\n }\n }, [props.value]);\n\n const [propertyOptions, setPropertyOptions] = useState(defaultPropertyOptions);\n\n const onSearch = (searchText: string) => {\n const newOptions = defaultPropertyOptions.filter((el) => el.value.includes(searchText));\n if (!searchText) {\n setPropertyOptions(defaultPropertyOptions);\n } else {\n setPropertyOptions(newOptions);\n }\n };\n\n const updateOuterValue = () => {\n props.onValueChange({\n ...innerValue,\n });\n };\n\n const { run: updateOuterValueDebounce } = useDebounceFn(updateOuterValue, {\n wait: 20,\n });\n\n const [keyInputWidth, setKeyInputWidth] = useState(0);\n\n useEffect(() => {\n getTextWidth(innerValue.key, 13.33).then((w) => {\n let tempW = parseFloat(w);\n if (innerValue.key === '') {\n tempW = 200;\n }\n setKeyInputWidth(tempW + 6);\n });\n }, [innerValue.key]);\n\n const propertyKeyRef = useRef<BaseSelectRef | null>(null);\n const [focusState, setFocusState] = useState({\n key: false,\n value: false,\n });\n useImperativeHandle(\n ref,\n () => {\n return {\n reset: () => {\n setInnerVal({\n key: '',\n value: {\n type: CNodePropsTypeEnum.EXPRESSION,\n value: '',\n },\n });\n propertyKeyRef.current?.focus();\n },\n };\n },\n []\n );\n\n const innerOnCreate = () => {\n if (innerValue.key === '') {\n setKeyFormatStatus('error');\n return;\n }\n if (innerValue.value.value === '') {\n setValueFormatStatus('error');\n return;\n }\n setKeyFormatStatus('');\n setValueFormatStatus('');\n\n const res = props.onCreate?.(innerValue);\n if (res?.errorKey?.includes('key')) {\n setKeyFormatStatus('error');\n }\n if (res?.errorKey?.includes('value')) {\n setValueFormatStatus('error');\n }\n };\n\n return (\n <>\n <div className={styles.cssFieldBox}>\n <div className={styles.leftBox}>\n <div className={styles.row}>\n <span className={styles.fieldLabel}>Name</span>\n <AutoComplete\n status={keyFormatStatus}\n disabled={mod === 'edit'}\n ref={propertyKeyRef}\n onSearch={onSearch}\n dropdownMatchSelectWidth={200}\n value={innerValue.key}\n onChange={(val) => {\n setKeyFormatStatus('');\n setInnerVal({\n ...innerValue,\n key: val,\n });\n updateOuterValueDebounce();\n }}\n style={{\n width: `${keyInputWidth}px`,\n }}\n className={clsx([styles.inputBox])}\n onFocus={() => {\n setFocusState({\n key: true,\n value: false,\n });\n }}\n onBlur={() => {\n setFocusState({\n key: false,\n value: false,\n });\n }}\n placeholder=\"property\"\n options={propertyOptions}\n />\n </div>\n <div className={styles.row}>\n <span className={styles.fieldLabel}>Value</span>\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <Input\n status={valueFormatStatus}\n value={innerValue.value.value}\n onChange={(e) => {\n setValueFormatStatus('');\n const newVal: {\n type: CNodePropsTypeEnum.EXPRESSION;\n value: string;\n } = {\n type: CNodePropsTypeEnum.EXPRESSION,\n value: e.target.value,\n };\n setInnerVal({\n ...innerValue,\n value: newVal,\n });\n }}\n onKeyDown={(e) => {\n if (e.code === 'Enter' && mod === 'create') {\n innerOnCreate();\n propertyKeyRef.current?.focus();\n }\n }}\n />\n </ConfigProvider>\n </div>\n </div>\n <div className={styles.rightBox}>\n {props.onDelete && mod === 'edit' && (\n <Button\n size=\"small\"\n type=\"text\"\n onClick={() => {\n props.onDelete?.();\n }}\n >\n <MinusOutlined\n style={{\n display: 'inline-flex',\n fontSize: '12px',\n }}\n />\n </Button>\n )}\n </div>\n {props.onCreate && mod === 'create' && (\n <div>\n <Button\n size=\"small\"\n type=\"text\"\n icon={\n <PlusOutlined\n style={{\n fontSize: '12px',\n display: 'inline-flex',\n }}\n />\n }\n onClick={innerOnCreate}\n ></Button>\n </div>\n )}\n </div>\n </>\n );\n }\n);\n\nexport type CSSPropertiesVariableBindEditorProps = {\n initialValue?: { key: string; value: string }[];\n onValueChange?: (val: { key: string; value: string }[]) => void;\n};\nexport type CSSPropertiesVariableBindEditorRef = {\n setValue: (val: { key: string; value: string }[]) => void;\n};\n\nexport const CSSPropertiesVariableBindEditor = forwardRef<\n CSSPropertiesVariableBindEditorRef,\n CSSPropertiesVariableBindEditorProps\n>(function CSSPropertiesVariableBindEditorCore(props, ref) {\n const [propertyList, setPropertyList] = useState<{ key: string; value: any }[]>([]);\n useImperativeHandle(\n ref,\n () => {\n return {\n setValue: (val) => {\n setPropertyList(val);\n },\n };\n },\n []\n );\n\n useEffect(() => {\n if (props.initialValue) {\n setPropertyList(props.initialValue);\n }\n }, []);\n\n const [newProperty, setNewProperty] = useState({\n key: '',\n value: {\n type: CNodePropsTypeEnum.EXPRESSION,\n value: '',\n } as JSExpressionPropType,\n });\n\n const innerOnValueChange = (val: typeof propertyList) => {\n props.onValueChange?.(val);\n };\n\n const createPropertyRef = useRef<SinglePropertyEditorRef>(null);\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <div className={styles.cssBox}>\n {propertyList.map((el, index) => {\n return (\n <div key={index}>\n <SinglePropertyEditor\n value={el}\n mod={'edit'}\n onValueChange={(newVal) => {\n if (newVal.key === '') {\n propertyList.splice(index, 1);\n setPropertyList([...propertyList]);\n return;\n }\n propertyList[index] = newVal;\n setPropertyList([...propertyList]);\n innerOnValueChange(propertyList);\n }}\n onDelete={() => {\n propertyList.splice(index, 1);\n setPropertyList([...propertyList]);\n innerOnValueChange(propertyList);\n }}\n />\n </div>\n );\n })}\n\n <SinglePropertyEditor\n value={newProperty}\n ref={createPropertyRef}\n mod=\"create\"\n onValueChange={(newVal) => {\n setNewProperty(newVal);\n }}\n onCreate={(val) => {\n const hasExits = propertyList.find((el) => el.key === val.key);\n if (hasExits) {\n message.error('The attribute name already exists, please replace');\n return {\n errorKey: ['key'],\n };\n }\n propertyList.push(val);\n setPropertyList([...propertyList]);\n innerOnValueChange(propertyList);\n setNewProperty({\n key: '',\n value: {\n type: CNodePropsTypeEnum.EXPRESSION,\n value: '',\n },\n });\n }}\n />\n </div>\n </ConfigProvider>\n );\n});\n","import { forwardRef } from 'react';\nimport { ConfigProvider } from 'antd';\nimport { CustomSchemaForm } from '../CustomSchemaForm';\nimport { ClassNameType, CMaterialPropsType, CNodePropsTypeEnum } from '@chamn/model';\n\nimport styles from './style.module.scss';\n\nexport type ClassNameEditorProps = {\n initialValue?: { key: string; value: string }[];\n onValueChange?: (val: ClassNameType[]) => void;\n};\nexport type ClassNameEditorRef = {\n setValue: (val: { key: string; value: string }[]) => void;\n};\n\nconst properties: CMaterialPropsType = [\n {\n title: 'Class Names',\n name: 'className',\n valueType: 'array',\n setters: [\n {\n componentName: 'ArraySetter',\n props: {\n sortLabelKey: 'name',\n item: {\n setters: [\n {\n componentName: 'ShapeSetter',\n props: {\n collapse: false,\n elements: [\n {\n name: 'name',\n title: '类名',\n valueType: 'string',\n setters: ['StringSetter'],\n },\n {\n name: 'status',\n title: '启用',\n valueType: 'boolean',\n setters: ['ExpressionSetter'],\n },\n ],\n },\n initialValue: {},\n },\n ],\n initialValue: {\n name: '',\n status: {\n type: CNodePropsTypeEnum.EXPRESSION,\n value: true,\n },\n },\n },\n },\n initialValue: [],\n },\n ],\n },\n];\n\nexport const ClassNameEditor = forwardRef<ClassNameEditorRef, ClassNameEditorProps>(function CSSPropertiesEditorCore(\n props,\n ref\n) {\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <div>\n <CustomSchemaForm\n initialValue={[]}\n properties={properties}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onSetterChange={function () {}}\n onValueChange={(newVal) => {\n props.onValueChange?.(newVal.className || []);\n }}\n defaultSetterConfig={{}}\n ></CustomSchemaForm>\n </div>\n </ConfigProvider>\n );\n});\n","import { CSSVal } from '@/component/CSSEditor';\nimport { CSSType, CSSValue, isExpression } from '@chamn/model';\n\nexport type StyleArr = {\n key: string;\n value: any;\n}[];\n\nexport const styleArr2Obj = (val: StyleArr) => {\n const res: Record<string, any> = {};\n val.forEach((item) => {\n res[item.key] = item.value;\n });\n return res;\n};\n\nexport const formatCSSProperty = (cssVal: Record<string, any>) => {\n const normalProperty: { key: string; value: string }[] = [];\n const expressionProperty: { key: string; value: any }[] = [];\n Object.keys(cssVal).forEach((key) => {\n const val = cssVal[key];\n if (isExpression(val)) {\n expressionProperty.push({\n key,\n value: val,\n });\n } else {\n normalProperty.push({\n key,\n value: val,\n });\n }\n });\n const res = {\n normalProperty,\n expressionProperty,\n };\n return res;\n};\n\nexport const formatCssToNodeVal = (className: string, val: CSSVal): CSSType => {\n type StateType = keyof CSSVal;\n const res: CSSType = {\n class: className,\n value: [],\n };\n const cssList: CSSValue[] = [];\n Object.keys(val).forEach((state) => {\n const currentStateCss = val[state as StateType];\n const tempVal: CSSValue = {\n state: state,\n media: [],\n style: currentStateCss?.['normal'] || {},\n };\n Object.keys(currentStateCss || ({} as any)).forEach((mediaKey) => {\n if (mediaKey !== 'normal') {\n tempVal.media.push({\n type: 'max-width',\n value: mediaKey,\n style: currentStateCss?.[mediaKey] || {},\n });\n }\n });\n cssList.push(tempVal);\n });\n res.value = cssList;\n return res;\n};\n\nexport const formatNodeValToEditor = (val?: CSSType): CSSVal => {\n if (!val) {\n return {};\n }\n const list = val.value;\n const res: CSSVal = {};\n\n list.forEach((el) => {\n const currentStateCss: Record<string, Record<string, string>> = {\n normal: el.style,\n };\n el.media.forEach((it) => {\n currentStateCss[it.value] = it.style;\n });\n res[el.state as keyof CSSVal] = currentStateCss;\n });\n\n return res;\n};\n","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// [times, realValue]\nvar Entity = /*#__PURE__*/function () {\n function Entity() {\n _classCallCheck(this, Entity);\n _defineProperty(this, \"cache\", new Map());\n }\n _createClass(Entity, [{\n key: \"get\",\n value: function get(keys) {\n return this.cache.get(keys.join('%')) || null;\n }\n }, {\n key: \"update\",\n value: function update(keys, valueFn) {\n var path = keys.join('%');\n var prevValue = this.cache.get(path);\n var nextValue = valueFn(prevValue);\n if (nextValue === null) {\n this.cache.delete(path);\n } else {\n this.cache.set(path, nextValue);\n }\n }\n }]);\n return Entity;\n}();\nexport default Entity;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport CacheEntity from \"./Cache\";\nexport var ATTR_TOKEN = 'data-token-hash';\nexport var ATTR_MARK = 'data-css-hash';\nexport var ATTR_DEV_CACHE_PATH = 'data-dev-cache-path';\n\n// Mark css-in-js instance in style element\nexport var CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport var CSS_IN_JS_INSTANCE_ID = Math.random().toString(12).slice(2);\nexport function createCache() {\n if (typeof document !== 'undefined' && document.head && document.body) {\n var styles = document.body.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\")) || [];\n var firstChild = document.head.firstChild;\n Array.from(styles).forEach(function (style) {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || CSS_IN_JS_INSTANCE_ID;\n\n // Not force move if no head\n document.head.insertBefore(style, firstChild);\n });\n\n // Deduplicate of moved styles\n var styleHash = {};\n Array.from(document.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"))).forEach(function (style) {\n var hash = style.getAttribute(ATTR_MARK);\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === CSS_IN_JS_INSTANCE_ID) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n return new CacheEntity();\n}\nvar StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true\n});\nexport var StyleProvider = function StyleProvider(props) {\n var children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var parentContext = React.useContext(StyleContext);\n var context = useMemo(function () {\n var mergedContext = _objectSpread({}, parentContext);\n Object.keys(restProps).forEach(function (key) {\n var value = restProps[key];\n if (restProps[key] !== undefined) {\n mergedContext[key] = value;\n }\n });\n var cache = restProps.cache;\n mergedContext.cache = mergedContext.cache || createCache();\n mergedContext.defaultCache = !cache && parentContext.defaultCache;\n return mergedContext;\n }, [parentContext, restProps], function (prev, next) {\n return !isEqual(prev[0], next[0], true) || !isEqual(prev[1], next[1], true);\n });\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","function useProdHMR() {\n return false;\n}\nvar webpackHMR = false;\nfunction useDevHMR() {\n return webpackHMR;\n}\nexport default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR;\n\n// Webpack `module.hot.accept` do not support any deps update trigger\n// We have to hack handler to force mark as HRM\nif (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot) {\n var win = window;\n if (typeof win.webpackHotUpdate === 'function') {\n var originWebpackHotUpdate = win.webpackHotUpdate;\n win.webpackHotUpdate = function () {\n webpackHMR = true;\n setTimeout(function () {\n webpackHMR = false;\n }, 0);\n return originWebpackHotUpdate.apply(void 0, arguments);\n };\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport StyleContext from \"../StyleContext\";\nimport useHMR from \"./useHMR\";\nexport default function useClientCache(prefix, keyPath, cacheFn, onCacheRemove) {\n var _React$useContext = React.useContext(StyleContext),\n globalCache = _React$useContext.cache;\n var fullPath = [prefix].concat(_toConsumableArray(keyPath));\n var HMRUpdate = useHMR();\n\n // Create cache\n React.useMemo(function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref = prevCache || [],\n _ref2 = _slicedToArray(_ref, 2),\n _ref2$ = _ref2[0],\n times = _ref2$ === void 0 ? 0 : _ref2$,\n cache = _ref2[1];\n\n // HMR should always ignore cache since developer may change it\n var tmpCache = cache;\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n var mergedCache = tmpCache || cacheFn();\n return [times + 1, mergedCache];\n });\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [fullPath.join('_')]\n /* eslint-enable */);\n\n // Remove if no need anymore\n React.useEffect(function () {\n return function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref3 = prevCache || [],\n _ref4 = _slicedToArray(_ref3, 2),\n _ref4$ = _ref4[0],\n times = _ref4$ === void 0 ? 0 : _ref4$,\n cache = _ref4[1];\n var nextCount = times - 1;\n if (nextCount === 0) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(cache, false);\n return null;\n }\n return [times - 1, cache];\n });\n };\n }, fullPath);\n return globalCache.get(fullPath)[1];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nexport function flattenToken(token) {\n var str = '';\n Object.keys(token).forEach(function (key) {\n var value = token[key];\n str += key;\n if (value && _typeof(value) === 'object') {\n str += flattenToken(value);\n } else {\n str += value;\n }\n });\n return str;\n}\n\n/**\n * Convert derivative token to key string\n */\nexport function token2key(token, salt) {\n return hash(\"\".concat(salt, \"_\").concat(flattenToken(token)));\n}\nvar layerKey = \"layer-\".concat(Date.now(), \"-\").concat(Math.random()).replace(/\\./g, '');\nvar layerWidth = '903px';\nfunction supportSelector(styleStr, handleElement) {\n if (canUseDom()) {\n var _ele$parentNode;\n updateCSS(styleStr, layerKey);\n var _ele = document.createElement('div');\n _ele.style.position = 'fixed';\n _ele.style.left = '0';\n _ele.style.top = '0';\n handleElement === null || handleElement === void 0 ? void 0 : handleElement(_ele);\n document.body.appendChild(_ele);\n if (process.env.NODE_ENV !== 'production') {\n _ele.innerHTML = 'Test';\n _ele.style.zIndex = '9999999';\n }\n var support = getComputedStyle(_ele).width === layerWidth;\n (_ele$parentNode = _ele.parentNode) === null || _ele$parentNode === void 0 ? void 0 : _ele$parentNode.removeChild(_ele);\n removeCSS(layerKey);\n return support;\n }\n return false;\n}\nvar canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(\"@layer \".concat(layerKey, \" { .\").concat(layerKey, \" { width: \").concat(layerWidth, \"!important; } }\"), function (ele) {\n ele.className = layerKey;\n });\n }\n return canLayer;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport hash from '@emotion/hash';\nimport { ATTR_TOKEN, CSS_IN_JS_INSTANCE, CSS_IN_JS_INSTANCE_ID } from \"../StyleContext\";\nimport useGlobalCache from \"./useGlobalCache\";\nimport { flattenToken, token2key } from \"../util\";\nvar EMPTY_OVERRIDE = {};\n\n// Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\nvar hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nvar tokenKeys = new Map();\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\nfunction removeStyleTags(key) {\n if (typeof document !== 'undefined') {\n var styles = document.querySelectorAll(\"style[\".concat(ATTR_TOKEN, \"=\\\"\").concat(key, \"\\\"]\"));\n styles.forEach(function (style) {\n if (style[CSS_IN_JS_INSTANCE] === CSS_IN_JS_INSTANCE_ID) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n });\n }\n}\n\n// Remove will check current keys first\nfunction cleanTokenStyle(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n var tokenKeyList = Array.from(tokenKeys.keys());\n var cleanableKeyList = tokenKeyList.filter(function (key) {\n var count = tokenKeys.get(key) || 0;\n return count <= 0;\n });\n if (cleanableKeyList.length < tokenKeyList.length) {\n cleanableKeyList.forEach(function (key) {\n removeStyleTags(key);\n tokenKeys.delete(key);\n });\n }\n}\n\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\nexport default function useCacheToken(theme, tokens) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _option$salt = option.salt,\n salt = _option$salt === void 0 ? '' : _option$salt,\n _option$override = option.override,\n override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override,\n formatToken = option.formatToken;\n\n // Basic - We do basic cache here\n var mergedToken = React.useMemo(function () {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(tokens)));\n }, [tokens]);\n var tokenStr = React.useMemo(function () {\n return flattenToken(mergedToken);\n }, [mergedToken]);\n var overrideTokenStr = React.useMemo(function () {\n return flattenToken(override);\n }, [override]);\n var cachedToken = useGlobalCache('token', [salt, theme.id, tokenStr, overrideTokenStr], function () {\n var derivativeToken = theme.getDerivativeToken(mergedToken);\n\n // Merge with override\n var mergedDerivativeToken = _objectSpread(_objectSpread({}, derivativeToken), override);\n\n // Format if needed\n if (formatToken) {\n mergedDerivativeToken = formatToken(mergedDerivativeToken);\n }\n\n // Optimize for `useStyleRegister` performance\n var tokenKey = token2key(mergedDerivativeToken, salt);\n mergedDerivativeToken._tokenKey = tokenKey;\n recordCleanToken(tokenKey);\n var hashId = \"\".concat(hashPrefix, \"-\").concat(hash(tokenKey));\n mergedDerivativeToken._hashId = hashId; // Not used\n\n return [mergedDerivativeToken, hashId];\n }, function (cache) {\n // Remove token will remove all related style\n cleanTokenStyle(cache[0]._tokenKey);\n });\n return cachedToken;\n}","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import devWarning from \"rc-util/es/warning\";\nexport function lintWarning(message, info) {\n var path = info.path,\n parentSelectors = info.parentSelectors;\n devWarning(false, \"[Ant Design CSS-in-JS] \".concat(path ? \"Error in \".concat(path, \": \") : '').concat(message).concat(parentSelectors.length ? \" Selector: \".concat(parentSelectors.join(' | ')) : ''));\n}","import { lintWarning } from \"./utils\";\nvar linter = function linter(key, value, info) {\n if (key === 'content') {\n // From emotion: https://github.com/emotion-js/emotion/blob/main/packages/serialize/src/index.js#L63\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n lintWarning(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\".concat(value, \"\\\"'`.\"), info);\n }\n }\n};\nexport default linter;","import { lintWarning } from \"./utils\";\nvar linter = function linter(key, value, info) {\n if (key === 'animation') {\n if (info.hashId && value !== 'none') {\n lintWarning(\"You seem to be using hashed animation '\".concat(value, \"', in which case 'animationName' with Keyframe as value is recommended.\"), info);\n }\n }\n};\nexport default linter;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport * as React from 'react';\n// @ts-ignore\nimport unitless from '@emotion/unitless';\nimport { compile, serialize, stringify } from 'stylis';\nimport { contentQuotesLinter, hashedAnimationLinter } from \"../linters\";\nimport StyleContext, { ATTR_DEV_CACHE_PATH, ATTR_MARK, ATTR_TOKEN, CSS_IN_JS_INSTANCE, CSS_IN_JS_INSTANCE_ID } from \"../StyleContext\";\nimport { supportLayer } from \"../util\";\nimport useGlobalCache from \"./useGlobalCache\";\nvar isClientSide = canUseDom();\nvar SKIP_CHECK = '_skip_check_';\n// ============================================================================\n// == Parser ==\n// ============================================================================\n// Preprocessor style content to browser support one\nexport function normalizeStyle(styleStr) {\n var serialized = serialize(compile(styleStr), stringify);\n return serialized.replace(/\\{%%%\\:[^;];}/g, ';');\n}\nfunction isCompoundCSSProperty(value) {\n return _typeof(value) === 'object' && value && SKIP_CHECK in value;\n}\n\n// 注入 hash 值\nfunction injectSelectorHash(key, hashId, hashPriority) {\n if (!hashId) {\n return key;\n }\n var hashClassName = \".\".concat(hashId);\n var hashSelector = hashPriority === 'low' ? \":where(\".concat(hashClassName, \")\") : hashClassName;\n\n // 注入 hashId\n var keys = key.split(',').map(function (k) {\n var _firstPath$match;\n var fullPath = k.trim().split(/\\s+/);\n\n // 如果 Selector 第一个是 HTML Element,那我们就插到它的后面。反之,就插到最前面。\n var firstPath = fullPath[0] || '';\n var htmlElement = ((_firstPath$match = firstPath.match(/^\\w+/)) === null || _firstPath$match === void 0 ? void 0 : _firstPath$match[0]) || '';\n firstPath = \"\".concat(htmlElement).concat(hashSelector).concat(firstPath.slice(htmlElement.length));\n return [firstPath].concat(_toConsumableArray(fullPath.slice(1))).join(' ');\n });\n return keys.join(',');\n}\n// Parse CSSObject to style content\nexport var parseStyle = function parseStyle(interpolation) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n root: true,\n parentSelectors: []\n },\n root = _ref.root,\n injectHash = _ref.injectHash,\n parentSelectors = _ref.parentSelectors;\n var hashId = config.hashId,\n layer = config.layer,\n path = config.path,\n hashPriority = config.hashPriority,\n _config$transformers = config.transformers,\n transformers = _config$transformers === void 0 ? [] : _config$transformers,\n _config$linters = config.linters,\n linters = _config$linters === void 0 ? [] : _config$linters;\n var styleStr = '';\n var effectStyle = {};\n function parseKeyframes(keyframes) {\n var animationName = keyframes.getName(hashId);\n if (!effectStyle[animationName]) {\n var _parseStyle = parseStyle(keyframes.style, config, {\n root: false,\n parentSelectors: parentSelectors\n }),\n _parseStyle2 = _slicedToArray(_parseStyle, 1),\n _parsedStr = _parseStyle2[0];\n effectStyle[animationName] = \"@keyframes \".concat(keyframes.getName(hashId)).concat(_parsedStr);\n }\n }\n function flattenList(list) {\n var fullList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n list.forEach(function (item) {\n if (Array.isArray(item)) {\n flattenList(item, fullList);\n } else if (item) {\n fullList.push(item);\n }\n });\n return fullList;\n }\n var flattenStyleList = flattenList(Array.isArray(interpolation) ? interpolation : [interpolation]);\n flattenStyleList.forEach(function (originStyle) {\n // Only root level can use raw string\n var style = typeof originStyle === 'string' && !root ? {} : originStyle;\n if (typeof style === 'string') {\n styleStr += \"\".concat(style, \"\\n\");\n } else if (style._keyframe) {\n // Keyframe\n parseKeyframes(style);\n } else {\n var mergedStyle = transformers.reduce(function (prev, trans) {\n var _trans$visit;\n return (trans === null || trans === void 0 ? void 0 : (_trans$visit = trans.visit) === null || _trans$visit === void 0 ? void 0 : _trans$visit.call(trans, prev)) || prev;\n }, style);\n\n // Normal CSSObject\n Object.keys(mergedStyle).forEach(function (key) {\n var value = mergedStyle[key];\n if (_typeof(value) === 'object' && value && (key !== 'animationName' || !value._keyframe) && !isCompoundCSSProperty(value)) {\n var subInjectHash = false;\n\n // 当成嵌套对象来处理\n var mergedKey = key.trim();\n // Whether treat child as root. In most case it is false.\n var nextRoot = false;\n\n // 拆分多个选择器\n if ((root || injectHash) && hashId) {\n if (mergedKey.startsWith('@')) {\n // 略过媒体查询,交给子节点继续插入 hashId\n subInjectHash = true;\n } else {\n // 注入 hashId\n mergedKey = injectSelectorHash(key, hashId, hashPriority);\n }\n } else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {\n // In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,\n // we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.\n // But it does not conform to stylis syntax,\n // and finally we will get `{color:red;}` as css, which is wrong.\n // So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.\n mergedKey = '';\n nextRoot = true;\n }\n var _parseStyle3 = parseStyle(value, config, {\n root: nextRoot,\n injectHash: subInjectHash,\n parentSelectors: [].concat(_toConsumableArray(parentSelectors), [mergedKey])\n }),\n _parseStyle4 = _slicedToArray(_parseStyle3, 2),\n _parsedStr2 = _parseStyle4[0],\n childEffectStyle = _parseStyle4[1];\n effectStyle = _objectSpread(_objectSpread({}, effectStyle), childEffectStyle);\n styleStr += \"\".concat(mergedKey).concat(_parsedStr2);\n } else {\n var _value;\n var actualValue = (_value = value === null || value === void 0 ? void 0 : value.value) !== null && _value !== void 0 ? _value : value;\n if (process.env.NODE_ENV !== 'production' && (_typeof(value) !== 'object' || !(value !== null && value !== void 0 && value[SKIP_CHECK]))) {\n [contentQuotesLinter, hashedAnimationLinter].concat(_toConsumableArray(linters)).forEach(function (linter) {\n return linter(key, actualValue, {\n path: path,\n hashId: hashId,\n parentSelectors: parentSelectors\n });\n });\n }\n\n // 如果是样式则直接插入\n var styleName = key.replace(/[A-Z]/g, function (match) {\n return \"-\".concat(match.toLowerCase());\n });\n\n // Auto suffix with px\n var formatValue = actualValue;\n if (!unitless[key] && typeof formatValue === 'number' && formatValue !== 0) {\n formatValue = \"\".concat(formatValue, \"px\");\n }\n\n // handle animationName & Keyframe value\n if (key === 'animationName' && value !== null && value !== void 0 && value._keyframe) {\n parseKeyframes(value);\n formatValue = value.getName(hashId);\n }\n styleStr += \"\".concat(styleName, \":\").concat(formatValue, \";\");\n }\n });\n }\n });\n if (!root) {\n styleStr = \"{\".concat(styleStr, \"}\");\n } else if (layer && supportLayer()) {\n var layerCells = layer.split(',');\n var layerName = layerCells[layerCells.length - 1].trim();\n styleStr = \"@layer \".concat(layerName, \" {\").concat(styleStr, \"}\");\n\n // Order of layer if needed\n if (layerCells.length > 1) {\n // zombieJ: stylis do not support layer order, so we need to handle it manually.\n styleStr = \"@layer \".concat(layer, \"{%%%:%}\").concat(styleStr);\n }\n }\n return [styleStr, effectStyle];\n};\n\n// ============================================================================\n// == Register ==\n// ============================================================================\nfunction uniqueHash(path, styleStr) {\n return hash(\"\".concat(path.join('%')).concat(styleStr));\n}\nfunction Empty() {\n return null;\n}\n\n/**\n * Register a style to the global style sheet.\n */\nexport default function useStyleRegister(info, styleFn) {\n var token = info.token,\n path = info.path,\n hashId = info.hashId,\n layer = info.layer;\n var _React$useContext = React.useContext(StyleContext),\n autoClear = _React$useContext.autoClear,\n mock = _React$useContext.mock,\n defaultCache = _React$useContext.defaultCache,\n hashPriority = _React$useContext.hashPriority,\n container = _React$useContext.container,\n ssrInline = _React$useContext.ssrInline,\n transformers = _React$useContext.transformers,\n linters = _React$useContext.linters;\n var tokenKey = token._tokenKey;\n var fullPath = [tokenKey].concat(_toConsumableArray(path));\n\n // Check if need insert style\n var isMergedClientSide = isClientSide;\n if (process.env.NODE_ENV !== 'production' && mock !== undefined) {\n isMergedClientSide = mock === 'client';\n }\n var _useGlobalCache = useGlobalCache('style', fullPath,\n // Create cache if needed\n function () {\n var styleObj = styleFn();\n var _parseStyle5 = parseStyle(styleObj, {\n hashId: hashId,\n hashPriority: hashPriority,\n layer: layer,\n path: path.join('-'),\n transformers: transformers,\n linters: linters\n }),\n _parseStyle6 = _slicedToArray(_parseStyle5, 2),\n parsedStyle = _parseStyle6[0],\n effectStyle = _parseStyle6[1];\n var styleStr = normalizeStyle(parsedStyle);\n var styleId = uniqueHash(fullPath, styleStr);\n if (isMergedClientSide) {\n var style = updateCSS(styleStr, styleId, {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container\n });\n style[CSS_IN_JS_INSTANCE] = CSS_IN_JS_INSTANCE_ID;\n\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, tokenKey);\n\n // Dev usage to find which cache path made this easily\n if (process.env.NODE_ENV !== 'production') {\n style.setAttribute(ATTR_DEV_CACHE_PATH, fullPath.join('|'));\n }\n\n // Inject client side effect style\n Object.keys(effectStyle).forEach(function (effectKey) {\n updateCSS(normalizeStyle(effectStyle[effectKey]), \"_effect-\".concat(effectKey), {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container\n });\n });\n }\n return [styleStr, tokenKey, styleId];\n },\n // Remove cache if no need\n function (_ref2, fromHMR) {\n var _ref3 = _slicedToArray(_ref2, 3),\n styleId = _ref3[2];\n if ((fromHMR || autoClear) && isClientSide) {\n removeCSS(styleId, {\n mark: ATTR_MARK\n });\n }\n }),\n _useGlobalCache2 = _slicedToArray(_useGlobalCache, 3),\n cachedStyleStr = _useGlobalCache2[0],\n cachedTokenKey = _useGlobalCache2[1],\n cachedStyleId = _useGlobalCache2[2];\n return function (node) {\n var styleNode;\n if (!ssrInline || isMergedClientSide || !defaultCache) {\n styleNode = /*#__PURE__*/React.createElement(Empty, null);\n } else {\n var _ref4;\n styleNode = /*#__PURE__*/React.createElement(\"style\", _extends({}, (_ref4 = {}, _defineProperty(_ref4, ATTR_TOKEN, cachedTokenKey), _defineProperty(_ref4, ATTR_MARK, cachedStyleId), _ref4), {\n dangerouslySetInnerHTML: {\n __html: cachedStyleStr\n }\n }));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, styleNode, node);\n };\n}\n\n// ============================================================================\n// == SSR ==\n// ============================================================================\nexport function extractStyle(cache) {\n // prefix with `style` is used for `useStyleRegister` to cache style context\n var styleKeys = Array.from(cache.cache.keys()).filter(function (key) {\n return key.startsWith('style%');\n });\n\n // const tokenStyles: Record<string, string[]> = {};\n\n var styleText = '';\n styleKeys.forEach(function (key) {\n var _ = _slicedToArray(cache.cache.get(key)[1], 3),\n styleStr = _[0],\n tokenKey = _[1],\n styleId = _[2];\n styleText += \"<style \".concat(ATTR_TOKEN, \"=\\\"\").concat(tokenKey, \"\\\" \").concat(ATTR_MARK, \"=\\\"\").concat(styleId, \"\\\">\").concat(styleStr, \"</style>\");\n });\n return styleText;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// ================================== Cache ==================================\n\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n for (var i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n}\nvar ThemeCache = /*#__PURE__*/function () {\n function ThemeCache() {\n _classCallCheck(this, ThemeCache);\n _defineProperty(this, \"cache\", void 0);\n _defineProperty(this, \"keys\", void 0);\n _defineProperty(this, \"cacheCallTimes\", void 0);\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n _createClass(ThemeCache, [{\n key: \"size\",\n value: function size() {\n return this.keys.length;\n }\n }, {\n key: \"internalGet\",\n value: function internalGet(derivativeOption) {\n var _cache2, _cache3;\n var updateCallTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cache = {\n map: this.cache\n };\n derivativeOption.forEach(function (derivative) {\n if (!cache) {\n cache = undefined;\n } else {\n var _cache, _cache$map;\n cache = (_cache = cache) === null || _cache === void 0 ? void 0 : (_cache$map = _cache.map) === null || _cache$map === void 0 ? void 0 : _cache$map.get(derivative);\n }\n });\n if ((_cache2 = cache) !== null && _cache2 !== void 0 && _cache2.value && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n return (_cache3 = cache) === null || _cache3 === void 0 ? void 0 : _cache3.value;\n }\n }, {\n key: \"get\",\n value: function get(derivativeOption) {\n var _this$internalGet;\n return (_this$internalGet = this.internalGet(derivativeOption, true)) === null || _this$internalGet === void 0 ? void 0 : _this$internalGet[0];\n }\n }, {\n key: \"has\",\n value: function has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n }, {\n key: \"set\",\n value: function set(derivativeOption, value) {\n var _this = this;\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n var _this$keys$reduce = this.keys.reduce(function (result, key) {\n var _result = _slicedToArray(result, 2),\n callTimes = _result[1];\n if (_this.internalGet(key)[1] < callTimes) {\n return [key, _this.internalGet(key)[1]];\n }\n return result;\n }, [this.keys[0], this.cacheCallTimes]),\n _this$keys$reduce2 = _slicedToArray(_this$keys$reduce, 1),\n targetKey = _this$keys$reduce2[0];\n this.delete(targetKey);\n }\n this.keys.push(derivativeOption);\n }\n var cache = this.cache;\n derivativeOption.forEach(function (derivative, index) {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, _this.cacheCallTimes++]\n });\n } else {\n var cacheValue = cache.get(derivative);\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n cache = cache.get(derivative).map;\n }\n });\n }\n }, {\n key: \"deleteByPath\",\n value: function deleteByPath(currentCache, derivatives) {\n var cache = currentCache.get(derivatives[0]);\n if (derivatives.length === 1) {\n var _cache$value;\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n return (_cache$value = cache.value) === null || _cache$value === void 0 ? void 0 : _cache$value[0];\n }\n var result = this.deleteByPath(cache.map, derivatives.slice(1));\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n return result;\n }\n }, {\n key: \"delete\",\n value: function _delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(function (item) {\n return !sameDerivativeOption(item, derivativeOption);\n });\n return this.deleteByPath(this.cache, derivativeOption);\n }\n return undefined;\n }\n }]);\n return ThemeCache;\n}();\n_defineProperty(ThemeCache, \"MAX_CACHE_SIZE\", 20);\n_defineProperty(ThemeCache, \"MAX_CACHE_OFFSET\", 5);\nexport { ThemeCache as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warning } from \"rc-util/es/warning\";\nvar uuid = 0;\n\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\nvar Theme = /*#__PURE__*/function () {\n function Theme(derivatives) {\n _classCallCheck(this, Theme);\n _defineProperty(this, \"derivatives\", void 0);\n _defineProperty(this, \"id\", void 0);\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n uuid += 1;\n }\n _createClass(Theme, [{\n key: \"getDerivativeToken\",\n value: function getDerivativeToken(token) {\n return this.derivatives.reduce(function (result, derivative) {\n return derivative(token, result);\n }, undefined);\n }\n }]);\n return Theme;\n}();\nexport { Theme as default };","import ThemeCache from \"./ThemeCache\";\nimport Theme from \"./Theme\";\nvar cacheThemes = new ThemeCache();\n\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\nexport default function createTheme(derivatives) {\n var derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];\n // Create new theme if not exist\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n }\n\n // Get theme from cache and return\n return cacheThemes.get(derivativeArr);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nfunction splitValues(value) {\n if (typeof value === 'number') {\n return [[value], false];\n }\n var rawStyle = String(value).trim();\n var importantCells = rawStyle.match(/(.*)(!important)/);\n var splitStyle = (importantCells ? importantCells[1] : rawStyle).trim().split(/\\s+/);\n\n // Combine styles split in brackets, like `calc(1px + 2px)`\n var temp = '';\n var brackets = 0;\n return [splitStyle.reduce(function (list, item) {\n if (item.includes('(')) {\n temp += item;\n brackets += item.split('(').length - 1;\n } else if (item.includes(')')) {\n temp += item;\n brackets -= item.split(')').length - 1;\n if (brackets === 0) {\n list.push(temp);\n temp = '';\n }\n } else if (brackets > 0) {\n temp += item;\n } else {\n list.push(item);\n }\n return list;\n }, []), !!importantCells];\n}\nfunction noSplit(list) {\n list.notSplit = true;\n return list;\n}\nvar keyMap = {\n // Inset\n inset: ['top', 'right', 'bottom', 'left'],\n insetBlock: ['top', 'bottom'],\n insetBlockStart: ['top'],\n insetBlockEnd: ['bottom'],\n insetInline: ['left', 'right'],\n insetInlineStart: ['left'],\n insetInlineEnd: ['right'],\n // Margin\n marginBlock: ['marginTop', 'marginBottom'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n marginInline: ['marginLeft', 'marginRight'],\n marginInlineStart: ['marginLeft'],\n marginInlineEnd: ['marginRight'],\n // Padding\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom'],\n paddingInline: ['paddingLeft', 'paddingRight'],\n paddingInlineStart: ['paddingLeft'],\n paddingInlineEnd: ['paddingRight'],\n // Border\n borderBlock: noSplit(['borderTop', 'borderBottom']),\n borderBlockStart: noSplit(['borderTop']),\n borderBlockEnd: noSplit(['borderBottom']),\n borderInline: noSplit(['borderLeft', 'borderRight']),\n borderInlineStart: noSplit(['borderLeft']),\n borderInlineEnd: noSplit(['borderRight']),\n // Border width\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndWidth: ['borderBottomWidth'],\n borderInlineWidth: ['borderLeftWidth', 'borderRightWidth'],\n borderInlineStartWidth: ['borderLeftWidth'],\n borderInlineEndWidth: ['borderRightWidth'],\n // Border style\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderInlineStyle: ['borderLeftStyle', 'borderRightStyle'],\n borderInlineStartStyle: ['borderLeftStyle'],\n borderInlineEndStyle: ['borderRightStyle'],\n // Border color\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockEndColor: ['borderBottomColor'],\n borderInlineColor: ['borderLeftColor', 'borderRightColor'],\n borderInlineStartColor: ['borderLeftColor'],\n borderInlineEndColor: ['borderRightColor'],\n // Border radius\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius']\n};\nfunction wrapImportantAndSkipCheck(value, important) {\n var parsedValue = value;\n if (important) {\n parsedValue = \"\".concat(parsedValue, \" !important\");\n }\n return {\n _skip_check_: true,\n value: parsedValue\n };\n}\n\n/**\n * Convert css logical properties to legacy properties.\n * Such as: `margin-block-start` to `margin-top`.\n * Transform list:\n * - inset\n * - margin\n * - padding\n * - border\n */\nvar transform = {\n visit: function visit(cssObj) {\n var clone = {};\n Object.keys(cssObj).forEach(function (key) {\n var value = cssObj[key];\n var matchValue = keyMap[key];\n if (matchValue && (typeof value === 'number' || typeof value === 'string')) {\n var _splitValues = splitValues(value),\n _splitValues2 = _slicedToArray(_splitValues, 2),\n _values = _splitValues2[0],\n _important = _splitValues2[1];\n if (matchValue.length && matchValue.notSplit) {\n // not split means always give same value like border\n matchValue.forEach(function (matchKey) {\n clone[matchKey] = wrapImportantAndSkipCheck(value, _important);\n });\n } else if (matchValue.length === 1) {\n // Handle like `marginBlockStart` => `marginTop`\n clone[matchValue[0]] = wrapImportantAndSkipCheck(value, _important);\n } else if (matchValue.length === 2) {\n // Handle like `marginBlock` => `marginTop` & `marginBottom`\n matchValue.forEach(function (matchKey, index) {\n var _values$index;\n clone[matchKey] = wrapImportantAndSkipCheck((_values$index = _values[index]) !== null && _values$index !== void 0 ? _values$index : _values[0], _important);\n });\n } else if (matchValue.length === 4) {\n // Handle like `inset` => `top` & `right` & `bottom` & `left`\n matchValue.forEach(function (matchKey, index) {\n var _ref, _values$index2;\n clone[matchKey] = wrapImportantAndSkipCheck((_ref = (_values$index2 = _values[index]) !== null && _values$index2 !== void 0 ? _values$index2 : _values[index - 2]) !== null && _ref !== void 0 ? _ref : _values[0], _important);\n });\n } else {\n clone[key] = value;\n }\n } else {\n clone[key] = value;\n }\n });\n return clone;\n }\n};\nexport default transform;","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","import warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldWarning: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldValue: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n destroyForm: warningFunc,\n setCallbacks: warningFunc,\n registerWatch: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc,\n getInitialValue: warningFunc\n };\n }\n});\nexport default Context;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n return Array.isArray(value) ? value : [value];\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format(template) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var i = 0;\n var len = args.length;\n\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n\n if (typeof template === 'string') {\n var str = template.replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return template;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors || []);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k] || []);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback, source) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction isErrorObj(obj) {\n return !!(obj && obj.message !== undefined);\n}\n\nfunction getValue(value, path) {\n var v = value;\n\n for (var i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n\n v = v[path[i]];\n }\n\n return v;\n}\n\nfunction complementError(rule, source) {\n return function (oe) {\n var fieldValue;\n\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[oe.field || rule.fullField];\n }\n\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue: fieldValue,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\nvar required$1 = function required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nvar whitespace = function whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\n// https://github.com/kevva/url-regex/blob/master/index.js\nvar urlReg;\nvar getUrlRegex = (function () {\n if (urlReg) {\n return urlReg;\n }\n\n var word = '[a-fA-F\\\\d:]';\n\n var b = function b(options) {\n return options && options.includeBoundaries ? \"(?:(?<=\\\\s|^)(?=\" + word + \")|(?<=\" + word + \")(?=\\\\s|$))\" : '';\n };\n\n var v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n var v6seg = '[a-fA-F\\\\d]{1,4}';\n var v6 = (\"\\n(?:\\n(?:\" + v6seg + \":){7}(?:\" + v6seg + \"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\\n(?:\" + v6seg + \":){6}(?:\" + v4 + \"|:\" + v6seg + \"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\\n(?:\" + v6seg + \":){5}(?::\" + v4 + \"|(?::\" + v6seg + \"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\\n(?:\" + v6seg + \":){4}(?:(?::\" + v6seg + \"){0,1}:\" + v4 + \"|(?::\" + v6seg + \"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\\n(?:\" + v6seg + \":){3}(?:(?::\" + v6seg + \"){0,2}:\" + v4 + \"|(?::\" + v6seg + \"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){2}(?:(?::\" + v6seg + \"){0,3}:\" + v4 + \"|(?::\" + v6seg + \"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){1}(?:(?::\" + v6seg + \"){0,4}:\" + v4 + \"|(?::\" + v6seg + \"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\\n(?::(?:(?::\" + v6seg + \"){0,5}:\" + v4 + \"|(?::\" + v6seg + \"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\\n\").replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim(); // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n\n var v46Exact = new RegExp(\"(?:^\" + v4 + \"$)|(?:^\" + v6 + \"$)\");\n var v4exact = new RegExp(\"^\" + v4 + \"$\");\n var v6exact = new RegExp(\"^\" + v6 + \"$\");\n\n var ip = function ip(options) {\n return options && options.exact ? v46Exact : new RegExp(\"(?:\" + b(options) + v4 + b(options) + \")|(?:\" + b(options) + v6 + b(options) + \")\", 'g');\n };\n\n ip.v4 = function (options) {\n return options && options.exact ? v4exact : new RegExp(\"\" + b(options) + v4 + b(options), 'g');\n };\n\n ip.v6 = function (options) {\n return options && options.exact ? v6exact : new RegExp(\"\" + b(options) + v6 + b(options), 'g');\n };\n\n var protocol = \"(?:(?:[a-z]+:)?//)\";\n var auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n var ipv4 = ip.v4().source;\n var ipv6 = ip.v6().source;\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n var port = '(?::\\\\d{2,5})?';\n var path = '(?:[/?#][^\\\\s\"]*)?';\n var regex = \"(?:\" + protocol + \"|www\\\\.)\" + auth + \"(?:localhost|\" + ipv4 + \"|\" + ipv6 + \"|\" + host + domain + tld + \")\" + port + path;\n urlReg = new RegExp(\"(?:^\" + regex + \"$)\", 'i');\n return urlReg;\n});\n\n/* eslint max-len:0 */\n\nvar pattern$2 = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && value.length <= 320 && !!value.match(pattern$2.email);\n },\n url: function url(value) {\n return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex());\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern$2.hex);\n }\n};\n\nvar type$1 = function type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required$1(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n};\n\nvar range = function range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n};\n\nvar ENUM$1 = 'enum';\n\nvar enumerable$1 = function enumerable(rule, value, source, errors, options) {\n rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];\n\n if (rule[ENUM$1].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(', ')));\n }\n};\n\nvar pattern$1 = function pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n};\n\nvar rules = {\n required: required$1,\n whitespace: whitespace,\n type: type$1,\n range: range,\n \"enum\": enumerable$1,\n pattern: pattern$1\n};\n\nvar string = function string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar method = function method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar number = function number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar _boolean = function _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar regexp = function regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar integer = function integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar floatFn = function floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar array = function array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar object = function object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar ENUM = 'enum';\n\nvar enumerable = function enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar pattern = function pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar date = function date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar required = function required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nvar type = function type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar any = function any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n};\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nvar Schema = /*#__PURE__*/function () {\n // ========================= Static =========================\n // ======================== Instance ========================\n function Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n }\n\n var _proto = Schema.prototype;\n\n _proto.define = function define(rules) {\n var _this = this;\n\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n Object.keys(rules).forEach(function (name) {\n var item = rules[name];\n _this.rules[name] = Array.isArray(item) ? item : [item];\n });\n };\n\n _proto.messages = function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n };\n\n _proto.validate = function validate(source_, o, oc) {\n var _this2 = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n\n return Promise.resolve(source);\n }\n\n function complete(results) {\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (var i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n callback(errors, fields);\n }\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n var arr = _this2.rules[z];\n var value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n } // Fill validator. Skip if nothing need to validate\n\n\n rule.validator = _this2.getValidationMethod(rule);\n\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this2.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullField(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key,\n fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key]\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errorList = Array.isArray(e) ? e : [e];\n\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n } // Fill error info\n\n\n var filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = [].concat(rule.message).map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(filledErrors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n Object.keys(data.value).map(function (key) {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n var paredFieldsSchema = {};\n Object.keys(fieldsSchema).forEach(function (field) {\n var fieldSchema = fieldsSchema[field];\n var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));\n });\n var schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (filledErrors && filledErrors.length) {\n finalErrors.push.apply(finalErrors, filledErrors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error == null ? void 0 : console.error(error); // rethrow to report error\n\n if (!options.suppressValidatorError) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n\n cb(error.message);\n }\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n }, source);\n };\n\n _proto.getType = function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n };\n\n _proto.getValidationMethod = function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || undefined;\n };\n\n return Schema;\n}();\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport { Schema as default };\n//# sourceMappingURL=index.js.map\n","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","export default function get(entity, path) {\n var current = entity;\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nfunction cloneDeep(val) {\n if (Array.isArray(val)) {\n return cloneArrayDeep(val);\n } else if (_typeof(val) === 'object' && val !== null) {\n return cloneObjectDeep(val);\n }\n return val;\n}\nfunction cloneObjectDeep(val) {\n if (Object.getPrototypeOf(val) === Object.prototype) {\n var res = {};\n for (var key in val) {\n res[key] = cloneDeep(val[key]);\n }\n return res;\n }\n return val;\n}\nfunction cloneArrayDeep(val) {\n return val.map(function (item) {\n return cloneDeep(item);\n });\n}\nexport default cloneDeep;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport get from \"rc-util/es/utils/get\";\nimport set from \"rc-util/es/utils/set\";\nimport { toArray } from './typeUtil';\nimport cloneDeep from '../utils/cloneDeep';\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function getValue(store, namePath) {\n var value = get(store, namePath);\n return value;\n}\nexport function setValue(store, namePath, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var newStore = set(store, namePath, value, removeIfUndefined);\n return newStore;\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\nexport function containsNamePath(namePathList, namePath) {\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(path, namePath);\n });\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\n/**\n * Copy values into store and return a new values object\n * ({ a: 1, b: { c: 2 } }, { a: 4, b: { d: 5 } }) => { a: 4, b: { c: 2, d: 5 } }\n */\nfunction internalSetValues(store, values) {\n var newStore = Array.isArray(store) ? _toConsumableArray(store) : _objectSpread({}, store);\n if (!values) {\n return newStore;\n }\n Object.keys(values).forEach(function (key) {\n var prevValue = newStore[key];\n var value = values[key];\n // If both are object (but target is not array), we use recursion to set deep value\n var recursive = isObject(prevValue) && isObject(value);\n newStore[key] = recursive ? internalSetValues(prevValue, value || {}) : cloneDeep(value); // Clone deep for arrays\n });\n\n return newStore;\n}\nexport function setValues(store) {\n for (var _len = arguments.length, restValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n restValues[_key - 1] = arguments[_key];\n }\n return restValues.reduce(function (current, newStore) {\n return internalSetValues(current, newStore);\n }, store);\n}\nexport function matchNamePath(namePath, changedNamePath) {\n if (!namePath || !changedNamePath || namePath.length !== changedNamePath.length) {\n return false;\n }\n return namePath.every(function (nameUnit, i) {\n return changedNamePath[i] === nameUnit;\n });\n}\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n if (!source && target || source && !target) {\n return false;\n }\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(sourceKeys, targetKeys));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n if (event && event.target && _typeof(event.target) === 'object' && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n return event;\n}\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n return array;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport RawAsyncValidator from 'async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { defaultValidateMessages } from './messages';\nimport { setValues } from './valueUtil';\n// Remove incorrect original ts define\nvar AsyncValidator = RawAsyncValidator;\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\nvar CODE_LOGIC_ERROR = 'CODE_LOGIC_ERROR';\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, originValidator, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // Bug of `async-validator`\n // https://github.com/react-component/field-form/issues/316\n // https://github.com/react-component/field-form/issues/313\n delete cloneRule.ruleIndex;\n if (cloneRule.validator) {\n originValidator = cloneRule.validator;\n cloneRule.validator = function () {\n try {\n return originValidator.apply(void 0, arguments);\n } catch (error) {\n console.error(error);\n return Promise.reject(CODE_LOGIC_ERROR);\n }\n };\n }\n // We should special handle array validate\n subRuleField = null;\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = setValues({}, defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context2.prev = 9;\n _context2.next = 12;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n case 12:\n _context2.next = 17;\n break;\n case 14:\n _context2.prev = 14;\n _context2.t0 = _context2[\"catch\"](9);\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref4, index) {\n var message = _ref4.message;\n var mergedMessage = message === CODE_LOGIC_ERROR ? messages.default : message;\n return /*#__PURE__*/React.isValidElement(mergedMessage) ?\n /*#__PURE__*/\n // Wrap ReactNode with `key`\n React.cloneElement(mergedMessage, {\n key: \"error_\".concat(index)\n }) : mergedMessage;\n });\n }\n case 17:\n if (!(!result.length && subRuleField)) {\n _context2.next = 22;\n break;\n }\n _context2.next = 20;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n case 20:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n case 22:\n // Replace message with variables\n kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n }, messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n return error;\n });\n return _context2.abrupt(\"return\", fillVariableResult);\n case 25:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[9, 14]]);\n }));\n return _validateRule.apply(this, arguments);\n}\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.');\n // Fill rule with context\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n var cloneRule = _objectSpread(_objectSpread({}, currentRule), {}, {\n ruleIndex: ruleIndex\n });\n // Replace validator if needed\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false;\n // Wrap callback only accept when promise not provided\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n };\n // Get promise\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n return cloneRule;\n }).sort(function (_ref, _ref2) {\n var w1 = _ref.warningOnly,\n i1 = _ref.ruleIndex;\n var w2 = _ref2.warningOnly,\n i2 = _ref2.ruleIndex;\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n if (w1) {\n return 1;\n }\n return -1;\n });\n // Do validate rules\n var summaryPromise;\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolve, reject) {\n var i, rule, errors;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 12;\n break;\n }\n rule = filledRules[i];\n _context.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n case 5:\n errors = _context.sent;\n if (!errors.length) {\n _context.next = 9;\n break;\n }\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context.abrupt(\"return\");\n case 9:\n i += 1;\n _context.next = 1;\n break;\n case 12:\n /* eslint-enable */\n resolve([]);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n }\n // Internal catch error to avoid console error log.\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(rulePromises) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref5;\n var errors = (_ref5 = []).concat.apply(_ref5, _toConsumableArray(errorsList));\n return errors;\n }));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n count += 1;\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"name\"];\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport { toArray } from './utils/typeUtil';\nimport { validateRules } from './utils/validateUtil';\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from './utils/valueUtil';\nvar EMPTY_ERRORS = [];\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n return prevValue !== nextValue;\n}\n// We use Class instead of Hooks here since it will cost much code by using Hooks.\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n var _super = _createSuper(Field);\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n\n /**\n * Mark when touched & validated. Currently only used for `dependencies`.\n * Note that we do not think field with `initialValue` is dirty\n * but this will be by `isFieldDirty` func.\n */\n\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n _classCallCheck(this, Field);\n _this = _super.call(this, props);\n // Register on init\n _this.state = {\n resetCount: 0\n };\n _this.cancelRegisterFunc = null;\n _this.mounted = false;\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = void 0;\n _this.prevValidating = void 0;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.cancelRegister = function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n _this.cancelRegisterFunc = null;\n };\n _this.getNamePath = function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n };\n _this.getRules = function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n return rule;\n });\n };\n _this.refresh = function () {\n if (!_this.mounted) return;\n /**\n * Clean up current node.\n */\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n };\n _this.triggerMetaEvent = function (destroy) {\n var onMetaChange = _this.props.onMetaChange;\n onMetaChange === null || onMetaChange === void 0 ? void 0 : onMetaChange(_objectSpread(_objectSpread({}, _this.getMeta()), {}, {\n destroy: destroy\n }));\n };\n _this.onStoreChange = function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n var namePath = _this.getNamePath();\n var prevValue = _this.getValue(prevStore);\n var curValue = _this.getValue(store);\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath);\n // `setFieldsValue` is a quick access to update related status\n if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n }\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n onReset === null || onReset === void 0 ? void 0 : onReset();\n _this.refresh();\n return;\n }\n break;\n /**\n * In case field with `preserve = false` nest deps like:\n * - A = 1 => show B\n * - B = 1 => show C\n * - Reset A, need clean B, C\n */\n case 'remove':\n {\n if (shouldUpdate) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'setField':\n {\n if (namePathMatch) {\n var data = info.data;\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n if ('errors' in data) {\n _this.errors = data.errors || EMPTY_ERRORS;\n }\n if ('warnings' in data) {\n _this.warnings = data.warnings || EMPTY_ERRORS;\n }\n _this.dirty = true;\n _this.triggerMetaEvent();\n _this.reRender();\n return;\n }\n // Handle update by `setField` with `shouldUpdate`\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath);\n // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n return;\n }\n break;\n }\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example <List name=\"list\"><Field name={['list', 0]}></List>\n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n if (shouldUpdate === true) {\n _this.reRender();\n }\n };\n _this.validateRules = function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n var currentValue = _this.getValue();\n // Force change to async to avoid rule OOD under renderProps field\n var rootPromise = Promise.resolve().then(function () {\n if (!_this.mounted) {\n return [];\n }\n var _this$props5 = _this.props,\n _this$props5$validate = _this$props5.validateFirst,\n validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate,\n messageVariables = _this$props5.messageVariables;\n var _ref2 = options || {},\n triggerName = _ref2.triggerName;\n var filteredRules = _this.getRules();\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n return rule;\n }).filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n if (!validateTrigger) {\n return true;\n }\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n var promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;\n if (_this.validatePromise === rootPromise) {\n var _ruleErrors$forEach;\n _this.validatePromise = null;\n // Get errors & warnings\n var nextErrors = [];\n var nextWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref3) {\n var warningOnly = _ref3.rule.warningOnly,\n _ref3$errors = _ref3.errors,\n errors = _ref3$errors === void 0 ? EMPTY_ERRORS : _ref3$errors;\n if (warningOnly) {\n nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));\n } else {\n nextErrors.push.apply(nextErrors, _toConsumableArray(errors));\n }\n });\n _this.errors = nextErrors;\n _this.warnings = nextWarnings;\n _this.triggerMetaEvent();\n _this.reRender();\n }\n });\n return promise;\n });\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n // Force trigger re-render since we need sync renderProps with new meta\n _this.reRender();\n return rootPromise;\n };\n _this.isFieldValidating = function () {\n return !!_this.validatePromise;\n };\n _this.isFieldTouched = function () {\n return _this.touched;\n };\n _this.isFieldDirty = function () {\n // Touched or validate or has initialValue\n if (_this.dirty || _this.props.initialValue !== undefined) {\n return true;\n }\n // Form set initialValue\n var fieldContext = _this.props.fieldContext;\n var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),\n getInitialValue = _fieldContext$getInte.getInitialValue;\n if (getInitialValue(_this.getNamePath()) !== undefined) {\n return true;\n }\n return false;\n };\n _this.getErrors = function () {\n return _this.errors;\n };\n _this.getWarnings = function () {\n return _this.warnings;\n };\n _this.isListField = function () {\n return _this.props.isListField;\n };\n _this.isList = function () {\n return _this.props.isList;\n };\n _this.isPreserve = function () {\n return _this.props.preserve;\n };\n _this.getMeta = function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n warnings: _this.warnings,\n name: _this.getNamePath(),\n validated: _this.validatePromise === null\n };\n return meta;\n };\n _this.getOnlyChild = function (children) {\n // Support render props\n if (typeof children === 'function') {\n var meta = _this.getMeta();\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), meta, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n }\n // Filed element only\n var childList = toChildrenArray(children);\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n return {\n child: childList[0],\n isFunction: false\n };\n };\n _this.getValue = function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n var namePath = _this.getNamePath();\n return getValue(store || getFieldsValue(true), namePath);\n };\n _this.getControlled = function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n var namePath = _this.getNamePath();\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n var value = _this.getValue();\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var originTriggerFunc = childProps[trigger];\n var control = _objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value));\n // Add trigger\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n _this.triggerMetaEvent();\n var newValue;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n };\n // Add validateTrigger\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n }\n // Always use latest rules\n var rules = _this.props.rules;\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n };\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n initEntityValue(_assertThisInitialized(_this));\n }\n return _this;\n }\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true;\n // Register on init\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n this.cancelRegisterFunc = registerField(this);\n }\n // One more render for component in case fields not ready\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.triggerMetaEvent(true);\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction;\n // Not need to `cloneElement` since user can handle this in render function self\n var returnChildNode;\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n return Field;\n}(React.Component);\nField.contextType = FieldContext;\nField.defaultProps = {\n trigger: 'onChange',\n valuePropName: 'value'\n};\nfunction WrapperField(_ref5) {\n var name = _ref5.name,\n restProps = _objectWithoutProperties(_ref5, _excluded);\n var fieldContext = React.useContext(FieldContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n }\n // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\nexport default WrapperField;","import * as React from 'react';\nvar ListContext = /*#__PURE__*/React.createContext(null);\nexport default ListContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from './FieldContext';\nimport Field from './Field';\nimport { move as _move, getNamePath } from './utils/valueUtil';\nimport ListContext from './ListContext';\nvar List = function List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger;\n var context = React.useContext(FieldContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current;\n var prefixName = React.useMemo(function () {\n var parentPrefixName = getNamePath(context.prefixName) || [];\n return [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n }, [context.prefixName, name]);\n var fieldContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n });\n }, [context, prefixName]);\n // List context\n var listContext = React.useMemo(function () {\n return {\n getKey: function getKey(namePath) {\n var len = prefixName.length;\n var pathName = namePath[len];\n return [keyManager.keys[pathName], namePath.slice(len + 1)];\n }\n };\n }, [prefixName]);\n // User should not pass `children` as other type.\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n if (source === 'internal') {\n return false;\n }\n return prevValue !== nextValue;\n };\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: listContext\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: fieldContext\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n if (indexSet.size <= 0) {\n return;\n }\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n });\n // Trigger store change\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n var newValue = getNewValue();\n // Do not handle out of range\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n keyManager.keys = _move(keyManager.keys, from, to);\n // Trigger store change\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n if (!Array.isArray(listValue)) {\n listValue = [];\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n })));\n};\nexport default List;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n if (count > 0) {\n return;\n }\n if (hasError) {\n reject(results);\n }\n resolve(results);\n });\n });\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n })\n // Magic split\n .join(SPLIT);\n}\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n this.kvs = new Map();\n }\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n }\n // Since we only use this in test, let simply realize this\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n return NameMap;\n}();\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nvar _excluded = [\"name\", \"errors\"];\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { HOOK_MARK } from './FieldContext';\nimport { allPromiseFinish } from './utils/asyncUtil';\nimport cloneDeep from './utils/cloneDeep';\nimport { defaultValidateMessages } from './utils/messages';\nimport NameMap from './utils/NameMap';\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue, setValues } from './utils/valueUtil';\nexport var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {\n var _this = this;\n _classCallCheck(this, FormStore);\n this.formHooked = false;\n this.forceRootUpdate = void 0;\n this.subscribable = true;\n this.store = {};\n this.fieldEntities = [];\n this.initialValues = {};\n this.callbacks = {};\n this.validateMessages = null;\n this.preserve = null;\n this.lastValidatePromise = null;\n this.getForm = function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldWarning: _this.getFieldWarning,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldValue: _this.setFieldValue,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n _init: true,\n getInternalHooks: _this.getInternalHooks\n };\n };\n this.getInternalHooks = function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n destroyForm: _this.destroyForm,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve,\n getInitialValue: _this.getInitialValue,\n registerWatch: _this.registerWatch\n };\n }\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n };\n this.useSubscribe = function (subscribable) {\n _this.subscribable = subscribable;\n };\n this.prevWithoutPreserves = null;\n this.setInitialValues = function (initialValues, init) {\n _this.initialValues = initialValues || {};\n if (init) {\n var _this$prevWithoutPres;\n var nextStore = setValues({}, initialValues, _this.store);\n // We will take consider prev form unmount fields.\n // When the field is not `preserve`, we need fill this with initialValues instead of store.\n // eslint-disable-next-line array-callback-return\n (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 ? void 0 : _this$prevWithoutPres.map(function (_ref) {\n var namePath = _ref.key;\n nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));\n });\n _this.prevWithoutPreserves = null;\n _this.updateStore(nextStore);\n }\n };\n this.destroyForm = function () {\n var prevWithoutPreserves = new NameMap();\n _this.getFieldEntities(true).forEach(function (entity) {\n if (!_this.isMergedPreserve(entity.isPreserve())) {\n prevWithoutPreserves.set(entity.getNamePath(), true);\n }\n });\n _this.prevWithoutPreserves = prevWithoutPreserves;\n };\n this.getInitialValue = function (namePath) {\n var initValue = getValue(_this.initialValues, namePath);\n // Not cloneDeep when without `namePath`\n return namePath.length ? cloneDeep(initValue) : initValue;\n };\n this.setCallbacks = function (callbacks) {\n _this.callbacks = callbacks;\n };\n this.setValidateMessages = function (validateMessages) {\n _this.validateMessages = validateMessages;\n };\n this.setPreserve = function (preserve) {\n _this.preserve = preserve;\n };\n this.watchList = [];\n this.registerWatch = function (callback) {\n _this.watchList.push(callback);\n return function () {\n _this.watchList = _this.watchList.filter(function (fn) {\n return fn !== callback;\n });\n };\n };\n this.notifyWatch = function () {\n var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n // No need to cost perf when nothing need to watch\n if (_this.watchList.length) {\n var values = _this.getFieldsValue();\n _this.watchList.forEach(function (callback) {\n callback(values, namePath);\n });\n }\n };\n this.timeoutId = null;\n this.warningUnhooked = function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n };\n this.updateStore = function (nextStore) {\n _this.store = nextStore;\n };\n this.getFieldEntities = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!pure) {\n return _this.fieldEntities;\n }\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n };\n this.getFieldsMap = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n return cache;\n };\n this.getFieldEntitiesForNamePathList = function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n var cache = _this.getFieldsMap(true);\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n };\n this.getFieldsValue = function (nameList, filterFunc) {\n _this.warningUnhooked();\n if (nameList === true && !filterFunc) {\n return _this.store;\n }\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _entity$isListField;\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();\n // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n if (!nameList && ((_entity$isListField = entity.isListField) === null || _entity$isListField === void 0 ? void 0 : _entity$isListField.call(entity))) {\n return;\n }\n if (!filterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n if (filterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n };\n this.getFieldValue = function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n };\n this.getFieldsError = function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors(),\n warnings: entity.getWarnings()\n };\n }\n return {\n name: getNamePath(nameList[index]),\n errors: [],\n warnings: []\n };\n });\n };\n this.getFieldError = function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.errors;\n };\n this.getFieldWarning = function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.warnings;\n };\n this.isFieldsTouched = function () {\n _this.warningUnhooked();\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n var fieldEntities = _this.getFieldEntities(true);\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n };\n // ===== Will get fully compare when not config namePathList =====\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);\n }\n // Generate a nest tree for validate\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath();\n // Find matched entity and put into list\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n });\n // Check if NameMap value is touched\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n var namePathListEntities = map.map(function (_ref2) {\n var value = _ref2.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n };\n this.isFieldTouched = function (name) {\n _this.warningUnhooked();\n return _this.isFieldsTouched([name]);\n };\n this.isFieldsValidating = function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntities();\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n };\n this.isFieldValidating = function (name) {\n _this.warningUnhooked();\n return _this.isFieldsValidating([name]);\n };\n this.resetWithFieldInitialValue = function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n var fieldEntities = _this.getFieldEntities(true);\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath();\n // Record only if has `initialValue`\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n });\n // Reset\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n var formInitialValue = _this.getInitialValue(namePath);\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath);\n // Set `initialValue`\n if (!info.skipExist || originValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));\n }\n }\n }\n }\n });\n };\n var requiredFieldEntities;\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n if (records) {\n var _requiredFieldEntitie;\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n resetWithFields(requiredFieldEntities);\n };\n this.resetFields = function (nameList) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (!nameList) {\n _this.updateStore(setValues({}, _this.initialValues));\n _this.resetWithFieldInitialValue();\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n _this.notifyWatch();\n return;\n }\n // Reset by `nameList`\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n });\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n _this.notifyWatch(namePathList);\n };\n this.setFields = function (fields) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n var namePathList = [];\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n errors = fieldData.errors,\n data = _objectWithoutProperties(fieldData, _excluded);\n var namePath = getNamePath(name);\n namePathList.push(namePath);\n // Value\n if ('value' in data) {\n _this.updateStore(setValue(_this.store, namePath, data.value));\n }\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n _this.notifyWatch(namePathList);\n };\n this.getFields = function () {\n var entities = _this.getFieldEntities(true);\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n };\n this.initEntityValue = function (entity) {\n var initialValue = entity.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n if (prevValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n }\n }\n };\n this.isMergedPreserve = function (fieldPreserve) {\n var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;\n return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;\n };\n this.registerField = function (entity) {\n _this.fieldEntities.push(entity);\n var namePath = entity.getNamePath();\n _this.notifyWatch([namePath]);\n // Set initial values\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n }\n // un-register field callback\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n });\n // Clean up store value if not preserve\n if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {\n var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (\n // Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n var _prevStore = _this.store;\n _this.updateStore(setValue(_prevStore, namePath, defaultValue, true));\n // Notify that field is unmount\n _this.notifyObservers(_prevStore, [namePath], {\n type: 'remove'\n });\n // Dependencies update\n _this.triggerDependenciesUpdate(_prevStore, namePath);\n }\n }\n _this.notifyWatch([namePath]);\n };\n };\n this.dispatch = function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n _this.updateValue(namePath, value);\n break;\n }\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n break;\n }\n default:\n // Currently we don't have other action. Do nothing.\n }\n };\n this.notifyObservers = function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n _this.getFieldEntities().forEach(function (_ref3) {\n var onStoreChange = _ref3.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n };\n this.triggerDependenciesUpdate = function (prevStore, namePath) {\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n });\n return childrenFields;\n };\n this.updateValue = function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.updateStore(setValue(_this.store, namePath, value));\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n });\n _this.notifyWatch([namePath]);\n // Dependencies update\n var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath);\n // trigger callback function\n var onValuesChange = _this.callbacks.onValuesChange;\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n };\n this.setFieldsValue = function (store) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (store) {\n var nextStore = setValues(_this.store, store);\n _this.updateStore(nextStore);\n }\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n _this.notifyWatch();\n };\n this.setFieldValue = function (name, value) {\n _this.setFields([{\n name: name,\n value: value\n }]);\n };\n this.getDependencyChildrenFields = function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n fillChildren(rootNamePath);\n return childrenFields;\n };\n this.triggerOnFieldsChange = function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n if (onFieldsChange) {\n var fields = _this.getFields();\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref4) {\n var name = _ref4.name,\n errors = _ref4.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n var changedFields = fields.filter(function (_ref5) {\n var fieldName = _ref5.name;\n return containsNamePath(namePathList, fieldName);\n });\n onFieldsChange(changedFields, fields);\n }\n };\n this.validateFields = function (nameList, options) {\n _this.warningUnhooked();\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : [];\n // Collect result in promise list\n var promiseList = [];\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n /**\n * Recursive validate if configured.\n * TODO: perf improvement @zombieJ\n */\n if ((options === null || options === void 0 ? void 0 : options.recursive) && provideNameList) {\n var namePath = field.getNamePath();\n if (\n // nameList[i] === undefined 说明是以 nameList 开头的\n // ['name'] -> ['name','list']\n namePath.every(function (nameUnit, i) {\n return nameList[i] === nameUnit || nameList[i] === undefined;\n })) {\n namePathList.push(namePath);\n }\n }\n // Skip if without rule\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n var fieldNamePath = field.getNamePath();\n // Add field validate rule in to promise list\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options));\n // Wrap promise with field\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var _ruleErrors$forEach;\n var mergedErrors = [];\n var mergedWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref6) {\n var warningOnly = _ref6.rule.warningOnly,\n errors = _ref6.errors;\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise;\n // Notify fields with rule that validate has finished and need update\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref7) {\n var name = _ref7.name;\n return name;\n });\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n });\n // Do not throw in console\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n };\n this.submit = function () {\n _this.warningUnhooked();\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n };\n this.forceRootUpdate = forceRootUpdate;\n});\nfunction useForm(form) {\n var formRef = React.useRef();\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n return [formRef.current];\n}\nexport default useForm;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\"];\nimport * as React from 'react';\nimport useForm from './useForm';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport FormContext from './FormContext';\nimport { isSimilar } from './utils/valueUtil';\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var formContext = React.useContext(FormContext);\n // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n var _formInstance$getInte = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _formInstance$getInte.useSubscribe,\n setInitialValues = _formInstance$getInte.setInitialValues,\n setCallbacks = _formInstance$getInte.setCallbacks,\n setValidateMessages = _formInstance$getInte.setValidateMessages,\n setPreserve = _formInstance$getInte.setPreserve,\n destroyForm = _formInstance$getInte.destroyForm;\n // Pass ref with form instance\n React.useImperativeHandle(ref, function () {\n return formInstance;\n });\n // Register form into Context\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]);\n // Pass props to store\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve);\n // Set initial value, init store value when first mount\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n if (!mountRef.current) {\n mountRef.current = true;\n }\n React.useEffect(function () {\n return destroyForm;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // Prepare children by `children` type\n var childrenNode;\n var childrenRenderProps = typeof children === 'function';\n if (childrenRenderProps) {\n var values = formInstance.getFieldsValue(true);\n childrenNode = children(values, formInstance);\n } else {\n childrenNode = children;\n }\n // Not use subscribe when using render props\n useSubscribe(!childrenRenderProps);\n // Listen if fields provided. We use ref to save prev data here to avoid additional render\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode);\n if (Component === false) {\n return wrapperNode;\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 ? void 0 : _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\nexport default Form;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { FieldContext } from '.';\nimport warning from \"rc-util/es/warning\";\nimport { HOOK_MARK } from './FieldContext';\nimport { useState, useContext, useEffect, useRef, useMemo } from 'react';\nimport { getNamePath, getValue } from './utils/valueUtil';\nexport function stringify(value) {\n try {\n return JSON.stringify(value);\n } catch (err) {\n return Math.random();\n }\n}\nvar useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath) {\n var fullyStr = namePath.join('__RC_FIELD_FORM_SPLIT__');\n var nameStrRef = useRef(fullyStr);\n warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');\n} : function () {};\nfunction useWatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var _args$ = args[0],\n dependencies = _args$ === void 0 ? [] : _args$,\n form = args[1];\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var valueStr = useMemo(function () {\n return stringify(value);\n }, [value]);\n var valueStrRef = useRef(valueStr);\n valueStrRef.current = valueStr;\n var fieldContext = useContext(FieldContext);\n var formInstance = form || fieldContext;\n var isValidForm = formInstance && formInstance._init;\n // Warning if not exist form instance\n if (process.env.NODE_ENV !== 'production') {\n warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n }\n var namePath = getNamePath(dependencies);\n var namePathRef = useRef(namePath);\n namePathRef.current = namePath;\n useWatchWarning(namePath);\n useEffect(function () {\n // Skip if not exist form instance\n if (!isValidForm) {\n return;\n }\n var getFieldsValue = formInstance.getFieldsValue,\n getInternalHooks = formInstance.getInternalHooks;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n registerWatch = _getInternalHooks.registerWatch;\n var cancelRegister = registerWatch(function (store) {\n var newValue = getValue(store, namePathRef.current);\n var nextValueStr = stringify(newValue);\n // Compare stringify in case it's nest object\n if (valueStrRef.current !== nextValueStr) {\n valueStrRef.current = nextValueStr;\n setValue(newValue);\n }\n });\n // TODO: We can improve this perf in future\n var initialValue = getValue(getFieldsValue(), namePathRef.current);\n setValue(initialValue);\n return cancelRegister;\n },\n // We do not need re-register since namePath content is the same\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isValidForm]);\n return value;\n}\nexport default useWatch;","import * as React from 'react';\nimport Field from './Field';\nimport List from './List';\nimport useForm from './useForm';\nimport FieldForm from './Form';\nimport { FormProvider } from './FormContext';\nimport FieldContext from './FieldContext';\nimport ListContext from './ListContext';\nimport useWatch from './useWatch';\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nRefForm.useWatch = useWatch;\nexport { Field, List, useForm, FormProvider, FieldContext, ListContext, useWatch };\nexport default RefForm;","import rcWarning, { resetWarned } from \"rc-util/es/warning\";\nexport { resetWarned };\nexport function noop() {}\n// eslint-disable-next-line import/no-mutable-exports\nlet warning = noop;\nif (process.env.NODE_ENV !== 'production') {\n warning = (valid, component, message) => {\n rcWarning(valid, `[antd: ${component}] ${message}`);\n // StrictMode will inject console which will not throw warning in React 17.\n if (process.env.NODE_ENV === 'test') {\n resetWarned();\n }\n };\n}\nexport default warning;","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","const locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n// Merge into a locale object\nconst locale = {\n lang: Object.assign({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: Object.assign({}, TimePickerLocale)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport Calendar from '../calendar/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nconst typeTemplate = '${label} is not a valid ${type}';\nconst localeValues = {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh'\n }\n};\nexport default localeValues;","import defaultLocale from '../locale/en_US';\nlet runtimeLocale = Object.assign({}, defaultLocale.Modal);\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = Object.assign(Object.assign({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = Object.assign({}, defaultLocale.Modal);\n }\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","import { createContext } from 'react';\nconst LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","import * as React from 'react';\nimport warning from '../_util/warning';\nimport { changeConfirmLocale } from '../modal/locale';\nimport LocaleContext from './context';\nexport const ANT_MARK = 'internalMark';\nconst LocaleProvider = props => {\n const {\n locale = {},\n children,\n _ANT_MARK__\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(_ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale') : void 0;\n }\n React.useEffect(() => {\n changeConfirmLocale(locale && locale.Modal);\n return () => {\n changeConfirmLocale();\n };\n }, [locale]);\n const getMemoizedContextValue = React.useMemo(() => Object.assign(Object.assign({}, locale), {\n exist: true\n }), [locale]);\n return /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n value: getMemoizedContextValue\n }, children);\n};\nif (process.env.NODE_ENV !== 'production') {\n LocaleProvider.displayName = 'LocaleProvider';\n}\nexport default LocaleProvider;","export default '5.3.2';","export const PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nexport default function generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}","import generate from \"./generate\";\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1677FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\nvar gray = presetPalettes.grey;\nexport { generate, presetPalettes, presetDarkPalettes, presetPrimaryColors, red, volcano, orange, gold, yellow, lime, green, cyan, blue, geekblue, purple, magenta, grey, gray };","const genControlHeight = token => {\n const {\n controlHeight\n } = token;\n return {\n controlHeightSM: controlHeight * 0.75,\n controlHeightXS: controlHeight * 0.5,\n controlHeightLG: controlHeight * 1.25\n };\n};\nexport default genControlHeight;","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n return {\n sizeXXL: sizeUnit * (sizeStep + 8),\n sizeXL: sizeUnit * (sizeStep + 4),\n sizeLG: sizeUnit * (sizeStep + 2),\n sizeMD: sizeUnit * (sizeStep + 1),\n sizeMS: sizeUnit * sizeStep,\n size: sizeUnit * sizeStep,\n sizeSM: sizeUnit * (sizeStep - 1),\n sizeXS: sizeUnit * (sizeStep - 2),\n sizeXXS: sizeUnit * (sizeStep - 3) // 4\n };\n}","export const defaultPresetColors = {\n blue: '#1677ff',\n purple: '#722ED1',\n cyan: '#13C2C2',\n green: '#52C41A',\n magenta: '#EB2F96',\n pink: '#eb2f96',\n red: '#F5222D',\n orange: '#FA8C16',\n yellow: '#FADB14',\n volcano: '#FA541C',\n geekblue: '#2F54EB',\n gold: '#FAAD14',\n lime: '#A0D911'\n};\nconst seedToken = Object.assign(Object.assign({}, defaultPresetColors), {\n // Color\n colorPrimary: '#1677ff',\n colorSuccess: '#52c41a',\n colorWarning: '#faad14',\n colorError: '#ff4d4f',\n colorInfo: '#1677ff',\n colorTextBase: '',\n colorBgBase: '',\n // Font\n fontFamily: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'`,\n fontFamilyCode: `'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace`,\n fontSize: 14,\n // Line\n lineWidth: 1,\n lineType: 'solid',\n // Motion\n motionUnit: 0.1,\n motionBase: 0,\n motionEaseOutCirc: 'cubic-bezier(0.08, 0.82, 0.17, 1)',\n motionEaseInOutCirc: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n motionEaseOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n motionEaseInOut: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n motionEaseOutBack: 'cubic-bezier(0.12, 0.4, 0.29, 1.46)',\n motionEaseInBack: 'cubic-bezier(0.71, -0.46, 0.88, 0.6)',\n motionEaseInQuint: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n motionEaseOutQuint: 'cubic-bezier(0.23, 1, 0.32, 1)',\n // Radius\n borderRadius: 6,\n // Size\n sizeUnit: 4,\n sizeStep: 4,\n sizePopupArrow: 16,\n // Control Base\n controlHeight: 32,\n // zIndex\n zIndexBase: 0,\n zIndexPopupBase: 1000,\n // Image\n opacityImage: 1,\n // Wireframe\n wireframe: false\n});\nexport default seedToken;","import { TinyColor } from '@ctrl/tinycolor';\nexport default function genColorMapToken(seed, _ref) {\n let {\n generateColorPalettes,\n generateNeutralColorPalettes\n } = _ref;\n const {\n colorSuccess: colorSuccessBase,\n colorWarning: colorWarningBase,\n colorError: colorErrorBase,\n colorInfo: colorInfoBase,\n colorPrimary: colorPrimaryBase,\n colorBgBase,\n colorTextBase\n } = seed;\n const primaryColors = generateColorPalettes(colorPrimaryBase);\n const successColors = generateColorPalettes(colorSuccessBase);\n const warningColors = generateColorPalettes(colorWarningBase);\n const errorColors = generateColorPalettes(colorErrorBase);\n const infoColors = generateColorPalettes(colorInfoBase);\n const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);\n return Object.assign(Object.assign({}, neutralColors), {\n colorPrimaryBg: primaryColors[1],\n colorPrimaryBgHover: primaryColors[2],\n colorPrimaryBorder: primaryColors[3],\n colorPrimaryBorderHover: primaryColors[4],\n colorPrimaryHover: primaryColors[5],\n colorPrimary: primaryColors[6],\n colorPrimaryActive: primaryColors[7],\n colorPrimaryTextHover: primaryColors[8],\n colorPrimaryText: primaryColors[9],\n colorPrimaryTextActive: primaryColors[10],\n colorSuccessBg: successColors[1],\n colorSuccessBgHover: successColors[2],\n colorSuccessBorder: successColors[3],\n colorSuccessBorderHover: successColors[4],\n colorSuccessHover: successColors[4],\n colorSuccess: successColors[6],\n colorSuccessActive: successColors[7],\n colorSuccessTextHover: successColors[8],\n colorSuccessText: successColors[9],\n colorSuccessTextActive: successColors[10],\n colorErrorBg: errorColors[1],\n colorErrorBgHover: errorColors[2],\n colorErrorBorder: errorColors[3],\n colorErrorBorderHover: errorColors[4],\n colorErrorHover: errorColors[5],\n colorError: errorColors[6],\n colorErrorActive: errorColors[7],\n colorErrorTextHover: errorColors[8],\n colorErrorText: errorColors[9],\n colorErrorTextActive: errorColors[10],\n colorWarningBg: warningColors[1],\n colorWarningBgHover: warningColors[2],\n colorWarningBorder: warningColors[3],\n colorWarningBorderHover: warningColors[4],\n colorWarningHover: warningColors[4],\n colorWarning: warningColors[6],\n colorWarningActive: warningColors[7],\n colorWarningTextHover: warningColors[8],\n colorWarningText: warningColors[9],\n colorWarningTextActive: warningColors[10],\n colorInfoBg: infoColors[1],\n colorInfoBgHover: infoColors[2],\n colorInfoBorder: infoColors[3],\n colorInfoBorderHover: infoColors[4],\n colorInfoHover: infoColors[4],\n colorInfo: infoColors[6],\n colorInfoActive: infoColors[7],\n colorInfoTextHover: infoColors[8],\n colorInfoText: infoColors[9],\n colorInfoTextActive: infoColors[10],\n colorBgMask: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n colorWhite: '#fff'\n });\n}","const genRadius = radiusBase => {\n let radiusLG = radiusBase;\n let radiusSM = radiusBase;\n let radiusXS = radiusBase;\n let radiusOuter = radiusBase;\n // radiusLG\n if (radiusBase < 6 && radiusBase >= 5) {\n radiusLG = radiusBase + 1;\n } else if (radiusBase < 16 && radiusBase >= 6) {\n radiusLG = radiusBase + 2;\n } else if (radiusBase >= 16) {\n radiusLG = 16;\n }\n // radiusSM\n if (radiusBase < 7 && radiusBase >= 5) {\n radiusSM = 4;\n } else if (radiusBase < 8 && radiusBase >= 7) {\n radiusSM = 5;\n } else if (radiusBase < 14 && radiusBase >= 8) {\n radiusSM = 6;\n } else if (radiusBase < 16 && radiusBase >= 14) {\n radiusSM = 7;\n } else if (radiusBase >= 16) {\n radiusSM = 8;\n }\n // radiusXS\n if (radiusBase < 6 && radiusBase >= 2) {\n radiusXS = 1;\n } else if (radiusBase >= 6) {\n radiusXS = 2;\n }\n // radiusOuter\n if (radiusBase > 4 && radiusBase < 8) {\n radiusOuter = 4;\n } else if (radiusBase >= 8) {\n radiusOuter = 6;\n }\n return {\n borderRadius: radiusBase > 16 ? 16 : radiusBase,\n borderRadiusXS: radiusXS,\n borderRadiusSM: radiusSM,\n borderRadiusLG: radiusLG,\n borderRadiusOuter: radiusOuter\n };\n};\nexport default genRadius;","import genRadius from './genRadius';\nexport default function genCommonMapToken(token) {\n const {\n motionUnit,\n motionBase,\n borderRadius,\n lineWidth\n } = token;\n return Object.assign({\n // motion\n motionDurationFast: `${(motionBase + motionUnit).toFixed(1)}s`,\n motionDurationMid: `${(motionBase + motionUnit * 2).toFixed(1)}s`,\n motionDurationSlow: `${(motionBase + motionUnit * 3).toFixed(1)}s`,\n // line\n lineWidthBold: lineWidth + 1\n }, genRadius(borderRadius));\n}","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.darken(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor);\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[4],\n 6: colors[5],\n 7: colors[6],\n 8: colors[4],\n 9: colors[5],\n 10: colors[6]\n // 8: colors[7],\n // 9: colors[8],\n // 10: colors[9],\n };\n};\n\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#fff';\n const colorTextBase = textBaseColor || '#000';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.88),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.15),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.06),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.04),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.02),\n colorBgLayout: getSolidColor(colorBgBase, 4),\n colorBgContainer: getSolidColor(colorBgBase, 0),\n colorBgElevated: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getAlphaColor(colorTextBase, 0.85),\n colorBorder: getSolidColor(colorBgBase, 15),\n colorBorderSecondary: getSolidColor(colorBgBase, 6)\n };\n};","// https://zhuanlan.zhihu.com/p/32746810\nexport default function getFontSizes(base) {\n const fontSizes = new Array(10).fill(null).map((_, index) => {\n const i = index - 1;\n const baseSize = base * Math.pow(2.71828, i / 5);\n const intSize = index > 1 ? Math.floor(baseSize) : Math.ceil(baseSize);\n // Convert to even\n return Math.floor(intSize / 2) * 2;\n });\n fontSizes[1] = base;\n return fontSizes.map(size => {\n const height = size + 8;\n return {\n size,\n lineHeight: height / size\n };\n });\n}","import genFontSizes from './genFontSizes';\nconst genFontMapToken = fontSize => {\n const fontSizePairs = genFontSizes(fontSize);\n const fontSizes = fontSizePairs.map(pair => pair.size);\n const lineHeights = fontSizePairs.map(pair => pair.lineHeight);\n return {\n fontSizeSM: fontSizes[0],\n fontSize: fontSizes[1],\n fontSizeLG: fontSizes[2],\n fontSizeXL: fontSizes[3],\n fontSizeHeading1: fontSizes[6],\n fontSizeHeading2: fontSizes[5],\n fontSizeHeading3: fontSizes[4],\n fontSizeHeading4: fontSizes[3],\n fontSizeHeading5: fontSizes[2],\n lineHeight: lineHeights[1],\n lineHeightLG: lineHeights[2],\n lineHeightSM: lineHeights[0],\n lineHeightHeading1: lineHeights[6],\n lineHeightHeading2: lineHeights[5],\n lineHeightHeading3: lineHeights[4],\n lineHeightHeading4: lineHeights[3],\n lineHeightHeading5: lineHeights[2]\n };\n};\nexport default genFontMapToken;","import { generate } from '@ant-design/colors';\nimport genControlHeight from '../shared/genControlHeight';\nimport genSizeMapToken from '../shared/genSizeMapToken';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport genCommonMapToken from '../shared/genCommonMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport genFontMapToken from '../shared/genFontMapToken';\nexport default function derivative(token) {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey]);\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n prev[`${colorKey}${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, token), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n })), genFontMapToken(token.fontSize)), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token));\n}","import { TinyColor } from '@ctrl/tinycolor';\nfunction isStableColor(color) {\n return color >= 0 && color <= 255;\n}\nfunction getAlphaColor(frontColor, backgroundColor) {\n const {\n r: fR,\n g: fG,\n b: fB,\n a: originAlpha\n } = new TinyColor(frontColor).toRgb();\n if (originAlpha < 1) {\n return frontColor;\n }\n const {\n r: bR,\n g: bG,\n b: bB\n } = new TinyColor(backgroundColor).toRgb();\n for (let fA = 0.01; fA <= 1; fA += 0.01) {\n const r = Math.round((fR - bR * (1 - fA)) / fA);\n const g = Math.round((fG - bG * (1 - fA)) / fA);\n const b = Math.round((fB - bB * (1 - fA)) / fA);\n if (isStableColor(r) && isStableColor(g) && isStableColor(b)) {\n return new TinyColor({\n r,\n g,\n b,\n a: Math.round(fA * 100) / 100\n }).toRgbString();\n }\n }\n // fallback\n /* istanbul ignore next */\n return new TinyColor({\n r: fR,\n g: fG,\n b: fB,\n a: 1\n }).toRgbString();\n}\nexport default getAlphaColor;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TinyColor } from '@ctrl/tinycolor';\nimport getAlphaColor from './getAlphaColor';\nimport seedToken from '../themes/seed';\n/**\n * Seed (designer) > Derivative (designer) > Alias (developer).\n *\n * Merge seed & derivative & override token and generate alias token for developer.\n */\nexport default function formatToken(derivativeToken) {\n const {\n override\n } = derivativeToken,\n restToken = __rest(derivativeToken, [\"override\"]);\n const overrideTokens = Object.assign({}, override);\n Object.keys(seedToken).forEach(token => {\n delete overrideTokens[token];\n });\n const mergedToken = Object.assign(Object.assign({}, restToken), overrideTokens);\n const screenXS = 480;\n const screenSM = 576;\n const screenMD = 768;\n const screenLG = 992;\n const screenXL = 1200;\n const screenXXL = 1600;\n // Generate alias token\n const aliasToken = Object.assign(Object.assign(Object.assign({}, mergedToken), {\n colorLink: mergedToken.colorInfoText,\n colorLinkHover: mergedToken.colorInfoHover,\n colorLinkActive: mergedToken.colorInfoActive,\n // ============== Background ============== //\n colorFillContent: mergedToken.colorFillSecondary,\n colorFillContentHover: mergedToken.colorFill,\n colorFillAlter: mergedToken.colorFillQuaternary,\n colorBgContainerDisabled: mergedToken.colorFillTertiary,\n // ============== Split ============== //\n colorBorderBg: mergedToken.colorBgContainer,\n colorSplit: getAlphaColor(mergedToken.colorBorderSecondary, mergedToken.colorBgContainer),\n // ============== Text ============== //\n colorTextPlaceholder: mergedToken.colorTextQuaternary,\n colorTextDisabled: mergedToken.colorTextQuaternary,\n colorTextHeading: mergedToken.colorText,\n colorTextLabel: mergedToken.colorTextSecondary,\n colorTextDescription: mergedToken.colorTextTertiary,\n colorTextLightSolid: mergedToken.colorWhite,\n colorHighlight: mergedToken.colorError,\n colorBgTextHover: mergedToken.colorFillSecondary,\n colorBgTextActive: mergedToken.colorFill,\n colorIcon: mergedToken.colorTextTertiary,\n colorIconHover: mergedToken.colorText,\n colorErrorOutline: getAlphaColor(mergedToken.colorErrorBg, mergedToken.colorBgContainer),\n colorWarningOutline: getAlphaColor(mergedToken.colorWarningBg, mergedToken.colorBgContainer),\n // Font\n fontSizeIcon: mergedToken.fontSizeSM,\n // Line\n lineWidthFocus: mergedToken.lineWidth * 4,\n // Control\n lineWidth: mergedToken.lineWidth,\n controlOutlineWidth: mergedToken.lineWidth * 2,\n // Checkbox size and expand icon size\n controlInteractiveSize: mergedToken.controlHeight / 2,\n controlItemBgHover: mergedToken.colorFillTertiary,\n controlItemBgActive: mergedToken.colorPrimaryBg,\n controlItemBgActiveHover: mergedToken.colorPrimaryBgHover,\n controlItemBgActiveDisabled: mergedToken.colorFill,\n controlTmpOutline: mergedToken.colorFillQuaternary,\n controlOutline: getAlphaColor(mergedToken.colorPrimaryBg, mergedToken.colorBgContainer),\n lineType: mergedToken.lineType,\n borderRadius: mergedToken.borderRadius,\n borderRadiusXS: mergedToken.borderRadiusXS,\n borderRadiusSM: mergedToken.borderRadiusSM,\n borderRadiusLG: mergedToken.borderRadiusLG,\n fontWeightStrong: 600,\n opacityLoading: 0.65,\n linkDecoration: 'none',\n linkHoverDecoration: 'none',\n linkFocusDecoration: 'none',\n controlPaddingHorizontal: 12,\n controlPaddingHorizontalSM: 8,\n paddingXXS: mergedToken.sizeXXS,\n paddingXS: mergedToken.sizeXS,\n paddingSM: mergedToken.sizeSM,\n padding: mergedToken.size,\n paddingMD: mergedToken.sizeMD,\n paddingLG: mergedToken.sizeLG,\n paddingXL: mergedToken.sizeXL,\n paddingContentHorizontalLG: mergedToken.sizeLG,\n paddingContentVerticalLG: mergedToken.sizeMS,\n paddingContentHorizontal: mergedToken.sizeMS,\n paddingContentVertical: mergedToken.sizeSM,\n paddingContentHorizontalSM: mergedToken.size,\n paddingContentVerticalSM: mergedToken.sizeXS,\n marginXXS: mergedToken.sizeXXS,\n marginXS: mergedToken.sizeXS,\n marginSM: mergedToken.sizeSM,\n margin: mergedToken.size,\n marginMD: mergedToken.sizeMD,\n marginLG: mergedToken.sizeLG,\n marginXL: mergedToken.sizeXL,\n marginXXL: mergedToken.sizeXXL,\n boxShadow: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowSecondary: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTertiary: `\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n `,\n screenXS,\n screenXSMin: screenXS,\n screenXSMax: screenSM - 1,\n screenSM,\n screenSMMin: screenSM,\n screenSMMax: screenMD - 1,\n screenMD,\n screenMDMin: screenMD,\n screenMDMax: screenLG - 1,\n screenLG,\n screenLGMin: screenLG,\n screenLGMax: screenXL - 1,\n screenXL,\n screenXLMin: screenXL,\n screenXLMax: screenXXL - 1,\n screenXXL,\n screenXXLMin: screenXXL,\n boxShadowPopoverArrow: '2px 2px 5px rgba(0, 0, 0, 0.05)',\n boxShadowCard: `\n 0 1px 2px -2px ${new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString()},\n 0 3px 6px 0 ${new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString()},\n 0 5px 12px 4px ${new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString()}\n `,\n boxShadowDrawerRight: `\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerLeft: `\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerUp: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerDown: `\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTabsOverflowLeft: 'inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowRight: 'inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowTop: 'inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowBottom: 'inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)'\n }), overrideTokens);\n return aliasToken;\n}","import { PresetColors } from '../theme/internal';\nexport function genPresetColor(token, genCss) {\n return PresetColors.reduce((prev, colorKey) => {\n const lightColor = token[`${colorKey}1`];\n const lightBorderColor = token[`${colorKey}3`];\n const darkColor = token[`${colorKey}6`];\n const textColor = token[`${colorKey}7`];\n return Object.assign(Object.assign({}, prev), genCss(colorKey, {\n lightColor,\n lightBorderColor,\n darkColor,\n textColor\n }));\n }, {});\n}","export { operationUnit } from './operationUnit';\nexport { genPresetColor } from './presetColor';\nexport { roundedArrow } from './roundedArrow';\nexport const textEllipsis = {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n};\nexport const resetComponent = token => ({\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n color: token.colorText,\n fontSize: token.fontSize,\n // font-variant: @font-variant-base;\n lineHeight: token.lineHeight,\n listStyle: 'none',\n // font-feature-settings: @font-feature-settings-base;\n fontFamily: token.fontFamily\n});\nexport const resetIcon = () => ({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n fontStyle: 'normal',\n lineHeight: 0,\n textAlign: 'center',\n textTransform: 'none',\n // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n verticalAlign: '-0.125em',\n textRendering: 'optimizeLegibility',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n '> *': {\n lineHeight: 1\n },\n svg: {\n display: 'inline-block'\n }\n});\nexport const clearFix = () => ({\n // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229\n '&::before': {\n display: 'table',\n content: '\"\"'\n },\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/21864\n display: 'table',\n clear: 'both',\n content: '\"\"'\n }\n});\nexport const genLinkStyle = token => ({\n a: {\n color: token.colorLink,\n textDecoration: token.linkDecoration,\n backgroundColor: 'transparent',\n outline: 'none',\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '-webkit-text-decoration-skip': 'objects',\n '&:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n },\n [`&:active,\n &:hover`]: {\n textDecoration: token.linkHoverDecoration,\n outline: 0\n },\n // https://github.com/ant-design/ant-design/issues/22503\n '&:focus': {\n textDecoration: token.linkFocusDecoration,\n outline: 0\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n});\nexport const genCommonStyle = (token, componentPrefixCls) => {\n const {\n fontFamily,\n fontSize\n } = token;\n const rootPrefixSelector = `[class^=\"${componentPrefixCls}\"], [class*=\" ${componentPrefixCls}\"]`;\n return {\n [rootPrefixSelector]: {\n fontFamily,\n fontSize,\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n },\n [rootPrefixSelector]: {\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }\n }\n };\n};\nexport const genFocusOutline = token => ({\n outline: `${token.lineWidthFocus}px solid ${token.colorPrimaryBorder}`,\n outlineOffset: 1,\n transition: 'outline-offset 0s, outline 0s'\n});\nexport const genFocusStyle = token => ({\n '&:focus-visible': Object.assign({}, genFocusOutline(token))\n});","import * as React from 'react';\nexport const defaultIconPrefixCls = 'anticon';\nconst defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `ant-${suffixCls}` : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport const ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport const {\n Consumer: ConfigConsumer\n} = ConfigContext;","import { useStyleRegister } from '@ant-design/cssinjs';\nimport { useContext } from 'react';\nimport { genCommonStyle, genLinkStyle } from '../../style';\nimport { ConfigContext } from '../../config-provider/context';\nimport { mergeToken, statisticToken, useToken } from '../internal';\nexport default function genComponentStyleHook(component, styleFn, getDefaultToken) {\n return prefixCls => {\n const [theme, token, hashId] = useToken();\n const {\n getPrefixCls,\n iconPrefixCls\n } = useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n // Generate style for all a tags in antd component.\n useStyleRegister({\n theme,\n token,\n hashId,\n path: ['Shared', rootPrefixCls]\n }, () => [{\n // Link\n '&': genLinkStyle(token)\n }]);\n return [useStyleRegister({\n theme,\n token,\n hashId,\n path: [component, prefixCls, iconPrefixCls]\n }, () => {\n const {\n token: proxyToken,\n flush\n } = statisticToken(token);\n const defaultComponentToken = typeof getDefaultToken === 'function' ? getDefaultToken(proxyToken) : getDefaultToken;\n const mergedComponentToken = Object.assign(Object.assign({}, defaultComponentToken), token[component]);\n const componentCls = `.${prefixCls}`;\n const mergedToken = mergeToken(proxyToken, {\n componentCls,\n prefixCls,\n iconCls: `.${iconPrefixCls}`,\n antCls: `.${rootPrefixCls}`\n }, mergedComponentToken);\n const styleInterpolation = styleFn(mergedToken, {\n hashId,\n prefixCls,\n rootPrefixCls,\n iconPrefixCls,\n overrideComponentToken: token[component]\n });\n flush(component, mergedComponentToken);\n return [genCommonStyle(token, prefixCls), styleInterpolation];\n }), hashId];\n };\n}","const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return Object.assign.apply(Object, [{}].concat(objs));\n }\n recording = false;\n const ret = {};\n objs.forEach(obj => {\n const keys = Object.keys(obj);\n keys.forEach(key => {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: () => obj[key]\n });\n });\n });\n recording = true;\n return ret;\n}\n/** @private Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @private Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n let tokenKeys;\n let proxy = token;\n let flush = noop;\n if (enableStatistic) {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get(obj, prop) {\n if (recording) {\n tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = (componentName, componentToken) => {\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: componentToken\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush\n };\n}","import { createTheme, useCacheToken, useStyleRegister } from '@ant-design/cssinjs';\nimport React from 'react';\nimport version from '../version';\nimport { PresetColors } from './interface';\nimport defaultDerivative from './themes/default';\nimport defaultSeedToken from './themes/seed';\nimport formatToken from './util/alias';\nimport genComponentStyleHook from './util/genComponentStyleHook';\nimport statisticToken, { merge as mergeToken, statistic } from './util/statistic';\nconst defaultTheme = createTheme(defaultDerivative);\nexport {\n// colors\nPresetColors,\n// Statistic\nstatistic, statisticToken, mergeToken,\n// hooks\nuseStyleRegister, genComponentStyleHook };\n// ================================ Context =================================\n// To ensure snapshot stable. We disable hashed in test env.\nexport const defaultConfig = {\n token: defaultSeedToken,\n hashed: true\n};\nexport const DesignTokenContext = /*#__PURE__*/React.createContext(defaultConfig);\n// ================================== Hook ==================================\nexport function useToken() {\n const {\n token: rootDesignToken,\n hashed,\n theme,\n components\n } = React.useContext(DesignTokenContext);\n const salt = `${version}-${hashed || ''}`;\n const mergedTheme = theme || defaultTheme;\n const [token, hashId] = useCacheToken(mergedTheme, [defaultSeedToken, rootDesignToken], {\n salt,\n override: Object.assign({\n override: rootDesignToken\n }, components),\n formatToken\n });\n return [mergedTheme, token, hashed ? hashId : ''];\n}","/* eslint-disable import/prefer-default-export, prefer-destructuring */\nimport { generate } from '@ant-design/colors';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport warning from '../_util/warning';\nconst dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;\nexport function getStyle(globalPrefixCls, theme) {\n const variables = {};\n const formatColor = (color, updater) => {\n let clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n const fillColor = (colorVal, type) => {\n const baseColor = new TinyColor(colorVal);\n const colorPalettes = generate(baseColor.toRgbString());\n variables[`${type}-color`] = formatColor(baseColor);\n variables[`${type}-color-disabled`] = colorPalettes[1];\n variables[`${type}-color-hover`] = colorPalettes[4];\n variables[`${type}-color-active`] = colorPalettes[6];\n variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[`${type}-color-deprecated-bg`] = colorPalettes[0];\n variables[`${type}-color-deprecated-border`] = colorPalettes[2];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n const primaryColor = new TinyColor(theme.primaryColor);\n const primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach((color, index) => {\n variables[`primary-${index + 1}`] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, c => c.lighten(35));\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, c => c.lighten(20));\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, c => c.tint(20));\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, c => c.tint(50));\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, c => c.setAlpha(c.getAlpha() * 0.12));\n const primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, c => c.setAlpha(c.getAlpha() * 0.3));\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, c => c.darken(2));\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n const cssList = Object.keys(variables).map(key => `--${globalPrefixCls}-${key}: ${variables[key]};`);\n return `\n :root {\n ${cssList.join('\\n')}\n }\n `.trim();\n}\nexport function registerTheme(globalPrefixCls, theme) {\n const style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, `${dynamicStyleMark}-dynamic-theme`);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.') : void 0;\n }\n}","import * as React from 'react';\nconst DisabledContext = /*#__PURE__*/React.createContext(false);\nexport const DisabledContextProvider = _ref => {\n let {\n children,\n disabled\n } = _ref;\n const originDisabled = React.useContext(DisabledContext);\n return /*#__PURE__*/React.createElement(DisabledContext.Provider, {\n value: disabled !== null && disabled !== void 0 ? disabled : originDisabled\n }, children);\n};\nexport default DisabledContext;","import * as React from 'react';\nconst SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport const SizeContextProvider = _ref => {\n let {\n children,\n size\n } = _ref;\n const originSize = React.useContext(SizeContext);\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n};\nexport default SizeContext;","import { useContext } from 'react';\nimport DisabledContext from '../DisabledContext';\nimport SizeContext from '../SizeContext';\nfunction useConfig() {\n const componentDisabled = useContext(DisabledContext);\n const componentSize = useContext(SizeContext);\n return {\n componentDisabled,\n componentSize\n };\n}\nexport default useConfig;","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { defaultConfig } from '../../theme/internal';\nexport default function useTheme(theme, parentTheme) {\n const themeConfig = theme || {};\n const parentThemeConfig = themeConfig.inherit === false || !parentTheme ? defaultConfig : parentTheme;\n const mergedTheme = useMemo(() => {\n if (!theme) {\n return parentTheme;\n }\n // Override\n const mergedComponents = Object.assign({}, parentThemeConfig.components);\n Object.keys(theme.components || {}).forEach(componentName => {\n mergedComponents[componentName] = Object.assign(Object.assign({}, mergedComponents[componentName]), theme.components[componentName]);\n });\n // Base token\n return Object.assign(Object.assign(Object.assign({}, parentThemeConfig), themeConfig), {\n token: Object.assign(Object.assign({}, parentThemeConfig.token), themeConfig.token),\n components: mergedComponents\n });\n }, [themeConfig, parentThemeConfig], (prev, next) => prev.some((prevTheme, index) => {\n const nextTheme = next[index];\n return !isEqual(prevTheme, nextTheme, true);\n }));\n return mergedTheme;\n}","import { useStyleRegister } from '@ant-design/cssinjs';\nimport { resetIcon } from '../../style';\nimport { useToken } from '../../theme/internal';\nconst useStyle = iconPrefixCls => {\n const [theme, token] = useToken();\n // Generate style for icons\n return useStyleRegister({\n theme,\n token,\n hashId: '',\n path: ['ant-design-icons', iconPrefixCls]\n }, () => [{\n [`.${iconPrefixCls}`]: Object.assign(Object.assign({}, resetIcon()), {\n [`.${iconPrefixCls} .${iconPrefixCls}-icon`]: {\n display: 'block'\n }\n })\n }]);\n};\nexport default useStyle;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { createTheme } from '@ant-design/cssinjs';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport { setValues } from \"rc-field-form/es/utils/valueUtil\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport * as React from 'react';\nimport LocaleProvider, { ANT_MARK } from '../locale';\nimport LocaleContext from '../locale/context';\nimport defaultLocale from '../locale/en_US';\nimport { DesignTokenContext } from '../theme/internal';\nimport defaultSeedToken from '../theme/themes/seed';\nimport warning from '../_util/warning';\nimport { ConfigConsumer, ConfigContext, defaultIconPrefixCls } from './context';\nimport { registerTheme } from './cssVariables';\nimport { DisabledContextProvider } from './DisabledContext';\nimport useConfig from './hooks/useConfig';\nimport useTheme from './hooks/useTheme';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport useStyle from './style';\n/**\n * Since too many feedback using static method like `Modal.confirm` not getting theme,\n * we record the theme register info here to help developer get warning info.\n */\nlet existThemeConfig = false;\nexport const warnContext = process.env.NODE_ENV !== 'production' ? componentName => {\n process.env.NODE_ENV !== \"production\" ? warning(!existThemeConfig, componentName, `Static function can not consume context like dynamic theme. Please use 'App' component instead.`) : void 0;\n} : /* istanbul ignore next */\nnull;\nexport { ConfigContext, ConfigConsumer };\nexport { defaultIconPrefixCls };\nexport const configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\n// These props is used by `useContext` directly in sub component\nconst PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'pagination', 'form', 'select'];\nexport const defaultPrefixCls = 'ant';\nlet globalPrefixCls;\nlet globalIconPrefixCls;\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\nconst setGlobalConfig = _ref => {\n let {\n prefixCls,\n iconPrefixCls,\n theme\n } = _ref;\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n if (theme) {\n registerTheme(getGlobalPrefixCls(), theme);\n }\n};\nexport const globalConfig = () => ({\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `${getGlobalPrefixCls()}-${suffixCls}` : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: () => {\n // If Global prefixCls provided, use this\n if (globalPrefixCls) {\n return globalPrefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n }\n});\nconst ProviderChildren = props => {\n const {\n children,\n csp: customCsp,\n autoInsertSpaceInButton,\n form,\n locale,\n componentSize,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n legacyLocale,\n parentContext,\n iconPrefixCls: customIconPrefixCls,\n theme,\n componentDisabled\n } = props;\n const getPrefixCls = React.useCallback((suffixCls, customizePrefixCls) => {\n const {\n prefixCls\n } = props;\n if (customizePrefixCls) return customizePrefixCls;\n const mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n const iconPrefixCls = customIconPrefixCls || parentContext.iconPrefixCls || defaultIconPrefixCls;\n const shouldWrapSSR = iconPrefixCls !== parentContext.iconPrefixCls;\n const csp = customCsp || parentContext.csp;\n const wrapSSR = useStyle(iconPrefixCls);\n const mergedTheme = useTheme(theme, parentContext.theme);\n if (process.env.NODE_ENV !== 'production') {\n existThemeConfig = existThemeConfig || !!mergedTheme;\n }\n const baseConfig = {\n csp,\n autoInsertSpaceInButton,\n locale: locale || legacyLocale,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n getPrefixCls,\n iconPrefixCls,\n theme: mergedTheme\n };\n const config = Object.assign({}, parentContext);\n Object.keys(baseConfig).forEach(key => {\n if (baseConfig[key] !== undefined) {\n config[key] = baseConfig[key];\n }\n });\n // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n PASSED_PROPS.forEach(propName => {\n const propValue = props[propName];\n if (propValue) {\n config[propName] = propValue;\n }\n });\n // https://github.com/ant-design/ant-design/issues/27617\n const memoedConfig = useMemo(() => config, config, (prevConfig, currentConfig) => {\n const prevKeys = Object.keys(prevConfig);\n const currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(key => prevConfig[key] !== currentConfig[key]);\n });\n const memoIconContextValue = React.useMemo(() => ({\n prefixCls: iconPrefixCls,\n csp\n }), [iconPrefixCls, csp]);\n let childNode = shouldWrapSSR ? wrapSSR(children) : children;\n const validateMessages = React.useMemo(() => {\n var _a, _b, _c;\n return setValues({}, ((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || {}, ((_c = (_b = memoedConfig.locale) === null || _b === void 0 ? void 0 : _b.Form) === null || _c === void 0 ? void 0 : _c.defaultValidateMessages) || {}, (form === null || form === void 0 ? void 0 : form.validateMessages) || {});\n }, [memoedConfig, form === null || form === void 0 ? void 0 : form.validateMessages]);\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(RcFormProvider, {\n validateMessages: validateMessages\n }, children);\n }\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n if (iconPrefixCls || csp) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n // ================================ Dynamic theme ================================\n const memoTheme = React.useMemo(() => {\n const _a = mergedTheme || {},\n {\n algorithm,\n token\n } = _a,\n rest = __rest(_a, [\"algorithm\", \"token\"]);\n const themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : undefined;\n return Object.assign(Object.assign({}, rest), {\n theme: themeObj,\n token: Object.assign(Object.assign({}, defaultSeedToken), token)\n });\n }, [mergedTheme]);\n if (theme) {\n childNode = /*#__PURE__*/React.createElement(DesignTokenContext.Provider, {\n value: memoTheme\n }, childNode);\n }\n // =================================== Render ===================================\n if (componentDisabled !== undefined) {\n childNode = /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: componentDisabled\n }, childNode);\n }\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\nconst ConfigProvider = props => {\n const context = React.useContext(ConfigContext);\n const antLocale = React.useContext(LocaleContext);\n return /*#__PURE__*/React.createElement(ProviderChildren, Object.assign({\n parentContext: context,\n legacyLocale: antLocale\n }, props));\n};\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nConfigProvider.useConfig = useConfig;\nObject.defineProperty(ConfigProvider, 'SizeContext', {\n get: () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'ConfigProvider.SizeContext is deprecated. Please use `ConfigProvider.useConfig().componentSize` instead.') : void 0;\n return SizeContext;\n }\n});\nif (process.env.NODE_ENV !== 'production') {\n ConfigProvider.displayName = 'ConfigProvider';\n}\nexport default ConfigProvider;","export default function capitalize(str) {\n if (typeof str !== 'string') {\n return str;\n }\n const ret = str.charAt(0).toUpperCase() + str.slice(1);\n return ret;\n}","import { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport capitalize from '../../_util/capitalize';\nimport { genPresetColor, resetComponent } from '../../style';\nconst genTagStatusStyle = (token, status, cssVariableType) => {\n const capitalizedCssVariableType = capitalize(cssVariableType);\n return {\n [`${token.componentCls}-${status}`]: {\n color: token[`color${cssVariableType}`],\n background: token[`color${capitalizedCssVariableType}Bg`],\n borderColor: token[`color${capitalizedCssVariableType}Border`]\n }\n };\n};\nconst genPresetStyle = token => genPresetColor(token, (colorKey, _ref) => {\n let {\n textColor,\n lightBorderColor,\n lightColor,\n darkColor\n } = _ref;\n return {\n [`${token.componentCls}-${colorKey}`]: {\n color: textColor,\n background: lightColor,\n borderColor: lightBorderColor,\n // Inverse color\n '&-inverse': {\n color: token.colorTextLightSolid,\n background: darkColor,\n borderColor: darkColor\n }\n }\n };\n});\nconst genBaseStyle = token => {\n const {\n paddingXXS,\n lineWidth,\n tagPaddingHorizontal,\n componentCls\n } = token;\n const paddingInline = tagPaddingHorizontal - lineWidth;\n const iconMarginInline = paddingXXS - lineWidth;\n return {\n // Result\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n display: 'inline-block',\n height: 'auto',\n marginInlineEnd: token.marginXS,\n paddingInline,\n fontSize: token.tagFontSize,\n lineHeight: `${token.tagLineHeight}px`,\n whiteSpace: 'nowrap',\n background: token.tagDefaultBg,\n border: `${token.lineWidth}px ${token.lineType} ${token.colorBorder}`,\n borderRadius: token.borderRadiusSM,\n opacity: 1,\n transition: `all ${token.motionDurationMid}`,\n textAlign: 'start',\n // RTL\n [`&${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n '&, a, a:hover': {\n color: token.tagDefaultColor\n },\n [`${componentCls}-close-icon`]: {\n marginInlineStart: iconMarginInline,\n color: token.colorTextDescription,\n fontSize: token.tagIconSize,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}`,\n '&:hover': {\n color: token.colorTextHeading\n }\n },\n [`&${componentCls}-has-color`]: {\n borderColor: 'transparent',\n [`&, a, a:hover, ${token.iconCls}-close, ${token.iconCls}-close:hover`]: {\n color: token.colorTextLightSolid\n }\n },\n [`&-checkable`]: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n cursor: 'pointer',\n [`&:not(${componentCls}-checkable-checked):hover`]: {\n color: token.colorPrimary,\n backgroundColor: token.colorFillSecondary\n },\n '&:active, &-checked': {\n color: token.colorTextLightSolid\n },\n '&-checked': {\n backgroundColor: token.colorPrimary,\n '&:hover': {\n backgroundColor: token.colorPrimaryHover\n }\n },\n '&:active': {\n backgroundColor: token.colorPrimaryActive\n }\n },\n [`&-hidden`]: {\n display: 'none'\n },\n // To ensure that a space will be placed between character and `Icon`.\n [`> ${token.iconCls} + span, > span + ${token.iconCls}`]: {\n marginInlineStart: paddingInline\n }\n })\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Tag', token => {\n const {\n fontSize,\n lineHeight,\n lineWidth,\n fontSizeIcon\n } = token;\n const tagHeight = Math.round(fontSize * lineHeight);\n const tagFontSize = token.fontSizeSM;\n const tagLineHeight = tagHeight - lineWidth * 2;\n const tagDefaultBg = token.colorFillAlter;\n const tagDefaultColor = token.colorText;\n const tagToken = mergeToken(token, {\n tagFontSize,\n tagLineHeight,\n tagDefaultBg,\n tagDefaultColor,\n tagIconSize: fontSizeIcon - 2 * lineWidth,\n tagPaddingHorizontal: 8 // Fixed padding.\n });\n\n return [genBaseStyle(tagToken), genPresetStyle(tagToken), genTagStatusStyle(tagToken, 'success', 'Success'), genTagStatusStyle(tagToken, 'processing', 'Info'), genTagStatusStyle(tagToken, 'error', 'Error'), genTagStatusStyle(tagToken, 'warning', 'Warning')];\n});","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nconst CheckableTag = _a => {\n var {\n prefixCls: customizePrefixCls,\n className,\n checked,\n onChange,\n onClick\n } = _a,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"checked\", \"onChange\", \"onClick\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const handleClick = e => {\n onChange === null || onChange === void 0 ? void 0 : onChange(!checked);\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-checkable`]: true,\n [`${prefixCls}-checkable-checked`]: checked\n }, className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", Object.assign({}, restProps, {\n className: cls,\n onClick: handleClick\n })));\n};\nexport default CheckableTag;","export const getTextWidth = async (text: string, fontSize = 14) => {\n return new Promise<string>((resolve, reject) => {\n const span = document.createElement('span');\n span.innerHTML = text;\n span.style.fontSize = `${fontSize}px`;\n span.style.position = 'fixed';\n span.style.left = '-1000px';\n span.style.bottom = '-1000px';\n span.style.display = 'inline-block';\n document.body.appendChild(span);\n setTimeout(() => {\n const style = window.getComputedStyle(span);\n resolve(style.width);\n setTimeout(() => {\n document.body.removeChild(span);\n });\n });\n });\n};\n","import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { CSSProperties, CSSPropertiesKey, CSSPropertyList } from './cssProperties';\n\nimport styles from './style.module.scss';\n\nimport { AutoComplete, Button, ConfigProvider, message } from 'antd';\nimport { MinusOutlined, PlusOutlined } from '@ant-design/icons';\nimport { getTextWidth } from './util';\nimport { BaseSelectRef } from 'rc-select';\nimport { useDebounceFn } from 'ahooks';\nimport clsx from 'clsx';\nimport { InputStatus } from 'antd/es/_util/statusUtils';\n\nconst defaultPropertyOptions = CSSPropertyList.map((el) => {\n return {\n value: el,\n };\n});\n\nexport type SinglePropertyEditorProps = {\n mode: 'create' | 'edit';\n value: {\n key: string;\n value: string;\n };\n allValues: {\n key: string;\n value: string;\n }[];\n onValueChange: (value: { key: string; value: string }) => void;\n onCreate?: (value: { key: string; value: string }) => void;\n onDelete?: () => void;\n};\n\ntype SinglePropertyEditorRef = {\n reset: () => void;\n};\n\nexport const SinglePropertyEditor = forwardRef<SinglePropertyEditorRef, SinglePropertyEditorProps>(\n function SinglePropertyEditorCore(props, ref) {\n const [keyFormatStatus, setKeyFormatStatus] = useState<InputStatus>('');\n const [valueFormatStatus, setValueFormatStatus] = useState<InputStatus>('');\n const { mode = 'edit' } = props;\n const isCreate = useMemo(() => {\n return mode === 'create';\n }, [mode]);\n const [innerValue, setInnerVal] = useState({\n key: props.value.key,\n value: props.value.value,\n });\n\n useEffect(() => {\n setInnerVal(props.value);\n }, [props.value]);\n\n const [propertyOptions, setPropertyOptions] = useState(defaultPropertyOptions);\n\n const [valueOptions, setValueOptions] = useState<{ value: string }[]>([]);\n const [allValueOptions, setAllValueOptions] = useState<{ value: string }[]>([]);\n\n const onSearch = (searchText: string) => {\n const newOptions = defaultPropertyOptions.filter((el) => el.value.includes(searchText));\n if (!searchText) {\n setPropertyOptions(defaultPropertyOptions);\n } else {\n setPropertyOptions(newOptions);\n }\n };\n\n const updateValueOptions = () => {\n let res: any[] = [];\n const tempProperty = CSSProperties[innerValue.key as unknown as CSSPropertiesKey];\n\n if (tempProperty) {\n res =\n tempProperty.values?.map((val) => {\n return {\n value: val,\n };\n }) || [];\n }\n\n setValueOptions(res);\n setAllValueOptions(res);\n };\n\n const onValueSearch = (searchText: string) => {\n const newOptions = allValueOptions.filter((el) => el.value.includes(searchText));\n if (!searchText) {\n setValueOptions(allValueOptions);\n } else {\n setValueOptions(newOptions);\n }\n };\n\n const updateKeyValue = () => {\n if (props.allValues.find((el) => el.key === innerValue.key)) {\n message.error(`${innerValue.key} is exits`);\n setKeyFormatStatus('error');\n return false;\n }\n return true;\n };\n\n const updateValValue = () => {\n if (isCreate) {\n if (innerValue.value) {\n props.onCreate?.(innerValue);\n } else {\n setValueFormatStatus('error');\n }\n } else {\n updateOuterValueDebounce();\n }\n };\n\n const updateOuterValue = () => {\n setKeyFormatStatus('');\n setValueFormatStatus('');\n\n props.onValueChange({\n ...innerValue,\n });\n };\n\n const { run: updateOuterValueDebounce } = useDebounceFn(updateOuterValue, {\n wait: 20,\n });\n\n const [keyInputWidth, setKeyInputWidth] = useState(0);\n\n useEffect(() => {\n getTextWidth(innerValue.key, 13.33).then((w) => {\n let tempW = parseFloat(w);\n if (innerValue.key === '') {\n tempW = 200;\n }\n setKeyInputWidth(tempW + 6);\n });\n }, [innerValue.key]);\n\n const propertyValueRef = useRef<BaseSelectRef | null>(null);\n const propertyKeyRef = useRef<BaseSelectRef | null>(null);\n const [focusState, setFocusState] = useState({\n key: false,\n value: false,\n });\n useImperativeHandle(\n ref,\n () => {\n return {\n reset: () => {\n setInnerVal({\n key: '',\n value: '',\n });\n propertyKeyRef.current?.focus();\n },\n };\n },\n []\n );\n\n return (\n <div className={styles.cssFieldBox}>\n <AutoComplete\n ref={propertyKeyRef}\n bordered={false}\n disabled={!isCreate}\n onSearch={onSearch}\n status={keyFormatStatus}\n dropdownMatchSelectWidth={200}\n value={innerValue.key}\n onChange={(val) => {\n setInnerVal({\n ...innerValue,\n key: val,\n });\n setKeyFormatStatus('');\n }}\n style={{\n width: `${keyInputWidth}px`,\n }}\n className={clsx([isCreate && styles.inputAuto, isCreate && focusState.key && styles.active])}\n onFocus={() => {\n setFocusState({\n key: true,\n value: false,\n });\n }}\n onBlur={() => {\n setFocusState({\n key: false,\n value: false,\n });\n updateKeyValue();\n }}\n onKeyDown={(e) => {\n if (e.code === 'Enter') {\n const res = updateKeyValue();\n if (res) {\n propertyValueRef.current?.focus();\n }\n }\n }}\n placeholder=\"property\"\n options={propertyOptions}\n />\n <span>:</span>\n <AutoComplete\n bordered={false}\n ref={propertyValueRef}\n status={valueFormatStatus}\n dropdownMatchSelectWidth={200}\n value={innerValue.value}\n onChange={(val) => {\n updateValueOptions();\n setInnerVal({\n ...innerValue,\n value: val,\n });\n setValueFormatStatus('');\n if (!isCreate) {\n props.onCreate?.(innerValue);\n updateOuterValueDebounce();\n }\n }}\n style={{\n flex: 1,\n }}\n onFocus={() => {\n setFocusState({\n key: false,\n value: true,\n });\n }}\n onBlur={() => {\n setFocusState({\n key: false,\n value: false,\n });\n updateOuterValueDebounce();\n }}\n className={clsx([styles.inputAuto, focusState.value && styles.active])}\n placeholder=\"value\"\n onSearch={onValueSearch}\n options={valueOptions}\n onKeyDown={(e) => {\n if (e.code === 'Enter') {\n updateValValue();\n }\n }}\n ></AutoComplete>\n\n {props.onDelete && mode === 'edit' && (\n <Button\n size=\"small\"\n type=\"text\"\n onClick={() => {\n props.onDelete?.();\n }}\n >\n <MinusOutlined\n style={{\n display: 'inline-flex',\n fontSize: '12px',\n }}\n />\n </Button>\n )}\n {props.onCreate && mode === 'create' && (\n <div>\n <Button\n size=\"small\"\n type=\"text\"\n icon={\n <PlusOutlined\n style={{\n fontSize: '12px',\n display: 'inline-flex',\n }}\n />\n }\n onClick={updateValValue}\n ></Button>\n </div>\n )}\n </div>\n );\n }\n);\n\nexport type CSSPropertiesEditorProps = {\n initialValue?: { key: string; value: string }[];\n onValueChange?: (val: { key: string; value: string }[]) => void;\n};\nexport type CSSPropertiesEditorRef = {\n setValue: (val: { key: string; value: string }[]) => void;\n};\n\nexport const CSSPropertiesEditor = forwardRef<CSSPropertiesEditorRef, CSSPropertiesEditorProps>(\n function CSSPropertiesEditorCore(props, ref) {\n const [propertyList, setPropertyList] = useState<{ key: string; value: any }[]>([]);\n\n useImperativeHandle(\n ref,\n () => {\n return {\n setValue: (val) => {\n setPropertyList(val);\n },\n };\n },\n []\n );\n\n useEffect(() => {\n if (props.initialValue) {\n setPropertyList(props.initialValue);\n }\n }, []);\n\n const [newProperty, setNewProperty] = useState({\n key: '',\n value: '',\n });\n\n const innerOnValueChange = (val: typeof propertyList) => {\n props.onValueChange?.(val);\n };\n\n const createPropertyRef = useRef<SinglePropertyEditorRef>(null);\n return (\n <ConfigProvider\n theme={{\n token: {\n borderRadius: 4,\n },\n }}\n >\n <div className={styles.cssBox}>\n {propertyList.map((el, index) => {\n return (\n <div key={index}>\n <SinglePropertyEditor\n mode=\"edit\"\n allValues={propertyList}\n value={el}\n onValueChange={(newVal) => {\n propertyList[index] = newVal;\n setPropertyList([...propertyList]);\n innerOnValueChange(propertyList);\n }}\n onDelete={() => {\n propertyList.splice(index, 1);\n setPropertyList([...propertyList]);\n innerOnValueChange(propertyList);\n }}\n />\n </div>\n );\n })}\n <SinglePropertyEditor\n allValues={propertyList}\n mode=\"create\"\n value={newProperty}\n ref={createPropertyRef}\n onCreate={(newVal) => {\n if (newVal.key && newVal.value) {\n const newList = propertyList.filter((el) => el.key !== newVal.key);\n newList.push(newVal);\n setPropertyList(newList);\n innerOnValueChange(newList);\n createPropertyRef.current?.reset();\n setNewProperty({\n key: '',\n value: '',\n });\n }\n }}\n onValueChange={(newVal) => {\n setNewProperty(newVal);\n }}\n />\n </div>\n </ConfigProvider>\n );\n }\n);\n","import { waitReactUpdate } from '@/utils';\nimport { formatCSSProperty, StyleArr, styleArr2Obj } from '@/utils/css';\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';\nimport { Card, Collapse, Dropdown, Space } from 'antd';\nimport CheckableTag from 'antd/es/tag/CheckableTag';\nimport { MutableRefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CSSPropertiesEditor, CSSPropertiesEditorRef } from '../CSSPropertiesEditor';\nimport styles from './style.module.scss';\n// state: 'normal' | 'hover' | 'active' | 'focus' | 'first' | 'last' | 'even' | 'odd';\n\nconst DOM_CSS_STATUS = [\n 'normal' as const,\n 'hover' as const,\n 'focus' as const,\n 'focus-within' as const,\n 'focus-visible' as const,\n 'checked' as const,\n 'disable' as const,\n 'active' as const,\n];\n\ntype DomCSSStatusType = typeof DOM_CSS_STATUS[number];\n\nconst DOM_CSS_STATUS_LIST = DOM_CSS_STATUS.map((el) => {\n return {\n key: el,\n label: el,\n };\n});\n\ntype MediaQueryItem = {\n key: string;\n maxWidth: string;\n label: string;\n};\n\nexport type CSSVal = Partial<\n Record<\n DomCSSStatusType,\n Record<\n /** media query key */\n string,\n Record<string, string>\n >\n >\n>;\n\nexport type CSSEditorRef = {\n setValue: (val: CSSVal) => void;\n};\n\nexport type CSSEditorProps = {\n onValueChange?: (val: CSSVal) => void;\n initialValue?: CSSVal;\n handler?: MutableRefObject<CSSEditorRef | null>;\n};\n\nexport const CSSEditor = (props: CSSEditorProps) => {\n const [selectedStateTag, setSelectedStateTag] = useState<DomCSSStatusType>('normal');\n const [mediaQueryList] = useState<MediaQueryItem[]>([\n {\n key: '991',\n maxWidth: '991',\n label: 'Medial Query ( <= 991 px )',\n },\n {\n key: '767',\n maxWidth: '767',\n label: 'Medial Query ( <= 767 px )',\n },\n {\n key: '479',\n maxWidth: '479',\n label: 'Medial Query ( <= 479 px )',\n },\n ]);\n const cssPropertyRefMap = useRef<Record<string, CSSPropertiesEditorRef | null>>({});\n const handleChange = (tag: DomCSSStatusType) => {\n setSelectedStateTag(tag);\n };\n const [domStatusList, setDomStatusList] = useState<string[]>(['normal']);\n const cssStatusList = useMemo(() => {\n return DOM_CSS_STATUS_LIST.filter((el) => {\n return !domStatusList.includes(el.key);\n });\n }, [domStatusList]);\n\n const selectCssStatusList = useMemo(() => {\n return DOM_CSS_STATUS_LIST.filter((el) => {\n return domStatusList.includes(el.key);\n });\n }, [domStatusList]);\n\n const [cssVal, setCssVal] = useState<CSSVal>(props.initialValue ?? {});\n\n useEffect(() => {\n const list = Object.keys(cssVal);\n setDomStatusList(list);\n }, [cssVal]);\n\n const currentCssStateVal = useMemo(() => {\n const res = cssVal?.[selectedStateTag];\n if (!res) {\n return {};\n }\n const newVal: Record<string, { key: string; value: string }[]> = {};\n Object.keys(res).forEach((key) => {\n newVal[key] = formatCSSProperty(res[key] || {}).normalProperty;\n });\n return newVal;\n }, [selectedStateTag, cssVal]);\n\n const initVal = useCallback(() => {\n Object.keys(cssPropertyRefMap.current).forEach((key) => {\n const ref = cssPropertyRefMap.current?.[key];\n const cssVal = currentCssStateVal[key] || [];\n if (ref) {\n ref.setValue(cssVal);\n }\n });\n }, [currentCssStateVal]);\n const initRef = useRef<() => void>();\n initRef.current = initVal;\n\n if (props.handler) {\n props.handler.current = {\n setValue: async (newVal) => {\n setCssVal(newVal);\n await waitReactUpdate();\n initRef.current?.();\n },\n };\n }\n\n // 初始化赋值\n useEffect(() => {\n initVal();\n }, [selectedStateTag]);\n\n const updateCssVal = useCallback(\n (mediaKey: string, val: StyleArr) => {\n const newVal = {\n ...cssVal,\n [selectedStateTag]: {\n ...(cssVal[selectedStateTag] || {}),\n [mediaKey]: styleArr2Obj(val),\n },\n };\n props.onValueChange?.(newVal);\n },\n [cssVal, selectedStateTag]\n );\n\n return (\n <>\n <Card\n size=\"small\"\n type=\"inner\"\n title={<span style={{ fontSize: '12px' }}>CSS</span>}\n extra={\n <Dropdown\n menu={{\n items: cssStatusList,\n onClick: (el) => {\n setDomStatusList((oldVal) => {\n return [...oldVal, el.key];\n });\n },\n }}\n >\n <PlusOutlined />\n </Dropdown>\n }\n >\n <Space\n size={[0, 8]}\n wrap\n style={{\n paddingBottom: '10px',\n }}\n >\n {selectCssStatusList.map((tag) => {\n const checked = selectedStateTag.includes(tag.key);\n return (\n <CheckableTag\n key={tag.key}\n style={{\n border: !checked ? '1px solid rgb(216 216 216 / 82%)' : '1px solid rgba(0,0,0,0))',\n }}\n checked={checked}\n onChange={() => handleChange(tag.key)}\n className={styles.stateTag}\n >\n {tag.label}\n {tag.key !== 'normal' && (\n <MinusCircleOutlined\n className={styles.stateTagClose}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n setDomStatusList((oldVal) => {\n return oldVal.filter((el) => {\n return el !== tag.key;\n });\n });\n setSelectedStateTag('normal');\n }}\n />\n )}\n </CheckableTag>\n );\n })}\n </Space>\n\n <Collapse\n defaultActiveKey={['normal']}\n bordered={false}\n style={{\n marginBottom: '10px',\n }}\n >\n <Collapse.Panel header={<span>Normal</span>} key=\"normal\">\n <CSSPropertiesEditor\n ref={(ref) => {\n cssPropertyRefMap.current['normal'] = ref;\n }}\n onValueChange={(val) => updateCssVal('normal', val)}\n initialValue={currentCssStateVal['normal']}\n />\n </Collapse.Panel>\n {mediaQueryList.map((el) => {\n return (\n <Collapse.Panel header={<span>{el.label}</span>} key={el.key}>\n <CSSPropertiesEditor\n ref={(ref) => {\n cssPropertyRefMap.current[el.key] = ref;\n }}\n onValueChange={(val) => updateCssVal(el.key, val)}\n />\n </Collapse.Panel>\n );\n })}\n </Collapse>\n </Card>\n </>\n );\n};\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { CNode, CRootNode } from '@chamn/model';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport { CRightPanelItem } from '../RightPanel/view';\n\nimport styles from './style.module.scss';\nimport { CSSPropertiesEditor, CSSPropertiesEditorRef } from '../../component/CSSPropertiesEditor';\nimport {\n CSSPropertiesVariableBindEditor,\n CSSPropertiesVariableBindEditorRef,\n} from '../../component/CSSPropertiesVariableBindEditor';\nimport { Collapse } from 'antd';\nimport { ClassNameEditor } from '@/component/ClassNameEditor';\nimport { CSSEditor, CSSEditorRef, CSSVal } from '@/component/CSSEditor';\nimport { formatCSSProperty, formatCssToNodeVal, formatNodeValToEditor, StyleArr, styleArr2Obj } from '@/utils/css';\n\nexport const VisualPanelPlus = (props: { node: CNode | CRootNode; pluginCtx: CPluginCtx }) => {\n const formRef = useRef<CSSPropertiesVariableBindEditorRef>(null);\n const node = props.pluginCtx.pageModel.getNode(props.node.id)!;\n const cssPropertyEditorRef = useRef<CSSPropertiesEditorRef>(null);\n const cssEditorRef = useRef<CSSEditorRef>(null);\n const [style, setStyle] = useState<Record<string, any>>({});\n const formatStyle = useMemo(() => {\n return formatCSSProperty(style);\n }, [style]);\n\n const lastNode = useRef<CNode | CRootNode>();\n useEffect(() => {\n const handel = () => {\n lastNode.current = node;\n const newStyle = node.value.style || {};\n setStyle(newStyle);\n const { normalProperty, expressionProperty } = formatCSSProperty(newStyle);\n cssPropertyEditorRef.current?.setValue(normalProperty);\n formRef.current?.setValue(expressionProperty);\n const fCss = formatNodeValToEditor(node.value.css);\n cssEditorRef.current?.setValue(fCss);\n };\n handel();\n node.emitter.on('onNodeChange', handel);\n node.emitter.on('onReloadPage', handel);\n () => {\n node.emitter.off('onNodeChange', handel);\n node.emitter.off('onReloadPage', handel);\n };\n }, [node]);\n\n const onUpdateStyle = (styleArr: StyleArr) => {\n // merge style\n const newStyle = styleArr2Obj([...styleArr]);\n setStyle(newStyle);\n node.value.style = newStyle;\n node.updateValue();\n };\n\n const onUpdateCss = (val: CSSVal) => {\n // class name 不能以数字开头,这里使用c_前缀\n node.value.css = formatCssToNodeVal(`c_${node.id}`, val);\n console.log(' node.value.css', node.value.css);\n node.updateValue();\n };\n\n return (\n <div className={styles.visualPanelBox}>\n <div\n style={{\n marginBottom: '10px',\n }}\n >\n <ClassNameEditor\n onValueChange={(newVal) => {\n node.value.classNames = newVal;\n node.updateValue();\n }}\n />\n </div>\n <Collapse\n defaultActiveKey={['origin-css-edit']}\n bordered={false}\n style={{\n marginBottom: '10px',\n }}\n >\n <Collapse.Panel header={<span className={styles.header}>Style Variable Bind</span>} key=\"origin-css-edit\">\n <CSSPropertiesVariableBindEditor\n ref={formRef}\n initialValue={formatStyle.expressionProperty}\n onValueChange={(val) => {\n onUpdateStyle([...formatStyle.normalProperty, ...val]);\n }}\n />\n </Collapse.Panel>\n </Collapse>\n <CSSEditor handler={cssEditorRef} onValueChange={onUpdateCss} />\n </div>\n );\n};\n\nexport const VisualPanelPlusConfig: CRightPanelItem = {\n key: 'VisualPanelPlus',\n name: 'VisualPanel',\n view: ({ node, pluginCtx }) => <VisualPanelPlus node={node} pluginCtx={pluginCtx} />,\n};\n","import { CNode, CRootNode } from '@chamn/model';\nimport { Empty, Tabs } from 'antd';\nimport React from 'react';\nimport { CPluginCtx } from '../../core/pluginManager';\nimport { PropertyPanelConfig } from '../PropertyPanel';\nimport { ComponentStatePanelConfig } from '../ComponentStatePanel';\nimport { AdvancePanelConfig } from '../AdvancePanel';\nimport styles from './style.module.scss';\nimport { VisualPanelPlusConfig } from '../VisualPanelPlus';\n\nexport type RightPanelOptions = { node: CNode | CRootNode; pluginCtx: CPluginCtx };\n\nexport type CRightPanelItem = {\n key: string;\n name: string | ((props: RightPanelOptions) => React.ReactNode);\n view: (props: RightPanelOptions) => React.ReactNode;\n show?: (options: RightPanelOptions) => boolean;\n};\n\ninterface RightPanelProps {\n pluginCtx: CPluginCtx;\n}\n\ninterface RightPanelState {\n node: CNode | CRootNode | null;\n activeKey: string;\n panels: CRightPanelItem[];\n displayPanels: CRightPanelItem[];\n}\n\nexport class RightPanel extends React.Component<RightPanelProps, RightPanelState> {\n constructor(props: RightPanelProps) {\n super(props);\n this.state = {\n node: props.pluginCtx.engine.getActiveNode(),\n activeKey: 'Visual',\n panels: [\n // AdvancePanelConfig,\n PropertyPanelConfig,\n // VisualPanelConfig,\n VisualPanelPlusConfig,\n ComponentStatePanelConfig,\n // {\n // key: 'Actions',\n // name: 'Actions',\n // view: () => <>Actions</>,\n // },\n AdvancePanelConfig,\n ],\n displayPanels: [],\n };\n }\n\n addPanel = (panel: CRightPanelItem) => {\n const newPanels = [...this.state.panels, panel];\n this.setState({\n panels: newPanels,\n });\n this.updatePanels();\n };\n\n updatePanels = () => {\n const { pluginCtx } = this.props;\n const { node, panels } = this.state;\n const newPanels = panels;\n let val: {\n panels: CRightPanelItem[];\n displayPanels: CRightPanelItem[];\n } = { panels: [], displayPanels: [] };\n if (node) {\n const panelParams = { node: node, pluginCtx };\n const displayPanels = newPanels.filter((panel) => {\n if (panel.show === undefined) {\n return true;\n } else {\n return panel.show(panelParams);\n }\n });\n val = {\n panels: newPanels,\n displayPanels,\n };\n } else {\n val = {\n panels: newPanels,\n displayPanels: [],\n };\n }\n this.setState(val);\n return val;\n };\n\n onNodeChange = ({ node }: any) => {\n const { pluginCtx } = this.props;\n const { panels, activeKey } = this.state;\n const panelParams = { node: node, pluginCtx };\n const displayPanels = panels.filter((panel) => {\n if (panel.show === undefined) {\n return true;\n } else {\n return panel.show(panelParams);\n }\n });\n const firstPanelKey = displayPanels.find((_, index) => index === 0)?.key || '';\n const isExitsCurrent = displayPanels.find((el) => el.key === activeKey);\n if (!isExitsCurrent) {\n this.setState({\n activeKey: firstPanelKey,\n node,\n displayPanels,\n });\n } else {\n this.setState({\n node,\n displayPanels,\n });\n }\n };\n\n componentDidMount(): void {\n const { pluginCtx } = this.props;\n pluginCtx.globalEmitter.on('onSelectNodeChange', this.onNodeChange);\n pluginCtx.pageModel.emitter.on('*', () => {\n const currentSelectNode = pluginCtx.engine.getActiveNode();\n this.onNodeChange({ node: currentSelectNode });\n });\n const { displayPanels } = this.updatePanels();\n const firstPanelKey = displayPanels.find((_, index) => index === 0)?.key || '';\n const isExitsCurrent = displayPanels.find((el) => el.key === this.state.activeKey);\n\n if (!isExitsCurrent) {\n this.setState({\n activeKey: firstPanelKey,\n });\n }\n }\n\n render() {\n const { displayPanels, node, activeKey } = this.state;\n const { pluginCtx } = this.props;\n if (!node) {\n return (\n <div style={{ overflow: 'hidden' }}>\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={'Please select a node from left view'} />\n </div>\n );\n }\n const panelParams = { node: node, pluginCtx };\n\n return (\n <div className={styles.rightPanelContainer}>\n <Tabs\n activeKey={activeKey}\n tabPosition=\"top\"\n style={{\n flex: 1,\n height: '100%',\n }}\n onChange={(activeKey) => {\n this.setState({\n activeKey,\n });\n }}\n items={displayPanels.map((p) => {\n return {\n label: (\n <div style={{ padding: '0 10px' }}>{typeof p.name === 'string' ? p.name : p.name?.(panelParams)}</div>\n ),\n key: p.key,\n children: p.view(panelParams),\n };\n })}\n />\n </div>\n );\n }\n}\n","import React from 'react';\nimport { CPlugin } from '../../core/pluginManager';\nimport { CRightPanelItem, RightPanel } from './view';\n\nconst PLUGIN_NAME = 'RightPanel';\nexport const RightPanelPlugin: CPlugin = (ctx) => {\n const uiHandle = React.createRef<RightPanel>();\n return {\n name: PLUGIN_NAME,\n async init(ctx) {\n const workbench = ctx.getWorkbench();\n workbench.replaceRightView(<RightPanel ref={uiHandle} pluginCtx={ctx} />);\n },\n async destroy(ctx) {\n console.log('destroy', ctx);\n },\n exports: (ctx) => {\n return {\n addPanel: (panel: CRightPanelItem) => {\n uiHandle?.current?.addPanel(panel);\n },\n };\n },\n meta: {\n engine: {\n version: '1.0.0',\n },\n },\n };\n};\n","export const zh_CN: Record<string, any> = {\n pluginName: '全局状态',\n};\n","export const en_US: Record<string, any> = {\n pluginName: 'Global State',\n};\n","import { zh_CN } from './zh_CN';\nimport { en_US } from './en_US';\nexport default { zh_CN, en_US } as Record<string, any>;\n","import { useEffect, useRef } from 'react';\nimport { DatabaseOutlined } from '@ant-design/icons';\nimport { CPlugin, CPluginCtx } from '../../core/pluginManager';\nimport { withTranslation } from 'react-i18next';\nimport localize from './localize';\nimport { MonacoEditor, MonacoEditorInstance } from '../../component/MonacoEditor';\nimport styles from './style.module.scss';\n\nexport const PLUGIN_NAME = 'GlobalState';\nconst i18nNamespace = `plugin:${PLUGIN_NAME}`;\n\ntype GlobalStatePanelProps = {\n pluginCtx: CPluginCtx;\n};\n\nconst GlobalStatePanel = (props: GlobalStatePanelProps) => {\n const { pluginCtx } = props;\n const rootState = pluginCtx.pageModel.value.componentsTree.value.state || {};\n // 表示是不是自己触发的值更新\n let triggerChangeBySelf = false;\n const editorRef = useRef<MonacoEditorInstance | null>(null);\n useEffect(() => {\n editorRef?.current?.setValue(JSON.stringify(rootState, null, 2));\n // 正常情况下, 只有 reloadPage 才需要同步数据\n pluginCtx.pageModel.emitter.on('onReloadPage', (e) => {\n console.log(e);\n if (triggerChangeBySelf) {\n triggerChangeBySelf = false;\n return;\n }\n editorRef.current?.setValue(JSON.stringify(pluginCtx.pageModel.value.componentsTree.value.state, null, 2));\n });\n }, []);\n\n const onValueChange = (newValStr: string) => {\n try {\n const newVal = JSON.parse(newValStr);\n pluginCtx.pageModel.value.componentsTree.value.state = newVal;\n triggerChangeBySelf = true;\n pluginCtx.pageModel.value.componentsTree.updateValue();\n } catch (e) {\n console.warn(e);\n }\n };\n\n return (\n <div className={styles.box}>\n <MonacoEditor\n language={'json'}\n options={{\n automaticLayout: true,\n tabSize: 2,\n minimap: { enabled: false },\n quickSuggestions: false,\n suggestOnTriggerCharacters: false,\n folding: false,\n }}\n onDidMount={(editor) => {\n editorRef.current = editor;\n }}\n onChange={onValueChange}\n />\n </div>\n );\n};\n\nexport const GlobalStatePanelPlugin: CPlugin = {\n name: PLUGIN_NAME,\n async init(ctx) {\n const { i18n } = ctx;\n Object.keys(localize).forEach((lng) => {\n i18n.addResourceBundle(lng, i18nNamespace, localize[lng], true, true);\n });\n\n const GlobalStatePanelWithLocalize = withTranslation(i18nNamespace)(GlobalStatePanel);\n const Title = withTranslation(i18nNamespace)(({ t }) => <>{t('pluginName')}</>);\n const workbench = ctx.getWorkbench();\n workbench.addLeftPanel({\n title: <Title />,\n name: PLUGIN_NAME,\n icon: <DatabaseOutlined />,\n render: <GlobalStatePanelWithLocalize pluginCtx={ctx} />,\n });\n },\n async destroy(ctx) {\n console.log('destroy', ctx);\n },\n exports: (ctx) => {\n return {};\n },\n meta: {\n engine: {\n version: '1.0.0',\n },\n },\n};\n","import React, { useRef, useState } from 'react';\nimport { Modal } from 'antd';\nimport { MonacoEditor, MonacoEditorInstance } from '../../component/MonacoEditor';\nimport { CPage } from '@chamn/model';\nimport { waitReactUpdate } from '../../utils';\nimport { EnginContext } from '../../index';\nimport { DesignerExports } from '../Designer';\n\nexport type DisplaySourceSchemaProps = {\n pageModel: CPage;\n engineCtx: EnginContext;\n children: React.ReactNode;\n};\n\nexport const DisplaySourceSchema = (props: DisplaySourceSchemaProps) => {\n const initialValue = props.pageModel.export();\n const { engineCtx } = props;\n const [open, setOpen] = useState(false);\n const editorRef = useRef<MonacoEditorInstance | null>(null);\n return (\n <>\n <div\n onClick={() => {\n setOpen(true);\n }}\n >\n {props.children}\n </div>\n <Modal\n open={open}\n title=\"Source Schema\"\n width={'100%'}\n onCancel={() => setOpen(false)}\n onOk={async () => {\n setOpen(false);\n const newPage = editorRef.current?.getValue();\n if (!newPage) {\n return;\n }\n const newPageJSON = JSON.parse(newPage);\n props.pageModel.updatePage(newPageJSON);\n await waitReactUpdate();\n const currentSelectNode = engineCtx.engine.getActiveNode();\n const designerPluginInstance = await engineCtx.pluginManager.get('Designer');\n const nodeId = currentSelectNode?.id || '';\n designerPluginInstance?.ctx.emitter.on('ready', () => {\n const designerExports: DesignerExports = designerPluginInstance.exports;\n designerExports.selectNode(nodeId);\n });\n if (designerPluginInstance) {\n const designerExports: DesignerExports = designerPluginInstance.exports;\n designerExports.selectNode(nodeId);\n }\n }}\n style={{\n height: 'calc(100vh - 50px)',\n top: '25px',\n }}\n destroyOnClose\n >\n <div style={{ width: '100%', height: 'calc(100vh - 200px)' }}>\n <MonacoEditor\n initialValue={JSON.stringify(initialValue, null, 2)}\n language={'json'}\n options={{\n automaticLayout: true,\n }}\n onDidMount={(editor) => {\n editorRef.current = editor;\n }}\n />\n </div>\n </Modal>\n </>\n );\n};\n","import { waitReactUpdate } from '@/utils';\nimport { CPageDataType } from '@chamn/model';\nimport { cloneDeep } from 'lodash-es';\nimport { CPlugin, CPluginCtx } from '../../core/pluginManager';\n\nconst PLUGIN_NAME = 'History';\n\nexport const HistoryPlugin: CPlugin = (ctx) => {\n const CTX: CPluginCtx | null = ctx;\n const dataStore = {\n historyRecords: [] as CPageDataType[],\n currentStepIndex: 0,\n };\n\n let originalPageRecord: CPageDataType | null = null;\n const pageSchema = ctx.pageModel.export();\n originalPageRecord = pageSchema;\n dataStore.historyRecords.push(pageSchema);\n\n const loadPage = async (page: CPageDataType) => {\n if (!CTX) {\n return;\n }\n CTX.pageModel.reloadPage(page);\n await waitReactUpdate();\n };\n\n const resObj = {\n addStep: () => {\n const { currentStepIndex, historyRecords } = dataStore;\n const newPage = ctx.pageModel.export();\n if (currentStepIndex !== historyRecords.length - 1) {\n dataStore.historyRecords = historyRecords.slice(0, currentStepIndex + 1);\n }\n dataStore.historyRecords.push(newPage);\n dataStore.currentStepIndex = historyRecords.length - 1;\n },\n reset: async () => {\n const ctx = CTX;\n if (!ctx) {\n console.warn('plugin ctx is null, pls check it');\n return;\n }\n if (!originalPageRecord) {\n return;\n }\n dataStore.historyRecords = [];\n loadPage(originalPageRecord);\n },\n preStep: () => {\n const { currentStepIndex, historyRecords } = dataStore;\n if (!resObj.canGoPreStep()) {\n return;\n }\n const newIndex = currentStepIndex - 1;\n dataStore.currentStepIndex = newIndex;\n const page = cloneDeep(historyRecords[newIndex]);\n loadPage(page);\n },\n nextStep: () => {\n if (!resObj.canGoNextStep()) {\n return;\n }\n const { currentStepIndex, historyRecords } = dataStore;\n const newIndex = currentStepIndex + 1;\n dataStore.currentStepIndex = newIndex;\n const page = cloneDeep(historyRecords[newIndex]);\n return loadPage(page);\n },\n canGoPreStep: () => {\n const { currentStepIndex } = dataStore;\n if (currentStepIndex <= 0) {\n return false;\n }\n return true;\n },\n canGoNextStep: () => {\n const { currentStepIndex, historyRecords } = dataStore;\n if (currentStepIndex >= historyRecords.length - 1) {\n return false;\n }\n return true;\n },\n };\n\n return {\n name: PLUGIN_NAME,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n async init(ctx) {\n ctx.pageModel.emitter.on('onNodeChange', () => {\n resObj.addStep();\n });\n ctx.pageModel.emitter.on('onPageChange', () => {\n resObj.addStep();\n });\n ctx.pluginReadyOk();\n },\n async destroy(ctx) {\n console.log('destroy', ctx);\n },\n exports: () => {\n return resObj;\n },\n meta: {\n engine: {\n version: '1.0.0',\n },\n },\n };\n};\n","import { CPlugin } from '../core/pluginManager';\nimport { ComponentLibPlugin } from './ComponentLibrary';\nimport { DesignerPlugin } from './Designer';\nimport { OutlineTreePlugin } from './OutlineTree';\nimport { RightPanelPlugin } from './RightPanel';\nimport { GlobalStatePanelPlugin } from './GlobalStatePanel';\nimport { DisplaySourceSchema } from './DisplaySourceSchema';\nimport { HistoryPlugin } from './History';\n\nexport const DEFAULT_PLUGIN_LIST: CPlugin[] = [\n DesignerPlugin,\n OutlineTreePlugin,\n ComponentLibPlugin,\n GlobalStatePanelPlugin,\n RightPanelPlugin,\n HistoryPlugin,\n];\n\nexport {\n DesignerPlugin,\n ComponentLibPlugin,\n RightPanelPlugin,\n GlobalStatePanelPlugin,\n HistoryPlugin,\n DisplaySourceSchema,\n};\n","import { CMaterialPropsType, CMaterialType, HTMl_TAGS } from '@chamn/model';\nimport { capitalize } from 'lodash-es';\n\nconst customAttributesMeta: CMaterialPropsType[number] = {\n name: '$$attributes',\n title: '属性',\n valueType: 'object',\n setters: [\n {\n componentName: 'ArraySetter',\n props: {\n item: {\n setters: [\n {\n componentName: 'ShapeSetter',\n props: {\n elements: [\n {\n name: 'key',\n title: '属性名',\n valueType: 'string',\n setters: ['StringSetter'],\n },\n {\n name: 'value',\n title: '值',\n valueType: 'string',\n setters: ['StringSetter', 'NumberSetter', 'JSONSetter', 'FunctionSetter', 'ExpressionSetter'],\n },\n ],\n collapse: false,\n },\n initialValue: {},\n },\n ],\n initialValue: {},\n },\n },\n initialValue: [],\n },\n ],\n};\n\nconst widthPropsMeta: CMaterialPropsType[number] = {\n name: 'width',\n title: '宽度',\n valueType: 'string',\n setters: ['StringSetter', 'ExpressionSetter'],\n};\n\nconst heightPropsMeta: CMaterialPropsType[number] = {\n name: 'height',\n title: '高度',\n valueType: 'string',\n setters: ['StringSetter', 'ExpressionSetter'],\n};\n\nconst htmlNativeComponentMeta = HTMl_TAGS.map((tag) => {\n const DivMeta: CMaterialType = {\n title: capitalize(tag),\n componentName: tag,\n props: [customAttributesMeta],\n snippets: [],\n };\n\n return DivMeta;\n});\n\nconst BaseComponentMeta: CMaterialType[] = [\n {\n title: '块',\n componentName: 'CBlock',\n isSupportStyle: true,\n props: [\n widthPropsMeta,\n heightPropsMeta,\n {\n name: 'children',\n title: '文本',\n valueType: 'string',\n setters: ['StringSetter', 'ExpressionSetter'],\n },\n customAttributesMeta,\n ],\n groupName: '原子组件',\n snippets: [\n {\n title: '块',\n snapshotText: 'Block',\n category: '基础组件',\n schema: {\n props: {\n width: '100%',\n height: '100px',\n },\n },\n },\n ],\n },\n {\n title: '容器',\n componentName: 'CContainer',\n isSupportStyle: true,\n isContainer: true,\n props: [\n widthPropsMeta,\n heightPropsMeta,\n {\n name: 'afterMount',\n title: '渲染之后',\n valueType: 'function',\n setters: ['FunctionSetter', 'ExpressionSetter'],\n },\n {\n name: 'beforeDestroy',\n title: '销毁之前',\n valueType: 'function',\n setters: ['FunctionSetter', 'ExpressionSetter'],\n },\n customAttributesMeta,\n ],\n groupName: '原子组件',\n snippets: [\n {\n title: '容器',\n snapshotText: 'Con',\n category: '基础组件',\n schema: {\n props: {\n width: '100%',\n height: '100px',\n },\n },\n },\n ],\n },\n {\n title: '图片',\n componentName: 'CImage',\n isSupportStyle: true,\n props: [\n {\n name: 'src',\n title: '地址',\n valueType: 'string',\n setters: ['StringSetter', 'ExpressionSetter'],\n },\n widthPropsMeta,\n heightPropsMeta,\n customAttributesMeta,\n ],\n groupName: '原子组件',\n snippets: [\n {\n title: '图片',\n snapshotText: 'Img',\n category: '基础组件',\n schema: {\n props: {\n width: '300px',\n height: '150px',\n },\n },\n },\n ],\n },\n {\n title: '视频',\n componentName: 'CVideo',\n isSupportStyle: true,\n props: [\n {\n name: 'src',\n title: '地址',\n valueType: 'string',\n setters: ['StringSetter', 'ExpressionSetter'],\n },\n {\n name: 'autoPlay',\n title: '自动播放',\n valueType: 'string',\n setters: ['BooleanSetter', 'ExpressionSetter'],\n },\n {\n name: 'controls',\n title: '控制面板',\n valueType: 'string',\n setters: ['BooleanSetter', 'ExpressionSetter'],\n },\n widthPropsMeta,\n heightPropsMeta,\n customAttributesMeta,\n ],\n fixedProps: {\n autoPlay: false,\n },\n groupName: '原子组件',\n snippets: [\n {\n title: '视频',\n snapshotText: 'Video',\n category: '基础组件',\n schema: {\n props: {\n width: '300px',\n height: '150px',\n src: 'https://vjs.zencdn.net/v/oceans.mp4',\n },\n },\n },\n ],\n },\n {\n title: '音频',\n groupName: '原子组件',\n componentName: 'CAudio',\n isSupportStyle: true,\n props: [\n {\n name: 'src',\n title: '地址',\n valueType: 'string',\n setters: ['StringSetter', 'ExpressionSetter'],\n },\n {\n name: 'autoPlay',\n title: '自动播放',\n valueType: 'string',\n setters: ['BooleanSetter', 'ExpressionSetter'],\n },\n {\n name: 'controls',\n title: '控制面板',\n valueType: 'string',\n setters: ['BooleanSetter', 'ExpressionSetter'],\n },\n widthPropsMeta,\n heightPropsMeta,\n customAttributesMeta,\n ],\n snippets: [\n {\n title: '音频',\n snapshotText: 'Audio',\n category: '基础组件',\n schema: {\n props: {\n src: 'https://vjs.zencdn.net/v/oceans.mp4',\n },\n },\n },\n ],\n },\n {\n title: '文本',\n componentName: 'CText',\n groupName: '原子组件',\n isSupportStyle: true,\n props: [\n {\n name: 'content',\n title: '内容',\n valueType: 'string',\n setters: ['TextAreaSetter', 'ExpressionSetter'],\n },\n customAttributesMeta,\n ],\n snippets: [\n {\n title: '文本',\n snapshotText: 'Text',\n category: '基础组件',\n schema: {\n props: {\n content: 'text',\n },\n },\n },\n ],\n },\n {\n title: 'Canvas',\n componentName: 'CCanvas',\n isSupportStyle: true,\n props: [widthPropsMeta, heightPropsMeta, customAttributesMeta],\n groupName: '原子组件',\n snippets: [\n {\n title: '画布',\n snapshotText: 'Cavs',\n category: '基础组件',\n schema: {\n props: {\n width: '300px',\n height: '150px',\n },\n },\n },\n ],\n },\n {\n title: 'HTML 标签',\n componentName: 'CNativeTag',\n isSupportStyle: true,\n props: [\n {\n name: 'htmlTag',\n title: '标签名',\n valueType: 'string',\n setters: [\n {\n componentName: 'SelectSetter',\n props: {\n options: HTMl_TAGS.map((tag) => {\n return {\n name: tag,\n value: tag,\n };\n }),\n },\n },\n ],\n },\n customAttributesMeta,\n ],\n groupName: '原子组件',\n snippets: [\n {\n title: 'HTML',\n snapshotText: 'HTML',\n category: '基础组件',\n schema: {\n props: {\n htmlTag: 'div',\n children: 'html tag',\n },\n },\n },\n ],\n },\n];\n\nexport const InnerComponentMeta = [...BaseComponentMeta, ...htmlNativeComponentMeta];\n","import React from 'react';\nimport { Workbench } from './component/Workbench';\nimport styles from './Engine.module.scss';\nimport i18n from './i18n/index';\nimport { CPlugin, PluginManager } from './core/pluginManager';\nimport mitt, { Emitter } from 'mitt';\nimport { AssetPackage, CMaterialType, CNode, CPage, CPageDataType, CRootNode, EmptyPage } from '@chamn/model';\nimport { defaultRender, beforeInitRender } from './utils/defaultEngineConfig';\n\nexport type EnginContext = {\n pluginManager: PluginManager;\n engine: Engine;\n};\n\nexport type EngineProps = {\n plugins: CPlugin[];\n schema: CPageDataType;\n material?: CMaterialType[];\n assetPackagesList?: AssetPackage[];\n beforePluginRun?: (options: { pluginManager: PluginManager }) => void;\n onReady?: (ctx: EnginContext) => void;\n /** 渲染器 umd 格式 js 地址, 默认 ./render.umd.js */\n renderJSUrl?: string;\n};\n\nexport class Engine extends React.Component<EngineProps> {\n currentSelectNode: CNode | CRootNode | null;\n\n pluginManager!: PluginManager;\n workbenchRef = React.createRef<Workbench>();\n pageSchema: CPageDataType | undefined;\n pageModel: CPage;\n material: CMaterialType[] | undefined;\n emitter: Emitter<any>;\n\n constructor(props: EngineProps) {\n super(props);\n this.pageSchema = props.schema;\n this.material = props.material;\n this.currentSelectNode = null;\n (window as any).__CHAMELEON_ENG__ = this;\n\n try {\n this.pageModel = new CPage(this.pageSchema, {\n materials: this.material || [],\n assetPackagesList: props.assetPackagesList || [],\n });\n } catch (e) {\n console.error(e);\n this.pageModel = new CPage(EmptyPage);\n }\n this.emitter = mitt();\n }\n\n updateCurrentSelectNode(node: CNode | CRootNode) {\n this.currentSelectNode = node;\n this.emitter.emit('onSelectNodeChange', {\n node,\n });\n }\n\n async componentDidMount() {\n (window as any).__C_ENGINE__ = this;\n const plugins = this.props.plugins;\n const pluginManager = new PluginManager({\n engine: this,\n getWorkbench: () => this.workbenchRef.current!,\n emitter: this.emitter,\n pageModel: this.pageModel,\n i18n,\n assets: this.props.assetPackagesList || [],\n });\n this.pluginManager = pluginManager;\n // 使用默认的渲染策略\n pluginManager.customPlugin('Designer', (pluginInstance) => {\n pluginInstance.ctx.config.beforeInitRender = beforeInitRender;\n pluginInstance.ctx.config.customRender = defaultRender;\n return pluginInstance;\n });\n this.props.beforePluginRun?.({\n pluginManager: this.pluginManager,\n });\n\n const pList = plugins.map((p) => {\n return this.pluginManager.add(p);\n });\n\n await Promise.all(pList);\n\n this.pageModel.emitter.on('onReloadPage', () => {\n if (!this.currentSelectNode) {\n return;\n }\n const newSelectNode = this.pageModel.getNode(this.currentSelectNode?.id);\n if (newSelectNode) {\n this.updateCurrentSelectNode(newSelectNode);\n }\n });\n\n this.props.onReady?.({\n pluginManager: this.pluginManager,\n engine: this,\n });\n }\n\n getActiveNode() {\n if (!this.currentSelectNode?.id) {\n return null;\n }\n const node = this.pageModel.getNode(this.currentSelectNode.id);\n this.currentSelectNode = node;\n return node;\n }\n\n updatePage = (page: CPageDataType) => {\n this.emitter.emit('updatePage');\n console.log(page);\n };\n\n updateDesignerAssets = (assets: AssetPackage[]) => {\n console.log('updateDesignerAssets', assets);\n };\n\n updateMaterial = (material: CMaterialType[]) => {\n this.emitter.emit('updateMaterial');\n console.log(material);\n };\n\n refresh = () => {\n this.emitter.emit('refresh');\n console.log('refresh engine');\n };\n\n getWorkbench = () => {\n return this.workbenchRef.current;\n };\n\n render() {\n return (\n <div className={styles.engineContainer}>\n <Workbench ref={this.workbenchRef} emitter={this.emitter} />\n </div>\n );\n }\n}\n\nexport * as plugins from './plugins';\nexport * from '@chamn/layout';\n\nexport * from './material/innerMaterial';\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","e","reactJsxRuntime_production_min","process","env","NODE_ENV","React","require","REACT_ELEMENT_TYPE","Symbol","for","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","iterator","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","error","format","_len2","arguments","length","args","Array","_key2","printWarning","level","ReactDebugCurrentFrame","stack","getStackAddendum","concat","argsWithFormat","map","item","String","unshift","Function","prototype","apply","call","console","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","type","$$typeof","getModuleId","undefined","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","name","getContextName","getComponentNameFromType","tag","context","provider","_context","render","outerName","lazyComponent","payload","_payload","init","_init","assign","Object","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","__reactDisabledLog","disableLogs","log","info","warn","group","groupCollapsed","groupEnd","props","configurable","enumerable","value","writable","defineProperties","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","source","ownerFn","Error","x","match","trim","reentry","componentFrameCache","PossiblyWeakMap","WeakMap","Map","describeNativeComponentFrame","fn","construct","frame","get","control","previousPrepareStackTrace","prepareStackTrace","previousDispatcher","current","Fake","defineProperty","set","Reflect","sample","sampleLines","split","controlLines","s","_frame","replace","includes","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","isReactComponent","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","_owner","_source","setExtraStackFrame","checkPropTypes","typeSpecs","values","location","componentName","has","bind","typeSpecName","error$1","err","ex","message","isArrayImpl","isArray","typeName","hasToStringTag","toStringTag","constructor","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","key","ref","__self","__source","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","getOwnPropertyDescriptor","isReactWarning","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","stateNode","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","_store","freeze","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","parentName","validateExplicitKey","validated","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","entries","step","next","done","validatePropTypes","propTypes","PropTypes","_name","getDefaultProps","isReactClassApproved","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","exports","module","require$$1","__extends","this","extendStatics","d","setPrototypeOf","__proto__","__","create","__assign","t","rowSizeBase","width","height","top","left","cursor","colSizeBase","edgeBase","position","styles","right","bottom","topRight","bottomRight","bottomLeft","topLeft","Resizer","_super","_this","onMouseDown","onResizeStart","direction","onTouchStart","_jsx","className","style","userSelect","replaceStyles","PureComponent","DEFAULT_SIZE","clamp","min","max","Math","snap","size","round","hasDirection","dir","target","RegExp","test","isTouchEvent","event","Boolean","touches","isMouseEvent","clientX","clientY","findClosestSnap","snapArray","snapGap","closestGapIndex","reduce","prev","curr","index","abs","gap","getStringSize","toString","endsWith","getPixelSize","parentSize","innerWidth","innerHeight","Number","ratio","calculateNewMax","maxWidth","maxHeight","minWidth","minHeight","definedProps","baseClassName","Resizable","resizable","parentLeft","parentTop","resizableLeft","resizableRight","resizableTop","resizableBottom","targetLeft","targetTop","appendBase","window","parent","parentNode","document","createElement","transform","flex","classList","add","appendChild","removeBase","base","removeChild","state","isResizing","propsSize","original","y","backgroundStyle","backgroundColor","opacity","zIndex","flexBasis","onMouseMove","onMouseUp","ownerDocument","defaultView","defaultSize","orgWidth","offsetWidth","orgHeight","offsetHeight","orgPosition","getSize","getParentSize","percent","wrapChanged","wrap","flexWrap","bindEvents","addEventListener","capture","passive","unbindEvents","removeEventListener","componentDidMount","computedStyle","getComputedStyle","setState","componentWillUnmount","createSizeForCssProperty","newSize","kind","calculateNewMaxFromBoundary","boundsByDirection","widthByDirection","heightByDirection","boundWidth","boundHeight","bounds","parent_1","isFinite","calculateNewSizeFromDirection","scale","resizeRatio","_a","_b","lockAspectRatio","lockAspectRatioExtraHeight","lockAspectRatioExtraWidth","newWidth","newHeight","extraHeight","extraWidth","calculateNewSizeFromAspectRatio","computedMinWidth","computedMaxWidth","computedMinHeight","computedMaxHeight","extraMinWidth","extraMaxWidth","extraMinHeight","extraMaxHeight","lockedMinWidth","lockedMaxWidth","lockedMinHeight","lockedMaxHeight","setBoundingClientRect","parent_2","parentRect","getBoundingClientRect","targetRect","top_1","nativeEvent","startResize","parent_3","flexDirection","flexDir","startsWith","TouchEvent","preventDefault","stopPropagation","_c","boundaryMax","grid","newGridWidth","newGridHeight","delta","vw","vh","newState","flushSync","onResize","onResizeStop","updateSize","renderResizer","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","handleComponent","resizers","extendsProps","acc","indexOf","sizeStyle","boxSizing","flexShrink","Wrapper","as","_jsxs","IconContext","createContext","Context$2","_typeof","obj","_toPrimitive","input","hint","prim","res","_toPropertyKey","arg","toPrimitive","_defineProperty","toPropertyKey","ownKeys","enumerableOnly","symbols","sym","_objectSpread2","_arrayWithHoles","arr","_iterableToArrayLimit","_i","_s","_e","_x","_r","_arr","_n","_d","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","hasOwn","classNames","classes","argType","inner","bound01","isOnePointZero","isPercent","isPercentage","clamp01","val","boundAlpha","convertToPercentage","pad2","rgbToRgb","r","rgbToHsl","h","hue2rgb","hslToRgb","rgbToHsv","v","hsvToRgb","mod","rgbToHex","allow3Char","hex","rgbaToHex","allow4Char","convertDecimalToHex","convertHexToDecimal","parseIntFromHex","numberInputToObject","color","names","inputToRGB","rgb","ok","stringInputToObject","isValidCSSUnit","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","named","TinyColor","opts","R","G","B","RsRGB","GsRGB","BsRGB","alpha","hsv","hsl","allowShortChar","fmt","rnd","formatSet","formattedString","hasAlpha","needsAlphaFormat","amount","hue","rgb1","rgb2","rgba","results","slices","part","ret","modification","background","fg","bg","result","increment","hueStep","saturationStep","saturationStep2","brightnessStep1","brightnessStep2","lightColorCount","darkColorCount","darkColorMap","toHsv","_ref","toHex","_ref2","mix","getHue","light","getSaturation","saturation","getValue","generate","patterns","pColor","colorString","_hsv","_colorString","_ref3","darkColorString","presetPrimaryColors","presetPalettes","presetDarkPalettes","warned","warning","valid","resetWarned","method","warningOnce","canUseDom","contains","root","APPEND_ORDER","MARK_KEY","containerCache","getMark","mark","getContainer","option","head","getOrder","prepend","findStyles","container","injectCSS","css","csp","styleNode","firstChild","existStyle","findExistNode","removeCSS","existNode","syncRealContainer","cachedRealContainer","placeholderStyle","updateCSS","_option$csp","_option$csp2","_option$csp3","newNode","isIconDefinition","theme","icon","normalizeAttrs","attrs","class","rootProps","_objectSpread","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","useInsertStyles","styleStr","_useContext","useContext","useEffect","_excluded","twoToneColorPalette","setTwoToneColors","secondaryColor","getTwoToneColors","IconBase","onClick","restProps","colors","ReactIcon","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","getTwoToneColor","Icon","forwardRef","_classNames","spin","rotate","tabIndex","_React$useContext","Context","_React$useContext$pre","prefixCls","rootClassName","classString","iconTabIndex","svgStyle","msTransform","role","AntdIcon","ApartmentOutlined","ApartmentOutlinedSvg","ApartmentOutlined$1","AppstoreAddOutlined","AppstoreAddOutlinedSvg","AppstoreAddOutlined$1","CloseOutlined","CloseOutlinedSvg","CloseOutlined$1","CopyOutlined","CopyOutlinedSvg","CopyOutlined$1","DatabaseOutlined","DatabaseOutlinedSvg","DatabaseOutlined$1","DeleteOutlined","DeleteOutlinedSvg","DeleteOutlined$1","DoubleRightOutlined","DoubleRightOutlinedSvg","DoubleRightOutlined$1","EyeInvisibleOutlined","EyeInvisibleOutlinedSvg","EyeInvisibleOutlined$1","EyeOutlined","EyeOutlinedSvg","EyeOutlined$1","MinusCircleOutlined","MinusCircleOutlinedSvg","MinusCircleOutlined$1","MinusOutlined","MinusOutlinedSvg","MinusOutlined$1","PlusOutlined","PlusOutlinedSvg","PlusOutlined$1","PushpinOutlined","PushpinOutlinedSvg","PushpinOutlined$1","RightOutlined","RightOutlinedSvg","RightOutlined$1","SwapOutlined","SwapOutlinedSvg","SwapOutlined$1","clsx","mitt","waitReactUpdate","time","resolve","Workbench","emitter","leftPanelContentRef","addLeftPanel","panel","leftPanels","push","openLeftPanel","currentActiveLeftPanel","newActive","leftBoxVisible","leftBoxSize","emit","visible","panelName","closeLeftPanel","toggleLeftPanel","onPluginIconClick","openRightPanel","rightBoxSize","rightBoxVisible","closeRightPanel","replaceBodyView","newView","bodyView","replaceRightView","rightView","replaceTopBarView","topToolBarView","toggleRightPanel","newVisible","onLeftBoxResizeStop","_direction","newW","onGlobalClick","leftBoxFixed","createRef","leftBoContentStyle","currentActivePluginObj","find","el","CurrentPluginRenderView","workbenchContainer","topToolBarBox","bodyContent","leftBox","pluginIconBar","pl","pluginIconItem","active","pluginPanelBoxResizeBox","pluginHeader","pluginNameText","title","Button","fixedBtn","closeBtn","pluginPanelBox","centerBox","canvasBox","scrollBox","rightResizeBox","arrowCursor","display","rightBox","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_setPrototypeOf","_inherits","subClass","superClass","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_iterableToArray","iter","_toArray","iterableToArray","ownKeys$6","_objectSpread$6","consoleLogger","Logger","concreteLogger","options","bool","_len","_key","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","cloned","observer","_cloned","defer","rej","promise","reject","makeString","copy","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","setPath","newValue","_getLastOfPath","pushPath","_getLastOfPath2","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","overwrite","prop","regexEscape","str","_entityMap","escape","isIE10","chars","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","paths","j","joinedPath","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","Super","NewTarget","ResourceStore","_EventEmitter","ns","lng","ignoreJSONStructure","resources","deep","pack","postProcessor","processors","translator","processor","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","services","resolved","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","lastKey","_this2","returnDetails","_this$extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","handleAsObject","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValue","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","language","suffix","_this3","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","_this4","found","exactUsedKey","usedLng","usedNS","extracted","needsZeroSuffixLookup","needsContextHandling","codes","code","finalKeys","pluralSuffix","zeroSuffix","contextKey","possibleKey","capitalize","string","LanguageUtil","specialCases","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","sets","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","createRules","rules","PluralResolver","languageUtils","rule","pluralCategory1","pluralCategory2","pluralCategory","number","count","idx","returnSuffix","ownKeys$3","_objectSpread$3","deepFindWithDefaults","Interpolator","iOpts","regexpStr","regexpUnescapeStr","nestingRegexpStr","replaces","regexSafe","handleFormat","missingInterpolationHandler","todos","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","ownKeys$2","_objectSpread$2","parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split","_opt$split2","rest","createCachedFormatter","cache","formatter","Formatter","_format","formats","mem","_parseFormatStr","formatted","valOptions","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","loaded","loadedKeys","fcName","tried","wait","resolver","_this5","fallbackValue","isUpdate","clb","transformOptions","_createSuper","_isNativeReflectConstruct","noop","bindMemberFunctions","inst","mems","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","setLng","keyPrefix","fixedT","resultKey","_this$translator","_this$translator2","_this6","fallbackLng","lastLng","loadNotPending","loadState","preResult","_this7","preloaded","newLngs","rtlLngs","_this8","mergedOptions","clone","membersToCopy","_console","alreadyWarned","warnOnce","loadNamespaces","i18n","cb","initialized","oldI18nextHasLoadedNamespace","hasLoadedNamespace","isNewerI18next","i18nInstance","getDisplayName","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","unescape","text","defaultOptions","setDefaults","getDefaults","setI18n","getI18n","initReactI18next","I18nContext","ReportNamespaces","usePrevious","ignore","useRef","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","notReadyT","optsOrDefaultValue","retNotReady","i18nOptions","useSuspense","ready","getT","_useState","useState","_useState2","setT","joinedNS","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","isInitial","withTranslation","WrappedComponent","I18nextWithTranslation","forwardedRef","_useTranslation","_useTranslation2","passDownProps","forwardRefReact","zh_CN","en_US","customI18n","PluginManager","getWorkbench","pageModel","assets","engine","__publicField","pluginName","customPluginHook","customPluginHooks","hookList","plugin","ctx","innerPlugin","pluginCtx","pluginInstance","pluginObj","beforeInitRender","iframe","subWin","getWindow","ReactDOM","ReactDOMClient","defaultRender","iframeContainer","page","renderJSUrl","injectJS","iframeWindow","iframeDoc","getDocument","IframeReact","IframeReactDOM","CRender","AssetLoader","onSuccess","componentCollection","collectVariable","components","flatObject","App","DesignRender","adapter","ReactAdapter","onMount","designRenderInstance","createRoot","getElementById","onError","localize$3","DragComponentItem","dragInfo","DRAG_ITEM_KEY","id","useMemo","iconText","toUpperCase","iconImg","src","contentView","square","containerClassName","componentItem","iconBox","description","Popover","overlayInnerStyle","overflow","content","placement","Panel","Collapse","ListView","dataSource","defaultActiveKey","ListBox","category","collapsePanel","list","it","snapshot","snapshotText","header","getTargetMNodeKeyVal","dom","freeGlobal","freeGlobal$3","freeSelf","root$4","Symbol$5","objectProto","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","arrayMap","array","iteratee","isArray$1","INFINITY","symbolProto","symbolToString","baseToString","isObject","asyncTag","funcTag","genTag","proxyTag","isFunction","coreJsData","coreJsData$1","maskSrcKey","uid","isMasked","func","funcProto","funcToString","toSource","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","pattern","getNative","WeakMap$2","objectCreate","baseCreate","proto","baseCreate$1","copyArray","defineProperty$1","arrayEach","MAX_SAFE_INTEGER","reIsUint","isIndex","baseAssignValue","eq","other","assignValue","objValue","copyObject","customizer","isNew","isLength","isArrayLike","isPrototype","Ctor","baseTimes","argsTag","baseIsArguments","propertyIsEnumerable","isArguments","isArguments$1","stubFalse","freeExports","freeModule","moduleExports","Buffer","nativeIsBuffer","isBuffer","isBuffer$1","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","objectTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","baseUnary","freeProcess","nodeUtil","types","nodeUtil$1","nodeIsTypedArray","isTypedArray","isTypedArray$1","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","overArg","nativeKeys","nativeKeys$1","baseKeys","nativeKeysIn","baseKeysIn","isProto","keysIn","nativeCreate","nativeCreate$1","hashClear","hashDelete","HASH_UNDEFINED","hashGet","hashHas","hashSet","Hash","entry","listCacheClear","assocIndexOf","arrayProto","splice","listCacheDelete","lastIndex","listCacheGet","listCacheHas","listCacheSet","ListCache","Map$2","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","arrayPush","offset","getPrototype","getPrototype$1","objectCtorString","isPlainObject","baseSlice","start","end","castSlice","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","hasUnicode","asciiToArray","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","unicodeToArray","stringToArray","createCaseFirst","methodName","strSymbols","chr","trailing","upperFirst","upperFirst$1","stackClear","stackDelete","stackGet","stackHas","LARGE_ARRAY_SIZE","stackSet","pairs","Stack","baseAssign","baseAssignIn","allocUnsafe","cloneBuffer","buffer","isDeep","arrayFilter","predicate","resIndex","stubArray","nativeGetSymbols","getSymbols","symbol","getSymbols$1","copySymbols","getSymbolsIn","getSymbolsIn$1","copySymbolsIn","baseGetAllKeys","keysFunc","symbolsFunc","getAllKeys","getAllKeysIn","DataView","DataView$1","Promise","Promise$2","Set","Set$2","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","getTag$1","initCloneArray","Uint8Array","Uint8Array$1","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","reFlags","cloneRegExp","regexp","symbolValueOf","cloneSymbol","cloneTypedArray","typedArray","initCloneByTag","initCloneObject","baseIsMap","nodeIsMap","isMap","isMap$1","baseIsSet","nodeIsSet","isSet","isSet$1","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","cloneableTags","baseClone","bitmask","isFlat","isFull","isFunc","stacked","subValue","cloneDeep","PLUGIN_NAME","i18nNamespace","TabTitle","tabTitle","ComponentLibView","containerRef","disposeList","leftPanelVisibleCb","pluginManager","onPluginReadyOk","registerDragEvent","designerHandle","dnd","getDnd","boxSensor","Sensor","setCanDrag","eventObj","targetDom","targetNodeId","meta","materialsModel","findSnippetById","createNode","schema","then","selectNode","extraData","startNode","registerSensor","dragStart","workbench","off","on","componentsList","localize","forEach","addResourceBundle","update","allSnippets","getAllSnippets","items","label","Tabs","ComponentLibPlugin","ComponentLibViewWithLocalize","Title","_Fragment","destroy","version","localize$2","LayoutSelect","onSelect","hover","setHover","layoutSelectBox","hoverBox","hoverBoxActive","hoverItem","placeholder","onMouseOver","onMouseOut","DefaultSelectToolBar","nodeList","toSelectNode","toDelete","toCopy","toHidden","tempList","currentNode","shift","parentNodeItems","nodeMeta","findByComponentName","copyItem","deleteItem","visibleItem","nodeLayout","reverse","material","toolBarBox","getClosestNodeList","isNodeModel","GhostView","padding","borderRadius","Designer","layoutRef","onSelectNode","updateCurrentSelectNode","selectToolBar","getNode","copyNodeById","deleteNodeById","targetNodeModel","devState","configure","condition","updateValue","onDragStart","ghostView","onHoverNode","hoverToolBar","hoverTips","updateAssets","reloadRender","reload","layoutInstance","dropPosInfo","posFlag","before","after","pos","dropNode","nodeType","addNode","moveNodeById","UIInstance","designRenderRef","rerender","pluginReadyOk","Layout","customRender","selectBoxStyle","hoverBoxStyle","DesignerPlugin","designerRef","nodeId","updatePage","getComponentInstances","getInstancesById","getDynamicComponentInstances","renderRef","dynamicComponentInstanceMap","u","LOGGER","consola","getAttribute","parentElement","transformNodeSchemaToTreeData","nodeSchema","tb","nodeChild","filter","newCurrentNode","propsNodeList","slotNode","canBeSelected","canDrop","containerRender","treeNodeView","border","borderTopWidth","marginRight","marginTop","processProps","isJSSlotPropNode","tempVal","pageModeNode","propsTitle","tempTitle","getPropsLabel","getMTitle","plainTitle","tempNode","join","canDrag","propValue","newKey","nodeModel","keyPath","propsLabelMap","getNodePropsLabelMap","newKeyPath","parseInt","childNodeList","transformPageSchemaToTreeData","pageSchema","tree","componentsTree","rootNode","traverseTree","handler","tempTree","stop","traverseCb","conditionCb","calculateDropPosInfo","params","point","mousePos","targetDomH","xCenter","yCenter","resMap","singleProcessUnit","newPaths","objSetter","arrItemSetter","setter","setters","parentTitle","currentTitle","elements","newObjPaths","it2","targetItem","isSpecialMaterialPropType","itemArr","DragState","CTreeContext","TreeNode","allStateRef","titleEditable","nodeVisible","setNodeVisible","ctxState","updateState","onDeleteNode","getDesignerHandler","onCopyNode","setTitleEditable","editInputValue","setEditInputValue","expanded","expandKeys","toggleExpandNode","newExpandKeys","selected","currentSelectNodeKeys","titleEditInputRef","toggleSelectNode","focus","newKeys","multiSelect","singPadding","indent","dragKeyProps","updateExpandKeyRef","ctxStateRef","oldExpandKeys","from","domRef","timerHandler","setTimeout","dragState","DRAGGING","clearTimeout","clickHandle","toggleNodeVisible","titleView","titleViewRender","nodeBox","nodeContent","marginLeft","paddingLeft","designerHandler","compInstances","_CONDITION","paddingRight","arrowSpan","onClickCapture","nodeArrow","nodeRenderView","onDoubleClick","inputValue","Input","maxLength","onPressEnter","onChange","toolbarBox","iconItem","nodeChildren","TreeView","disposeCbList","sensor","designerPluginInstance","updateTreeDataFromNode","plainTreeData","export","tempTreeData","treeData","getParentKeyPaths","targetKey","scrollNodeToView","querySelector","scrollIntoView","behavior","block","toSelectTreeNode","parentPaths","debug","containNode","targetNode","getTreeNodeByKey","eventPriority","targetTreeNode","setCanDrop","dropInfo","pointer","dropNodeUid","dropDom","querySelectorAll","rect","newDropInfo","NORMAL","globalEmitter","currentSelectNode","getActiveNode","Provider","sk","designer","nn","newVal","contentBox","dropAnchorLine","localize$1","OutlineTreePlugin","TreeViewWithLocalize","CFormContext","CForm","updateContext","getFieldsValue","formatValue","formState","setFields","conditionConfig","onValueChange","formName","initialValue","updateConditionConfig","StructError","failure","failures","cached","msg","isIterable","print","shiftIterator","toFailure","struct","branch","refinement","toFailures","run","coerce","mask","status","ts","Struct","validator","refiner","coercer","assert","is","validate","tuples","tuple","Structs","schemas","define","dynamic","omit","subschema","any","Element","boolean","enums","literal","constant","never","knowns","Never","unknowns","optional","record","Key","Value","union","unknown","S","first","LibMetaTypeDescribe","CNodePropsTypeEnum","SlotRenderType","normalObj","PropsDataStructDescribe","CNodeDataStructDescribe","JSExpressionDescribe","MTitleDescribe","ShapeDataTypeDescribe","PropsValueTypeDescribe","EnumDataTypeDescribe","UnionDataTypeDescribe","SetterTypeDescribe","MaterialPropDescribe","ActionTypeDescribe","SnippetsTypeDescribe","StringSetter","setterContext","ConfigProvider","token","setterName","NumberSetter","InputNumber","getSetterList","ArrayItem","keyPaths","objectValue","formRef","SetterSwitcher","onDelete","fontSize","useCombinedRefs","refs","canUseDOM","isWindow","elementString","isNode","_target$ownerDocument","_target$ownerDocument2","isDocument","Document","isHTMLElement","isSVGElement","getOwnerDocument","useIsomorphicLayoutEffect","useLayoutEffect","useEvent","handlerRef","useCallback","useInterval","intervalRef","duration","clear","useLatestValue","dependencies","valueRef","useLazyMemo","useNodeRef","onChangeHandler","setNodeRef","ids","useUniqueId","createAdjustmentFn","modifier","adjustments","accumulator","adjustment","valueAdjustment","subtract","hasViewportRelativeCoordinates","isKeyboardEvent","KeyboardEvent","getEventCoordinates","CSS","scaleX","scaleY","property","easing","SELECTOR","findFirstFocusableNode","hiddenStyles","HiddenText","visuallyHidden","margin","clip","clipPath","whiteSpace","LiveRegion","announcement","useAnnouncement","setAnnouncement","announce","DndMonitorContext","useDndMonitor","registerListener","useDndMonitorProvider","listeners","delete","_listener$type","defaultScreenReaderInstructions","draggable","defaultAnnouncements","onDragOver","over","onDragEnd","onDragCancel","_ref4","Accessibility","announcements","hiddenTextDescribedById","screenReaderInstructions","liveRegionId","mounted","setMounted","onDragMove","_ref5","_ref6","markup","createPortal","Action","useSensor","useSensors","sensors","defaultCoordinates","distanceBetween","p1","p2","sqrt","pow","sortCollisionsAsc","sortCollisionsDesc","cornersOfRectangle","getFirstCollision","collisions","firstCollision","closestCorners","collisionRect","droppableRects","droppableContainers","corners","droppableContainer","rectCorners","distances","corner","effectiveDistance","toFixed","sort","getIntersectionRatio","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","rect1","rect2","getRectDelta","createRectAdjustmentFn","getAdjustedRect","parseTransform","transformArray","slice","inverseTransform","transformOrigin","parsedTransform","translateX","translateY","parseFloat","w","ignoreTransform","getClientRect","getTransformAgnosticClientRect","getWindowClientRect","isFixed","isScrollable","overflowRegex","some","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","scrollingElement","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","getScrollXCoordinate","scrollX","scrollLeft","getScrollYCoordinate","scrollY","scrollTop","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","clientHeight","clientWidth","maxScroll","scrollWidth","scrollHeight","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","speed","threshold","Backward","Forward","getScrollElementRect","getScrollOffsets","scrollableAncestors","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","inline","properties","Rect","scrollOffsets","axis","getScrollOffset","currentOffsets","scrollOffsetsDeltla","Listeners","removeAll","_this$target","eventName","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","measurement","dx","dy","EventName","KeyboardCode","defaultKeyboardCodes","Space","Enter","cancel","Esc","defaultKeyboardCoordinateGetter","currentCoordinates","Right","Left","Down","Up","KeyboardSensor","autoScrollEnabled","referenceCoordinates","windowListeners","handleKeyDown","handleCancel","attach","handleStart","Resize","VisibilityChange","Keydown","activeNode","onStart","keyboardCodes","coordinateGetter","scrollBehavior","handleEnd","newCoordinates","coordinatesDelta","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","scrollTo","scrollBy","handleMove","coordinates","onMove","onEnd","detach","onCancel","activators","onActivation","activator","activatorNode","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","listenerTarget","_getEventCoordinates","activated","initialCoordinates","timeoutId","documentListeners","handleKeydown","removeTextSelection","activationConstraint","move","DragStart","ContextMenu","delay","Click","SelectionChange","_getEventCoordinates2","tolerance","distance","cancelable","_this$document$getSel","getSelection","removeAllRanges","PointerSensor","isPrimary","button","events$1","MouseButton","MouseSensor","RightClick","events$2","TouchSensor","setup","AutoScrollActivator","TraversalOrder","useAutoScroller","Pointer","canScroll","draggingRect","enabled","interval","order","TreeOrder","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","disabled","setAutoScrollInterval","clearAutoScrollInterval","scrollSpeed","scrollDirection","DraggableRect","scrollContainerRef","autoScroll","sortedScrollableAncestors","JSON","stringify","defaultScrollIntent","previousDelta","previousIntent","sign","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","sensorActivators","MeasuringStrategy","MeasuringFrequency","useDroppableMeasuring","containers","dragging","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","measureDroppableContainers","previousValue","measuringScheduled","Always","BeforeDragging","useInitialValue","computeFn","useInitialRect","useMutationObserver","handleMutations","mutationObserver","MutationObserver","disconnect","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","measureRect","useReducer","reducer","records","HTMLElement","observe","body","childList","subtree","currentRect","isConnected","newRect","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","previousElements","cleanup","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","measureRects","getMeasurableNode","useDragOverlayMeasuring","setRect","handleNodeChange","nodeRef","setRef","defaultSensors","defaultMeasuringConfiguration","droppable","WhileDragging","Optimized","dragOverlay","DroppableContainersMap","_super$get","toArray","getEnabled","getNodeFor","_this$get$node$curren","_this$get","defaultPublicContext","activatorEvent","activeNodeRect","containerNodeRect","measuringConfiguration","defaultInternalContext","ariaDescribedById","dispatch","InternalContext","PublicContext","getInitialState","nodes","translate","action","DragMove","DragEnd","DragCancel","RegisterDroppable","SetDroppableDisabled","UnregisterDroppable","RestoreFocus","previousActivatorEvent","previousActiveId","activeElement","requestAnimationFrame","focusableNode","applyModifiers","modifiers","useMeasuringConfiguration","useLayoutShiftScrollCompensation","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","collisionDetection","measuring","dispatchMonitorEvent","registerMonitorListener","setStatus","Uninitialized","isInitialized","Initialized","activeId","activeRects","initial","translated","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","layoutShiftCompensation","sensorContext","draggingNode","draggingNodeRect","scrollAdjustedTranslate","overNode","usesDragOverlay","nodeRectDelta","modifiedTranslate","overlayNodeRect","scrollAdjustment","activeNodeScrollDelta","overId","setOver","appliedTranslate","instantiateSensor","sensorInstance","unstable_batchedUpdates","Initializing","createHandler","cancelDrop","bindActivatorToSensorInstantiator","activeDraggableNode","dndKit","defaultPrevented","activationContext","capturedBy","overContainer","publicContext","internalContext","restoreFocus","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","attributes","roleDescription","isDragging","setActivatorNodeRef","dataRef","memoizedAttributes","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","timeout","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement","unobserve","isOver","arrayMove","to","newArray","getSortedRects","isValidIndex","itemsEqual","normalizeDisabled","rectSortingStrategy","activeIndex","overIndex","newRects","oldRect","containerId","disableTransforms","useDragOverlay","sortedRects","SortableContext","userDefinedItems","disabledProp","previousItemsRef","itemsHaveChanged","contextValue","defaultNewIndexGetter","defaultAnimateLayoutChanges","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transition","defaultTransition","transitionProperty","disabledTransition","Transition","defaultAttributes","useDerivedTransform","derivedTransform","setDerivedtransform","previousIndex","useSortable","animateLayoutChanges","userDefinedAttributes","localDisabled","customData","getNewIndex","localStrategy","globalDisabled","globalStrategy","normalizeLocalDisabled","sortable","itemsAfterCurrentSortable","setDroppableNodeRef","setDraggableNodeRef","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","finalTransform","shouldAnimateLayoutChanges","getTransition","_localDisabled$dragga","_localDisabled$droppa","hasSortableData","directions","sortableKeyboardCoordinates","filteredContainers","closestId","activeDroppable","newDroppable","hasDifferentScrollAncestors","hasSameContainer","isSameContainer","isAfterActive","isAfter","rectCoordinates","restrictToVerticalAxis","SortItemOrderModal","sortLabelKey","modalProps","listValue","setListValue","innerList","oldIndex","getRandomStr","open","handleDragEnd","findIndex","newInnerListVal","modalTransform","setModalTransform","Modal","maskStyle","modalRender","modal","ModalDragView","sortModalBox","SortableItem","tempTransform","pointerEvents","Transform","labelText","dragItem","ArraySetter","sortVisible","setSortVisible","innerSetters","component","setCollapseHeaderExt","paddingBottom","addOneBtn","onOk","ShapeSetter","tip","getMTitleTip","tips","ExpressionSetter","EXPRESSION","BooleanSetter","Switch","checked","SelectSetter","Select","showSearch","MonacoEditor","editorDomRef","onChangeRef","onDidChangeMarkersRef","onDidChangeMarkers","editorInstance","beforeMount","monaco","editor","override","onDidMount","onDidChangeModelContent","isFlush","uris","editorModel","getModel","editorUri","uri","getModelMarkers","resource","JSONSetter","editorRef","setOpen","onInnerValueChange","newValStr","parse","destroyOnClose","automaticLayout","tabSize","suggestOnTriggerCharacters","DefaultTslibSource","FunctionSetter","FUNCTION","typescript","javascriptDefaults","setDiagnosticsOptions","noSemanticValidation","noSyntaxValidation","setCompilerOptions","ScriptTarget","ES5","allowNonTsExtensions","libUri","addExtraLib","Uri","createModel","TextAreaSetter","TextArea","__read","ar","__spreadArray","isDev","isDev$1","useLatest","useUnmount","fnRef","useUnmount$1","isObject_1","global","_freeGlobal","_root","now","now_1","reWhitespace","trimmedEndIndex","_trimmedEndIndex","reTrimStart","baseTrim","_baseTrim","_Symbol","_getRawTag","_objectToString","require$$2","_baseGetTag","isObjectLike_1","isSymbol_1","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","toNumber_1","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","flush","debounced","isInvoking","debounce_1","useDebounceFn","CSSSourceInfo","CSSProperties","CSSPropertyList","CSSValueSetter","propertyKey","propertyValueRef","innerValue","setInnerVal","focusState","setFocusState","updateOuterValue","updateOuterValueDebounce","optionsValue","AutoComplete","dropdownMatchSelectWidth","bordered","onFocus","onBlur","inputAuto","Setters","CField","labelView","canRender","onConditionValueChange","newTip","Tooltip","tipsLabel","newChildren","extraProps","cloneElement","noStyle","fieldBox","CCustomSchemaFormContext","useField","setVisible","onSetterChange","defaultSetterConfig","currentSetter","setCurrentSetter","currentSetterName","CurrentSetterComp","menuItems","setterRuntime","onChooseSetter","targetSetter","switcher","switchBtn","Dropdown","trigger","menu","selectable","defaultSelectedKeys","setterProps","newProps","collapseHeaderExt","conditionProps","marginBottom","collapseHeader","shapeFieldBox","collapse","alignItems","CustomSchemaFormCore","originProperties","CFromRenderBox","setterList","CustomSchemaForm","PropertyPanel","handel","getPlainProps","propsSetter","PropertyPanelConfig","view","ComponentStatePanel","nodeState","currentState","setValue","minimap","quickSuggestions","folding","ComponentStatePanelConfig","valueType","AdvancePanel","advanceSetter","loopObj","loop","forName","forIndex","refId","stateName","advanceBox","AdvancePanelConfig","getTextWidth","span","defaultPropertyOptions","SinglePropertyEditor","keyFormatStatus","setKeyFormatStatus","valueFormatStatus","setValueFormatStatus","propertyOptions","setPropertyOptions","onSearch","searchText","newOptions","keyInputWidth","setKeyInputWidth","tempW","propertyKeyRef","useImperativeHandle","reset","innerOnCreate","onCreate","errorKey","cssFieldBox","row","fieldLabel","inputBox","onKeyDown","CSSPropertiesVariableBindEditor","propertyList","setPropertyList","newProperty","setNewProperty","innerOnValueChange","createPropertyRef","cssBox","ClassNameEditor","styleArr2Obj","formatCSSProperty","cssVal","normalProperty","expressionProperty","isExpression","formatCssToNodeVal","cssList","currentStateCss","mediaKey","formatNodeValToEditor","_arrayWithoutHoles","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","nonIterableSpread","murmur2","shouldUpdate","cacheRef","isEqual","obj1","obj2","shallow","refSet","deepEqual","circular","newLevel","Entity","valueFn","prevValue","nextValue","ATTR_TOKEN","ATTR_MARK","ATTR_DEV_CACHE_PATH","CSS_IN_JS_INSTANCE","CSS_IN_JS_INSTANCE_ID","random","createCache","insertBefore","styleHash","hash","_style$parentNode","CacheEntity","StyleContext","hashPriority","defaultCache","StyleContext$1","useProdHMR","webpackHMR","useDevHMR","useHMR","win","originWebpackHotUpdate","useClientCache","cacheFn","onCacheRemove","globalCache","fullPath","HMRUpdate","prevCache","_ref2$","times","tmpCache","mergedCache","_ref4$","nextCount","flattenToken","token2key","salt","layerKey","layerWidth","supportSelector","handleElement","_ele$parentNode","_ele","support","canLayer","supportLayer","ele","EMPTY_OVERRIDE","hashPrefix","tokenKeys","recordCleanToken","tokenKey","removeStyleTags","cleanTokenStyle","tokenKeyList","cleanableKeyList","useCacheToken","tokens","_option$salt","_option$override","formatToken","mergedToken","tokenStr","overrideTokenStr","cachedToken","useGlobalCache","derivativeToken","mergedDerivativeToken","hashId","unitlessKeys","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","replacement","indexof","search","charat","substr","begin","strlen","sizeof","line","column","character","characters","char","peek","caret","alloc","dealloc","delimit","delimiter","whitespace","escaping","commenter","identifier","compile","rulesets","pseudo","points","declarations","atrule","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","z","serialize","output","lintWarning","parentSelectors","devWarning","linter","contentValuePattern","contentValues","isClientSide","SKIP_CHECK","normalizeStyle","serialized","isCompoundCSSProperty","injectSelectorHash","hashClassName","hashSelector","_firstPath$match","firstPath","htmlElement","parseStyle","interpolation","injectHash","layer","_config$transformers","transformers","_config$linters","linters","effectStyle","parseKeyframes","keyframes","animationName","getName","_parseStyle","_parseStyle2","_parsedStr","flattenList","fullList","flattenStyleList","originStyle","_keyframe","mergedStyle","trans","_trans$visit","visit","subInjectHash","mergedKey","nextRoot","_parseStyle3","_parseStyle4","_parsedStr2","childEffectStyle","_value","actualValue","contentQuotesLinter","hashedAnimationLinter","styleName","toLowerCase","unitless","layerCells","layerName","uniqueHash","useStyleRegister","styleFn","autoClear","mock","ssrInline","_tokenKey","isMergedClientSide","_useGlobalCache","styleObj","_parseStyle5","_parseStyle6","parsedStyle","styleId","attachTo","setAttribute","effectKey","fromHMR","_useGlobalCache2","cachedStyleStr","cachedTokenKey","cachedStyleId","dangerouslySetInnerHTML","__html","sameDerivativeOption","ThemeCache","derivativeOption","_cache2","_cache3","updateCallTimes","derivative","_cache","_cache$map","_this$internalGet","_this$keys$reduce","_result","callTimes","_this$keys$reduce2","cacheValue","currentCache","derivatives","_cache$value","uuid","Theme","cacheThemes","createTheme","derivativeArr","noSplit","IconContext$1","isNativeReflectConstruct","getPrototypeOf","possibleConstructorReturn","A","reactIs_production_min","hasSymbol","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","typeOf","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","reactIs_development","HOOK_MARK","warningFunc","_regeneratorRuntime","Op","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","pushTryEntry","locs","resetTryEntry","iterable","iteratorMethod","genFun","ctor","skipTempReset","rootRecord","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","afterLoc","finallyLoc","tryLoc","thrown","resultName","nextLoc","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_extends","_inheritsLoose","_construct","Parent","Class","_isNativeFunction","_wrapNativeSuper","formatRegExp","errors","convertFieldsError","fields","field","template","isNativeStringType","isEmptyValue","asyncParallelArray","total","arrLength","asyncSerialArray","flattenObjArr","objArr","AsyncValidationError","_Error","asyncMap","_pending","flattenArr","firstFields","objArrKeys","objArrLength","isErrorObj","complementError","oe","fieldValue","deepMerge","required$1","urlReg","getUrlRegex","word","v4","v6seg","v6","v46Exact","v4exact","v6exact","ip","protocol","auth","ipv4","ipv6","host","domain","tld","port","regex","pattern$2","type$1","custom","ruleType","range","spRegexp","num","ENUM$1","enumerable$1","pattern$1","_pattern","_boolean","integer","floatFn","ENUM","date","dateObject","required","validators","newMessages","messages","Schema","_proto","_messages","source_","oc","complete","_errors","messages$1","series","errorFields","doIt","addFullField","errorList","filledErrors","fieldsSchema","paredFieldsSchema","fieldSchema","fieldSchemaList","errs","finalErrors","messageIndex","typeTemplate","defaultValidateMessages","entity","internalSet","removeIfUndefined","_paths","restPath","cloneArrayDeep","cloneObjectDeep","getNamePath","namePath","newStore","cloneByNamePathList","namePathList","containsNamePath","matchNamePath","internalSetValues","recursive","setValues","restValues","changedNamePath","nameUnit","isSimilar","targetKeys","sourceValue","targetValue","defaultGetValueFromEvent","valuePropName","moveIndex","toIndex","diff","AsyncValidator","RawAsyncValidator","replaceMessage","kv","CODE_LOGIC_ERROR","validateRule","_x2","_x3","_x4","_x5","_validateRule","_callee2","messageVariables","cloneRule","originValidator","subRuleField","subResults","fillVariableResult","_context2","mergedMessage","validateRules","validateFirst","filledRules","currentRule","ruleIndex","originValidatorFunc","hasPromise","wrappedCallback","w1","i1","w2","i2","summaryPromise","_callee","_x6","_x7","rulePromises","finishOnFirstFailed","finishOnAllFailed","_x8","_finishOnAllFailed","_callee3","_context3","errorsList","_x9","_finishOnFirstFailed","_callee4","_context4","ruleError","EMPTY_ERRORS","requireUpdate","Field","_React$Component","resetCount","cancelRegisterFunc","touched","dirty","validatePromise","prevValidating","warnings","cancelRegister","_this$props","preserve","isListField","_this$props2","fieldContext","_fieldContext$prefixN","prefixName","getRules","_this$props3","_this$props3$rules","refresh","triggerMetaEvent","onMetaChange","getMeta","onStoreChange","prevStore","_this$props4","_this$props4$dependen","onReset","curValue","namePathMatch","reRender","validating","dependencyList","dependency","relatedFields","currentValue","rootPromise","_this$props5","_this$props5$validate","triggerName","filteredRules","validateTrigger","triggerList","catch","ruleErrors","_ruleErrors$forEach","nextErrors","nextWarnings","warningOnly","_ref3$errors","isFieldValidating","isFieldTouched","isFieldDirty","_fieldContext$getInte","getInternalHooks","getInitialValue","getErrors","getWarnings","isList","isPreserve","getOnlyChild","getControlled","toChildrenArray","childProps","_this$props6","getValueFromEvent","normalize","getValueProps","mergedValidateTrigger","_getInternalHooks","mergedGetValueProps","originTriggerFunc","validateTriggerList","originTrigger","_getInternalHooks2","initEntityValue","_this$props7","_getInternalHooks3","registerField","forceUpdate","_this$getOnlyChild","returnChildNode","contextType","FieldContext","WrapperField","ListContext","List","keyRef","keyManager","parentPrefixName","listContext","getKey","pathName","_ref3$value","getFieldValue","getNewValue","operations","remove","indexSet","_","keysIndex","valueIndex","_move","allPromiseFinish","promiseList","hasError","SPLIT","cell","NameMap","updater","origin","cells","_cell$match","_cell$match2","unit","json","FormStore","forceRootUpdate","subscribable","initialValues","_this$prevWithoutPres","nextStore","prevWithoutPreserves","initValue","callbacks","validateMessages","pure","nameList","filterFunc","fieldEntities","filteredNameList","_entity$isListField","fieldError","arg0","arg1","isAllFieldsTouched","shortNamePath","fieldNamePath","isNamePathListTouched","entities","namePathListEntities","testField","resetWithFields","formInitialValue","originValue","requiredFieldEntities","_requiredFieldEntitie","fieldData","fieldPreserve","mergedPreserve","subNamePath","_prevStore","_namePath","mergedInfo","childrenFields","onValuesChange","changedValues","rootNamePath","dependencies2fields","dependencyNamePath","fillChildren","filedErrors","onFieldsChange","changedFields","fieldName","provideNameList","mergedErrors","mergedWarnings","resultNamePathList","_ref7","returnPromise","onFinish","onFinishFailed","useForm","form","_React$useState","_React$useState2","forceReRender","formStore","FormContext","triggerFormChange","triggerFormFinish","registerForm","unregisterForm","FormProvider","onFormChange","onFormFinish","formContext","formsRef","forms","newForms","Form","_ref$component","_ref$validateTrigger","_onFieldsChange","_onFinish","_useForm","_useForm2","formInstance","_formInstance$getInte","useSubscribe","setInitialValues","setCallbacks","setValidateMessages","setPreserve","destroyForm","mountRef","childrenNode","childrenRenderProps","prevFieldsRef","formContextValue","wrapperNode","onSubmit","submit","_restProps$onReset","resetFields","useWatchWarning","fullyStr","nameStrRef","useWatch","_args$","valueStr","valueStrRef","isValidForm","namePathRef","registerWatch","nextValueStr","InternalForm","FieldForm","RefForm","rcWarning","warning$1","Pagination","locale","TimePicker","CalendarLocale","TimePickerLocale","DatePicker","localeValues","Calendar","defaultLocale","runtimeLocale","changeConfirmLocale","newLocale","LocaleContext","LocaleContext$1","ANT_MARK","LocaleProvider","_ANT_MARK__","getMemoizedContextValue","exist","LocaleProvider$1","PresetColors","genControlHeight","controlHeight","genControlHeight$1","genSizeMapToken","sizeUnit","sizeStep","defaultPresetColors","seedToken","defaultSeedToken","genColorMapToken","seed","generateColorPalettes","generateNeutralColorPalettes","colorSuccessBase","colorWarningBase","colorErrorBase","colorInfoBase","colorPrimaryBase","colorBgBase","colorTextBase","primaryColors","successColors","warningColors","errorColors","infoColors","neutralColors","genRadius","radiusBase","radiusLG","radiusSM","radiusXS","radiusOuter","genRadius$1","genCommonMapToken","motionUnit","motionBase","lineWidth","getAlphaColor","baseColor","getSolidColor","brightness","bgBaseColor","textBaseColor","getFontSizes","fontSizes","baseSize","intSize","genFontMapToken","fontSizePairs","genFontSizes","pair","lineHeights","genFontMapToken$1","colorPalettes","colorKey","cur","isStableColor","frontColor","fR","fG","fB","originAlpha","bR","bG","bB","fA","__rest","restToken","overrideTokens","screenXS","screenSM","screenMD","screenLG","screenXL","screenXXL","genPresetColor","genCss","lightColor","lightBorderColor","darkColor","textColor","resetComponent","resetIcon","genLinkStyle","genCommonStyle","componentPrefixCls","fontFamily","rootPrefixSelector","defaultIconPrefixCls","defaultGetPrefixCls","suffixCls","customizePrefixCls","ConfigContext","genComponentStyleHook","getDefaultToken","useToken","getPrefixCls","iconPrefixCls","rootPrefixCls","proxyToken","statisticToken","defaultComponentToken","mergedComponentToken","componentCls","mergeToken","styleInterpolation","enableStatistic","recording","merge","objs","proxy","componentToken","defaultTheme","defaultDerivative","defaultConfig","DesignTokenContext","rootDesignToken","hashed","mergedTheme","dynamicStyleMark","getStyle","globalPrefixCls","variables","formatColor","fillColor","colorVal","primaryActiveColor","registerTheme","DisabledContext","DisabledContextProvider","originDisabled","DisabledContext$1","SizeContext","SizeContextProvider","originSize","SizeContext$1","useConfig","componentDisabled","componentSize","useTheme","parentTheme","themeConfig","parentThemeConfig","mergedComponents","prevTheme","nextTheme","useStyle","useStyle$2","getOwnPropertySymbols","existThemeConfig","PASSED_PROPS","defaultPrefixCls","getGlobalPrefixCls","setGlobalConfig","ProviderChildren","customCsp","autoInsertSpaceInButton","space","virtual","legacyLocale","parentContext","customIconPrefixCls","mergedPrefixCls","shouldWrapSSR","wrapSSR","baseConfig","memoedConfig","prevConfig","currentConfig","prevKeys","currentKeys","memoIconContextValue","childNode","RcFormProvider","memoTheme","algorithm","themeObj","antLocale","genTagStatusStyle","cssVariableType","capitalizedCssVariableType","genPresetStyle","genBaseStyle","paddingXXS","tagPaddingHorizontal","paddingInline","iconMarginInline","lineHeight","fontSizeIcon","tagHeight","tagFontSize","tagLineHeight","tagDefaultBg","tagDefaultColor","tagToken","CheckableTag","handleClick","cls","CheckableTag$1","mode","isCreate","valueOptions","setValueOptions","allValueOptions","setAllValueOptions","updateValueOptions","tempProperty","onValueSearch","updateKeyValue","allValues","updateValValue","CSSPropertiesEditor","newList","DOM_CSS_STATUS","DOM_CSS_STATUS_LIST","CSSEditor","selectedStateTag","setSelectedStateTag","mediaQueryList","cssPropertyRefMap","handleChange","domStatusList","setDomStatusList","cssStatusList","selectCssStatusList","setCssVal","currentCssStateVal","initVal","initRef","updateCssVal","Card","extra","oldVal","stateTag","stateTagClose","VisualPanelPlus","cssPropertyEditorRef","cssEditorRef","setStyle","formatStyle","lastNode","newStyle","fCss","onUpdateStyle","styleArr","onUpdateCss","visualPanelBox","VisualPanelPlusConfig","RightPanel","addPanel","newPanels","panels","updatePanels","displayPanels","panelParams","show","onNodeChange","activeKey","firstPanelKey","image","PRESENTED_IMAGE_SIMPLE","rightPanelContainer","tabPosition","RightPanelPlugin","uiHandle","GlobalStatePanel","rootState","triggerChangeBySelf","box","GlobalStatePanelPlugin","GlobalStatePanelWithLocalize","DisplaySourceSchema","engineCtx","newPage","newPageJSON","HistoryPlugin","CTX","dataStore","historyRecords","currentStepIndex","originalPageRecord","loadPage","reloadPage","resObj","addStep","preStep","canGoPreStep","nextStep","canGoNextStep","DEFAULT_PLUGIN_LIST","customAttributesMeta","widthPropsMeta","heightPropsMeta","htmlNativeComponentMeta","HTMl_TAGS","BaseComponentMeta","InnerComponentMeta","Engine","workbenchRef","updateDesignerAssets","updateMaterial","__CHAMELEON_ENG__","CPage","materials","assetPackagesList","EmptyPage","__C_ENGINE__","plugins","customPlugin","beforePluginRun","pList","all","newSelectNode","onReady","engineContainer"],"mappings":"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,aACf,eAAgB,GAChB,YAAa,GACb,MAAO,CACLC,GACAC,GACA,CACE,KAAM,aACN,MAAO,OACP,UAAW,WACX,QAAS,CAAC,iBAAkB,kBAAkB,CAChD,EACA,CACE,KAAM,gBACN,MAAO,OACP,UAAW,WACX,QAAS,CAAC,iBAAkB,kBAAkB,CAChD,EACAF,EACF,EACA,UAAW,OACX,SAAU,CACR,CACE,MAAO,KACP,aAAc,MACd,SAAU,OACV,OAAQ,CACN,MAAO,CACL,MAAO,OACP,OAAQ,OACV,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,KACP,cAAe,SACf,eAAgB,GAChB,MAAO,CACL,CACE,KAAM,MACN,MAAO,KACP,UAAW,SACX,QAAS,CAAC,eAAgB,kBAAkB,CAC9C,EACAC,GACAC,GACAF,EACF,EACA,UAAW,OACX,SAAU,CACR,CACE,MAAO,KACP,aAAc,MACd,SAAU,OACV,OAAQ,CACN,MAAO,CACL,MAAO,QACP,OAAQ,OACV,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,KACP,cAAe,SACf,eAAgB,GAChB,MAAO,CACL,CACE,KAAM,MACN,MAAO,KACP,UAAW,SACX,QAAS,CAAC,eAAgB,kBAAkB,CAC9C,EACA,CACE,KAAM,WACN,MAAO,OACP,UAAW,SACX,QAAS,CAAC,gBAAiB,kBAAkB,CAC/C,EACA,CACE,KAAM,WACN,MAAO,OACP,UAAW,SACX,QAAS,CAAC,gBAAiB,kBAAkB,CAC/C,EACAC,GACAC,GACAF,EACF,EACA,WAAY,CACV,SAAU,EACZ,EACA,UAAW,OACX,SAAU,CACR,CACE,MAAO,KACP,aAAc,QACd,SAAU,OACV,OAAQ,CACN,MAAO,CACL,MAAO,QACP,OAAQ,QACR,IAAK,qCACP,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,KACP,UAAW,OACX,cAAe,SACf,eAAgB,GAChB,MAAO,CACL,CACE,KAAM,MACN,MAAO,KACP,UAAW,SACX,QAAS,CAAC,eAAgB,kBAAkB,CAC9C,EACA,CACE,KAAM,WACN,MAAO,OACP,UAAW,SACX,QAAS,CAAC,gBAAiB,kBAAkB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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,229,241,250,251,252,253,254,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396]}