amis 1.8.0-beta.5 → 1.8.0-beta.9

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 (273) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/actions/PageAction.d.ts +32 -0
  4. package/lib/actions/PageAction.js +72 -0
  5. package/lib/actions/PageAction.js.map +13 -0
  6. package/lib/actions/index.d.ts +1 -0
  7. package/lib/actions/index.js +1 -0
  8. package/lib/actions/index.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +84 -84
  10. package/lib/components/Cascader.d.ts +2 -0
  11. package/lib/components/Cascader.js +28 -12
  12. package/lib/components/Cascader.js.map +2 -2
  13. package/lib/components/Checkbox.js +2 -2
  14. package/lib/components/Checkbox.js.map +2 -2
  15. package/lib/components/Collapse.d.ts +20 -20
  16. package/lib/components/DatePicker.d.ts +84 -84
  17. package/lib/components/DatePicker.js +5 -5
  18. package/lib/components/DatePicker.js.map +2 -2
  19. package/lib/components/Drawer.js +1 -1
  20. package/lib/components/Drawer.js.map +2 -2
  21. package/lib/components/ListGroup.d.ts +21 -21
  22. package/lib/components/Modal.js +1 -1
  23. package/lib/components/Modal.js.map +2 -2
  24. package/lib/components/Overlay.d.ts +1 -0
  25. package/lib/components/Overlay.js +4 -3
  26. package/lib/components/Overlay.js.map +2 -2
  27. package/lib/components/PullRefresh.d.ts +86 -0
  28. package/lib/components/PullRefresh.js +135 -0
  29. package/lib/components/PullRefresh.js.map +13 -0
  30. package/lib/components/Spinner.d.ts +200 -107
  31. package/lib/components/Spinner.js +30 -26
  32. package/lib/components/Spinner.js.map +2 -2
  33. package/lib/components/Tooltip.d.ts +4 -0
  34. package/lib/components/Tooltip.js +6 -4
  35. package/lib/components/Tooltip.js.map +2 -2
  36. package/lib/components/TooltipWrapper.d.ts +60 -4
  37. package/lib/components/TooltipWrapper.js +27 -8
  38. package/lib/components/TooltipWrapper.js.map +2 -2
  39. package/lib/components/Transfer.d.ts +84 -84
  40. package/lib/components/TransferDropDown.d.ts +84 -84
  41. package/lib/components/Tree.d.ts +87 -85
  42. package/lib/components/Tree.js +13 -5
  43. package/lib/components/Tree.js.map +2 -2
  44. package/lib/components/TreeSelection.d.ts +84 -84
  45. package/lib/components/calendar/TimeView.d.ts +1 -0
  46. package/lib/components/calendar/TimeView.js +7 -0
  47. package/lib/components/calendar/TimeView.js.map +2 -2
  48. package/lib/components/condition-builder/Expression.d.ts +1 -0
  49. package/lib/components/condition-builder/Expression.js +4 -4
  50. package/lib/components/condition-builder/Expression.js.map +2 -2
  51. package/lib/components/condition-builder/Field.d.ts +1 -0
  52. package/lib/components/condition-builder/Field.js +3 -2
  53. package/lib/components/condition-builder/Field.js.map +2 -2
  54. package/lib/components/condition-builder/Group.d.ts +1 -0
  55. package/lib/components/condition-builder/Group.js +2 -2
  56. package/lib/components/condition-builder/Group.js.map +2 -2
  57. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  58. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  59. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  60. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  61. package/lib/components/condition-builder/InputSwitch.js +2 -2
  62. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  63. package/lib/components/condition-builder/Item.d.ts +1 -0
  64. package/lib/components/condition-builder/Item.js +9 -8
  65. package/lib/components/condition-builder/Item.js.map +2 -2
  66. package/lib/components/condition-builder/Value.d.ts +1 -0
  67. package/lib/components/condition-builder/Value.js +5 -5
  68. package/lib/components/condition-builder/Value.js.map +2 -2
  69. package/lib/components/condition-builder/index.d.ts +1 -0
  70. package/lib/components/condition-builder/index.js +2 -2
  71. package/lib/components/condition-builder/index.js.map +2 -2
  72. package/lib/components/formula/Editor.d.ts +87 -85
  73. package/lib/components/formula/Editor.js +10 -6
  74. package/lib/components/formula/Editor.js.map +2 -2
  75. package/lib/components/formula/Picker.js +3 -1
  76. package/lib/components/formula/Picker.js.map +2 -2
  77. package/lib/index.js +1 -1
  78. package/lib/locale/de-DE.js +5 -1
  79. package/lib/locale/de-DE.js.map +2 -2
  80. package/lib/locale/en-US.js +5 -1
  81. package/lib/locale/en-US.js.map +2 -2
  82. package/lib/locale/zh-CN.js +5 -1
  83. package/lib/locale/zh-CN.js.map +2 -2
  84. package/lib/renderers/CRUD.js +1 -1
  85. package/lib/renderers/CRUD.js.map +2 -2
  86. package/lib/renderers/Form/Combo.d.ts +2 -1
  87. package/lib/renderers/Form/Combo.js +51 -14
  88. package/lib/renderers/Form/Combo.js.map +2 -2
  89. package/lib/renderers/Form/DiffEditor.d.ts +1 -0
  90. package/lib/renderers/Form/InputCity.d.ts +84 -84
  91. package/lib/renderers/Form/InputDate.js +10 -3
  92. package/lib/renderers/Form/InputDate.js.map +2 -2
  93. package/lib/renderers/Form/InputDateRange.js +12 -3
  94. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  95. package/lib/renderers/Form/InputFile.js +13 -5
  96. package/lib/renderers/Form/InputFile.js.map +2 -2
  97. package/lib/renderers/Form/InputImage.js +12 -4
  98. package/lib/renderers/Form/InputImage.js.map +2 -2
  99. package/lib/renderers/Form/InputMonthRange.js +5 -1
  100. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  101. package/lib/renderers/Form/InputText.js +8 -4
  102. package/lib/renderers/Form/InputText.js.map +2 -2
  103. package/lib/renderers/Form/InputTree.d.ts +5 -0
  104. package/lib/renderers/Form/InputTree.js +51 -2
  105. package/lib/renderers/Form/InputTree.js.map +2 -2
  106. package/lib/renderers/Form/Item.d.ts +68 -70
  107. package/lib/renderers/Form/Item.js.map +2 -2
  108. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  109. package/lib/renderers/Form/NestedSelect.js +14 -5
  110. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  111. package/lib/renderers/Form/Options.js +61 -27
  112. package/lib/renderers/Form/Options.js.map +2 -2
  113. package/lib/renderers/Form/Select.js +4 -2
  114. package/lib/renderers/Form/Select.js.map +2 -2
  115. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  116. package/lib/renderers/Form/TreeSelect.js +56 -10
  117. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  118. package/lib/renderers/Form/wrapControl.js +3 -3
  119. package/lib/renderers/Form/wrapControl.js.map +2 -2
  120. package/lib/renderers/Nav.d.ts +82 -67
  121. package/lib/renderers/Nav.js +47 -11
  122. package/lib/renderers/Nav.js.map +2 -2
  123. package/lib/renderers/Page.d.ts +20 -0
  124. package/lib/renderers/Page.js +51 -14
  125. package/lib/renderers/Page.js.map +2 -2
  126. package/lib/renderers/Service.d.ts +2 -0
  127. package/lib/renderers/Service.js +52 -20
  128. package/lib/renderers/Service.js.map +2 -2
  129. package/lib/renderers/Spinner.d.ts +58 -2
  130. package/lib/renderers/Spinner.js +8 -1
  131. package/lib/renderers/Spinner.js.map +2 -2
  132. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  133. package/lib/renderers/Table/ColumnToggler.js +11 -6
  134. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  135. package/lib/renderers/Table/TableCell.js +27 -1
  136. package/lib/renderers/Table/TableCell.js.map +2 -2
  137. package/lib/renderers/Table/index.d.ts +1 -0
  138. package/lib/renderers/Table/index.js +19 -11
  139. package/lib/renderers/Table/index.js.map +2 -2
  140. package/lib/renderers/TooltipWrapper.d.ts +31 -6
  141. package/lib/renderers/TooltipWrapper.js +18 -8
  142. package/lib/renderers/TooltipWrapper.js.map +2 -2
  143. package/lib/renderers/Wizard.js +23 -14
  144. package/lib/renderers/Wizard.js.map +2 -2
  145. package/lib/store/crud.js +23 -13
  146. package/lib/store/crud.js.map +2 -2
  147. package/lib/themes/ang-ie11.css +313 -100
  148. package/lib/themes/ang.css +322 -103
  149. package/lib/themes/ang.css.map +1 -1
  150. package/lib/themes/antd-ie11.css +429 -216
  151. package/lib/themes/antd.css +323 -104
  152. package/lib/themes/antd.css.map +1 -1
  153. package/lib/themes/cxd-ie11.css +424 -211
  154. package/lib/themes/cxd.css +324 -105
  155. package/lib/themes/cxd.css.map +1 -1
  156. package/lib/themes/dark-ie11.css +313 -100
  157. package/lib/themes/dark.css +322 -103
  158. package/lib/themes/dark.css.map +1 -1
  159. package/lib/themes/default-ie11.css +424 -211
  160. package/lib/themes/default.css +324 -105
  161. package/lib/themes/default.css.map +1 -1
  162. package/lib/types.d.ts +3 -1
  163. package/lib/types.js.map +1 -1
  164. package/lib/utils/ColorScale.d.ts +19 -0
  165. package/lib/utils/ColorScale.js +104 -0
  166. package/lib/utils/ColorScale.js.map +13 -0
  167. package/lib/utils/api.js +20 -4
  168. package/lib/utils/api.js.map +2 -2
  169. package/lib/utils/dom.d.ts +1 -1
  170. package/lib/utils/dom.js +7 -5
  171. package/lib/utils/dom.js.map +2 -2
  172. package/package.json +3 -2
  173. package/schema.json +29645 -29137
  174. package/scss/_properties.scss +33 -15
  175. package/scss/components/_column-toggler.scss +21 -11
  176. package/scss/components/_formula.scss +1 -1
  177. package/scss/components/_nav.scss +51 -6
  178. package/scss/components/_pull-refresh.scss +25 -0
  179. package/scss/components/_spinner.scss +134 -56
  180. package/scss/components/_tooltip.scss +4 -9
  181. package/scss/components/form/_checks.scss +1 -0
  182. package/scss/components/form/_combo.scss +13 -1
  183. package/scss/components/form/_date-range.scss +11 -2
  184. package/scss/components/form/_date.scss +11 -0
  185. package/scss/components/form/_file.scss +4 -0
  186. package/scss/components/form/_form.scss +15 -8
  187. package/scss/components/form/_transfer.scss +3 -2
  188. package/scss/themes/_antd-variables.scss +1 -1
  189. package/scss/themes/_common.scss +1 -0
  190. package/scss/themes/_cxd-variables.scss +2 -2
  191. package/sdk/ang-ie11.css +286 -80
  192. package/sdk/ang.css +294 -82
  193. package/sdk/antd-ie11.css +402 -196
  194. package/sdk/antd.css +295 -83
  195. package/sdk/barcode.js +51 -51
  196. package/sdk/charts.js +14 -14
  197. package/sdk/codemirror.js +7 -7
  198. package/sdk/color-picker.js +65 -65
  199. package/sdk/cropperjs.js +2 -2
  200. package/sdk/cxd-ie11.css +397 -191
  201. package/sdk/cxd.css +296 -84
  202. package/sdk/dark-ie11.css +286 -80
  203. package/sdk/dark.css +294 -82
  204. package/sdk/exceljs.js +1 -1
  205. package/sdk/locale/de-DE.js +5 -1
  206. package/sdk/markdown.js +69 -69
  207. package/sdk/papaparse.js +1 -1
  208. package/sdk/renderers/Form/CityDB.js +1 -1
  209. package/sdk/rest.js +17 -17
  210. package/sdk/rich-text.js +62 -62
  211. package/sdk/sdk-ie11.css +397 -191
  212. package/sdk/sdk.css +296 -84
  213. package/sdk/sdk.js +1300 -1260
  214. package/sdk/thirds/hls.js/hls.js +1 -1
  215. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  216. package/sdk/tinymce.js +57 -57
  217. package/src/Schema.ts +10 -0
  218. package/src/actions/PageAction.ts +62 -0
  219. package/src/actions/index.ts +1 -0
  220. package/src/components/Cascader.tsx +37 -11
  221. package/src/components/Checkbox.tsx +1 -1
  222. package/src/components/DatePicker.tsx +7 -5
  223. package/src/components/Drawer.tsx +1 -0
  224. package/src/components/Modal.tsx +1 -0
  225. package/src/components/Overlay.tsx +6 -3
  226. package/src/components/PullRefresh.tsx +197 -0
  227. package/src/components/Spinner.tsx +77 -42
  228. package/src/components/Tooltip.tsx +12 -3
  229. package/src/components/TooltipWrapper.tsx +120 -33
  230. package/src/components/Tree.tsx +19 -5
  231. package/src/components/calendar/TimeView.tsx +12 -0
  232. package/src/components/condition-builder/Expression.tsx +6 -1
  233. package/src/components/condition-builder/Field.tsx +5 -1
  234. package/src/components/condition-builder/Group.tsx +4 -1
  235. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  236. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  237. package/src/components/condition-builder/Item.tsx +28 -4
  238. package/src/components/condition-builder/Value.tsx +7 -1
  239. package/src/components/condition-builder/index.tsx +4 -2
  240. package/src/components/formula/Editor.tsx +20 -15
  241. package/src/components/formula/Picker.tsx +9 -5
  242. package/src/locale/de-DE.ts +5 -1
  243. package/src/locale/en-US.ts +5 -1
  244. package/src/locale/zh-CN.ts +5 -1
  245. package/src/renderers/CRUD.tsx +1 -1
  246. package/src/renderers/Form/Combo.tsx +102 -46
  247. package/src/renderers/Form/InputDate.tsx +18 -4
  248. package/src/renderers/Form/InputDateRange.tsx +19 -2
  249. package/src/renderers/Form/InputFile.tsx +16 -4
  250. package/src/renderers/Form/InputImage.tsx +15 -3
  251. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  252. package/src/renderers/Form/InputText.tsx +14 -2
  253. package/src/renderers/Form/InputTree.tsx +40 -2
  254. package/src/renderers/Form/Item.tsx +6 -0
  255. package/src/renderers/Form/NestedSelect.tsx +23 -4
  256. package/src/renderers/Form/Options.tsx +26 -7
  257. package/src/renderers/Form/Select.tsx +5 -3
  258. package/src/renderers/Form/TreeSelect.tsx +47 -9
  259. package/src/renderers/Form/wrapControl.tsx +2 -2
  260. package/src/renderers/Nav.tsx +230 -32
  261. package/src/renderers/Page.tsx +89 -33
  262. package/src/renderers/Service.tsx +62 -27
  263. package/src/renderers/Spinner.tsx +85 -3
  264. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  265. package/src/renderers/Table/TableCell.tsx +39 -1
  266. package/src/renderers/Table/index.tsx +34 -21
  267. package/src/renderers/TooltipWrapper.tsx +64 -28
  268. package/src/renderers/Wizard.tsx +36 -25
  269. package/src/store/crud.ts +10 -0
  270. package/src/types.ts +4 -0
  271. package/src/utils/ColorScale.ts +138 -0
  272. package/src/utils/api.ts +26 -4
  273. package/src/utils/dom.tsx +7 -6
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputText.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,qCAKmB;AAEnB,qEAAwD;AACxD,6CAAyC;AACzC,0EAAsC;AACtC,uCAAuC;AACvC,kEAA+B;AAC/B,gDAA4C;AAC5C,8EAA2C;AAC3C,6CAAgF;AAChF,uCAA+C;AAC/C,kFAA+C;AAI/C,yCAA8C;AAC9C,uDAGkC;AAmGlC;IAAyC,4CAGxC;IAKC,qBAAY,KAAgB;QAA5B,YACE,kBAAM,KAAK,CAAC,SAyBb;QAvBC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,KAAK;YACb,UAAU,EACR,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,gBAAgB,GAAG,IAAA,kBAAO,EAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,EAAE,GAAG,EAAE;YACrE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;;IACL,CAAC;IAWD,uCAAiB,GAAjB;QAAA,iBA2BC;QA1BO,IAAA,KACJ,IAAI,CAAC,KAAK,EADL,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAClD,CAAC;QAEb,IAAI,IAAA,oBAAc,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE;YAClD,IAAI,UAAU,EAAE;gBACd,QAAQ,CAAC,WAAW,CAClB,YAAY,EACZ,IAAA,qBAAY,EAAC,IAAI,EAAE;oBACjB,IAAI,EAAE,EAAE;iBACT,CAAC,CACH,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,UAAO,IAAS;;;oCACpC,qBAAM,QAAQ,CAAC,WAAW,CACxB,YAAY,EACZ,IAAA,qBAAY,EAAC,IAAI,EAAE;oCACjB,IAAI,EAAE,EAAE;iCACT,CAAC,CACH,EAAA;;gCALD,SAKC,CAAC;gCAEF,IAAI,QAAQ,CAAC,KAAK,EAAE;oCAClB,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;iCAC1C;;;;qBACF,EAAE,MAAM,CAAC,CAAC;aACZ;SACF;IACH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,SAAoB;QACrC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EACR,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;oBACzC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;aACtC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,0CAAoB,GAApB;QACE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,8BAAQ,GAAR,UAAS,GAAQ;QACf,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,8BAAQ,GAAR,UAAS,MAAsB,EAAE,IAAS;QACxC,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAEhD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM,IAAI,UAAU,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAED,2BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,SAAS;QACT,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACpC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAGD,gCAAU,GAAV;QADA,iBAcC;QAZO,IAAA,KAAyB,IAAI,CAAC,KAAK,EAAlC,QAAQ,cAAA,EAAE,UAAU,gBAAc,CAAC;QAE1C,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CACX;YACE,UAAU,EAAE,UAAU;SACvB,EACD;YACE,KAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gCAAU,GAAV,UAAW,KAAa;QAChB,IAAA,KAA8B,IAAI,CAAC,KAAK,EAAvC,eAAe,qBAAA,EAAE,QAAQ,cAAc,CAAC;QAE/C,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE1B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAGD,iCAAW,GAAX;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAGD,iCAAW,GAAX,UAAY,CAAM;QAChB,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAGD,gCAAU,GAAV,UAAW,CAAM;QACT,IAAA,KAA0C,IAAI,CAAC,KAAK,EAAnD,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAc,CAAC;QAE3D,IAAI,CAAC,QAAQ,CACX;YACE,SAAS,EAAE,KAAK;SACjB,EACD;YACE,IAAI,YAAY,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACtD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACxB;QACH,CAAC,CACF,CAAC;QAEF,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,uCAAiB,GAAjB,UAAkB,GAAwC;QAA1D,iBAgBC;QAfC,IAAI,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;QAC9B,IAAA,KAAkC,IAAI,CAAC,KAAK,EAA3C,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAc,CAAC;QAEnD,IAAI,CAAC,QAAQ,CACX;YACE,UAAU,EAAE,KAAK;SAClB,EACD;YACE,IAAI,SAAS,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;gBACpC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,CAAC,CAAC;aACnB;YAED,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAEK,mCAAa,GAAnB,UAAoB,GAA0C;;;;;;wBACtD,KAAmD,IAAI,CAAC,KAAK,EAA5D,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,CAAe;6BAEhE,CAAA,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAA,EAArE,wBAAqE;wBACvE,GAAG,CAAC,cAAc,EAAE,CAAC;wBACf,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;wBAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC;wBAEf,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAExC,IAAI,CAAC,QAAQ,CACX;4BACE,UAAU,EAAE,EAAE;yBACf,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;;;6BAEF,CAAA,GAAG,CAAC,GAAG,KAAK,OAAO;4BACnB,IAAI,CAAC,KAAK,CAAC,UAAU;4BACrB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;4BACzC,SAAS,KAAK,KAAK,CAAA,EAHnB,wBAGmB;wBAEnB,GAAG,CAAC,cAAc,EAAE,CAAC;wBACjB,UAAsC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBAEhE,IACE,QAAQ;4BACR,OAAK;4BACL,CAAC,IAAA,cAAI,EAAC,eAAe,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,IAAI,OAAK,EAAnB,CAAmB,CAAC,EACnD;4BACM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;4BAC1C,QAAQ,CAAC,IAAI,CAAC;gCACZ,KAAK,EAAE,OAAK;gCACZ,KAAK,EAAE,OAAK;6BACb,CAAC,CAAC;4BAEH,OAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;yBAChD;wBAEkB,qBAAM,IAAA,oCAAuB,EAG9C,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,KAAK,SAAA,EAAC,CAAC,EAAA;;wBAHzB,UAAU,GAAG,SAGY;wBAE/B,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE;4BACzB,sBAAO;yBACR;wBAED,QAAQ,CAAC,OAAK,CAAC,CAAC;wBAEhB,IAAI,CAAC,QAAQ,CACX;4BACE,UAAU,EAAE,EAAE;4BACd,MAAM,EAAE,KAAK;yBACd,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;;;wBACG,IACL,GAAG,CAAC,GAAG,KAAK,OAAO;4BACnB,IAAI,CAAC,KAAK,CAAC,MAAM;4BACjB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EACzC;4BACA,IAAI,CAAC,QAAQ,CAAC;gCACZ,MAAM,EAAE,KAAK;6BACd,CAAC,CAAC;yBACJ;;;;;;KACF;IAED,kCAAY,GAAZ,UAAa,KAAU;QACf,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,eAAe,qBAAA,EAAE,SAAS,eAAc,CAAC;QAEpE,IAAI,QAAQ,EAAE;YACZ,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzC;aAAM;YACL,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;QAED,IAAI,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE;YACnC,IAAI,CAAC,QAAQ,CACX;gBACE,UAAU,EAAE,EAAE;aACf,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;SACH;IACH,CAAC;IAED,uCAAiB,GAAjB,UAAkB,OAAgC;QAChD,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACzD,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,mBAAS,CAAC,gBAAgB,CAAC,cAAc;gBAC5C,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,mBAAS,CAAC,gBAAgB,CAAC,WAAW;gBACzC,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,IAAM,KAAK,GAAc,EAAE,CAAC;gBAC5B,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;oBACzC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC/B;gBAED,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,WAAW,EAAE;oBACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;iBAClD;gBAED,QAAQ;gBACR,IACE,CAAC,QAAQ;oBACT,SAAS,KAAK,KAAK;oBACnB,IAAI,CAAC,KAAK,CAAC,MAAM;oBACjB,OAAO,CAAC,MAAM,KAAK,KAAK,EACxB;oBACA,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;iBACvB;gBAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;SACT;IACH,CAAC;IAGK,6CAAuB,GAA7B,UAA8B,CAAsC;;;;;;wBAC3D,QAAQ,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;wBAC1B,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;wBACf,qBAAM,IAAA,oCAAuB,EAG9C,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAC,CAAC,EAAA;;wBAHtD,UAAU,GAAG,SAGyC;wBAE5D,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE;4BACzB,sBAAO;yBACR;wBAED,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;KACtC;IAED,oCAAc,GAAd,UAAe,KAAe;QACtB,IAAA,KAAoD,IAAI,CAAC,KAAK,EAA7D,SAAS,eAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA,EAAE,UAAU,gBAAc,CAAC;QAErE,OAAO,UAAU;YACf,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;YACvE,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAA3B,CAA2B,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAED,oCAAc,GAAd,UAAe,KAAa;QACnB,IAAA,SAAS,GAAI,IAAI,CAAC,KAAK,UAAd,CAAe;QAE/B,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,GAA8B;YAC5D,IAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACjC,QAAQ,GAAG,EAAE;gBACX,KAAK,WAAW;oBACd,SAAS,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,WAAW;oBACd,SAAS,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3C,MAAM;aACT;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sCAAgB,GAAhB;QACQ,IAAA,KAAiC,IAAI,CAAC,KAAK,EAA1C,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,IAAI,UAAc,CAAC;QAElD,IAAI,IAAA,oBAAc,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE;YAClD,QAAQ,CAAC,WAAW,CAClB,YAAY,EACZ,IAAA,qBAAY,EAAC,IAAI,EAAE;gBACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,uEAAuE;aAC1G,CAAC,EACF;gBACE,cAAc,EAAE,IAAI;aACrB,CACF,CAAC;SACH;IACH,CAAC;IAED,4BAAM,GAAN;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,MAAM,IAAI,MAAM,EAAE,CAAC;IACrB,CAAC;IAED,mCAAa,GAAb,UAAc,KAAU;QACtB,OAAO,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI;YACnD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,sCAAgB,GAAhB;QAAA,iBAwLC;;QAvLO,IAAA,KAmBF,IAAI,CAAC,KAAK,EAlBZ,SAAS,eAAA,EACT,SAAS,eAAA,EACT,KAAK,WAAA,EACL,WAAW,iBAAA,EACC,EAAE,gBAAA,EACd,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,SAAS,eAAA,EACT,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,UAAU,gBAAA,EACC,EAAE,eACD,CAAC;QACf,IAAI,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAE/D,OAAO,CACL,8BAAC,mBAAS,IACR,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,EACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,aAAa,EAAE,IAAI,CAAC,iBAAiB,EACrC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAA3B,CAA2B,CAAC,IAErE,UAAC,EAOD;;gBANC,aAAa,mBAAA,EACb,YAAY,kBAAA,EACZ,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,gBAAgB,sBAAA;YAEhB,IAAI,aAAa,GACf,UAAU,IAAI,MAAM,IAAI,CAAC,YAAY;gBACnC,CAAC,CAAC,IAAA,0BAAW,EAAC,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,CAAC,UAAU,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC;iBACrD,CAAC;gBACJ,CAAC,CAAC,OAAO,CAAC;YACd,IAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC;gBAC3C,CAAC,CAAC,EAAE,CAAC;YAEP,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,UAAC,MAAW,IAAK,OAAA,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAApC,CAAoC,CACtD,CAAC;YAEF,IACE,KAAI,CAAC,KAAK,CAAC,UAAU;gBACrB,SAAS,KAAK,KAAK;gBACnB,QAAQ;gBACR,CAAC,aAAa,CAAC,IAAI,CACjB,UAAC,MAAW,IAAK,OAAA,MAAM,CAAC,KAAK,KAAK,KAAI,CAAC,KAAK,CAAC,UAAU,EAAtC,CAAsC,CACxD,EACD;gBACA,aAAa,CAAC,IAAI;oBAChB,GAAC,UAAU,IAAI,OAAO,IAAG,KAAI,CAAC,KAAK,CAAC,UAAU;oBAC9C,GAAC,UAAU,IAAI,OAAO,IAAG,KAAI,CAAC,KAAK,CAAC,UAAU;oBAC9C,QAAK,GAAE,IAAI;wBACX,CAAC;aACJ;YAED,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBAExB,WAAW,EAAE,MAAM;wBACnB,6BAA6B,EAAE,QAAQ;;oBACvC,GAAC,mCAA4B,IAAA,gBAAO,EAAC,UAAU,CAAC,CAAE,IAChD,UAAU;wBAEf,EACD,OAAO,EAAE,KAAI,CAAC,WAAW;gBAEzB;oBACG,WAAW;wBACZ,CAAC,eAAe,CAAC,MAAM;wBACvB,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU;wBACtB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAC1C,WAAW,CACR,CACP,CAAC,CAAC,CAAC,IAAI;oBAEP,eAAe,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;wBAC/B,OAAA,QAAQ,CAAC,CAAC,CAAC,CACT,uCAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK;4BACjD,wCACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EACtC,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,CAAC,aAGrC;4BACP,wCAAM,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAC1C,UAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAE,CAC5B,CACH,CACP,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzD,uCAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,IAChD,IAAI,CAAC,KAAK,CACP,CACP;oBAhBD,CAgBC,CACF;oBAED,8BAAC,eAAK,4BACA,aAAa,CAAC;wBAChB,IAAI,MAAA;wBACJ,GAAG,EAAE,KAAI,CAAC,QAAQ;wBAClB,QAAQ,UAAA;wBACR,IAAI,MAAA;wBACJ,OAAO,EAAE,KAAI,CAAC,WAAW;wBACzB,MAAM,EAAE,KAAI,CAAC,UAAU;wBACvB,QAAQ,EAAE,KAAI,CAAC,iBAAiB;wBAChC,SAAS,EAAE,KAAI,CAAC,aAAa;qBAC9B,CAAC,IACF,YAAY,EAAC,KAAK,EAClB,IAAI,EAAE,EAAE,IACR,CACD;gBAEF,SAAS,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CACjC,qCACE,OAAO,EAAE,KAAI,CAAC,UAAU,EACxB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC;oBAElC,8BAAC,YAAI,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,MAAM,GAAG,CAC1C,CACL,CAAC,CAAC,CAAC,IAAI;gBAEP,OAAO,CAAC,CAAC,CAAC,CACT,8BAAC,iBAAO,IACN,IAAI,QACJ,IAAI,EAAC,QAAQ,EACb,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAC3C,CACH,CAAC,CAAC,CAAC,IAAI;gBAEP,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAChC,uCAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IACnC,aAAa,CAAC,GAAG,CAAC,UAAC,MAAW;oBAC7B,OAAO,CACL,+DACM,YAAY,CAAC;wBACf,IAAI,EAAE,MAAM,CAAC,KAAK;wBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE;4BACnC,cAAc,EACZ,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC5C,aAAa,EAAE,MAAM,CAAC,QAAQ;yBAC/B,CAAC;qBACH,CAAC,IACF,GAAG,EAAE,MAAM,CAAC,KAAK,KAEhB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd;wBACG,EAAE,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC;wBACtC,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACjC,CACR,CAAC,CAAC,CAAC,CACF;wBACG,MAAM,CAAC,QAAQ;4BACd,CAAC,CAAC,MAAM,CAAC,KAAK;4BACd,CAAC,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,KAAK,EAAE,UAAoB,CAAC;wBAChD,MAAM,CAAC,GAAG,CACN,CACR,CACG,CACP,CAAC;gBACJ,CAAC,CAAC,CACE,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;QACJ,CAAC,CACS,CACb,CAAC;IACJ,CAAC;IAED,kCAAY,GAAZ;;;QACQ,IAAA,KAqBF,IAAI,CAAC,KAAK,EApBC,EAAE,iBAAA,EACH,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,SAAS,eAAA,EACT,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,GAAG,SAAA,EACH,GAAG,SAAA,EACH,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,WAAW,iBAAA,EACX,SAAS,eACG,CAAC;QAEf,IAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAEjE,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,mBAAmB;gBAEjB,GAAC,mCAA4B,IAAA,gBAAO,EAAC,UAAU,CAAC,CAAE,IAAG,UAAU;qBAEjE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAC3B;YAEA,MAAM,CAAC,CAAC,CAAC,CACR,wCAAM,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAC3C,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,CAAC,CAChB,CACR,CAAC,CAAC,CAAC,IAAI;YACR,8BAAC,eAAK,IACJ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,YAAY,EAAC,KAAK,EAClB,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EACtC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAChC;YACD,SAAS,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CACjC,qCAAG,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAG,EAAE,sBAAmB;gBAC9D,8BAAC,YAAI,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,MAAM,GAAG,CAC1C,CACL,CAAC,CAAC,CAAC,IAAI;YACP,WAAW,CAAC,CAAC,CAAC,CACb,wCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IACvC,UAAG,MAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0CAAE,MAAM,SACnC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,WAAI,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CACjE,CACG,CACR,CAAC,CAAC,CAAC,IAAI;YACP,MAAM,CAAC,CAAC,CAAC,CACR,wCAAM,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAC3C,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,CAAC,CAChB,CACR,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IAED,4BAAM,GAAN;;QACQ,IAAA,KAYF,IAAI,CAAC,KAAK,EAXA,EAAE,gBAAA,EACd,SAAS,eAAA,EACI,EAAE,iBAAA,EACf,OAAO,aAAA,EACP,MAAM,YAAA,EACN,YAAY,kBAAA,EACL,QAAQ,WAAA,EACf,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,SAAS,eACG,CAAC;QAEf,IAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,OAAO;aACd;YACH,CAAC,CAAC,QAAQ,CAAC;QAEf,IAAI,KAAK,GACP,YAAY,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAM,WAAW,GAAG,IAAA,mBAAY,EAAC,EAAE,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1D,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CACrB,KAAK,CAAC,UAAU;YAChB,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7D,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAG,EAAE,uBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,IAC3D,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;YACtB,QAAQ,UAAA;SACT,CAAC,CACE,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAG,EAAE,sBAAmB,EAAE,KAAK,CAAC,SAAS,CAAC;YAC1D,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9C,WAAW,CACR,CACP,CACF,CAAC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,SAAS,EAAE;YACb,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAG,EAAE,gBAAa;gBACzC,GAAC,UAAG,EAAE,2BAAwB,IAAG,CAAC,CAAC,QAAQ;gBAC3C,gBAAY,GAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAClC,iBAAa,GAAE,QAAQ;oBACvB;YAED,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACpD,KAAK;YACL,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACjD,CACP,CAAC;IACJ,CAAC;;IAzrBM,wBAAY,GAAuB;QACxC,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;KACnB,CAAC;IA2EF;QADC,IAAA,8BAAiB,EAAoC,OAAO,CAAC;;;;iDAc7D;IAYD;QADC,IAAA,8BAAiB,EAAoC,OAAO,CAAC;;;;kDAM7D;IAGD;QADC,IAAA,8BAAiB,EAAoC,OAAO,CAAC;;;;kDAQ7D;IAGD;QADC,IAAA,8BAAiB,EAAoC,MAAM,CAAC;;;;iDAgB5D;IAyJD;QADC,iBAAQ;;0EACwB,eAAK,oBAAL,eAAK,CAAC,WAAW;;8DAajD;IAwYH,kBAAC;CAAA,AA9tBD,CAAyC,eAAK,CAAC,aAAa,GA8tB3D;kBA9tBoB,WAAW;AAguBhC,SAAgB,YAAY,CAC1B,KAAiB,EACjB,MAAkB,EAClB,UAA4B;IAA5B,2BAAA,EAAA,oBAA4B;IAE5B,OAAO,KAAK;SACT,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAlD,CAAkD,CAAC;SAClE,MAAM,CAAC,UAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAXD,oCAWC;AAKD;IAAyC,oDAAW;IAApD;;IAAsD,CAAC;IAA1C,mBAAmB;QAH/B,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,YAAY;SACnB,CAAC;OACW,mBAAmB,CAAuB;IAAD,0BAAC;CAAA,AAAvD,CAAyC,WAAW,GAAG;AAA1C,kDAAmB;AAKhC;IAA6C,wDAAW;IAAxD;;IAA0D,CAAC;IAA9C,uBAAuB;QAHnC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,gBAAgB;SACvB,CAAC;OACW,uBAAuB,CAAuB;IAAD,8BAAC;CAAA,AAA3D,CAA6C,WAAW,GAAG;AAA9C,0DAAuB;AAMpC;IAA0C,qDAAW;IAArD;;IAAuD,CAAC;IAA3C,oBAAoB;QAJhC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,SAAS;SACvB,CAAC;OACW,oBAAoB,CAAuB;IAAD,2BAAC;CAAA,AAAxD,CAA0C,WAAW,GAAG;AAA3C,oDAAoB;AAMjC;IAAwC,mDAAW;IAAnD;;IAAqD,CAAC;IAAzC,kBAAkB;QAJ9B,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,OAAO;SACrB,CAAC;OACW,kBAAkB,CAAuB;IAAD,yBAAC;CAAA,AAAtD,CAAwC,WAAW,GAAG;AAAzC,gDAAkB;AAK/B;IAA+C,0DAAW;IAA1D;;IAA4D,CAAC;IAAhD,yBAAyB;QAHrC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,yBAAyB,CAAuB;IAAD,gCAAC;CAAA,AAA7D,CAA+C,WAAW,GAAG;AAAhD,8DAAyB;AAKtC;IAA+C,0DAAW;IAA1D;;IAA4D,CAAC;IAAhD,yBAAyB;QAHrC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,yBAAyB,CAAuB;IAAD,gCAAC;CAAA,AAA7D,CAA+C,WAAW,GAAG;AAAhD,8DAAyB;AAKtC;IAAiD,4DAAW;IAA5D;;IAA8D,CAAC;IAAlD,2BAA2B;QAHvC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,2BAA2B,CAAuB;IAAD,kCAAC;CAAA,AAA/D,CAAiD,WAAW,GAAG;AAAlD,kEAA2B",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,qCAKmB;AAEnB,qEAAwD;AACxD,6CAAyC;AACzC,0EAAsC;AACtC,uCAAuC;AACvC,kEAA+B;AAC/B,gDAA4C;AAC5C,8EAA2C;AAC3C,6CAAgF;AAChF,uCAA+C;AAC/C,kFAA+C;AAI/C,yCAA8C;AAC9C,uDAGkC;AAmGlC;IAAyC,4CAGxC;IAKC,qBAAY,KAAgB;QAA5B,YACE,kBAAM,KAAK,CAAC,SAyBb;QAvBC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,KAAK;YACb,UAAU,EACR,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,KAAK;SACjB,CAAC;QACF,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3D,KAAI,CAAC,gBAAgB,GAAG,IAAA,kBAAO,EAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,EAAE,GAAG,EAAE;YACrE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;;IACL,CAAC;IAWD,uCAAiB,GAAjB;QAAA,iBA2BC;QA1BO,IAAA,KACJ,IAAI,CAAC,KAAK,EADL,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAClD,CAAC;QAEb,IAAI,IAAA,oBAAc,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE;YAClD,IAAI,UAAU,EAAE;gBACd,QAAQ,CAAC,WAAW,CAClB,YAAY,EACZ,IAAA,qBAAY,EAAC,IAAI,EAAE;oBACjB,IAAI,EAAE,EAAE;iBACT,CAAC,CACH,CAAC;aACH;iBAAM,IAAI,OAAO,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,UAAO,IAAS;;;oCACpC,qBAAM,QAAQ,CAAC,WAAW,CACxB,YAAY,EACZ,IAAA,qBAAY,EAAC,IAAI,EAAE;oCACjB,IAAI,EAAE,EAAE;iCACT,CAAC,CACH,EAAA;;gCALD,SAKC,CAAC;gCAEF,IAAI,QAAQ,CAAC,KAAK,EAAE;oCAClB,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;iCAC1C;;;;qBACF,EAAE,MAAM,CAAC,CAAC;aACZ;SACF;IACH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,SAAoB;QACrC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EACR,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;oBACzC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;aACtC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,0CAAoB,GAApB;QACE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,8BAAQ,GAAR,UAAS,GAAQ;QACf,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,8BAAQ,GAAR,UAAS,MAAsB,EAAE,IAAS;QACxC,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAEhD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM,IAAI,UAAU,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAED,2BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,SAAS;QACT,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACpC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAGD,gCAAU,GAAV;QADA,iBAcC;QAZO,IAAA,KAAyB,IAAI,CAAC,KAAK,EAAlC,QAAQ,cAAA,EAAE,UAAU,gBAAc,CAAC;QAE1C,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CACX;YACE,UAAU,EAAE,UAAU;SACvB,EACD;YACE,KAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gCAAU,GAAV,UAAW,KAAa;QAChB,IAAA,KAA8B,IAAI,CAAC,KAAK,EAAvC,eAAe,qBAAA,EAAE,QAAQ,cAAc,CAAC;QAE/C,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE1B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAGD,iCAAW,GAAX;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAGD,iCAAW,GAAX,UAAY,CAAM;QAChB,IAAI,CAAC,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAGD,gCAAU,GAAV,UAAW,CAAM;QACT,IAAA,KAA0C,IAAI,CAAC,KAAK,EAAnD,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAc,CAAC;QAE3D,IAAI,CAAC,QAAQ,CACX;YACE,SAAS,EAAE,KAAK;SACjB,EACD;YACE,IAAI,YAAY,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACtD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACxB;QACH,CAAC,CACF,CAAC;QAEF,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,uCAAiB,GAAjB,UAAkB,GAAwC;QAA1D,iBAgBC;QAfC,IAAI,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;QAC9B,IAAA,KAAkC,IAAI,CAAC,KAAK,EAA3C,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAc,CAAC;QAEnD,IAAI,CAAC,QAAQ,CACX;YACE,UAAU,EAAE,KAAK;SAClB,EACD;YACE,IAAI,SAAS,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;gBACpC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,CAAC,CAAC;aACnB;YAED,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAEK,mCAAa,GAAnB,UAAoB,GAA0C;;;;;;wBACtD,KAAmD,IAAI,CAAC,KAAK,EAA5D,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,CAAe;6BAEhE,CAAA,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAA,EAArE,wBAAqE;wBACvE,GAAG,CAAC,cAAc,EAAE,CAAC;wBACf,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;wBAC1C,QAAQ,CAAC,GAAG,EAAE,CAAC;wBAEf,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAExC,IAAI,CAAC,QAAQ,CACX;4BACE,UAAU,EAAE,EAAE;yBACf,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;;;6BAEF,CAAA,GAAG,CAAC,GAAG,KAAK,OAAO;4BACnB,IAAI,CAAC,KAAK,CAAC,UAAU;4BACrB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;4BACzC,SAAS,KAAK,KAAK,CAAA,EAHnB,wBAGmB;wBAEnB,GAAG,CAAC,cAAc,EAAE,CAAC;wBACjB,UAAsC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBAEhE,IACE,QAAQ;4BACR,OAAK;4BACL,CAAC,IAAA,cAAI,EAAC,eAAe,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,IAAI,OAAK,EAAnB,CAAmB,CAAC,EACnD;4BACM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;4BAC1C,QAAQ,CAAC,IAAI,CAAC;gCACZ,KAAK,EAAE,OAAK;gCACZ,KAAK,EAAE,OAAK;6BACb,CAAC,CAAC;4BAEH,OAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;yBAChD;wBAEkB,qBAAM,IAAA,oCAAuB,EAG9C,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,KAAK,SAAA,EAAC,CAAC,EAAA;;wBAHzB,UAAU,GAAG,SAGY;wBAE/B,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE;4BACzB,sBAAO;yBACR;wBAED,QAAQ,CAAC,OAAK,CAAC,CAAC;wBAEhB,IAAI,CAAC,QAAQ,CACX;4BACE,UAAU,EAAE,EAAE;4BACd,MAAM,EAAE,KAAK;yBACd,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;;;wBACG,IACL,GAAG,CAAC,GAAG,KAAK,OAAO;4BACnB,IAAI,CAAC,KAAK,CAAC,MAAM;4BACjB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EACzC;4BACA,IAAI,CAAC,QAAQ,CAAC;gCACZ,MAAM,EAAE,KAAK;6BACd,CAAC,CAAC;yBACJ;;;;;;KACF;IAED,kCAAY,GAAZ,UAAa,KAAU;QACf,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,eAAe,qBAAA,EAAE,SAAS,eAAc,CAAC;QAEpE,IAAI,QAAQ,EAAE;YACZ,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzC;aAAM;YACL,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;QAED,IAAI,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE;YACnC,IAAI,CAAC,QAAQ,CACX;gBACE,UAAU,EAAE,EAAE;aACf,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;SACH;IACH,CAAC;IAED,uCAAiB,GAAjB,UAAkB,OAAgC;QAChD,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACzD,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,mBAAS,CAAC,gBAAgB,CAAC,cAAc;gBAC5C,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,mBAAS,CAAC,gBAAgB,CAAC,WAAW;gBACzC,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,IAAM,KAAK,GAAc,EAAE,CAAC;gBAC5B,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;oBACzC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC/B;gBAED,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,WAAW,EAAE;oBACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;iBAClD;gBAED,QAAQ;gBACR,IACE,CAAC,QAAQ;oBACT,SAAS,KAAK,KAAK;oBACnB,IAAI,CAAC,KAAK,CAAC,MAAM;oBACjB,OAAO,CAAC,MAAM,KAAK,KAAK,EACxB;oBACA,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;iBACvB;gBAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;SACT;IACH,CAAC;IAGK,6CAAuB,GAA7B,UAA8B,CAAsC;;;;;;wBAC3D,QAAQ,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;wBAC1B,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;wBACf,qBAAM,IAAA,oCAAuB,EAG9C,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAC,CAAC,EAAA;;wBAHtD,UAAU,GAAG,SAGyC;wBAE5D,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE;4BACzB,sBAAO;yBACR;wBAED,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;KACtC;IAED,oCAAc,GAAd,UAAe,KAAe;QACtB,IAAA,KAAoD,IAAI,CAAC,KAAK,EAA7D,SAAS,eAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA,EAAE,UAAU,gBAAc,CAAC;QAErE,OAAO,UAAU;YACf,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;YACvE,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAA3B,CAA2B,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAED,oCAAc,GAAd,UAAe,KAAa;QACnB,IAAA,SAAS,GAAI,IAAI,CAAC,KAAK,UAAd,CAAe;QAE/B,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,GAA8B;YAC5D,IAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACjC,QAAQ,GAAG,EAAE;gBACX,KAAK,WAAW;oBACd,SAAS,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,WAAW;oBACd,SAAS,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3C,MAAM;aACT;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sCAAgB,GAAhB;QACQ,IAAA,KAAiC,IAAI,CAAC,KAAK,EAA1C,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,IAAI,UAAc,CAAC;QAElD,IAAI,IAAA,oBAAc,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE;YAClD,QAAQ,CAAC,WAAW,CAClB,YAAY,EACZ,IAAA,qBAAY,EAAC,IAAI,EAAE;gBACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,uEAAuE;aAC1G,CAAC,EACF;gBACE,cAAc,EAAE,IAAI;aACrB,CACF,CAAC;SACH;IACH,CAAC;IAED,4BAAM,GAAN;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,MAAM,IAAI,MAAM,EAAE,CAAC;IACrB,CAAC;IAED,mCAAa,GAAb,UAAc,KAAU;QACtB,OAAO,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI;YACnD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,sCAAgB,GAAhB;QAAA,iBAoMC;;QAnMO,IAAA,KAqBF,IAAI,CAAC,KAAK,EApBZ,SAAS,eAAA,EACT,SAAS,eAAA,EACT,KAAK,WAAA,EACL,WAAW,iBAAA,EACC,EAAE,gBAAA,EACd,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,SAAS,eAAA,EACT,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,SAAS,eAAA,EACE,EAAE,eACD,CAAC;QACf,IAAI,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAE/D,OAAO,CACL,8BAAC,mBAAS,IACR,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,EACtC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,aAAa,EAAE,IAAI,CAAC,iBAAiB,EACrC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,EAA3B,CAA2B,CAAC,IAErE,UAAC,EAOD;;;gBANC,aAAa,mBAAA,EACb,YAAY,kBAAA,EACZ,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,gBAAgB,sBAAA;YAEhB,IAAI,aAAa,GACf,UAAU,IAAI,MAAM,IAAI,CAAC,YAAY;gBACnC,CAAC,CAAC,IAAA,0BAAW,EAAC,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,CAAC,UAAU,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC;iBACrD,CAAC;gBACJ,CAAC,CAAC,OAAO,CAAC;YACd,IAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC;gBAC3C,CAAC,CAAC,EAAE,CAAC;YAEP,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,UAAC,MAAW,IAAK,OAAA,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAApC,CAAoC,CACtD,CAAC;YAEF,IACE,KAAI,CAAC,KAAK,CAAC,UAAU;gBACrB,SAAS,KAAK,KAAK;gBACnB,QAAQ;gBACR,CAAC,aAAa,CAAC,IAAI,CACjB,UAAC,MAAW,IAAK,OAAA,MAAM,CAAC,KAAK,KAAK,KAAI,CAAC,KAAK,CAAC,UAAU,EAAtC,CAAsC,CACxD,EACD;gBACA,aAAa,CAAC,IAAI;oBAChB,GAAC,UAAU,IAAI,OAAO,IAAG,KAAI,CAAC,KAAK,CAAC,UAAU;oBAC9C,GAAC,UAAU,IAAI,OAAO,IAAG,KAAI,CAAC,KAAK,CAAC,UAAU;oBAC9C,QAAK,GAAE,IAAI;wBACX,CAAC;aACJ;YAED,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBAExB,WAAW,EAAE,MAAM;wBACnB,6BAA6B,EAAE,QAAQ;;oBACvC,GAAC,mCAA4B,IAAA,gBAAO,EAAC,UAAU,CAAC,CAAE,IAChD,UAAU;wBAEf,EACD,OAAO,EAAE,KAAI,CAAC,WAAW;gBAEzB;oBACG,WAAW;wBACZ,CAAC,eAAe,CAAC,MAAM;wBACvB,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU;wBACtB,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAC1C,WAAW,CACR,CACP,CAAC,CAAC,CAAC,IAAI;oBAEP,eAAe,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;wBAC/B,OAAA,QAAQ,CAAC,CAAC,CAAC,CACT,uCAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK;4BACjD,wCACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EACtC,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,CAAC,aAGrC;4BACP,wCAAM,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAC1C,UAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAE,CAC5B,CACH,CACP,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzD,uCAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,IAChD,IAAI,CAAC,KAAK,CACP,CACP;oBAhBD,CAgBC,CACF;oBAED,8BAAC,eAAK,4BACA,aAAa,CAAC;wBAChB,IAAI,MAAA;wBACJ,GAAG,EAAE,KAAI,CAAC,QAAQ;wBAClB,QAAQ,UAAA;wBACR,IAAI,MAAA;wBACJ,OAAO,EAAE,KAAI,CAAC,WAAW;wBACzB,MAAM,EAAE,KAAI,CAAC,UAAU;wBACvB,QAAQ,EAAE,KAAI,CAAC,iBAAiB;wBAChC,SAAS,EAAE,KAAI,CAAC,aAAa;qBAC9B,CAAC,IACF,YAAY,EAAC,KAAK,EAClB,IAAI,EAAE,EAAE,IACR,CACD;gBAEF,SAAS,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CACjC,qCACE,OAAO,EAAE,KAAI,CAAC,UAAU,EACxB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC;oBAElC,8BAAC,YAAI,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,MAAM,GAAG,CAC1C,CACL,CAAC,CAAC,CAAC,IAAI;gBAEP,WAAW,CAAC,CAAC,CAAC,CACb,wCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IACvC,UAAG,MAAA,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0CAAE,MAAM,SACnC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS;oBACxC,CAAC,CAAC,WAAI,SAAS,CAAE;oBACjB,CAAC,CAAC,EAAE,CACN,CACG,CACR,CAAC,CAAC,CAAC,IAAI;gBAEP,OAAO,CAAC,CAAC,CAAC,CACT,8BAAC,iBAAO,IACN,IAAI,QACJ,IAAI,EAAC,QAAQ,EACb,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAC3C,CACH,CAAC,CAAC,CAAC,IAAI;gBAEP,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAChC,uCAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IACnC,aAAa,CAAC,GAAG,CAAC,UAAC,MAAW;oBAC7B,OAAO,CACL,+DACM,YAAY,CAAC;wBACf,IAAI,EAAE,MAAM,CAAC,KAAK;wBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE;4BACnC,cAAc,EACZ,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC5C,aAAa,EAAE,MAAM,CAAC,QAAQ;yBAC/B,CAAC;qBACH,CAAC,IACF,GAAG,EAAE,MAAM,CAAC,KAAK,KAEhB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd;wBACG,EAAE,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC;wBACtC,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACjC,CACR,CAAC,CAAC,CAAC,CACF;wBACG,MAAM,CAAC,QAAQ;4BACd,CAAC,CAAC,MAAM,CAAC,KAAK;4BACd,CAAC,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,KAAK,EAAE,UAAoB,CAAC;wBAChD,MAAM,CAAC,GAAG,CACN,CACR,CACG,CACP,CAAC;gBACJ,CAAC,CAAC,CACE,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;QACJ,CAAC,CACS,CACb,CAAC;IACJ,CAAC;IAED,kCAAY,GAAZ;;;QACQ,IAAA,KAqBF,IAAI,CAAC,KAAK,EApBC,EAAE,iBAAA,EACH,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,SAAS,eAAA,EACT,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,GAAG,SAAA,EACH,GAAG,SAAA,EACH,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,WAAW,iBAAA,EACX,SAAS,eACG,CAAC;QAEf,IAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAEjE,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,mBAAmB;gBAEjB,GAAC,mCAA4B,IAAA,gBAAO,EAAC,UAAU,CAAC,CAAE,IAAG,UAAU;qBAEjE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAC3B;YAEA,MAAM,CAAC,CAAC,CAAC,CACR,wCAAM,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAC3C,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,CAAC,CAChB,CACR,CAAC,CAAC,CAAC,IAAI;YACR,8BAAC,eAAK,IACJ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,YAAY,EAAC,KAAK,EAClB,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EACtC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAChC;YACD,SAAS,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CACjC,qCAAG,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAG,EAAE,sBAAmB;gBAC9D,8BAAC,YAAI,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAC,MAAM,GAAG,CAC1C,CACL,CAAC,CAAC,CAAC,IAAI;YACP,WAAW,CAAC,CAAC,CAAC,CACb,wCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IACvC,UAAG,MAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0CAAE,MAAM,SACnC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,WAAI,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CACjE,CACG,CACR,CAAC,CAAC,CAAC,IAAI;YACP,MAAM,CAAC,CAAC,CAAC,CACR,wCAAM,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAC3C,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,CAAC,CAChB,CACR,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IAED,4BAAM,GAAN;;QACQ,IAAA,KAYF,IAAI,CAAC,KAAK,EAXA,EAAE,gBAAA,EACd,SAAS,eAAA,EACI,EAAE,iBAAA,EACf,OAAO,aAAA,EACP,MAAM,YAAA,EACN,YAAY,kBAAA,EACL,QAAQ,WAAA,EACf,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,SAAS,eACG,CAAC;QAEf,IAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ;YAC1B,CAAC,CAAC;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,OAAO;aACd;YACH,CAAC,CAAC,QAAQ,CAAC;QAEf,IAAI,KAAK,GACP,YAAY,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAM,WAAW,GAAG,IAAA,mBAAY,EAAC,EAAE,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1D,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CACrB,KAAK,CAAC,UAAU;YAChB,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC7D,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAG,EAAE,uBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,IAC3D,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;YACtB,QAAQ,UAAA;SACT,CAAC,CACE,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAG,EAAE,sBAAmB,EAAE,KAAK,CAAC,SAAS,CAAC;YAC1D,WAAW;YACX,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3C,CACP,CACF,CAAC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,SAAS,EAAE;YACb,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAG,EAAE,gBAAa;gBACzC,GAAC,UAAG,EAAE,2BAAwB,IAAG,CAAC,CAAC,QAAQ;gBAC3C,gBAAY,GAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAClC,iBAAa,GAAE,QAAQ;oBACvB;YAED,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACpD,KAAK;YACL,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACjD,CACP,CAAC;IACJ,CAAC;;IArsBM,wBAAY,GAAuB;QACxC,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;KACnB,CAAC;IA2EF;QADC,IAAA,8BAAiB,EAAoC,OAAO,CAAC;;;;iDAc7D;IAYD;QADC,IAAA,8BAAiB,EAAoC,OAAO,CAAC;;;;kDAM7D;IAGD;QADC,IAAA,8BAAiB,EAAoC,OAAO,CAAC;;;;kDAQ7D;IAGD;QADC,IAAA,8BAAiB,EAAoC,MAAM,CAAC;;;;iDAgB5D;IAyJD;QADC,iBAAQ;;0EACwB,eAAK,oBAAL,eAAK,CAAC,WAAW;;8DAajD;IAoZH,kBAAC;CAAA,AA1uBD,CAAyC,eAAK,CAAC,aAAa,GA0uB3D;kBA1uBoB,WAAW;AA4uBhC,SAAgB,YAAY,CAC1B,KAAiB,EACjB,MAAkB,EAClB,UAA4B;IAA5B,2BAAA,EAAA,oBAA4B;IAE5B,OAAO,KAAK;SACT,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAlD,CAAkD,CAAC;SAClE,MAAM,CAAC,UAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAXD,oCAWC;AAKD;IAAyC,oDAAW;IAApD;;IAAsD,CAAC;IAA1C,mBAAmB;QAH/B,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,YAAY;SACnB,CAAC;OACW,mBAAmB,CAAuB;IAAD,0BAAC;CAAA,AAAvD,CAAyC,WAAW,GAAG;AAA1C,kDAAmB;AAKhC;IAA6C,wDAAW;IAAxD;;IAA0D,CAAC;IAA9C,uBAAuB;QAHnC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,gBAAgB;SACvB,CAAC;OACW,uBAAuB,CAAuB;IAAD,8BAAC;CAAA,AAA3D,CAA6C,WAAW,GAAG;AAA9C,0DAAuB;AAMpC;IAA0C,qDAAW;IAArD;;IAAuD,CAAC;IAA3C,oBAAoB;QAJhC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,SAAS;SACvB,CAAC;OACW,oBAAoB,CAAuB;IAAD,2BAAC;CAAA,AAAxD,CAA0C,WAAW,GAAG;AAA3C,oDAAoB;AAMjC;IAAwC,mDAAW;IAAnD;;IAAqD,CAAC;IAAzC,kBAAkB;QAJ9B,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,OAAO;SACrB,CAAC;OACW,kBAAkB,CAAuB;IAAD,yBAAC;CAAA,AAAtD,CAAwC,WAAW,GAAG;AAAzC,gDAAkB;AAK/B;IAA+C,0DAAW;IAA1D;;IAA4D,CAAC;IAAhD,yBAAyB;QAHrC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,yBAAyB,CAAuB;IAAD,gCAAC;CAAA,AAA7D,CAA+C,WAAW,GAAG;AAAhD,8DAAyB;AAKtC;IAA+C,0DAAW;IAA1D;;IAA4D,CAAC;IAAhD,yBAAyB;QAHrC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,yBAAyB,CAAuB;IAAD,gCAAC;CAAA,AAA7D,CAA+C,WAAW,GAAG;AAAhD,8DAAyB;AAKtC;IAAiD,4DAAW;IAA5D;;IAA8D,CAAC;IAAlD,2BAA2B;QAHvC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,2BAA2B,CAAuB;IAAD,kCAAC;CAAA,AAA/D,CAAiD,WAAW,GAAG;AAAlD,kEAA2B",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\nimport {\n rendererEventDispatcher,\n bindRendererEvent\n} from '../../actions/Decorators';\n\nimport type {Option} from '../../components/Select';\nimport type {ListenerAction} from '../../actions/Action';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 前缀\n */\n prefix?: string;\n\n /**\n * 后缀\n */\n suffix?: string;\n}\n\nexport type InputTextRendererEvent =\n | 'blur'\n | 'focus'\n | 'click'\n | 'change'\n | 'clear'\n | 'enter';\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.clearValue();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('clear')\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {selectedOptions, onChange} = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(this.normalizeValue(newValue));\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('click')\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('focus')\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('blur')\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n const {creatable, multiple, onChange} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, multiple, creatable} = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(this.normalizeValue(newValue));\n\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number' &&\n creatable !== false\n ) {\n evt.preventDefault();\n let value: string | Array<string | any> = this.state.inputValue;\n\n if (\n multiple &&\n value &&\n !find(selectedOptions, item => item.value == value)\n ) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n value = this.normalizeValue(newValue).concat();\n }\n\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'enter', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(value);\n\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {onChange, multiple, selectedOptions, creatable} = this.props;\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n async handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value: this.transformValue(value)});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(this.transformValue(value));\n }\n\n normalizeValue(value: Option[]) {\n const {delimiter, joinValues, extractValue, valueField} = this.props;\n\n return joinValues\n ? value.map(item => item[valueField || 'value']).join(delimiter || ',')\n : extractValue\n ? value.map(item => item[valueField || 'value'])\n : value;\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n if (\n this.state.inputValue &&\n creatable !== false &&\n multiple &&\n !filtedOptions.some(\n (option: any) => option.value === this.state.inputValue\n )\n ) {\n filtedOptions.push({\n [labelField || 'label']: this.state.inputValue,\n [valueField || 'value']: this.state.inputValue,\n isNew: true\n });\n }\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span\n className={cx('TextControl-valueIcon')}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n {option.isNew ? (\n <span>\n {__('Text.add', {label: option.label})}\n <Icon icon=\"enter\" className=\"icon\" />\n </span>\n ) : (\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <Input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n />\n {clearable && !disabled && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {addOn.label ? filter(addOn.label, data) : null}\n {iconElement}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
11
+ "import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\nimport {\n rendererEventDispatcher,\n bindRendererEvent\n} from '../../actions/Decorators';\n\nimport type {Option} from '../../components/Select';\nimport type {ListenerAction} from '../../actions/Action';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 前缀\n */\n prefix?: string;\n\n /**\n * 后缀\n */\n suffix?: string;\n}\n\nexport type InputTextRendererEvent =\n | 'blur'\n | 'focus'\n | 'click'\n | 'change'\n | 'clear'\n | 'enter';\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else if (addHook) {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.clearValue();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('clear')\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {selectedOptions, onChange} = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(this.normalizeValue(newValue));\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('click')\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('focus')\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('blur')\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n const {creatable, multiple, onChange} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, multiple, creatable} = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(this.normalizeValue(newValue));\n\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number' &&\n creatable !== false\n ) {\n evt.preventDefault();\n let value: string | Array<string | any> = this.state.inputValue;\n\n if (\n multiple &&\n value &&\n !find(selectedOptions, item => item.value == value)\n ) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n value = this.normalizeValue(newValue).concat();\n }\n\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'enter', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(value);\n\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {onChange, multiple, selectedOptions, creatable} = this.props;\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n async handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value: this.transformValue(value)});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(this.transformValue(value));\n }\n\n normalizeValue(value: Option[]) {\n const {delimiter, joinValues, extractValue, valueField} = this.props;\n\n return joinValues\n ? value.map(item => item[valueField || 'value']).join(delimiter || ',')\n : extractValue\n ? value.map(item => item[valueField || 'value'])\n : value;\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n showCounter,\n maxLength,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n if (\n this.state.inputValue &&\n creatable !== false &&\n multiple &&\n !filtedOptions.some(\n (option: any) => option.value === this.state.inputValue\n )\n ) {\n filtedOptions.push({\n [labelField || 'label']: this.state.inputValue,\n [valueField || 'value']: this.state.inputValue,\n isNew: true\n });\n }\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span\n className={cx('TextControl-valueIcon')}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength\n ? `/${maxLength}`\n : ''\n }`}\n </span>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n {option.isNew ? (\n <span>\n {__('Text.add', {label: option.label})}\n <Icon icon=\"enter\" className=\"icon\" />\n </span>\n ) : (\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <Input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n />\n {clearable && !disabled && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {iconElement}\n {addOn.label ? filter(addOn.label, data) : null}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
12
12
  ]
13
13
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { FormOptionsControl, OptionsControlProps } from './Options';
3
3
  import { SchemaApi } from '../../Schema';
4
+ import { Action } from '../../types';
4
5
  /**
5
6
  * Tree 下拉选择框。
6
7
  * 文档:https://baidu.gitee.io/amis/docs/components/form/tree
@@ -59,7 +60,11 @@ export interface TreeProps extends OptionsControlProps, Omit<TreeControlSchema,
59
60
  }
60
61
  export default class TreeControl extends React.Component<TreeProps> {
61
62
  static defaultProps: Partial<TreeProps>;
63
+ treeRef: any;
62
64
  reload(): void;
65
+ doAction(action: Action, data: any, throwErrors: boolean): void;
66
+ handleChange(value: any): Promise<void>;
67
+ domRef(ref: any): void;
63
68
  render(): JSX.Element;
64
69
  }
65
70
  export declare class TreeControlRenderer extends TreeControl {
@@ -7,6 +7,7 @@ var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
7
7
  var Tree_1 = (0, tslib_1.__importDefault)(require("../../components/Tree"));
8
8
  var Options_1 = require("./Options");
9
9
  var components_1 = require("../../components");
10
+ var helper_1 = require("../../utils/helper");
10
11
  var TreeControl = /** @class */ (function (_super) {
11
12
  (0, tslib_1.__extends)(TreeControl, _super);
12
13
  function TreeControl() {
@@ -16,11 +17,47 @@ var TreeControl = /** @class */ (function (_super) {
16
17
  var reload = this.props.reloadOptions;
17
18
  reload && reload();
18
19
  };
20
+ TreeControl.prototype.doAction = function (action, data, throwErrors) {
21
+ var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange, options = _a.options;
22
+ if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {
23
+ onChange && onChange(resetValue !== null && resetValue !== void 0 ? resetValue : '');
24
+ }
25
+ if (action.actionType === 'expand') {
26
+ this.treeRef.syncUnFolded(this.props, action.openLevel);
27
+ }
28
+ if (action.actionType === 'collapse') {
29
+ this.treeRef.syncUnFolded(this.props, 0);
30
+ }
31
+ };
32
+ TreeControl.prototype.handleChange = function (value) {
33
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
34
+ var _a, onChange, dispatchEvent, data, rendererEvent;
35
+ return (0, tslib_1.__generator)(this, function (_b) {
36
+ switch (_b.label) {
37
+ case 0:
38
+ _a = this.props, onChange = _a.onChange, dispatchEvent = _a.dispatchEvent, data = _a.data;
39
+ return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, {
40
+ value: value
41
+ }))];
42
+ case 1:
43
+ rendererEvent = _b.sent();
44
+ if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
45
+ return [2 /*return*/];
46
+ }
47
+ onChange && onChange(value);
48
+ return [2 /*return*/];
49
+ }
50
+ });
51
+ });
52
+ };
53
+ TreeControl.prototype.domRef = function (ref) {
54
+ this.treeRef = ref;
55
+ };
19
56
  TreeControl.prototype.render = function () {
20
- var _a = this.props, className = _a.className, treeContainerClassName = _a.treeContainerClassName, ns = _a.classPrefix, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b, onChange = _a.onChange, disabled = _a.disabled, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, placeholder = _a.placeholder, options = _a.options, multiple = _a.multiple, valueField = _a.valueField, initiallyOpen = _a.initiallyOpen, unfoldedLevel = _a.unfoldedLevel, withChildren = _a.withChildren, onlyChildren = _a.onlyChildren, loading = _a.loading, hideRoot = _a.hideRoot, rootLabel = _a.rootLabel, cascade = _a.cascade, rootValue = _a.rootValue, showIcon = _a.showIcon, showRadio = _a.showRadio, showOutline = _a.showOutline, onAdd = _a.onAdd, creatable = _a.creatable, createTip = _a.createTip, addControls = _a.addControls, onEdit = _a.onEdit, editable = _a.editable, editTip = _a.editTip, editControls = _a.editControls, removable = _a.removable, removeTip = _a.removeTip, onDelete = _a.onDelete, rootCreatable = _a.rootCreatable, rootCreateTip = _a.rootCreateTip, labelField = _a.labelField, iconField = _a.iconField, nodePath = _a.nodePath, deferLoad = _a.deferLoad, expandTreeOptions = _a.expandTreeOptions, __ = _a.translate;
57
+ var _a = this.props, className = _a.className, treeContainerClassName = _a.treeContainerClassName, ns = _a.classPrefix, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b, disabled = _a.disabled, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, placeholder = _a.placeholder, options = _a.options, multiple = _a.multiple, valueField = _a.valueField, initiallyOpen = _a.initiallyOpen, unfoldedLevel = _a.unfoldedLevel, withChildren = _a.withChildren, onlyChildren = _a.onlyChildren, loading = _a.loading, hideRoot = _a.hideRoot, rootLabel = _a.rootLabel, cascade = _a.cascade, rootValue = _a.rootValue, showIcon = _a.showIcon, showRadio = _a.showRadio, showOutline = _a.showOutline, onAdd = _a.onAdd, creatable = _a.creatable, createTip = _a.createTip, addControls = _a.addControls, onEdit = _a.onEdit, editable = _a.editable, editTip = _a.editTip, editControls = _a.editControls, removable = _a.removable, removeTip = _a.removeTip, onDelete = _a.onDelete, rootCreatable = _a.rootCreatable, rootCreateTip = _a.rootCreateTip, labelField = _a.labelField, iconField = _a.iconField, nodePath = _a.nodePath, deferLoad = _a.deferLoad, expandTreeOptions = _a.expandTreeOptions, __ = _a.translate;
21
58
  return (react_1.default.createElement("div", { className: (0, classnames_1.default)("".concat(ns, "TreeControl"), className, treeContainerClassName) },
22
59
  react_1.default.createElement(components_1.Spinner, { size: "sm", key: "info", show: loading }),
23
- loading ? null : (react_1.default.createElement(Tree_1.default, { classPrefix: ns, labelField: labelField, valueField: valueField, iconField: iconField, disabled: disabled, onChange: onChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(placeholder), options: options, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, onlyChildren: onlyChildren, hideRoot: hideRoot, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, showOutline: showOutline, cascade: cascade, foldedField: "collapsed", value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, selfDisabledAffectChildren: false, onAdd: onAdd, creatable: creatable, createTip: createTip, rootCreatable: rootCreatable, rootCreateTip: rootCreateTip, onEdit: onEdit, editable: editable, editTip: editTip, removable: removable, removeTip: removeTip, onDelete: onDelete, bultinCUD: !addControls && !editControls, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }))));
60
+ loading ? null : (react_1.default.createElement(Tree_1.default, { classPrefix: ns, onRef: this.domRef, labelField: labelField, valueField: valueField, iconField: iconField, disabled: disabled, onChange: this.handleChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(placeholder), options: options, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, onlyChildren: onlyChildren, hideRoot: hideRoot, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, showOutline: showOutline, cascade: cascade, foldedField: "collapsed", value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, selfDisabledAffectChildren: false, onAdd: onAdd, creatable: creatable, createTip: createTip, rootCreatable: rootCreatable, rootCreateTip: rootCreateTip, onEdit: onEdit, editable: editable, editTip: editTip, removable: removable, removeTip: removeTip, onDelete: onDelete, bultinCUD: !addControls && !editControls, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }))));
24
61
  };
25
62
  TreeControl.defaultProps = {
26
63
  placeholder: 'loading',
@@ -31,6 +68,18 @@ var TreeControl = /** @class */ (function (_super) {
31
68
  enableNodePath: false,
32
69
  pathSeparator: '/'
33
70
  };
71
+ (0, tslib_1.__decorate)([
72
+ helper_1.autobind,
73
+ (0, tslib_1.__metadata)("design:type", Function),
74
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
75
+ (0, tslib_1.__metadata)("design:returntype", Promise)
76
+ ], TreeControl.prototype, "handleChange", null);
77
+ (0, tslib_1.__decorate)([
78
+ helper_1.autobind,
79
+ (0, tslib_1.__metadata)("design:type", Function),
80
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
81
+ (0, tslib_1.__metadata)("design:returntype", void 0)
82
+ ], TreeControl.prototype, "domRef", null);
34
83
  return TreeControl;
35
84
  }(react_1.default.Component));
36
85
  exports.default = TreeControl;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputTree.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,uEAA4B;AAC5B,4EAAiD;AACjD,qCAImB;AACnB,+CAAyC;AAkFzC;IAAyC,4CAA0B;IAAnE;;IAyHA,CAAC;IA9GC,4BAAM,GAAN;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,MAAM,IAAI,MAAM,EAAE,CAAC;IACrB,CAAC;IAED,4BAAM,GAAN;QACQ,IAAA,KA+CF,IAAI,CAAC,KAAK,EA9CZ,SAAS,eAAA,EACT,sBAAsB,4BAAA,EACT,EAAE,iBAAA,EACf,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,qBAAmB,EAAnB,aAAa,mBAAG,GAAG,KAAA,EACnB,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,aAAa,mBAAA,EACb,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,OAAO,aAAA,EACP,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,KAAK,WAAA,EACL,SAAS,eAAA,EACT,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,aAAa,mBAAA,EACb,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,iBAAiB,uBAAA,EACN,EAAE,eACD,CAAC;QAEf,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,oBAAE,EAAC,UAAG,EAAE,gBAAa,EAAE,SAAS,EAAE,sBAAsB,CAAC;YAEpE,8BAAC,oBAAO,IAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI;YAC9C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChB,8BAAC,cAAY,IACX,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EACxB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAC,WAAW,EACvB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,KAAK,EACjC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,CAAC,WAAW,IAAI,CAAC,YAAY,EACxC,WAAW,EAAE,SAAS,EACtB,YAAY,EAAE,iBAAiB,GAC/B,CACH,CACG,CACP,CAAC;IACJ,CAAC;IAvHM,wBAAY,GAAuB;QACxC,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,GAAG;KACnB,CAAC;IAgHJ,kBAAC;CAAA,AAzHD,CAAyC,eAAK,CAAC,SAAS,GAyHvD;kBAzHoB,WAAW;AA8HhC;IAAyC,oDAAW;IAApD;;IAAsD,CAAC;IAA1C,mBAAmB;QAH/B,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,YAAY;SACnB,CAAC;OACW,mBAAmB,CAAuB;IAAD,0BAAC;CAAA,AAAvD,CAAyC,WAAW,GAAG;AAA1C,kDAAmB",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport cx from 'classnames';\nimport TreeSelector from '../../components/Tree';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from './Options';\nimport {Spinner} from '../../components';\nimport {SchemaApi} from '../../Schema';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeControlSchema extends FormOptionsControl {\n type: 'input-tree';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n\n /**\n * 是否显示展开线\n */\n showOutline?: boolean;\n\n deferApi?: SchemaApi;\n}\n\nexport interface TreeProps\n extends OptionsControlProps,\n Omit<\n TreeControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'inputClassName'\n | 'descriptionClassName'\n > {\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport default class TreeControl extends React.Component<TreeProps> {\n static defaultProps: Partial<TreeProps> = {\n placeholder: 'loading',\n multiple: false,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n enableNodePath: false,\n pathSeparator: '/'\n };\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n render() {\n const {\n className,\n treeContainerClassName,\n classPrefix: ns,\n value,\n enableNodePath,\n pathSeparator = '/',\n onChange,\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n onlyChildren,\n loading,\n hideRoot,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n showOutline,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n labelField,\n iconField,\n nodePath,\n deferLoad,\n expandTreeOptions,\n translate: __\n } = this.props;\n\n return (\n <div\n className={cx(`${ns}TreeControl`, className, treeContainerClassName)}\n >\n <Spinner size=\"sm\" key=\"info\" show={loading} />\n {loading ? null : (\n <TreeSelector\n classPrefix={ns}\n labelField={labelField}\n valueField={valueField}\n iconField={iconField}\n disabled={disabled}\n onChange={onChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(placeholder)}\n options={options}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n onlyChildren={onlyChildren}\n hideRoot={hideRoot}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n showOutline={showOutline}\n cascade={cascade}\n foldedField=\"collapsed\"\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n selfDisabledAffectChildren={false}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tree'\n})\nexport class TreeControlRenderer extends TreeControl {}\n"
11
+ "import React from 'react';\nimport cx from 'classnames';\nimport TreeSelector from '../../components/Tree';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from './Options';\nimport {Spinner} from '../../components';\nimport {SchemaApi} from '../../Schema';\nimport {autobind, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeControlSchema extends FormOptionsControl {\n type: 'input-tree';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n\n /**\n * 是否显示展开线\n */\n showOutline?: boolean;\n\n deferApi?: SchemaApi;\n}\n\nexport interface TreeProps\n extends OptionsControlProps,\n Omit<\n TreeControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'inputClassName'\n | 'descriptionClassName'\n > {\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport default class TreeControl extends React.Component<TreeProps> {\n static defaultProps: Partial<TreeProps> = {\n placeholder: 'loading',\n multiple: false,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n enableNodePath: false,\n pathSeparator: '/'\n };\n treeRef: any\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n doAction(action: Action, data: any, throwErrors: boolean) {\n const {resetValue, onChange, options} = this.props;\n if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {\n onChange && onChange(resetValue ?? '');\n }\n if (action.actionType === 'expand') {\n this.treeRef.syncUnFolded(this.props, action.openLevel);\n }\n if (action.actionType === 'collapse') {\n this.treeRef.syncUnFolded(this.props, 0);\n }\n }\n\n\n\n @autobind\n async handleChange(value: any) {\n const {onChange, dispatchEvent, data} = this.props;\n\n const rendererEvent = await dispatchEvent('change', createObject(data, {\n value\n }));\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(value);\n }\n\n @autobind\n domRef(ref: any) {\n this.treeRef = ref;\n }\n\n render() {\n const {\n className,\n treeContainerClassName,\n classPrefix: ns,\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n onlyChildren,\n loading,\n hideRoot,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n showOutline,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n labelField,\n iconField,\n nodePath,\n deferLoad,\n expandTreeOptions,\n translate: __\n } = this.props;\n\n return (\n <div\n className={cx(`${ns}TreeControl`, className, treeContainerClassName)}\n >\n <Spinner size=\"sm\" key=\"info\" show={loading} />\n {loading ? null : (\n <TreeSelector\n classPrefix={ns}\n onRef={this.domRef}\n labelField={labelField}\n valueField={valueField}\n iconField={iconField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(placeholder)}\n options={options}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n onlyChildren={onlyChildren}\n hideRoot={hideRoot}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n showOutline={showOutline}\n cascade={cascade}\n foldedField=\"collapsed\"\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n selfDisabledAffectChildren={false}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tree'\n})\nexport class TreeControlRenderer extends TreeControl {}\n"
12
12
  ]
13
13
  }